chia-blockchain 2.5.6rc2__py3-none-any.whl → 2.5.7__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 +252 -77
- 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 +9 -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 -33
- 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 +15 -16
- chia/full_node/mempool_manager.py +73 -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 +52 -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/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.7.dist-info}/METADATA +31 -31
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/RECORD +368 -240
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/WHEEL +1 -1
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.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.7.dist-info/licenses}/LICENSE +0 -0
|
@@ -25,6 +25,7 @@ from chia_rs.sized_ints import uint32, uint64, uint128
|
|
|
25
25
|
from chiabip158 import PyBIP158
|
|
26
26
|
from colorlog import getLogger
|
|
27
27
|
|
|
28
|
+
from chia._tests.conftest import ConsensusMode
|
|
28
29
|
from chia._tests.connection_utils import connect_and_get_peer, disconnect_all, disconnect_all_and_reconnect
|
|
29
30
|
from chia._tests.util.blockchain_mock import BlockchainMock
|
|
30
31
|
from chia._tests.util.misc import patch_request_handler, wallet_height_at_least
|
|
@@ -1702,6 +1703,11 @@ async def test_long_sync_untrusted_break(
|
|
|
1702
1703
|
@pytest.mark.anyio
|
|
1703
1704
|
@pytest.mark.parametrize("chain_length", [0, 100])
|
|
1704
1705
|
@pytest.mark.parametrize("fork_point", [500, 1500])
|
|
1706
|
+
# TODO: todo_v2_plots once we have new test chains, we can probably re-enable this
|
|
1707
|
+
@pytest.mark.limit_consensus_modes(
|
|
1708
|
+
allows=[ConsensusMode.PLAIN, ConsensusMode.HARD_FORK_2_0],
|
|
1709
|
+
reason="after plot-v1 phase-out, the chains aren't valid anymore",
|
|
1710
|
+
)
|
|
1705
1711
|
async def test_long_reorg_nodes_and_wallet(
|
|
1706
1712
|
chain_length: int,
|
|
1707
1713
|
fork_point: int,
|
|
@@ -21,7 +21,6 @@ from chia.protocols import wallet_protocol
|
|
|
21
21
|
from chia.protocols.outbound_message import Message, NodeType
|
|
22
22
|
from chia.protocols.protocol_message_types import ProtocolMessageTypes
|
|
23
23
|
from chia.protocols.shared_protocol import Capability
|
|
24
|
-
from chia.server.aliases import WalletService
|
|
25
24
|
from chia.server.ws_connection import WSChiaConnection
|
|
26
25
|
from chia.simulator import simulator_protocol
|
|
27
26
|
from chia.simulator.block_tools import BlockTools
|
|
@@ -30,6 +29,7 @@ from chia.simulator.start_simulator import SimulatorFullNodeService
|
|
|
30
29
|
from chia.types.coin_record import CoinRecord
|
|
31
30
|
from chia.types.mempool_inclusion_status import MempoolInclusionStatus
|
|
32
31
|
from chia.util.hash import std_hash
|
|
32
|
+
from chia.wallet.wallet_service import WalletService
|
|
33
33
|
|
|
34
34
|
IDENTITY_PUZZLE = Program.to(1)
|
|
35
35
|
IDENTITY_PUZZLE_HASH = IDENTITY_PUZZLE.get_tree_hash()
|
|
@@ -848,8 +848,8 @@ def test_signer_protocol_in(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
|
848
848
|
with open("some file", "wb") as file:
|
|
849
849
|
file.write(byte_serialize_clvm_streamable(coin, translation_layer=FOO_COIN_TRANSLATION))
|
|
850
850
|
|
|
851
|
-
with open("some file2", "wb") as
|
|
852
|
-
|
|
851
|
+
with open("some file2", "wb") as file2:
|
|
852
|
+
file2.write(byte_serialize_clvm_streamable(coin, translation_layer=FOO_COIN_TRANSLATION))
|
|
853
853
|
|
|
854
854
|
result = runner.invoke(
|
|
855
855
|
cmd, ["temp_cmd", "--signer-protocol-input", "some file", "--signer-protocol-input", "some file2"]
|
|
@@ -65,10 +65,9 @@ def satisfies_hint(obj: T, type_hint: type[T]) -> bool:
|
|
|
65
65
|
object_hint_pairs.extend((v, args[1]) for v in obj.values())
|
|
66
66
|
else:
|
|
67
67
|
raise NotImplementedError(f"Type {origin} is not yet supported")
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return False
|
|
68
|
+
# Handle concrete types
|
|
69
|
+
elif type(obj) is not type_hint:
|
|
70
|
+
return False
|
|
72
71
|
return True
|
|
73
72
|
|
|
74
73
|
|
|
@@ -11,6 +11,7 @@ from chia_rs.sized_ints import uint8, uint32, uint64
|
|
|
11
11
|
from chia._tests.util.db_connection import DBConnection
|
|
12
12
|
from chia.types.blockchain_format.coin import Coin
|
|
13
13
|
from chia.types.mempool_inclusion_status import MempoolInclusionStatus
|
|
14
|
+
from chia.util.bech32m import encode_puzzle_hash
|
|
14
15
|
from chia.util.errors import Err
|
|
15
16
|
from chia.wallet.conditions import ConditionValidTimes
|
|
16
17
|
from chia.wallet.transaction_record import TransactionRecord, TransactionRecordOld, minimum_send_attempts
|
|
@@ -32,7 +33,7 @@ coin_3 = Coin(bytes32.random(module_seeded_random), bytes32.random(module_seeded
|
|
|
32
33
|
tr1 = TransactionRecord(
|
|
33
34
|
uint32(0), # confirmed height
|
|
34
35
|
uint64(1000), # created_at_time
|
|
35
|
-
bytes32(bytes32.
|
|
36
|
+
bytes32(bytes32.zeros), # to_puzzle_hash
|
|
36
37
|
uint64(1234), # amount
|
|
37
38
|
uint64(12), # fee_amount
|
|
38
39
|
False, # confirmed
|
|
@@ -45,15 +46,21 @@ tr1 = TransactionRecord(
|
|
|
45
46
|
bytes32(bytes32.random(module_seeded_random)), # trade_id
|
|
46
47
|
uint32(TransactionType.OUTGOING_TX), # type
|
|
47
48
|
bytes32(bytes32.random(module_seeded_random)), # name
|
|
48
|
-
|
|
49
|
+
{}, # memos
|
|
49
50
|
ConditionValidTimes(),
|
|
51
|
+
encode_puzzle_hash(bytes32(bytes32.zeros), "txch"),
|
|
50
52
|
)
|
|
51
53
|
|
|
54
|
+
MINIMUM_CONFIG = {
|
|
55
|
+
"network_overrides": {"config": {"testnet": {"address_prefix": "txch"}}},
|
|
56
|
+
"selected_network": "testnet",
|
|
57
|
+
}
|
|
58
|
+
|
|
52
59
|
|
|
53
60
|
@pytest.mark.anyio
|
|
54
61
|
async def test_add() -> None:
|
|
55
62
|
async with DBConnection(1) as db_wrapper:
|
|
56
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
63
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
57
64
|
|
|
58
65
|
assert await store.get_transaction_record(tr1.name) is None
|
|
59
66
|
await store.add_transaction_record(tr1)
|
|
@@ -63,7 +70,7 @@ async def test_add() -> None:
|
|
|
63
70
|
@pytest.mark.anyio
|
|
64
71
|
async def test_delete() -> None:
|
|
65
72
|
async with DBConnection(1) as db_wrapper:
|
|
66
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
73
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
67
74
|
|
|
68
75
|
await store.add_transaction_record(tr1)
|
|
69
76
|
assert await store.get_transaction_record(tr1.name) == tr1
|
|
@@ -74,7 +81,7 @@ async def test_delete() -> None:
|
|
|
74
81
|
@pytest.mark.anyio
|
|
75
82
|
async def test_set_confirmed() -> None:
|
|
76
83
|
async with DBConnection(1) as db_wrapper:
|
|
77
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
84
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
78
85
|
|
|
79
86
|
await store.add_transaction_record(tr1)
|
|
80
87
|
await store.set_confirmed(tr1.name, uint32(100))
|
|
@@ -87,7 +94,7 @@ async def test_set_confirmed() -> None:
|
|
|
87
94
|
@pytest.mark.anyio
|
|
88
95
|
async def test_increment_sent_noop(seeded_random: random.Random) -> None:
|
|
89
96
|
async with DBConnection(1) as db_wrapper:
|
|
90
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
97
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
91
98
|
|
|
92
99
|
assert (
|
|
93
100
|
await store.increment_sent(
|
|
@@ -100,7 +107,7 @@ async def test_increment_sent_noop(seeded_random: random.Random) -> None:
|
|
|
100
107
|
@pytest.mark.anyio
|
|
101
108
|
async def test_increment_sent() -> None:
|
|
102
109
|
async with DBConnection(1) as db_wrapper:
|
|
103
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
110
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
104
111
|
|
|
105
112
|
await store.add_transaction_record(tr1)
|
|
106
113
|
tr = await store.get_transaction_record(tr1.name)
|
|
@@ -126,7 +133,7 @@ async def test_increment_sent() -> None:
|
|
|
126
133
|
@pytest.mark.anyio
|
|
127
134
|
async def test_increment_sent_error() -> None:
|
|
128
135
|
async with DBConnection(1) as db_wrapper:
|
|
129
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
136
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
130
137
|
|
|
131
138
|
await store.add_transaction_record(tr1)
|
|
132
139
|
tr = await store.get_transaction_record(tr1.name)
|
|
@@ -156,7 +163,7 @@ def test_filter_ok_mempool_status() -> None:
|
|
|
156
163
|
@pytest.mark.anyio
|
|
157
164
|
async def test_tx_reorged_update() -> None:
|
|
158
165
|
async with DBConnection(1) as db_wrapper:
|
|
159
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
166
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
160
167
|
|
|
161
168
|
tr = dataclasses.replace(tr1, sent=uint32(2), sent_to=[("peer1", uint8(1), None), ("peer2", uint8(1), None)])
|
|
162
169
|
await store.add_transaction_record(tr)
|
|
@@ -173,7 +180,7 @@ async def test_tx_reorged_update() -> None:
|
|
|
173
180
|
@pytest.mark.anyio
|
|
174
181
|
async def test_tx_reorged_add() -> None:
|
|
175
182
|
async with DBConnection(1) as db_wrapper:
|
|
176
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
183
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
177
184
|
|
|
178
185
|
tr = dataclasses.replace(tr1, sent=uint32(2), sent_to=[("peer1", uint8(1), None), ("peer2", uint8(1), None)])
|
|
179
186
|
|
|
@@ -187,7 +194,7 @@ async def test_tx_reorged_add() -> None:
|
|
|
187
194
|
@pytest.mark.anyio
|
|
188
195
|
async def test_get_tx_record(seeded_random: random.Random) -> None:
|
|
189
196
|
async with DBConnection(1) as db_wrapper:
|
|
190
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
197
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
191
198
|
|
|
192
199
|
tr2 = dataclasses.replace(tr1, name=bytes32.random(seeded_random))
|
|
193
200
|
tr3 = dataclasses.replace(tr1, name=bytes32.random(seeded_random))
|
|
@@ -212,7 +219,7 @@ async def test_get_tx_record(seeded_random: random.Random) -> None:
|
|
|
212
219
|
@pytest.mark.anyio
|
|
213
220
|
async def test_get_farming_rewards(seeded_random: random.Random) -> None:
|
|
214
221
|
async with DBConnection(1) as db_wrapper:
|
|
215
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
222
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
216
223
|
|
|
217
224
|
test_trs: list[TransactionRecord] = []
|
|
218
225
|
# tr1 is type OUTGOING_TX
|
|
@@ -249,7 +256,7 @@ async def test_get_farming_rewards(seeded_random: random.Random) -> None:
|
|
|
249
256
|
@pytest.mark.anyio
|
|
250
257
|
async def test_get_all_unconfirmed(seeded_random: random.Random) -> None:
|
|
251
258
|
async with DBConnection(1) as db_wrapper:
|
|
252
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
259
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
253
260
|
|
|
254
261
|
tr2 = dataclasses.replace(
|
|
255
262
|
tr1, name=bytes32.random(seeded_random), confirmed=True, confirmed_at_height=uint32(100)
|
|
@@ -263,7 +270,7 @@ async def test_get_all_unconfirmed(seeded_random: random.Random) -> None:
|
|
|
263
270
|
@pytest.mark.anyio
|
|
264
271
|
async def test_get_unconfirmed_for_wallet(seeded_random: random.Random) -> None:
|
|
265
272
|
async with DBConnection(1) as db_wrapper:
|
|
266
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
273
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
267
274
|
|
|
268
275
|
tr2 = dataclasses.replace(
|
|
269
276
|
tr1, name=bytes32.random(seeded_random), confirmed=True, confirmed_at_height=uint32(100)
|
|
@@ -282,7 +289,7 @@ async def test_get_unconfirmed_for_wallet(seeded_random: random.Random) -> None:
|
|
|
282
289
|
@pytest.mark.anyio
|
|
283
290
|
async def test_transaction_count_for_wallet(seeded_random: random.Random) -> None:
|
|
284
291
|
async with DBConnection(1) as db_wrapper:
|
|
285
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
292
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
286
293
|
|
|
287
294
|
tr2 = dataclasses.replace(tr1, name=bytes32.random(seeded_random), wallet_id=uint32(2))
|
|
288
295
|
|
|
@@ -322,7 +329,7 @@ async def test_transaction_count_for_wallet(seeded_random: random.Random) -> Non
|
|
|
322
329
|
@pytest.mark.anyio
|
|
323
330
|
async def test_all_transactions_for_wallet(seeded_random: random.Random) -> None:
|
|
324
331
|
async with DBConnection(1) as db_wrapper:
|
|
325
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
332
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
326
333
|
|
|
327
334
|
test_trs: list[TransactionRecord] = []
|
|
328
335
|
for wallet_id in [1, 2]:
|
|
@@ -373,7 +380,7 @@ def cmp(lhs: list[Any], rhs: list[Any]) -> bool:
|
|
|
373
380
|
@pytest.mark.anyio
|
|
374
381
|
async def test_get_all_transactions(seeded_random: random.Random) -> None:
|
|
375
382
|
async with DBConnection(1) as db_wrapper:
|
|
376
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
383
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
377
384
|
|
|
378
385
|
test_trs: list[TransactionRecord] = []
|
|
379
386
|
assert await store.get_all_transactions() == []
|
|
@@ -390,7 +397,7 @@ async def test_get_all_transactions(seeded_random: random.Random) -> None:
|
|
|
390
397
|
@pytest.mark.anyio
|
|
391
398
|
async def test_get_transaction_above(seeded_random: random.Random) -> None:
|
|
392
399
|
async with DBConnection(1) as db_wrapper:
|
|
393
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
400
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
394
401
|
|
|
395
402
|
test_trs: list[TransactionRecord] = []
|
|
396
403
|
assert await store.get_transaction_above(uint32(0)) == []
|
|
@@ -410,7 +417,7 @@ async def test_get_transaction_above(seeded_random: random.Random) -> None:
|
|
|
410
417
|
@pytest.mark.anyio
|
|
411
418
|
async def test_get_tx_by_trade_id(seeded_random: random.Random) -> None:
|
|
412
419
|
async with DBConnection(1) as db_wrapper:
|
|
413
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
420
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
414
421
|
|
|
415
422
|
tr2 = dataclasses.replace(tr1, name=bytes32.random(seeded_random), trade_id=bytes32.random(seeded_random))
|
|
416
423
|
tr3 = dataclasses.replace(tr1, name=bytes32.random(seeded_random), trade_id=bytes32.random(seeded_random))
|
|
@@ -442,7 +449,7 @@ async def test_get_tx_by_trade_id(seeded_random: random.Random) -> None:
|
|
|
442
449
|
@pytest.mark.anyio
|
|
443
450
|
async def test_rollback_to_block(seeded_random: random.Random) -> None:
|
|
444
451
|
async with DBConnection(1) as db_wrapper:
|
|
445
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
452
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
446
453
|
|
|
447
454
|
test_trs: list[TransactionRecord] = []
|
|
448
455
|
for height in range(10):
|
|
@@ -465,7 +472,7 @@ async def test_rollback_to_block(seeded_random: random.Random) -> None:
|
|
|
465
472
|
@pytest.mark.anyio
|
|
466
473
|
async def test_delete_unconfirmed(seeded_random: random.Random) -> None:
|
|
467
474
|
async with DBConnection(1) as db_wrapper:
|
|
468
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
475
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
469
476
|
|
|
470
477
|
tr2 = dataclasses.replace(tr1, name=bytes32.random(seeded_random), confirmed=True)
|
|
471
478
|
tr3 = dataclasses.replace(tr1, name=bytes32.random(seeded_random), confirmed=True, wallet_id=uint32(2))
|
|
@@ -493,7 +500,7 @@ async def test_delete_unconfirmed(seeded_random: random.Random) -> None:
|
|
|
493
500
|
@pytest.mark.anyio
|
|
494
501
|
async def test_get_transactions_between_confirmed(seeded_random: random.Random) -> None:
|
|
495
502
|
async with DBConnection(1) as db_wrapper:
|
|
496
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
503
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
497
504
|
|
|
498
505
|
tr2 = dataclasses.replace(
|
|
499
506
|
tr1, name=bytes32.random(seeded_random), confirmed=True, confirmed_at_height=uint32(1)
|
|
@@ -585,7 +592,7 @@ async def test_get_transactions_between_confirmed(seeded_random: random.Random)
|
|
|
585
592
|
@pytest.mark.anyio
|
|
586
593
|
async def test_get_transactions_between_relevance(seeded_random: random.Random) -> None:
|
|
587
594
|
async with DBConnection(1) as db_wrapper:
|
|
588
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
595
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
589
596
|
|
|
590
597
|
t1 = dataclasses.replace(
|
|
591
598
|
tr1,
|
|
@@ -716,22 +723,24 @@ async def test_get_transactions_between_relevance(seeded_random: random.Random)
|
|
|
716
723
|
@pytest.mark.anyio
|
|
717
724
|
async def test_get_transactions_between_to_puzzle_hash(seeded_random: random.Random) -> None:
|
|
718
725
|
async with DBConnection(1) as db_wrapper:
|
|
719
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
726
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
720
727
|
|
|
721
728
|
ph1 = bytes32.random(seeded_random)
|
|
729
|
+
ad1 = encode_puzzle_hash(ph1, "txch")
|
|
722
730
|
ph2 = bytes32.random(seeded_random)
|
|
731
|
+
ad2 = encode_puzzle_hash(ph2, "txch")
|
|
723
732
|
|
|
724
733
|
tr2 = dataclasses.replace(
|
|
725
|
-
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(1), to_puzzle_hash=ph1
|
|
734
|
+
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(1), to_puzzle_hash=ph1, to_address=ad1
|
|
726
735
|
)
|
|
727
736
|
tr3 = dataclasses.replace(
|
|
728
|
-
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(2), to_puzzle_hash=ph1
|
|
737
|
+
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(2), to_puzzle_hash=ph1, to_address=ad1
|
|
729
738
|
)
|
|
730
739
|
tr4 = dataclasses.replace(
|
|
731
|
-
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(3), to_puzzle_hash=ph2
|
|
740
|
+
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(3), to_puzzle_hash=ph2, to_address=ad2
|
|
732
741
|
)
|
|
733
742
|
tr5 = dataclasses.replace(
|
|
734
|
-
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(4), to_puzzle_hash=ph2
|
|
743
|
+
tr1, name=bytes32.random(seeded_random), confirmed_at_height=uint32(4), to_puzzle_hash=ph2, to_address=ad2
|
|
735
744
|
)
|
|
736
745
|
|
|
737
746
|
await store.add_transaction_record(tr1)
|
|
@@ -762,7 +771,7 @@ async def test_get_transactions_between_to_puzzle_hash(seeded_random: random.Ran
|
|
|
762
771
|
@pytest.mark.anyio
|
|
763
772
|
async def test_get_not_sent(seeded_random: random.Random) -> None:
|
|
764
773
|
async with DBConnection(1) as db_wrapper:
|
|
765
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
774
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
766
775
|
|
|
767
776
|
tr2 = dataclasses.replace(
|
|
768
777
|
tr1, name=bytes32.random(seeded_random), confirmed=True, confirmed_at_height=uint32(1)
|
|
@@ -859,7 +868,7 @@ async def test_valid_times_migration() -> None:
|
|
|
859
868
|
trade_id=None,
|
|
860
869
|
type=uint32(TransactionType.INCOMING_TX.value),
|
|
861
870
|
name=bytes32.zeros,
|
|
862
|
-
memos=
|
|
871
|
+
memos={},
|
|
863
872
|
)
|
|
864
873
|
|
|
865
874
|
async with db_wrapper.writer_maybe_transaction() as conn:
|
|
@@ -881,7 +890,7 @@ async def test_valid_times_migration() -> None:
|
|
|
881
890
|
),
|
|
882
891
|
)
|
|
883
892
|
|
|
884
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
893
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
885
894
|
rec = await store.get_transaction_record(old_record.name)
|
|
886
895
|
assert rec is not None
|
|
887
896
|
assert rec.valid_times == ConditionValidTimes()
|
|
@@ -890,7 +899,7 @@ async def test_valid_times_migration() -> None:
|
|
|
890
899
|
@pytest.mark.anyio
|
|
891
900
|
async def test_large_tx_record_query() -> None:
|
|
892
901
|
async with DBConnection(1) as db_wrapper:
|
|
893
|
-
store = await WalletTransactionStore.create(db_wrapper)
|
|
902
|
+
store = await WalletTransactionStore.create(db_wrapper, MINIMUM_CONFIG)
|
|
894
903
|
tx_records_to_insert = []
|
|
895
904
|
for _ in range(db_wrapper.host_parameter_limit + 1):
|
|
896
905
|
name = bytes32.random()
|
|
@@ -910,7 +919,7 @@ async def test_large_tx_record_query() -> None:
|
|
|
910
919
|
trade_id=None,
|
|
911
920
|
type=uint32(TransactionType.INCOMING_TX.value),
|
|
912
921
|
name=name,
|
|
913
|
-
memos=
|
|
922
|
+
memos={},
|
|
914
923
|
)
|
|
915
924
|
tx_records_to_insert.append(
|
|
916
925
|
(
|
|
@@ -19,6 +19,7 @@ from chia.types.blockchain_format.program import Program
|
|
|
19
19
|
from chia.types.peer_info import PeerInfo
|
|
20
20
|
from chia.types.signing_mode import CHIP_0002_SIGN_MESSAGE_PREFIX
|
|
21
21
|
from chia.util.bech32m import encode_puzzle_hash
|
|
22
|
+
from chia.util.byte_types import hexstr_to_bytes
|
|
22
23
|
from chia.util.errors import Err
|
|
23
24
|
from chia.wallet.conditions import ConditionValidTimes
|
|
24
25
|
from chia.wallet.derive_keys import master_sk_to_wallet_sk
|
|
@@ -395,9 +396,7 @@ class TestWalletSimulator:
|
|
|
395
396
|
assert len(txs["transactions"]) == 1
|
|
396
397
|
assert not txs["transactions"][0]["confirmed"]
|
|
397
398
|
assert txs["transactions"][0]["metadata"]["recipient_puzzle_hash"][2:] == normal_puzhash.hex()
|
|
398
|
-
assert txs["transactions"][0]["metadata"]["coin_id"] == merkle_coin.name().hex()
|
|
399
|
-
with pytest.raises(ValueError):
|
|
400
|
-
await api_0.spend_clawback_coins({})
|
|
399
|
+
assert txs["transactions"][0]["metadata"]["coin_id"] == "0x" + merkle_coin.name().hex()
|
|
401
400
|
|
|
402
401
|
test_fee = 10
|
|
403
402
|
resp = await api_0.spend_clawback_coins(
|
|
@@ -407,7 +406,6 @@ class TestWalletSimulator:
|
|
|
407
406
|
**wallet_environments.tx_config.to_json_dict(),
|
|
408
407
|
}
|
|
409
408
|
)
|
|
410
|
-
assert resp["success"]
|
|
411
409
|
assert len(resp["transaction_ids"]) == 1
|
|
412
410
|
|
|
413
411
|
await wallet_environments.process_pending_states(
|
|
@@ -540,7 +538,6 @@ class TestWalletSimulator:
|
|
|
540
538
|
**wallet_environments.tx_config.to_json_dict(),
|
|
541
539
|
}
|
|
542
540
|
)
|
|
543
|
-
assert resp["success"]
|
|
544
541
|
assert len(resp["transaction_ids"]) == 1
|
|
545
542
|
# Wait mempool update
|
|
546
543
|
await wallet_environments.process_pending_states(
|
|
@@ -587,7 +584,7 @@ class TestWalletSimulator:
|
|
|
587
584
|
assert txs["transactions"][0]["confirmed"]
|
|
588
585
|
assert txs["transactions"][1]["confirmed"]
|
|
589
586
|
assert txs["transactions"][0]["memos"] != txs["transactions"][1]["memos"]
|
|
590
|
-
assert next(iter(txs["transactions"][0]["memos"].values()))
|
|
587
|
+
assert "0x" + b"Test".hex() in next(iter(txs["transactions"][0]["memos"].values()))
|
|
591
588
|
|
|
592
589
|
@pytest.mark.parametrize(
|
|
593
590
|
"wallet_environments",
|
|
@@ -677,7 +674,6 @@ class TestWalletSimulator:
|
|
|
677
674
|
**wallet_environments.tx_config.to_json_dict(),
|
|
678
675
|
}
|
|
679
676
|
)
|
|
680
|
-
assert resp["success"]
|
|
681
677
|
assert len(resp["transaction_ids"]) == 1
|
|
682
678
|
|
|
683
679
|
await wallet_environments.process_pending_states(
|
|
@@ -1093,10 +1089,8 @@ class TestWalletSimulator:
|
|
|
1093
1089
|
await time_out_assert(20, wsm_2.coin_store.count_small_unspent, 1, 1000, CoinType.CLAWBACK)
|
|
1094
1090
|
# clawback merkle coin
|
|
1095
1091
|
resp = await api_1.spend_clawback_coins({"coin_ids": [clawback_coin_id_1.hex()], "fee": 0})
|
|
1096
|
-
assert resp["success"]
|
|
1097
1092
|
assert len(resp["transaction_ids"]) == 1
|
|
1098
1093
|
resp = await api_1.spend_clawback_coins({"coin_ids": [clawback_coin_id_2.hex()], "fee": 0})
|
|
1099
|
-
assert resp["success"]
|
|
1100
1094
|
assert len(resp["transaction_ids"]) == 1
|
|
1101
1095
|
|
|
1102
1096
|
await wallet_environments.process_pending_states(
|
|
@@ -1542,9 +1536,9 @@ class TestWalletSimulator:
|
|
|
1542
1536
|
fees = estimate_fees(tx.spend_bundle)
|
|
1543
1537
|
assert fees == tx_fee
|
|
1544
1538
|
|
|
1545
|
-
|
|
1546
|
-
assert len(
|
|
1547
|
-
assert
|
|
1539
|
+
memo_response = await env_0.rpc_client.get_transaction_memo(GetTransactionMemo(transaction_id=tx.name))
|
|
1540
|
+
assert len(memo_response.memo_dict) == 1
|
|
1541
|
+
assert next(iter(memo_response.memo_dict.values()))[0] == ph_2
|
|
1548
1542
|
|
|
1549
1543
|
await wallet_environments.process_pending_states(
|
|
1550
1544
|
[
|
|
@@ -1589,13 +1583,9 @@ class TestWalletSimulator:
|
|
|
1589
1583
|
if coin.amount == tx_amount:
|
|
1590
1584
|
tx_id = coin.name()
|
|
1591
1585
|
assert tx_id is not None
|
|
1592
|
-
|
|
1593
|
-
assert len(
|
|
1594
|
-
assert
|
|
1595
|
-
# test json serialization
|
|
1596
|
-
assert memos.to_json_dict() == {
|
|
1597
|
-
tx_id.hex(): {memos.coins_with_memos[0].coin_id.hex(): [memos.coins_with_memos[0].memos[0].hex()]}
|
|
1598
|
-
}
|
|
1586
|
+
memo_response = await env_1.rpc_client.get_transaction_memo(GetTransactionMemo(transaction_id=tx_id))
|
|
1587
|
+
assert len(memo_response.memo_dict) == 1
|
|
1588
|
+
assert next(iter(memo_response.memo_dict.values()))[0] == ph_2
|
|
1599
1589
|
|
|
1600
1590
|
@pytest.mark.parametrize(
|
|
1601
1591
|
"wallet_environments",
|
|
@@ -1721,6 +1711,7 @@ class TestWalletSimulator:
|
|
|
1721
1711
|
confirmed_at_height=uint32(0),
|
|
1722
1712
|
created_at_time=uint64(0),
|
|
1723
1713
|
to_puzzle_hash=bytes32(32 * b"0"),
|
|
1714
|
+
to_address=encode_puzzle_hash(bytes32(32 * b"0"), "txch"),
|
|
1724
1715
|
amount=uint64(0),
|
|
1725
1716
|
fee_amount=uint64(0),
|
|
1726
1717
|
confirmed=False,
|
|
@@ -1733,7 +1724,7 @@ class TestWalletSimulator:
|
|
|
1733
1724
|
trade_id=None,
|
|
1734
1725
|
type=uint32(TransactionType.OUTGOING_TX.value),
|
|
1735
1726
|
name=name,
|
|
1736
|
-
memos=
|
|
1727
|
+
memos={},
|
|
1737
1728
|
valid_times=ConditionValidTimes(),
|
|
1738
1729
|
)
|
|
1739
1730
|
[stolen_tx] = await wallet.wallet_state_manager.add_pending_transactions([stolen_tx])
|
|
@@ -2011,9 +2002,9 @@ class TestWalletSimulator:
|
|
|
2011
2002
|
puzzle: Program = Program.to((CHIP_0002_SIGN_MESSAGE_PREFIX, message))
|
|
2012
2003
|
|
|
2013
2004
|
assert AugSchemeMPL.verify(
|
|
2014
|
-
G1Element.from_bytes(
|
|
2005
|
+
G1Element.from_bytes(hexstr_to_bytes(response["pubkey"])),
|
|
2015
2006
|
puzzle.get_tree_hash(),
|
|
2016
|
-
G2Element.from_bytes(
|
|
2007
|
+
G2Element.from_bytes(hexstr_to_bytes(response["signature"])),
|
|
2017
2008
|
)
|
|
2018
2009
|
# Test hex string
|
|
2019
2010
|
message = "0123456789ABCDEF"
|
|
@@ -2023,9 +2014,9 @@ class TestWalletSimulator:
|
|
|
2023
2014
|
puzzle = Program.to((CHIP_0002_SIGN_MESSAGE_PREFIX, bytes.fromhex(message)))
|
|
2024
2015
|
|
|
2025
2016
|
assert AugSchemeMPL.verify(
|
|
2026
|
-
G1Element.from_bytes(
|
|
2017
|
+
G1Element.from_bytes(hexstr_to_bytes(response["pubkey"])),
|
|
2027
2018
|
puzzle.get_tree_hash(),
|
|
2028
|
-
G2Element.from_bytes(
|
|
2019
|
+
G2Element.from_bytes(hexstr_to_bytes(response["signature"])),
|
|
2029
2020
|
)
|
|
2030
2021
|
# Test informal input
|
|
2031
2022
|
message = "0123456789ABCDEF"
|
|
@@ -2035,9 +2026,9 @@ class TestWalletSimulator:
|
|
|
2035
2026
|
puzzle = Program.to((CHIP_0002_SIGN_MESSAGE_PREFIX, bytes.fromhex(message)))
|
|
2036
2027
|
|
|
2037
2028
|
assert AugSchemeMPL.verify(
|
|
2038
|
-
G1Element.from_bytes(
|
|
2029
|
+
G1Element.from_bytes(hexstr_to_bytes(response["pubkey"])),
|
|
2039
2030
|
puzzle.get_tree_hash(),
|
|
2040
|
-
G2Element.from_bytes(
|
|
2031
|
+
G2Element.from_bytes(hexstr_to_bytes(response["signature"])),
|
|
2041
2032
|
)
|
|
2042
2033
|
# Test BLS sign string
|
|
2043
2034
|
message = "Hello World"
|
|
@@ -2046,9 +2037,9 @@ class TestWalletSimulator:
|
|
|
2046
2037
|
)
|
|
2047
2038
|
|
|
2048
2039
|
assert AugSchemeMPL.verify(
|
|
2049
|
-
G1Element.from_bytes(
|
|
2040
|
+
G1Element.from_bytes(hexstr_to_bytes(response["pubkey"])),
|
|
2050
2041
|
bytes(message, "utf-8"),
|
|
2051
|
-
G2Element.from_bytes(
|
|
2042
|
+
G2Element.from_bytes(hexstr_to_bytes(response["signature"])),
|
|
2052
2043
|
)
|
|
2053
2044
|
# Test BLS sign hex
|
|
2054
2045
|
message = "0123456789ABCDEF"
|
|
@@ -2057,9 +2048,9 @@ class TestWalletSimulator:
|
|
|
2057
2048
|
)
|
|
2058
2049
|
|
|
2059
2050
|
assert AugSchemeMPL.verify(
|
|
2060
|
-
G1Element.from_bytes(
|
|
2061
|
-
|
|
2062
|
-
G2Element.from_bytes(
|
|
2051
|
+
G1Element.from_bytes(hexstr_to_bytes(response["pubkey"])),
|
|
2052
|
+
hexstr_to_bytes(message),
|
|
2053
|
+
G2Element.from_bytes(hexstr_to_bytes(response["signature"])),
|
|
2063
2054
|
)
|
|
2064
2055
|
|
|
2065
2056
|
@pytest.mark.parametrize(
|
|
@@ -21,7 +21,7 @@ from chia.wallet.derive_keys import master_sk_to_wallet_sk, master_sk_to_wallet_
|
|
|
21
21
|
from chia.wallet.transaction_record import TransactionRecord
|
|
22
22
|
from chia.wallet.util.transaction_type import TransactionType
|
|
23
23
|
from chia.wallet.util.wallet_types import WalletType
|
|
24
|
-
from chia.wallet.wallet_request_types import PushTransactions
|
|
24
|
+
from chia.wallet.wallet_request_types import ExtendDerivationIndex, PushTransactions
|
|
25
25
|
from chia.wallet.wallet_rpc_api import MAX_DERIVATION_INDEX_DELTA
|
|
26
26
|
from chia.wallet.wallet_spend_bundle import WalletSpendBundle
|
|
27
27
|
from chia.wallet.wallet_state_manager import WalletStateManager
|
|
@@ -286,6 +286,11 @@ async def test_puzzle_hash_requests(wallet_environments: WalletTestFramework) ->
|
|
|
286
286
|
|
|
287
287
|
expected_state = await get_puzzle_hash_state()
|
|
288
288
|
|
|
289
|
+
# Quick test of this RPC
|
|
290
|
+
assert (
|
|
291
|
+
await wallet_environments.environments[0].rpc_client.get_current_derivation_index()
|
|
292
|
+
).index == expected_state.highest_index
|
|
293
|
+
|
|
289
294
|
# `create_more_puzzle_hashes`
|
|
290
295
|
# No-op
|
|
291
296
|
result = await wsm.create_more_puzzle_hashes()
|
|
@@ -420,7 +425,7 @@ async def test_puzzle_hash_requests(wallet_environments: WalletTestFramework) ->
|
|
|
420
425
|
(0,),
|
|
421
426
|
)
|
|
422
427
|
with pytest.raises(ValueError):
|
|
423
|
-
await rpc_client.extend_derivation_index(0)
|
|
428
|
+
await rpc_client.extend_derivation_index(ExtendDerivationIndex(uint32(0)))
|
|
424
429
|
|
|
425
430
|
# Reset to a normal state
|
|
426
431
|
await wsm.puzzle_store.delete_wallet(wsm.main_wallet.id())
|
|
@@ -431,15 +436,17 @@ async def test_puzzle_hash_requests(wallet_environments: WalletTestFramework) ->
|
|
|
431
436
|
|
|
432
437
|
# Test an index already created
|
|
433
438
|
with pytest.raises(ValueError):
|
|
434
|
-
await rpc_client.extend_derivation_index(0)
|
|
439
|
+
await rpc_client.extend_derivation_index(ExtendDerivationIndex(uint32(0)))
|
|
435
440
|
|
|
436
441
|
# Test an index too far in the future
|
|
437
442
|
with pytest.raises(ValueError):
|
|
438
|
-
await rpc_client.extend_derivation_index(
|
|
443
|
+
await rpc_client.extend_derivation_index(
|
|
444
|
+
ExtendDerivationIndex(uint32(MAX_DERIVATION_INDEX_DELTA + expected_state.highest_index + 1))
|
|
445
|
+
)
|
|
439
446
|
|
|
440
447
|
# Test the actual functionality
|
|
441
|
-
assert
|
|
442
|
-
expected_state.highest_index + 5
|
|
443
|
-
)
|
|
448
|
+
assert (
|
|
449
|
+
await rpc_client.extend_derivation_index(ExtendDerivationIndex(uint32(expected_state.highest_index + 5)))
|
|
450
|
+
).index == expected_state.highest_index + 5
|
|
444
451
|
expected_state = PuzzleHashState(expected_state.highest_index + 5, expected_state.used_up_to_index)
|
|
445
452
|
assert await get_puzzle_hash_state() == expected_state
|