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
@@ -24,7 +24,6 @@ from chia._tests.util.setup_nodes import setup_simulators_and_wallets_service
24
24
  from chia._tests.util.time_out_assert import time_out_assert
25
25
  from chia.pools.pool_wallet_info import PoolSingletonState, PoolWalletInfo
26
26
  from chia.rpc.rpc_client import ResponseFailureError
27
- from chia.server.aliases import WalletService
28
27
  from chia.simulator.add_blocks_in_batches import add_blocks_in_batches
29
28
  from chia.simulator.block_tools import BlockTools, get_plot_dir
30
29
  from chia.simulator.full_node_simulator import FullNodeSimulator
@@ -41,8 +40,19 @@ from chia.wallet.util.transaction_type import TransactionType
41
40
  from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
42
41
  from chia.wallet.util.wallet_types import WalletType
43
42
  from chia.wallet.wallet_node import WalletNode
44
- from chia.wallet.wallet_request_types import PWAbsorbRewards, PWJoinPool, PWSelfPool, PWStatus
43
+ from chia.wallet.wallet_request_types import (
44
+ DeleteUnconfirmedTransactions,
45
+ GetTransactions,
46
+ GetWalletBalance,
47
+ GetWallets,
48
+ PWAbsorbRewards,
49
+ PWJoinPool,
50
+ PWSelfPool,
51
+ PWStatus,
52
+ SendTransaction,
53
+ )
45
54
  from chia.wallet.wallet_rpc_client import WalletRpcClient
55
+ from chia.wallet.wallet_service import WalletService
46
56
  from chia.wallet.wallet_state_manager import WalletStateManager
47
57
 
48
58
  # TODO: Compare deducted fees in all tests against reported total_fee
@@ -242,9 +252,9 @@ async def process_plotnft_create(
242
252
  ]
243
253
  )
244
254
 
245
- summaries_response = await wallet_rpc.get_wallets(WalletType.POOLING_WALLET)
246
- assert len(summaries_response) == 2 if second_nft else 1
247
- wallet_id: int = summaries_response[-1]["id"]
255
+ summaries_response = await wallet_rpc.get_wallets(GetWallets(type=uint16(WalletType.POOLING_WALLET)))
256
+ assert len(summaries_response.wallets) == 2 if second_nft else 1
257
+ wallet_id: int = summaries_response.wallets[-1].id
248
258
 
249
259
  await verify_pool_state(wallet_rpc, wallet_id, expected_state=expected_state)
250
260
  return wallet_id
@@ -290,16 +300,17 @@ class TestPoolWalletRpc:
290
300
  async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
291
301
  our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
292
302
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
293
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
303
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET.value)))
304
+ assert len(summaries_response.wallets) == 0
294
305
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
295
306
  our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
296
307
  )
297
308
  await full_node_api.process_transaction_records(records=[creation_tx])
298
309
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=30)
299
310
 
300
- summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
301
- assert len(summaries_response) == 1
302
- wallet_id: int = summaries_response[0]["id"]
311
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET.value)))
312
+ assert len(summaries_response.wallets) == 1
313
+ wallet_id: int = summaries_response.wallets[0].id
303
314
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
304
315
 
305
316
  assert status.current.state == PoolSingletonState.SELF_POOLING.value
@@ -343,7 +354,8 @@ class TestPoolWalletRpc:
343
354
  async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
344
355
  our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
345
356
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
346
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
357
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
358
+ assert len(summaries_response.wallets) == 0
347
359
 
348
360
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
349
361
  our_ph, "http://pool.example.com", uint32(10), f"{self_hostname}:5000", "new", "FARMING_TO_POOL", fee
@@ -351,9 +363,9 @@ class TestPoolWalletRpc:
351
363
  await full_node_api.process_transaction_records(records=[creation_tx])
352
364
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
353
365
 
354
- summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
355
- assert len(summaries_response) == 1
356
- wallet_id: int = summaries_response[0]["id"]
366
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
367
+ assert len(summaries_response.wallets) == 1
368
+ wallet_id: int = summaries_response.wallets[0].id
357
369
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
358
370
 
359
371
  assert status.current.state == PoolSingletonState.FARMING_TO_POOL.value
