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
@@ -1,18 +1,23 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from pathlib import Path
4
- from typing import Optional, cast
5
4
 
6
5
  from chia_rs.sized_bytes import bytes32
7
6
  from chia_rs.sized_ints import uint32, uint64
8
7
 
9
8
  from chia._tests.cmds.cmd_test_utils import TestRpcClients, TestWalletRpcClient, logType, run_cli_command_and_assert
10
- from chia._tests.cmds.wallet.test_consts import FINGERPRINT, FINGERPRINT_ARG, get_bytes32
9
+ from chia._tests.cmds.wallet.test_consts import FINGERPRINT, FINGERPRINT_ARG, STD_TX, STD_UTX, get_bytes32
11
10
  from chia.util.bech32m import encode_puzzle_hash
12
- from chia.wallet.conditions import ConditionValidTimes
11
+ from chia.wallet.conditions import Condition, ConditionValidTimes
13
12
  from chia.wallet.notification_store import Notification
14
- from chia.wallet.transaction_record import TransactionRecord
15
- from chia.wallet.wallet_request_types import GetNotifications, GetNotificationsResponse
13
+ from chia.wallet.util.tx_config import TXConfig
14
+ from chia.wallet.wallet_request_types import (
15
+ DeleteNotifications,
16
+ GetNotifications,
17
+ GetNotificationsResponse,
18
+ SendNotification,
19
+ SendNotificationResponse,
20
+ )
16
21
 
17
22
  test_condition_valid_times: ConditionValidTimes = ConditionValidTimes(min_time=uint64(100), max_time=uint64(150))
18
23
 
