chia-blockchain 2.5.6rc2__py3-none-any.whl → 2.5.7__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 (370) 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 +252 -77
  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 +9 -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 -33
  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 +15 -16
  275. chia/full_node/mempool_manager.py +73 -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 +52 -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/streamable.py +38 -8
  339. chia/util/virtual_project_analysis.py +1 -1
  340. chia/wallet/cat_wallet/cat_outer_puzzle.py +7 -4
  341. chia/wallet/cat_wallet/cat_wallet.py +13 -7
  342. chia/wallet/cat_wallet/r_cat_wallet.py +4 -1
  343. chia/wallet/conditions.py +1 -3
  344. chia/wallet/did_wallet/did_wallet.py +27 -332
  345. chia/wallet/nft_wallet/nft_puzzle_utils.py +1 -1
  346. chia/wallet/nft_wallet/nft_wallet.py +9 -7
  347. chia/wallet/puzzle_drivers.py +7 -8
  348. chia/{server → wallet}/start_wallet.py +1 -1
  349. chia/wallet/trade_manager.py +12 -9
  350. chia/wallet/transaction_record.py +14 -51
  351. chia/wallet/util/clvm_streamable.py +28 -41
  352. chia/wallet/util/merkle_utils.py +2 -2
  353. chia/wallet/util/tx_config.py +3 -6
  354. chia/wallet/vc_wallet/cr_cat_wallet.py +12 -6
  355. chia/wallet/vc_wallet/vc_wallet.py +13 -15
  356. chia/wallet/wallet.py +5 -3
  357. chia/wallet/wallet_node.py +25 -30
  358. chia/wallet/wallet_request_types.py +538 -101
  359. chia/wallet/wallet_rpc_api.py +398 -570
  360. chia/wallet/wallet_rpc_client.py +144 -332
  361. chia/wallet/wallet_service.py +8 -0
  362. chia/wallet/wallet_state_manager.py +53 -42
  363. chia/wallet/wallet_transaction_store.py +13 -5
  364. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/METADATA +31 -31
  365. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/RECORD +368 -240
  366. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/WHEEL +1 -1
  367. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info}/entry_points.txt +8 -7
  368. chia/full_node/mempool_check_conditions.py +0 -102
  369. chia/server/aliases.py +0 -35
  370. {chia_blockchain-2.5.6rc2.dist-info → chia_blockchain-2.5.7.dist-info/licenses}/LICENSE +0 -0
@@ -78,8 +78,6 @@ class DIDWallet:
78
78
  wallet: Wallet,
79
79
  amount: uint64,
80
80
  action_scope: WalletActionScope,
81
- backups_ids: list[bytes32] = [],
82
- num_of_backup_ids_needed: uint64 = None,
83
81
  metadata: dict[str, str] = {},
84
82
  name: Optional[str] = None,
85
83
  fee: uint64 = uint64(0),
@@ -114,14 +112,10 @@ class DIDWallet:
114
112
  if amount & 1 == 0:
115
113
  raise ValueError("DID amount must be odd number")
116
114
 