@@ -400,7 +412,8 @@ class TestPoolWalletRpc:
400
412
  our_ph_1 = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
401
413
  our_ph_2 = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
402
414
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
403
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
415
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
416
+ assert len(summaries_response.wallets) == 0
404
417
 
405
418
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
406
419
  our_ph_1, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
@@ -440,8 +453,8 @@ class TestPoolWalletRpc:
440
453
  # Doing a reorg reverts and removes the pool wallets
441
454
  await full_node_api.reorg_from_index_to_new_index(ReorgProtocol(uint32(0), uint32(20), our_ph_2, None))
442
455
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=30)
443
- summaries_response = await client.get_wallets()
444
- assert len(summaries_response) == 1
456
+ summaries_response = await client.get_wallets(GetWallets())
457
+ assert len(summaries_response.wallets) == 1
445
458
 
446
459
  with pytest.raises(ValueError):
447
460
  await client.pw_status(PWStatus(uint32(2)))
@@ -452,7 +465,7 @@ class TestPoolWalletRpc:
452
465
  def mempool_empty() -> bool:
453
466
  return full_node_api.full_node.mempool_manager.mempool.size() == 0
454
467
 
455
- await client.delete_unconfirmed_transactions(1)
468
+ await client.delete_unconfirmed_transactions(DeleteUnconfirmedTransactions(uint32(1)))
456
469
  await full_node_api.process_all_wallet_transactions(wallet=wallet)
457
470
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
458
471
 
@@ -465,8 +478,8 @@ class TestPoolWalletRpc:
465
478
  assert len(asset_id) > 0
466
479
  await full_node_api.process_all_wallet_transactions(wallet=wallet)
467
480
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
468
- bal_0 = await client.get_wallet_balance(cat_0_id)
469
- assert bal_0["confirmed_wallet_balance"] == 20
481
+ bal_0 = (await client.get_wallet_balance(GetWalletBalance(cat_0_id))).wallet_balance
482
+ assert bal_0.confirmed_wallet_balance == 20
470
483
 
471
484
  # Test creation of many pool wallets. Use untrusted since that is the more complicated protocol, but don't
472
485
  # run this code more than once, since it's slow.
@@ -508,7 +521,8 @@ class TestPoolWalletRpc:
508
521
  async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
509
522
  our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
510
523
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
511
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
524
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
525
+ assert len(summaries_response.wallets) == 0
512
526
 
513
527
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
514
528
  our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
@@ -531,8 +545,8 @@ class TestPoolWalletRpc:
531
545
  await add_blocks_in_batches(blocks[-3:], full_node_api.full_node)
532
546
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
533
547
 
534
- bal = await client.get_wallet_balance(2)
535
- assert bal["confirmed_wallet_balance"] == 2 * 1_750_000_000_000
548
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
549
+ assert bal.confirmed_wallet_balance == 2 * 1_750_000_000_000
536
550
 
537
551
  # Claim 2 * 1.75, and farm a new 1.75
