* configure isort to add the future annotations import
* apply the new isort setting
* remove type ignores for new mypy (#13539)
https://pypi.org/project/mypy/0.981/
* another
* cmds: Implement `chia beta` for the beta test program
* Unhide and document all `beta` subcommands
* Refactor all subcommands
* Introduce `chia beta configure`
* Introduce `chia beta status`
* Test all `chia beta` commands
* Use a separate file logger for beta logs
* Write the plotting call args to the log file
* Sort potential submissions
* Some refactoring around log file log handler creation
* JSON dump the plotting args
* Use the daemon for partial migration checks if its running
* Make `migrate_legacy_keyring_interactive` async and drop redundant calls
So that we can await it since
```
asyncio.run(async_update_daemon_migration_completed_if_running())
```
fails because we now here already have an event loop running.
* Drop redundant `unlocks_keyring` decoration
* Update some comments
* Move the `asyncio` import to make LGTM happy
* util: Force keyring migration / Deprecate legacy keyring support
* Update chia/cmds/keys_funcs.py
Co-authored-by: Jeff <paninaro@gmail.com>
* Update chia/cmds/keys_funcs.py
Co-authored-by: Jeff <paninaro@gmail.com>
Co-authored-by: Jeff <paninaro@gmail.com>
* Better management of KeyringWrapper's keys_root_path when using TempKeyring for tests.
* Move keys_root_path restoration code into `cleanup()`
Added an assert to detect if an unexpected shared KeyringWrapper is injected during a test.
* Conditionally restore keys_root_path for testing
* Use bt fixture
* rebase
* Use local_hostname
* flake8
* Remove set_shared_instance
* Remove unneeded comments
* Revert unrelated change
* Add back type signature - rebase issue
* Correct type for _configure_legacy_backend
* See what's going on during CI mypy run
* github workflows
* mypy typing
* Remove legacy Keyring create method
* Start daemon first
* Set chia-blockchain-gui to hash in main
* Fix two test files that were not importing self_hostname
* self_hostname fixture
* Convert all class fixtures to top level functions
* CLI support for performing an incremental keyring migration. This handles the case where new keys were created by an older client or the light wallet, and those keys then need to be moved to keyring.yaml.
* Opportunistically perform a silent incremental keyring migration when the GUI unlocks the keyring.
Track when keyring migration occurs so that we don't needlessly attempt on each GUI launch. ~/.chia_keys/.last_legacy_migration will contain the app version that last attempted migration.
* Formatting & linter fixes
* Tests for `chia keys migrate`. Missing a test for incremental migration.
* Additional keyring migration tests
* Formatting updates from black in files unrelated to this branch.
* Revert "Formatting updates from black in files unrelated to this branch."
This reverts commit a85030e8e0ea7406683efd8ae41e224c861e08ff.
* Exit loop if remaining_keys <= 0
* Linter fix? Manually making this change as black doesn't identify any issues locally.
* Linter fix again...
* Added chia keys derive (wallet-address | child-key) to display derived wallet addresses or public keys
* Support for public key (unhardened) derivation
* Fleshed out the search command. Can perform a substring search on wallet addresses, public, and private keys.
Support for deriving private keys
* Default to unhardened derivation. Added --hardened-derivation option. HD paths denote hardened derivation with a 'h' suffix at each index.
* Added --no-progress to reduce output. Exit code indicates search success/failure. Option name cleanup.
* chia keys derive search can now search for multiple terms
* chia keys derive search can be restricted to searching pubkeys|privkeys|addresses|all
* Allow child-key derivation rooted from an arbitrary HD path
* Search derived keys rooted under an arbitrary HD path
* LGTM fixes
* Remove extra master_sk_to_wallet_sk_unhardened definition
* Cleanup and fixed search output
* Cleanup and comments
* Added tests for `chia keys` commands
* Using @pytest_asyncio.fixture to decorate empty_keyring() as suggested in pytest's output.
* Set asyncio-mode to auto to address pytest warning
* See if tests pass without checking exit status
* Added chia init step to tests that direclty invoke the `cli` function
* Explicitly add --root-path option to tests that run the `cli` function.
* Tests fix
* Re-enable checks against exit_code
* More fine tuning to address CI failures
* Changes to address naming and other feedback
* Updated tests