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
@@ -25,6 +25,7 @@ from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG, TXConfig
25
25
  from chia.wallet.wallet import Wallet
26
26
  from chia.wallet.wallet_node import Balance, WalletNode
27
27
  from chia.wallet.wallet_node_api import WalletNodeAPI
28
+ from chia.wallet.wallet_request_types import GetWalletBalance
28
29
  from chia.wallet.wallet_rpc_api import WalletRpcApi
29
30
  from chia.wallet.wallet_rpc_client import WalletRpcClient
30
31
  from chia.wallet.wallet_state_manager import WalletStateManager
@@ -169,7 +170,9 @@ class WalletEnvironment:
169
170
  else {}
170
171
  ),
171
172
  }
172
- balance_response: dict[str, int] = await self.rpc_client.get_wallet_balance(wallet_id)
173
+ balance_response: dict[str, int] = (
174
+ await self.rpc_client.get_wallet_balance(GetWalletBalance(wallet_id))
175
+ ).wallet_balance.to_json_dict()
173
176
 
174
177
  if not expected_result.items() <= balance_response.items():
175
178
  for key, value in expected_result.items():
@@ -9,7 +9,7 @@ from typing import Any, Optional, Union, cast
9
9
  from unittest.mock import ANY
10
10
 
11
11
  import pytest
12
- from chia_rs import AugSchemeMPL, G1Element, G2Element, PrivateKey, ProofOfSpace
12
+ from chia_rs import AugSchemeMPL, G1Element, G2Element, PlotSize, PrivateKey, ProofOfSpace
13
13
  from chia_rs.sized_bytes import bytes32
14
14
  from chia_rs.sized_ints import uint8, uint16, uint32, uint64
15
15
  from pytest_mock import MockerFixture
@@ -21,15 +21,17 @@ from chia._tests.conftest import HarvesterFarmerEnvironment
21
21
  from chia._tests.util.misc import DataCase, Marks, datacases
22
22
  from chia.consensus.default_constants import DEFAULT_CONSTANTS
23
23
  from chia.farmer.farmer import UPDATE_POOL_FARMER_INFO_INTERVAL, Farmer, increment_pool_stats, strip_old_entries
24
+ from chia.farmer.farmer_service import FarmerService
25
+ from chia.harvester.harvester_service import HarvesterService
24
26
  from chia.pools.pool_config import PoolWalletConfig
25
27
  from chia.protocols import farmer_protocol, harvester_protocol
26
28
  from chia.protocols.harvester_protocol import NewProofOfSpace, RespondSignatures
27
29
  from chia.protocols.pool_protocol import PoolErrorCode
28
- from chia.server.aliases import FarmerService, HarvesterService
29
30
  from chia.server.ws_connection import WSChiaConnection
30
31
  from chia.simulator.block_tools import BlockTools
31
32
  from chia.types.blockchain_format.proof_of_space import (
32
33
  generate_plot_public_key,
34
+ make_pos,
33
35
  verify_and_get_quality_string,
34
36
  )
35
37
  from chia.util.config import load_config, save_config
@@ -132,7 +134,7 @@ class NewProofOfSpaceCase:
132
134
  plot_identifier: str
133
135
  signage_point_index: uint8
134
136
  plot_id: bytes32
135
- plot_size: uint8
137
+ plot_size: PlotSize
136
138
  plot_challenge: bytes32
137
139
  plot_public_key: G1Element
138
140
  pool_public_key: Optional[G1Element]
@@ -187,7 +189,7 @@ class NewProofOfSpaceCase:
187
189
  plot_identifier="test",
188
190
  signage_point_index=uint8(1),
189
191
  plot_id=bytes32.fromhex("baaa6780c53d4b3739b8807b4ae79a76644ddf0d9e03dc7d0a6a0e613e764d9f"),
190
- plot_size=uint8(32),
192
+ plot_size=PlotSize.make_v1(32),
191
193
  plot_challenge=bytes32.fromhex("7580e4c366dc2c94c37ce44943f9629a3cd6e027d7b24cd014adeaa578d4b0a2"),