538
552
  absorb_txs = (
@@ -557,8 +571,8 @@ class TestPoolWalletRpc:
557
571
  new_status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
558
572
  assert status.current == new_status.current
559
573
  assert status.tip_singleton_coin_id != new_status.tip_singleton_coin_id
560
- bal = await client.get_wallet_balance(2)
561
- assert bal["confirmed_wallet_balance"] == 1 * 1_750_000_000_000
574
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
575
+ assert bal.confirmed_wallet_balance == 1 * 1_750_000_000_000
562
576
 
563
577
  # Claim another 1.75
564
578
  absorb_txs1 = (
@@ -571,14 +585,20 @@ class TestPoolWalletRpc:
571
585
 
572
586
  await full_node_api.farm_blocks_to_puzzlehash(count=2, farm_to=our_ph, guarantee_transaction_blocks=True)
573
587
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
574
- bal = await client.get_wallet_balance(2)
575
- assert bal["confirmed_wallet_balance"] == 0
588
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
589
+ assert bal.confirmed_wallet_balance == 0
576
590
 
577
591
  assert len(await wallet_node.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(2)) == 0
578
592
 
579
593
  tr: TransactionRecord = (
580
594
  await client.send_transaction(
581
- 1, uint64(100), encode_puzzle_hash(status.p2_singleton_puzzle_hash, "txch"), DEFAULT_TX_CONFIG
595
+ SendTransaction(
596
+ wallet_id=uint32(1),
597
+ amount=uint64(100),
598
+ address=encode_puzzle_hash(status.p2_singleton_puzzle_hash, "txch"),
599
+ push=True,
600
+ ),
601
+ DEFAULT_TX_CONFIG,
582
602
  )
583
603
  ).transaction
584
604
 
@@ -586,15 +606,15 @@ class TestPoolWalletRpc:
586
606
  await full_node_api.farm_blocks_to_puzzlehash(count=2, farm_to=our_ph, guarantee_transaction_blocks=True)
587
607
 
588
608
  # Balance ignores non coinbase TX
589
- bal = await client.get_wallet_balance(2)
590
- assert bal["confirmed_wallet_balance"] == 0
609
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
610
+ assert bal.confirmed_wallet_balance == 0
591
611
 
592
612
  with pytest.raises(ValueError):
593
613
  await client.pw_absorb_rewards(
594
614
  PWAbsorbRewards(wallet_id=uint32(2), fee=uint64(fee), push=True), DEFAULT_TX_CONFIG
595
615
  )
596
616
 
597
- tx1 = await client.get_transactions(1)
617
+ tx1 = (await client.get_transactions(GetTransactions(uint32(1)))).transactions
598
618
  assert (250_000_000_000 + fee) in [tx.amount for tx in tx1]
599
619
 
600
620
  @pytest.mark.anyio
@@ -609,7 +629,8 @@ class TestPoolWalletRpc:
609
629
  async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
610
630
  our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
611
631
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
612
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
632
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
633
+ assert len(summaries_response.wallets) == 0
613
634
 
614
635
  main_expected_confirmed_balance = total_block_rewards
615
636
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
@@ -621,8 +642,8 @@ class TestPoolWalletRpc:
621
642
  pool_expected_confirmed_balance = 0
622
643
 
623
644
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
624
- main_bal = await client.get_wallet_balance(1)
625
- assert main_bal["confirmed_wallet_balance"] == main_expected_confirmed_balance
645
+ main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
646
+ assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance
626
647
 
627
648
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
628
649
  assert status.current.state == PoolSingletonState.SELF_POOLING.value
@@ -645,10 +666,10 @@ class TestPoolWalletRpc:
645
666
  pool_expected_confirmed_balance += block_count * 1_750_000_000_000
646
667
  main_expected_confirmed_balance += block_count * 250_000_000_000
647
668
 
648
- main_bal = await client.get_wallet_balance(1)
649
- assert main_bal["confirmed_wallet_balance"] == main_expected_confirmed_balance
650
- bal = await client.get_wallet_balance(2)
651
- assert bal["confirmed_wallet_balance"] == pool_expected_confirmed_balance
669
+ main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
670
+ assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance
671
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
672
+ assert bal.confirmed_wallet_balance == pool_expected_confirmed_balance
652
673
 
653
674
  # Claim
654
675
  absorb_txs = (
@@ -666,10 +687,10 @@ class TestPoolWalletRpc:
666
687
  new_status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(2)))).state
667
688
  assert status.current == new_status.current
668
689
  assert status.tip_singleton_coin_id != new_status.tip_singleton_coin_id
669
- main_bal = await client.get_wallet_balance(1)
670
- pool_bal = await client.get_wallet_balance(2)
671
- assert pool_bal["confirmed_wallet_balance"] == pool_expected_confirmed_balance
672
- assert main_bal["confirmed_wallet_balance"] == main_expected_confirmed_balance # 10499999999999
690
+ main_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(1)))).wallet_balance
691
+ pool_bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
692
+ assert pool_bal.confirmed_wallet_balance == pool_expected_confirmed_balance
693
+ assert main_bal.confirmed_wallet_balance == main_expected_confirmed_balance # 10499999999999
673
694
 
674
695
  @pytest.mark.anyio
