chia-blockchain 2.5.6rc1__py3-none-any.whl → 2.5.7rc1__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_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.6rc1.dist-info → chia_blockchain-2.5.7rc1.dist-info}/METADATA +31 -31
- {chia_blockchain-2.5.6rc1.dist-info → chia_blockchain-2.5.7rc1.dist-info}/RECORD +368 -240
- {chia_blockchain-2.5.6rc1.dist-info → chia_blockchain-2.5.7rc1.dist-info}/WHEEL +1 -1
- {chia_blockchain-2.5.6rc1.dist-info → chia_blockchain-2.5.7rc1.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.6rc1.dist-info → chia_blockchain-2.5.7rc1.dist-info/licenses}/LICENSE +0 -0
|
@@ -22,7 +22,7 @@ async def check_block_store_invariant(bc: Blockchain):
|
|
|
22
22
|
|
|
23
23
|
in_chain = set()
|
|
24
24
|
max_height = -1
|
|
25
|
-
async with
|
|
25
|
+
async with bc.block_store.transaction() as conn:
|
|
26
26
|
async with conn.execute("SELECT height, in_main_chain FROM full_blocks") as cursor:
|
|
27
27
|
rows = await cursor.fetchall()
|
|
28
28
|
for row in rows:
|
|
@@ -76,7 +76,7 @@ async def _validate_and_add_block(
|
|
|
76
76
|
conds = None
|
|
77
77
|
else:
|
|
78
78
|
# fake the signature validation. Just say True here.
|
|
79
|
-
conds = SpendBundleConditions([], 0, 0, 0, None, None, [], 0, 0, 0, True, 0, 0)
|
|
79
|
+
conds = SpendBundleConditions([], 0, 0, 0, None, None, [], 0, 0, 0, True, 0, 0, 0, 0, 0)
|
|
80
80
|
results = PreValidationResult(None, uint64(1), conds, uint32(0))
|
|
81
81
|
else:
|
|
82
82
|
future = await pre_validate_block(
|
|
@@ -116,11 +116,10 @@ async def _validate_and_add_block(
|
|
|
116
116
|
if err is not None:
|
|
117
117
|
# Got an error
|
|
118
118
|
raise AssertionError(err)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
raise AssertionError(f"Expected {expected_error} but got {err}")
|
|
119
|
+
# Here we will enforce checking of the exact error
|
|
120
|
+
elif err != expected_error:
|
|
121
|
+
# Did not get the right error, or did not get an error
|
|
122
|
+
raise AssertionError(f"Expected {expected_error} but got {err}")
|
|
124
123
|
|
|
125
124
|
if expected_result is not None and expected_result != result:
|
|
126
125
|
raise AssertionError(f"Expected {expected_result} but got {result}")
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass, field
|
|
4
5
|
from typing import TYPE_CHECKING, ClassVar, Optional, cast
|
|
5
6
|
|
|
@@ -93,7 +94,7 @@ async def test_augmented_chain(default_10000_blocks: list[FullBlock]) -> None:
|
|
|
93
94
|
with pytest.raises(KeyError):
|
|
94
95
|
await abc.prev_block_hash([blocks[2].header_hash])
|
|
95
96
|
|
|
96
|
-
with pytest.raises(ValueError, match=
|
|
97
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
97
98
|
await abc.lookup_block_generators(blocks[3].header_hash, {uint32(3)})
|
|
98
99
|
|
|
99
100
|
block_records = []
|
|
@@ -105,11 +106,11 @@ async def test_augmented_chain(default_10000_blocks: list[FullBlock]) -> None:
|
|
|
105
106
|
|
|
106
107
|
assert abc.height_to_block_record(uint32(1)) == block_records[1]
|
|
107
108
|
|
|
108
|
-
with pytest.raises(ValueError, match=
|
|
109
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
109
110
|
await abc.lookup_block_generators(blocks[10].header_hash, {uint32(3), uint32(10)})
|
|
110
111
|
|
|
111
112
|
# block 1 exists in the chain, but it doesn't have a generator
|
|
112
|
-
with pytest.raises(ValueError, match=
|
|
113
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
113
114
|
await abc.lookup_block_generators(blocks[1].header_hash, {uint32(1)})
|
|
114
115
|
|
|
115
116
|
expect_gen = blocks[2].transactions_generator
|
|
@@ -4,6 +4,7 @@ import asyncio
|
|
|
4
4
|
import copy
|
|
5
5
|
import logging
|
|
6
6
|
import random
|
|
7
|
+
import re
|
|
7
8
|
import time
|
|
8
9
|
from collections.abc import AsyncIterator, Awaitable
|
|
9
10
|
from contextlib import asynccontextmanager
|
|
@@ -3647,7 +3648,7 @@ class TestReorgs:
|
|
|
3647
3648
|
heights.append(block.height)
|
|
3648
3649
|
await _validate_and_add_block(b, block)
|
|
3649
3650
|
|
|
3650
|
-
blocks = await b.get_block_records_at(heights
|
|
3651
|
+
blocks = await b.get_block_records_at(heights)
|
|
3651
3652
|
assert blocks
|
|
3652
3653
|
assert len(blocks) == 200
|
|
3653
3654
|
assert blocks[-1].height == 199
|
|
@@ -4158,24 +4159,24 @@ async def test_lookup_block_generators(
|
|
|
4158
4159
|
# make sure we don't cross the forks
|
|
4159
4160
|
if clear_cache:
|
|
4160
4161
|
b.clean_block_records()
|
|
4161
|
-
with pytest.raises(ValueError, match=
|
|
4162
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
4162
4163
|
await b.lookup_block_generators(peak_1.prev_header_hash, {uint32(516)})
|
|
4163
4164
|
|
|
4164
4165
|
if clear_cache:
|
|
4165
4166
|
b.clean_block_records()
|
|
4166
|
-
with pytest.raises(ValueError, match=
|
|
4167
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
4167
4168
|
await b.lookup_block_generators(peak_2.prev_header_hash, {uint32(503)})
|
|
4168
4169
|
|
|
4169
4170
|
# make sure we fail when looking up a non-transaction block from the main
|
|
4170
4171
|
# chain, regardless of which chain we start at
|
|
4171
4172
|
if clear_cache:
|
|
4172
4173
|
b.clean_block_records()
|
|
4173
|
-
with pytest.raises(ValueError, match=
|
|
4174
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
4174
4175
|
await b.lookup_block_generators(peak_1.prev_header_hash, {uint32(8)})
|
|
4175
4176
|
|
|
4176
4177
|
if clear_cache:
|
|
4177
4178
|
b.clean_block_records()
|
|
4178
|
-
with pytest.raises(ValueError, match=
|
|
4179
|
+
with pytest.raises(ValueError, match=re.escape(Err.GENERATOR_REF_HAS_NO_GENERATOR.name)):
|
|
4179
4180
|
await b.lookup_block_generators(peak_2.prev_header_hash, {uint32(8)})
|
|
4180
4181
|
|
|
4181
4182
|
# if we try to look up generators starting from a disconnected block, we
|
|
@@ -4336,6 +4337,7 @@ async def test_include_spends_same_as_parent(
|
|
|
4336
4337
|
0,
|
|
4337
4338
|
0,
|
|
4338
4339
|
0,
|
|
4340
|
+
b"",
|
|
4339
4341
|
)
|
|
4340
4342
|
],
|
|
4341
4343
|
0,
|
|
@@ -4350,6 +4352,9 @@ async def test_include_spends_same_as_parent(
|
|
|
4350
4352
|
True,
|
|
4351
4353
|
0,
|
|
4352
4354
|
0,
|
|
4355
|
+
0,
|
|
4356
|
+
0,
|
|
4357
|
+
0,
|
|
4353
4358
|
)
|
|
4354
4359
|
# Now let's run the test
|
|
4355
4360
|
test_setup.fork_info.include_spends(conds, test_setup.test_block, test_setup.test_block.header_hash)
|
chia/_tests/clvm/coin_store.py
CHANGED
|
@@ -73,7 +73,7 @@ class CoinStore:
|
|
|
73
73
|
assert result.conds is not None
|
|
74
74
|
for spend in result.conds.spends:
|
|
75
75
|
for puzzle_hash, amount, hint in spend.create_coin:
|
|
76
|
-
coin = Coin(
|
|
76
|
+
coin = Coin(spend.coin_id, puzzle_hash, uint64(amount))
|
|
77
77
|
name = coin.name()
|
|
78
78
|
ephemeral_db[name] = CoinRecord(
|
|
79
79
|
coin,
|
|
@@ -5,9 +5,9 @@ from collections.abc import AsyncIterator, Iterable
|
|
|
5
5
|
from contextlib import asynccontextmanager
|
|
6
6
|
from dataclasses import dataclass, field
|
|
7
7
|
from pathlib import Path
|
|
8
|
-
from typing import Any, Optional,
|
|
8
|
+
from typing import Any, Optional, cast
|
|
9
9
|
|
|
10
|
-
from chia_rs import BlockRecord, Coin, G2Element
|
|
10
|
+
from chia_rs import BlockRecord, Coin, G1Element, G2Element
|
|
11
11
|
from chia_rs.sized_bytes import bytes32
|
|
12
12
|
from chia_rs.sized_ints import uint8, uint16, uint32, uint64
|
|
13
13
|
|
|
@@ -22,7 +22,6 @@ from chia.farmer.farmer_rpc_client import FarmerRpcClient
|
|
|
22
22
|
from chia.full_node.full_node_rpc_client import FullNodeRpcClient
|
|
23
23
|
from chia.rpc.rpc_client import RpcClient
|
|
24
24
|
from chia.simulator.simulator_full_node_rpc_client import SimulatorFullNodeRpcClient
|
|
25
|
-
from chia.types.coin_record import CoinRecord
|
|
26
25
|
from chia.types.signing_mode import SigningMode
|
|
27
26
|
from chia.util.bech32m import encode_puzzle_hash
|
|
28
27
|
from chia.util.config import load_config
|
|
@@ -31,15 +30,28 @@ from chia.wallet.nft_wallet.nft_info import NFTInfo
|
|
|
31
30
|
from chia.wallet.nft_wallet.nft_wallet import NFTWallet
|
|
32
31
|
from chia.wallet.transaction_record import TransactionRecord
|
|
33
32
|
from chia.wallet.util.transaction_type import TransactionType
|
|
34
|
-
from chia.wallet.util.tx_config import
|
|
33
|
+
from chia.wallet.util.tx_config import TXConfig
|
|
35
34
|
from chia.wallet.util.wallet_types import WalletType
|
|
36
35
|
from chia.wallet.wallet_request_types import (
|
|
36
|
+
CATAssetIDToName,
|
|
37
|
+
CATAssetIDToNameResponse,
|
|
38
|
+
CATGetName,
|
|
39
|
+
CATGetNameResponse,
|
|
37
40
|
GetSyncStatusResponse,
|
|
41
|
+
GetTransaction,
|
|
42
|
+
GetTransactionResponse,
|
|
43
|
+
GetWallets,
|
|
44
|
+
GetWalletsResponse,
|
|
38
45
|
NFTCalculateRoyalties,
|
|
39
46
|
NFTCalculateRoyaltiesResponse,
|
|
40
47
|
NFTGetInfo,
|
|
41
48
|
NFTGetInfoResponse,
|
|
42
49
|
SendTransactionMultiResponse,
|
|
50
|
+
SignMessageByAddress,
|
|
51
|
+
SignMessageByAddressResponse,
|
|
52
|
+
SignMessageByID,
|
|
53
|
+
SignMessageByIDResponse,
|
|
54
|
+
WalletInfoResponse,
|
|
43
55
|
)
|
|
44
56
|
from chia.wallet.wallet_rpc_client import WalletRpcClient
|
|
45
57
|
from chia.wallet.wallet_spend_bundle import WalletSpendBundle
|
|
@@ -93,11 +105,11 @@ class TestWalletRpcClient(TestRpcClient):
|
|
|
93
105
|
self.add_to_log("get_sync_status", ())
|
|
94
106
|
return GetSyncStatusResponse(synced=True, syncing=False)
|
|
95
107
|
|
|
96
|
-
async def get_wallets(self,
|
|
97
|
-
self.add_to_log("get_wallets", (
|
|
108
|
+
async def get_wallets(self, request: GetWallets) -> GetWalletsResponse:
|
|
109
|
+
self.add_to_log("get_wallets", (request,))
|
|
98
110
|
# we cant start with zero because ints cant have a leading zero
|
|
99
|
-
if
|
|
100
|
-
w_type =
|
|
111
|
+
if request.type is not None:
|
|
112
|
+
w_type = WalletType(request.type)
|
|
101
113
|
elif str(self.fingerprint).startswith(str(WalletType.STANDARD_WALLET.value + 1)):
|
|
102
114
|
w_type = WalletType.STANDARD_WALLET
|
|
103
115
|
elif str(self.fingerprint).startswith(str(WalletType.CAT.value + 1)):
|
|
@@ -110,57 +122,79 @@ class TestWalletRpcClient(TestRpcClient):
|
|
|
110
122
|
w_type = WalletType.POOLING_WALLET
|
|
111
123
|
else:
|
|
112
124
|
raise ValueError(f"Invalid fingerprint: {self.fingerprint}")
|
|
113
|
-
return [
|
|
114
|
-
|
|
115
|
-
async def get_transaction(self,
|
|
116
|
-
self.add_to_log("get_transaction", (
|
|
117
|
-
return
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
return GetWalletsResponse([WalletInfoResponse(id=uint32(1), name="", type=uint8(w_type.value), data="")])
|
|
126
|
+
|
|
127
|
+
async def get_transaction(self, request: GetTransaction) -> GetTransactionResponse:
|
|
128
|
+
self.add_to_log("get_transaction", (request,))
|
|
129
|
+
return GetTransactionResponse(
|
|
130
|
+
TransactionRecord(
|
|
131
|
+
confirmed_at_height=uint32(1),
|
|
132
|
+
created_at_time=uint64(1234),
|
|
133
|
+
to_puzzle_hash=bytes32([1] * 32),
|
|
134
|
+
to_address=encode_puzzle_hash(bytes32([1] * 32), "xch"),
|
|
135
|
+
amount=uint64(12345678),
|
|
136
|
+
fee_amount=uint64(1234567),
|
|
137
|
+
confirmed=False,
|
|
138
|
+
sent=uint32(0),
|
|
139
|
+
spend_bundle=WalletSpendBundle([], G2Element()),
|
|
140
|
+
additions=[Coin(bytes32([1] * 32), bytes32([2] * 32), uint64(12345678))],
|
|
141
|
+
removals=[Coin(bytes32([2] * 32), bytes32([4] * 32), uint64(12345678))],
|
|
142
|
+
wallet_id=uint32(1),
|
|
143
|
+
sent_to=[("aaaaa", uint8(1), None)],
|
|
144
|
+
trade_id=None,
|
|
145
|
+
type=uint32(TransactionType.OUTGOING_TX.value),
|
|
146
|
+
name=bytes32([2] * 32),
|
|
147
|
+
memos={bytes32([3] * 32): [bytes([4] * 32)]},
|
|
148
|
+
valid_times=ConditionValidTimes(),
|
|
149
|
+
),
|
|
150
|
+
bytes32([2] * 32),
|
|
135
151
|
)
|
|
136
152
|
|
|
137
|
-
async def get_cat_name(self,
|
|
138
|
-
self.add_to_log("get_cat_name", (wallet_id,))
|
|
139
|
-
return "test" + str(wallet_id)
|
|
153
|
+
async def get_cat_name(self, request: CATGetName) -> CATGetNameResponse:
|
|
154
|
+
self.add_to_log("get_cat_name", (request.wallet_id,))
|
|
155
|
+
return CATGetNameResponse(request.wallet_id, "test" + str(request.wallet_id))
|
|
140
156
|
|
|
141
|
-
async def sign_message_by_address(self,
|
|
142
|
-
self.add_to_log("sign_message_by_address", (address, message))
|
|
143
|
-
pubkey =
|
|
144
|
-
|
|
157
|
+
async def sign_message_by_address(self, request: SignMessageByAddress) -> SignMessageByAddressResponse:
|
|
158
|
+
self.add_to_log("sign_message_by_address", (request.address, request.message))
|
|
159
|
+
pubkey = G1Element.from_bytes(
|
|
160
|
+
bytes.fromhex(
|
|
161
|
+
"b5acf3599bc5fa5da1c00f6cc3d5bcf1560def67778b7f50a8c373a83f78761505b6250ab776e38a292e26628009aec4"
|
|
162
|
+
)
|
|
163
|
+
)
|
|
164
|
+
signature = G2Element.from_bytes(
|
|
165
|
+
bytes.fromhex(
|
|
166
|
+
"c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
167
|
+
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
168
|
+
)
|
|
169
|
+
)
|
|
145
170
|
signing_mode = SigningMode.CHIP_0002.value
|
|
146
|
-
return pubkey, signature, signing_mode
|
|
171
|
+
return SignMessageByAddressResponse(pubkey, signature, signing_mode)
|
|
147
172
|
|
|
148
|
-
async def sign_message_by_id(self,
|
|
149
|
-
self.add_to_log("sign_message_by_id", (id, message))
|
|
150
|
-
pubkey =
|
|
151
|
-
|
|
173
|
+
async def sign_message_by_id(self, request: SignMessageByID) -> SignMessageByIDResponse:
|
|
174
|
+
self.add_to_log("sign_message_by_id", (request.id, request.message))
|
|
175
|
+
pubkey = G1Element.from_bytes(
|
|
176
|
+
bytes.fromhex(
|
|
177
|
+
"a9e652cb551d5978a9ee4b7aa52a4e826078a54b08a3d903c38611cb8a804a9a29c926e4f8549314a079e04ecde10cc1"
|
|
178
|
+
)
|
|
179
|
+
)
|
|
180
|
+
signature = G2Element.from_bytes(
|
|
181
|
+
bytes.fromhex(
|
|
182
|
+
"c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
183
|
+
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
184
|
+
)
|
|
185
|
+
)
|
|
152
186
|
signing_mode = SigningMode.CHIP_0002.value
|
|
153
|
-
return pubkey, signature, signing_mode
|
|
187
|
+
return SignMessageByIDResponse(pubkey, signature, bytes32.zeros, signing_mode)
|
|
154
188
|
|
|
155
|
-
async def cat_asset_id_to_name(self,
|
|
189
|
+
async def cat_asset_id_to_name(self, request: CATAssetIDToName) -> CATAssetIDToNameResponse:
|
|
156
190
|
"""
|
|
157
191
|
if bytes32([1] * 32), return (uint32(2), "test1"), if bytes32([1] * 32), return (uint32(3), "test2")
|
|
158
192
|
"""
|
|
159
|
-
self.add_to_log("cat_asset_id_to_name", (asset_id,))
|
|
193
|
+
self.add_to_log("cat_asset_id_to_name", (request.asset_id,))
|
|
160
194
|
for i in range(256):
|
|
161
|
-
if asset_id == get_bytes32(i):
|
|
162
|
-
return uint32(i + 1), "test" + str(i)
|
|
163
|
-
return None
|
|
195
|
+
if request.asset_id == get_bytes32(i):
|
|
196
|
+
return CATAssetIDToNameResponse(uint32(i + 1), "test" + str(i))
|
|
197
|
+
return CATAssetIDToNameResponse(wallet_id=None, name=None)
|
|
164
198
|
|
|
165
199
|
async def get_nft_info(self, request: NFTGetInfo) -> NFTGetInfoResponse:
|
|
166
200
|
self.add_to_log("get_nft_info", (request.coin_id, request.latest))
|
|
@@ -201,54 +235,6 @@ class TestWalletRpcClient(TestRpcClient):
|
|
|
201
235
|
)
|
|
202
236
|
)
|
|
203
237
|
|
|
204
|
-
async def get_spendable_coins(
|
|
205
|
-
self,
|
|
206
|
-
wallet_id: int,
|
|
207
|
-
coin_selection_config: CoinSelectionConfig,
|
|
208
|
-
) -> tuple[list[CoinRecord], list[CoinRecord], list[Coin]]:
|
|
209
|
-
"""
|
|
210
|
-
We return a tuple containing: (confirmed records, unconfirmed removals, unconfirmed additions)
|
|
211
|
-
"""
|
|
212
|
-
self.add_to_log(
|
|
213
|
-
"get_spendable_coins",
|
|
214
|
-
(wallet_id, coin_selection_config),
|
|
215
|
-
)
|
|
216
|
-
confirmed_records = [
|
|
217
|
-
CoinRecord(
|
|
218
|
-
Coin(bytes32([1] * 32), bytes32([2] * 32), uint64(1234560000)),
|
|
219
|
-
uint32(123456),
|
|
220
|
-
uint32(0),
|
|
221
|
-
False,
|
|
222
|
-
uint64(0),
|
|
223
|
-
),
|
|
224
|
-
CoinRecord(
|
|
225
|
-
Coin(bytes32([3] * 32), bytes32([4] * 32), uint64(1234560000)),
|
|
226
|
-
uint32(123456),
|
|
227
|
-
uint32(0),
|
|
228
|
-
False,
|
|
229
|
-
uint64(0),
|
|
230
|
-
),
|
|
231
|
-
]
|
|
232
|
-
unconfirmed_removals = [
|
|
233
|
-
CoinRecord(
|
|
234
|
-
Coin(bytes32([5] * 32), bytes32([6] * 32), uint64(1234570000)),
|
|
235
|
-
uint32(123457),
|
|
236
|
-
uint32(0),
|
|
237
|
-
True,
|
|
238
|
-
uint64(0),
|
|
239
|
-
)
|
|
240
|
-
]
|
|
241
|
-
unconfirmed_additions = [Coin(bytes32([7] * 32), bytes32([8] * 32), uint64(1234580000))]
|
|
242
|
-
return confirmed_records, unconfirmed_removals, unconfirmed_additions
|
|
243
|
-
|
|
244
|
-
async def get_next_address(self, wallet_id: int, new_address: bool) -> str:
|
|
245
|
-
self.add_to_log("get_next_address", (wallet_id, new_address))
|
|
246
|
-
addr = encode_puzzle_hash(bytes32([self.wallet_index] * 32), "xch")
|
|
247
|
-
self.wallet_index += 1
|
|
248
|
-
if self.wallet_index > 254:
|
|
249
|
-
self.wallet_index = 1
|
|
250
|
-
return addr
|
|
251
|
-
|
|
252
238
|
async def send_transaction_multi(
|
|
253
239
|
self,
|
|
254
240
|
wallet_id: int,
|
|
@@ -268,6 +254,7 @@ class TestWalletRpcClient(TestRpcClient):
|
|
|
268
254
|
confirmed_at_height=uint32(1),
|
|
269
255
|
created_at_time=uint64(1234),
|
|
270
256
|
to_puzzle_hash=bytes32([1] * 32),
|
|
257
|
+
to_address=encode_puzzle_hash(bytes32([1] * 32), "xch"),
|
|
271
258
|
amount=uint64(12345678),
|
|
272
259
|
fee_amount=uint64(1234567),
|
|
273
260
|
confirmed=False,
|
|
@@ -280,7 +267,7 @@ class TestWalletRpcClient(TestRpcClient):
|
|
|
280
267
|
trade_id=None,
|
|
281
268
|
type=uint32(TransactionType.OUTGOING_TX.value),
|
|
282
269
|
name=name,
|
|
283
|
-
memos=
|
|
270
|
+
memos={bytes32([3] * 32): [bytes([4] * 32)]},
|
|
284
271
|
valid_times=ConditionValidTimes(),
|
|
285
272
|
),
|
|
286
273
|
name,
|
chia/_tests/cmds/test_dev_gh.py
CHANGED
|
@@ -114,7 +114,7 @@ async def test_successfully_dispatches(
|
|
|
114
114
|
assert by_name["macos-intel"]["conclusion"] == "skipped"
|
|
115
115
|
assert by_name["windows"]["conclusion"] == "skipped"
|
|
116
116
|
|
|
117
|
-
versions = ["3.
|
|
117
|
+
versions = ["3.10", "3.11", "3.12"]
|
|
118
118
|
runs_by_name: dict[str, list[str]] = {name: [] for name in ["ubuntu", "macos-arm"]}
|
|
119
119
|
for name in by_name:
|
|
120
120
|
platform, _, rest = name.partition(" / ")
|
|
@@ -8,10 +8,12 @@ from _pytest.capture import CaptureFixture
|
|
|
8
8
|
from chia._tests.util.time_out_assert import time_out_assert
|
|
9
9
|
from chia.cmds.farm_funcs import summary
|
|
10
10
|
from chia.farmer.farmer import Farmer
|
|
11
|
+
from chia.farmer.farmer_service import FarmerService
|
|
11
12
|
from chia.harvester.harvester import Harvester
|
|
12
|
-
from chia.
|
|
13
|
+
from chia.harvester.harvester_service import HarvesterService
|
|
13
14
|
from chia.simulator.block_tools import BlockTools
|
|
14
15
|
from chia.simulator.start_simulator import SimulatorFullNodeService
|
|
16
|
+
from chia.wallet.wallet_service import WalletService
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
@pytest.mark.anyio
|
|
@@ -46,7 +48,15 @@ async def test_farm_summary_command(
|
|
|
46
48
|
wallet_rpc_port = wallet_service.rpc_server.webserver.listen_port
|
|
47
49
|
farmer_rpc_port = farmer_service.rpc_server.webserver.listen_port
|
|
48
50
|
|
|
49
|
-
|
|
51
|
+
# Test with include_pool_rewards=False (original test)
|
|
52
|
+
await summary(
|
|
53
|
+
rpc_port=full_node_rpc_port,
|
|
54
|
+
wallet_rpc_port=wallet_rpc_port,
|
|
55
|
+
harvester_rpc_port=None,
|
|
56
|
+
farmer_rpc_port=farmer_rpc_port,
|
|
57
|
+
include_pool_rewards=False,
|
|
58
|
+
root_path=bt.root_path,
|
|
59
|
+
)
|
|
50
60
|
|
|
51
61
|
captured = capsys.readouterr()
|
|
52
62
|
match = re.search(r"^.+(Farming status:.+)$", captured.out, re.DOTALL)
|
|
@@ -64,3 +74,47 @@ async def test_farm_summary_command(
|
|
|
64
74
|
assert "e (effective)" in lines[8]
|
|
65
75
|
assert "Estimated network space:" in lines[9]
|
|
66
76
|
assert "Expected time to win:" in lines[10]
|
|
77
|
+
|
|
78
|
+
# Test with include_pool_rewards=True
|
|
79
|
+
await summary(
|
|
80
|
+
rpc_port=full_node_rpc_port,
|
|
81
|
+
wallet_rpc_port=wallet_rpc_port,
|
|
82
|
+
harvester_rpc_port=None,
|
|
83
|
+
farmer_rpc_port=farmer_rpc_port,
|
|
84
|
+
include_pool_rewards=True,
|
|
85
|
+
root_path=bt.root_path,
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
captured = capsys.readouterr()
|
|
89
|
+
match = re.search(r"Farming status:.*", captured.out, re.DOTALL)
|
|
90
|
+
assert match, "no 'Farming status:' line"
|
|
91
|
+
output = match.group(0).strip()
|
|
92
|
+
lines = [line.strip() for line in output.splitlines()]
|
|
93
|
+
|
|
94
|
+
# always check these first six lines
|
|
95
|
+
assert lines[0].startswith("Farming status:")
|
|
96
|
+
assert lines[1].startswith("Total chia farmed:")
|
|
97
|
+
assert lines[2].startswith("User transaction fees:")
|
|
98
|
+
assert lines[3].startswith("Farmer rewards:")
|
|
99
|
+
assert lines[4].startswith("Pool rewards:")
|
|
100
|
+
assert lines[5].startswith("Total rewards:")
|
|
101
|
+
|
|
102
|
+
# decide where the harvester section starts
|
|
103
|
+
if "Current/Last height farmed:" in output:
|
|
104
|
+
# we saw the height-farmed block, so it occupies lines[6-8]
|
|
105
|
+
assert lines[6].startswith("Current/Last height farmed:")
|
|
106
|
+
assert lines[7].startswith("Blocks since last farmed:")
|
|
107
|
+
assert lines[8].startswith("Time since last farmed:")
|
|
108
|
+
harvester_idx = 9
|
|
109
|
+
else:
|
|
110
|
+
# no height block, so harvester begins at line 6
|
|
111
|
+
harvester_idx = 6
|
|
112
|
+
|
|
113
|
+
# now the harvester lines
|
|
114
|
+
assert lines[harvester_idx] == "Local Harvester"
|
|
115
|
+
assert "plots of size" in lines[harvester_idx + 1]
|
|
116
|
+
assert lines[harvester_idx + 2].startswith("Plot count for all harvesters:")
|
|
117
|
+
assert lines[harvester_idx + 3].startswith("Total size of plots:")
|
|
118
|
+
assert lines[harvester_idx + 4].startswith("Estimated network space:")
|
|
119
|
+
assert lines[harvester_idx + 5].startswith("Expected time to win:")
|
|
120
|
+
assert lines[harvester_idx + 6].startswith("Note:")
|
|
@@ -4,6 +4,7 @@ from chia_rs import Coin, G2Element
|
|
|
4
4
|
from chia_rs.sized_bytes import bytes32
|
|
5
5
|
from chia_rs.sized_ints import uint32, uint64
|
|
6
6
|
|
|
7
|
+
from chia.util.bech32m import encode_puzzle_hash
|
|
7
8
|
from chia.wallet.conditions import ConditionValidTimes
|
|
8
9
|
from chia.wallet.signer_protocol import KeyHints, SigningInstructions, TransactionInfo, UnsignedTransaction
|
|
9
10
|
from chia.wallet.transaction_record import TransactionRecord
|
|
@@ -27,6 +28,7 @@ STD_TX = TransactionRecord(
|
|
|
27
28
|
confirmed_at_height=uint32(1),
|
|
28
29
|
created_at_time=uint64(1234),
|
|
29
30
|
to_puzzle_hash=get_bytes32(1),
|
|
31
|
+
to_address=encode_puzzle_hash(get_bytes32(1), "xch"),
|
|
30
32
|
amount=uint64(12345678),
|
|
31
33
|
fee_amount=uint64(1234567),
|
|
32
34
|
confirmed=False,
|
|
@@ -39,7 +41,7 @@ STD_TX = TransactionRecord(
|
|
|
39
41
|
trade_id=None,
|
|
40
42
|
type=uint32(TransactionType.OUTGOING_TX.value),
|
|
41
43
|
name=get_bytes32(2),
|
|
42
|
-
memos=
|
|
44
|
+
memos={get_bytes32(3): [bytes([4] * 32)]},
|
|
43
45
|
valid_times=ConditionValidTimes(),
|
|
44
46
|
)
|
|
45
47
|
|
|
@@ -13,7 +13,6 @@ from chia._tests.cmds.wallet.test_consts import FINGERPRINT_ARG, STD_TX, STD_UTX
|
|
|
13
13
|
from chia.types.blockchain_format.program import NIL, Program
|
|
14
14
|
from chia.types.signing_mode import SigningMode
|
|
15
15
|
from chia.util.bech32m import encode_puzzle_hash
|
|
16
|
-
from chia.util.config import load_config
|
|
17
16
|
from chia.wallet.conditions import Condition, ConditionValidTimes, CreateCoinAnnouncement, CreatePuzzleAnnouncement
|
|
18
17
|
from chia.wallet.did_wallet.did_info import did_recovery_is_nil
|
|
19
18
|
from chia.wallet.util.curry_and_treehash import NIL_TREEHASH
|
|
@@ -117,8 +116,8 @@ def test_did_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcCli
|
|
|
117
116
|
# these are various things that should be in the output
|
|
118
117
|
assert_list = [
|
|
119
118
|
f"Message: {message.hex()}",
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
"Public Key: a9e652cb551d5978a9ee4b7aa52a4e826078a54b08a3d903c38611cb8a804a9a29c926e4f8549314a079e04ecde10cc1",
|
|
120
|
+
"Signature: c0" + "00" * (42 - 1),
|
|
122
121
|
f"Signing Mode: {SigningMode.CHIP_0002.value}",
|
|
123
122
|
]
|
|
124
123
|
run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-i{did_id}"], assert_list)
|
|
@@ -421,14 +420,10 @@ def test_did_transfer(capsys: object, get_test_cli_clients: tuple[TestRpcClients
|
|
|
421
420
|
"150",
|
|
422
421
|
]
|
|
423
422
|
# these are various things that should be in the output
|
|
424
|
-
config = load_config(
|
|
425
|
-
root_dir,
|
|
426
|
-
"config.yaml",
|
|
427
|
-
)
|
|
428
423
|
assert_list = [
|
|
429
424
|
f"Successfully transferred DID to {t_address}",
|
|
430
425
|
f"Transaction ID: {get_bytes32(2).hex()}",
|
|
431
|
-
f"Transaction: {STD_TX.
|
|
426
|
+
f"Transaction: {STD_TX.to_json_dict()}",
|
|
432
427
|
]
|
|
433
428
|
run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
|
|
434
429
|
expected_calls: logType = {
|
|
@@ -64,19 +64,19 @@ def test_nft_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcCli
|
|
|
64
64
|
|
|
65
65
|
inst_rpc_client = TestWalletRpcClient()
|
|
66
66
|
test_rpc_clients.wallet_rpc_client = inst_rpc_client
|
|
67
|
-
|
|
67
|
+
nft_id = encode_puzzle_hash(get_bytes32(1), "nft")
|
|
68
68
|
message = b"hello nft world!!"
|
|
69
|
-
command_args = ["wallet", "
|
|
69
|
+
command_args = ["wallet", "nft", "sign_message", FINGERPRINT_ARG, f"-m{message.hex()}"]
|
|
70
70
|
# these are various things that should be in the output
|
|
71
71
|
assert_list = [
|
|
72
72
|
f"Message: {message.hex()}",
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
"Public Key: a9e652cb551d5978a9ee4b7aa52a4e826078a54b08a3d903c38611cb8a804a9a29c926e4f8549314a079e04ecde10cc1",
|
|
74
|
+
"Signature: c0" + "00" * (42 - 1),
|
|
75
75
|
f"Signing Mode: {SigningMode.CHIP_0002.value}",
|
|
76
76
|
]
|
|
77
|
-
run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-i{
|
|
77
|
+
run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-i{nft_id}"], assert_list)
|
|
78
78
|
expected_calls: logType = {
|
|
79
|
-
"sign_message_by_id": [(
|
|
79
|
+
"sign_message_by_id": [(nft_id, message.hex())], # xch std
|
|
80
80
|
}
|
|
81
81
|
test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
|
|
82
82
|
|