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
|
@@ -24,7 +24,6 @@ from chia._tests.util.setup_nodes import setup_simulators_and_wallets_service
|
|
|
24
24
|
from chia._tests.util.time_out_assert import time_out_assert
|
|
25
25
|
from chia.pools.pool_wallet_info import PoolSingletonState, PoolWalletInfo
|
|
26
26
|
from chia.rpc.rpc_client import ResponseFailureError
|
|
27
|
-
from chia.server.aliases import WalletService
|
|
28
27
|
from chia.simulator.add_blocks_in_batches import add_blocks_in_batches
|
|
29
28
|
from chia.simulator.block_tools import BlockTools, get_plot_dir
|
|
30
29
|
from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
@@ -41,8 +40,19 @@ from chia.wallet.util.transaction_type import TransactionType
|
|
|
41
40
|
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
42
41
|
from chia.wallet.util.wallet_types import WalletType
|
|
43
42
|
from chia.wallet.wallet_node import WalletNode
|
|
44
|
-
from chia.wallet.wallet_request_types import
|
|
43
|
+
from chia.wallet.wallet_request_types import (
|
|
44
|
+
DeleteUnconfirmedTransactions,
|
|
45
|
+
GetTransactions,
|
|
46
|
+
GetWalletBalance,
|
|
47
|
+
GetWallets,
|
|
48
|
+
PWAbsorbRewards,
|
|
49
|
+
PWJoinPool,
|
|
50
|
+
PWSelfPool,
|
|
51
|
+
PWStatus,
|
|
52
|
+
SendTransaction,
|
|
53
|
+
)
|
|
45
54
|
from chia.wallet.wallet_rpc_client import WalletRpcClient
|
|
55
|
+
from chia.wallet.wallet_service import WalletService
|
|
46
56
|
from chia.wallet.wallet_state_manager import WalletStateManager
|
|
47
57
|
|
|
48
58
|
# TODO: Compare deducted fees in all tests against reported total_fee
|
|
@@ -242,9 +252,9 @@ async def process_plotnft_create(
|
|
|
242
252
|
]
|
|
243
253
|
)
|
|
244
254
|
|
|
245
|
-
summaries_response = await wallet_rpc.get_wallets(WalletType.POOLING_WALLET)
|
|
246
|
-
assert len(summaries_response) == 2 if second_nft else 1
|
|
247
|
-
wallet_id: int = summaries_response[-1]
|
|
255
|
+
summaries_response = await wallet_rpc.get_wallets(GetWallets(type=uint16(WalletType.POOLING_WALLET)))
|
|
256
|
+
assert len(summaries_response.wallets) == 2 if second_nft else 1
|
|
257
|
+
wallet_id: int = summaries_response.wallets[-1].id
|
|
248
258
|
|
|
249
259
|
await verify_pool_state(wallet_rpc, wallet_id, expected_state=expected_state)
|
|
250
260
|
return wallet_id
|
|
@@ -290,16 +300,17 @@ class TestPoolWalletRpc:
|
|
|
290
300
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
291
301
|
our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
292
302
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
293
|
-
|
|
303
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET.value)))
|
|
304
|
+
assert len(summaries_response.wallets) == 0
|
|
294
305
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
295
306
|
our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
|
|
296
307
|
)
|
|
297
308
|
await full_node_api.process_transaction_records(records=[creation_tx])
|
|
298
309
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=30)
|
|
299
310
|
|
|
300
|
-
summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
|
|
301
|
-
assert len(summaries_response) == 1
|
|
302
|
-
wallet_id: int = summaries_response[0]
|
|
311
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET.value)))
|
|
312
|
+
assert len(summaries_response.wallets) == 1
|
|
313
|
+
wallet_id: int = summaries_response.wallets[0].id
|
|
303
314
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
|
|
304
315
|
|
|
305
316
|
assert status.current.state == PoolSingletonState.SELF_POOLING.value
|
|
@@ -343,7 +354,8 @@ class TestPoolWalletRpc:
|
|
|
343
354
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
344
355
|
our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
345
356
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
346
|
-
|
|
357
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
358
|
+
assert len(summaries_response.wallets) == 0
|
|
347
359
|
|
|
348
360
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
349
361
|
our_ph, "http://pool.example.com", uint32(10), f"{self_hostname}:5000", "new", "FARMING_TO_POOL", fee
|
|
@@ -351,9 +363,9 @@ class TestPoolWalletRpc:
|
|
|
351
363
|
await full_node_api.process_transaction_records(records=[creation_tx])
|
|
352
364
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
353
365
|
|
|
354
|
-
summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
|
|
355
|
-
assert len(summaries_response) == 1
|
|
356
|
-
wallet_id: int = summaries_response[0]
|
|
366
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
367
|
+
assert len(summaries_response.wallets) == 1
|
|
368
|
+
wallet_id: int = summaries_response.wallets[0].id
|
|
357
369
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
|
|
358
370
|
|
|
359
371
|
assert status.current.state == PoolSingletonState.FARMING_TO_POOL.value
|
|
@@ -400,7 +412,8 @@ class TestPoolWalletRpc:
|
|
|
400
412
|
our_ph_1 = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
401
413
|
our_ph_2 = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
402
414
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
403
|
-
|
|
415
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
416
|
+
assert len(summaries_response.wallets) == 0
|
|
404
417
|
|
|
405
418
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
406
419
|
our_ph_1, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
|
|
@@ -440,8 +453,8 @@ class TestPoolWalletRpc:
|
|
|
440
453
|
# Doing a reorg reverts and removes the pool wallets
|
|
441
454
|
await full_node_api.reorg_from_index_to_new_index(ReorgProtocol(uint32(0), uint32(20), our_ph_2, None))
|
|
442
455
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=30)
|
|
443
|
-
summaries_response = await client.get_wallets()
|
|
444
|
-
assert len(summaries_response) == 1
|
|
456
|
+
summaries_response = await client.get_wallets(GetWallets())
|
|
457
|
+
assert len(summaries_response.wallets) == 1
|
|
445
458
|
|
|
446
459
|
with pytest.raises(ValueError):
|
|
447
460
|
await client.pw_status(PWStatus(uint32(2)))
|
|
@@ -452,7 +465,7 @@ class TestPoolWalletRpc:
|
|
|
452
465
|
def mempool_empty() -> bool:
|
|
453
466
|
return full_node_api.full_node.mempool_manager.mempool.size() == 0
|
|
454
467
|
|
|
455
|
-
await client.delete_unconfirmed_transactions(1)
|
|
468
|
+
await client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(1)))
|
|
456
469
|
await full_node_api.process_all_wallet_transactions(wallet=wallet)
|
|
457
470
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
458
471
|
|
|
@@ -465,8 +478,8 @@ class TestPoolWalletRpc:
|
|
|
465
478
|
assert len(asset_id) > 0
|
|
466
479
|
await full_node_api.process_all_wallet_transactions(wallet=wallet)
|
|
467
480
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
468
|
-
bal_0 = await client.get_wallet_balance(cat_0_id)
|
|
469
|
-
assert bal_0
|
|
481
|
+
bal_0 = (await client.get_wallet_balance(GetWalletBalance(cat_0_id))).wallet_balance
|
|
482
|
+
assert bal_0.confirmed_wallet_balance == 20
|
|
470
483
|
|
|
471
484
|
# Test creation of many pool wallets. Use untrusted since that is the more complicated protocol, but don't
|
|
472
485
|
# run this code more than once, since it's slow.
|
|
@@ -508,7 +521,8 @@ class TestPoolWalletRpc:
|
|
|
508
521
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
509
522
|
our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
510
523
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
511
|
-
|
|
524
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
525
|
+
assert len(summaries_response.wallets) == 0
|
|
512
526
|
|
|
513
527
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
514
528
|
our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
|
|
@@ -531,8 +545,8 @@ class TestPoolWalletRpc:
|
|
|
531
545
|
await add_blocks_in_batches(blocks[-3:], full_node_api.full_node)
|
|
532
546
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
533
547
|
|
|
534
|
-
bal = await client.get_wallet_balance(2)
|
|
535
|
-
assert bal
|
|
548
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
549
|
+
assert bal.confirmed_wallet_balance == 2 * 1_750_000_000_000
|
|
536
550
|
|
|
537
551
|
# Claim 2 * 1.75, and farm a new 1.75
|
|
538
552
|
absorb_txs = (
|
|
@@ -557,8 +571,8 @@ class TestPoolWalletRpc:
|
|
|
557
571
|
new_status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
|
|
558
572
|
assert status.current == new_status.current
|
|
559
573
|
assert status.tip_singleton_coin_id != new_status.tip_singleton_coin_id
|
|
560
|
-
bal = await client.get_wallet_balance(2)
|
|
561
|
-
assert bal
|
|
574
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
575
|
+
assert bal.confirmed_wallet_balance == 1 * 1_750_000_000_000
|
|
562
576
|
|
|
563
577
|
# Claim another 1.75
|
|
564
578
|
absorb_txs1 = (
|
|
@@ -571,14 +585,20 @@ class TestPoolWalletRpc:
|
|
|
571
585
|
|
|
572
586
|
await full_node_api.farm_blocks_to_puzzlehash(count=2, farm_to=our_ph, guarantee_transaction_blocks=True)
|
|
573
587
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
574
|
-
bal = await client.get_wallet_balance(2)
|
|
575
|
-
assert bal
|
|
588
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
589
|
+
assert bal.confirmed_wallet_balance == 0
|
|
576
590
|
|
|
577
591
|
assert len(await wallet_node.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(2)) == 0
|
|
578
592
|
|
|
579
593
|
tr: TransactionRecord = (
|
|
580
594
|
await client.send_transaction(
|
|
581
|
-
|
|
595
|
+
SendTransaction(
|
|
596
|
+
wallet_id=uint32(1),
|
|
597
|
+
amount=uint64(100),
|
|
598
|
+
address=encode_puzzle_hash(status.p2_singleton_puzzle_hash, "txch"),
|
|
599
|
+
push=True,
|
|
600
|
+
),
|
|
601
|
+
DEFAULT_TX_CONFIG,
|
|
582
602
|
)
|
|
583
603
|
).transaction
|
|
584
604
|
|
|
@@ -586,15 +606,15 @@ class TestPoolWalletRpc:
|
|
|
586
606
|
await full_node_api.farm_blocks_to_puzzlehash(count=2, farm_to=our_ph, guarantee_transaction_blocks=True)
|
|
587
607
|
|
|
588
608
|
# Balance ignores non coinbase TX
|
|
589
|
-
bal = await client.get_wallet_balance(2)
|
|
590
|
-
assert bal
|
|
609
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
610
|
+
assert bal.confirmed_wallet_balance == 0
|
|
591
611
|
|
|
592
612
|
with pytest.raises(ValueError):
|
|
593
613
|
await client.pw_absorb_rewards(
|
|
594
614
|
PWAbsorbRewards(wallet_id=uint32(2), fee=uint64(fee), push=True), DEFAULT_TX_CONFIG
|
|
595
615
|
)
|
|
596
616
|
|
|
597
|
-
tx1 = await client.get_transactions(1)
|
|
617
|
+
tx1 = (await client.get_transactions(GetTransactions(uint32(1)))).transactions
|
|
598
618
|
assert (250_000_000_000 + fee) in [tx.amount for tx in tx1]
|
|
599
619
|
|
|
600
620
|
@pytest.mark.anyio
|
|
@@ -609,7 +629,8 @@ class TestPoolWalletRpc:
|
|
|
609
629
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
610
630
|
our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
611
631
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
612
|
-
|
|
632
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
633
|
+
assert len(summaries_response.wallets) == 0
|
|
613
634
|
|
|
614
635
|
main_expected_confirmed_balance = total_block_rewards
|
|
615
636
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
@@ -621,8 +642,8 @@ class TestPoolWalletRpc:
|
|
|
621
642
|
pool_expected_confirmed_balance = 0
|
|
622
643
|
|
|
623
644
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
624
|
-
main_bal = await client.get_wallet_balance(1)
|
|
625
|
-
assert main_bal
|
|
645
|
+
main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
|
|
646
|
+
assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance
|
|
626
647
|
|
|
627
648
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
|
|
628
649
|
assert status.current.state == PoolSingletonState.SELF_POOLING.value
|
|
@@ -645,10 +666,10 @@ class TestPoolWalletRpc:
|
|
|
645
666
|
pool_expected_confirmed_balance += block_count * 1_750_000_000_000
|
|
646
667
|
main_expected_confirmed_balance += block_count * 250_000_000_000
|
|
647
668
|
|
|
648
|
-
main_bal = await client.get_wallet_balance(1)
|
|
649
|
-
assert main_bal
|
|
650
|
-
bal = await client.get_wallet_balance(2)
|
|
651
|
-
assert bal
|
|
669
|
+
main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
|
|
670
|
+
assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance
|
|
671
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
672
|
+
assert bal.confirmed_wallet_balance == pool_expected_confirmed_balance
|
|
652
673
|
|
|
653
674
|
# Claim
|
|
654
675
|
absorb_txs = (
|
|
@@ -666,10 +687,10 @@ class TestPoolWalletRpc:
|
|
|
666
687
|
new_status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
|
|
667
688
|
assert status.current == new_status.current
|
|
668
689
|
assert status.tip_singleton_coin_id != new_status.tip_singleton_coin_id
|
|
669
|
-
main_bal = await client.get_wallet_balance(1)
|
|
670
|
-
pool_bal = await client.get_wallet_balance(2)
|
|
671
|
-
assert pool_bal
|
|
672
|
-
assert main_bal
|
|
690
|
+
main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
|
|
691
|
+
pool_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
692
|
+
assert pool_bal.confirmed_wallet_balance == pool_expected_confirmed_balance
|
|
693
|
+
assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance # 10499999999999
|
|
673
694
|
|
|
674
695
|
@pytest.mark.anyio
|
|
675
696
|
async def test_absorb_pooling(
|
|
@@ -685,7 +706,8 @@ class TestPoolWalletRpc:
|
|
|
685
706
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
686
707
|
our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
|
|
687
708
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
688
|
-
|
|
709
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
710
|
+
assert len(summaries_response.wallets) == 0
|
|
689
711
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
690
712
|
our_ph, "http://123.45.67.89", uint32(10), f"{self_hostname}:5000", "new", "FARMING_TO_POOL", fee
|
|
691
713
|
)
|
|
@@ -720,8 +742,8 @@ class TestPoolWalletRpc:
|
|
|
720
742
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
721
743
|
# Pooled plots don't have balance
|
|
722
744
|
main_expected_confirmed_balance += block_count * 250_000_000_000
|
|
723
|
-
bal = await client.get_wallet_balance(2)
|
|
724
|
-
assert bal
|
|
745
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
746
|
+
assert bal.confirmed_wallet_balance == 0
|
|
725
747
|
|
|
726
748
|
# Claim block_count * 1.75
|
|
727
749
|
ret = await client.pw_absorb_rewards(
|
|
@@ -745,12 +767,12 @@ class TestPoolWalletRpc:
|
|
|
745
767
|
|
|
746
768
|
await time_out_assert(20, status_updated)
|
|
747
769
|
new_status = (await client.pw_status(PWStatus(uint32(2)))).state
|
|
748
|
-
bal = await client.get_wallet_balance(2)
|
|
749
|
-
assert bal
|
|
770
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
771
|
+
assert bal.confirmed_wallet_balance == 0
|
|
750
772
|
|
|
751
773
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
752
|
-
bal = await client.get_wallet_balance(2)
|
|
753
|
-
assert bal
|
|
774
|
+
bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
775
|
+
assert bal.confirmed_wallet_balance == 0
|
|
754
776
|
assert len(await wallet_node.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(2)) == 0
|
|
755
777
|
peak = full_node_api.full_node.blockchain.get_peak()
|
|
756
778
|
assert peak is not None
|
|
@@ -792,8 +814,8 @@ class TestPoolWalletRpc:
|
|
|
792
814
|
status = (await client.pw_status(PWStatus(uint32(2)))).state
|
|
793
815
|
assert ret.fee_transaction is None
|
|
794
816
|
|
|
795
|
-
bal2 = await client.get_wallet_balance(2)
|
|
796
|
-
assert bal2
|
|
817
|
+
bal2 = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
|
|
818
|
+
assert bal2.confirmed_wallet_balance == 0
|
|
797
819
|
|
|
798
820
|
@pytest.mark.anyio
|
|
799
821
|
async def test_self_pooling_to_pooling(self, setup: Setup, fee: uint64, self_hostname: str) -> None:
|
|
@@ -810,7 +832,8 @@ class TestPoolWalletRpc:
|
|
|
810
832
|
|
|
811
833
|
assert wallet_node._wallet_state_manager is not None
|
|
812
834
|
|
|
813
|
-
|
|
835
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
836
|
+
assert len(summaries_response.wallets) == 0
|
|
814
837
|
|
|
815
838
|
creation_tx: TransactionRecord = await client.create_new_pool_wallet(
|
|
816
839
|
our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
|
|
@@ -828,10 +851,10 @@ class TestPoolWalletRpc:
|
|
|
828
851
|
assert not full_node_api.txs_in_mempool(txs=[creation_tx])
|
|
829
852
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
830
853
|
|
|
831
|
-
summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
|
|
832
|
-
assert len(summaries_response) == 2
|
|
833
|
-
wallet_id: int = summaries_response[0]
|
|
834
|
-
wallet_id_2: int = summaries_response[1]
|
|
854
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
855
|
+
assert len(summaries_response.wallets) == 2
|
|
856
|
+
wallet_id: int = summaries_response.wallets[0].id
|
|
857
|
+
wallet_id_2: int = summaries_response.wallets[1].id
|
|
835
858
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
|
|
836
859
|
status_2: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id_2)))).state
|
|
837
860
|
|
|
@@ -899,7 +922,8 @@ class TestPoolWalletRpc:
|
|
|
899
922
|
full_node_api, wallet_node, our_ph, _total_block_rewards, client = setup
|
|
900
923
|
pool_ph = bytes32.zeros
|
|
901
924
|
|
|
902
|
-
|
|
925
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
926
|
+
assert len(summaries_response.wallets) == 0
|
|
903
927
|
|
|
904
928
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
905
929
|
|
|
@@ -914,9 +938,9 @@ class TestPoolWalletRpc:
|
|
|
914
938
|
|
|
915
939
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
916
940
|
|
|
917
|
-
summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
|
|
918
|
-
assert len(summaries_response) == 1
|
|
919
|
-
wallet_id: int = summaries_response[0]
|
|
941
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
942
|
+
assert len(summaries_response.wallets) == 1
|
|
943
|
+
wallet_id: int = summaries_response.wallets[0].id
|
|
920
944
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
|
|
921
945
|
|
|
922
946
|
assert status.current.state == PoolSingletonState.SELF_POOLING.value
|
|
@@ -1016,6 +1040,9 @@ class TestPoolWalletRpc:
|
|
|
1016
1040
|
wallet_state_manager: WalletStateManager = wallet_environments.environments[0].wallet_state_manager
|
|
1017
1041
|
wallet_rpc: WalletRpcClient = wallet_environments.environments[0].rpc_client
|
|
1018
1042
|
|
|
1043
|
+
summaries_response = await wallet_rpc.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
1044
|
+
assert len(summaries_response.wallets) == 0
|
|
1045
|
+
|
|
1019
1046
|
wallet_state_manager.config["reuse_public_key_for_change"][
|
|
1020
1047
|
str(wallet_state_manager.root_pubkey.get_fingerprint())
|
|
1021
1048
|
] = wallet_environments.tx_config.reuse_puzhash
|
|
@@ -1087,7 +1114,8 @@ class TestPoolWalletRpc:
|
|
|
1087
1114
|
pool_b_ph = bytes32.zeros
|
|
1088
1115
|
WAIT_SECS = 30
|
|
1089
1116
|
|
|
1090
|
-
|
|
1117
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
1118
|
+
assert len(summaries_response.wallets) == 0
|
|
1091
1119
|
|
|
1092
1120
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
1093
1121
|
|
|
@@ -1102,9 +1130,9 @@ class TestPoolWalletRpc:
|
|
|
1102
1130
|
|
|
1103
1131
|
await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
|
|
1104
1132
|
|
|
1105
|
-
summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
|
|
1106
|
-
assert len(summaries_response) == 1
|
|
1107
|
-
wallet_id: int = summaries_response[0]
|
|
1133
|
+
summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
|
|
1134
|
+
assert len(summaries_response.wallets) == 1
|
|
1135
|
+
wallet_id: int = summaries_response.wallets[0].id
|
|
1108
1136
|
status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
|
|
1109
1137
|
|
|
1110
1138
|
assert status.current.state == PoolSingletonState.FARMING_TO_POOL.value
|
|
@@ -1240,7 +1268,7 @@ class TestPoolWalletRpc:
|
|
|
1240
1268
|
mock.return_value = False
|
|
1241
1269
|
|
|
1242
1270
|
# Test joining the same pool via the RPC client
|
|
1243
|
-
with pytest.raises(ResponseFailureError, match="Wallet needs to be fully synced
|
|
1271
|
+
with pytest.raises(ResponseFailureError, match="Wallet needs to be fully synced"):
|
|
1244
1272
|
await wallet_rpc.pw_join_pool(
|
|
1245
1273
|
PWJoinPool(
|
|
1246
1274
|
wallet_id=uint32(wallet_id),
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from unittest.mock import patch
|
|
5
|
+
|
|
6
|
+
import pytest
|
|
7
|
+
from chia_rs import ConsensusConstants
|
|
8
|
+
|
|
9
|
+
from chia.protocols.outbound_message import Message
|
|
10
|
+
from chia.protocols.solver_protocol import SolverInfo
|
|
11
|
+
from chia.simulator.block_tools import create_block_tools_async
|
|
12
|
+
from chia.simulator.keyring import TempKeyring
|
|
13
|
+
from chia.simulator.setup_services import setup_solver
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@pytest.mark.anyio
|
|
17
|
+
async def test_solver_api_methods(blockchain_constants: ConsensusConstants, tmp_path: Path) -> None:
|
|
18
|
+
with TempKeyring(populate=True) as keychain:
|
|
19
|
+
bt = await create_block_tools_async(constants=blockchain_constants, keychain=keychain)
|
|
20
|
+
async with setup_solver(tmp_path, bt, blockchain_constants) as solver_service:
|
|
21
|
+
solver = solver_service._node
|
|
22
|
+
solver_api = solver_service._api
|
|
23
|
+
assert solver_api.ready() is True
|
|
24
|
+
test_info = SolverInfo(partial_proof=b"test_partial_proof_42")
|
|
25
|
+
expected_proof = b"test_proof_data_12345"
|
|
26
|
+
with patch.object(solver, "solve", return_value=expected_proof):
|
|
27
|
+
api_result = await solver_api.solve(test_info)
|
|
28
|
+
assert api_result is not None
|
|
29
|
+
assert isinstance(api_result, Message)
|
|
@@ -13,8 +13,8 @@ from chia._tests.util.time_out_assert import time_out_assert
|
|
|
13
13
|
from chia.consensus.blockchain import Blockchain
|
|
14
14
|
from chia.consensus.difficulty_adjustment import get_next_sub_slot_iters_and_difficulty
|
|
15
15
|
from chia.consensus.make_sub_epoch_summary import next_sub_epoch_summary
|
|
16
|
+
from chia.full_node.full_node_service import FullNodeService
|
|
16
17
|
from chia.protocols import timelord_protocol
|
|
17
|
-
from chia.server.aliases import FullNodeService
|
|
18
18
|
from chia.server.server import ChiaServer
|
|
19
19
|
from chia.simulator.block_tools import BlockTools
|
|
20
20
|
from chia.simulator.full_node_simulator import FullNodeSimulator
|
chia/_tests/util/benchmarks.py
CHANGED
|
@@ -40,29 +40,22 @@ def rewards(height: uint32) -> tuple[Coin, Coin]:
|
|
|
40
40
|
return farmer_coin, pool_coin
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
def rand_bytes(num: int) -> bytes:
|
|
44
|
-
ret = bytearray(num)
|
|
45
|
-
for i in range(num):
|
|
46
|
-
ret[i] = random.getrandbits(8)
|
|
47
|
-
return bytes(ret)
|
|
48
|
-
|
|
49
|
-
|
|
50
43
|
def rand_hash() -> bytes32:
|
|
51
|
-
return bytes32(
|
|
44
|
+
return bytes32.random()
|
|
52
45
|
|
|
53
46
|
|
|
54
47
|
def rand_g1() -> G1Element:
|
|
55
|
-
sk = AugSchemeMPL.key_gen(
|
|
48
|
+
sk = AugSchemeMPL.key_gen(random.randbytes(96))
|
|
56
49
|
return sk.get_g1()
|
|
57
50
|
|
|
58
51
|
|
|
59
52
|
def rand_g2() -> G2Element:
|
|
60
|
-
sk = AugSchemeMPL.key_gen(
|
|
53
|
+
sk = AugSchemeMPL.key_gen(random.randbytes(96))
|
|
61
54
|
return AugSchemeMPL.sign(sk, b"foobar")
|
|
62
55
|
|
|
63
56
|
|
|
64
57
|
def rand_class_group_element() -> ClassgroupElement:
|
|
65
|
-
return ClassgroupElement(bytes100(
|
|
58
|
+
return ClassgroupElement(bytes100.random())
|
|
66
59
|
|
|
67
60
|
|
|
68
61
|
def rand_vdf() -> VDFInfo:
|
|
@@ -84,7 +77,7 @@ def rand_full_block() -> FullBlock:
|
|
|
84
77
|
None,
|
|
85
78
|
rand_g1(),
|
|
86
79
|
uint8(0),
|
|
87
|
-
|
|
80
|
+
random.randbytes(8 * 32),
|
|
88
81
|
)
|
|
89
82
|
|
|
90
83
|
reward_chain_block = RewardChainBlock(
|
chia/_tests/util/blockchain.py
CHANGED
|
@@ -10,8 +10,8 @@ from typing import Optional
|
|
|
10
10
|
from chia_rs import ConsensusConstants, FullBlock
|
|
11
11
|
from chia_rs.sized_ints import uint64
|
|
12
12
|
|
|
13
|
+
from chia.consensus.block_height_map import BlockHeightMap
|
|
13
14
|
from chia.consensus.blockchain import Blockchain
|
|
14
|
-
from chia.full_node.block_height_map import BlockHeightMap
|
|
15
15
|
from chia.full_node.block_store import BlockStore
|
|
16
16
|
from chia.full_node.coin_store import CoinStore
|
|
17
17
|
from chia.simulator.block_tools import BlockTools
|
|
@@ -33,6 +33,12 @@ def visit_farmer_protocol(visitor: Callable[[Any, str], None]) -> None:
|
|
|
33
33
|
visitor(request_signed_values, "request_signed_values")
|
|
34
34
|
visitor(farming_info, "farming_info")
|
|
35
35
|
visitor(signed_values, "signed_values")
|
|
36
|
+
visitor(partial_proof, "partial_proof")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def visit_solver_protocol(visitor: Callable[[Any, str], None]) -> None:
|
|
40
|
+
visitor(solver_info, "solver_info")
|
|
41
|
+
visitor(solver_response, "solver_response")
|
|
36
42
|
|
|
37
43
|
|
|
38
44
|
def visit_full_node(visitor: Callable[[Any, str], None]) -> None:
|
|
@@ -171,6 +177,7 @@ def visit_all_messages(visitor: Callable[[Any, str], None]) -> None:
|
|
|
171
177
|
visit_pool_protocol(visitor)
|
|
172
178
|
visit_timelord_protocol(visitor)
|
|
173
179
|
visit_shared_protocol(visitor)
|
|
180
|
+
visit_solver_protocol(visitor)
|
|
174
181
|
|
|
175
182
|
|
|
176
183
|
def get_protocol_bytes() -> bytes:
|
|
@@ -37,6 +37,7 @@ from chia.protocols import (
|
|
|
37
37
|
harvester_protocol,
|
|
38
38
|
introducer_protocol,
|
|
39
39
|
pool_protocol,
|
|
40
|
+
solver_protocol,
|
|
40
41
|
timelord_protocol,
|
|
41
42
|
wallet_protocol,
|
|
42
43
|
)
|
|
@@ -150,6 +151,26 @@ signed_values = farmer_protocol.SignedValues(
|
|
|
150
151
|
),
|
|
151
152
|
)
|
|
152
153
|
|
|
154
|
+
partial_proof = harvester_protocol.PartialProofsData(
|
|
155
|
+
bytes32.fromhex("42743566108589c11bb3811b347900b6351fd3e25bad6c956c0bf1c05a4d93fb"),
|
|
156
|
+
bytes32.fromhex("8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a"),
|
|
157
|
+
"plot-filename",
|
|
158
|
+
[b"partial-proof1", b"partial-proof2"],
|
|
159
|
+
uint8(4),
|
|
160
|
+
uint8(32),
|
|
161
|
+
G1Element.from_bytes(
|
|
162
|
+
bytes.fromhex(
|
|
163
|
+
"a04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c"
|
|
164
|
+
),
|
|
165
|
+
),
|
|
166
|
+
bytes32.fromhex("91240fbacdf93b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a"),
|
|
167
|
+
G1Element.from_bytes(
|
|
168
|
+
bytes.fromhex(
|
|
169
|
+
"a04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c"
|
|
170
|
+
),
|
|
171
|
+
),
|
|
172
|
+
)
|
|
173
|
+
|
|
153
174
|
|
|
154
175
|
# FULL NODE PROTOCOL.
|
|
155
176
|
new_peak = full_node_protocol.NewPeak(
|
|
@@ -1093,3 +1114,8 @@ respond_compact_proof_of_time = timelord_protocol.RespondCompactProofOfTime(
|
|
|
1093
1114
|
uint32(386395693),
|
|
1094
1115
|
uint8(224),
|
|
1095
1116
|
)
|
|
1117
|
+
|
|
1118
|
+
# SOLVER PROTOCOL
|
|
1119
|
+
solver_info = solver_protocol.SolverInfo(partial_proof=b"partial-proof")
|
|
1120
|
+
|
|
1121
|
+
solver_response = solver_protocol.SolverResponse(b"partial-proof", b"full-proof")
|
|
Binary file
|
|
@@ -65,6 +65,18 @@ signed_values_json: dict[str, Any] = {
|
|
|
65
65
|
"foliage_transaction_block_signature": "0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
partial_proof_json: dict[str, Any] = {
|
|
69
|
+
"challenge_hash": "0x42743566108589c11bb3811b347900b6351fd3e25bad6c956c0bf1c05a4d93fb",
|
|
70
|
+
"sp_hash": "0x8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a",
|
|
71
|
+
"plot_identifier": "plot-filename",
|
|
72
|
+
"partial_proofs": ["0x7061727469616c2d70726f6f6631", "0x7061727469616c2d70726f6f6632"],
|
|
73
|
+
"signage_point_index": 4,
|
|
74
|
+
"plot_size": 32,
|
|
75
|
+
"pool_public_key": "0xa04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c",
|
|
76
|
+
"pool_contract_puzzle_hash": "0x91240fbacdf93b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a",
|
|
77
|
+
"plot_public_key": "0xa04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c",
|
|
78
|
+
}
|
|
79
|
+
|
|
68
80
|
new_peak_json: dict[str, Any] = {
|
|
69
81
|
"header_hash": "0x8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deae9f8ddb00528721493f7a",
|
|
70
82
|
"height": 2653549198,
|
|
@@ -2717,3 +2729,10 @@ respond_compact_proof_of_time_json: dict[str, Any] = {
|
|
|
2717
2729
|
error_without_data_json: dict[str, Any] = {"code": 1, "message": "Unknown", "data": None}
|
|
2718
2730
|
|
|
2719
2731
|
error_with_data_json: dict[str, Any] = {"code": 1, "message": "Unknown", "data": "0x65787472612064617461"}
|
|
2732
|
+
|
|
2733
|
+
solver_info_json: dict[str, Any] = {"partial_proof": "0x7061727469616c2d70726f6f66"}
|
|
2734
|
+
|
|
2735
|
+
solver_response_json: dict[str, Any] = {
|
|
2736
|
+
"partial_proof": "0x7061727469616c2d70726f6f66",
|
|
2737
|
+
"proof": "0x66756c6c2d70726f6f66",
|
|
2738
|
+
}
|