675
696
  async def test_absorb_pooling(
@@ -685,7 +706,8 @@ class TestPoolWalletRpc:
685
706
  async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
686
707
  our_ph = await action_scope.get_puzzle_hash(wallet.wallet_state_manager)
687
708
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
688
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
709
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
710
+ assert len(summaries_response.wallets) == 0
689
711
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
690
712
  our_ph, "http://123.45.67.89", uint32(10), f"{self_hostname}:5000", "new", "FARMING_TO_POOL", fee
691
713
  )
@@ -720,8 +742,8 @@ class TestPoolWalletRpc:
720
742
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
721
743
  # Pooled plots don't have balance
722
744
  main_expected_confirmed_balance += block_count * 250_000_000_000
723
- bal = await client.get_wallet_balance(2)
724
- assert bal["confirmed_wallet_balance"] == 0
745
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
746
+ assert bal.confirmed_wallet_balance == 0
725
747
 
726
748
  # Claim block_count * 1.75
727
749
  ret = await client.pw_absorb_rewards(
@@ -745,12 +767,12 @@ class TestPoolWalletRpc:
745
767
 
746
768
  await time_out_assert(20, status_updated)
747
769
  new_status = (await client.pw_status(PWStatus(uint32(2)))).state
748
- bal = await client.get_wallet_balance(2)
749
- assert bal["confirmed_wallet_balance"] == 0
770
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
771
+ assert bal.confirmed_wallet_balance == 0
750
772
 
751
773
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
752
- bal = await client.get_wallet_balance(2)
753
- assert bal["confirmed_wallet_balance"] == 0
774
+ bal = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
775
+ assert bal.confirmed_wallet_balance == 0
754
776
  assert len(await wallet_node.wallet_state_manager.tx_store.get_unconfirmed_for_wallet(2)) == 0
755
777
  peak = full_node_api.full_node.blockchain.get_peak()
756
778
  assert peak is not None
@@ -792,8 +814,8 @@ class TestPoolWalletRpc:
792
814
  status = (await client.pw_status(PWStatus(uint32(2)))).state
793
815
  assert ret.fee_transaction is None
794
816
 
795
- bal2 = await client.get_wallet_balance(2)
796
- assert bal2["confirmed_wallet_balance"] == 0
817
+ bal2 = (await client.get_wallet_balance(GetWalletBalance(uint32(2)))).wallet_balance
818
+ assert bal2.confirmed_wallet_balance == 0
797
819
 
798
820
  @pytest.mark.anyio
799
821
  async def test_self_pooling_to_pooling(self, setup: Setup, fee: uint64, self_hostname: str) -> None:
@@ -810,7 +832,8 @@ class TestPoolWalletRpc:
810
832
 
811
833
  assert wallet_node._wallet_state_manager is not None
812
834
 
813
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
835
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
836
+ assert len(summaries_response.wallets) == 0
814
837
 
815
838
  creation_tx: TransactionRecord = await client.create_new_pool_wallet(
816
839
  our_ph, "", uint32(0), f"{self_hostname}:5000", "new", "SELF_POOLING", fee
@@ -828,10 +851,10 @@ class TestPoolWalletRpc:
828
851
  assert not full_node_api.txs_in_mempool(txs=[creation_tx])
829
852
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
830
853
 
831
- summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
832
- assert len(summaries_response) == 2
833
- wallet_id: int = summaries_response[0]["id"]
834
- wallet_id_2: int = summaries_response[1]["id"]
854
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
855
+ assert len(summaries_response.wallets) == 2
856
+ wallet_id: int = summaries_response.wallets[0].id
857
+ wallet_id_2: int = summaries_response.wallets[1].id
835
858
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
836
859
  status_2: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id_2)))).state
837
860
 
@@ -899,7 +922,8 @@ class TestPoolWalletRpc:
899
922
  full_node_api, wallet_node, our_ph, _total_block_rewards, client = setup
900
923
  pool_ph = bytes32.zeros
901
924
 
902
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
925
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
926
+ assert len(summaries_response.wallets) == 0
903
927
 
904
928
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
905
929
 
@@ -914,9 +938,9 @@ class TestPoolWalletRpc:
914
938
 
915
939
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
916
940
 
917
- summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
918
- assert len(summaries_response) == 1
919
- wallet_id: int = summaries_response[0]["id"]
941
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
942
+ assert len(summaries_response.wallets) == 1
943
+ wallet_id: int = summaries_response.wallets[0].id
920
944
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
921
945
 
