chia-blockchain 2.5.6rc2__py3-none-any.whl → 2.5.7rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chia/_tests/blockchain/blockchain_test_utils.py +6 -7
- chia/_tests/blockchain/test_augmented_chain.py +4 -3
- chia/_tests/blockchain/test_blockchain.py +10 -5
- chia/_tests/clvm/coin_store.py +1 -1
- chia/_tests/cmds/cmd_test_utils.py +84 -97
- chia/_tests/cmds/test_dev_gh.py +1 -1
- chia/_tests/cmds/test_farm_cmd.py +56 -2
- chia/_tests/cmds/wallet/test_consts.py +3 -1
- chia/_tests/cmds/wallet/test_did.py +3 -8
- chia/_tests/cmds/wallet/test_nft.py +6 -6
- chia/_tests/cmds/wallet/test_notifications.py +39 -21
- chia/_tests/cmds/wallet/test_vcs.py +2 -1
- chia/_tests/cmds/wallet/test_wallet.py +160 -136
- chia/_tests/conftest.py +51 -26
- chia/_tests/core/cmds/test_wallet.py +4 -3
- chia/_tests/core/consensus/test_pot_iterations.py +71 -24
- chia/_tests/core/custom_types/test_proof_of_space.py +60 -30
- chia/_tests/core/custom_types/test_spend_bundle.py +1 -4
- chia/_tests/core/data_layer/conftest.py +7 -2
- chia/_tests/core/data_layer/old_format/__init__.py +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-delta-23-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-full-23-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-delta-9-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-full-9-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-delta-5-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-full-5-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-delta-22-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-full-22-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-delta-1-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-full-1-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-delta-2-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-full-2-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-delta-29-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-full-29-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-delta-28-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-full-28-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-delta-7-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-full-7-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-delta-19-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-full-19-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-delta-10-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-full-10-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-delta-17-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-full-17-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-delta-20-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-full-20-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-delta-31-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-full-31-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-delta-40-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-full-40-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-delta-49-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-full-49-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-delta-14-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-full-14-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-delta-34-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-full-34-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-delta-8-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-full-8-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-delta-45-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-full-45-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-delta-6-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-full-6-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-delta-48-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-full-48-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-delta-26-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-full-26-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-delta-3-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-full-3-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-delta-25-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-full-25-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-delta-35-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-full-35-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-delta-4-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-full-4-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-delta-41-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-full-41-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-delta-21-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-full-21-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-delta-42-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-full-42-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-delta-38-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-full-38-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-delta-11-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-full-11-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-delta-32-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-full-32-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-delta-33-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-full-33-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-delta-47-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-full-47-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-delta-50-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-full-50-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-delta-24-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-full-24-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-delta-44-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-full-44-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-delta-16-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-full-16-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-delta-13-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-full-13-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-delta-39-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-full-39-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-delta-36-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-full-36-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-delta-18-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-full-18-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-delta-37-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-full-37-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-delta-15-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-full-15-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-delta-46-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-full-46-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-delta-27-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-full-27-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-delta-12-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-full-12-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-delta-30-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-full-30-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-delta-43-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-full-43-v1.0.dat +0 -0
- chia/_tests/core/data_layer/old_format/files/__init__.py +0 -0
- chia/_tests/core/data_layer/old_format/old_db.sqlite +0 -0
- chia/_tests/core/data_layer/test_data_layer_util.py +18 -21
- chia/_tests/core/data_layer/test_data_rpc.py +77 -28
- chia/_tests/core/data_layer/test_data_store.py +637 -700
- chia/_tests/core/data_layer/test_data_store_schema.py +2 -209
- chia/_tests/core/full_node/ram_db.py +1 -1
- chia/_tests/core/full_node/stores/test_block_store.py +4 -10
- chia/_tests/core/full_node/stores/test_coin_store.py +1 -1
- chia/_tests/core/full_node/test_address_manager.py +3 -3
- chia/_tests/core/full_node/test_block_height_map.py +1 -1
- chia/_tests/core/full_node/test_full_node.py +91 -30
- chia/_tests/core/full_node/test_generator_tools.py +17 -10
- chia/_tests/core/mempool/test_mempool.py +190 -90
- chia/_tests/core/mempool/test_mempool_fee_estimator.py +2 -4
- chia/_tests/core/mempool/test_mempool_item_queries.py +1 -1
- chia/_tests/core/mempool/test_mempool_manager.py +134 -75
- chia/_tests/core/mempool/test_singleton_fast_forward.py +9 -27
- chia/_tests/core/server/serve.py +0 -2
- chia/_tests/core/server/test_rate_limits.py +400 -347
- chia/_tests/core/server/test_server.py +2 -2
- chia/_tests/core/services/test_services.py +7 -7
- chia/_tests/core/test_cost_calculation.py +31 -10
- chia/_tests/core/test_crawler.py +4 -4
- chia/_tests/core/test_db_conversion.py +7 -14
- chia/_tests/core/test_db_validation.py +2 -6
- chia/_tests/core/test_farmer_harvester_rpc.py +34 -1
- chia/_tests/core/test_full_node_rpc.py +28 -24
- chia/_tests/core/test_merkle_set.py +1 -4
- chia/_tests/core/test_seeder.py +1 -1
- chia/_tests/core/util/test_keychain.py +2 -2
- chia/_tests/core/util/test_lru_cache.py +16 -0
- chia/_tests/core/util/test_streamable.py +85 -4
- chia/_tests/environments/wallet.py +4 -1
- chia/_tests/farmer_harvester/test_farmer.py +8 -6
- chia/_tests/farmer_harvester/test_farmer_harvester.py +306 -8
- chia/_tests/farmer_harvester/test_filter_prefix_bits.py +3 -3
- chia/_tests/farmer_harvester/test_third_party_harvesters.py +11 -11
- chia/_tests/fee_estimation/test_fee_estimation_integration.py +2 -2
- chia/_tests/fee_estimation/test_fee_estimation_rpc.py +1 -1
- chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +1 -2
- chia/_tests/generator/test_rom.py +2 -1
- chia/_tests/harvester/__init__.py +0 -0
- chia/_tests/harvester/config.py +4 -0
- chia/_tests/harvester/test_harvester_api.py +157 -0
- chia/_tests/plot_sync/test_plot_sync.py +6 -3
- chia/_tests/plot_sync/test_receiver.py +16 -4
- chia/_tests/plot_sync/test_sender.py +8 -7
- chia/_tests/plot_sync/test_sync_simulated.py +15 -13
- chia/_tests/plot_sync/util.py +3 -2
- chia/_tests/plotting/test_plot_manager.py +21 -5
- chia/_tests/plotting/test_prover.py +106 -0
- chia/_tests/pools/test_pool_cmdline.py +7 -6
- chia/_tests/pools/test_pool_puzzles_lifecycle.py +10 -3
- chia/_tests/pools/test_pool_rpc.py +92 -64
- chia/_tests/solver/__init__.py +0 -0
- chia/_tests/solver/config.py +4 -0
- chia/_tests/solver/test_solver_service.py +29 -0
- chia/_tests/timelord/test_new_peak.py +1 -1
- chia/_tests/timelord/test_timelord.py +1 -1
- chia/_tests/util/benchmarks.py +5 -12
- chia/_tests/util/blockchain.py +1 -1
- chia/_tests/util/build_network_protocol_files.py +7 -0
- chia/_tests/util/network_protocol_data.py +26 -0
- chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
- chia/_tests/util/protocol_messages_json.py +19 -0
- chia/_tests/util/setup_nodes.py +21 -2
- chia/_tests/util/spend_sim.py +9 -3
- chia/_tests/util/test_condition_tools.py +3 -2
- chia/_tests/util/test_full_block_utils.py +10 -9
- chia/_tests/util/test_misc.py +10 -10
- chia/_tests/util/test_network.py +32 -1
- chia/_tests/util/test_network_protocol_files.py +333 -318
- chia/_tests/util/test_network_protocol_json.py +6 -0
- chia/_tests/util/test_network_protocol_test.py +27 -0
- chia/_tests/util/test_priority_mutex.py +1 -1
- chia/_tests/util/test_replace_str_to_bytes.py +6 -6
- chia/_tests/wallet/cat_wallet/test_cat_wallet.py +17 -13
- chia/_tests/wallet/cat_wallet/test_trades.py +55 -55
- chia/_tests/wallet/did_wallet/test_did.py +118 -1229
- chia/_tests/wallet/nft_wallet/config.py +1 -1
- chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +73 -96
- chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +15 -12
- chia/_tests/wallet/nft_wallet/test_nft_offers.py +67 -134
- chia/_tests/wallet/nft_wallet/test_nft_wallet.py +31 -26
- chia/_tests/wallet/rpc/test_wallet_rpc.py +765 -371
- chia/_tests/wallet/sync/test_wallet_sync.py +6 -0
- chia/_tests/wallet/test_new_wallet_protocol.py +1 -1
- chia/_tests/wallet/test_signer_protocol.py +2 -2
- chia/_tests/wallet/test_singleton_lifecycle_fast.py +3 -4
- chia/_tests/wallet/test_transaction_store.py +42 -33
- chia/_tests/wallet/test_wallet.py +22 -31
- chia/_tests/wallet/test_wallet_state_manager.py +14 -7
- chia/_tests/wallet/vc_wallet/test_vc_wallet.py +53 -32
- chia/apis.py +2 -0
- chia/cmds/beta.py +7 -3
- chia/cmds/chia.py +2 -0
- chia/cmds/cmd_classes.py +11 -27
- chia/cmds/cmds_util.py +3 -0
- chia/cmds/coin_funcs.py +27 -22
- chia/cmds/configure.py +42 -18
- chia/cmds/dev/data.py +22 -3
- chia/cmds/farm.py +32 -0
- chia/cmds/farm_funcs.py +54 -5
- chia/cmds/init_funcs.py +4 -0
- chia/cmds/keys_funcs.py +8 -10
- chia/cmds/peer_funcs.py +8 -10
- chia/cmds/plotnft_funcs.py +24 -16
- chia/cmds/rpc.py +11 -1
- chia/cmds/show_funcs.py +5 -5
- chia/cmds/solver.py +33 -0
- chia/cmds/solver_funcs.py +21 -0
- chia/cmds/wallet.py +1 -1
- chia/cmds/wallet_funcs.py +149 -96
- chia/consensus/block_body_validation.py +8 -9
- chia/consensus/block_creation.py +9 -10
- chia/consensus/block_header_validation.py +61 -69
- chia/{full_node → consensus}/block_height_map.py +2 -1
- chia/consensus/block_height_map_protocol.py +21 -0
- chia/consensus/block_rewards.py +12 -12
- chia/consensus/blockchain.py +8 -18
- chia/consensus/default_constants.py +6 -6
- chia/consensus/generator_tools.py +1 -1
- chia/consensus/get_block_challenge.py +24 -25
- chia/consensus/pos_quality.py +28 -2
- chia/consensus/pot_iterations.py +15 -17
- chia/daemon/keychain_proxy.py +5 -0
- chia/daemon/server.py +2 -3
- chia/data_layer/data_layer.py +32 -24
- chia/data_layer/data_layer_errors.py +5 -0
- chia/data_layer/data_layer_rpc_api.py +1 -1
- chia/data_layer/data_layer_service.py +8 -0
- chia/data_layer/data_layer_util.py +49 -89
- chia/data_layer/data_layer_wallet.py +20 -17
- chia/data_layer/data_store.py +1051 -1462
- chia/data_layer/download_data.py +44 -115
- chia/{server → data_layer}/start_data_layer.py +2 -1
- chia/data_layer/util/benchmark.py +38 -53
- chia/farmer/farmer.py +3 -0
- chia/farmer/farmer_api.py +104 -5
- chia/farmer/farmer_rpc_api.py +20 -0
- chia/farmer/farmer_rpc_client.py +6 -2
- chia/farmer/farmer_service.py +8 -0
- chia/{server → farmer}/start_farmer.py +4 -3
- chia/full_node/block_store.py +20 -10
- chia/full_node/coin_store.py +12 -4
- chia/full_node/eligible_coin_spends.py +17 -72
- chia/full_node/full_node.py +68 -71
- chia/full_node/full_node_api.py +26 -32
- chia/full_node/full_node_rpc_api.py +44 -32
- chia/full_node/full_node_rpc_client.py +67 -79
- chia/full_node/full_node_service.py +8 -0
- chia/full_node/full_node_store.py +5 -3
- chia/full_node/mempool.py +14 -14
- chia/full_node/mempool_manager.py +67 -89
- chia/{server → full_node}/start_full_node.py +1 -1
- chia/full_node/subscriptions.py +2 -2
- chia/full_node/weight_proof.py +14 -15
- chia/harvester/harvester.py +8 -1
- chia/harvester/harvester_api.py +178 -44
- chia/harvester/harvester_service.py +8 -0
- chia/{server → harvester}/start_harvester.py +1 -1
- chia/introducer/introducer_service.py +8 -0
- chia/{server → introducer}/start_introducer.py +1 -1
- chia/plot_sync/receiver.py +6 -1
- chia/plot_sync/sender.py +7 -4
- chia/plotting/cache.py +37 -28
- chia/plotting/check_plots.py +83 -48
- chia/plotting/create_plots.py +3 -4
- chia/plotting/manager.py +18 -13
- chia/plotting/prover.py +153 -0
- chia/plotting/util.py +14 -6
- chia/pools/pool_wallet.py +6 -4
- chia/protocols/harvester_protocol.py +14 -0
- chia/protocols/outbound_message.py +1 -0
- chia/protocols/pool_protocol.py +1 -1
- chia/protocols/protocol_message_types.py +7 -0
- chia/protocols/shared_protocol.py +2 -0
- chia/protocols/solver_protocol.py +18 -0
- chia/rpc/rpc_server.py +1 -1
- chia/seeder/crawl_store.py +4 -8
- chia/seeder/crawler.py +2 -2
- chia/seeder/crawler_service.py +8 -0
- chia/seeder/start_crawler.py +1 -1
- chia/server/address_manager.py +12 -15
- chia/server/introducer_peers.py +1 -1
- chia/server/node_discovery.py +9 -10
- chia/server/rate_limit_numbers.py +157 -168
- chia/server/rate_limits.py +44 -41
- chia/server/resolve_peer_info.py +5 -0
- chia/server/server.py +17 -7
- chia/server/start_service.py +0 -1
- chia/simulator/block_tools.py +92 -58
- chia/simulator/full_node_simulator.py +1 -1
- chia/simulator/setup_services.py +51 -15
- chia/solver/__init__.py +0 -0
- chia/solver/solver.py +100 -0
- chia/solver/solver_api.py +59 -0
- chia/solver/solver_rpc_api.py +31 -0
- chia/solver/solver_rpc_client.py +16 -0
- chia/solver/solver_service.py +8 -0
- chia/solver/start_solver.py +102 -0
- {mozilla-ca → chia/ssl}/cacert.pem +0 -27
- chia/ssl/create_ssl.py +3 -2
- chia/{server → timelord}/start_timelord.py +1 -1
- chia/timelord/timelord.py +12 -13
- chia/timelord/timelord_service.py +8 -0
- chia/types/blockchain_format/proof_of_space.py +61 -17
- chia/types/coin_spend.py +0 -8
- chia/types/internal_mempool_item.py +3 -3
- chia/types/mempool_item.py +15 -8
- chia/types/mempool_submission_status.py +1 -1
- chia/util/config.py +1 -3
- chia/util/db_wrapper.py +7 -8
- chia/util/initial-config.yaml +46 -0
- chia/util/lru_cache.py +8 -4
- chia/util/network.py +9 -0
- chia/util/service_groups.py +3 -1
- chia/util/streamable.py +38 -8
- chia/util/virtual_project_analysis.py +1 -1
- chia/wallet/cat_wallet/cat_outer_puzzle.py +7 -4
- chia/wallet/cat_wallet/cat_wallet.py +13 -7
- chia/wallet/cat_wallet/r_cat_wallet.py +4 -1
- chia/wallet/conditions.py +1 -3
- chia/wallet/did_wallet/did_wallet.py +27 -332
- chia/wallet/nft_wallet/nft_puzzle_utils.py +1 -1
- chia/wallet/nft_wallet/nft_wallet.py +9 -7
- chia/wallet/puzzle_drivers.py +7 -8
- chia/{server → wallet}/start_wallet.py +1 -1
- chia/wallet/trade_manager.py +12 -9
- chia/wallet/transaction_record.py +14 -51
- chia/wallet/util/clvm_streamable.py +28 -41
- chia/wallet/util/merkle_utils.py +2 -2
- chia/wallet/util/tx_config.py +3 -6
- chia/wallet/vc_wallet/cr_cat_wallet.py +12 -6
- chia/wallet/vc_wallet/vc_wallet.py +13 -15
- chia/wallet/wallet.py +5 -3
- chia/wallet/wallet_node.py +25 -30
- chia/wallet/wallet_request_types.py +538 -101
- chia/wallet/wallet_rpc_api.py +398 -570
- chia/wallet/wallet_rpc_client.py +144 -332
- chia/wallet/wallet_service.py +8 -0
- chia/wallet/wallet_state_manager.py +53 -42
- chia/wallet/wallet_transaction_store.py +13 -5
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/METADATA +31 -31
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/RECORD +369 -241
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/WHEEL +1 -1
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/entry_points.txt +8 -7
- chia/full_node/mempool_check_conditions.py +0 -102
- chia/server/aliases.py +0 -35
- {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info/licenses}/LICENSE +0 -0
chia/cmds/wallet_funcs.py
CHANGED
|
@@ -40,11 +40,20 @@ from chia.wallet.util.address_type import AddressType
|
|
|
40
40
|
from chia.wallet.util.puzzle_decorator_type import PuzzleDecoratorType
|
|
41
41
|
from chia.wallet.util.query_filter import HashFilter, TransactionTypeFilter
|
|
42
42
|
from chia.wallet.util.transaction_type import CLAWBACK_INCOMING_TRANSACTION_TYPES, TransactionType
|
|
43
|
+
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
43
44
|
from chia.wallet.util.wallet_types import WalletType
|
|
44
45
|
from chia.wallet.vc_wallet.vc_store import VCProofs
|
|
45
46
|
from chia.wallet.wallet_coin_store import GetCoinRecords
|
|
46
47
|
from chia.wallet.wallet_request_types import (
|
|
48
|
+
CATAssetIDToName,
|
|
49
|
+
CATAssetIDToNameResponse,
|
|
50
|
+
CATGetName,
|
|
51
|
+
CATSetName,
|
|
52
|
+
CATSpend,
|
|
47
53
|
CATSpendResponse,
|
|
54
|
+
ClawbackPuzzleDecoratorOverride,
|
|
55
|
+
DeleteNotifications,
|
|
56
|
+
DeleteUnconfirmedTransactions,
|
|
48
57
|
DIDFindLostDID,
|
|
49
58
|
DIDGetDID,
|
|
50
59
|
DIDGetInfo,
|
|
@@ -52,8 +61,14 @@ from chia.wallet.wallet_request_types import (
|
|
|
52
61
|
DIDSetWalletName,
|
|
53
62
|
DIDTransferDID,
|
|
54
63
|
DIDUpdateMetadata,
|
|
64
|
+
ExtendDerivationIndex,
|
|
55
65
|
FungibleAsset,
|
|
66
|
+
GetNextAddress,
|
|
56
67
|
GetNotifications,
|
|
68
|
+
GetTransaction,
|
|
69
|
+
GetTransactions,
|
|
70
|
+
GetWalletBalance,
|
|
71
|
+
GetWallets,
|
|
57
72
|
NFTAddURI,
|
|
58
73
|
NFTCalculateRoyalties,
|
|
59
74
|
NFTCalculateRoyaltiesResponse,
|
|
@@ -64,7 +79,14 @@ from chia.wallet.wallet_request_types import (
|
|
|
64
79
|
NFTSetNFTDID,
|
|
65
80
|
NFTTransferNFT,
|
|
66
81
|
RoyaltyAsset,
|
|
82
|
+
SendNotification,
|
|
83
|
+
SendTransaction,
|
|
67
84
|
SendTransactionResponse,
|
|
85
|
+
SignMessageByAddress,
|
|
86
|
+
SignMessageByAddressResponse,
|
|
87
|
+
SignMessageByID,
|
|
88
|
+
SignMessageByIDResponse,
|
|
89
|
+
SpendClawbackCoins,
|
|
68
90
|
VCAddProofs,
|
|
69
91
|
VCGet,
|
|
70
92
|
VCGetList,
|
|
@@ -75,7 +97,7 @@ from chia.wallet.wallet_request_types import (
|
|
|
75
97
|
)
|
|
76
98
|
from chia.wallet.wallet_rpc_client import WalletRpcClient
|
|
77
99
|
|
|
78
|
-
CATNameResolver = Callable[[
|
|
100
|
+
CATNameResolver = Callable[[CATAssetIDToName], Awaitable[CATAssetIDToNameResponse]]
|
|
79
101
|
|
|
80
102
|
transaction_type_descriptions = {
|
|
81
103
|
TransactionType.INCOMING_TX: "received",
|
|
@@ -143,10 +165,10 @@ def get_mojo_per_unit(wallet_type: WalletType) -> int:
|
|
|
143
165
|
|
|
144
166
|
|
|
145
167
|
async def get_wallet_type(wallet_id: int, wallet_client: WalletRpcClient) -> WalletType:
|
|
146
|
-
summaries_response = await wallet_client.get_wallets()
|
|
147
|
-
for summary in summaries_response:
|
|
148
|
-
summary_id: int = summary
|
|
149
|
-
summary_type: int = summary
|
|
168
|
+
summaries_response = await wallet_client.get_wallets(GetWallets())
|
|
169
|
+
for summary in summaries_response.wallets:
|
|
170
|
+
summary_id: int = summary.id
|
|
171
|
+
summary_type: int = summary.type
|
|
150
172
|
if wallet_id == summary_id:
|
|
151
173
|
return WalletType(summary_type)
|
|
152
174
|
|
|
@@ -167,7 +189,7 @@ async def get_unit_name_for_wallet_id(
|
|
|
167
189
|
}:
|
|
168
190
|
name: str = config["network_overrides"]["config"][config["selected_network"]]["address_prefix"].upper()
|
|
169
191
|
elif wallet_type in {WalletType.CAT, WalletType.CRCAT, WalletType.RCAT}:
|
|
170
|
-
name = await wallet_client.get_cat_name(wallet_id=wallet_id)
|
|
192
|
+
name = (await wallet_client.get_cat_name(CATGetName(wallet_id=uint32(wallet_id)))).name
|
|
171
193
|
else:
|
|
172
194
|
raise LookupError(f"Operation is not supported for Wallet type {wallet_type.name}")
|
|
173
195
|
|
|
@@ -177,10 +199,12 @@ async def get_unit_name_for_wallet_id(
|
|
|
177
199
|
async def get_transaction(
|
|
178
200
|
*, root_path: pathlib.Path, wallet_rpc_port: Optional[int], fingerprint: Optional[int], tx_id: str, verbose: int
|
|
179
201
|
) -> None:
|
|
180
|
-
async with get_wallet_client(root_path, wallet_rpc_port, fingerprint) as (wallet_client,
|
|
202
|
+
async with get_wallet_client(root_path, wallet_rpc_port, fingerprint) as (wallet_client, _, config):
|
|
181
203
|
transaction_id = bytes32.from_hexstr(tx_id)
|
|
182
204
|
address_prefix = selected_network_address_prefix(config)
|
|
183
|
-
tx: TransactionRecord =
|
|
205
|
+
tx: TransactionRecord = (
|
|
206
|
+
await wallet_client.get_transaction(GetTransaction(transaction_id=transaction_id))
|
|
207
|
+
).transaction
|
|
184
208
|
|
|
185
209
|
try:
|
|
186
210
|
wallet_type = await get_wallet_type(wallet_id=tx.wallet_id, wallet_client=wallet_client)
|
|
@@ -228,9 +252,18 @@ async def get_transactions(
|
|
|
228
252
|
[TransactionType.INCOMING_CLAWBACK_RECEIVE, TransactionType.INCOMING_CLAWBACK_SEND]
|
|
229
253
|
)
|
|
230
254
|
)
|
|
231
|
-
txs
|
|
232
|
-
|
|
233
|
-
|
|
255
|
+
txs = (
|
|
256
|
+
await wallet_client.get_transactions(
|
|
257
|
+
GetTransactions(
|
|
258
|
+
uint32(wallet_id),
|
|
259
|
+
start=uint16(offset),
|
|
260
|
+
end=uint16(offset + limit),
|
|
261
|
+
sort_key=sort_key.name,
|
|
262
|
+
reverse=reverse,
|
|
263
|
+
type_filter=type_filter,
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
).transactions
|
|
234
267
|
|
|
235
268
|
address_prefix = selected_network_address_prefix(config)
|
|
236
269
|
if len(txs) == 0:
|
|
@@ -263,7 +296,9 @@ async def get_transactions(
|
|
|
263
296
|
if len(coin_records["coin_records"]) > 0:
|
|
264
297
|
coin_record = coin_records["coin_records"][0]
|
|
265
298
|
else:
|
|
266
|
-
|
|
299
|
+
# Ignoring this because it seems useful to the loop
|
|
300
|
+
# But we should probably consider a better loop
|
|
301
|
+
j -= 1 # noqa: PLW2901
|
|
267
302
|
skipped += 1
|
|
268
303
|
continue
|
|
269
304
|
print_transaction(
|
|
@@ -310,7 +345,7 @@ async def send(
|
|
|
310
345
|
) -> list[TransactionRecord]:
|
|
311
346
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, config):
|
|
312
347
|
if memo is None:
|
|
313
|
-
memos =
|
|
348
|
+
memos = []
|
|
314
349
|
else:
|
|
315
350
|
memos = [memo]
|
|
316
351
|
|
|
@@ -339,40 +374,48 @@ async def send(
|
|
|
339
374
|
if typ == WalletType.STANDARD_WALLET:
|
|
340
375
|
print("Submitting transaction...")
|
|
341
376
|
res: Union[CATSpendResponse, SendTransactionResponse] = await wallet_client.send_transaction(
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
377
|
+
SendTransaction(
|
|
378
|
+
wallet_id=uint32(wallet_id),
|
|
379
|
+
amount=final_amount,
|
|
380
|
+
address=address.original_address,
|
|
381
|
+
fee=fee,
|
|
382
|
+
memos=memos,
|
|
383
|
+
push=push,
|
|
384
|
+
puzzle_decorator=(
|
|
385
|
+
[
|
|
386
|
+
ClawbackPuzzleDecoratorOverride(
|
|
387
|
+
PuzzleDecoratorType.CLAWBACK.name, clawback_timelock=uint64(clawback_time_lock)
|
|
388
|
+
)
|
|
389
|
+
]
|
|
390
|
+
if clawback_time_lock > 0
|
|
391
|
+
else None
|
|
392
|
+
),
|
|
393
|
+
),
|
|
394
|
+
tx_config=CMDTXConfigLoader(
|
|
346
395
|
min_coin_amount=min_coin_amount,
|
|
347
396
|
max_coin_amount=max_coin_amount,
|
|
348
397
|
excluded_coin_ids=list(excluded_coin_ids),
|
|
349
398
|
reuse_puzhash=reuse_puzhash,
|
|
350
399
|
).to_tx_config(mojo_per_unit, config, fingerprint),
|
|
351
|
-
fee,
|
|
352
|
-
memos,
|
|
353
|
-
puzzle_decorator_override=(
|
|
354
|
-
[{"decorator": PuzzleDecoratorType.CLAWBACK.name, "clawback_timelock": clawback_time_lock}]
|
|
355
|
-
if clawback_time_lock > 0
|
|
356
|
-
else None
|
|
357
|
-
),
|
|
358
|
-
push=push,
|
|
359
400
|
timelock_info=condition_valid_times,
|
|
360
401
|
)
|
|
361
402
|
elif typ in {WalletType.CAT, WalletType.CRCAT, WalletType.RCAT}:
|
|
362
403
|
print("Submitting transaction...")
|
|
363
404
|
res = await wallet_client.cat_spend(
|
|
364
|
-
|
|
365
|
-
|
|
405
|
+
CATSpend(
|
|
406
|
+
wallet_id=uint32(wallet_id),
|
|
407
|
+
amount=final_amount,
|
|
408
|
+
inner_address=address.original_address,
|
|
409
|
+
fee=fee,
|
|
410
|
+
memos=memos,
|
|
411
|
+
push=push,
|
|
412
|
+
),
|
|
413
|
+
tx_config=CMDTXConfigLoader(
|
|
366
414
|
min_coin_amount=min_coin_amount,
|
|
367
415
|
max_coin_amount=max_coin_amount,
|
|
368
416
|
excluded_coin_ids=list(excluded_coin_ids),
|
|
369
417
|
reuse_puzhash=reuse_puzhash,
|
|
370
418
|
).to_tx_config(mojo_per_unit, config, fingerprint),
|
|
371
|
-
final_amount,
|
|
372
|
-
address.original_address,
|
|
373
|
-
fee,
|
|
374
|
-
memos,
|
|
375
|
-
push=push,
|
|
376
419
|
timelock_info=condition_valid_times,
|
|
377
420
|
)
|
|
378
421
|
else:
|
|
@@ -384,7 +427,7 @@ async def send(
|
|
|
384
427
|
start = time.time()
|
|
385
428
|
while time.time() - start < 10:
|
|
386
429
|
await asyncio.sleep(0.1)
|
|
387
|
-
tx = await wallet_client.get_transaction(tx_id)
|
|
430
|
+
tx = (await wallet_client.get_transaction(GetTransaction(tx_id))).transaction
|
|
388
431
|
if len(tx.sent_to) > 0:
|
|
389
432
|
print(transaction_submitted_msg(tx))
|
|
390
433
|
print(transaction_status_msg(fingerprint, tx_id))
|
|
@@ -401,7 +444,7 @@ async def get_address(
|
|
|
401
444
|
root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int], wallet_id: int, new_address: bool
|
|
402
445
|
) -> None:
|
|
403
446
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, _, _):
|
|
404
|
-
res = await wallet_client.get_next_address(wallet_id, new_address)
|
|
447
|
+
res = (await wallet_client.get_next_address(GetNextAddress(uint32(wallet_id), new_address))).address
|
|
405
448
|
print(res)
|
|
406
449
|
|
|
407
450
|
|
|
@@ -409,14 +452,14 @@ async def delete_unconfirmed_transactions(
|
|
|
409
452
|
root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int], wallet_id: int
|
|
410
453
|
) -> None:
|
|
411
454
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, _):
|
|
412
|
-
await wallet_client.delete_unconfirmed_transactions(wallet_id)
|
|
455
|
+
await wallet_client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(wallet_id)))
|
|
413
456
|
print(f"Successfully deleted all unconfirmed transactions for wallet id {wallet_id} on key {fingerprint}")
|
|
414
457
|
|
|
415
458
|
|
|
416
459
|
async def get_derivation_index(root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int]) -> None:
|
|
417
460
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, _, _):
|
|
418
461
|
res = await wallet_client.get_current_derivation_index()
|
|
419
|
-
print(f"Last derivation index: {res}")
|
|
462
|
+
print(f"Last derivation index: {res.index}")
|
|
420
463
|
|
|
421
464
|
|
|
422
465
|
async def update_derivation_index(
|
|
@@ -424,8 +467,8 @@ async def update_derivation_index(
|
|
|
424
467
|
) -> None:
|
|
425
468
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, _, _):
|
|
426
469
|
print("Updating derivation index... This may take a while.")
|
|
427
|
-
res = await wallet_client.extend_derivation_index(index)
|
|
428
|
-
print(f"Updated derivation index: {res}")
|
|
470
|
+
res = await wallet_client.extend_derivation_index(ExtendDerivationIndex(uint32(index)))
|
|
471
|
+
print(f"Updated derivation index: {res.index}")
|
|
429
472
|
print("Your balances may take a while to update.")
|
|
430
473
|
|
|
431
474
|
|
|
@@ -433,16 +476,19 @@ async def add_token(
|
|
|
433
476
|
root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int], asset_id: bytes32, token_name: str
|
|
434
477
|
) -> None:
|
|
435
478
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, _):
|
|
436
|
-
existing_info
|
|
437
|
-
|
|
479
|
+
existing_info = await wallet_client.cat_asset_id_to_name(CATAssetIDToName(asset_id))
|
|
480
|
+
|
|
481
|
+
if existing_info.wallet_id is None:
|
|
438
482
|
response = await wallet_client.create_wallet_for_existing_cat(asset_id)
|
|
439
483
|
wallet_id = response["wallet_id"]
|
|
440
|
-
await wallet_client.set_cat_name(wallet_id, token_name)
|
|
484
|
+
await wallet_client.set_cat_name(CATSetName(wallet_id, token_name))
|
|
441
485
|
print(f"Successfully added {token_name} with wallet id {wallet_id} on key {fingerprint}")
|
|
442
486
|
else:
|
|
443
|
-
wallet_id,
|
|
444
|
-
|
|
445
|
-
|
|
487
|
+
await wallet_client.set_cat_name(CATSetName(existing_info.wallet_id, token_name))
|
|
488
|
+
print(
|
|
489
|
+
f"Successfully renamed {existing_info.name} with wallet_id {existing_info.wallet_id}"
|
|
490
|
+
f" on key {fingerprint} to {token_name}"
|
|
491
|
+
)
|
|
446
492
|
|
|
447
493
|
|
|
448
494
|
async def make_offer(
|
|
@@ -471,9 +517,9 @@ async def make_offer(
|
|
|
471
517
|
try:
|
|
472
518
|
b32_id = bytes32.from_hexstr(name)
|
|
473
519
|
id: Union[uint32, str] = b32_id.hex()
|
|
474
|
-
result = await wallet_client.cat_asset_id_to_name(b32_id)
|
|
475
|
-
if result is not None:
|
|
476
|
-
name = result
|
|
520
|
+
result = await wallet_client.cat_asset_id_to_name(CATAssetIDToName(b32_id))
|
|
521
|
+
if result.name is not None:
|
|
522
|
+
name = result.name
|
|
477
523
|
else:
|
|
478
524
|
name = "Unknown CAT"
|
|
479
525
|
unit = units["cat"]
|
|
@@ -524,12 +570,12 @@ async def make_offer(
|
|
|
524
570
|
assert hrp is not None
|
|
525
571
|
unit = units[hrp]
|
|
526
572
|
except ValueError:
|
|
527
|
-
id = uint32(
|
|
573
|
+
id = uint32(name)
|
|
528
574
|
if id == 1:
|
|
529
575
|
name = "XCH"
|
|
530
576
|
unit = units["chia"]
|
|
531
577
|
else:
|
|
532
|
-
name = await wallet_client.get_cat_name(id)
|
|
578
|
+
name = (await wallet_client.get_cat_name(CATGetName(id))).name
|
|
533
579
|
unit = units["cat"]
|
|
534
580
|
if item in offers:
|
|
535
581
|
fungible_assets.append(FungibleAsset(name, uint64(abs(int(Decimal(amount) * unit)))))
|
|
@@ -637,10 +683,10 @@ async def print_offer_summary(
|
|
|
637
683
|
description = " [Typically represents change returned from the included fee]"
|
|
638
684
|
else:
|
|
639
685
|
unit = units["cat"]
|
|
640
|
-
result = await cat_name_resolver(bytes32.from_hexstr(asset_id))
|
|
641
|
-
if result is not None:
|
|
642
|
-
wid = str(result
|
|
643
|
-
name = result
|
|
686
|
+
result = await cat_name_resolver(CATAssetIDToName(bytes32.from_hexstr(asset_id)))
|
|
687
|
+
if result.name is not None:
|
|
688
|
+
wid = str(result.wallet_id)
|
|
689
|
+
name = result.name
|
|
644
690
|
output: str = f" - {name}"
|
|
645
691
|
mojo_str: str = f"{mojo_amount} {'mojo' if mojo_amount == 1 else 'mojos'}"
|
|
646
692
|
if len(wid) > 0:
|
|
@@ -803,9 +849,9 @@ async def take_offer(
|
|
|
803
849
|
if fungible_asset_id is None:
|
|
804
850
|
nft_royalty_currency = network_xch
|
|
805
851
|
else:
|
|
806
|
-
result = await wallet_client.cat_asset_id_to_name(fungible_asset_id)
|
|
807
|
-
if result is not None:
|
|
808
|
-
nft_royalty_currency = result
|
|
852
|
+
result = await wallet_client.cat_asset_id_to_name(CATAssetIDToName(fungible_asset_id))
|
|
853
|
+
if result.name is not None:
|
|
854
|
+
nft_royalty_currency = result.name
|
|
809
855
|
fungible_assets.append(
|
|
810
856
|
FungibleAsset(nft_royalty_currency, uint64(requested[fungible_asset_id_str]))
|
|
811
857
|
)
|
|
@@ -913,7 +959,7 @@ async def print_balances(
|
|
|
913
959
|
root_path: pathlib.Path, wallet_rpc_port: Optional[int], fp: Optional[int], wallet_type: Optional[WalletType] = None
|
|
914
960
|
) -> None:
|
|
915
961
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, config):
|
|
916
|
-
summaries_response = await wallet_client.get_wallets(wallet_type)
|
|
962
|
+
summaries_response = await wallet_client.get_wallets(GetWallets(uint16.construct_optional(wallet_type)))
|
|
917
963
|
address_prefix = selected_network_address_prefix(config)
|
|
918
964
|
|
|
919
965
|
sync_response = await wallet_client.get_sync_status()
|
|
@@ -927,36 +973,37 @@ async def print_balances(
|
|
|
927
973
|
print("Sync status: Not synced")
|
|
928
974
|
|
|
929
975
|
if not sync_response.syncing and sync_response.synced:
|
|
930
|
-
if len(summaries_response) == 0:
|
|
976
|
+
if len(summaries_response.wallets) == 0:
|
|
931
977
|
type_hint = " " if wallet_type is None else f" from type {wallet_type.name} "
|
|
932
978
|
print(f"\nNo wallets{type_hint}available for fingerprint: {fingerprint}")
|
|
933
979
|
else:
|
|
934
980
|
print(f"Balances, fingerprint: {fingerprint}")
|
|
935
|
-
for summary in summaries_response:
|
|
981
|
+
for summary in summaries_response.wallets:
|
|
936
982
|
indent: str = " "
|
|
937
983
|
# asset_id currently contains both the asset ID and TAIL program bytes concatenated together.
|
|
938
984
|
# A future RPC update may split them apart, but for now we'll show the first 32 bytes (64 chars)
|
|
939
|
-
asset_id = summary
|
|
940
|
-
wallet_id = summary
|
|
941
|
-
balances = await wallet_client.get_wallet_balance(wallet_id)
|
|
942
|
-
typ = WalletType(int(summary
|
|
985
|
+
asset_id = summary.data[:64]
|
|
986
|
+
wallet_id = summary.id
|
|
987
|
+
balances = (await wallet_client.get_wallet_balance(GetWalletBalance(uint32(wallet_id)))).wallet_balance
|
|
988
|
+
typ = WalletType(int(summary.type))
|
|
943
989
|
address_prefix, scale = wallet_coin_unit(typ, address_prefix)
|
|
944
|
-
total_balance: str = print_balance(balances
|
|
990
|
+
total_balance: str = print_balance(balances.confirmed_wallet_balance, scale, address_prefix)
|
|
945
991
|
unconfirmed_wallet_balance: str = print_balance(
|
|
946
|
-
balances
|
|
992
|
+
balances.unconfirmed_wallet_balance, scale, address_prefix
|
|
947
993
|
)
|
|
948
|
-
spendable_balance: str = print_balance(balances
|
|
994
|
+
spendable_balance: str = print_balance(balances.spendable_balance, scale, address_prefix)
|
|
949
995
|
my_did: Optional[str] = None
|
|
950
996
|
ljust = 23
|
|
951
997
|
if typ == WalletType.CRCAT:
|
|
952
998
|
ljust = 36
|
|
953
999
|
print()
|
|
954
|
-
print(f"{summary
|
|
1000
|
+
print(f"{summary.name}:")
|
|
955
1001
|
print(f"{indent}{'-Total Balance:'.ljust(ljust)} {total_balance}")
|
|
956
1002
|
if typ == WalletType.CRCAT:
|
|
1003
|
+
assert balances.pending_approval_balance is not None
|
|
957
1004
|
print(
|
|
958
1005
|
f"{indent}{'-Balance Pending VC Approval:'.ljust(ljust)} "
|
|
959
|
-
f"{print_balance(balances
|
|
1006
|
+
f"{print_balance(balances.pending_approval_balance, scale, address_prefix)}"
|
|
960
1007
|
)
|
|
961
1008
|
print(f"{indent}{'-Pending Total Balance:'.ljust(ljust)} {unconfirmed_wallet_balance}")
|
|
962
1009
|
print(f"{indent}{'-Spendable:'.ljust(ljust)} {spendable_balance}")
|
|
@@ -1151,7 +1198,7 @@ async def transfer_did(
|
|
|
1151
1198
|
if push:
|
|
1152
1199
|
print(f"Successfully transferred DID to {target_address}")
|
|
1153
1200
|
print(f"Transaction ID: {response.transaction_id.hex()}")
|
|
1154
|
-
print(f"Transaction: {response.transaction.
|
|
1201
|
+
print(f"Transaction: {response.transaction.to_json_dict()}")
|
|
1155
1202
|
return response.transactions
|
|
1156
1203
|
except Exception as e:
|
|
1157
1204
|
print(f"Failed to transfer DID: {e}")
|
|
@@ -1236,9 +1283,8 @@ async def mint_nft(
|
|
|
1236
1283
|
raise ValueError("Disabling DID ownership is not supported for this NFT wallet, it does have a DID")
|
|
1237
1284
|
else:
|
|
1238
1285
|
did_id = None
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
did_id = ""
|
|
1286
|
+
elif not wallet_has_did:
|
|
1287
|
+
did_id = ""
|
|
1242
1288
|
|
|
1243
1289
|
mint_response = await wallet_client.mint_nft(
|
|
1244
1290
|
request=NFTMintNFTRequest(
|
|
@@ -1536,19 +1582,25 @@ async def send_notification(
|
|
|
1536
1582
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, fingerprint, _):
|
|
1537
1583
|
amount: uint64 = cli_amount.convert_amount(units["chia"])
|
|
1538
1584
|
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1585
|
+
response = await wallet_client.send_notification(
|
|
1586
|
+
SendNotification(
|
|
1587
|
+
address.puzzle_hash,
|
|
1588
|
+
message,
|
|
1589
|
+
amount,
|
|
1590
|
+
fee=fee,
|
|
1591
|
+
push=push,
|
|
1592
|
+
),
|
|
1593
|
+
tx_config=DEFAULT_TX_CONFIG,
|
|
1545
1594
|
timelock_info=condition_valid_times,
|
|
1546
1595
|
)
|
|
1547
1596
|
|
|
1548
1597
|
if push:
|
|
1549
1598
|
print("Notification sent successfully.")
|
|
1550
|
-
print(
|
|
1551
|
-
|
|
1599
|
+
print(
|
|
1600
|
+
"To get status, use command: chia wallet get_transaction"
|
|
1601
|
+
f" -f {fingerprint} -tx 0x{response.transactions[0].name}"
|
|
1602
|
+
)
|
|
1603
|
+
return response.transactions
|
|
1552
1604
|
|
|
1553
1605
|
|
|
1554
1606
|
async def get_notifications(
|
|
@@ -1577,9 +1629,11 @@ async def delete_notifications(
|
|
|
1577
1629
|
) -> None:
|
|
1578
1630
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, _, _):
|
|
1579
1631
|
if delete_all:
|
|
1580
|
-
|
|
1632
|
+
await wallet_client.delete_notifications(DeleteNotifications())
|
|
1633
|
+
print("Success!")
|
|
1581
1634
|
else:
|
|
1582
|
-
|
|
1635
|
+
await wallet_client.delete_notifications(DeleteNotifications(ids=list(ids)))
|
|
1636
|
+
print("Success!")
|
|
1583
1637
|
|
|
1584
1638
|
|
|
1585
1639
|
async def sign_message(
|
|
@@ -1594,31 +1648,32 @@ async def sign_message(
|
|
|
1594
1648
|
nft_id: Optional[CliAddress] = None,
|
|
1595
1649
|
) -> None:
|
|
1596
1650
|
async with get_wallet_client(root_path, wallet_rpc_port, fp) as (wallet_client, _, _):
|
|
1651
|
+
response: Union[SignMessageByAddressResponse, SignMessageByIDResponse]
|
|
1597
1652
|
if addr_type == AddressType.XCH:
|
|
1598
1653
|
if address is None:
|
|
1599
1654
|
print("Address is required for XCH address type.")
|
|
1600
1655
|
return
|
|
1601
|
-
|
|
1602
|
-
address.original_address, message
|
|
1656
|
+
response = await wallet_client.sign_message_by_address(
|
|
1657
|
+
SignMessageByAddress(address.original_address, message)
|
|
1603
1658
|
)
|
|
1604
1659
|
elif addr_type == AddressType.DID:
|
|
1605
1660
|
if did_id is None:
|
|
1606
1661
|
print("DID id is required for DID address type.")
|
|
1607
1662
|
return
|
|
1608
|
-
|
|
1663
|
+
response = await wallet_client.sign_message_by_id(SignMessageByID(did_id.original_address, message))
|
|
1609
1664
|
elif addr_type == AddressType.NFT:
|
|
1610
1665
|
if nft_id is None:
|
|
1611
1666
|
print("NFT id is required for NFT address type.")
|
|
1612
1667
|
return
|
|
1613
|
-
|
|
1668
|
+
response = await wallet_client.sign_message_by_id(SignMessageByID(nft_id.original_address, message))
|
|
1614
1669
|
else:
|
|
1615
1670
|
print("Invalid wallet type.")
|
|
1616
1671
|
return
|
|
1617
1672
|
print("")
|
|
1618
1673
|
print(f"Message: {message}")
|
|
1619
|
-
print(f"Public Key: {pubkey}")
|
|
1620
|
-
print(f"Signature: {signature}")
|
|
1621
|
-
print(f"Signing Mode: {signing_mode}")
|
|
1674
|
+
print(f"Public Key: {response.pubkey!s}")
|
|
1675
|
+
print(f"Signature: {response.signature!s}")
|
|
1676
|
+
print(f"Signing Mode: {response.signing_mode}")
|
|
1622
1677
|
|
|
1623
1678
|
|
|
1624
1679
|
async def spend_clawback(
|
|
@@ -1643,14 +1698,12 @@ async def spend_clawback(
|
|
|
1643
1698
|
print("Batch fee cannot be negative.")
|
|
1644
1699
|
return []
|
|
1645
1700
|
response = await wallet_client.spend_clawback_coins(
|
|
1646
|
-
tx_ids,
|
|
1647
|
-
|
|
1648
|
-
force,
|
|
1649
|
-
push=push,
|
|
1701
|
+
SpendClawbackCoins(coin_ids=tx_ids, fee=fee, force=force, push=push),
|
|
1702
|
+
tx_config=DEFAULT_TX_CONFIG,
|
|
1650
1703
|
timelock_info=condition_valid_times,
|
|
1651
1704
|
)
|
|
1652
1705
|
print(str(response))
|
|
1653
|
-
return
|
|
1706
|
+
return response.transactions
|
|
1654
1707
|
|
|
1655
1708
|
|
|
1656
1709
|
async def mint_vc(
|
|
@@ -1857,7 +1910,7 @@ async def approve_r_cats(
|
|
|
1857
1910
|
push: bool,
|
|
1858
1911
|
condition_valid_times: ConditionValidTimes,
|
|
1859
1912
|
) -> list[TransactionRecord]:
|
|
1860
|
-
async with get_wallet_client(root_path, wallet_rpc_port, fingerprint) as (wallet_client,
|
|
1913
|
+
async with get_wallet_client(root_path, wallet_rpc_port, fingerprint) as (wallet_client, fp, config):
|
|
1861
1914
|
if wallet_client is None:
|
|
1862
1915
|
return
|
|
1863
1916
|
txs = await wallet_client.crcat_approve_pending(
|
|
@@ -1868,7 +1921,7 @@ async def approve_r_cats(
|
|
|
1868
1921
|
min_coin_amount=min_coin_amount,
|
|
1869
1922
|
max_coin_amount=max_coin_amount,
|
|
1870
1923
|
reuse_puzhash=reuse,
|
|
1871
|
-
).to_tx_config(units["cat"], config,
|
|
1924
|
+
).to_tx_config(units["cat"], config, fp),
|
|
1872
1925
|
push=push,
|
|
1873
1926
|
timelock_info=condition_valid_times,
|
|
1874
1927
|
)
|
|
@@ -116,9 +116,9 @@ class ForkInfo:
|
|
|
116
116
|
timestamp = block.foliage_transaction_block.timestamp
|
|
117
117
|
for spend in conds.spends:
|
|
118
118
|
spend_coin_id = bytes32(spend.coin_id)
|
|
119
|
-
self.removals_since_fork[spend_coin_id] = ForkRem(
|
|
119
|
+
self.removals_since_fork[spend_coin_id] = ForkRem(spend.puzzle_hash, block.height)
|
|
120
120
|
for puzzle_hash, amount, hint in spend.create_coin:
|
|
121
|
-
coin = Coin(spend_coin_id,
|
|
121
|
+
coin = Coin(spend_coin_id, puzzle_hash, uint64(amount))
|
|
122
122
|
same_as_parent = coin.puzzle_hash == spend.puzzle_hash and amount == spend.coin_amount
|
|
123
123
|
self.additions_since_fork[coin.name()] = ForkAdd(
|
|
124
124
|
coin, block.height, timestamp, hint=hint, is_coinbase=False, same_as_parent=same_as_parent
|
|
@@ -137,8 +137,8 @@ class ForkInfo:
|
|
|
137
137
|
timestamp = block.foliage_transaction_block.timestamp
|
|
138
138
|
spent_coins: dict[bytes32, Coin] = {}
|
|
139
139
|
for spend_id, spend in removals:
|
|
140
|
-
spent_coins[
|
|
141
|
-
self.removals_since_fork[
|
|
140
|
+
spent_coins[spend_id] = spend
|
|
141
|
+
self.removals_since_fork[spend_id] = ForkRem(spend.puzzle_hash, block.height)
|
|
142
142
|
for coin, hint in additions:
|
|
143
143
|
parent = spent_coins.get(coin.parent_coin_info)
|
|
144
144
|
assert parent is not None
|
|
@@ -334,9 +334,8 @@ async def validate_block_body(
|
|
|
334
334
|
if block.transactions_generator is not None:
|
|
335
335
|
if std_hash(bytes(block.transactions_generator)) != block.transactions_info.generator_root:
|
|
336
336
|
return Err.INVALID_TRANSACTIONS_GENERATOR_HASH
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
return Err.INVALID_TRANSACTIONS_GENERATOR_HASH
|
|
337
|
+
elif block.transactions_info.generator_root != bytes([0] * 32):
|
|
338
|
+
return Err.INVALID_TRANSACTIONS_GENERATOR_HASH
|
|
340
339
|
|
|
341
340
|
# 8a. The generator_ref_list must be the hash of the serialized bytes of
|
|
342
341
|
# the generator ref list for this block (or 'one' bytes [0x01] if no generator)
|
|
@@ -382,9 +381,9 @@ async def validate_block_body(
|
|
|
382
381
|
|
|
383
382
|
for spend in conds.spends:
|
|
384
383
|
removals.append(bytes32(spend.coin_id))
|
|
385
|
-
removals_puzzle_dic[
|
|
384
|
+
removals_puzzle_dic[spend.coin_id] = spend.puzzle_hash
|
|
386
385
|
for puzzle_hash, amount, _ in spend.create_coin:
|
|
387
|
-
c = Coin(
|
|
386
|
+
c = Coin(spend.coin_id, puzzle_hash, uint64(amount))
|
|
388
387
|
additions.append((c, c.name()))
|
|
389
388
|
else:
|
|
390
389
|
assert conds is None
|
chia/consensus/block_creation.py
CHANGED
|
@@ -354,17 +354,16 @@ def create_unfinished_block(
|
|
|
354
354
|
else:
|
|
355
355
|
if new_sub_slot:
|
|
356
356
|
rc_sp_hash = finished_sub_slots[-1].reward_chain.get_hash()
|
|
357
|
+
elif is_genesis:
|
|
358
|
+
rc_sp_hash = constants.GENESIS_CHALLENGE
|
|
357
359
|
else:
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
curr = blocks.block_record(curr.prev_hash)
|
|
366
|
-
assert curr.finished_reward_slot_hashes is not None
|
|
367
|
-
rc_sp_hash = curr.finished_reward_slot_hashes[-1]
|
|
360
|
+
assert prev_block is not None
|
|
361
|
+
assert blocks is not None
|
|
362
|
+
curr = prev_block
|
|
363
|
+
while not curr.first_in_sub_slot:
|
|
364
|
+
curr = blocks.block_record(curr.prev_hash)
|
|
365
|
+
assert curr.finished_reward_slot_hashes is not None
|
|
366
|
+
rc_sp_hash = curr.finished_reward_slot_hashes[-1]
|
|
368
367
|
signage_point = SignagePoint(None, None, None, None)
|
|
369
368
|
|
|
370
369
|
cc_sp_signature: Optional[G2Element] = get_plot_signature(cc_sp_hash, proof_of_space.plot_public_key)
|