117
- if num_of_backup_ids_needed is None:
118
- num_of_backup_ids_needed = uint64(len(backups_ids))
119
- if num_of_backup_ids_needed > len(backups_ids):
120
- raise ValueError("Cannot require more IDs than are known.")
121
115
  self.did_info = DIDInfo(
122
116
  origin_coin=None,
123
- backup_ids=backups_ids,
124
- num_of_backup_ids_needed=num_of_backup_ids_needed,
117
+ backup_ids=[],
118
+ num_of_backup_ids_needed=uint64(0),
125
119
  parent_info=[],
126
120
  current_inner=None,
127
121
  temp_coin=None,
@@ -229,6 +223,7 @@ class DIDWallet:
229
223
  recovery_list: list[bytes32] = []
230
224
  backup_required: int = num_verification.as_int()
231
225
  if not did_recovery_is_nil(recovery_list_hash):
226
+ self.log.warning(f"DID {launch_coin.name().hex()} has a recovery list hash which has been deprecated.")
232
227
  try:
233
228
  for did in inner_solution.rest().rest().rest().rest().rest().as_python():
234
229
  recovery_list.append(bytes32(did[0]))
@@ -329,7 +324,7 @@ class DIDWallet:
329
324
  for coin in record.additions:
330
325
  hint_dict = {
331
326
  coin_id: bytes32(memos[0])
332
- for coin_id, memos in record.memos
327
+ for coin_id, memos in record.memos.items()
333
328
  if len(memos) > 0 and len(memos[0]) == 32
334
329
  }
335
330
  if (await self.wallet_state_manager.does_coin_belong_to_wallet(coin, self.id(), hint_dict)) and (
@@ -653,12 +648,12 @@ class DIDWallet:
653
648
  action_scope,
654
649
  extra_conditions=(AssertCoinAnnouncement(asserted_id=coin_name, asserted_msg=coin_name),),
655
650
  )
651
+ to_ph = await action_scope.get_puzzle_hash(self.wallet_state_manager, override_reuse_puzhash_with=True)
656
652
  did_record = TransactionRecord(
657
653
  confirmed_at_height=uint32(0),
658
- created_at_time=uint64(int(time.time())),
659
- to_puzzle_hash=await action_scope.get_puzzle_hash(
660
- self.wallet_state_manager, override_reuse_puzhash_with=True
661
- ),
654
+ created_at_time=uint64(time.time()),
655
+ to_puzzle_hash=to_ph,
656
+ to_address=self.wallet_state_manager.encode_puzzle_hash(to_ph),
662
657
  amount=uint64(coin.amount),
663
658
  fee_amount=uint64(0),
664
659
  confirmed=False,
@@ -671,7 +666,7 @@ class DIDWallet:
671
666
  trade_id=None,
672
667
  type=uint32(TransactionType.OUTGOING_TX.value),
673
668
  name=bytes32.secret(),
674
- memos=list(compute_memos(spend_bundle).items()),
669
+ memos=compute_memos(spend_bundle),
675
670
  valid_times=parse_timelock_info(extra_conditions),
676
671
  )
677
672
 
@@ -682,7 +677,6 @@ class DIDWallet:
682
677
  self,
683
678
  new_puzhash: bytes32,
684
679
  fee: uint64,
685
- with_recovery: bool,
686
680
  action_scope: WalletActionScope,
687
681
  extra_conditions: tuple[Condition, ...] = tuple(),
688
682
  ) -> None:
@@ -690,7 +684,6 @@ class DIDWallet:
690
684
  Transfer the current DID to another owner
691
685
  :param new_puzhash: New owner's p2_puzzle
692
686
  :param fee: Transaction fee
693
- :param with_recovery: A boolean indicates if the recovery info will be sent through the blockchain
694
687
  :return: Spend bundle