192
194
  plot_public_key=G1Element.from_bytes(
193
195
  bytes.fromhex(
@@ -573,7 +575,7 @@ async def test_farmer_new_proof_of_space_for_pool_stats(
573
575
  peak_height=uint32(1),
574
576
  last_tx_height=uint32(0),
575
577
  )
576
- pos = ProofOfSpace(
578
+ pos = make_pos(
577
579
  challenge=case.plot_challenge,
578
580
  pool_public_key=case.pool_public_key,
579
581
  pool_contract_puzzle_hash=case.pool_contract_puzzle_hash,
@@ -714,7 +716,7 @@ def create_valid_pos(farmer: Farmer) -> tuple[farmer_protocol.NewSignagePoint, P
714
716
  peak_height=uint32(1),
715
717
  last_tx_height=uint32(0),
716
718
  )
717
- pos = ProofOfSpace(
719
+ pos = make_pos(
718
720
  challenge=case.plot_challenge,
719
721
  pool_public_key=case.pool_public_key,
720
722
  pool_contract_puzzle_hash=case.pool_contract_puzzle_hash,
@@ -1,9 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
+ import unittest.mock
4
5
  from math import floor
5
6
  from pathlib import Path
6
7
  from typing import Any, Optional
8
+ from unittest.mock import AsyncMock, Mock
7
9
 
8
10
  import pytest
9
11
  from chia_rs import G1Element
@@ -15,19 +17,41 @@ from chia._tests.util.split_managers import split_async_manager
15
17
  from chia._tests.util.time_out_assert import time_out_assert
16
18
  from chia.cmds.cmds_util import get_any_service_client
17
19
  from chia.farmer.farmer import Farmer
20
+ from chia.farmer.farmer_service import FarmerService
18
21
  from chia.harvester.harvester_rpc_client import HarvesterRpcClient
22
+ from chia.harvester.harvester_service import HarvesterService
19
23
  from chia.plotting.util import PlotsRefreshParameter
20
- from chia.protocols import farmer_protocol, harvester_protocol
24
+ from chia.protocols import farmer_protocol, harvester_protocol, solver_protocol
21
25
  from chia.protocols.outbound_message import NodeType, make_msg
22
26
  from chia.protocols.protocol_message_types import ProtocolMessageTypes
23
- from chia.server.aliases import FarmerService, HarvesterService
24
27
  from chia.simulator.block_tools import BlockTools
28
+ from chia.solver.solver_service import SolverService
25
29
  from chia.types.peer_info import UnresolvedPeerInfo
26
30
  from chia.util.config import load_config
27
31
  from chia.util.hash import std_hash
28
32
  from chia.util.keychain import generate_mnemonic
29
33
 
30
34
 
35
+ async def get_harvester_peer(farmer: Farmer) -> Any:
36
+ """wait for harvester connection and return the peer"""
37
+
38
+ def has_harvester_connection() -> bool:
39
+ return len(farmer.server.get_connections(NodeType.HARVESTER)) > 0
40
+
41
+ await time_out_assert(10, has_harvester_connection, True)
42
+ return farmer.server.get_connections(NodeType.HARVESTER)[0]
43
+
44
+
45
+ async def get_solver_peer(farmer: Farmer) -> Any:
46
+ """wait for solver connection and return the peer"""
47
+
48
+ def has_solver_connection() -> bool:
49
+ return len(farmer.server.get_connections(NodeType.SOLVER)) > 0
50
+
51
+ await time_out_assert(60, has_solver_connection, True)
52
+ return farmer.server.get_connections(NodeType.SOLVER)[0]
53
+
54
+
31
55
  def farmer_is_started(farmer: Farmer) -> bool:
32
56
  return farmer.started
33
57
 
@@ -143,9 +167,6 @@ async def test_farmer_respond_signatures(
143
167
  # messages even though it didn't request them, to cover when the farmer doesn't know
144
168
  # about an sp_hash, so it fails at the sp record check.
145
169
 
146
- def log_is_ready() -> bool:
147
- return len(caplog.text) > 0
148
-
149
170
  _, _, harvester_service, _, _ = harvester_farmer_environment
150
171
  # We won't have an sp record for this one
151
172
  challenge_hash = bytes32(b"1" * 32)
@@ -160,11 +181,16 @@ async def test_farmer_respond_signatures(
160
181
  include_source_signature_data=False,
161
182
  farmer_reward_address_override=None,
162
183
  )
184
+
185
+ expected_error = f"Do not have challenge hash {challenge_hash}"
186
+
187
+ def expected_log_is_ready() -> bool:
188
+ return expected_error in caplog.text
189
+
163
190
  msg = make_msg(ProtocolMessageTypes.respond_signatures, response)
164
191
  await harvester_service._node.server.send_to_all([msg], NodeType.FARMER)
165
- await time_out_assert(5, log_is_ready)
166
- # We fail the sps record check
167
- expected_error = f"Do not have challenge hash {challenge_hash}"
192
+ await time_out_assert(10, expected_log_is_ready)
193
+ # We should find the error message
168
194
  assert expected_error in caplog.text
169
195
 
170
196
 
@@ -297,3 +323,275 @@ async def test_harvester_has_no_server(
297
323
  harvester_server = harvesters[0]._server
298
324
 
299
325
  assert harvester_server.webserver is None
326
+
327
+
328
+ @pytest.mark.anyio
329
+ async def test_v2_partial_proofs_new_sp_hash(
330
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
331
+ ) -> None:
332
+ _, farmer_service, _solver_service, _bt = farmer_one_harvester_solver
333
+ farmer_api = farmer_service._api
334
+ farmer = farmer_api.farmer
335
+
336
+ sp_hash = bytes32(b"1" * 32)
337
+ partial_proofs = harvester_protocol.PartialProofsData(
338
+ challenge_hash=bytes32(b"2" * 32),
339
+ sp_hash=sp_hash,
340
+ plot_identifier="test_plot_id",
341
+ partial_proofs=[b"test_partial_proof_1"],
342
+ signage_point_index=uint8(0),
343
+ plot_size=uint8(32),
344
+ pool_public_key=None,
345
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
346
+ plot_public_key=G1Element(),
347
+ )
348
+
349
+ harvester_peer = await get_harvester_peer(farmer)
350
+ await farmer_api.partial_proofs(partial_proofs, harvester_peer)
351
+
352
+ assert sp_hash in farmer.number_of_responses
353
+ assert farmer.number_of_responses[sp_hash] == 0
354
+ assert sp_hash in farmer.cache_add_time
355
+
356
+
357
+ @pytest.mark.anyio
358
+ async def test_v2_partial_proofs_missing_sp_hash(
359
+ caplog: pytest.LogCaptureFixture,
360
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
361
+ ) -> None:
362
+ _, farmer_service, _, _ = farmer_one_harvester_solver
363
+ farmer_api = farmer_service._api
364
+
365
+ sp_hash = bytes32(b"1" * 32)
366
+ partial_proofs = harvester_protocol.PartialProofsData(
367
+ challenge_hash=bytes32(b"2" * 32),
368
+ sp_hash=sp_hash,
369
+ plot_identifier="test_plot_id",
370
+ partial_proofs=[b"test_partial_proof_1"],
371
+ signage_point_index=uint8(0),
372
+ plot_size=uint8(32),
373
+ pool_public_key=None,
374
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
375
+ plot_public_key=G1Element(),
376
+ )
377
+
378
+ harvester_peer = await get_harvester_peer(farmer_api.farmer)
379
+ await farmer_api.partial_proofs(partial_proofs, harvester_peer)
380
+
381
+ assert f"Received partial proofs for a signage point that we do not have {sp_hash}" in caplog.text
382
+
383
+
384
+ @pytest.mark.anyio
385
+ async def test_v2_partial_proofs_with_existing_sp(
386
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
387
+ ) -> None:
388
+ _, farmer_service, _, _ = farmer_one_harvester_solver
389
+ farmer_api = farmer_service._api
390
+ farmer = farmer_api.farmer
391
+
392
+ sp_hash = bytes32(b"1" * 32)
393
+ challenge_hash = bytes32(b"2" * 32)
394
+
395
+ sp = farmer_protocol.NewSignagePoint(
396
+ challenge_hash=challenge_hash,
397
+ challenge_chain_sp=sp_hash,
398
+ reward_chain_sp=std_hash(b"1"),
399
+ difficulty=uint64(1000),
400
+ sub_slot_iters=uint64(1000),
401
+ signage_point_index=uint8(0),
402
+ peak_height=uint32(1),
403
+ last_tx_height=uint32(0),
404
+ )
405
+
406
+ farmer.sps[sp_hash] = [sp]
407
+
408
+ partial_proofs = harvester_protocol.PartialProofsData(
409
+ challenge_hash=challenge_hash,
410
+ sp_hash=sp_hash,
411
+ plot_identifier="test_plot_id",
412
+ partial_proofs=[b"test_partial_proof_1", b"test_partial_proof_2"],
413
+ signage_point_index=uint8(0),
414
+ plot_size=uint8(32),
415
+ pool_public_key=G1Element(),
416
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
417
+ plot_public_key=G1Element(),
418
+ )
419
+
420
+ harvester_peer = await get_harvester_peer(farmer)
421
+ await farmer_api.partial_proofs(partial_proofs, harvester_peer)
422
+
423
+ # should store 2 pending requests (one per partial proof)
424
+ assert len(farmer.pending_solver_requests) == 2
425
+ assert sp_hash in farmer.cache_add_time
426
+
427
+
428
+ @pytest.mark.anyio
429
+ async def test_solution_response_handler(
430
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
431
+ ) -> None:
432
+ _, farmer_service, _, _ = farmer_one_harvester_solver
433
+ farmer_api = farmer_service._api
434
+ farmer = farmer_api.farmer
435
+
436
+ # set up a pending request
437
+ sp_hash = bytes32(b"1" * 32)
438
+ challenge_hash = bytes32(b"2" * 32)
439
+
440
+ partial_proofs = harvester_protocol.PartialProofsData(
441
+ challenge_hash=challenge_hash,
442
+ sp_hash=sp_hash,
443
+ plot_identifier="test_plot_id",
444
+ partial_proofs=[b"test_partial_proof_for_quality"],
445
+ signage_point_index=uint8(0),
446
+ plot_size=uint8(32),
447
+ pool_public_key=G1Element(),
448
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
449
+ plot_public_key=G1Element(),
450
+ )
451
+
452
+ harvester_peer = await get_harvester_peer(farmer)
453
+
454
+ # manually add pending request
455
+ farmer.pending_solver_requests[partial_proofs.partial_proofs[0]] = {
456
+ "proof_data": partial_proofs,
457
+ "peer": harvester_peer,
458
+ }
459
+
460
+ # create solution response
461
+ solution_response = solver_protocol.SolverResponse(
462
+ partial_proof=partial_proofs.partial_proofs[0], proof=b"test_proof_from_solver"
463
+ )
464
+ solver_peer = Mock()
465
+ solver_peer.peer_node_id = "solver_peer"
466
+
467
+ with unittest.mock.patch.object(farmer_api, "new_proof_of_space", new_callable=AsyncMock) as mock_new_proof:
468
+ await farmer_api.solution_response(solution_response, solver_peer)
469
+
470
+ # verify new_proof_of_space was called with correct proof
471
+ mock_new_proof.assert_called_once()
472
+ call_args = mock_new_proof.call_args[0]
473
+ new_proof_of_space = call_args[0]
474
+ original_peer = call_args[1]
475
+
476
+ assert new_proof_of_space.proof.proof == b"test_proof_from_solver"
477
+ assert original_peer == harvester_peer
478
+
479
+ # verify pending request was removed
480
+ assert partial_proofs.partial_proofs[0] not in farmer.pending_solver_requests
481
+
482
+
483
+ @pytest.mark.anyio
484
+ async def test_solution_response_unknown_quality(
485
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
486
+ ) -> None:
487
+ _, farmer_service, _, _ = farmer_one_harvester_solver
488
+ farmer_api = farmer_service._api
489
+ farmer = farmer_api.farmer
490
+
491
+ # get real solver peer connection
492
+ solver_peer = await get_solver_peer(farmer)
493
+
494
+ # create solution response with unknown quality
495
+ solution_response = solver_protocol.SolverResponse(partial_proof=bytes(b"1" * 32), proof=b"test_proof")
496
+
497
+ with unittest.mock.patch.object(farmer_api, "new_proof_of_space", new_callable=AsyncMock) as mock_new_proof:
498
+ await farmer_api.solution_response(solution_response, solver_peer)
499
+ # verify new_proof_of_space was NOT called
500
+ mock_new_proof.assert_not_called()
501
+ # verify pending requests unchanged
502
+ assert len(farmer.pending_solver_requests) == 0
503
+
504
+
505
+ @pytest.mark.anyio
506
+ async def test_solution_response_empty_proof(
507
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
508
+ ) -> None:
509
+ _, farmer_service, _solver_service, _ = farmer_one_harvester_solver
510
+ farmer_api = farmer_service._api
511
+ farmer = farmer_api.farmer
512
+
513
+ # set up a pending request
514
+ sp_hash = bytes32(b"1" * 32)
515
+ challenge_hash = bytes32(b"2" * 32)
516
+
517
+ partial_proofs = harvester_protocol.PartialProofsData(
518
+ challenge_hash=challenge_hash,
519
+ sp_hash=sp_hash,
520
+ plot_identifier="test_plot_id",
521
+ partial_proofs=[b"test_partial_proof_for_quality"],
522
+ signage_point_index=uint8(0),
523
+ plot_size=uint8(32),
524
+ pool_public_key=G1Element(),
525
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
526
+ plot_public_key=G1Element(),
527
+ )
528
+
529
+ harvester_peer = Mock()
530
+ harvester_peer.peer_node_id = "harvester_peer"
531
+
532
+ # manually add pending request
533
+ farmer.pending_solver_requests[partial_proofs.partial_proofs[0]] = {
534
+ "proof_data": partial_proofs.partial_proofs[0],
535
+ "peer": harvester_peer,
536
+ }
537
+
538
+ # get real solver peer connection
539
+ solver_peer = await get_solver_peer(farmer)
540
+
541
+ # create solution response with empty proof
542
+ solution_response = solver_protocol.SolverResponse(partial_proof=partial_proofs.partial_proofs[0], proof=b"")
543
+
544
+ with unittest.mock.patch.object(farmer_api, "new_proof_of_space", new_callable=AsyncMock) as mock_new_proof:
545
+ await farmer_api.solution_response(solution_response, solver_peer)
546
+
547
+ # verify new_proof_of_space was NOT called
548
+ mock_new_proof.assert_not_called()
549
+
550
+ # verify pending request was removed (cleanup still happens)
551
+ assert partial_proofs.partial_proofs[0] not in farmer.pending_solver_requests
552
+
553
+
554
+ @pytest.mark.anyio
555
+ async def test_v2_partial_proofs_solver_exception(
556
+ farmer_one_harvester_solver: tuple[list[HarvesterService], FarmerService, SolverService, BlockTools],
557
+ ) -> None:
558
+ _, farmer_service, _solver_service, _ = farmer_one_harvester_solver
559
+ farmer_api = farmer_service._api
560
+ farmer = farmer_api.farmer
561
+
562
+ sp_hash = bytes32(b"1" * 32)
563
+ challenge_hash = bytes32(b"2" * 32)
564
+
565
+ sp = farmer_protocol.NewSignagePoint(
566
+ challenge_hash=challenge_hash,
567
+ challenge_chain_sp=sp_hash,
568
+ reward_chain_sp=std_hash(b"1"),
569
+ difficulty=uint64(1000),
570
+ sub_slot_iters=uint64(1000),
571
+ signage_point_index=uint8(0),
572
+ peak_height=uint32(1),
573
+ last_tx_height=uint32(0),
574
+ )
575
+
576
+ farmer.sps[sp_hash] = [sp]
577
+
578
+ partial_proofs = harvester_protocol.PartialProofsData(
579
+ challenge_hash=challenge_hash,
580
+ sp_hash=sp_hash,
581
+ plot_identifier="test_plot_id",
582
+ partial_proofs=[b"test_partial_proof_1"],
583
+ signage_point_index=uint8(0),
584
+ plot_size=uint8(32),
585
+ pool_public_key=G1Element(),
586
+ pool_contract_puzzle_hash=bytes32(b"4" * 32),
587
+ plot_public_key=G1Element(),
588
+ )
589
+
590
+ harvester_peer = await get_harvester_peer(farmer)
591
+
592
+ # Mock send_to_all to raise an exception
593
+ with unittest.mock.patch.object(farmer.server, "send_to_all", side_effect=Exception("Solver connection failed")):
594
+ await farmer_api.partial_proofs(partial_proofs, harvester_peer)
595
+
596
+ # verify pending request was cleaned up after exception
597
+ assert partial_proofs.partial_proofs[0] not in farmer.pending_solver_requests
@@ -11,13 +11,13 @@ from chia_rs.sized_ints import uint8, uint32, uint64
11
11
 
12
12
  from chia._tests.conftest import ConsensusMode
13
13
  from chia._tests.core.test_farmer_harvester_rpc import wait_for_plot_sync
14
- from chia._tests.util.setup_nodes import setup_farmer_multi_harvester
14
+ from chia._tests.util.setup_nodes import setup_farmer_solver_multi_harvester
15
15
  from chia._tests.util.time_out_assert import time_out_assert
16
16
  from chia.farmer.farmer_api import FarmerAPI
17
17
  from chia.farmer.farmer_rpc_client import FarmerRpcClient
18
18
  from chia.harvester.harvester_rpc_client import HarvesterRpcClient
19
+ from chia.harvester.harvester_service import HarvesterService
19
20
  from chia.protocols import farmer_protocol
20
- from chia.server.aliases import HarvesterService
21
21
  from chia.simulator.block_tools import create_block_tools_async, test_constants
22
22
  from chia.types.blockchain_format.proof_of_space import get_plot_id, passes_plot_filter
23
23
  from chia.util.keychain import Keychain
@@ -60,7 +60,7 @@ async def farmer_harvester_with_filter_size_9(
60
60
  )
61
61
  new_config = local_b_tools._config
62
62
  local_b_tools.change_config(new_config)
63
- async with setup_farmer_multi_harvester(
63
+ async with setup_farmer_solver_multi_harvester(
64
64
  local_b_tools, 1, tmp_path, local_b_tools.constants, start_services=True
65
65
  ) as (harvesters, farmer_service, _):
66
66
  harvester_service = harvesters[0]
@@ -31,15 +31,17 @@ from chia.consensus.difficulty_adjustment import get_next_sub_slot_iters_and_dif
31
31
  from chia.consensus.multiprocess_validation import PreValidationResult, pre_validate_block
32
32
  from chia.farmer.farmer import Farmer, calculate_harvester_fee_quality
33
33
  from chia.farmer.farmer_api import FarmerAPI
34
+ from chia.farmer.farmer_service import FarmerService
34
35
  from chia.full_node.full_node import FullNode
35
36
  from chia.full_node.full_node_api import FullNodeAPI
37
+ from chia.full_node.full_node_service import FullNodeService
36
38
  from chia.harvester.harvester import Harvester
37
39
  from chia.harvester.harvester_api import HarvesterAPI
40
+ from chia.harvester.harvester_service import HarvesterService
38
41
  from chia.protocols import farmer_protocol, full_node_protocol, harvester_protocol, timelord_protocol
39
42
  from chia.protocols.harvester_protocol import ProofOfSpaceFeeInfo, RespondSignatures, SigningDataKind
40
43
  from chia.protocols.outbound_message import Message, NodeType, make_msg
41
44
  from chia.protocols.protocol_message_types import ProtocolMessageTypes
42
- from chia.server.aliases import FarmerService, FullNodeService, HarvesterService
43
45
  from chia.server.server import ChiaServer
44
46
  from chia.server.ws_connection import WSChiaConnection
45
47
  from chia.simulator.block_tools import BlockTools
@@ -82,17 +84,16 @@ async def test_harvester_receive_source_signing_data(
82
84
  full_node_1: FullNode = full_node_service_1._node
83
85
  full_node_2: FullNode = full_node_service_2._node
84
86
 
87
+ await time_out_assert(60, node_type_connected, True, farmer.server, NodeType.HARVESTER)
85
88
  # Connect peers to each other
86
89
  farmer_service.add_peer(
87
90
  UnresolvedPeerInfo(str(full_node_service_2.self_hostname), full_node_service_2._server.get_port())
88
91
  )
92
+ await time_out_assert(60, node_type_connected, True, farmer.server, NodeType.FULL_NODE)
89
93
  full_node_service_2.add_peer(
90
94
  UnresolvedPeerInfo(str(full_node_service_1.self_hostname), full_node_service_1._server.get_port())
91
95
  )
92
-
93
- await wait_until_node_type_connected(farmer.server, NodeType.FULL_NODE)
94
- await wait_until_node_type_connected(farmer.server, NodeType.HARVESTER) # Should already be connected
95
- await wait_until_node_type_connected(full_node_1.server, NodeType.FULL_NODE)
96
+ await time_out_assert(60, node_type_connected, True, full_node_1.server, NodeType.FULL_NODE)
96
97
 
97
98
  # Prepare test data
98
99
  blocks: list[FullBlock]
@@ -427,12 +428,11 @@ async def scan_log_for_message(caplog: pytest.LogCaptureFixture, find_message: s
427
428
  return False
428
429
 
429
430
 
430
- async def wait_until_node_type_connected(server: ChiaServer, node_type: NodeType) -> WSChiaConnection:
431
- while True:
432
- for peer in server.all_connections.values():
433
- if peer.connection_type == node_type.value:
434
- return peer
435
- await asyncio.sleep(1)
431
+ def node_type_connected(server: ChiaServer, node_type: NodeType) -> bool:
432
+ for peer in server.all_connections.values():
433
+ if peer.connection_type == node_type.value:
434
+ return True
435
+ return False
436
436
 
437
437
 
438
438
  def decode_sp(
@@ -40,9 +40,9 @@ def make_mempoolitem() -> MempoolItem:
40
40
 
41
41
  fee = uint64(10000000)
42
42
  spends: list[SpendConditions] = []
43
- conds = SpendBundleConditions(spends, 0, 0, 0, None, None, [], cost, 0, 0, False, 0, 0)
43
+ conds = SpendBundleConditions(spends, 0, 0, 0, None, None, [], cost, 0, 0, False, 0, 0, 0, 0, 0)
44
44
  mempool_item = MempoolItem(
45
- spend_bundle,
45
+ spend_bundle.aggregated_signature,
46
46
  fee,
47
47
  conds,
48
48
  spend_bundle.name(),
@@ -10,7 +10,6 @@ from chia_rs.sized_ints import uint64
10
10
 
11
11
  from chia.full_node.full_node_rpc_api import FullNodeRpcApi
12
12
  from chia.full_node.full_node_rpc_client import FullNodeRpcClient
13
- from chia.server.aliases import WalletService
14
13
  from chia.simulator.block_tools import BlockTools
15
14
  from chia.simulator.full_node_simulator import FullNodeSimulator
16
15
  from chia.simulator.simulator_protocol import FarmNewBlockProtocol
@@ -18,6 +17,7 @@ from chia.simulator.start_simulator import SimulatorFullNodeService
18
17
  from chia.simulator.wallet_tools import WalletTool
19
18
  from chia.types.blockchain_format.coin import Coin
20
19
  from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
20
+ from chia.wallet.wallet_service import WalletService
21
21
 
22
22
 
23
23
  @pytest.fixture(scope="function")
@@ -68,8 +68,7 @@ def test_steady_fee_pressure() -> None:
68
68
  estimates_during = []
69
69
  start_from = 250
70
70
  for height in range(start, end):
71
- height = uint32(height)
72
- items = make_block(height, 1, cost, fee, num_blocks_wait_in_mempool)
71
+ items = make_block(uint32(height), 1, cost, fee, num_blocks_wait_in_mempool)
73
72
  estimator.new_block(FeeBlockInfo(uint32(height), items))
74
73
  if height >= start_from:
75
74
  estimation = estimator.estimate_fee_rate(time_offset_seconds=time_offset_seconds * (height - start_from))
@@ -146,7 +146,7 @@ class TestROM:
146
146
  before_seconds_relative=None,
147
147
  birth_height=None,
148
148
  birth_seconds=None,
149
- create_coin=[(bytes([0] * 31 + [1]), 500, None)],
149
+ create_coin=[(bytes32([0] * 31 + [1]), 500, None)],
150
150
  agg_sig_me=[],
151
151
  agg_sig_parent=[],
152
152
  agg_sig_puzzle=[],
@@ -159,6 +159,7 @@ class TestROM:
159
159
  # execution cost, just in run_block_generator2()
160
160
  execution_cost=0 if softfork_height < DEFAULT_CONSTANTS.HARD_FORK_HEIGHT else 44,
161
161
  condition_cost=1800000,
162
+ fingerprint=b"",
162
163
  )
163
164
 
164
165
  assert npc_result.conds.spends == [spend]
File without changes
@@ -0,0 +1,4 @@
1
+ from __future__ import annotations
2
+
3
+ job_timeout = 70
4
+ checkout_blocks_and_plots = True