@@ -26,20 +31,17 @@ def test_notifications_send(capsys: object, get_test_cli_clients: tuple[TestRpcC
26
31
  class NotificationsSendRpcClient(TestWalletRpcClient):
27
32
  async def send_notification(
28
33
  self,
29
- target: bytes32,
30
- msg: bytes,
31
- amount: uint64,
32
- fee: uint64 = uint64(0),
33
- push: bool = True,
34
+ request: SendNotification,
35
+ tx_config: TXConfig,
36
+ extra_conditions: tuple[Condition, ...] = tuple(),
34
37
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
35
- ) -> TransactionRecord:
36
- self.add_to_log("send_notification", (target, msg, amount, fee, push, timelock_info))
37
-
38
- class FakeTransactionRecord:
39
- def __init__(self, name: str) -> None:
40
- self.name = name
38
+ ) -> SendNotificationResponse:
39
+ self.add_to_log(
40
+ "send_notification",
41
+ (request.target, request.message, request.amount, request.fee, request.push, timelock_info),
42
+ )
41
43
 
42
- return cast(TransactionRecord, FakeTransactionRecord(get_bytes32(2).hex()))
44
+ return SendNotificationResponse([STD_UTX], [STD_TX], tx=STD_TX)
43
45
 
44
46
  inst_rpc_client = NotificationsSendRpcClient()
45
47
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -111,15 +113,31 @@ def test_notifications_delete(capsys: object, get_test_cli_clients: tuple[TestRp
111
113
 
112
114
  # set RPC Client
113
115
  class NotificationsDeleteRpcClient(TestWalletRpcClient):
114
- async def delete_notifications(self, ids: Optional[list[bytes32]] = None) -> bool:
115
- self.add_to_log("delete_notifications", (ids,))
116
- return True
116
+ async def delete_notifications(self, request: DeleteNotifications) -> None:
117
+ self.add_to_log("delete_notifications", (request.ids,))
117
118
 
118
119
  inst_rpc_client = NotificationsDeleteRpcClient()
119
120
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
121
+ # Try all first
120
122
  command_args = ["wallet", "notifications", "delete", FINGERPRINT_ARG, "--all"]
121
123
  # these are various things that should be in the output
122
- assert_list = ["Success: True"]
124
+ assert_list = ["Success!"]
123
125
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
124
126
  expected_calls: logType = {"delete_notifications": [(None,)]}
125
127
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
128
+ # Next try specifying IDs
129
+ command_args = [
130
+ "wallet",
131
+ "notifications",
132
+ "delete",
133
+ FINGERPRINT_ARG,
134
+ "--id",
135
+ bytes32.zeros.hex(),
136
+ "--id",
137
+ bytes32.zeros.hex(),
138
+ ]
139
+ # these are various things that should be in the output
140
+ assert_list = ["Success!"]
141
+ run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
142
+ expected_calls = {"delete_notifications": [([bytes32.zeros, bytes32.zeros],)]}
143
+ test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
@@ -16,6 +16,7 @@ from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG, TXConfig
16
16
  from chia.wallet.vc_wallet.vc_drivers import VCLineageProof, VerifiedCredential
17
17
  from chia.wallet.vc_wallet.vc_store import VCRecord
18
18
  from chia.wallet.wallet_request_types import (
19
+ GetWallets,
19
20
  VCAddProofs,
20
21
  VCGet,
21
22
  VCGetList,
@@ -395,6 +396,6 @@ def test_vcs_approve_r_cats(capsys: object, get_test_cli_clients: tuple[TestRpcC
395
396
  test_condition_valid_times,
396
397
  )
397
398
  ],
398
- "get_wallets": [(None,)],
399
+ "get_wallets": [(GetWallets(type=None, include_data=True),)],
399
400
  }
400
401
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
@@ -9,7 +9,7 @@ import importlib_resources
9
9
  import pytest
10
10
  from chia_rs import Coin, G2Element
11
11
  from chia_rs.sized_bytes import bytes32
12
- from chia_rs.sized_ints import uint8, uint16, uint32, uint64
12
+ from chia_rs.sized_ints import uint8, uint16, uint32, uint64, uint128
13
13
  from click.testing import CliRunner
14
14
 
15
15
  from chia._tests.cmds.cmd_test_utils import TestRpcClients, TestWalletRpcClient, logType, run_cli_command_and_assert
@@ -26,32 +26,56 @@ from chia._tests.cmds.wallet.test_consts import (
26
26
  )
27
27
  from chia.cmds.cmds_util import TransactionBundle
28
28
  from chia.protocols.outbound_message import NodeType
29
- from chia.types.blockchain_format.program import Program
30
29
  from chia.types.signing_mode import SigningMode
31
30
  from chia.util.bech32m import encode_puzzle_hash
32
- from chia.wallet.conditions import ConditionValidTimes
31
+ from chia.wallet.conditions import Condition, ConditionValidTimes
33
32
  from chia.wallet.trade_record import TradeRecord
34
33
  from chia.wallet.trading.offer import Offer
35
34
  from chia.wallet.trading.trade_status import TradeStatus
36
35
  from chia.wallet.transaction_record import TransactionRecord
37
36
  from chia.wallet.transaction_sorting import SortKey
38
- from chia.wallet.util.query_filter import HashFilter, TransactionTypeFilter
37
+ from chia.wallet.util.query_filter import HashFilter
39
38
  from chia.wallet.util.transaction_type import TransactionType
40
39
  from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG, TXConfig
41
40
  from chia.wallet.util.wallet_types import WalletType
42
41
  from chia.wallet.wallet_coin_store import GetCoinRecords
43
42
  from chia.wallet.wallet_request_types import (
43
+ BalanceResponse,
44
44
  CancelOfferResponse,
45
+ CATAssetIDToName,
46
+ CATAssetIDToNameResponse,
47
+ CATSetName,
48
+ CATSetNameResponse,
49
+ CATSpend,
45
50
  CATSpendResponse,
51
+ ClawbackPuzzleDecoratorOverride,
46
52
  CreateOfferForIDsResponse,
53
+ DeleteUnconfirmedTransactions,
54
+ ExtendDerivationIndex,
55
+ ExtendDerivationIndexResponse,
47
56
  FungibleAsset,
57
+ GetCurrentDerivationIndexResponse,
48
58
  GetHeightInfoResponse,
59
+ GetNextAddress,
60
+ GetNextAddressResponse,
61
+ GetTransaction,
62
+ GetTransactions,
63
+ GetTransactionsResponse,
64
+ GetWalletBalance,
65
+ GetWalletBalanceResponse,
66
+ GetWallets,
67
+ GetWalletsResponse,
49
68
  NFTCalculateRoyalties,
50
69
  NFTGetWalletDID,
51
70
  NFTGetWalletDIDResponse,
52
71
  RoyaltyAsset,
72
+ SendTransaction,
53
73
  SendTransactionResponse,
74
+ SpendClawbackCoins,
75
+ SpendClawbackCoinsResponse,
54
76
  TakeOfferResponse,
77
+ TransactionRecordWithMetadata,
78
+ WalletInfoResponse,
55
79
  )
56
80
  from chia.wallet.wallet_spend_bundle import WalletSpendBundle
57
81
 
@@ -91,12 +115,12 @@ def test_get_transaction(capsys: object, get_test_cli_clients: tuple[TestRpcClie
91
115
  run_cli_command_and_assert(capsys, root_dir, [*command_args, CAT_FINGERPRINT_ARG], cat_assert_list)
92
116
  # these are various things that should be in the output
93
117
  expected_calls: logType = {
94
- "get_wallets": [(None,), (None,), (None,)],
118
+ "get_wallets": [(GetWallets(type=None, include_data=True),)] * 3,
95
119
  "get_cat_name": [(1,)],
96
120
  "get_transaction": [
97
- (bytes32.from_hexstr(bytes32_hexstr),),
98
- (bytes32.from_hexstr(bytes32_hexstr),),
99
- (bytes32.from_hexstr(bytes32_hexstr),),
121
+ (GetTransaction(bytes32.from_hexstr(bytes32_hexstr)),),
122
+ (GetTransaction(bytes32.from_hexstr(bytes32_hexstr)),),
123
+ (GetTransaction(bytes32.from_hexstr(bytes32_hexstr)),),
100
124
  ],
101
125
  }
102
126
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
@@ -107,27 +131,17 @@ def test_get_transactions(capsys: object, get_test_cli_clients: tuple[TestRpcCli
107
131
 
108
132
  # set RPC Client
109
133
  class GetTransactionsWalletRpcClient(TestWalletRpcClient):
110
- async def get_transactions(
111
- self,
112
- wallet_id: int,
113
- start: int,
114
- end: int,
115
- sort_key: Optional[SortKey] = None,
116
- reverse: bool = False,
117
- to_address: Optional[str] = None,
118
- type_filter: Optional[TransactionTypeFilter] = None,
119
- confirmed: Optional[bool] = None,
120
- ) -> list[TransactionRecord]:
121
- self.add_to_log(
122
- "get_transactions", (wallet_id, start, end, sort_key, reverse, to_address, type_filter, confirmed)
123
- )
134
+ async def get_transactions(self, request: GetTransactions) -> GetTransactionsResponse:
135
+ self.add_to_log("get_transactions", (request,))
124
136
  l_tx_rec = []
125
- for i in range(start, end):
126
- t_type = TransactionType.INCOMING_CLAWBACK_SEND if i == end - 1 else TransactionType.INCOMING_TX
127
- tx_rec = TransactionRecord(
137
+ assert request.start is not None and request.end is not None
138
+ for i in range(request.start, request.end):
139
+ t_type = TransactionType.INCOMING_CLAWBACK_SEND if i == request.end - 1 else TransactionType.INCOMING_TX
140
+ tx_rec = TransactionRecordWithMetadata(
128
141
  confirmed_at_height=uint32(1 + i),
129
142
  created_at_time=uint64(1234 + i),
130
143
  to_puzzle_hash=bytes32([1 + i] * 32),
144
+ to_address=encode_puzzle_hash(bytes32([1 + i] * 32), "xch"),
131
145
  amount=uint64(12345678 + i),
132
146
  fee_amount=uint64(1234567 + i),
133
147
  confirmed=False,
@@ -140,12 +154,12 @@ def test_get_transactions(capsys: object, get_test_cli_clients: tuple[TestRpcCli
140
154
  trade_id=None,
141
155
  type=uint32(t_type.value),
142
156
  name=bytes32([2 + i] * 32),
143
- memos=[(bytes32([3 + i] * 32), [bytes([4 + i] * 32)])],
157
+ memos={bytes32([3 + i] * 32): [bytes([4 + i] * 32)]},
144
158
  valid_times=ConditionValidTimes(),
145
159
  )
146
160
  l_tx_rec.append(tx_rec)
147
161
 
148
- return l_tx_rec
162
+ return GetTransactionsResponse(l_tx_rec, request.wallet_id)
149
163
 
150
164
  async def get_coin_records(self, request: GetCoinRecords) -> dict[str, Any]:
151
165
  self.add_to_log("get_coin_records", (request,))
@@ -192,10 +206,10 @@ def test_get_transactions(capsys: object, get_test_cli_clients: tuple[TestRpcCli
192
206
  # these are various things that should be in the output
193
207
  expected_coin_id = Coin(get_bytes32(4), get_bytes32(5), uint64(12345678)).name()
194
208
  expected_calls: logType = {
195
- "get_wallets": [(None,), (None,)],
209
+ "get_wallets": [(GetWallets(type=None, include_data=True),)] * 2,
196
210
  "get_transactions": [
197
- (1, 2, 4, SortKey.RELEVANCE, True, None, None, None),
198
- (1, 2, 4, SortKey.RELEVANCE, True, None, None, None),
211
+ (GetTransactions(uint32(1), uint16(2), uint16(4), SortKey.RELEVANCE.name, True, None, None, None),),
212
+ (GetTransactions(uint32(1), uint16(2), uint16(4), SortKey.RELEVANCE.name, True, None, None, None),),
199
213
  ],
200
214
  "get_coin_records": [
201
215
  (GetCoinRecords(coin_id_filter=HashFilter.include([expected_coin_id])),),
@@ -210,46 +224,52 @@ def test_show(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
210
224
 
211
225
  # set RPC Client
212
226
  class ShowRpcClient(TestWalletRpcClient):
213
- async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> list[dict[str, Union[str, int]]]:
214
- self.add_to_log("get_wallets", (wallet_type,))
215
- wallet_list: list[dict[str, Union[str, int]]] = [
216
- {"data": "", "id": 1, "name": "Chia Wallet", "type": WalletType.STANDARD_WALLET},
217
- {
218
- "data": "dc59bcd60ce5fc9c93a5d3b11875486b03efb53a53da61e453f5cf61a774686001ff02ffff01ff02ffff03ff2f"
227
+ async def get_wallets(self, request: GetWallets) -> GetWalletsResponse:
228
+ self.add_to_log("get_wallets", (request,))
229
+ wallet_list: list[WalletInfoResponse] = [
230
+ WalletInfoResponse(
231
+ data="", id=uint32(1), name="Chia Wallet", type=uint8(WalletType.STANDARD_WALLET.value)
232
+ ),
233
+ WalletInfoResponse(
234
+ data="dc59bcd60ce5fc9c93a5d3b11875486b03efb53a53da61e453f5cf61a774686001ff02ffff01ff02ffff03ff2f"
219
235
  "ffff01ff0880ffff01ff02ffff03ffff09ff2dff0280ff80ffff01ff088080ff018080ff0180ffff04ffff01a09848f0ef"
220
236
  "6587565c48ee225cc837abbe406b91946c938e1739da49fc26c04286ff018080",
221
- "id": 2,
222
- "name": "test2",
223
- "type": WalletType.CAT,
224
- },
225
- {
226
- "data": '{"did_id": "0xcee228b8638c67cb66a55085be99fa3b457ae5b56915896f581990f600b2c652"}',
227
- "id": 3,
228
- "name": "NFT Wallet",
229
- "type": WalletType.NFT,
230
- },
237
+ id=uint32(2),
238
+ name="test2",
239
+ type=uint8(WalletType.CAT.value),
240
+ ),
241
+ WalletInfoResponse(
242
+ data='{"did_id": "0xcee228b8638c67cb66a55085be99fa3b457ae5b56915896f581990f600b2c652"}',
243
+ id=uint32(3),
244
+ name="NFT Wallet",
245
+ type=uint8(WalletType.NFT.value),
246
+ ),
231
247
  ]
232
- if wallet_type is WalletType.CAT:
233
- return [wallet_list[1]]
234
- return wallet_list
248
+ if request.type is not None and WalletType(request.type) is WalletType.CAT:
249
+ return GetWalletsResponse([wallet_list[1]])
250
+ return GetWalletsResponse(wallet_list)
235
251
 
236
252
  async def get_height_info(self) -> GetHeightInfoResponse:
237
253
  self.add_to_log("get_height_info", ())
238
254
  return GetHeightInfoResponse(uint32(10))
239
255
 
240
- async def get_wallet_balance(self, wallet_id: int) -> dict[str, uint64]:
241
- self.add_to_log("get_wallet_balance", (wallet_id,))
242
- if wallet_id == 1:
243
- amount = uint64(1000000000)
244
- elif wallet_id == 2:
245
- amount = uint64(2000000000)
256
+ async def get_wallet_balance(self, request: GetWalletBalance) -> GetWalletBalanceResponse:
257
+ self.add_to_log("get_wallet_balance", (request,))
258
+ if request.wallet_id == 1:
259
+ amount = uint128(1000000000)
260
+ elif request.wallet_id == 2:
261
+ amount = uint128(2000000000)
246
262
  else:
247
- amount = uint64(1)
248
- return {
249
- "confirmed_wallet_balance": amount,
250
- "spendable_balance": amount,
251
- "unconfirmed_wallet_balance": uint64(0),
252
- }
263
+ amount = uint128(1)
264
+ return GetWalletBalanceResponse(
265
+ BalanceResponse(
266
+ wallet_id=request.wallet_id,
267
+ wallet_type=uint8(0), # Doesn't matter
268
+ confirmed_wallet_balance=amount,
269
+ spendable_balance=amount,
270
+ unconfirmed_wallet_balance=uint128(0),
271
+ )
272
+ )
253
273
 
254
274
  async def get_nft_wallet_did(self, request: NFTGetWalletDID) -> NFTGetWalletDIDResponse:
255
275
  self.add_to_log("get_nft_wallet_did", (request.wallet_id,))
@@ -296,10 +316,18 @@ def test_show(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
296
316
  run_cli_command_and_assert(capsys, root_dir, [*command_args, "--wallet_type", "cat"], other_assert_list)
297
317
  # these are various things that should be in the output
298
318
  expected_calls: logType = {
299
- "get_wallets": [(None,), (WalletType.CAT,)],
319
+ "get_wallets": [
320
+ (GetWallets(type=None, include_data=True),),
321
+ (GetWallets(type=uint16(WalletType.CAT.value), include_data=True),),
322
+ ],
300
323
  "get_sync_status": [(), ()],
301
324
  "get_height_info": [(), ()],
302
- "get_wallet_balance": [(1,), (2,), (3,), (2,)],
325
+ "get_wallet_balance": [
326
+ (GetWalletBalance(wallet_id=uint32(1)),),
327
+ (GetWalletBalance(wallet_id=uint32(2)),),
328
+ (GetWalletBalance(wallet_id=uint32(3)),),
329
+ (GetWalletBalance(wallet_id=uint32(2)),),
330
+ ],
303
331
  "get_nft_wallet_did": [(3,)],
304
332
  "get_connections": [(None,), (None,)],
305
333
  }
@@ -313,25 +341,31 @@ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
313
341
  class SendWalletRpcClient(TestWalletRpcClient):
314
342
  async def send_transaction(
315
343
  self,
316
- wallet_id: int,
317
- amount: uint64,
318
- address: str,
344
+ request: SendTransaction,
319
345
  tx_config: TXConfig,
320
- fee: uint64 = uint64(0),
321
- memos: Optional[list[str]] = None,
322
- puzzle_decorator_override: Optional[list[dict[str, Union[str, int, bool]]]] = None,
323
- push: bool = True,
346
+ extra_conditions: tuple[Condition, ...] = tuple(),
324
347
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
325
348
  ) -> SendTransactionResponse:
326
349
  self.add_to_log(
327
350
  "send_transaction",
328
- (wallet_id, amount, address, tx_config, fee, memos, puzzle_decorator_override, push, timelock_info),
351
+ (
352
+ request.wallet_id,
353
+ request.amount,
354
+ request.address,
355
+ tx_config,
356
+ request.fee,
357
+ request.memos,
358
+ request.puzzle_decorator,
359
+ request.push,
360
+ timelock_info,
361
+ ),
329
362
  )
330
363
  name = get_bytes32(2)
331
364
  tx_rec = TransactionRecord(
332
365
  confirmed_at_height=uint32(1),
333
366
  created_at_time=uint64(1234),
334
367
  to_puzzle_hash=get_bytes32(1),
368
+ to_address=encode_puzzle_hash(get_bytes32(1), "xch"),
335
369
  amount=uint64(12345678),
336
370
  fee_amount=uint64(1234567),
337
371
  confirmed=False,
@@ -344,38 +378,31 @@ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
344
378
  trade_id=None,
345
379
  type=uint32(TransactionType.OUTGOING_CLAWBACK.value),
346
380
  name=name,
347
- memos=[(get_bytes32(3), [bytes([4] * 32)])],
381
+ memos={get_bytes32(3): [bytes([4] * 32)]},
348
382
  valid_times=ConditionValidTimes(),
349
383
  )
350
384
  return SendTransactionResponse([STD_UTX], [STD_TX], tx_rec, name)
351
385
 
352
386
  async def cat_spend(
353
387
  self,
354
- wallet_id: int,
388
+ request: CATSpend,
355
389
  tx_config: TXConfig,
356
- amount: Optional[uint64] = None,
357
- inner_address: Optional[str] = None,
358
- fee: uint64 = uint64(0),
359
- memos: Optional[list[str]] = None,
360
- additions: Optional[list[dict[str, Any]]] = None,
361
- removals: Optional[list[Coin]] = None,
362
- cat_discrepancy: Optional[tuple[int, Program, Program]] = None, # (extra_delta, tail_reveal, tail_solution)
363
- push: bool = True,
390
+ extra_conditions: tuple[Condition, ...] = tuple(),
364
391
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
365
392
  ) -> CATSpendResponse:
366
393
  self.add_to_log(
367
394
  "cat_spend",
368
395
  (
369
- wallet_id,
396
+ request.wallet_id,
370
397
  tx_config,
371
- amount,
372
- inner_address,
373
- fee,
374
- memos,
375
- additions,
376
- removals,
377
- cat_discrepancy,
378
- push,
398
+ request.amount,
399
+ request.inner_address,
400
+ request.fee,
401
+ request.memos,
402
+ request.additions,
403
+ request.coins,
404
+ request.cat_discrepancy,
405
+ request.push,
379
406
  timelock_info,
380
407
  ),
381
408
  )
@@ -427,7 +454,7 @@ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
427
454
 
428
455
  # these are various things that should be in the output
429
456
  expected_calls: logType = {
430
- "get_wallets": [(None,), (None,)],
457
+ "get_wallets": [(GetWallets(type=None, include_data=True),)] * 2,
431
458
  "send_transaction": [
432
459
  (
433
460
  1,
@@ -442,7 +469,7 @@ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
442
469
  ),
443
470
  500000000000,
444
471
  ["0x6262626262626262626262626262626262626262626262626262626262626262"],
445
- [{"decorator": "CLAWBACK", "clawback_timelock": 60}],
472
+ [ClawbackPuzzleDecoratorOverride(decorator="CLAWBACK", clawback_timelock=uint64(60))],
446
473
  True,
447
474
  test_condition_valid_times,
448
475
  )
@@ -468,7 +495,7 @@ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path])
468
495
  test_condition_valid_times,
469
496
  )
470
497
  ],
471
- "get_transaction": [(get_bytes32(2),), (get_bytes32(2),)],
498
+ "get_transaction": [(GetTransaction(get_bytes32(2)),), (GetTransaction(get_bytes32(2)),)],
472
499
  }
473
500
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
474
501
 
@@ -478,11 +505,11 @@ def test_get_address(capsys: object, get_test_cli_clients: tuple[TestRpcClients,
478
505
 
479
506
  # set RPC Client
480
507
  class GetAddressWalletRpcClient(TestWalletRpcClient):
481
- async def get_next_address(self, wallet_id: int, new_address: bool) -> str:
482
- self.add_to_log("get_next_address", (wallet_id, new_address))
483
- if new_address:
484
- return encode_puzzle_hash(get_bytes32(3), "xch")
485
- return encode_puzzle_hash(get_bytes32(4), "xch")
508
+ async def get_next_address(self, request: GetNextAddress) -> GetNextAddressResponse:
509
+ self.add_to_log("get_next_address", (request.wallet_id, request.new_address))
510
+ if request.new_address:
511
+ return GetNextAddressResponse(request.wallet_id, encode_puzzle_hash(get_bytes32(3), "xch"))
512
+ return GetNextAddressResponse(request.wallet_id, encode_puzzle_hash(get_bytes32(4), "xch"))
486
513
 
487
514
  inst_rpc_client = GetAddressWalletRpcClient()
488
515
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -511,30 +538,25 @@ def test_clawback(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Pa
511
538
  class ClawbackWalletRpcClient(TestWalletRpcClient):
512
539
  async def spend_clawback_coins(
513
540
  self,
514
- coin_ids: list[bytes32],
515
- fee: int = 0,
516
- force: bool = False,
517
- push: bool = True,
541
+ request: SpendClawbackCoins,
542
+ tx_config: TXConfig,
543
+ extra_conditions: tuple[Condition, ...] = tuple(),
518
544
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
519
- ) -> dict[str, Any]:
520
- self.add_to_log("spend_clawback_coins", (coin_ids, fee, force, push, timelock_info))
521
- tx_hex_list = [get_bytes32(6).hex(), get_bytes32(7).hex(), get_bytes32(8).hex()]
522
- return {
523
- "transaction_ids": tx_hex_list,
524
- "transactions": [
525
- STD_TX.to_json_dict_convenience(
526
- {
527
- "selected_network": "mainnet",
528
- "network_overrides": {"config": {"mainnet": {"address_prefix": "xch"}}},
529
- }
530
- )
531
- ],
532
- }
545
+ ) -> SpendClawbackCoinsResponse:
546
+ self.add_to_log(
547
+ "spend_clawback_coins", (request.coin_ids, request.fee, request.force, request.push, timelock_info)
548
+ )
549
+ tx_list = [get_bytes32(6), get_bytes32(7), get_bytes32(8)]
550
+ return SpendClawbackCoinsResponse(
551
+ transaction_ids=tx_list,
552
+ transactions=[STD_TX],
553
+ unsigned_transactions=[STD_UTX],
554
+ )
533
555
 
534
556
  inst_rpc_client = ClawbackWalletRpcClient()
535
557
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
536
558
  tx_ids = [get_bytes32(3), get_bytes32(4), get_bytes32(5)]
537
- r_tx_ids_hex = [get_bytes32(6).hex(), get_bytes32(7).hex(), get_bytes32(8).hex()]
559
+ r_tx_ids_hex = ["0x" + get_bytes32(6).hex(), "0x" + get_bytes32(7).hex(), "0x" + get_bytes32(8).hex()]
538
560
  command_args = [
539
561
  "wallet",
540
562
  "clawback",
@@ -548,7 +570,7 @@ def test_clawback(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Pa
548
570
  "--expires-at",
549
571
  "150",
550
572
  ]
551
- run_cli_command_and_assert(capsys, root_dir, command_args, ["transaction_ids", str(r_tx_ids_hex)])
573
+ run_cli_command_and_assert(capsys, root_dir, command_args, ["transaction_ids", *r_tx_ids_hex])
552
574
  # these are various things that should be in the output
553
575
  expected_calls: logType = {
554
576
  "spend_clawback_coins": [(tx_ids, 500000000000, False, True, test_condition_valid_times)],
@@ -561,8 +583,8 @@ def test_del_unconfirmed_tx(capsys: object, get_test_cli_clients: tuple[TestRpcC
561
583
 
562
584
  # set RPC Client
563
585
  class UnconfirmedTxRpcClient(TestWalletRpcClient):
564
- async def delete_unconfirmed_transactions(self, wallet_id: int) -> None:
565
- self.add_to_log("delete_unconfirmed_transactions", (wallet_id,))
586
+ async def delete_unconfirmed_transactions(self, request: DeleteUnconfirmedTransactions) -> None:
587
+ self.add_to_log("delete_unconfirmed_transactions", (request.wallet_id,))
566
588
 
567
589
  inst_rpc_client = UnconfirmedTxRpcClient()
568
590
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -586,9 +608,9 @@ def test_get_derivation_index(capsys: object, get_test_cli_clients: tuple[TestRp
586
608
 
587
609
  # set RPC Client
588
610
  class GetDerivationIndexRpcClient(TestWalletRpcClient):
589
- async def get_current_derivation_index(self) -> str:
611
+ async def get_current_derivation_index(self) -> GetCurrentDerivationIndexResponse:
590
612
  self.add_to_log("get_current_derivation_index", ())
591
- return str(520)
613
+ return GetCurrentDerivationIndexResponse(uint32(520))
592
614
 
593
615
  inst_rpc_client = GetDerivationIndexRpcClient()
594
616
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -617,8 +639,9 @@ def test_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcClients
617
639
  # these are various things that should be in the output
618
640
  assert_list = [
619
641
  f"Message: {message.hex()}",
620
- f"Public Key: {bytes([3] * 48).hex()}",
621
- f"Signature: {bytes([6] * 576).hex()}",
642
+ "Public Key: b5acf3599bc5fa5da1c00f6cc3d5bcf1560def67778b7f50a8c373a83f78761505b6250ab776e38a292e26628009aec4",
643
+ "Signature: c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
644
+ "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
622
645
  f"Signing Mode: {SigningMode.CHIP_0002.value}",
623
646
  ]
624
647
  run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-a{xch_addr}"], assert_list)
@@ -633,9 +656,9 @@ def test_update_derivation_index(capsys: object, get_test_cli_clients: tuple[Tes
633
656
 
634
657
  # set RPC Client
635
658
  class UpdateDerivationIndexRpcClient(TestWalletRpcClient):
636
- async def extend_derivation_index(self, index: int) -> str:
637
- self.add_to_log("extend_derivation_index", (index,))
638
- return str(index)
659
+ async def extend_derivation_index(self, request: ExtendDerivationIndex) -> ExtendDerivationIndexResponse:
660
+ self.add_to_log("extend_derivation_index", (request.index,))
661
+ return ExtendDerivationIndexResponse(request.index)
639
662
 
640
663
  inst_rpc_client = UpdateDerivationIndexRpcClient()
641
664
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -657,8 +680,9 @@ def test_add_token(capsys: object, get_test_cli_clients: tuple[TestRpcClients, P
657
680
  self.add_to_log("create_wallet_for_existing_cat", (asset_id,))
658
681
  return {"wallet_id": 3}
659
682
 
660
- async def set_cat_name(self, wallet_id: int, name: str) -> None:
661
- self.add_to_log("set_cat_name", (wallet_id, name))
683
+ async def set_cat_name(self, request: CATSetName) -> CATSetNameResponse:
684
+ self.add_to_log("set_cat_name", (request.wallet_id, request.name))
685
+ return CATSetNameResponse(wallet_id=request.wallet_id)
662
686
 
663
687
  inst_rpc_client = AddTokenRpcClient()
664
688
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -1025,14 +1049,14 @@ def test_take_offer(capsys: object, get_test_cli_clients: tuple[TestRpcClients,
1025
1049
  ),
1026
1050
  )
1027
1051
 
1028
- async def cat_asset_id_to_name(self, asset_id: bytes32) -> Optional[tuple[Optional[uint32], str]]:
1029
- self.add_to_log("cat_asset_id_to_name", (asset_id,))
1030
- if asset_id == cat_offered_id:
1031
- return uint32(2), "offered cat"
1032
- elif asset_id == cat_requested_id:
1033
- return uint32(3), "requested cat"
1052
+ async def cat_asset_id_to_name(self, request: CATAssetIDToName) -> CATAssetIDToNameResponse:
1053
+ self.add_to_log("cat_asset_id_to_name", (request.asset_id,))
1054
+ if request.asset_id == cat_offered_id:
1055
+ return CATAssetIDToNameResponse(uint32(2), "offered cat")
1056
+ elif request.asset_id == cat_requested_id:
1057
+ return CATAssetIDToNameResponse(uint32(3), "requested cat")
1034
1058
  else:
1035
- return None
1059
+ return CATAssetIDToNameResponse(wallet_id=None, name=None)
1036
1060
 
1037
1061
  inst_rpc_client = TakeOfferRpcClient()
1038
1062
  test_rpc_clients.wallet_rpc_client = inst_rpc_client