695
688
  """
696
689
  assert self.did_info.current_inner is not None
@@ -698,9 +691,8 @@ class DIDWallet:
698
691
  coin = await self.get_coin()
699
692
  backup_ids = []
700
693
  backup_required = uint64(0)
701
- if with_recovery:
702
- backup_ids = self.did_info.backup_ids
703
- backup_required = self.did_info.num_of_backup_ids_needed
694
+ backup_ids = self.did_info.backup_ids
695
+ backup_required = self.did_info.num_of_backup_ids_needed
704
696
  new_did_puzhash = did_wallet_puzzles.get_inner_puzhash_by_p2(
705
697
  p2_puzhash=new_puzhash,
706
698
  recovery_list=backup_ids,
@@ -713,12 +705,7 @@ class DIDWallet:
713
705
  primaries=[CreateCoin(new_did_puzhash, uint64(coin.amount), [new_puzhash])],
714
706
  conditions=(*extra_conditions, CreateCoinAnnouncement(coin.name())),
715
707
  )
716
- # Need to include backup list reveal here, even we are don't recover
717
- # innerpuz solution is
718
- # (mode, p2_solution)
719
- innersol: Program = Program.to([2, p2_solution])
720
- if with_recovery:
721
- innersol = Program.to([2, p2_solution, [], [], [], self.did_info.backup_ids])
708
+ innersol = Program.to([2, p2_solution, [], [], [], self.did_info.backup_ids])
722
709
  # full solution is (corehash parent_info my_amount innerpuz_reveal solution)
723
710
 
724
711
  full_puzzle: Program = create_singleton_puzzle(
@@ -747,12 +734,12 @@ class DIDWallet:
747
734
  action_scope,
748
735
  extra_conditions=(AssertCoinAnnouncement(asserted_id=coin_name, asserted_msg=coin_name),),
749
736
  )
737
+ to_ph = await action_scope.get_puzzle_hash(self.wallet_state_manager, override_reuse_puzhash_with=True)
750
738
  did_record = TransactionRecord(
751
739
  confirmed_at_height=uint32(0),
752
- created_at_time=uint64(int(time.time())),
753
- to_puzzle_hash=await action_scope.get_puzzle_hash(
754
- self.wallet_state_manager, override_reuse_puzhash_with=True
755
- ),
740
+ created_at_time=uint64(time.time()),
741
+ to_puzzle_hash=to_ph,
742
+ to_address=self.wallet_state_manager.encode_puzzle_hash(to_ph),
756
743
  amount=uint64(coin.amount),
757
744
  fee_amount=fee,
758
745
  confirmed=False,
@@ -765,7 +752,7 @@ class DIDWallet:
765
752
  trade_id=None,
766
753
  type=uint32(TransactionType.OUTGOING_TX.value),
767
754
  name=spend_bundle.name(),
768
- memos=list(compute_memos(spend_bundle).items()),
755
+ memos=compute_memos(spend_bundle),
769
756
  valid_times=parse_timelock_info(extra_conditions),
770
757
  )
771
758
 
@@ -830,8 +817,9 @@ class DIDWallet:
830
817
  unsigned_spend_bundle = WalletSpendBundle(list_of_coinspends, G2Element())
831
818
  tx = TransactionRecord(
832
819
  confirmed_at_height=uint32(0),
833
- created_at_time=uint64(int(time.time())),
820
+ created_at_time=uint64(time.time()),
834
821
  to_puzzle_hash=p2_ph,
822
+ to_address=self.wallet_state_manager.encode_puzzle_hash(p2_ph),
835
823
  amount=uint64(coin.amount),
836
824
  fee_amount=uint64(0),
837
825
  confirmed=False,
@@ -844,286 +832,12 @@ class DIDWallet:
844
832
  trade_id=None,
845
833
  type=uint32(TransactionType.OUTGOING_TX.value),
846
834
  name=unsigned_spend_bundle.name(),
847
- memos=list(compute_memos(unsigned_spend_bundle).items()),
835
+ memos=compute_memos(unsigned_spend_bundle),
848
836
  valid_times=parse_timelock_info(extra_conditions),
849
837
  )
850
838
  async with action_scope.use() as interface:
851
839
  interface.side_effects.transactions.append(tx)
852
840
 
853
- # This is used to cash out, or update the id_list
854
- async def create_exit_spend(self, puzhash: bytes32, action_scope: WalletActionScope) -> None:
855
- assert self.did_info.current_inner is not None
856
- assert self.did_info.origin_coin is not None
857
- coin = await self.get_coin()
858
- message_puz = Program.to((1, [[51, puzhash, coin.amount - 1, [puzhash]], [51, 0x00, -113]]))
859
-
860
- # innerpuz solution is (mode p2_solution)
861
- innersol: Program = Program.to([1, [[], message_puz, []]])
862
- # full solution is (corehash parent_info my_amount innerpuz_reveal solution)
863
- innerpuz: Program = self.did_info.current_inner
864
-
865
- full_puzzle: Program = create_singleton_puzzle(
866
- innerpuz,
867
- self.did_info.origin_coin.name(),
868
- )
869
- parent_info = self.get_parent_for_coin(coin)
870
- assert parent_info is not None
871
- fullsol = Program.to(
872
- [
873
- [
874
- parent_info.parent_name,
875
- parent_info.inner_puzzle_hash,
876
- parent_info.amount,
877
- ],
878
- coin.amount,
879
- innersol,
880
- ]
881
- )
882
- list_of_coinspends = [make_spend(coin, full_puzzle, fullsol)]
883
- spend_bundle = WalletSpendBundle(list_of_coinspends, G2Element())
884
-
885
- async with action_scope.use() as interface:
886
- interface.side_effects.transactions.append(
887
- TransactionRecord(
888
- confirmed_at_height=uint32(0),
889
- created_at_time=uint64(int(time.time())),
890
- to_puzzle_hash=await action_scope.get_puzzle_hash(
891
- self.wallet_state_manager, override_reuse_puzhash_with=True
892
- ),
893
- amount=uint64(coin.amount),
894
- fee_amount=uint64(0),
895
- confirmed=False,
896
- sent=uint32(0),
897
- spend_bundle=spend_bundle,
898
- additions=spend_bundle.additions(),
899
- removals=spend_bundle.removals(),
900
- wallet_id=self.wallet_info.id,
901
- sent_to=[],
902
- trade_id=None,
903
- type=uint32(TransactionType.OUTGOING_TX.value),
904
- name=bytes32.secret(),
905
- memos=list(compute_memos(spend_bundle).items()),
906
- valid_times=ConditionValidTimes(),
907
- )
908
- )
909
-
910
- # Pushes a spend bundle to create a message coin on the blockchain
911
- # Returns a spend bundle for the recoverer to spend the message coin
912
- async def create_attestment(
913
- self,
914
- recovering_coin_name: bytes32,
915
- newpuz: bytes32,
916
- pubkey: G1Element,
917
- action_scope: WalletActionScope,
918
- extra_conditions: tuple[Condition, ...] = tuple(),
919
- ) -> tuple[WalletSpendBundle, str]:
920
- """
921
- Create an attestment
922
- TODO:
923
- 1. We should use/respect `action_scope.config.tx_config` (reuse_puzhash and co)
924
- 2. We should take a fee as it's a requirement for every transaction function to do so
925
- :param recovering_coin_name: Coin ID of the DID
926
- :param newpuz: New puzzle hash
927
- :param pubkey: New wallet pubkey
928
- :return: (Spend bundle, attest string)
929
- """
930
- assert self.did_info.current_inner is not None
931
- assert self.did_info.origin_coin is not None
932
- coin = await self.get_coin()
933
- message = did_wallet_puzzles.create_recovery_message_puzzle(recovering_coin_name, newpuz, pubkey)
934
- innermessage = message.get_tree_hash()
935
- innerpuz: Program = self.did_info.current_inner
936
- uncurried = did_wallet_puzzles.uncurry_innerpuz(innerpuz)
937
- assert uncurried is not None
938
- p2_puzzle = uncurried[0]
939
- # innerpuz solution is (mode, p2_solution)
940
- p2_solution = self.standard_wallet.make_solution(
941
- primaries=[
942
- CreateCoin(innerpuz.get_tree_hash(), uint64(coin.amount), [p2_puzzle.get_tree_hash()]),
943
- CreateCoin(innermessage, uint64(0)),
944
- ],
945
- conditions=extra_conditions,
946
- )
947
- innersol = Program.to([1, p2_solution])
948
-
949
- # full solution is (corehash parent_info my_amount innerpuz_reveal solution)
950
- full_puzzle: Program = create_singleton_puzzle(
951
- innerpuz,
952
- self.did_info.origin_coin.name(),
953
- )
954
- parent_info = self.get_parent_for_coin(coin)
955
- assert parent_info is not None
956
-
957
- fullsol = Program.to(
958
- [
959
- [
960
- parent_info.parent_name,
961
- parent_info.inner_puzzle_hash,
962
- parent_info.amount,
963
- ],
964
- coin.amount,
965
- innersol,
966
- ]
967
- )
968
- list_of_coinspends = [make_spend(coin, full_puzzle, fullsol)]
969
- message_spend = did_wallet_puzzles.create_spend_for_message(coin.name(), recovering_coin_name, newpuz, pubkey)
970
- message_spend_bundle = WalletSpendBundle([message_spend], AugSchemeMPL.aggregate([]))
971
- spend_bundle = WalletSpendBundle(list_of_coinspends, G2Element())
972
- did_record = TransactionRecord(
973
- confirmed_at_height=uint32(0),
974
- created_at_time=uint64(int(time.time())),
975
- to_puzzle_hash=await action_scope.get_puzzle_hash(
976
- self.wallet_state_manager, override_reuse_puzhash_with=True
977
- ),
978
- amount=uint64(coin.amount),
979
- fee_amount=uint64(0),
980
- confirmed=False,
981
- sent=uint32(0),
982
- spend_bundle=spend_bundle,
983
- additions=spend_bundle.additions(),
984
- removals=spend_bundle.removals(),
985
- wallet_id=self.wallet_info.id,
986
- sent_to=[],
987
- trade_id=None,
988
- type=uint32(TransactionType.INCOMING_TX.value),
989
- name=bytes32.secret(),
990
- memos=list(compute_memos(spend_bundle).items()),
991
- valid_times=parse_timelock_info(extra_conditions),
992
- )
993
- async with action_scope.use() as interface:
994
- interface.side_effects.transactions.append(did_record)
995
- attest_str: str = f"{self.get_my_DID()}:{bytes(message_spend_bundle).hex()}:{coin.parent_coin_info.hex()}:"
996
- attest_str += f"{self.did_info.current_inner.get_tree_hash().hex()}:{coin.amount}"
997
- return message_spend_bundle, attest_str
998
-
999
- async def get_info_for_recovery(self) -> Optional[tuple[bytes32, bytes32, uint64]]:
1000
- assert self.did_info.current_inner is not None
1001
- assert self.did_info.origin_coin is not None
1002
- try:
1003
- coin = await self.get_coin()
1004
- except RuntimeError:
1005
- return None
1006
- parent = coin.parent_coin_info
1007
- innerpuzhash = self.did_info.current_inner.get_tree_hash()
1008
- amount = uint64(coin.amount)
1009
- return (parent, innerpuzhash, amount)
1010
-
1011
- async def load_attest_files_for_recovery_spend(self, attest_data: list[str]) -> tuple[list, WalletSpendBundle]:
1012
- spend_bundle_list = []
1013
- info_dict = {}
1014
- for attest in attest_data:
1015
- info = attest.split(":")
1016
- info_dict[info[0]] = [
1017
- bytes.fromhex(info[2]),
1018
- bytes.fromhex(info[3]),
1019
- uint64(info[4]),
1020
- ]
1021
- new_sb = WalletSpendBundle.from_bytes(bytes.fromhex(info[1]))
1022
- spend_bundle_list.append(new_sb)
1023
- # info_dict {0xidentity: "(0xparent_info 0xinnerpuz amount)"}
1024
- my_recovery_list: list[bytes32] = self.did_info.backup_ids
1025
-
1026
- # convert info dict into recovery list - same order as wallet
1027
- info_list = []
1028
- for entry in my_recovery_list:
1029
- if entry.hex() in info_dict:
1030
- info_list.append(
1031
- [
1032
- info_dict[entry.hex()][0],
1033
- info_dict[entry.hex()][1],
1034
- info_dict[entry.hex()][2],
1035
- ]
1036
- )
1037
- else:
1038
- info_list.append([])
1039
- message_spend_bundle = WalletSpendBundle.aggregate(spend_bundle_list)
1040
- return info_list, message_spend_bundle
1041
-
1042
- async def recovery_spend(
1043
- self,
1044
- coin: Coin,
1045
- puzhash: bytes32,
1046
- parent_innerpuzhash_amounts_for_recovery_ids: list[tuple[bytes, bytes, int]],
1047
- pubkey: G1Element,
1048
- spend_bundle: WalletSpendBundle,
1049
- action_scope: WalletActionScope,
1050
- ) -> None:
1051
- assert self.did_info.origin_coin is not None
1052
-
1053
- # innersol is mode new_amount_or_p2_solution new_inner_puzhash parent_innerpuzhash_amounts_for_recovery_ids pubkey recovery_list_reveal my_id) # noqa
1054
- innersol: Program = Program.to(
1055
- [
1056
- 0,
1057
- coin.amount,
1058
- puzhash,
1059
- parent_innerpuzhash_amounts_for_recovery_ids,
1060
- bytes(pubkey),
1061
- self.did_info.backup_ids,
1062
- coin.name(),
1063
- ]
1064
- )
1065
- # full solution is (parent_info my_amount solution)
1066
- assert self.did_info.current_inner is not None
1067
- innerpuz: Program = self.did_info.current_inner
1068
- full_puzzle: Program = create_singleton_puzzle(
1069
- innerpuz,
1070
- self.did_info.origin_coin.name(),
1071
- )
1072
- parent_info = self.get_parent_for_coin(coin)
1073
- assert parent_info is not None
1074
- fullsol = Program.to(
1075
- [
1076
- [
1077
- parent_info.parent_name,
1078
- parent_info.inner_puzzle_hash,
1079
- parent_info.amount,
1080
- ],
1081
- coin.amount,
1082
- innersol,
1083
- ]
1084
- )
1085
- list_of_coinspends = [make_spend(coin, full_puzzle, fullsol)]
1086
-
1087
- spend_bundle = spend_bundle.aggregate([spend_bundle, WalletSpendBundle(list_of_coinspends, G2Element())])
1088
-
1089
- async with action_scope.use() as interface:
1090
- interface.side_effects.transactions.append(
1091
- TransactionRecord(
1092
- confirmed_at_height=uint32(0),
1093
- created_at_time=uint64(int(time.time())),
1094
- to_puzzle_hash=await action_scope.get_puzzle_hash(
1095
- self.wallet_state_manager, override_reuse_puzhash_with=True
1096
- ),
1097
- amount=uint64(coin.amount),
1098
- fee_amount=uint64(0),
1099
- confirmed=False,
1100
- sent=uint32(0),
1101
- spend_bundle=spend_bundle,
1102
- additions=spend_bundle.additions(),
1103
- removals=spend_bundle.removals(),
1104
- wallet_id=self.wallet_info.id,
1105
- sent_to=[],
1106
- trade_id=None,
1107
- type=uint32(TransactionType.OUTGOING_TX.value),
1108
- name=bytes32.secret(),
1109
- memos=list(compute_memos(spend_bundle).items()),
1110
- valid_times=ConditionValidTimes(),
1111
- )
1112
- )
1113
- new_did_info = DIDInfo(
1114
- origin_coin=self.did_info.origin_coin,
1115
- backup_ids=self.did_info.backup_ids,
1116
- num_of_backup_ids_needed=self.did_info.num_of_backup_ids_needed,
1117
- parent_info=self.did_info.parent_info,
1118
- current_inner=self.did_info.current_inner,
1119
- temp_coin=self.did_info.temp_coin,
1120
- temp_puzhash=self.did_info.temp_puzhash,
1121
- temp_pubkey=self.did_info.temp_pubkey,
1122
- sent_recovery_transaction=True,
1123
- metadata=self.did_info.metadata,
1124
- )
1125
- await self.save_info(new_did_info)
1126
-
1127
841
  async def get_did_innerpuz(
1128
842
  self,
1129
843
  action_scope: WalletActionScope,
@@ -1311,13 +1025,13 @@ class DIDWallet:
1311
1025
  assert self.did_info.origin_coin is not None
1312
1026
  assert self.did_info.current_inner is not None
1313
1027
 
1028
+ to_ph = await action_scope.get_puzzle_hash(self.wallet_state_manager, override_reuse_puzhash_with=True)
1314
1029
  did_record = TransactionRecord(
1315
1030
  confirmed_at_height=uint32(0),
1316
- created_at_time=uint64(int(time.time())),
1031
+ created_at_time=uint64(time.time()),
1317
1032
  amount=uint64(amount),
1318
- to_puzzle_hash=await action_scope.get_puzzle_hash(
1319
- self.wallet_state_manager, override_reuse_puzhash_with=True
1320
- ),
1033
+ to_puzzle_hash=to_ph,
1034
+ to_address=self.wallet_state_manager.encode_puzzle_hash(to_ph),
1321
1035
  fee_amount=fee,
1322
1036
  confirmed=False,
1323
1037
  sent=uint32(0),
@@ -1329,7 +1043,7 @@ class DIDWallet:
1329
1043
  trade_id=None,
1330
1044
  type=uint32(TransactionType.INCOMING_TX.value),
1331
1045
  name=full_spend.name(),
1332
- memos=[],
1046
+ memos={},
1333
1047
  valid_times=ConditionValidTimes(),
1334
1048
  )
1335
1049
  async with action_scope.use() as interface:
@@ -1395,25 +1109,6 @@ class DIDWallet:
1395
1109
  )
1396
1110
  await self.save_info(did_info)
1397
1111
 
1398
- async def update_recovery_list(self, recover_list: list[bytes32], num_of_backup_ids_needed: uint64) -> bool:
1399
- if num_of_backup_ids_needed > len(recover_list):
1400
- return False
1401
- did_info = DIDInfo(
1402
- origin_coin=self.did_info.origin_coin,
1403
- backup_ids=recover_list,
1404
- num_of_backup_ids_needed=num_of_backup_ids_needed,
1405
- parent_info=self.did_info.parent_info,
1406
- current_inner=self.did_info.current_inner,
1407
- temp_coin=self.did_info.temp_coin,
1408
- temp_puzhash=self.did_info.temp_puzhash,
1409
- temp_pubkey=self.did_info.temp_pubkey,
1410
- sent_recovery_transaction=self.did_info.sent_recovery_transaction,
1411
- metadata=self.did_info.metadata,
1412
- )
1413
- await self.save_info(did_info)
1414
- await self.wallet_state_manager.update_wallet_puzzle_hashes(self.wallet_info.id)
1415
- return True
1416
-
1417
1112
  async def update_metadata(self, metadata: dict[str, str]) -> bool:
1418
1113
  # validate metadata
1419
1114
  if not all(isinstance(k, str) and isinstance(v, str) for k, v in metadata.items()):
@@ -1476,12 +1171,12 @@ class DIDWallet:
1476
1171
  :return: DIDInfo
1477
1172
  """