922
946
  assert status.current.state == PoolSingletonState.SELF_POOLING.value
@@ -1016,6 +1040,9 @@ class TestPoolWalletRpc:
1016
1040
  wallet_state_manager: WalletStateManager = wallet_environments.environments[0].wallet_state_manager
1017
1041
  wallet_rpc: WalletRpcClient = wallet_environments.environments[0].rpc_client
1018
1042
 
1043
+ summaries_response = await wallet_rpc.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
1044
+ assert len(summaries_response.wallets) == 0
1045
+
1019
1046
  wallet_state_manager.config["reuse_public_key_for_change"][
1020
1047
  str(wallet_state_manager.root_pubkey.get_fingerprint())
1021
1048
  ] = wallet_environments.tx_config.reuse_puzhash
@@ -1087,7 +1114,8 @@ class TestPoolWalletRpc:
1087
1114
  pool_b_ph = bytes32.zeros
1088
1115
  WAIT_SECS = 30
1089
1116
 
1090
- assert len(await client.get_wallets(WalletType.POOLING_WALLET)) == 0
1117
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
1118
+ assert len(summaries_response.wallets) == 0
1091
1119
 
1092
1120
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
1093
1121
 
@@ -1102,9 +1130,9 @@ class TestPoolWalletRpc:
1102
1130
 
1103
1131
  await full_node_api.wait_for_wallet_synced(wallet_node=wallet_node, timeout=20)
1104
1132
 
1105
- summaries_response = await client.get_wallets(WalletType.POOLING_WALLET)
1106
- assert len(summaries_response) == 1
1107
- wallet_id: int = summaries_response[0]["id"]
1133
+ summaries_response = await client.get_wallets(GetWallets(uint16(WalletType.POOLING_WALLET)))
1134
+ assert len(summaries_response.wallets) == 1
1135
+ wallet_id: int = summaries_response.wallets[0].id
1108
1136
  status: PoolWalletInfo = (await client.pw_status(PWStatus(uint32(wallet_id)))).state
1109
1137
 
1110
1138
  assert status.current.state == PoolSingletonState.FARMING_TO_POOL.value
@@ -1240,7 +1268,7 @@ class TestPoolWalletRpc:
1240
1268
  mock.return_value = False
1241
1269
 
1242
1270
  # Test joining the same pool via the RPC client
