chia-blockchain 2.5.6rc2__py3-none-any.whl → 2.5.7rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chia/_tests/blockchain/blockchain_test_utils.py +6 -7
- chia/_tests/blockchain/test_augmented_chain.py +4 -3
- chia/_tests/blockchain/test_blockchain.py +10 -5
- chia/_tests/clvm/coin_store.py +1 -1
- chia/_tests/cmds/cmd_test_utils.py +84 -97
- chia/_tests/cmds/test_dev_gh.py +1 -1
- chia/_tests/cmds/test_farm_cmd.py +56 -2
- chia/_tests/cmds/wallet/test_consts.py +3 -1
- chia/_tests/cmds/wallet/test_did.py +3 -8
- chia/_tests/cmds/wallet/test_nft.py +6 -6
- chia/_tests/cmds/wallet/test_notifications.py +39 -21
- chia/_tests/cmds/wallet/test_vcs.py +2 -1
- chia/_tests/cmds/wallet/test_wallet.py +160 -136
- chia/_tests/conftest.py +51 -26
- chia/_tests/core/cmds/test_wallet.py +4 -3
- chia/_tests/core/consensus/test_pot_iterations.py +71 -24
- chia/_tests/core/custom_types/test_proof_of_space.py +60 -30
- chia/_tests/core/custom_types/test_spend_bundle.py +1 -4
- chia/_tests/core/data_layer/conftest.py +7 -2
- chia/_tests/core/data_layer/old_format/__init__.py +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-delta-23-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-full-23-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-delta-9-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-full-9-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-delta-5-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-full-5-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-delta-22-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-full-22-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-delta-1-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-full-1-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-delta-2-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-full-2-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-delta-29-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-full-29-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-delta-28-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-full-28-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-delta-7-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-full-7-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-delta-19-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-full-19-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-delta-10-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-full-10-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-delta-17-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-full-17-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-delta-20-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-full-20-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-delta-31-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-full-31-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-delta-40-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-full-40-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-delta-49-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-full-49-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-delta-14-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-full-14-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-delta-34-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-full-34-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-delta-8-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-full-8-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-delta-45-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-full-45-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-delta-6-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-full-6-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-delta-48-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-full-48-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-delta-26-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-full-26-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-delta-3-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-full-3-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-delta-25-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-full-25-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-delta-35-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-full-35-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-delta-4-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-full-4-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-delta-41-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-full-41-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-delta-21-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-full-21-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-delta-42-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-full-42-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-delta-38-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-full-38-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-delta-11-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-full-11-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-delta-32-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-full-32-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-delta-33-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-full-33-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-delta-47-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-full-47-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-delta-50-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-full-50-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-delta-24-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-full-24-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-delta-44-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-full-44-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-delta-16-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-full-16-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-delta-13-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-full-13-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-delta-39-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-full-39-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-delta-36-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-full-36-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-delta-18-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-full-18-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-delta-37-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-full-37-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-delta-15-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-full-15-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-delta-46-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-full-46-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-delta-27-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-full-27-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-delta-12-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-full-12-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-delta-30-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-full-30-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-delta-43-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-full-43-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/__init__.py +0 -0
- chia/_tests/core/data_layer/old_format/old_db.sqlite +0 -0
- chia/_tests/core/data_layer/test_data_layer_util.py +18 -21
- chia/_tests/core/data_layer/test_data_rpc.py +77 -28
- chia/_tests/core/data_layer/test_data_store.py +637 -700
- chia/_tests/core/data_layer/test_data_store_schema.py +2 -209
- chia/_tests/core/full_node/ram_db.py +1 -1
- chia/_tests/core/full_node/stores/test_block_store.py +4 -10
- chia/_tests/core/full_node/stores/test_coin_store.py +1 -1
- chia/_tests/core/full_node/test_address_manager.py +3 -3
- chia/_tests/core/full_node/test_block_height_map.py +1 -1
- chia/_tests/core/full_node/test_full_node.py +91 -30
- chia/_tests/core/full_node/test_generator_tools.py +17 -10
- chia/_tests/core/mempool/test_mempool.py +190 -90
- chia/_tests/core/mempool/test_mempool_fee_estimator.py +2 -4
- chia/_tests/core/mempool/test_mempool_item_queries.py +1 -1
- chia/_tests/core/mempool/test_mempool_manager.py +134 -75
- chia/_tests/core/mempool/test_singleton_fast_forward.py +9 -27
- chia/_tests/core/server/serve.py +0 -2
- chia/_tests/core/server/test_rate_limits.py +400 -347
- chia/_tests/core/server/test_server.py +2 -2
- chia/_tests/core/services/test_services.py +7 -7
- chia/_tests/core/test_cost_calculation.py +31 -10
- chia/_tests/core/test_crawler.py +4 -4
- chia/_tests/core/test_db_conversion.py +7 -14
- chia/_tests/core/test_db_validation.py +2 -6
- chia/_tests/core/test_farmer_harvester_rpc.py +34 -1
- chia/_tests/core/test_full_node_rpc.py +28 -24
- chia/_tests/core/test_merkle_set.py +1 -4
- chia/_tests/core/test_seeder.py +1 -1
- chia/_tests/core/util/test_keychain.py +2 -2
- chia/_tests/core/util/test_lru_cache.py +16 -0
- chia/_tests/core/util/test_streamable.py +85 -4
- chia/_tests/environments/wallet.py +4 -1
- chia/_tests/farmer_harvester/test_farmer.py +8 -6
- chia/_tests/farmer_harvester/test_farmer_harvester.py +306 -8
- chia/_tests/farmer_harvester/test_filter_prefix_bits.py +3 -3
- chia/_tests/farmer_harvester/test_third_party_harvesters.py +11 -11
- chia/_tests/fee_estimation/test_fee_estimation_integration.py +2 -2
- chia/_tests/fee_estimation/test_fee_estimation_rpc.py +1 -1
- chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +1 -2
- chia/_tests/generator/test_rom.py +2 -1
- chia/_tests/harvester/__init__.py +0 -0
- chia/_tests/harvester/config.py +4 -0
- chia/_tests/harvester/test_harvester_api.py +157 -0
- chia/_tests/plot_sync/test_plot_sync.py +6 -3
- chia/_tests/plot_sync/test_receiver.py +16 -4
- chia/_tests/plot_sync/test_sender.py +8 -7
- chia/_tests/plot_sync/test_sync_simulated.py +15 -13
- chia/_tests/plot_sync/util.py +3 -2
- chia/_tests/plotting/test_plot_manager.py +21 -5
- chia/_tests/plotting/test_prover.py +106 -0
- chia/_tests/pools/test_pool_cmdline.py +7 -6
- chia/_tests/pools/test_pool_puzzles_lifecycle.py +10 -3
- chia/_tests/pools/test_pool_rpc.py +92 -64
- chia/_tests/solver/__init__.py +0 -0
- chia/_tests/solver/config.py +4 -0
- chia/_tests/solver/test_solver_service.py +29 -0
- chia/_tests/timelord/test_new_peak.py +1 -1
- chia/_tests/timelord/test_timelord.py +1 -1
- chia/_tests/util/benchmarks.py +5 -12
- chia/_tests/util/blockchain.py +1 -1
- chia/_tests/util/build_network_protocol_files.py +7 -0
- chia/_tests/util/network_protocol_data.py +26 -0
- chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
- chia/_tests/util/protocol_messages_json.py +19 -0
- chia/_tests/util/setup_nodes.py +21 -2
- chia/_tests/util/spend_sim.py +9 -3
- chia/_tests/util/test_condition_tools.py +3 -2
- chia/_tests/util/test_full_block_utils.py +10 -9
- chia/_tests/util/test_misc.py +10 -10
- chia/_tests/util/test_network.py +32 -1
- chia/_tests/util/test_network_protocol_files.py +333 -318
- chia/_tests/util/test_network_protocol_json.py +6 -0
- chia/_tests/util/test_network_protocol_test.py +27 -0
- chia/_tests/util/test_priority_mutex.py +1 -1
- chia/_tests/util/test_replace_str_to_bytes.py +6 -6
- chia/_tests/wallet/cat_wallet/test_cat_wallet.py +17 -13
- chia/_tests/wallet/cat_wallet/test_trades.py +55 -55
- chia/_tests/wallet/did_wallet/test_did.py +118 -1229
- chia/_tests/wallet/nft_wallet/config.py +1 -1
- chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +73 -96
- chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +15 -12
- chia/_tests/wallet/nft_wallet/test_nft_offers.py +67 -134
- chia/_tests/wallet/nft_wallet/test_nft_wallet.py +31 -26
- chia/_tests/wallet/rpc/test_wallet_rpc.py +765 -371
- chia/_tests/wallet/sync/test_wallet_sync.py +6 -0
- chia/_tests/wallet/test_new_wallet_protocol.py +1 -1
- chia/_tests/wallet/test_signer_protocol.py +2 -2
- chia/_tests/wallet/test_singleton_lifecycle_fast.py +3 -4
- chia/_tests/wallet/test_transaction_store.py +42 -33
- chia/_tests/wallet/test_wallet.py +22 -31
- chia/_tests/wallet/test_wallet_state_manager.py +14 -7
- chia/_tests/wallet/vc_wallet/test_vc_wallet.py +53 -32
- chia/apis.py +2 -0
- chia/cmds/beta.py +7 -3
- chia/cmds/chia.py +2 -0
- chia/cmds/cmd_classes.py +11 -27
- chia/cmds/cmds_util.py +3 -0
- chia/cmds/coin_funcs.py +27 -22
- chia/cmds/configure.py +42 -18
- chia/cmds/dev/data.py +22 -3
- chia/cmds/farm.py +32 -0
- chia/cmds/farm_funcs.py +54 -5
- chia/cmds/init_funcs.py +4 -0
- chia/cmds/keys_funcs.py +8 -10
- chia/cmds/peer_funcs.py +8 -10
- chia/cmds/plotnft_funcs.py +24 -16
- chia/cmds/rpc.py +11 -1
- chia/cmds/show_funcs.py +5 -5
- chia/cmds/solver.py +33 -0
- chia/cmds/solver_funcs.py +21 -0
- chia/cmds/wallet.py +1 -1
- chia/cmds/wallet_funcs.py +149 -96
- chia/consensus/block_body_validation.py +8 -9
- chia/consensus/block_creation.py +9 -10
- chia/consensus/block_header_validation.py +61 -69
- chia/{full_node → consensus}/block_height_map.py +2 -1
- chia/consensus/block_height_map_protocol.py +21 -0
- chia/consensus/block_rewards.py +12 -12
- chia/consensus/blockchain.py +8 -18
- chia/consensus/default_constants.py +6 -6
- chia/consensus/generator_tools.py +1 -1
- chia/consensus/get_block_challenge.py +24 -25
- chia/consensus/pos_quality.py +28 -2
- chia/consensus/pot_iterations.py +15 -17
- chia/daemon/keychain_proxy.py +5 -0
- chia/daemon/server.py +2 -3
- chia/data_layer/data_layer.py +32 -24
- chia/data_layer/data_layer_errors.py +5 -0
- chia/data_layer/data_layer_rpc_api.py +1 -1
- chia/data_layer/data_layer_service.py +8 -0
- chia/data_layer/data_layer_util.py +49 -89
- chia/data_layer/data_layer_wallet.py +20 -17
- chia/data_layer/data_store.py +1051 -1462
- chia/data_layer/download_data.py +44 -115
- chia/{server → data_layer}/start_data_layer.py +2 -1
- chia/data_layer/util/benchmark.py +38 -53
- chia/farmer/farmer.py +3 -0
- chia/farmer/farmer_api.py +104 -5
- chia/farmer/farmer_rpc_api.py +20 -0
- chia/farmer/farmer_rpc_client.py +6 -2
- chia/farmer/farmer_service.py +8 -0
- chia/{server → farmer}/start_farmer.py +4 -3
- chia/full_node/block_store.py +20 -10
- chia/full_node/coin_store.py +12 -4
- chia/full_node/eligible_coin_spends.py +17 -72
- chia/full_node/full_node.py +68 -71
- chia/full_node/full_node_api.py +26 -32
- chia/full_node/full_node_rpc_api.py +44 -32
- chia/full_node/full_node_rpc_client.py +67 -79
- chia/full_node/full_node_service.py +8 -0
- chia/full_node/full_node_store.py +5 -3
- chia/full_node/mempool.py +14 -14
- chia/full_node/mempool_manager.py +67 -89
- chia/{server → full_node}/start_full_node.py +1 -1
- chia/full_node/subscriptions.py +2 -2
- chia/full_node/weight_proof.py +14 -15
- chia/harvester/harvester.py +8 -1
- chia/harvester/harvester_api.py +178 -44
- chia/harvester/harvester_service.py +8 -0
- chia/{server → harvester}/start_harvester.py +1 -1
- chia/introducer/introducer_service.py +8 -0
- chia/{server → introducer}/start_introducer.py +1 -1
- chia/plot_sync/receiver.py +6 -1
- chia/plot_sync/sender.py +7 -4
- chia/plotting/cache.py +37 -28
- chia/plotting/check_plots.py +83 -48
- chia/plotting/create_plots.py +3 -4
- chia/plotting/manager.py +18 -13
- chia/plotting/prover.py +153 -0
- chia/plotting/util.py +14 -6
- chia/pools/pool_wallet.py +6 -4
- chia/protocols/harvester_protocol.py +14 -0
- chia/protocols/outbound_message.py +1 -0
- chia/protocols/pool_protocol.py +1 -1
- chia/protocols/protocol_message_types.py +7 -0
- chia/protocols/shared_protocol.py +2 -0
- chia/protocols/solver_protocol.py +18 -0
- chia/rpc/rpc_server.py +1 -1
- chia/seeder/crawl_store.py +4 -8
- chia/seeder/crawler.py +2 -2
- chia/seeder/crawler_service.py +8 -0
- chia/seeder/start_crawler.py +1 -1
- chia/server/address_manager.py +12 -15
- chia/server/introducer_peers.py +1 -1
- chia/server/node_discovery.py +9 -10
- chia/server/rate_limit_numbers.py +157 -168
- chia/server/rate_limits.py +44 -41
- chia/server/resolve_peer_info.py +5 -0
- chia/server/server.py +17 -7
- chia/server/start_service.py +0 -1
- chia/simulator/block_tools.py +92 -58
- chia/simulator/full_node_simulator.py +1 -1
- chia/simulator/setup_services.py +51 -15
- chia/solver/__init__.py +0 -0
- chia/solver/solver.py +100 -0
- chia/solver/solver_api.py +59 -0
- chia/solver/solver_rpc_api.py +31 -0
- chia/solver/solver_rpc_client.py +16 -0
- chia/solver/solver_service.py +8 -0
- chia/solver/start_solver.py +102 -0
- {mozilla-ca → chia/ssl}/cacert.pem +0 -27
- chia/ssl/create_ssl.py +3 -2
- chia/{server → timelord}/start_timelord.py +1 -1
- chia/timelord/timelord.py +12 -13
- chia/timelord/timelord_service.py +8 -0
- chia/types/blockchain_format/proof_of_space.py +61 -17
- chia/types/coin_spend.py +0 -8
- chia/types/internal_mempool_item.py +3 -3
- chia/types/mempool_item.py +15 -8
- chia/types/mempool_submission_status.py +1 -1
- chia/util/config.py +1 -3
- chia/util/db_wrapper.py +7 -8
- chia/util/initial-config.yaml +46 -0
- chia/util/lru_cache.py +8 -4
- chia/util/network.py +9 -0
- chia/util/service_groups.py +3 -1
- chia/util/streamable.py +38 -8
- chia/util/virtual_project_analysis.py +1 -1
- chia/wallet/cat_wallet/cat_outer_puzzle.py +7 -4
- chia/wallet/cat_wallet/cat_wallet.py +13 -7
- chia/wallet/cat_wallet/r_cat_wallet.py +4 -1
- chia/wallet/conditions.py +1 -3
- chia/wallet/did_wallet/did_wallet.py +27 -332
- chia/wallet/nft_wallet/nft_puzzle_utils.py +1 -1
- chia/wallet/nft_wallet/nft_wallet.py +9 -7
- chia/wallet/puzzle_drivers.py +7 -8
- chia/{server → wallet}/start_wallet.py +1 -1
- chia/wallet/trade_manager.py +12 -9
- chia/wallet/transaction_record.py +14 -51
- chia/wallet/util/clvm_streamable.py +28 -41
- chia/wallet/util/merkle_utils.py +2 -2
- chia/wallet/util/tx_config.py +3 -6
- chia/wallet/vc_wallet/cr_cat_wallet.py +12 -6
- chia/wallet/vc_wallet/vc_wallet.py +13 -15
- chia/wallet/wallet.py +5 -3
- chia/wallet/wallet_node.py +25 -30
- chia/wallet/wallet_request_types.py +538 -101
- chia/wallet/wallet_rpc_api.py +398 -570
- chia/wallet/wallet_rpc_client.py +144 -332
- chia/wallet/wallet_service.py +8 -0
- chia/wallet/wallet_state_manager.py +53 -42
- chia/wallet/wallet_transaction_store.py +13 -5
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/METADATA +31 -31
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/RECORD +369 -241
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/WHEEL +1 -1
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/entry_points.txt +8 -7
- chia/full_node/mempool_check_conditions.py +0 -102
- chia/server/aliases.py +0 -35
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info/licenses}/LICENSE +0 -0
chia/cmds/farm_funcs.py
CHANGED
|
@@ -11,6 +11,7 @@ from chia.cmds.cmds_util import format_bytes, format_minutes, get_any_service_cl
|
|
|
11
11
|
from chia.cmds.units import units
|
|
12
12
|
from chia.farmer.farmer_rpc_client import FarmerRpcClient
|
|
13
13
|
from chia.full_node.full_node_rpc_client import FullNodeRpcClient
|
|
14
|
+
from chia.util.config import lock_and_load_config, save_config
|
|
14
15
|
from chia.util.errors import CliRpcConnectionError
|
|
15
16
|
from chia.util.network import is_localhost
|
|
16
17
|
from chia.wallet.wallet_rpc_client import WalletRpcClient
|
|
@@ -49,9 +50,13 @@ async def get_average_block_time(rpc_port: Optional[int], root_path: Path) -> fl
|
|
|
49
50
|
return (curr.timestamp - past_curr.timestamp) / (curr.height - past_curr.height)
|
|
50
51
|
|
|
51
52
|
|
|
52
|
-
async def get_wallets_stats(
|
|
53
|
+
async def get_wallets_stats(
|
|
54
|
+
wallet_rpc_port: Optional[int],
|
|
55
|
+
root_path: Path,
|
|
56
|
+
include_pool_rewards: bool,
|
|
57
|
+
) -> Optional[dict[str, Any]]:
|
|
53
58
|
async with get_any_service_client(WalletRpcClient, root_path, wallet_rpc_port) as (wallet_client, _):
|
|
54
|
-
return await wallet_client.get_farmed_amount()
|
|
59
|
+
return await wallet_client.get_farmed_amount(include_pool_rewards)
|
|
55
60
|
|
|
56
61
|
|
|
57
62
|
async def get_challenges(root_path: Path, farmer_rpc_port: Optional[int]) -> Optional[list[dict[str, Any]]]:
|
|
@@ -80,6 +85,7 @@ async def summary(
|
|
|
80
85
|
wallet_rpc_port: Optional[int],
|
|
81
86
|
harvester_rpc_port: Optional[int],
|
|
82
87
|
farmer_rpc_port: Optional[int],
|
|
88
|
+
include_pool_rewards: bool,
|
|
83
89
|
root_path: Path,
|
|
84
90
|
) -> None:
|
|
85
91
|
harvesters_summary = await get_harvesters_summary(farmer_rpc_port, root_path)
|
|
@@ -97,7 +103,7 @@ async def summary(
|
|
|
97
103
|
wallet_not_ready: bool = False
|
|
98
104
|
amounts = None
|
|
99
105
|
try:
|
|
100
|
-
amounts = await get_wallets_stats(wallet_rpc_port, root_path)
|
|
106
|
+
amounts = await get_wallets_stats(wallet_rpc_port, root_path, include_pool_rewards)
|
|
101
107
|
except CliRpcConnectionError:
|
|
102
108
|
wallet_not_ready = True
|
|
103
109
|
except Exception:
|
|
@@ -120,8 +126,21 @@ async def summary(
|
|
|
120
126
|
if amounts is not None:
|
|
121
127
|
print(f"Total chia farmed: {amounts['farmed_amount'] / units['chia']}")
|
|
122
128
|
print(f"User transaction fees: {amounts['fee_amount'] / units['chia']}")
|
|
123
|
-
|
|
124
|
-
|
|
129
|
+
if include_pool_rewards:
|
|
130
|
+
print(f"Farmer rewards: {amounts['farmer_reward_amount'] / units['chia']}")
|
|
131
|
+
print(f"Pool rewards: {amounts['pool_reward_amount'] / units['chia']}")
|
|
132
|
+
print(f"Total rewards: {(amounts['farmer_reward_amount'] + amounts['pool_reward_amount']) / units['chia']}")
|
|
133
|
+
if blockchain_state is not None and blockchain_state["peak"] is not None:
|
|
134
|
+
peak_height = blockchain_state["peak"].height
|
|
135
|
+
blocks_since_last_farm = peak_height - amounts["last_height_farmed"]
|
|
136
|
+
print(f"Current/Last height farmed: {peak_height}/{amounts['last_height_farmed']}")
|
|
137
|
+
print(f"Blocks since last farmed: {blocks_since_last_farm}")
|
|
138
|
+
print(
|
|
139
|
+
f"Time since last farmed: {format_minutes(int((blocks_since_last_farm * SECONDS_PER_BLOCK) / 60))}"
|
|
140
|
+
)
|
|
141
|
+
else:
|
|
142
|
+
print(f"Block rewards: {(amounts['farmer_reward_amount'] + amounts['pool_reward_amount']) / units['chia']}")
|
|
143
|
+
print(f"Last height farmed: {amounts['last_height_farmed']}")
|
|
125
144
|
|
|
126
145
|
class PlotStats:
|
|
127
146
|
total_plot_size = 0
|
|
@@ -199,3 +218,33 @@ async def summary(
|
|
|
199
218
|
print("For details on farmed rewards and fees you should run 'chia wallet show'")
|
|
200
219
|
else:
|
|
201
220
|
print("Note: log into your key using 'chia wallet show' to see rewards for each key")
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
async def solver_connect(root_path: Path, farmer_rpc_port: Optional[int], solver_address: str) -> None:
|
|
224
|
+
from chia.util.network import parse_host_port
|
|
225
|
+
|
|
226
|
+
try:
|
|
227
|
+
host, port = parse_host_port(solver_address)
|
|
228
|
+
except ValueError:
|
|
229
|
+
print("Solver address must be in format [IP:Port]")
|
|
230
|
+
return
|
|
231
|
+
try:
|
|
232
|
+
with lock_and_load_config(root_path, "config.yaml") as config:
|
|
233
|
+
config["farmer"]["solver_peers"] = [{"host": host, "port": port}]
|
|
234
|
+
save_config(root_path, "config.yaml", config)
|
|
235
|
+
print(f"✓ Updated config with solver peer {host}:{port}")
|
|
236
|
+
except Exception as e:
|
|
237
|
+
print(f"✗ Failed to update config: {e}")
|
|
238
|
+
return
|
|
239
|
+
try:
|
|
240
|
+
async with get_any_service_client(FarmerRpcClient, root_path, farmer_rpc_port) as (farmer_client, _):
|
|
241
|
+
result = await farmer_client.connect_to_solver(host, port)
|
|
242
|
+
if result.get("success"):
|
|
243
|
+
print(f"✓ Connected to solver at {host}:{port}")
|
|
244
|
+
else:
|
|
245
|
+
error = result.get("error", "Unknown error")
|
|
246
|
+
print(f"✗ Failed to connect to solver: {error}")
|
|
247
|
+
except CliRpcConnectionError:
|
|
248
|
+
print("✗ Could not connect to farmer. Make sure farmer is running.")
|
|
249
|
+
except Exception as e:
|
|
250
|
+
print(f"✗ Error connecting to solver: {e}")
|
chia/cmds/init_funcs.py
CHANGED
|
@@ -298,6 +298,8 @@ def chia_init(
|
|
|
298
298
|
crawler_minimum_version_count=None,
|
|
299
299
|
seeder_domain_name="",
|
|
300
300
|
seeder_nameserver="",
|
|
301
|
+
set_solver_peer="",
|
|
302
|
+
set_solver_trusted_peers_only="",
|
|
301
303
|
)
|
|
302
304
|
if fix_ssl_permissions:
|
|
303
305
|
fix_ssl(root_path)
|
|
@@ -324,6 +326,8 @@ def chia_init(
|
|
|
324
326
|
crawler_minimum_version_count=None,
|
|
325
327
|
seeder_domain_name="",
|
|
326
328
|
seeder_nameserver="",
|
|
329
|
+
set_solver_peer="",
|
|
330
|
+
set_solver_trusted_peers_only="",
|
|
327
331
|
)
|
|
328
332
|
create_all_ssl(root_path)
|
|
329
333
|
if fix_ssl_permissions:
|
chia/cmds/keys_funcs.py
CHANGED
|
@@ -743,11 +743,10 @@ def derive_child_key(
|
|
|
743
743
|
if non_observer_derivation:
|
|
744
744
|
assert current_sk is not None # semantics above guarantee this
|
|
745
745
|
current_sk = _derive_path(current_sk, path_indices)
|
|
746
|
+
elif current_sk is not None:
|
|
747
|
+
current_sk = _derive_path_unhardened(current_sk, path_indices)
|
|
746
748
|
else:
|
|
747
|
-
|
|
748
|
-
current_sk = _derive_path_unhardened(current_sk, path_indices)
|
|
749
|
-
else:
|
|
750
|
-
current_pk = _derive_pk_unhardened(current_pk, path_indices)
|
|
749
|
+
current_pk = _derive_pk_unhardened(current_pk, path_indices)
|
|
751
750
|
|
|
752
751
|
derivation_root_sk = current_sk
|
|
753
752
|
derivation_root_pk = current_pk
|
|
@@ -768,13 +767,12 @@ def derive_child_key(
|
|
|
768
767
|
assert derivation_root_sk is not None # semantics above guarantee this
|
|
769
768
|
sk = _derive_path(derivation_root_sk, [i])
|
|
770
769
|
pk = sk.get_g1()
|
|
770
|
+
elif derivation_root_sk is not None:
|
|
771
|
+
sk = _derive_path_unhardened(derivation_root_sk, [i])
|
|
772
|
+
pk = sk.get_g1()
|
|
771
773
|
else:
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
pk = sk.get_g1()
|
|
775
|
-
else:
|
|
776
|
-
sk = None
|
|
777
|
-
pk = _derive_pk_unhardened(derivation_root_pk, [i])
|
|
774
|
+
sk = None
|
|
775
|
+
pk = _derive_pk_unhardened(derivation_root_pk, [i])
|
|
778
776
|
hd_path: str = (
|
|
779
777
|
" (" + hd_path_root + str(i) + ("n" if non_observer_derivation else "") + ")" if show_hd_path else ""
|
|
780
778
|
)
|
chia/cmds/peer_funcs.py
CHANGED
|
@@ -5,24 +5,22 @@ from typing import Any, Optional
|
|
|
5
5
|
|
|
6
6
|
from chia.cmds.cmds_util import NODE_TYPES, get_any_service_client
|
|
7
7
|
from chia.rpc.rpc_client import RpcClient
|
|
8
|
+
from chia.util.network import parse_host_port
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
async def add_node_connection(rpc_client: RpcClient, add_connection: str) -> None:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
ip, port = (
|
|
15
|
-
":".join(add_connection.split(":")[:-1]),
|
|
16
|
-
add_connection.split(":")[-1],
|
|
17
|
-
)
|
|
18
|
-
print(f"Connecting to {ip}, {port}")
|
|
12
|
+
try:
|
|
13
|
+
host, port = parse_host_port(add_connection)
|
|
14
|
+
print(f"Connecting to {host}, {port}")
|
|
19
15
|
try:
|
|
20
|
-
result = await rpc_client.open_connection(
|
|
16
|
+
result = await rpc_client.open_connection(host, port)
|
|
21
17
|
err = result.get("error")
|
|
22
18
|
if result["success"] is False or err is not None:
|
|
23
19
|
print(err)
|
|
24
20
|
except Exception:
|
|
25
|
-
print(f"Failed to connect to {
|
|
21
|
+
print(f"Failed to connect to {host}:{port}")
|
|
22
|
+
except ValueError:
|
|
23
|
+
print("Enter a valid IP and port in the following format: 10.5.4.3:8000")
|
|
26
24
|
|
|
27
25
|
|
|
28
26
|
async def remove_node_connection(rpc_client: RpcClient, remove_connection: str) -> None:
|
chia/cmds/plotnft_funcs.py
CHANGED
|
@@ -13,7 +13,7 @@ from typing import Any, Callable, Optional
|
|
|
13
13
|
import aiohttp
|
|
14
14
|
import click
|
|
15
15
|
from chia_rs.sized_bytes import bytes32
|
|
16
|
-
from chia_rs.sized_ints import uint32, uint64
|
|
16
|
+
from chia_rs.sized_ints import uint16, uint32, uint64
|
|
17
17
|
|
|
18
18
|
from chia.cmds.cmd_helpers import WalletClientInfo
|
|
19
19
|
from chia.cmds.cmds_util import (
|
|
@@ -43,11 +43,15 @@ from chia.wallet.util.address_type import AddressType
|
|
|
43
43
|
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
44
44
|
from chia.wallet.util.wallet_types import WalletType
|
|
45
45
|
from chia.wallet.wallet_request_types import (
|
|
46
|
+
GetTransaction,
|
|
47
|
+
GetWalletBalance,
|
|
48
|
+
GetWallets,
|
|
46
49
|
PWAbsorbRewards,
|
|
47
50
|
PWJoinPool,
|
|
48
51
|
PWSelfPool,
|
|
49
52
|
PWStatus,
|
|
50
53
|
TransactionEndpointResponse,
|
|
54
|
+
WalletInfoResponse,
|
|
51
55
|
)
|
|
52
56
|
from chia.wallet.wallet_rpc_client import WalletRpcClient
|
|
53
57
|
|
|
@@ -118,7 +122,7 @@ async def create(
|
|
|
118
122
|
start = time.time()
|
|
119
123
|
while time.time() - start < 10:
|
|
120
124
|
await asyncio.sleep(0.1)
|
|
121
|
-
tx = await wallet_info.client.get_transaction(tx_record.name)
|
|
125
|
+
tx = (await wallet_info.client.get_transaction(GetTransaction(tx_record.name))).transaction
|
|
122
126
|
if len(tx.sent_to) > 0:
|
|
123
127
|
print(transaction_submitted_msg(tx))
|
|
124
128
|
print(transaction_status_msg(wallet_info.fingerprint, tx_record.name))
|
|
@@ -159,8 +163,8 @@ async def pprint_pool_wallet_state(
|
|
|
159
163
|
print(f"Target state: {PoolSingletonState(pool_wallet_info.target.state).name}")
|
|
160
164
|
print(f"Target pool URL: {pool_wallet_info.target.pool_url}")
|
|
161
165
|
if pool_wallet_info.current.state == PoolSingletonState.SELF_POOLING.value:
|
|
162
|
-
balances
|
|
163
|
-
balance = balances
|
|
166
|
+
balances = (await wallet_client.get_wallet_balance(GetWalletBalance(uint32(wallet_id)))).wallet_balance
|
|
167
|
+
balance = balances.confirmed_wallet_balance
|
|
164
168
|
typ = WalletType(int(WalletType.POOLING_WALLET))
|
|
165
169
|
address_prefix, scale = wallet_coin_unit(typ, address_prefix)
|
|
166
170
|
print(f"Claimable balance: {print_balance(balance, scale, address_prefix)}")
|
|
@@ -194,15 +198,15 @@ async def pprint_pool_wallet_state(
|
|
|
194
198
|
|
|
195
199
|
async def pprint_all_pool_wallet_state(
|
|
196
200
|
wallet_client: WalletRpcClient,
|
|
197
|
-
get_wallets_response: list[
|
|
201
|
+
get_wallets_response: list[WalletInfoResponse],
|
|
198
202
|
address_prefix: str,
|
|
199
203
|
pool_state_dict: dict[bytes32, dict[str, Any]],
|
|
200
204
|
) -> None:
|
|
201
205
|
print(f"Wallet height: {(await wallet_client.get_height_info()).height}")
|
|
202
206
|
print(f"Sync status: {'Synced' if (await wallet_client.get_sync_status()).synced else 'Not synced'}")
|
|
203
207
|
for wallet_info in get_wallets_response:
|
|
204
|
-
pool_wallet_id = wallet_info
|
|
205
|
-
typ = WalletType(int(wallet_info
|
|
208
|
+
pool_wallet_id = wallet_info.id
|
|
209
|
+
typ = WalletType(int(wallet_info.type))
|
|
206
210
|
if typ == WalletType.POOLING_WALLET:
|
|
207
211
|
pool_wallet_info = (await wallet_client.pw_status(PWStatus(uint32(pool_wallet_id)))).state
|
|
208
212
|
await pprint_pool_wallet_state(
|
|
@@ -220,7 +224,7 @@ async def show(
|
|
|
220
224
|
root_path: Path,
|
|
221
225
|
wallet_id_passed_in: Optional[int],
|
|
222
226
|
) -> None:
|
|
223
|
-
summaries_response = await wallet_info.client.get_wallets()
|
|
227
|
+
summaries_response = await wallet_info.client.get_wallets(GetWallets())
|
|
224
228
|
config = wallet_info.config
|
|
225
229
|
address_prefix = config["network_overrides"]["config"][config["selected_network"]]["address_prefix"]
|
|
226
230
|
pool_state_dict: dict[bytes32, dict[str, Any]] = dict()
|
|
@@ -247,10 +251,12 @@ async def show(
|
|
|
247
251
|
)
|
|
248
252
|
else:
|
|
249
253
|
await pprint_all_pool_wallet_state(
|
|
250
|
-
wallet_info.client, summaries_response, address_prefix, pool_state_dict
|
|
254
|
+
wallet_info.client, summaries_response.wallets, address_prefix, pool_state_dict
|
|
251
255
|
)
|
|
252
256
|
except CliRpcConnectionError: # we want to output this if we can't connect to the farmer
|
|
253
|
-
await pprint_all_pool_wallet_state(
|
|
257
|
+
await pprint_all_pool_wallet_state(
|
|
258
|
+
wallet_info.client, summaries_response.wallets, address_prefix, pool_state_dict
|
|
259
|
+
)
|
|
254
260
|
|
|
255
261
|
|
|
256
262
|
async def get_login_link(launcher_id: bytes32, root_path: Path) -> None:
|
|
@@ -281,7 +287,7 @@ async def submit_tx_with_confirmation(
|
|
|
281
287
|
continue
|
|
282
288
|
while time.time() - start < 10:
|
|
283
289
|
await asyncio.sleep(0.1)
|
|
284
|
-
tx = await wallet_client.get_transaction(tx_record.name)
|
|
290
|
+
tx = (await wallet_client.get_transaction(GetTransaction(tx_record.name))).transaction
|
|
285
291
|
if len(tx.sent_to) > 0:
|
|
286
292
|
print(transaction_submitted_msg(tx))
|
|
287
293
|
print(transaction_status_msg(fingerprint, tx_record.name))
|
|
@@ -296,7 +302,7 @@ async def wallet_id_lookup_and_check(wallet_client: WalletRpcClient, wallet_id:
|
|
|
296
302
|
selected_wallet_id: int
|
|
297
303
|
|
|
298
304
|
# absent network errors, this should not fail with an error
|
|
299
|
-
pool_wallets = await wallet_client.get_wallets(
|
|
305
|
+
pool_wallets = (await wallet_client.get_wallets(GetWallets(type=uint16(WalletType.POOLING_WALLET)))).wallets
|
|
300
306
|
|
|
301
307
|
if wallet_id is None:
|
|
302
308
|
if len(pool_wallets) == 0:
|
|
@@ -305,11 +311,11 @@ async def wallet_id_lookup_and_check(wallet_client: WalletRpcClient, wallet_id:
|
|
|
305
311
|
)
|
|
306
312
|
if len(pool_wallets) > 1:
|
|
307
313
|
raise CliRpcConnectionError("More than one pool wallet found. Use -i to specify pool wallet id.")
|
|
308
|
-
selected_wallet_id = pool_wallets[0]
|
|
314
|
+
selected_wallet_id = pool_wallets[0].id
|
|
309
315
|
else:
|
|
310
316
|
selected_wallet_id = wallet_id
|
|
311
317
|
|
|
312
|
-
if not any(wallet
|
|
318
|
+
if not any(wallet.id == selected_wallet_id for wallet in pool_wallets):
|
|
313
319
|
raise CliRpcConnectionError(f"Wallet with id: {selected_wallet_id} is not a pool wallet.")
|
|
314
320
|
|
|
315
321
|
return selected_wallet_id
|
|
@@ -440,8 +446,10 @@ async def change_payout_instructions(launcher_id: bytes32, address: CliAddress,
|
|
|
440
446
|
for pool_config in old_configs:
|
|
441
447
|
if pool_config.launcher_id == launcher_id:
|
|
442
448
|
id_found = True
|
|
443
|
-
|
|
444
|
-
|
|
449
|
+
new_pool_config = replace(pool_config, payout_instructions=puzzle_hash.hex())
|
|
450
|
+
else:
|
|
451
|
+
new_pool_config = pool_config
|
|
452
|
+
new_pool_configs.append(new_pool_config)
|
|
445
453
|
if id_found:
|
|
446
454
|
print(f"Launcher Id: {launcher_id.hex()} Found, Updating Config.")
|
|
447
455
|
await update_pool_config(root_path, new_pool_configs)
|
chia/cmds/rpc.py
CHANGED
|
@@ -13,7 +13,17 @@ from chia_rs.sized_ints import uint16
|
|
|
13
13
|
from chia.cmds.cmd_classes import ChiaCliContext
|
|
14
14
|
from chia.util.config import load_config
|
|
15
15
|
|
|
16
|
-
services: list[str] = [
|
|
16
|
+
services: list[str] = [
|
|
17
|
+
"crawler",
|
|
18
|
+
"daemon",
|
|
19
|
+
"farmer",
|
|
20
|
+
"full_node",
|
|
21
|
+
"harvester",
|
|
22
|
+
"timelord",
|
|
23
|
+
"wallet",
|
|
24
|
+
"data_layer",
|
|
25
|
+
"solver",
|
|
26
|
+
]
|
|
17
27
|
|
|
18
28
|
|
|
19
29
|
async def call_endpoint(
|
chia/cmds/show_funcs.py
CHANGED
|
@@ -39,7 +39,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
|
|
|
39
39
|
|
|
40
40
|
if synced:
|
|
41
41
|
print("Current Blockchain Status: Full Node Synced")
|
|
42
|
-
print("\nPeak: Hash:",
|
|
42
|
+
print("\nPeak: Hash:", peak.header_hash if peak is not None else "")
|
|
43
43
|
elif peak is not None and sync_mode:
|
|
44
44
|
sync_max_block = blockchain_state["sync"]["sync_tip_height"]
|
|
45
45
|
sync_current_block = blockchain_state["sync"]["sync_progress_height"]
|
|
@@ -48,7 +48,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
|
|
|
48
48
|
f"({sync_max_block - sync_current_block} behind). "
|
|
49
49
|
f"({sync_current_block * 100.0 / sync_max_block:2.2f}% synced)"
|
|
50
50
|
)
|
|
51
|
-
print("Peak: Hash:",
|
|
51
|
+
print("Peak: Hash:", peak.header_hash if peak is not None else "")
|
|
52
52
|
elif peak is not None:
|
|
53
53
|
print(f"Current Blockchain Status: Not Synced. Peak height: {peak.height}")
|
|
54
54
|
else:
|
|
@@ -59,7 +59,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
|
|
|
59
59
|
if peak.is_transaction_block:
|
|
60
60
|
peak_time = peak.timestamp
|
|
61
61
|
else:
|
|
62
|
-
peak_hash =
|
|
62
|
+
peak_hash = peak.header_hash
|
|
63
63
|
curr = await node_client.get_block_record(peak_hash)
|
|
64
64
|
while curr is not None and not curr.is_transaction_block:
|
|
65
65
|
curr = await node_client.get_block_record(curr.prev_hash)
|
|
@@ -88,7 +88,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
|
|
|
88
88
|
curr = await node_client.get_block_record(curr.prev_hash)
|
|
89
89
|
|
|
90
90
|
for b in added_blocks:
|
|
91
|
-
print(f"{b.height:>9} | {
|
|
91
|
+
print(f"{b.height:>9} | {b.header_hash}")
|
|
92
92
|
else:
|
|
93
93
|
print("Blockchain has no blocks yet")
|
|
94
94
|
return False
|
|
@@ -125,7 +125,7 @@ async def print_block_from_hash(
|
|
|
125
125
|
cost = str(full_block.transactions_info.cost)
|
|
126
126
|
tx_filter_hash: Union[str, bytes32] = "Not a transaction block"
|
|
127
127
|
if full_block.foliage_transaction_block:
|
|
128
|
-
tx_filter_hash =
|
|
128
|
+
tx_filter_hash = full_block.foliage_transaction_block.filter_hash
|
|
129
129
|
fees: Any = block.fees
|
|
130
130
|
else:
|
|
131
131
|
block_time_string = "Not a transaction block"
|
chia/cmds/solver.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
import click
|
|
6
|
+
|
|
7
|
+
from chia.cmds.cmd_classes import ChiaCliContext
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@click.group("solver", help="Manage your solver")
|
|
11
|
+
def solver_cmd() -> None:
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@solver_cmd.command("get_state", help="Get current solver state")
|
|
16
|
+
@click.option(
|
|
17
|
+
"-sp",
|
|
18
|
+
"--solver-rpc-port",
|
|
19
|
+
help="Set the port where the Solver is hosting the RPC interface. See the rpc_port under solver in config.yaml",
|
|
20
|
+
type=int,
|
|
21
|
+
default=None,
|
|
22
|
+
show_default=True,
|
|
23
|
+
)
|
|
24
|
+
@click.pass_context
|
|
25
|
+
def get_state_cmd(
|
|
26
|
+
ctx: click.Context,
|
|
27
|
+
solver_rpc_port: Optional[int],
|
|
28
|
+
) -> None:
|
|
29
|
+
import asyncio
|
|
30
|
+
|
|
31
|
+
from chia.cmds.solver_funcs import get_state
|
|
32
|
+
|
|
33
|
+
asyncio.run(get_state(ChiaCliContext.set_default(ctx), solver_rpc_port))
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
from chia.cmds.cmd_classes import ChiaCliContext
|
|
7
|
+
from chia.cmds.cmds_util import get_any_service_client
|
|
8
|
+
from chia.solver.solver_rpc_client import SolverRpcClient
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
async def get_state(
|
|
12
|
+
ctx: ChiaCliContext,
|
|
13
|
+
solver_rpc_port: Optional[int] = None,
|
|
14
|
+
) -> None:
|
|
15
|
+
"""Get solver state via RPC."""
|
|
16
|
+
try:
|
|
17
|
+
async with get_any_service_client(SolverRpcClient, ctx.root_path, solver_rpc_port) as (client, _):
|
|
18
|
+
response = await client.get_state()
|
|
19
|
+
print(json.dumps(response, indent=2))
|
|
20
|
+
except Exception as e:
|
|
21
|
+
print(f"Failed to get solver state: {e}")
|