1478
1173
  details = backup_data.split(":")
1479
- origin = Coin(bytes32.fromhex(details[0]), bytes32.fromhex(details[1]), uint64(int(details[2])))
1174
+ origin = Coin(bytes32.fromhex(details[0]), bytes32.fromhex(details[1]), uint64(details[2]))
1480
1175
  backup_ids = []
1481
1176
  if len(details[3]) > 0:
1482
1177
  for d in details[3].split(","):
1483
1178
  backup_ids.append(bytes32.from_hexstr(d))
1484
- num_of_backup_ids_needed = uint64(int(details[5]))
1179
+ num_of_backup_ids_needed = uint64(details[5])
1485
1180
  if num_of_backup_ids_needed > len(backup_ids):
1486
1181
  raise Exception
1487
1182
  innerpuz: Program = Program.from_bytes(bytes.fromhex(details[4]))
@@ -217,7 +217,7 @@ def create_ownership_layer_transfer_solution(
217
217
  "Creating a transfer solution with: DID:%s Inner_puzhash:%s trade_price:%s puzhash:%s",
218
218
  new_did.hex(),
219
219
  new_did_inner_hash.hex(),
220
- str(trade_prices_list),
220
+ trade_prices_list,
221
221
  new_puzhash.hex(),
222
222
  )