1243
- with pytest.raises(ResponseFailureError, match="Wallet needs to be fully synced."):
1271
+ with pytest.raises(ResponseFailureError, match="Wallet needs to be fully synced"):
1244
1272
  await wallet_rpc.pw_join_pool(
1245
1273
  PWJoinPool(
1246
1274
  wallet_id=uint32(wallet_id),
File without changes
@@ -0,0 +1,4 @@
1
+ from __future__ import annotations
2
+
3
+ job_timeout = 70
4
+ checkout_blocks_and_plots = True
@@ -0,0 +1,29 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+ from unittest.mock import patch
5
+
6
+ import pytest
7
+ from chia_rs import ConsensusConstants
8
+
9
+ from chia.protocols.outbound_message import Message
10
+ from chia.protocols.solver_protocol import SolverInfo
11
+ from chia.simulator.block_tools import create_block_tools_async
12
+ from chia.simulator.keyring import TempKeyring
13
+ from chia.simulator.setup_services import setup_solver
14
+
15
+
16
+ @pytest.mark.anyio
17
+ async def test_solver_api_methods(blockchain_constants: ConsensusConstants, tmp_path: Path) -> None:
18
+ with TempKeyring(populate=True) as keychain:
19
+ bt = await create_block_tools_async(constants=blockchain_constants, keychain=keychain)
20
+ async with setup_solver(tmp_path, bt, blockchain_constants) as solver_service:
21
+ solver = solver_service._node
22
+ solver_api = solver_service._api
23
+ assert solver_api.ready() is True
24
+ test_info = SolverInfo(partial_proof=b"test_partial_proof_42")
25
+ expected_proof = b"test_proof_data_12345"
26
+ with patch.object(solver, "solve", return_value=expected_proof):
27
+ api_result = await solver_api.solve(test_info)
28
+ assert api_result is not None
29
+ assert isinstance(api_result, Message)
@@ -13,8 +13,8 @@ from chia._tests.util.time_out_assert import time_out_assert
13
13
  from chia.consensus.blockchain import Blockchain
14
14
  from chia.consensus.difficulty_adjustment import get_next_sub_slot_iters_and_difficulty
15
15
  from chia.consensus.make_sub_epoch_summary import next_sub_epoch_summary
16
+ from chia.full_node.full_node_service import FullNodeService
16
17
  from chia.protocols import timelord_protocol
17
- from chia.server.aliases import FullNodeService
18
18
  from chia.server.server import ChiaServer
19
19
  from chia.simulator.block_tools import BlockTools
20
20
  from chia.simulator.full_node_simulator import FullNodeSimulator
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import pytest
4
4
 
5
- from chia.server.aliases import TimelordService
5
+ from chia.timelord.timelord_service import TimelordService
6
6
 
7
7
 
8
8
  @pytest.mark.anyio
@@ -40,29 +40,22 @@ def rewards(height: uint32) -> tuple[Coin, Coin]:
40
40
  return farmer_coin, pool_coin
41
41
 
42
42
 
43
- def rand_bytes(num: int) -> bytes:
44
- ret = bytearray(num)
45
- for i in range(num):
46
- ret[i] = random.getrandbits(8)
47
- return bytes(ret)
48
-
49
-
50
43
  def rand_hash() -> bytes32:
51
- return bytes32(rand_bytes(32))
44
+ return bytes32.random()
52
45
 
53
46
 
54
47
  def rand_g1() -> G1Element:
55
- sk = AugSchemeMPL.key_gen(rand_bytes(96))
48
+ sk = AugSchemeMPL.key_gen(random.randbytes(96))
56
49
  return sk.get_g1()
57
50
 
58
51
 
59
52
  def rand_g2() -> G2Element:
60
- sk = AugSchemeMPL.key_gen(rand_bytes(96))
53
+ sk = AugSchemeMPL.key_gen(random.randbytes(96))
61
54
  return AugSchemeMPL.sign(sk, b"foobar")
62
55
 
63
56
 
64
57
  def rand_class_group_element() -> ClassgroupElement:
65
- return ClassgroupElement(bytes100(rand_bytes(100)))
58
+ return ClassgroupElement(bytes100.random())
66
59
 
67
60
 
68
61
  def rand_vdf() -> VDFInfo:
@@ -84,7 +77,7 @@ def rand_full_block() -> FullBlock:
84
77
  None,
85
78
  rand_g1(),
86
79
  uint8(0),
87
- rand_bytes(8 * 32),
80
+ random.randbytes(8 * 32),
88
81
  )
89
82
 
90
83
  reward_chain_block = RewardChainBlock(
@@ -10,8 +10,8 @@ from typing import Optional
10
10
  from chia_rs import ConsensusConstants, FullBlock
11
11
  from chia_rs.sized_ints import uint64
12
12
 
13
+ from chia.consensus.block_height_map import BlockHeightMap
13
14
  from chia.consensus.blockchain import Blockchain
14
- from chia.full_node.block_height_map import BlockHeightMap
15
15
  from chia.full_node.block_store import BlockStore
16
16
  from chia.full_node.coin_store import CoinStore
17
17
  from chia.simulator.block_tools import BlockTools
@@ -33,6 +33,12 @@ def visit_farmer_protocol(visitor: Callable[[Any, str], None]) -> None:
33
33
  visitor(request_signed_values, "request_signed_values")
34
34
  visitor(farming_info, "farming_info")
35
35
  visitor(signed_values, "signed_values")
36
+ visitor(partial_proof, "partial_proof")
37
+
38
+
39
+ def visit_solver_protocol(visitor: Callable[[Any, str], None]) -> None:
40
+ visitor(solver_info, "solver_info")
41
+ visitor(solver_response, "solver_response")
36
42
 
37
43
 
38
44
  def visit_full_node(visitor: Callable[[Any, str], None]) -> None:
@@ -171,6 +177,7 @@ def visit_all_messages(visitor: Callable[[Any, str], None]) -> None:
171
177
  visit_pool_protocol(visitor)
172
178
  visit_timelord_protocol(visitor)
173
179
  visit_shared_protocol(visitor)
180
+ visit_solver_protocol(visitor)
174
181
 
175
182
 
176
183
  def get_protocol_bytes() -> bytes:
@@ -37,6 +37,7 @@ from chia.protocols import (
37
37
  harvester_protocol,
38
38
  introducer_protocol,
39
39
  pool_protocol,
40
+ solver_protocol,
40
41
  timelord_protocol,
41
42
  wallet_protocol,
42
43
  )
@@ -150,6 +151,26 @@ signed_values = farmer_protocol.SignedValues(
150
151
  ),
151
152
  )
152
153
 
154
+ partial_proof = harvester_protocol.PartialProofsData(
155
+ bytes32.fromhex("42743566108589c11bb3811b347900b6351fd3e25bad6c956c0bf1c05a4d93fb"),
156
+ bytes32.fromhex("8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a"),
157
+ "plot-filename",
158
+ [b"partial-proof1", b"partial-proof2"],
159
+ uint8(4),
160
+ uint8(32),
161
+ G1Element.from_bytes(
162
+ bytes.fromhex(
163
+ "a04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c"
164
+ ),
165
+ ),
166
+ bytes32.fromhex("91240fbacdf93b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a"),
167
+ G1Element.from_bytes(
168
+ bytes.fromhex(
169
+ "a04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c"
170
+ ),
171
+ ),
172
+ )
173
+
153
174
 
154
175
  # FULL NODE PROTOCOL.
155
176
  new_peak = full_node_protocol.NewPeak(
@@ -1093,3 +1114,8 @@ respond_compact_proof_of_time = timelord_protocol.RespondCompactProofOfTime(
1093
1114
  uint32(386395693),
1094
1115
  uint8(224),
1095
1116
  )
1117
+
1118
+ # SOLVER PROTOCOL
1119
+ solver_info = solver_protocol.SolverInfo(partial_proof=b"partial-proof")
1120
+
1121
+ solver_response = solver_protocol.SolverResponse(b"partial-proof", b"full-proof")
@@ -65,6 +65,18 @@ signed_values_json: dict[str, Any] = {
65
65
  "foliage_transaction_block_signature": "0xc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
66
66
  }
67
67
 
68
+ partial_proof_json: dict[str, Any] = {
69
+ "challenge_hash": "0x42743566108589c11bb3811b347900b6351fd3e25bad6c956c0bf1c05a4d93fb",
70
+ "sp_hash": "0x8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a",
71
+ "plot_identifier": "plot-filename",
72
+ "partial_proofs": ["0x7061727469616c2d70726f6f6631", "0x7061727469616c2d70726f6f6632"],
73
+ "signage_point_index": 4,
74
+ "plot_size": 32,
75
+ "pool_public_key": "0xa04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c",
76
+ "pool_contract_puzzle_hash": "0x91240fbacdf93b44c0571caa74fd99f163d4c5d7deaedac87125528721493f7a",
77
+ "plot_public_key": "0xa04c6b5ac7dfb935f6feecfdd72348ccf1d4be4fe7e26acf271ea3b7d308da61e0a308f7a62495328a81f5147b66634c",
78
+ }
79
+
68
80
  new_peak_json: dict[str, Any] = {
69
81
  "header_hash": "0x8a346e8dc02e9b44c0571caa74fd99f163d4c5d7deae9f8ddb00528721493f7a",
70
82
  "height": 2653549198,
@@ -2717,3 +2729,10 @@ respond_compact_proof_of_time_json: dict[str, Any] = {
2717
2729
  error_without_data_json: dict[str, Any] = {"code": 1, "message": "Unknown", "data": None}
2718
2730
 
2719
2731
  error_with_data_json: dict[str, Any] = {"code": 1, "message": "Unknown", "data": "0x65787472612064617461"}
2732
+
2733
+ solver_info_json: dict[str, Any] = {"partial_proof": "0x7061727469616c2d70726f6f66"}
2734
+
2735
+ solver_response_json: dict[str, Any] = {
2736
+ "partial_proof": "0x7061727469616c2d70726f6f66",
2737
+ "proof": "0x66756c6c2d70726f6f66",
2738
+ }