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.
Files changed (371) hide show
  1. chia/_tests/blockchain/blockchain_test_utils.py +6 -7
  2. chia/_tests/blockchain/test_augmented_chain.py +4 -3
  3. chia/_tests/blockchain/test_blockchain.py +10 -5
  4. chia/_tests/clvm/coin_store.py +1 -1
  5. chia/_tests/cmds/cmd_test_utils.py +84 -97
  6. chia/_tests/cmds/test_dev_gh.py +1 -1
  7. chia/_tests/cmds/test_farm_cmd.py +56 -2
  8. chia/_tests/cmds/wallet/test_consts.py +3 -1
  9. chia/_tests/cmds/wallet/test_did.py +3 -8
  10. chia/_tests/cmds/wallet/test_nft.py +6 -6
  11. chia/_tests/cmds/wallet/test_notifications.py +39 -21
  12. chia/_tests/cmds/wallet/test_vcs.py +2 -1
  13. chia/_tests/cmds/wallet/test_wallet.py +160 -136
  14. chia/_tests/conftest.py +51 -26
  15. chia/_tests/core/cmds/test_wallet.py +4 -3
  16. chia/_tests/core/consensus/test_pot_iterations.py +71 -24
  17. chia/_tests/core/custom_types/test_proof_of_space.py +60 -30
  18. chia/_tests/core/custom_types/test_spend_bundle.py +1 -4
  19. chia/_tests/core/data_layer/conftest.py +7 -2
  20. chia/_tests/core/data_layer/old_format/__init__.py +0 -0
  21. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-delta-23-v1.0.dat +0 -0
  22. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-005876c1cdc4d5f1726551b207b9f63efc9cd2f72df80a3a26a1ba73d40d6745-full-23-v1.0.dat +0 -0
  23. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-delta-9-v1.0.dat +0 -0
  24. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-01b36e72a975cdc00d6514eea81668d19e8ea3150217ae98cb3361688a016fab-full-9-v1.0.dat +0 -0
  25. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-delta-5-v1.0.dat +0 -0
  26. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-06147c3b12d73e9b83b686a8c10b4a36a513c8a93c0ff99ae197f06326278be9-full-5-v1.0.dat +0 -0
  27. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-delta-22-v1.0.dat +0 -0
  28. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-073c051a5934ad3b8db39eee2189e4300e55f48aaa17ff4ae30eeae088ff544a-full-22-v1.0.dat +0 -0
  29. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-delta-1-v1.0.dat +0 -0
  30. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-0cc077559b9c7b4aefe8f8f591c195e0779bebdf89f2ad8285a00ea5f859d965-full-1-v1.0.dat +0 -0
  31. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-delta-2-v1.0.dat +0 -0
  32. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-16377275567b723b20936d3f1ec0a2fd83f6ac379b922351a5e4c54949069f3b-full-2-v1.0.dat +0 -0
  33. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-delta-29-v1.0.dat +0 -0
  34. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-1cb824a7a5f02cd30ac6c38e8f6216780d9bfa2d24811d282a368dcd541438a7-full-29-v1.0.dat +0 -0
  35. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-delta-28-v1.0.dat +0 -0
  36. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-27b89dc4809ebc5a3b87757d35e95e2761d978cf121e44fa2773a5c06e4cc7b5-full-28-v1.0.dat +0 -0
  37. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-delta-7-v1.0.dat +0 -0
  38. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-28a6b7c134abfaeb0ab58a018313f6c87a61a40a4d9ec9bedf53aa1d12f3ee37-full-7-v1.0.dat +0 -0
  39. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-delta-19-v1.0.dat +0 -0
  40. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-30a6bfe7cecbeda259a295dc6de3a436357f52388c3b03d86901e7da68565aeb-full-19-v1.0.dat +0 -0
  41. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-delta-10-v1.0.dat +0 -0
  42. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-343a2bf9add798e3ac2e6a571823cf9fa7e8a1bed532143354ead2648bd036ef-full-10-v1.0.dat +0 -0
  43. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-delta-17-v1.0.dat +0 -0
  44. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4d90efbc1fb3df324193831ea4a57dd5e10e67d9653343eb18d178272adb0447-full-17-v1.0.dat +0 -0
  45. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-delta-20-v1.0.dat +0 -0
  46. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-4dd2ea099e91635c441f40b36d3f84078a2d818d2dc601c7278e72cbdfe3eca8-full-20-v1.0.dat +0 -0
  47. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-delta-31-v1.0.dat +0 -0
  48. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-509effbdca78639023b933ce6c08a0465fb247e1cd5329e9e9c553940e4b6e46-full-31-v1.0.dat +0 -0
  49. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-delta-40-v1.0.dat +0 -0
  50. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5379a4d9ff29c29d1ef0906d22e82c52472753d31806189ab813c43365341b78-full-40-v1.0.dat +0 -0
  51. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-delta-49-v1.0.dat +0 -0
  52. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-55908eda5686a8f89e4c50672cbe893ec1734fb23449dc03325efe7c414f9aa4-full-49-v1.0.dat +0 -0
  53. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-delta-14-v1.0.dat +0 -0
  54. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-57cc2691fb1fb986c99a58bcb0e029d0cd0cff41553d703147c54196d7d9ca63-full-14-v1.0.dat +0 -0
  55. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-delta-34-v1.0.dat +0 -0
  56. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-5943bf8ae4f5e59969d8570e4f40a8223299febdcfbcf188b3b3e2ab11044e18-full-34-v1.0.dat +0 -0
  57. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-delta-8-v1.0.dat +0 -0
  58. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6518527b7c939bee60ce6b024cbe90d3b9d8913c56b8ce11a4df5da7ff7db1c8-full-8-v1.0.dat +0 -0
  59. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-delta-45-v1.0.dat +0 -0
  60. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-66ff26a26620379e14a7c91252d27ee4dbe06ad69a3a390a88642fe757f2b288-full-45-v1.0.dat +0 -0
  61. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-delta-6-v1.0.dat +0 -0
  62. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6bd0a508ee2c4afbe9d4daa811139fd6e54e7f4e16850cbce999fa30f8bdccd2-full-6-v1.0.dat +0 -0
  63. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-delta-48-v1.0.dat +0 -0
  64. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6ce850d0d77ca743fcc2fc792747472e5d2c1c0813aa43abbb370554428fc897-full-48-v1.0.dat +0 -0
  65. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-delta-26-v1.0.dat +0 -0
  66. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-6eb4ca2e1552b156c5969396b49070eb08ad6c96b347359387519be59f7ccaed-full-26-v1.0.dat +0 -0
  67. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-delta-3-v1.0.dat +0 -0
  68. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-71c797fb7592d3f0a5a20c79ab8497ddaa0fd9ec17712e109d25c91b3f3c76e5-full-3-v1.0.dat +0 -0
  69. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-delta-25-v1.0.dat +0 -0
  70. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-73357026053d5a4969e7a6b9aeeef91c14cc6d5f32fc700fe6d21d2a1b22496c-full-25-v1.0.dat +0 -0
  71. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-delta-35-v1.0.dat +0 -0
  72. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-7c897e5c46e834ced65bde7de87716acfaa5dffbdb30b5cd9377d8c319df2034-full-35-v1.0.dat +0 -0
  73. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-delta-4-v1.0.dat +0 -0
  74. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-87b8394d80d08117a5a1cd04ed8a682564eab7197a2c090159863591b5108874-full-4-v1.0.dat +0 -0
  75. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-delta-41-v1.0.dat +0 -0
  76. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-89eb40b9cc0921c5f5c3feb20927c13a9ada5760f82d219dcee153b7d400165c-full-41-v1.0.dat +0 -0
  77. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-delta-21-v1.0.dat +0 -0
  78. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8b649433156b8c924436cdec9c6de26106fd6f73a0528570f48748f7b40d7f8a-full-21-v1.0.dat +0 -0
  79. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-delta-42-v1.0.dat +0 -0
  80. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-8d364023a0834c8c3077e236a465493acbf488e4f9d1f4c6cc230343c10a8f7d-full-42-v1.0.dat +0 -0
  81. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-delta-38-v1.0.dat +0 -0
  82. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-925689e24a3d98d98676d816cdd8b73e7b2df057d9d4503da9b27bf91d79666c-full-38-v1.0.dat +0 -0
  83. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-delta-11-v1.0.dat +0 -0
  84. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-937be3d428b19f521be4f98faecc3307ae11ee731c76992f417fa4268d13859e-full-11-v1.0.dat +0 -0
  85. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-delta-32-v1.0.dat +0 -0
  86. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-97f34af499b79e2111fc296a598fc9654c2467ea038dfea41fd58241fb3642de-full-32-v1.0.dat +0 -0
  87. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-delta-33-v1.0.dat +0 -0
  88. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-9d1b737243b8a1d0022f2b36ac53333c6280354a74d77f2a3642dcab35204e59-full-33-v1.0.dat +0 -0
  89. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-delta-47-v1.0.dat +0 -0
  90. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-a6663f98ef6ddf6db55f01163e34bb2e87aa82f0347e79ce31e8dbfa390c480c-full-47-v1.0.dat +0 -0
  91. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-delta-50-v1.0.dat +0 -0
  92. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-aa77376d1ccd3664e5c6366e010c52a978fedbf40f5ce262fee71b2e7fe0c6a9-full-50-v1.0.dat +0 -0
  93. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-delta-24-v1.0.dat +0 -0
  94. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b0f28514741ed1a71f5c6544bf92f9e0e493c5f3cf28328909771d8404eff626-full-24-v1.0.dat +0 -0
  95. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-delta-44-v1.0.dat +0 -0
  96. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-b3efee5358e6eb89ab3b60db2d128d57eef39e8538fb63c5632412d4f8e7d09e-full-44-v1.0.dat +0 -0
  97. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-delta-16-v1.0.dat +0 -0
  98. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bb0b56b6eb7acbb4e80893b04c72412fe833418232e1ed7b06d97d7a7f08b4e1-full-16-v1.0.dat +0 -0
  99. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-delta-13-v1.0.dat +0 -0
  100. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bc45262b757ff494b53bd2a8fba0f5511cc1f9c2a2c5360e04ea8cebbf6409df-full-13-v1.0.dat +0 -0
  101. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-delta-39-v1.0.dat +0 -0
  102. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-bd0494ba430aff13458b557113b073d226eaf11257dfe26ff3323fa1cfe1335b-full-39-v1.0.dat +0 -0
  103. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-delta-36-v1.0.dat +0 -0
  104. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cd04f5fbba1553fa728b4dd8131d4723aaac288e0c7dc080447fbf0872c0a6eb-full-36-v1.0.dat +0 -0
  105. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-delta-18-v1.0.dat +0 -0
  106. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cdd2399557fb3163a848f08831fdc833703354edb19a0d32a965fdb140f160c2-full-18-v1.0.dat +0 -0
  107. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-delta-37-v1.0.dat +0 -0
  108. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-cf7a08fca7b1332095242e4d9800f4b94a3f4eaae88fe8407da42736d54b9e18-full-37-v1.0.dat +0 -0
  109. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-delta-15-v1.0.dat +0 -0
  110. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-d1f97465a9f52187e2ef3a0d811a1258f52380a65340c55f3e8e65b92753bc13-full-15-v1.0.dat +0 -0
  111. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-delta-46-v1.0.dat +0 -0
  112. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e475eccd4ee597e5ff67b1a249e37d65d6e3f754c3f0379fdb43692513588fef-full-46-v1.0.dat +0 -0
  113. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-delta-27-v1.0.dat +0 -0
  114. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-e82e63517d78fd65b23a05c3b9a98cf905ddad7026995a238bfe634006b84cd0-full-27-v1.0.dat +0 -0
  115. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-delta-12-v1.0.dat +0 -0
  116. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-ed2cf0fd6c0f6237c87c161e1fca303b3fbe6c04e01f652b88720b4572143349-full-12-v1.0.dat +0 -0
  117. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-delta-30-v1.0.dat +0 -0
  118. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f6e454eaf24a83c46a7bed4c19260a0a3ce0ed5c51739cb6d748d4913dc2ef58-full-30-v1.0.dat +0 -0
  119. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-delta-43-v1.0.dat +0 -0
  120. chia/_tests/core/data_layer/old_format/files/2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e612073746f7265206964-f7ad2bdf86d9609b4d6381086ec1e296bf558e2ff467ead29dd7fa6e31bacc56-full-43-v1.0.dat +0 -0
  121. chia/_tests/core/data_layer/old_format/files/__init__.py +0 -0
  122. chia/_tests/core/data_layer/old_format/old_db.sqlite +0 -0
  123. chia/_tests/core/data_layer/test_data_layer_util.py +18 -21
  124. chia/_tests/core/data_layer/test_data_rpc.py +77 -28
  125. chia/_tests/core/data_layer/test_data_store.py +637 -700
  126. chia/_tests/core/data_layer/test_data_store_schema.py +2 -209
  127. chia/_tests/core/full_node/ram_db.py +1 -1
  128. chia/_tests/core/full_node/stores/test_block_store.py +4 -10
  129. chia/_tests/core/full_node/stores/test_coin_store.py +1 -1
  130. chia/_tests/core/full_node/test_address_manager.py +3 -3
  131. chia/_tests/core/full_node/test_block_height_map.py +1 -1
  132. chia/_tests/core/full_node/test_full_node.py +91 -30
  133. chia/_tests/core/full_node/test_generator_tools.py +17 -10
  134. chia/_tests/core/mempool/test_mempool.py +190 -90
  135. chia/_tests/core/mempool/test_mempool_fee_estimator.py +2 -4
  136. chia/_tests/core/mempool/test_mempool_item_queries.py +1 -1
  137. chia/_tests/core/mempool/test_mempool_manager.py +134 -75
  138. chia/_tests/core/mempool/test_singleton_fast_forward.py +9 -27
  139. chia/_tests/core/server/serve.py +0 -2
  140. chia/_tests/core/server/test_rate_limits.py +400 -347
  141. chia/_tests/core/server/test_server.py +2 -2
  142. chia/_tests/core/services/test_services.py +7 -7
  143. chia/_tests/core/test_cost_calculation.py +31 -10
  144. chia/_tests/core/test_crawler.py +4 -4
  145. chia/_tests/core/test_db_conversion.py +7 -14
  146. chia/_tests/core/test_db_validation.py +2 -6
  147. chia/_tests/core/test_farmer_harvester_rpc.py +34 -1
  148. chia/_tests/core/test_full_node_rpc.py +28 -24
  149. chia/_tests/core/test_merkle_set.py +1 -4
  150. chia/_tests/core/test_seeder.py +1 -1
  151. chia/_tests/core/util/test_keychain.py +2 -2
  152. chia/_tests/core/util/test_lru_cache.py +16 -0
  153. chia/_tests/core/util/test_streamable.py +85 -4
  154. chia/_tests/environments/wallet.py +4 -1
  155. chia/_tests/farmer_harvester/test_farmer.py +8 -6
  156. chia/_tests/farmer_harvester/test_farmer_harvester.py +306 -8
  157. chia/_tests/farmer_harvester/test_filter_prefix_bits.py +3 -3
  158. chia/_tests/farmer_harvester/test_third_party_harvesters.py +11 -11
  159. chia/_tests/fee_estimation/test_fee_estimation_integration.py +2 -2
  160. chia/_tests/fee_estimation/test_fee_estimation_rpc.py +1 -1
  161. chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +1 -2
  162. chia/_tests/generator/test_rom.py +2 -1
  163. chia/_tests/harvester/__init__.py +0 -0
  164. chia/_tests/harvester/config.py +4 -0
  165. chia/_tests/harvester/test_harvester_api.py +157 -0
  166. chia/_tests/plot_sync/test_plot_sync.py +6 -3
  167. chia/_tests/plot_sync/test_receiver.py +16 -4
  168. chia/_tests/plot_sync/test_sender.py +8 -7
  169. chia/_tests/plot_sync/test_sync_simulated.py +15 -13
  170. chia/_tests/plot_sync/util.py +3 -2
  171. chia/_tests/plotting/test_plot_manager.py +21 -5
  172. chia/_tests/plotting/test_prover.py +106 -0
  173. chia/_tests/pools/test_pool_cmdline.py +7 -6
  174. chia/_tests/pools/test_pool_puzzles_lifecycle.py +10 -3
  175. chia/_tests/pools/test_pool_rpc.py +92 -64
  176. chia/_tests/solver/__init__.py +0 -0
  177. chia/_tests/solver/config.py +4 -0
  178. chia/_tests/solver/test_solver_service.py +29 -0
  179. chia/_tests/timelord/test_new_peak.py +1 -1
  180. chia/_tests/timelord/test_timelord.py +1 -1
  181. chia/_tests/util/benchmarks.py +5 -12
  182. chia/_tests/util/blockchain.py +1 -1
  183. chia/_tests/util/build_network_protocol_files.py +7 -0
  184. chia/_tests/util/network_protocol_data.py +26 -0
  185. chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
  186. chia/_tests/util/protocol_messages_json.py +19 -0
  187. chia/_tests/util/setup_nodes.py +21 -2
  188. chia/_tests/util/spend_sim.py +9 -3
  189. chia/_tests/util/test_condition_tools.py +3 -2
  190. chia/_tests/util/test_full_block_utils.py +10 -9
  191. chia/_tests/util/test_misc.py +10 -10
  192. chia/_tests/util/test_network.py +32 -1
  193. chia/_tests/util/test_network_protocol_files.py +333 -318
  194. chia/_tests/util/test_network_protocol_json.py +6 -0
  195. chia/_tests/util/test_network_protocol_test.py +27 -0
  196. chia/_tests/util/test_priority_mutex.py +1 -1
  197. chia/_tests/util/test_replace_str_to_bytes.py +6 -6
  198. chia/_tests/wallet/cat_wallet/test_cat_wallet.py +17 -13
  199. chia/_tests/wallet/cat_wallet/test_trades.py +55 -55
  200. chia/_tests/wallet/did_wallet/test_did.py +118 -1229
  201. chia/_tests/wallet/nft_wallet/config.py +1 -1
  202. chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +73 -96
  203. chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +15 -12
  204. chia/_tests/wallet/nft_wallet/test_nft_offers.py +67 -134
  205. chia/_tests/wallet/nft_wallet/test_nft_wallet.py +31 -26
  206. chia/_tests/wallet/rpc/test_wallet_rpc.py +765 -371
  207. chia/_tests/wallet/sync/test_wallet_sync.py +6 -0
  208. chia/_tests/wallet/test_new_wallet_protocol.py +1 -1
  209. chia/_tests/wallet/test_signer_protocol.py +2 -2
  210. chia/_tests/wallet/test_singleton_lifecycle_fast.py +3 -4
  211. chia/_tests/wallet/test_transaction_store.py +42 -33
  212. chia/_tests/wallet/test_wallet.py +22 -31
  213. chia/_tests/wallet/test_wallet_state_manager.py +14 -7
  214. chia/_tests/wallet/vc_wallet/test_vc_wallet.py +53 -32
  215. chia/apis.py +2 -0
  216. chia/cmds/beta.py +7 -3
  217. chia/cmds/chia.py +2 -0
  218. chia/cmds/cmd_classes.py +11 -27
  219. chia/cmds/cmds_util.py +3 -0
  220. chia/cmds/coin_funcs.py +27 -22
  221. chia/cmds/configure.py +42 -18
  222. chia/cmds/dev/data.py +22 -3
  223. chia/cmds/farm.py +32 -0
  224. chia/cmds/farm_funcs.py +54 -5
  225. chia/cmds/init_funcs.py +4 -0
  226. chia/cmds/keys_funcs.py +8 -10
  227. chia/cmds/peer_funcs.py +8 -10
  228. chia/cmds/plotnft_funcs.py +24 -16
  229. chia/cmds/rpc.py +11 -1
  230. chia/cmds/show_funcs.py +5 -5
  231. chia/cmds/solver.py +33 -0
  232. chia/cmds/solver_funcs.py +21 -0
  233. chia/cmds/wallet.py +1 -1
  234. chia/cmds/wallet_funcs.py +149 -96
  235. chia/consensus/block_body_validation.py +8 -9
  236. chia/consensus/block_creation.py +9 -10
  237. chia/consensus/block_header_validation.py +61 -69
  238. chia/{full_node → consensus}/block_height_map.py +2 -1
  239. chia/consensus/block_height_map_protocol.py +21 -0
  240. chia/consensus/block_rewards.py +12 -12
  241. chia/consensus/blockchain.py +8 -18
  242. chia/consensus/default_constants.py +6 -6
  243. chia/consensus/generator_tools.py +1 -1
  244. chia/consensus/get_block_challenge.py +24 -25
  245. chia/consensus/pos_quality.py +28 -2
  246. chia/consensus/pot_iterations.py +15 -17
  247. chia/daemon/keychain_proxy.py +5 -0
  248. chia/daemon/server.py +2 -3
  249. chia/data_layer/data_layer.py +32 -24
  250. chia/data_layer/data_layer_errors.py +5 -0
  251. chia/data_layer/data_layer_rpc_api.py +1 -1
  252. chia/data_layer/data_layer_service.py +8 -0
  253. chia/data_layer/data_layer_util.py +49 -89
  254. chia/data_layer/data_layer_wallet.py +20 -17
  255. chia/data_layer/data_store.py +1051 -1462
  256. chia/data_layer/download_data.py +44 -115
  257. chia/{server → data_layer}/start_data_layer.py +2 -1
  258. chia/data_layer/util/benchmark.py +38 -53
  259. chia/farmer/farmer.py +3 -0
  260. chia/farmer/farmer_api.py +104 -5
  261. chia/farmer/farmer_rpc_api.py +20 -0
  262. chia/farmer/farmer_rpc_client.py +6 -2
  263. chia/farmer/farmer_service.py +8 -0
  264. chia/{server → farmer}/start_farmer.py +4 -3
  265. chia/full_node/block_store.py +20 -10
  266. chia/full_node/coin_store.py +12 -4
  267. chia/full_node/eligible_coin_spends.py +17 -72
  268. chia/full_node/full_node.py +68 -71
  269. chia/full_node/full_node_api.py +26 -32
  270. chia/full_node/full_node_rpc_api.py +44 -32
  271. chia/full_node/full_node_rpc_client.py +67 -79
  272. chia/full_node/full_node_service.py +8 -0
  273. chia/full_node/full_node_store.py +5 -3
  274. chia/full_node/mempool.py +14 -14
  275. chia/full_node/mempool_manager.py +67 -89
  276. chia/{server → full_node}/start_full_node.py +1 -1
  277. chia/full_node/subscriptions.py +2 -2
  278. chia/full_node/weight_proof.py +14 -15
  279. chia/harvester/harvester.py +8 -1
  280. chia/harvester/harvester_api.py +178 -44
  281. chia/harvester/harvester_service.py +8 -0
  282. chia/{server → harvester}/start_harvester.py +1 -1
  283. chia/introducer/introducer_service.py +8 -0
  284. chia/{server → introducer}/start_introducer.py +1 -1
  285. chia/plot_sync/receiver.py +6 -1
  286. chia/plot_sync/sender.py +7 -4
  287. chia/plotting/cache.py +37 -28
  288. chia/plotting/check_plots.py +83 -48
  289. chia/plotting/create_plots.py +3 -4
  290. chia/plotting/manager.py +18 -13
  291. chia/plotting/prover.py +153 -0
  292. chia/plotting/util.py +14 -6
  293. chia/pools/pool_wallet.py +6 -4
  294. chia/protocols/harvester_protocol.py +14 -0
  295. chia/protocols/outbound_message.py +1 -0
  296. chia/protocols/pool_protocol.py +1 -1
  297. chia/protocols/protocol_message_types.py +7 -0
  298. chia/protocols/shared_protocol.py +2 -0
  299. chia/protocols/solver_protocol.py +18 -0
  300. chia/rpc/rpc_server.py +1 -1
  301. chia/seeder/crawl_store.py +4 -8
  302. chia/seeder/crawler.py +2 -2
  303. chia/seeder/crawler_service.py +8 -0
  304. chia/seeder/start_crawler.py +1 -1
  305. chia/server/address_manager.py +12 -15
  306. chia/server/introducer_peers.py +1 -1
  307. chia/server/node_discovery.py +9 -10
  308. chia/server/rate_limit_numbers.py +157 -168
  309. chia/server/rate_limits.py +44 -41
  310. chia/server/resolve_peer_info.py +5 -0
  311. chia/server/server.py +17 -7
  312. chia/server/start_service.py +0 -1
  313. chia/simulator/block_tools.py +92 -58
  314. chia/simulator/full_node_simulator.py +1 -1
  315. chia/simulator/setup_services.py +51 -15
  316. chia/solver/__init__.py +0 -0
  317. chia/solver/solver.py +100 -0
  318. chia/solver/solver_api.py +59 -0
  319. chia/solver/solver_rpc_api.py +31 -0
  320. chia/solver/solver_rpc_client.py +16 -0
  321. chia/solver/solver_service.py +8 -0
  322. chia/solver/start_solver.py +102 -0
  323. {mozilla-ca → chia/ssl}/cacert.pem +0 -27
  324. chia/ssl/create_ssl.py +3 -2
  325. chia/{server → timelord}/start_timelord.py +1 -1
  326. chia/timelord/timelord.py +12 -13
  327. chia/timelord/timelord_service.py +8 -0
  328. chia/types/blockchain_format/proof_of_space.py +61 -17
  329. chia/types/coin_spend.py +0 -8
  330. chia/types/internal_mempool_item.py +3 -3
  331. chia/types/mempool_item.py +15 -8
  332. chia/types/mempool_submission_status.py +1 -1
  333. chia/util/config.py +1 -3
  334. chia/util/db_wrapper.py +7 -8
  335. chia/util/initial-config.yaml +46 -0
  336. chia/util/lru_cache.py +8 -4
  337. chia/util/network.py +9 -0
  338. chia/util/service_groups.py +3 -1
  339. chia/util/streamable.py +38 -8
  340. chia/util/virtual_project_analysis.py +1 -1
  341. chia/wallet/cat_wallet/cat_outer_puzzle.py +7 -4
  342. chia/wallet/cat_wallet/cat_wallet.py +13 -7
  343. chia/wallet/cat_wallet/r_cat_wallet.py +4 -1
  344. chia/wallet/conditions.py +1 -3
  345. chia/wallet/did_wallet/did_wallet.py +27 -332
  346. chia/wallet/nft_wallet/nft_puzzle_utils.py +1 -1
  347. chia/wallet/nft_wallet/nft_wallet.py +9 -7
  348. chia/wallet/puzzle_drivers.py +7 -8
  349. chia/{server → wallet}/start_wallet.py +1 -1
  350. chia/wallet/trade_manager.py +12 -9
  351. chia/wallet/transaction_record.py +14 -51
  352. chia/wallet/util/clvm_streamable.py +28 -41
  353. chia/wallet/util/merkle_utils.py +2 -2
  354. chia/wallet/util/tx_config.py +3 -6
  355. chia/wallet/vc_wallet/cr_cat_wallet.py +12 -6
  356. chia/wallet/vc_wallet/vc_wallet.py +13 -15
  357. chia/wallet/wallet.py +5 -3
  358. chia/wallet/wallet_node.py +25 -30
  359. chia/wallet/wallet_request_types.py +538 -101
  360. chia/wallet/wallet_rpc_api.py +398 -570
  361. chia/wallet/wallet_rpc_client.py +144 -332
  362. chia/wallet/wallet_service.py +8 -0
  363. chia/wallet/wallet_state_manager.py +53 -42
  364. chia/wallet/wallet_transaction_store.py +13 -5
  365. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/METADATA +31 -31
  366. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/RECORD +369 -241
  367. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/WHEEL +1 -1
  368. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7rc2.dist-info}/entry_points.txt +8 -7
  369. chia/full_node/mempool_check_conditions.py +0 -102
  370. chia/server/aliases.py +0 -35
  371. {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[[bytes32], Awaitable[Optional[tuple[Optional[uint32], str]]]]
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["id"]
149
- summary_type: int = summary["type"]
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, fingerprint, config):
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 = await wallet_client.get_transaction(transaction_id=transaction_id)
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: list[TransactionRecord] = await wallet_client.get_transactions(
232
- wallet_id, start=offset, end=(offset + limit), sort_key=sort_key, reverse=reverse, type_filter=type_filter
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
- j -= 1
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 = None
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
- wallet_id,
343
- final_amount,
344
- address.original_address,
345
- CMDTXConfigLoader(
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
- wallet_id,
365
- CMDTXConfigLoader(
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: Optional[tuple[Optional[uint32], str]] = await wallet_client.cat_asset_id_to_name(asset_id)
437
- if existing_info is None or existing_info[0] is None:
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, old_name = existing_info
444
- await wallet_client.set_cat_name(wallet_id, token_name)
445
- print(f"Successfully renamed {old_name} with wallet_id {wallet_id} on key {fingerprint} to {token_name}")
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[1]
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(int(name))
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[0])
643
- name = result[1]
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[1]
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["data"][:64]
940
- wallet_id = summary["id"]
941
- balances = await wallet_client.get_wallet_balance(wallet_id)
942
- typ = WalletType(int(summary["type"]))
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["confirmed_wallet_balance"], scale, address_prefix)
990
+ total_balance: str = print_balance(balances.confirmed_wallet_balance, scale, address_prefix)
945
991
  unconfirmed_wallet_balance: str = print_balance(
946
- balances["unconfirmed_wallet_balance"], scale, address_prefix
992
+ balances.unconfirmed_wallet_balance, scale, address_prefix
947
993
  )
948
- spendable_balance: str = print_balance(balances["spendable_balance"], scale, address_prefix)
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['name']}:")
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['pending_approval_balance'], scale, address_prefix)}"
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.to_json_dict_convenience(config)}")
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
- else:
1240
- if not wallet_has_did:
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
- tx = await wallet_client.send_notification(
1540
- address.puzzle_hash,
1541
- message,
1542
- amount,
1543
- fee,
1544
- push=push,
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(f"To get status, use command: chia wallet get_transaction -f {fingerprint} -tx 0x{tx.name}")
1551
- return [tx]
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
- print(f"Success: {await wallet_client.delete_notifications()}")
1632
+ await wallet_client.delete_notifications(DeleteNotifications())
1633
+ print("Success!")
1581
1634
  else:
1582
- print(f"Success: {await wallet_client.delete_notifications(ids=list(ids))}")
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
- pubkey, signature, signing_mode = await wallet_client.sign_message_by_address(
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
- pubkey, signature, signing_mode = await wallet_client.sign_message_by_id(did_id.original_address, message)
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
- pubkey, signature, signing_mode = await wallet_client.sign_message_by_id(nft_id.original_address, message)
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
- fee,
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 [TransactionRecord.from_json_dict_convenience(tx) for tx in response["transactions"]]
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, fingerprint, config):
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, fingerprint),
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(bytes32(spend.puzzle_hash), block.height)
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, bytes32(puzzle_hash), uint64(amount))
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[bytes32(spend_id)] = spend
141
- self.removals_since_fork[bytes32(spend_id)] = ForkRem(bytes32(spend.puzzle_hash), block.height)
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
- else:
338
- if block.transactions_info.generator_root != bytes([0] * 32):
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[bytes32(spend.coin_id)] = bytes32(spend.puzzle_hash)
384
+ removals_puzzle_dic[spend.coin_id] = spend.puzzle_hash
386
385
  for puzzle_hash, amount, _ in spend.create_coin:
387
- c = Coin(bytes32(spend.coin_id), bytes32(puzzle_hash), uint64(amount))
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
@@ -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
- if is_genesis:
359
- rc_sp_hash = constants.GENESIS_CHALLENGE
360
- else:
361
- assert prev_block is not None
362
- assert blocks is not None
363
- curr = prev_block
364
- while not curr.first_in_sub_slot:
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)