223
223
  condition_list = [[51, new_puzhash, 1, [new_puzhash]], [-10, new_did, trade_prices_list, new_did_inner_hash]]
@@ -550,9 +550,9 @@ class NFTWallet:
550
550
  name: Optional[str] = None,
551
551
  ) -> Any:
552
552
  # Off the bat we don't support multiple profile but when we do this will have to change
553
- for wallet in wallet_state_manager.wallets.values():
554
- if wallet.type() == WalletType.NFT.value:
555
- return wallet
553
+ for wsm_wallet in wallet_state_manager.wallets.values():
554
+ if wsm_wallet.type() == WalletType.NFT.value:
555
+ return wsm_wallet
556
556
 
557
557
  # TODO: These are not the arguments to this function yet but they will be
558
558
  return await cls.create_new_nft_wallet(
@@ -615,8 +615,9 @@ class NFTWallet:
615
615
  }
616
616
  tx = TransactionRecord(
617
617
  confirmed_at_height=uint32(0),
618
- created_at_time=uint64(int(time.time())),
618
+ created_at_time=uint64(time.time()),
619
619
  to_puzzle_hash=puzzle_hashes[0],
620
+ to_address=self.wallet_state_manager.encode_puzzle_hash(puzzle_hashes[0]),
620
621
  amount=uint64(payment_sum),
621
622
  fee_amount=fee,
622
623
  confirmed=False,
@@ -629,7 +630,7 @@ class NFTWallet:
629
630
  trade_id=None,
630
631
  type=uint32(TransactionType.OUTGOING_TX.value),
631
632
  name=spend_bundle.name(),
632
- memos=list(compute_memos(spend_bundle).items()),
633
+ memos=compute_memos(spend_bundle),
633
634
  valid_times=parse_timelock_info(extra_conditions),
634
635
  )
