* use a class for the chia cli context data
* actually assign to the context properly...
* handle the not-present case
* catch up
* tidy
* more
* stuff
* ...
* more real
* expected address prefix
* Added `--skip-keyring` option to `chia start daemon` command
* Fixed a lint error and adopted review comments
* Fixed a lint error
* Fixed a test
* Fixed a test
* Added mocks to test
* Fixed a test
* Removed `bt: BlockTools` from the test case because it seemed to cause config file dead lock
* Removed unused mock method
* Set `parallel=False` to chia/_tests/cmds/config.py
* Set `parallel=False` to chia/_tests/core/util/config.py
* Added missing coverage
* Fixed mypy error
* 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>
I want to access the config in start/stop to print a warning if the `beta` section is in the config. The alternative to this PR would be to double load the config in start/stop, i think avoid loading twice makes sense but if there are objections about all this passing the config around let me know.
* asyncio.get_event_loop() is deprecated in 3.10, stop using it
https://docs.python.org/3.10/library/asyncio-eventloop.html#asyncio.get_event_loop
> Deprecated since version 3.10: Deprecation warning is emitted if there is no running event loop. In future Python releases, this function will be an alias of get_running_loop().
* black