635
636
 
@@ -1404,8 +1405,9 @@ class NFTWallet:
1404
1405
  interface.side_effects.transactions.append(
1405
1406
  TransactionRecord(
1406
1407
  confirmed_at_height=uint32(0),
1407
- created_at_time=uint64(int(time.time())),
1408
+ created_at_time=uint64(time.time()),
1408
1409
  to_puzzle_hash=innerpuz.get_tree_hash(),
1410
+ to_address=self.wallet_state_manager.encode_puzzle_hash(innerpuz.get_tree_hash()),
1409
1411
  amount=uint64(1),
1410
1412
  fee_amount=fee,
1411
1413
  confirmed=False,
@@ -1418,7 +1420,7 @@ class NFTWallet:
1418
1420
  trade_id=None,
1419
1421
  type=uint32(TransactionType.OUTGOING_TX.value),
1420
1422
  name=unsigned_spend_bundle.name(),
1421
- memos=list(compute_memos(unsigned_spend_bundle).items()),
1423
+ memos=compute_memos(unsigned_spend_bundle),
1422
1424
  valid_times=parse_timelock_info(extra_conditions),
1423
1425
  )
1424
1426
  )
@@ -65,15 +65,14 @@ class PuzzleInfo:
65
65
  return True
66
66
  else:
67
67
  return False
68
- else:
69
- if self.type() == types[0]:
70
- types.pop(0)
71
- if self.also():
72
- return self.also().check_type(types) # type: ignore
73
- else:
74
- return self.check_type(types)
68
+ elif self.type() == types[0]:
69
+ types.pop(0)
70
+ if self.also():
71
+ return self.also().check_type(types) # type: ignore
75
72
  else:
76
- return False
73
+ return self.check_type(types)
74
+ else:
75
+ return False
77
76
 
78
77
 
79
78
  @dataclass(frozen=True)
@@ -12,7 +12,6 @@ from chia.apis import ApiProtocolRegistry
12
12
  from chia.consensus.constants import replace_str_to_bytes
13
13
  from chia.consensus.default_constants import DEFAULT_CONSTANTS, update_testnet_overrides
14
14
  from chia.protocols.outbound_message import NodeType
15
- from chia.server.aliases import WalletService
16
15
  from chia.server.resolve_peer_info import get_unresolved_peer_infos
17
16
  from chia.server.signal_handlers import SignalHandlers
18
17
  from chia.server.start_service import RpcInfo, Service, async_run
@@ -26,6 +25,7 @@ from chia.wallet.wallet_node import WalletNode
26
25
  # See: https://bugs.python.org/issue29288
27
26
  from chia.wallet.wallet_node_api import WalletNodeAPI
28
27
  from chia.wallet.wallet_rpc_api import WalletRpcApi
28
+ from chia.wallet.wallet_service import WalletService
29
29
 
30
30
  "".encode("idna")
31
31
 
@@ -359,8 +359,9 @@ class TradeManager:
359
359
 
360
360
  incoming_tx = TransactionRecord(
361
361
  confirmed_at_height=uint32(0),
362
- created_at_time=uint64(int(time.time())),
362
+ created_at_time=uint64(time.time()),
363
363
  to_puzzle_hash=new_ph,
364
+ to_address=self.wallet_state_manager.encode_puzzle_hash(new_ph),
364
365
  amount=uint64(coin.amount),
365
366
  fee_amount=fee,
366
367
  confirmed=False,
@@ -373,7 +374,7 @@ class TradeManager:
373
374
  trade_id=None,
374
375
  type=uint32(TransactionType.INCOMING_TX.value),
375
376
  name=cancellation_additions[0].name(),
376
- memos=[],
377
+ memos={},
377
378
  valid_times=valid_times,
378
379
  )
379
380
  all_txs.append(incoming_tx)
@@ -447,7 +448,7 @@ class TradeManager:
447
448
 
448
449
  success, created_offer, error = result
449
450
 
450
- now = uint64(int(time.time()))
451
+ now = uint64(time.time())
451
452
  trade_offer: TradeRecord = TradeRecord(
452
453
  confirmed_at_index=uint32(0),
453
454
  accepted_at_time=None,
@@ -726,8 +727,9 @@ class TradeManager:
726
727
  txs.append(
727
728
  TransactionRecord(
728
729
  confirmed_at_height=uint32(0),
729
- created_at_time=uint64(int(time.time())),
730
+ created_at_time=uint64(time.time()),
730
731
  to_puzzle_hash=to_puzzle_hash,
732
+ to_address=self.wallet_state_manager.encode_puzzle_hash(to_puzzle_hash),
731
733
  amount=uint64(addition.amount),
732
734
  fee_amount=uint64(0),
733
735
  confirmed=False,
@@ -740,7 +742,7 @@ class TradeManager:
740
742
  trade_id=offer.name(),
741
743
  type=uint32(TransactionType.INCOMING_TRADE.value),
742
744
  name=std_hash(final_spend_bundle.name() + addition.name()),
743
- memos=[(coin_id, [hint]) for coin_id, hint in hint_dict.items()],
745
+ memos={coin_id: [hint] for coin_id, hint in hint_dict.items()},
744
746
  valid_times=valid_times,
745
747
  )
746
748
  )
@@ -786,8 +788,9 @@ class TradeManager:
786
788
  txs.append(
787
789
  TransactionRecord(
788
790
  confirmed_at_height=uint32(0),
789
- created_at_time=uint64(int(time.time())),
791
+ created_at_time=uint64(time.time()),
790
792
  to_puzzle_hash=to_puzzle_hash,
793
+ to_address=self.wallet_state_manager.encode_puzzle_hash(to_puzzle_hash),
791
794
  amount=uint64(sent_amount),
792
795
  fee_amount=all_fees,
793
796
  confirmed=False,
@@ -800,7 +803,7 @@ class TradeManager:
800
803
  trade_id=offer.name(),
801
804
  type=uint32(TransactionType.OUTGOING_TRADE.value),
802
805
  name=std_hash(final_spend_bundle.name() + removal_tree_hash),
803
- memos=[(coin_id, [hint]) for coin_id, hint in hint_dict.items()],
806
+ memos={coin_id: [hint] for coin_id, hint in hint_dict.items()},
804
807
  valid_times=valid_times,
805
808
  )
806
809
  )
@@ -883,8 +886,8 @@ class TradeManager:
883
886
 
884
887
  trade_record: TradeRecord = TradeRecord(
885
888
  confirmed_at_index=uint32(0),
886
- accepted_at_time=uint64(int(time.time())),
887
- created_at_time=uint64(int(time.time())),
889
+ accepted_at_time=uint64(time.time()),
890
+ created_at_time=uint64(time.time()),
888
891
  is_my_offer=False,
889
892
  sent=uint32(0),
890
893
  offer=bytes(complete_offer),