chia-blockchain 2.5.3rc2__tar.gz → 2.5.4rc2__tar.gz

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 (890) hide show
  1. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/PKG-INFO +2 -2
  2. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool_manager.py +332 -24
  3. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/timelord/test_new_peak.py +58 -0
  4. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/block_creation.py +3 -1
  5. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/full_node.py +20 -6
  6. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/mempool_manager.py +155 -37
  7. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/harvester/harvester_api.py +3 -3
  8. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/block_tools.py +4 -5
  9. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/timelord_api.py +21 -5
  10. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/program.py +2 -2
  11. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/pyproject.toml +2 -2
  12. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/LICENSE +0 -0
  13. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/README.md +0 -0
  14. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/__init__.py +0 -0
  15. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/__main__.py +0 -0
  16. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/README.md +0 -0
  17. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/__init__.py +0 -0
  18. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/__init__.py +0 -0
  19. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/blockchain_test_utils.py +0 -0
  20. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/config.py +0 -0
  21. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_augmented_chain.py +0 -0
  22. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_blockchain.py +0 -0
  23. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_blockchain_transactions.py +0 -0
  24. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_build_chains.py +0 -0
  25. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_get_block_generator.py +0 -0
  26. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/blockchain/test_lookup_fork_chain.py +0 -0
  27. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/build-init-files.py +0 -0
  28. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/build-job-matrix.py +0 -0
  29. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/check_pytest_monitor_output.py +0 -0
  30. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/check_sql_statements.py +0 -0
  31. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/chia-start-sim +0 -0
  32. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/__init__.py +0 -0
  33. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/benchmark_costs.py +0 -0
  34. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/coin_store.py +0 -0
  35. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_chialisp_deserialization.py +0 -0
  36. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_clvm_step.py +0 -0
  37. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_curry_and_treehash.py +0 -0
  38. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_message_conditions.py +0 -0
  39. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_program.py +0 -0
  40. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_puzzle_compression.py +0 -0
  41. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_puzzle_drivers.py +0 -0
  42. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_puzzles.py +0 -0
  43. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_singletons.py +0 -0
  44. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/clvm/test_spend_sim.py +0 -0
  45. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/__init__.py +0 -0
  46. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/cmd_test_utils.py +0 -0
  47. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/config.py +0 -0
  48. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/conftest.py +0 -0
  49. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_click_types.py +0 -0
  50. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_cmd_framework.py +0 -0
  51. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_cmds_util.py +0 -0
  52. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_daemon.py +0 -0
  53. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_dev_gh.py +0 -0
  54. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_farm_cmd.py +0 -0
  55. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_show.py +0 -0
  56. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_sim.py +0 -0
  57. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_timelock_args.py +0 -0
  58. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/test_tx_config_args.py +0 -0
  59. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/testing_classes.py +0 -0
  60. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/__init__.py +0 -0
  61. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_consts.py +0 -0
  62. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_did.py +0 -0
  63. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_nft.py +0 -0
  64. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_notifications.py +0 -0
  65. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_offer.toffer +0 -0
  66. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_tx_decorators.py +0 -0
  67. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_vcs.py +0 -0
  68. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_wallet.py +0 -0
  69. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/cmds/wallet/test_wallet_check.py +0 -0
  70. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/conftest.py +0 -0
  71. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/connection_utils.py +0 -0
  72. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/__init__.py +0 -0
  73. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/cmds/__init__.py +0 -0
  74. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/cmds/test_beta.py +0 -0
  75. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/cmds/test_keys.py +0 -0
  76. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/cmds/test_wallet.py +0 -0
  77. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/config.py +0 -0
  78. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/consensus/__init__.py +0 -0
  79. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/consensus/test_block_creation.py +0 -0
  80. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/consensus/test_pot_iterations.py +0 -0
  81. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/custom_types/__init__.py +0 -0
  82. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/custom_types/test_coin.py +0 -0
  83. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/custom_types/test_proof_of_space.py +0 -0
  84. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/custom_types/test_spend_bundle.py +0 -0
  85. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/daemon/__init__.py +0 -0
  86. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/daemon/config.py +0 -0
  87. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/daemon/test_daemon.py +0 -0
  88. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/daemon/test_daemon_register.py +0 -0
  89. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/daemon/test_keychain_proxy.py +0 -0
  90. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/__init__.py +0 -0
  91. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/config.py +0 -0
  92. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/conftest.py +0 -0
  93. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_cli.py +0 -0
  94. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_layer.py +0 -0
  95. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_layer_util.py +0 -0
  96. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_rpc.py +0 -0
  97. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_store.py +0 -0
  98. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_data_store_schema.py +0 -0
  99. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/test_plugin.py +0 -0
  100. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/data_layer/util.py +0 -0
  101. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/farmer/__init__.py +0 -0
  102. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/farmer/config.py +0 -0
  103. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/farmer/test_farmer_api.py +0 -0
  104. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/__init__.py +0 -0
  105. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/config.py +0 -0
  106. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/dos/__init__.py +0 -0
  107. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/dos/config.py +0 -0
  108. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/full_sync/__init__.py +0 -0
  109. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/full_sync/config.py +0 -0
  110. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/full_sync/test_full_sync.py +0 -0
  111. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/ram_db.py +0 -0
  112. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/__init__.py +0 -0
  113. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/config.py +0 -0
  114. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/test_block_store.py +0 -0
  115. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/test_coin_store.py +0 -0
  116. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/test_full_node_store.py +0 -0
  117. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/test_hint_store.py +0 -0
  118. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/stores/test_sync_store.py +0 -0
  119. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_address_manager.py +0 -0
  120. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_block_height_map.py +0 -0
  121. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_conditions.py +0 -0
  122. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_full_node.py +0 -0
  123. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_generator_tools.py +0 -0
  124. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_hint_management.py +0 -0
  125. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_node_load.py +0 -0
  126. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_performance.py +0 -0
  127. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_subscriptions.py +0 -0
  128. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_transactions.py +0 -0
  129. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/full_node/test_tx_processing_queue.py +0 -0
  130. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/large_block.py +0 -0
  131. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/make_block_generator.py +0 -0
  132. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/__init__.py +0 -0
  133. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/config.py +0 -0
  134. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool.py +0 -0
  135. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool_fee_estimator.py +0 -0
  136. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool_fee_protocol.py +0 -0
  137. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool_item_queries.py +0 -0
  138. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_mempool_performance.py +0 -0
  139. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/mempool/test_singleton_fast_forward.py +0 -0
  140. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/node_height.py +0 -0
  141. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/__init__.py +0 -0
  142. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/config.py +0 -0
  143. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/flood.py +0 -0
  144. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/serve.py +0 -0
  145. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_api_protocol.py +0 -0
  146. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_capabilities.py +0 -0
  147. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_dos.py +0 -0
  148. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_event_loop.py +0 -0
  149. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_loop.py +0 -0
  150. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_node_discovery.py +0 -0
  151. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_rate_limits.py +0 -0
  152. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_server.py +0 -0
  153. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/server/test_upnp.py +0 -0
  154. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/services/__init__.py +0 -0
  155. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/services/config.py +0 -0
  156. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/services/test_services.py +0 -0
  157. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/ssl/__init__.py +0 -0
  158. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/ssl/config.py +0 -0
  159. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/ssl/test_ssl.py +0 -0
  160. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_coins.py +0 -0
  161. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_cost_calculation.py +0 -0
  162. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_crawler.py +0 -0
  163. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_crawler_rpc.py +0 -0
  164. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_daemon_rpc.py +0 -0
  165. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_db_conversion.py +0 -0
  166. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_db_validation.py +0 -0
  167. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_farmer_harvester_rpc.py +0 -0
  168. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_filter.py +0 -0
  169. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_full_node_rpc.py +0 -0
  170. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_merkle_set.py +0 -0
  171. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_program.py +0 -0
  172. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_rpc_util.py +0 -0
  173. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_seeder.py +0 -0
  174. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/test_setproctitle.py +0 -0
  175. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/__init__.py +0 -0
  176. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/config.py +0 -0
  177. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_block_cache.py +0 -0
  178. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_cached_bls.py +0 -0
  179. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_config.py +0 -0
  180. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_file_keyring_synchronization.py +0 -0
  181. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_files.py +0 -0
  182. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_jsonify.py +0 -0
  183. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_keychain.py +0 -0
  184. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_keyring_wrapper.py +0 -0
  185. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_lockfile.py +0 -0
  186. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_log_exceptions.py +0 -0
  187. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_lru_cache.py +0 -0
  188. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_significant_bits.py +0 -0
  189. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/core/util/test_streamable.py +0 -0
  190. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/db/__init__.py +0 -0
  191. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/db/test_db_wrapper.py +0 -0
  192. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/environments/__init__.py +0 -0
  193. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/environments/common.py +0 -0
  194. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/environments/full_node.py +0 -0
  195. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/environments/wallet.py +0 -0
  196. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/ether.py +0 -0
  197. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/__init__.py +0 -0
  198. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/config.py +0 -0
  199. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/test_farmer.py +0 -0
  200. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/test_farmer_harvester.py +0 -0
  201. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/test_filter_prefix_bits.py +0 -0
  202. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/test_third_party_harvesters.py +0 -0
  203. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/farmer_harvester/test_third_party_harvesters_data.json +0 -0
  204. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/__init__.py +0 -0
  205. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/config.py +0 -0
  206. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/test_fee_estimation_integration.py +0 -0
  207. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/test_fee_estimation_rpc.py +0 -0
  208. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +0 -0
  209. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/fee_estimation/test_mempoolitem_height_added.py +0 -0
  210. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/__init__.py +0 -0
  211. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/puzzles/__init__.py +0 -0
  212. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/puzzles/test_generator_deserialize.clsp +0 -0
  213. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/puzzles/test_generator_deserialize.clsp.hex +0 -0
  214. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp +0 -0
  215. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/puzzles/test_multiple_generator_input_arguments.clsp.hex +0 -0
  216. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/test_compression.py +0 -0
  217. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/test_generator_types.py +0 -0
  218. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/generator/test_rom.py +0 -0
  219. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/__init__.py +0 -0
  220. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/config.py +0 -0
  221. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/test_delta.py +0 -0
  222. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/test_plot_sync.py +0 -0
  223. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/test_receiver.py +0 -0
  224. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/test_sender.py +0 -0
  225. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/test_sync_simulated.py +0 -0
  226. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plot_sync/util.py +0 -0
  227. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plotting/__init__.py +0 -0
  228. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plotting/config.py +0 -0
  229. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plotting/test_plot_manager.py +0 -0
  230. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/plotting/util.py +0 -0
  231. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/__init__.py +0 -0
  232. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/config.py +0 -0
  233. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_cli_parsing.py +0 -0
  234. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_cmdline.py +0 -0
  235. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_config.py +0 -0
  236. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_puzzles_lifecycle.py +0 -0
  237. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_rpc.py +0 -0
  238. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_pool_wallet.py +0 -0
  239. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/pools/test_wallet_pool_store.py +0 -0
  240. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/process_junit.py +0 -0
  241. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/rpc/__init__.py +0 -0
  242. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/rpc/test_rpc_client.py +0 -0
  243. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/rpc/test_rpc_server.py +0 -0
  244. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/simulation/__init__.py +0 -0
  245. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/simulation/config.py +0 -0
  246. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/simulation/test_simulation.py +0 -0
  247. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/simulation/test_simulator.py +0 -0
  248. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/simulation/test_start_simulator.py +0 -0
  249. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/testconfig.py +0 -0
  250. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/timelord/__init__.py +0 -0
  251. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/timelord/config.py +0 -0
  252. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/timelord/test_timelord.py +0 -0
  253. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/1315537.json +0 -0
  254. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/1315544.json +0 -0
  255. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/1315630.json +0 -0
  256. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/300000.json +0 -0
  257. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/442734.json +0 -0
  258. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/466212.json +0 -0
  259. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/__init__.py +0 -0
  260. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/config.py +0 -0
  261. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/test-blockchain-db.sqlite +0 -0
  262. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/test_full_sync.py +0 -0
  263. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/test_legacy_keyring.py +0 -0
  264. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/test_run_block.py +0 -0
  265. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/tools/test_virtual_project.py +0 -0
  266. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/__init__.py +0 -0
  267. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/benchmark_cost.py +0 -0
  268. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/benchmarks.py +0 -0
  269. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/bip39_test_vectors.json +0 -0
  270. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/blockchain.py +0 -0
  271. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/blockchain_mock.py +0 -0
  272. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/build_network_protocol_files.py +0 -0
  273. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/clvm_generator.bin +0 -0
  274. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/config.py +0 -0
  275. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/constants.py +0 -0
  276. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/db_connection.py +0 -0
  277. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/full_sync.py +0 -0
  278. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/gen_ssl_certs.py +0 -0
  279. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/generator_tools_testing.py +0 -0
  280. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/get_name_puzzle_conditions.py +0 -0
  281. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/key_tool.py +0 -0
  282. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/misc.py +0 -0
  283. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/network_protocol_data.py +0 -0
  284. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
  285. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/protocol_messages_json.py +0 -0
  286. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/rpc.py +0 -0
  287. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/run_block.py +0 -0
  288. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/setup_nodes.py +0 -0
  289. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/spend_sim.py +0 -0
  290. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/split_managers.py +0 -0
  291. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/temp_file.py +0 -0
  292. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_action_scope.py +0 -0
  293. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_async_pool.py +0 -0
  294. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_build_job_matrix.py +0 -0
  295. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_build_network_protocol_files.py +0 -0
  296. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_chia_version.py +0 -0
  297. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_collection.py +0 -0
  298. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_condition_tools.py +0 -0
  299. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_config.py +0 -0
  300. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_dump_keyring.py +0 -0
  301. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_errors.py +0 -0
  302. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_full_block_utils.py +0 -0
  303. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_installed.py +0 -0
  304. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_limited_semaphore.py +0 -0
  305. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_logging_filter.py +0 -0
  306. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_misc.py +0 -0
  307. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_network.py +0 -0
  308. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_network_protocol_files.py +0 -0
  309. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_network_protocol_json.py +0 -0
  310. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_network_protocol_test.py +0 -0
  311. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_paginator.py +0 -0
  312. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_pprint.py +0 -0
  313. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_priority_mutex.py +0 -0
  314. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_recursive_replace.py +0 -0
  315. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_replace_str_to_bytes.py +0 -0
  316. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_service_groups.py +0 -0
  317. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_ssl_check.py +0 -0
  318. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_testnet_overrides.py +0 -0
  319. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_tests_misc.py +0 -0
  320. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_timing.py +0 -0
  321. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/test_trusted_peer.py +0 -0
  322. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/util/time_out_assert.py +0 -0
  323. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/__init__.py +0 -0
  324. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/__init__.py +0 -0
  325. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/config.py +0 -0
  326. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +0 -0
  327. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +0 -0
  328. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/test_cat_wallet.py +0 -0
  329. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +0 -0
  330. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/cat_wallet/test_trades.py +0 -0
  331. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/clawback/__init__.py +0 -0
  332. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/clawback/config.py +0 -0
  333. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/clawback/test_clawback_decorator.py +0 -0
  334. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/clawback/test_clawback_lifecycle.py +0 -0
  335. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/clawback/test_clawback_metadata.py +0 -0
  336. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/config.py +0 -0
  337. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/conftest.py +0 -0
  338. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/db_wallet/__init__.py +0 -0
  339. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/db_wallet/config.py +0 -0
  340. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/db_wallet/test_db_graftroot.py +0 -0
  341. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/db_wallet/test_dl_offers.py +0 -0
  342. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/db_wallet/test_dl_wallet.py +0 -0
  343. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/did_wallet/__init__.py +0 -0
  344. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/did_wallet/config.py +0 -0
  345. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/did_wallet/test_did.py +0 -0
  346. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/__init__.py +0 -0
  347. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/config.py +0 -0
  348. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +0 -0
  349. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +0 -0
  350. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +0 -0
  351. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_offers.py +0 -0
  352. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +0 -0
  353. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_nft_wallet.py +0 -0
  354. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +0 -0
  355. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/rpc/__init__.py +0 -0
  356. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/rpc/config.py +0 -0
  357. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +0 -0
  358. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/rpc/test_wallet_rpc.py +0 -0
  359. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/simple_sync/__init__.py +0 -0
  360. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/simple_sync/config.py +0 -0
  361. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +0 -0
  362. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/sync/__init__.py +0 -0
  363. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/sync/config.py +0 -0
  364. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/sync/test_wallet_sync.py +0 -0
  365. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_address_type.py +0 -0
  366. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_bech32m.py +0 -0
  367. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_clvm_streamable.py +0 -0
  368. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_coin_management.py +0 -0
  369. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_coin_selection.py +0 -0
  370. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_conditions.py +0 -0
  371. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_debug_spend_bundle.py +0 -0
  372. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_new_wallet_protocol.py +0 -0
  373. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_nft_store.py +0 -0
  374. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_notifications.py +0 -0
  375. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_offer_parsing_performance.py +0 -0
  376. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_puzzle_store.py +0 -0
  377. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_sign_coin_spends.py +0 -0
  378. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_signer_protocol.py +0 -0
  379. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_singleton.py +0 -0
  380. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_singleton_lifecycle_fast.py +0 -0
  381. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_singleton_store.py +0 -0
  382. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_taproot.py +0 -0
  383. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_transaction_store.py +0 -0
  384. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_util.py +0 -0
  385. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet.py +0 -0
  386. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_action_scope.py +0 -0
  387. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_blockchain.py +0 -0
  388. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_coin_store.py +0 -0
  389. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_interested_store.py +0 -0
  390. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_key_val_store.py +0 -0
  391. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_node.py +0 -0
  392. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_retry.py +0 -0
  393. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_state_manager.py +0 -0
  394. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_test_framework.py +0 -0
  395. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_trade_store.py +0 -0
  396. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_user_store.py +0 -0
  397. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/test_wallet_utils.py +0 -0
  398. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/vc_wallet/__init__.py +0 -0
  399. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/vc_wallet/config.py +0 -0
  400. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +0 -0
  401. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +0 -0
  402. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/vc_wallet/test_vc_wallet.py +0 -0
  403. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/wallet/wallet_block_tools.py +0 -0
  404. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/weight_proof/__init__.py +0 -0
  405. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/weight_proof/config.py +0 -0
  406. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/_tests/weight_proof/test_weight_proof.py +0 -0
  407. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/apis.py +0 -0
  408. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/clvm/__init__.py +0 -0
  409. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/__init__.py +0 -0
  410. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/beta.py +0 -0
  411. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/beta_funcs.py +0 -0
  412. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/check_wallet_db.py +0 -0
  413. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/chia.py +0 -0
  414. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/cmd_classes.py +0 -0
  415. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/cmd_helpers.py +0 -0
  416. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/cmds_util.py +0 -0
  417. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/coin_funcs.py +0 -0
  418. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/coins.py +0 -0
  419. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/completion.py +0 -0
  420. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/configure.py +0 -0
  421. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/data.py +0 -0
  422. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/data_funcs.py +0 -0
  423. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/db.py +0 -0
  424. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/db_backup_func.py +0 -0
  425. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/db_upgrade_func.py +0 -0
  426. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/db_validate_func.py +0 -0
  427. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/dev.py +0 -0
  428. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/farm.py +0 -0
  429. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/farm_funcs.py +0 -0
  430. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/gh.py +0 -0
  431. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/init.py +0 -0
  432. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/init_funcs.py +0 -0
  433. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/installers.py +0 -0
  434. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/keys.py +0 -0
  435. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/keys_funcs.py +0 -0
  436. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/netspace.py +0 -0
  437. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/netspace_funcs.py +0 -0
  438. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/options.py +0 -0
  439. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/param_types.py +0 -0
  440. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/passphrase.py +0 -0
  441. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/passphrase_funcs.py +0 -0
  442. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/peer.py +0 -0
  443. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/peer_funcs.py +0 -0
  444. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/plotnft.py +0 -0
  445. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/plotnft_funcs.py +0 -0
  446. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/plots.py +0 -0
  447. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/plotters.py +0 -0
  448. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/rpc.py +0 -0
  449. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/show.py +0 -0
  450. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/show_funcs.py +0 -0
  451. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/signer.py +0 -0
  452. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/sim.py +0 -0
  453. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/sim_funcs.py +0 -0
  454. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/start.py +0 -0
  455. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/start_funcs.py +0 -0
  456. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/stop.py +0 -0
  457. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/units.py +0 -0
  458. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/wallet.py +0 -0
  459. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/cmds/wallet_funcs.py +0 -0
  460. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/__init__.py +0 -0
  461. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/block_body_validation.py +0 -0
  462. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/block_header_validation.py +0 -0
  463. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/block_record.py +0 -0
  464. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/block_rewards.py +0 -0
  465. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/blockchain.py +0 -0
  466. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/blockchain_interface.py +0 -0
  467. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/coinbase.py +0 -0
  468. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/condition_costs.py +0 -0
  469. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/constants.py +0 -0
  470. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/cost_calculator.py +0 -0
  471. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/default_constants.py +0 -0
  472. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/deficit.py +0 -0
  473. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/difficulty_adjustment.py +0 -0
  474. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/find_fork_point.py +0 -0
  475. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/full_block_to_block_record.py +0 -0
  476. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/get_block_challenge.py +0 -0
  477. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/get_block_generator.py +0 -0
  478. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/make_sub_epoch_summary.py +0 -0
  479. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/multiprocess_validation.py +0 -0
  480. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/pos_quality.py +0 -0
  481. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/pot_iterations.py +0 -0
  482. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/consensus/vdf_info_computation.py +0 -0
  483. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/__init__.py +0 -0
  484. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/client.py +0 -0
  485. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/keychain_proxy.py +0 -0
  486. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/keychain_server.py +0 -0
  487. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/server.py +0 -0
  488. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/daemon/windows_signal.py +0 -0
  489. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/__init__.py +0 -0
  490. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer.py +0 -0
  491. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer_api.py +0 -0
  492. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer_errors.py +0 -0
  493. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer_server.py +0 -0
  494. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer_util.py +0 -0
  495. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_layer_wallet.py +0 -0
  496. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/data_store.py +0 -0
  497. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/dl_wallet_store.py +0 -0
  498. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/download_data.py +0 -0
  499. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/puzzles/__init__.py +0 -0
  500. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/puzzles/graftroot_dl_offers.clsp +0 -0
  501. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/puzzles/graftroot_dl_offers.clsp.hex +0 -0
  502. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/s3_plugin_config.yml +0 -0
  503. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/s3_plugin_service.py +0 -0
  504. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/singleton_record.py +0 -0
  505. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/util/__init__.py +0 -0
  506. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/util/benchmark.py +0 -0
  507. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/data_layer/util/plugin.py +0 -0
  508. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/farmer/__init__.py +0 -0
  509. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/farmer/farmer.py +0 -0
  510. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/farmer/farmer_api.py +0 -0
  511. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/__init__.py +0 -0
  512. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/bitcoin_fee_estimator.py +0 -0
  513. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/block_height_map.py +0 -0
  514. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/block_store.py +0 -0
  515. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/bundle_tools.py +0 -0
  516. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/check_fork_next_block.py +0 -0
  517. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/coin_store.py +0 -0
  518. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimate.py +0 -0
  519. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimate_store.py +0 -0
  520. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimation.py +0 -0
  521. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimator.py +0 -0
  522. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimator_constants.py +0 -0
  523. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_estimator_interface.py +0 -0
  524. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_history.py +0 -0
  525. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/fee_tracker.py +0 -0
  526. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/full_node_api.py +0 -0
  527. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/full_node_store.py +0 -0
  528. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/hint_management.py +0 -0
  529. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/hint_store.py +0 -0
  530. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/mempool.py +0 -0
  531. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/mempool_check_conditions.py +0 -0
  532. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/pending_tx_cache.py +0 -0
  533. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/signage_point.py +0 -0
  534. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/subscriptions.py +0 -0
  535. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/sync_store.py +0 -0
  536. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/tx_processing_queue.py +0 -0
  537. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/util/__init__.py +0 -0
  538. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/full_node/weight_proof.py +0 -0
  539. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/harvester/__init__.py +0 -0
  540. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/harvester/harvester.py +0 -0
  541. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/introducer/__init__.py +0 -0
  542. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/introducer/introducer.py +0 -0
  543. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/introducer/introducer_api.py +0 -0
  544. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/legacy/__init__.py +0 -0
  545. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/legacy/keyring.py +0 -0
  546. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/__init__.py +0 -0
  547. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/delta.py +0 -0
  548. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/exceptions.py +0 -0
  549. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/receiver.py +0 -0
  550. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/sender.py +0 -0
  551. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plot_sync/util.py +0 -0
  552. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/__init__.py +0 -0
  553. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/bladebit.py +0 -0
  554. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/chiapos.py +0 -0
  555. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/madmax.py +0 -0
  556. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/plotters.py +0 -0
  557. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotters/plotters_util.py +0 -0
  558. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/__init__.py +0 -0
  559. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/cache.py +0 -0
  560. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/check_plots.py +0 -0
  561. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/create_plots.py +0 -0
  562. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/manager.py +0 -0
  563. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/plotting/util.py +0 -0
  564. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/pools/__init__.py +0 -0
  565. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/pools/pool_config.py +0 -0
  566. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/pools/pool_puzzles.py +0 -0
  567. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/pools/pool_wallet.py +0 -0
  568. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/pools/pool_wallet_info.py +0 -0
  569. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/__init__.py +0 -0
  570. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/farmer_protocol.py +0 -0
  571. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/full_node_protocol.py +0 -0
  572. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/harvester_protocol.py +0 -0
  573. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/introducer_protocol.py +0 -0
  574. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/pool_protocol.py +0 -0
  575. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/protocol_message_types.py +0 -0
  576. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/protocol_state_machine.py +0 -0
  577. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/protocol_timing.py +0 -0
  578. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/shared_protocol.py +0 -0
  579. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/timelord_protocol.py +0 -0
  580. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/protocols/wallet_protocol.py +0 -0
  581. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/py.typed +0 -0
  582. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/__init__.py +0 -0
  583. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/crawler_rpc_api.py +0 -0
  584. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/data_layer_rpc_api.py +0 -0
  585. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/data_layer_rpc_client.py +0 -0
  586. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/data_layer_rpc_util.py +0 -0
  587. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/farmer_rpc_api.py +0 -0
  588. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/farmer_rpc_client.py +0 -0
  589. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/full_node_rpc_api.py +0 -0
  590. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/full_node_rpc_client.py +0 -0
  591. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/harvester_rpc_api.py +0 -0
  592. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/harvester_rpc_client.py +0 -0
  593. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/rpc_client.py +0 -0
  594. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/rpc_server.py +0 -0
  595. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/timelord_rpc_api.py +0 -0
  596. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/util.py +0 -0
  597. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/wallet_request_types.py +0 -0
  598. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/wallet_rpc_api.py +0 -0
  599. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/rpc/wallet_rpc_client.py +0 -0
  600. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/__init__.py +0 -0
  601. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/crawl_store.py +0 -0
  602. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/crawler.py +0 -0
  603. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/crawler_api.py +0 -0
  604. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/dns_server.py +0 -0
  605. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/peer_record.py +0 -0
  606. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/seeder/start_crawler.py +0 -0
  607. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/__init__.py +0 -0
  608. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/address_manager.py +0 -0
  609. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/address_manager_store.py +0 -0
  610. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/api_protocol.py +0 -0
  611. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/capabilities.py +0 -0
  612. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/chia_policy.py +0 -0
  613. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/introducer_peers.py +0 -0
  614. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/node_discovery.py +0 -0
  615. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/outbound_message.py +0 -0
  616. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/rate_limit_numbers.py +0 -0
  617. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/rate_limits.py +0 -0
  618. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/server.py +0 -0
  619. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/signal_handlers.py +0 -0
  620. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/ssl_context.py +0 -0
  621. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_data_layer.py +0 -0
  622. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_farmer.py +0 -0
  623. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_full_node.py +0 -0
  624. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_harvester.py +0 -0
  625. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_introducer.py +0 -0
  626. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_service.py +0 -0
  627. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_timelord.py +0 -0
  628. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/start_wallet.py +0 -0
  629. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/upnp.py +0 -0
  630. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/server/ws_connection.py +0 -0
  631. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/__init__.py +0 -0
  632. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/add_blocks_in_batches.py +0 -0
  633. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/full_node_simulator.py +0 -0
  634. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/keyring.py +0 -0
  635. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/setup_services.py +0 -0
  636. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/simulator_full_node_rpc_api.py +0 -0
  637. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/simulator_full_node_rpc_client.py +0 -0
  638. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/simulator_protocol.py +0 -0
  639. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/simulator_test_tools.py +0 -0
  640. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/socket.py +0 -0
  641. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs.py +0 -0
  642. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_1.py +0 -0
  643. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_10.py +0 -0
  644. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_2.py +0 -0
  645. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_3.py +0 -0
  646. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_4.py +0 -0
  647. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_5.py +0 -0
  648. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_6.py +0 -0
  649. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_7.py +0 -0
  650. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_8.py +0 -0
  651. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/ssl_certs_9.py +0 -0
  652. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/start_simulator.py +0 -0
  653. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/simulator/wallet_tools.py +0 -0
  654. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/ssl/__init__.py +0 -0
  655. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/ssl/chia_ca.crt +0 -0
  656. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/ssl/chia_ca.key +0 -0
  657. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/ssl/create_ssl.py +0 -0
  658. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/ssl/dst_root_ca.pem +0 -0
  659. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/__init__.py +0 -0
  660. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/iters_from_block.py +0 -0
  661. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/timelord.py +0 -0
  662. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/timelord_launcher.py +0 -0
  663. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/timelord_state.py +0 -0
  664. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/timelord/types.py +0 -0
  665. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/__init__.py +0 -0
  666. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/aliases.py +0 -0
  667. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/block_protocol.py +0 -0
  668. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/__init__.py +0 -0
  669. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/classgroup.py +0 -0
  670. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/coin.py +0 -0
  671. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/proof_of_space.py +0 -0
  672. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/serialized_program.py +0 -0
  673. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/slots.py +0 -0
  674. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/sub_epoch_summary.py +0 -0
  675. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/tree_hash.py +0 -0
  676. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/blockchain_format/vdf.py +0 -0
  677. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/clvm_cost.py +0 -0
  678. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/coin_record.py +0 -0
  679. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/coin_spend.py +0 -0
  680. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/condition_opcodes.py +0 -0
  681. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/condition_with_args.py +0 -0
  682. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/eligible_coin_spends.py +0 -0
  683. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/end_of_slot_bundle.py +0 -0
  684. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/fee_rate.py +0 -0
  685. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/full_block.py +0 -0
  686. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/generator_types.py +0 -0
  687. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/header_block.py +0 -0
  688. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/internal_mempool_item.py +0 -0
  689. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/mempool_inclusion_status.py +0 -0
  690. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/mempool_item.py +0 -0
  691. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/mempool_submission_status.py +0 -0
  692. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/mojos.py +0 -0
  693. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/peer_info.py +0 -0
  694. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/signing_mode.py +0 -0
  695. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/spend_bundle.py +0 -0
  696. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/spend_bundle_conditions.py +0 -0
  697. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/transaction_queue_entry.py +0 -0
  698. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/unfinished_block.py +0 -0
  699. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/unfinished_header_block.py +0 -0
  700. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/validation_state.py +0 -0
  701. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/types/weight_proof.py +0 -0
  702. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/__init__.py +0 -0
  703. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/action_scope.py +0 -0
  704. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/async_pool.py +0 -0
  705. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/augmented_chain.py +0 -0
  706. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/batches.py +0 -0
  707. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/bech32m.py +0 -0
  708. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/beta_metrics.py +0 -0
  709. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/block_cache.py +0 -0
  710. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/byte_types.py +0 -0
  711. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/chia_logging.py +0 -0
  712. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/chia_version.py +0 -0
  713. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/collection.py +0 -0
  714. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/condition_tools.py +0 -0
  715. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/config.py +0 -0
  716. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/cpu.py +0 -0
  717. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/db_synchronous.py +0 -0
  718. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/db_version.py +0 -0
  719. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/db_wrapper.py +0 -0
  720. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/default_root.py +0 -0
  721. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/dump_keyring.py +0 -0
  722. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/english.txt +0 -0
  723. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/errors.py +0 -0
  724. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/file_keyring.py +0 -0
  725. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/files.py +0 -0
  726. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/full_block_utils.py +0 -0
  727. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/generator_tools.py +0 -0
  728. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/hash.py +0 -0
  729. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/initial-config.yaml +0 -0
  730. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/inline_executor.py +0 -0
  731. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/ip_address.py +0 -0
  732. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/json_util.py +0 -0
  733. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/keychain.py +0 -0
  734. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/keyring_wrapper.py +0 -0
  735. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/limited_semaphore.py +0 -0
  736. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/lock.py +0 -0
  737. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/log_exceptions.py +0 -0
  738. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/logging.py +0 -0
  739. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/lru_cache.py +0 -0
  740. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/math.py +0 -0
  741. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/network.py +0 -0
  742. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/paginator.py +0 -0
  743. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/path.py +0 -0
  744. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/permissions.py +0 -0
  745. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/prev_transaction_block.py +0 -0
  746. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/priority_mutex.py +0 -0
  747. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/profiler.py +0 -0
  748. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/recursive_replace.py +0 -0
  749. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/safe_cancel_task.py +0 -0
  750. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/service_groups.py +0 -0
  751. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/setproctitle.py +0 -0
  752. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/significant_bits.py +0 -0
  753. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/ssl_check.py +0 -0
  754. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/streamable.py +0 -0
  755. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/task_referencer.py +0 -0
  756. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/task_timing.py +0 -0
  757. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/timing.py +0 -0
  758. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/vdf_prover.py +0 -0
  759. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/virtual_project_analysis.py +0 -0
  760. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/util/ws_message.py +0 -0
  761. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/__init__.py +0 -0
  762. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/__init__.py +0 -0
  763. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/cat_constants.py +0 -0
  764. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/cat_info.py +0 -0
  765. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/cat_outer_puzzle.py +0 -0
  766. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/cat_utils.py +0 -0
  767. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/cat_wallet.py +0 -0
  768. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/cat_wallet/lineage_store.py +0 -0
  769. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/coin_selection.py +0 -0
  770. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/conditions.py +0 -0
  771. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/db_wallet/__init__.py +0 -0
  772. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/db_wallet/db_wallet_puzzles.py +0 -0
  773. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/derivation_record.py +0 -0
  774. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/derive_keys.py +0 -0
  775. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/did_wallet/__init__.py +0 -0
  776. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/did_wallet/did_info.py +0 -0
  777. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/did_wallet/did_wallet.py +0 -0
  778. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/did_wallet/did_wallet_puzzles.py +0 -0
  779. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/driver_protocol.py +0 -0
  780. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/key_val_store.py +0 -0
  781. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/lineage_proof.py +0 -0
  782. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/__init__.py +0 -0
  783. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/metadata_outer_puzzle.py +0 -0
  784. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/nft_info.py +0 -0
  785. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/nft_puzzle_utils.py +0 -0
  786. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/nft_puzzles.py +0 -0
  787. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/nft_wallet.py +0 -0
  788. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/ownership_outer_puzzle.py +0 -0
  789. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/__init__.py +0 -0
  790. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp +0 -0
  791. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp.hex +0 -0
  792. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp +0 -0
  793. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp.hex +0 -0
  794. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp +0 -0
  795. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp.hex +0 -0
  796. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp +0 -0
  797. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp.hex +0 -0
  798. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp +0 -0
  799. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp.hex +0 -0
  800. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp +0 -0
  801. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp.hex +0 -0
  802. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp +0 -0
  803. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp.hex +0 -0
  804. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/singleton_outer_puzzle.py +0 -0
  805. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/transfer_program_puzzle.py +0 -0
  806. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/nft_wallet/uncurry_nft.py +0 -0
  807. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/notification_manager.py +0 -0
  808. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/notification_store.py +0 -0
  809. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/outer_puzzles.py +0 -0
  810. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzle_drivers.py +0 -0
  811. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/__init__.py +0 -0
  812. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/clawback/__init__.py +0 -0
  813. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/clawback/drivers.py +0 -0
  814. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/clawback/metadata.py +0 -0
  815. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/clawback/puzzle_decorator.py +0 -0
  816. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/deployed_puzzle_hashes.json +0 -0
  817. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/load_clvm.py +0 -0
  818. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_conditions.py +0 -0
  819. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_delegated_conditions.py +0 -0
  820. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_delegated_puzzle.py +0 -0
  821. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +0 -0
  822. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +0 -0
  823. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/p2_puzzle_hash.py +0 -0
  824. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/puzzle_utils.py +0 -0
  825. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/singleton_top_layer.py +0 -0
  826. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/singleton_top_layer_v1_1.py +0 -0
  827. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/tails.py +0 -0
  828. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/puzzles/utility_macros.clib +0 -0
  829. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/signer_protocol.py +0 -0
  830. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/singleton.py +0 -0
  831. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/singleton_record.py +0 -0
  832. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trade_manager.py +0 -0
  833. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trade_record.py +0 -0
  834. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trading/__init__.py +0 -0
  835. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trading/offer.py +0 -0
  836. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trading/trade_status.py +0 -0
  837. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/trading/trade_store.py +0 -0
  838. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/transaction_record.py +0 -0
  839. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/transaction_sorting.py +0 -0
  840. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/uncurried_puzzle.py +0 -0
  841. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/__init__.py +0 -0
  842. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/address_type.py +0 -0
  843. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/blind_signer_tl.py +0 -0
  844. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/clvm_streamable.py +0 -0
  845. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/compute_hints.py +0 -0
  846. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/compute_memos.py +0 -0
  847. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/curry_and_treehash.py +0 -0
  848. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/debug_spend_bundle.py +0 -0
  849. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/merkle_tree.py +0 -0
  850. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/merkle_utils.py +0 -0
  851. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/new_peak_queue.py +0 -0
  852. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/notifications.py +0 -0
  853. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/peer_request_cache.py +0 -0
  854. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/pprint.py +0 -0
  855. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/puzzle_compression.py +0 -0
  856. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/puzzle_decorator.py +0 -0
  857. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/puzzle_decorator_type.py +0 -0
  858. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/query_filter.py +0 -0
  859. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/transaction_type.py +0 -0
  860. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/tx_config.py +0 -0
  861. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/wallet_sync_utils.py +0 -0
  862. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/util/wallet_types.py +0 -0
  863. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/__init__.py +0 -0
  864. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/cr_cat_drivers.py +0 -0
  865. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/cr_cat_wallet.py +0 -0
  866. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/cr_outer_puzzle.py +0 -0
  867. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/vc_drivers.py +0 -0
  868. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/vc_store.py +0 -0
  869. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/vc_wallet/vc_wallet.py +0 -0
  870. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet.py +0 -0
  871. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_action_scope.py +0 -0
  872. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_blockchain.py +0 -0
  873. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_coin_record.py +0 -0
  874. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_coin_store.py +0 -0
  875. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_info.py +0 -0
  876. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_interested_store.py +0 -0
  877. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_nft_store.py +0 -0
  878. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_node.py +0 -0
  879. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_node_api.py +0 -0
  880. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_pool_store.py +0 -0
  881. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_protocol.py +0 -0
  882. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_puzzle_store.py +0 -0
  883. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_retry_store.py +0 -0
  884. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_singleton_store.py +0 -0
  885. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_spend_bundle.py +0 -0
  886. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_state_manager.py +0 -0
  887. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_transaction_store.py +0 -0
  888. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_user_store.py +0 -0
  889. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/chia/wallet/wallet_weight_proof_handler.py +0 -0
  890. {chia_blockchain-2.5.3rc2 → chia_blockchain-2.5.4rc2}/mozilla-ca/cacert.pem +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: chia-blockchain
3
- Version: 2.5.3rc2
3
+ Version: 2.5.4rc2
4
4
  Summary: Chia blockchain full node, farmer, timelord, and wallet.
5
5
  License: Apache-2.0
6
6
  Keywords: chia,blockchain,node
@@ -26,7 +26,7 @@ Requires-Dist: bitstring (>=4.1.4)
26
26
  Requires-Dist: boto3 (>=1.35.43)
27
27
  Requires-Dist: build (>=1.2.1) ; extra == "dev"
28
28
  Requires-Dist: chia-puzzles-py (>=0.20.1)
29
- Requires-Dist: chia_rs (>=0.21.1)
29
+ Requires-Dist: chia_rs (>=0.21.1,<0.22)
30
30
  Requires-Dist: chiabip158 (>=1.5.2)
31
31
  Requires-Dist: chiapos (>=2.0.10)
32
32
  Requires-Dist: chiavdf (>=1.1.10)
@@ -19,7 +19,7 @@ from chia_rs.sized_ints import uint8, uint32, uint64
19
19
  from chiabip158 import PyBIP158
20
20
 
21
21
  from chia._tests.conftest import ConsensusMode
22
- from chia._tests.util.misc import invariant_check_mempool
22
+ from chia._tests.util.misc import Marks, datacases, invariant_check_mempool
23
23
  from chia._tests.util.setup_nodes import OldSimulatorsAndWallets, setup_simulators_and_wallets
24
24
  from chia.consensus.condition_costs import ConditionCost
25
25
  from chia.consensus.default_constants import DEFAULT_CONSTANTS
@@ -32,7 +32,10 @@ from chia.full_node.mempool_manager import (
32
32
  MempoolManager,
33
33
  TimelockConditions,
34
34
  can_replace,
35
+ check_removals,
35
36
  compute_assert_height,
37
+ is_atom_canonical,
38
+ is_clvm_canonical,
36
39
  optional_max,
37
40
  optional_min,
38
41
  )
@@ -87,6 +90,74 @@ TEST_COIN_RECORD3 = CoinRecord(TEST_COIN3, uint32(0), uint32(0), False, TEST_TIM
87
90
  TEST_HEIGHT = uint32(5)
88
91
 
89
92
 
93
+ @pytest.mark.parametrize("clvm_hex", ["80", "ff8080", "ff7f03", "ffff8080ff8080"])
94
+ def test_clvm_canonical(clvm_hex: str) -> None:
95
+ clvm_buf = bytes.fromhex(clvm_hex)
96
+ assert is_clvm_canonical(clvm_buf)
97
+
98
+
99
+ @pytest.mark.parametrize(
100
+ "clvm_hex",
101
+ [
102
+ "fffe80",
103
+ "c000",
104
+ "c03f",
105
+ "e00000",
106
+ "e01fff",
107
+ "f0000000",
108
+ "f00fffff",
109
+ "f800000000",
110
+ "f807ffffff",
111
+ "fc0000000000",
112
+ "fc03ffffffff",
113
+ "fe",
114
+ "ff808080",
115
+ ],
116
+ )
117
+ def test_clvm_not_canonical(clvm_hex: str) -> None:
118
+ clvm_buf = bytes.fromhex(clvm_hex)
119
+ assert not is_clvm_canonical(clvm_buf)
120
+
121
+
122
+ @pytest.mark.parametrize(
123
+ "clvm_hex, expect",
124
+ [
125
+ ("c000", 2 + 0),
126
+ ("c03f", 2 + 0x3F),
127
+ ("e00000", 3 + 0),
128
+ ("e01fff", 3 + 0x1FFF),
129
+ ("f0000000", 4 + 0),
130
+ ("f00fffff", 4 + 0xFFFFF),
131
+ ("f800000000", 5 + 0),
132
+ ("f807ffffff", 5 + 0x7FFFFFF),
133
+ ("fc0000000000", 6 + 0),
134
+ ("fc03ffffffff", 6 + 0x3FFFFFFFF),
135
+ ],
136
+ )
137
+ def test_atom_not_canonical(clvm_hex: str, expect: int) -> None:
138
+ clvm_buf = bytes.fromhex(clvm_hex)
139
+ atom_len, is_canonical = is_atom_canonical(clvm_buf, 0)
140
+ assert atom_len == expect
141
+ assert not is_canonical
142
+
143
+
144
+ @pytest.mark.parametrize(
145
+ "clvm_hex, expect",
146
+ [
147
+ ("c040", 2 + 0x40),
148
+ ("e02000", 3 + 0x2000),
149
+ ("f0100000", 4 + 0x100000),
150
+ ("f808000000", 5 + 0x8000000),
151
+ ("fc0400000000", 6 + 0x400000000),
152
+ ],
153
+ )
154
+ def test_atom_canonical(clvm_hex: str, expect: int) -> None:
155
+ clvm_buf = bytes.fromhex(clvm_hex)
156
+ atom_len, is_canonical = is_atom_canonical(clvm_buf, 0)
157
+ assert atom_len == expect
158
+ assert is_canonical
159
+
160
+
90
161
  @dataclasses.dataclass(frozen=True)
91
162
  class TestBlockRecord:
92
163
  """
@@ -195,6 +266,9 @@ async def setup_mempool_with_coins(
195
266
  return (mempool_manager, coins)
196
267
 
197
268
 
269
+ CreateCoin = tuple[bytes32, int, Optional[bytes]]
270
+
271
+
198
272
  def make_test_conds(
199
273
  *,
200
274
  birth_height: Optional[int] = None,
@@ -209,13 +283,18 @@ def make_test_conds(
209
283
  before_seconds_absolute: Optional[int] = None,
210
284
  cost: int = 0,
211
285
  spend_ids: Sequence[tuple[Union[bytes32, Coin], int]] = [(TEST_COIN_ID, 0)],
286
+ created_coins: Optional[list[list[CreateCoin]]] = None,
212
287
  ) -> SpendBundleConditions:
213
- spend_info: list[tuple[bytes32, bytes32, bytes32, uint64, int]] = []
214
- for coin, flags in spend_ids:
288
+ if created_coins is None:
289
+ created_coins = []
290
+ if len(created_coins) < len(spend_ids):
291
+ created_coins.extend([[] for _ in range(len(spend_ids) - len(created_coins))])
292
+ spend_info: list[tuple[bytes32, bytes32, bytes32, uint64, int, list[CreateCoin]]] = []
293
+ for (coin, flags), create_coin in zip(spend_ids, created_coins):
215
294
  if isinstance(coin, Coin):
216
- spend_info.append((coin.name(), coin.parent_coin_info, coin.puzzle_hash, coin.amount, flags))
295
+ spend_info.append((coin.name(), coin.parent_coin_info, coin.puzzle_hash, coin.amount, flags, create_coin))
217
296
  else:
218
- spend_info.append((coin, IDENTITY_PUZZLE_HASH, IDENTITY_PUZZLE_HASH, TEST_COIN_AMOUNT, flags))
297
+ spend_info.append((coin, IDENTITY_PUZZLE_HASH, IDENTITY_PUZZLE_HASH, TEST_COIN_AMOUNT, flags, create_coin))
219
298
 
220
299
  return SpendBundleConditions(
221
300
  [
@@ -230,7 +309,7 @@ def make_test_conds(
230
309
  None if before_seconds_relative is None else uint64(before_seconds_relative),
231
310
  None if birth_height is None else uint32(birth_height),
232
311
  None if birth_seconds is None else uint64(birth_seconds),
233
- [],
312
+ create_coin,
234
313
  [],
235
314
  [],
236
315
  [],
@@ -240,7 +319,7 @@ def make_test_conds(
240
319
  [],
241
320
  flags,
242
321
  )
243
- for coin_id, parent_id, puzzle_hash, amount, flags in spend_info
322
+ for coin_id, parent_id, puzzle_hash, amount, flags, create_coin in spend_info
244
323
  ],
245
324
  0,
246
325
  uint32(height_absolute),
@@ -751,6 +830,23 @@ def test_optional_max() -> None:
751
830
  assert optional_max(uint32(123), uint32(234)) == uint32(234)
752
831
 
753
832
 
833
+ def mk_coin_spend(coin: Coin, solution: Optional[str] = None) -> CoinSpend:
834
+ return make_spend(
835
+ coin,
836
+ SerializedProgram.to(None),
837
+ SerializedProgram.fromhex(solution if solution is not None else "80"),
838
+ )
839
+
840
+
841
+ def mk_bcs(coin_spend: CoinSpend, flags: int = 0) -> BundleCoinSpend:
842
+ return BundleCoinSpend(
843
+ coin_spend=coin_spend,
844
+ eligible_for_dedup=bool(flags & ELIGIBLE_FOR_DEDUP),
845
+ eligible_for_fast_forward=bool(flags & ELIGIBLE_FOR_FF),
846
+ additions=[],
847
+ )
848
+
849
+
754
850
  def mk_item(
755
851
  coins: list[Coin],
756
852
  *,
@@ -759,6 +855,7 @@ def mk_item(
759
855
  assert_height: Optional[int] = None,
760
856
  assert_before_height: Optional[int] = None,
761
857
  assert_before_seconds: Optional[int] = None,
858
+ solution: Optional[str] = None,
762
859
  flags: list[int] = [],
763
860
  ) -> MempoolItem:
764
861
  # we don't actually care about the puzzle and solutions for the purpose of
@@ -771,14 +868,10 @@ def mk_item(
771
868
  for c, f in zip(coins, flags):
772
869
  coin_id = c.name()
773
870
  spend_ids.append((coin_id, f))
774
- spend = make_spend(c, SerializedProgram.to(None), SerializedProgram.to(None))
775
- coin_spends.append(spend)
776
- bundle_coin_spends[coin_id] = BundleCoinSpend(
777
- coin_spend=spend,
778
- eligible_for_dedup=bool(f & ELIGIBLE_FOR_DEDUP),
779
- eligible_for_fast_forward=bool(f & ELIGIBLE_FOR_FF),
780
- additions=[],
781
- )
871
+ coin_spend = mk_coin_spend(c, solution=solution)
872
+ solution = None
873
+ coin_spends.append(coin_spend)
874
+ bundle_coin_spends[coin_id] = mk_bcs(coin_spend, f)
782
875
  spend_bundle = SpendBundle(coin_spends, G2Element())
783
876
  conds = make_test_conds(cost=cost, spend_ids=spend_ids)
784
877
  return MempoolItem(
@@ -1625,6 +1718,7 @@ async def test_coin_spending_different_ways_then_finding_it_spent_in_new_peak(ne
1625
1718
 
1626
1719
  mempool_manager = await instantiate_mempool_manager(get_coin_records)
1627
1720
  # Create a bunch of mempool items that spend the coin in different ways
1721
+ # only the first one will be accepted
1628
1722
  for i in range(3):
1629
1723
  _, _, result = await generate_and_add_spendbundle(
1630
1724
  mempool_manager,
@@ -1634,10 +1728,13 @@ async def test_coin_spending_different_ways_then_finding_it_spent_in_new_peak(ne
1634
1728
  ],
1635
1729
  coin,
1636
1730
  )
1637
- assert result[1] == MempoolInclusionStatus.SUCCESS
1638
- assert len(list(mempool_manager.mempool.get_items_by_coin_id(coin_id))) == 3
1639
- assert mempool_manager.mempool.size() == 3
1640
- assert len(list(mempool_manager.mempool.items_by_feerate())) == 3
1731
+ if i == 0:
1732
+ assert result[1] == MempoolInclusionStatus.SUCCESS
1733
+ else:
1734
+ assert result[1] == MempoolInclusionStatus.PENDING
1735
+ assert len(list(mempool_manager.mempool.get_items_by_coin_id(coin_id))) == 1
1736
+ assert mempool_manager.mempool.size() == 1
1737
+ assert len(list(mempool_manager.mempool.items_by_feerate())) == 1
1641
1738
  # Setup a new peak where the incoming block has spent the coin
1642
1739
  # Mark this coin as spent
1643
1740
  test_coin_records = {coin_id: CoinRecord(coin, uint32(0), TEST_HEIGHT, False, uint64(0))}
@@ -1816,7 +1913,7 @@ async def test_identical_spend_aggregation_e2e(
1816
1913
  sb_ef_name = sb_ef.name()
1817
1914
  await send_to_mempool(full_node_api, sb_ef)
1818
1915
  # Send also a transaction EG that spends E differently from DE and EF,
1819
- # so that it doesn't get deduplicated on E with them
1916
+ # to ensure it's rejected by the mempool
1820
1917
  conditions = [
1821
1918
  [ConditionOpcode.CREATE_COIN, IDENTITY_PUZZLE_HASH, e_coin.amount],
1822
1919
  [ConditionOpcode.ASSERT_MY_COIN_ID, e_coin.name()],
@@ -1834,14 +1931,13 @@ async def test_identical_spend_aggregation_e2e(
1834
1931
  [tx_g] = action_scope.side_effects.transactions
1835
1932
  assert tx_g.spend_bundle is not None
1836
1933
  sb_e2g = SpendBundle.aggregate([sb_e2, tx_g.spend_bundle])
1837
- sb_e2g_name = sb_e2g.name()
1838
- await send_to_mempool(full_node_api, sb_e2g)
1934
+ await send_to_mempool(full_node_api, sb_e2g, expecting_conflict=True)
1839
1935
 
1840
1936
  # Make sure our coin IDs to spend bundles mappings are correct
1841
1937
  assert get_sb_names_by_coin_id(full_node_api, coins[4].coin.name()) == {sb_de_name}
1842
- assert get_sb_names_by_coin_id(full_node_api, e_coin_id) == {sb_de_name, sb_ef_name, sb_e2g_name}
1938
+ assert get_sb_names_by_coin_id(full_node_api, e_coin_id) == {sb_de_name, sb_ef_name}
1843
1939
  assert get_sb_names_by_coin_id(full_node_api, coins[5].coin.name()) == {sb_ef_name}
1844
- assert get_sb_names_by_coin_id(full_node_api, g_coin_id) == {sb_e2g_name}
1940
+ assert get_sb_names_by_coin_id(full_node_api, g_coin_id) == set()
1845
1941
 
1846
1942
  await farm_a_block(full_node_api, wallet_node, ph)
1847
1943
 
@@ -2501,3 +2597,215 @@ async def test_advancing_ff(use_optimization: bool) -> None:
2501
2597
  spend = item.bundle_coin_spends[spend_a.coin.name()]
2502
2598
  assert spend.eligible_for_fast_forward
2503
2599
  assert spend.latest_singleton_coin == spend_c.coin.name()
2600
+
2601
+
2602
+ @pytest.mark.parametrize("flags", [ELIGIBLE_FOR_DEDUP, ELIGIBLE_FOR_FF, ELIGIBLE_FOR_FF | ELIGIBLE_FOR_DEDUP])
2603
+ @pytest.mark.anyio
2604
+ async def test_check_removals_with_block_creation(flags: int) -> None:
2605
+ LAUNCHER_ID = bytes32([1] * 32)
2606
+ PARENT_PARENT = bytes32([2] * 32)
2607
+ singleton_spend = make_singleton_spend(LAUNCHER_ID, PARENT_PARENT)
2608
+ coins = TestCoins(
2609
+ coins=[singleton_spend.coin, TEST_COIN], lineage={singleton_spend.coin.puzzle_hash: singleton_spend.coin}
2610
+ )
2611
+ mempool_manager = await setup_mempool(coins)
2612
+ sb1 = SpendBundle([singleton_spend], G2Element())
2613
+ sb1_conds = make_test_conds(
2614
+ spend_ids=[(singleton_spend.coin, 0)],
2615
+ created_coins=[[(singleton_spend.coin.puzzle_hash, 1, None)]],
2616
+ cost=100_000_000,
2617
+ )
2618
+ bundle_add_info1 = await mempool_manager.add_spend_bundle(sb1, sb1_conds, sb1.name(), uint32(1))
2619
+ assert bundle_add_info1.status == MempoolInclusionStatus.SUCCESS
2620
+ invariant_check_mempool(mempool_manager.mempool)
2621
+ extra_spend = make_spend(
2622
+ TEST_COIN, IDENTITY_PUZZLE, Program.to([[ConditionOpcode.CREATE_COIN, IDENTITY_PUZZLE_HASH, 42]])
2623
+ )
2624
+ sb2 = SpendBundle([singleton_spend, extra_spend], G2Element())
2625
+ sb2_conds = make_test_conds(
2626
+ spend_ids=[(singleton_spend.coin, flags), (TEST_COIN, 0)],
2627
+ created_coins=[[(singleton_spend.coin.puzzle_hash, 1, None)], []],
2628
+ cost=1337,
2629
+ )
2630
+ bundle_add_info2 = await mempool_manager.add_spend_bundle(sb2, sb2_conds, sb2.name(), uint32(1))
2631
+ assert bundle_add_info2.status == MempoolInclusionStatus.SUCCESS
2632
+ assert mempool_manager.peak is not None
2633
+ block_generator = await mempool_manager.create_block_generator(mempool_manager.peak.header_hash)
2634
+ assert block_generator is not None
2635
+ _, _, additions, removals = block_generator
2636
+ assert len(additions) == 1
2637
+ assert set(additions) == {Coin(singleton_spend.coin.name(), singleton_spend.coin.puzzle_hash, uint64(1))}
2638
+ assert len(removals) == 2
2639
+ assert set(removals) == {singleton_spend.coin, TEST_COIN}
2640
+
2641
+
2642
+ @pytest.mark.anyio
2643
+ async def test_dedup_not_canonical() -> None:
2644
+ # this is ((1)), but with a non-canonical encoding
2645
+ coin_spend = mk_coin_spend(TEST_COIN, solution="ffffc001018080")
2646
+ coins = TestCoins([TEST_COIN], lineage={})
2647
+ mempool_manager = await setup_mempool(coins)
2648
+ sb = SpendBundle([coin_spend], G2Element())
2649
+ sb_conds = make_test_conds(spend_ids=[(TEST_COIN, ELIGIBLE_FOR_DEDUP)])
2650
+ bundle_add_info = await mempool_manager.add_spend_bundle(sb, sb_conds, sb.name(), uint32(1))
2651
+ assert bundle_add_info.status == MempoolInclusionStatus.FAILED
2652
+ assert bundle_add_info.error == Err.INVALID_COIN_SOLUTION
2653
+
2654
+
2655
+ def make_coin_record(coin: Coin, spent_block_index: int = 0) -> CoinRecord:
2656
+ return CoinRecord(coin, uint32(0), uint32(spent_block_index), False, TEST_TIMESTAMP)
2657
+
2658
+
2659
+ @dataclasses.dataclass
2660
+ class CheckRemovalsCase:
2661
+ id: str
2662
+ removals: dict[bytes32, CoinRecord]
2663
+ bundle_coin_spends: dict[bytes32, BundleCoinSpend] = dataclasses.field(default_factory=dict)
2664
+ conflicting_mempool_items: dict[bytes32, list[MempoolItem]] = dataclasses.field(default_factory=dict)
2665
+ expected_result: tuple[Optional[Err], list[MempoolItem]] = dataclasses.field(default_factory=lambda: (None, []))
2666
+ marks: Marks = ()
2667
+
2668
+
2669
+ @datacases(
2670
+ CheckRemovalsCase(
2671
+ id="No removals",
2672
+ removals={},
2673
+ expected_result=(None, []),
2674
+ ),
2675
+ CheckRemovalsCase(
2676
+ id="Unspent removal, no mempool conflicts",
2677
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2678
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN))},
2679
+ expected_result=(None, []),
2680
+ ),
2681
+ CheckRemovalsCase(
2682
+ id="Already spent non FF coin",
2683
+ removals={TEST_COIN_ID: make_coin_record(TEST_COIN, spent_block_index=1)},
2684
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN))},
2685
+ expected_result=(Err.DOUBLE_SPEND, []),
2686
+ ),
2687
+ CheckRemovalsCase(
2688
+ id="Already spent FF coin, no mempool conflicts",
2689
+ removals={TEST_COIN_ID: make_coin_record(TEST_COIN, spent_block_index=1)},
2690
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_FF)},
2691
+ expected_result=(None, []),
2692
+ ),
2693
+ CheckRemovalsCase(
2694
+ id="FF coin, non FF mempool conflict",
2695
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2696
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_FF)},
2697
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN])]},
2698
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN])]),
2699
+ ),
2700
+ CheckRemovalsCase(
2701
+ id="Dedup coin, non dedup mempool conflict",
2702
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2703
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_DEDUP)},
2704
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN])]},
2705
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN])]),
2706
+ ),
2707
+ CheckRemovalsCase(
2708
+ id="FF coin, FF mempool conflict",
2709
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2710
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_FF)},
2711
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN], flags=[ELIGIBLE_FOR_FF])]},
2712
+ expected_result=(None, []),
2713
+ ),
2714
+ CheckRemovalsCase(
2715
+ id="Dedup coin, Dedup mempool conflict",
2716
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2717
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_DEDUP)},
2718
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN], flags=[ELIGIBLE_FOR_DEDUP])]},
2719
+ expected_result=(None, []),
2720
+ ),
2721
+ CheckRemovalsCase(
2722
+ id="Dedup coin, Dedup mempool conflict with different solution",
2723
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2724
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN, solution="ff8080"), ELIGIBLE_FOR_DEDUP)},
2725
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN], flags=[ELIGIBLE_FOR_DEDUP])]},
2726
+ expected_result=(
2727
+ Err.MEMPOOL_CONFLICT,
2728
+ [
2729
+ mk_item(
2730
+ [TEST_COIN],
2731
+ flags=[ELIGIBLE_FOR_DEDUP],
2732
+ )
2733
+ ],
2734
+ ),
2735
+ ),
2736
+ CheckRemovalsCase(
2737
+ id="Regular coin, mempool conflict",
2738
+ removals={TEST_COIN_ID: TEST_COIN_RECORD},
2739
+ bundle_coin_spends={TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN))},
2740
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN])]},
2741
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN])]),
2742
+ ),
2743
+ CheckRemovalsCase(
2744
+ id="Both FF and non FF coins, FF one conflicts with existing non FF",
2745
+ removals={TEST_COIN_ID: TEST_COIN_RECORD, TEST_COIN_ID2: TEST_COIN_RECORD2},
2746
+ bundle_coin_spends={
2747
+ TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN)),
2748
+ TEST_COIN_ID2: mk_bcs(mk_coin_spend(TEST_COIN2), ELIGIBLE_FOR_FF),
2749
+ },
2750
+ conflicting_mempool_items={TEST_COIN_ID: [mk_item([TEST_COIN])], TEST_COIN_ID2: [mk_item([TEST_COIN2])]},
2751
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN]), mk_item([TEST_COIN2])]),
2752
+ ),
2753
+ CheckRemovalsCase(
2754
+ id="Both FF and non FF coins, FF one conflicts with existing FF",
2755
+ removals={TEST_COIN_ID: TEST_COIN_RECORD, TEST_COIN_ID2: TEST_COIN_RECORD2},
2756
+ bundle_coin_spends={
2757
+ TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN)),
2758
+ TEST_COIN_ID2: mk_bcs(mk_coin_spend(TEST_COIN2), ELIGIBLE_FOR_FF),
2759
+ },
2760
+ conflicting_mempool_items={
2761
+ TEST_COIN_ID: [mk_item([TEST_COIN])],
2762
+ TEST_COIN_ID2: [mk_item([TEST_COIN2], flags=[ELIGIBLE_FOR_FF])],
2763
+ },
2764
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN])]),
2765
+ ),
2766
+ CheckRemovalsCase(
2767
+ id="Two FF coins, only one with non FF conflict",
2768
+ removals={TEST_COIN_ID: TEST_COIN_RECORD, TEST_COIN_ID2: TEST_COIN_RECORD2},
2769
+ bundle_coin_spends={
2770
+ TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN), ELIGIBLE_FOR_FF),
2771
+ TEST_COIN_ID2: mk_bcs(mk_coin_spend(TEST_COIN2), ELIGIBLE_FOR_FF),
2772
+ },
2773
+ conflicting_mempool_items={
2774
+ TEST_COIN_ID: [mk_item([TEST_COIN], flags=[ELIGIBLE_FOR_FF])],
2775
+ TEST_COIN_ID2: [mk_item([TEST_COIN2])],
2776
+ },
2777
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN2])]),
2778
+ ),
2779
+ CheckRemovalsCase(
2780
+ id="Conflicting items are added to conflicts only once",
2781
+ removals={TEST_COIN_ID: TEST_COIN_RECORD, TEST_COIN_ID2: TEST_COIN_RECORD2},
2782
+ bundle_coin_spends={
2783
+ TEST_COIN_ID: mk_bcs(mk_coin_spend(TEST_COIN)),
2784
+ TEST_COIN_ID2: mk_bcs(mk_coin_spend(TEST_COIN2)),
2785
+ },
2786
+ # Same item spends both coins
2787
+ conflicting_mempool_items={
2788
+ TEST_COIN_ID: [mk_item([TEST_COIN, TEST_COIN2])],
2789
+ TEST_COIN_ID2: [mk_item([TEST_COIN, TEST_COIN2])],
2790
+ },
2791
+ # Item should be added only once in conflicts
2792
+ expected_result=(Err.MEMPOOL_CONFLICT, [mk_item([TEST_COIN, TEST_COIN2])]),
2793
+ ),
2794
+ )
2795
+ def test_check_removals(case: CheckRemovalsCase) -> None:
2796
+ def test_get_items_by_coin_ids(coin_ids: list[bytes32]) -> list[MempoolItem]:
2797
+ items = set()
2798
+ for coin_id in coin_ids:
2799
+ items.update(case.conflicting_mempool_items.get(coin_id, []))
2800
+ return list(items)
2801
+
2802
+ result = check_removals(
2803
+ bundle_coin_spends=case.bundle_coin_spends,
2804
+ removals=case.removals,
2805
+ get_items_by_coin_ids=test_get_items_by_coin_ids,
2806
+ )
2807
+ expected_err, expected_conflicts = case.expected_result
2808
+ err, conflicts = result
2809
+ assert err == expected_err
2810
+ assert len(conflicts) == len(expected_conflicts)
2811
+ assert set(conflicts) == set(expected_conflicts)
@@ -348,6 +348,64 @@ class TestNewPeak:
348
348
  == new_peak.reward_chain_block.get_hash()
349
349
  )
350
350
 
351
+ @pytest.mark.anyio
352
+ async def test_timelord_new_peak_node_sync(
353
+ self,
354
+ one_node: tuple[list[FullNodeService], list[FullNodeSimulator], BlockTools],
355
+ timelord: tuple[TimelordAPI, ChiaServer],
356
+ default_1000_blocks: list[FullBlock],
357
+ ) -> None:
358
+ [full_node_service], _, bt = one_node
359
+ full_node = full_node_service._node
360
+ async with create_blockchain(bt.constants, 2) as (b1, _):
361
+ async with create_blockchain(bt.constants, 2) as (b2, _):
362
+ timelord_api, _ = timelord
363
+ for block in default_1000_blocks:
364
+ await _validate_and_add_block(b1, block)
365
+ await _validate_and_add_block(b2, block)
366
+ await full_node.add_block(block)
367
+
368
+ peak = timelord_peak_from_block(b1, default_1000_blocks[-1])
369
+ assert peak is not None
370
+ assert timelord_api.timelord.new_peak is None
371
+ await timelord_api.new_peak_timelord(peak)
372
+ assert timelord_api.timelord.new_peak is not None
373
+ assert (
374
+ timelord_api.timelord.new_peak.reward_chain_block.get_hash() == peak.reward_chain_block.get_hash()
375
+ )
376
+ await time_out_assert(60, peak_new_peak_is_none, True, timelord_api)
377
+ # make two new blocks on tip, block_2 has higher total iterations
378
+ block_1 = bt.get_consecutive_blocks(1, default_1000_blocks)[-1]
379
+ block_2 = bt.get_consecutive_blocks(
380
+ 1, default_1000_blocks, min_signage_point=block_1.reward_chain_block.signage_point_index
381
+ )[-1]
382
+ assert block_2.weight == block_1.weight
383
+ # make sure block_2 has higher iterations then block_1
384
+ assert block_2.total_iters > block_1.total_iters
385
+ # make sure block_1 and block_2 have higher iterations then peak
386
+ assert block_1.total_iters > default_1000_blocks[-1].total_iters
387
+ await full_node.add_block(block_2)
388
+ await _validate_and_add_block(b1, block_2)
389
+ peak_tl = timelord_peak_from_block(b1, block_2)
390
+ peak = await full_node.blockchain.get_full_peak()
391
+ assert peak is not None
392
+ assert timelord_api.timelord.new_peak is None
393
+ await timelord_api.new_peak_timelord(peak_tl)
394
+ assert timelord_api.timelord.new_peak is not None
395
+ assert peak.header_hash == block_2.header_hash
396
+ assert peak_tl.reward_chain_block.get_hash() == peak.reward_chain_block.get_hash()
397
+ await time_out_assert(60, peak_new_peak_is_none, True, timelord_api)
398
+
399
+ await full_node.add_block(block_1)
400
+ await _validate_and_add_block(b1, block_1)
401
+ peak = timelord_peak_from_block(b1, block_1)
402
+ assert peak is not None
403
+ await timelord_api.new_peak_timelord(peak)
404
+ peak = await full_node.blockchain.get_full_peak()
405
+ assert peak == block_1
406
+ peak_tl = timelord_api.timelord.new_peak
407
+ assert peak_tl.reward_chain_block.get_hash() == peak.reward_chain_block.get_hash()
408
+
351
409
 
352
410
  async def get_rc_prev(blockchain: Blockchain, block: FullBlock) -> bytes32:
353
411
  if block.reward_chain_block.signage_point_index == 0:
@@ -54,7 +54,7 @@ def compute_block_cost(generator: BlockGenerator, constants: ConsensusConstants,
54
54
  else:
55
55
  run_block = run_block_generator
56
56
 
57
- _, conds = run_block(
57
+ err, conds = run_block(
58
58
  bytes(generator.program),
59
59
  generator.generator_refs,
60
60
  constants.MAX_BLOCK_COST_CLVM,
@@ -63,6 +63,8 @@ def compute_block_cost(generator: BlockGenerator, constants: ConsensusConstants,
63
63
  None,
64
64
  constants,
65
65
  )
66
+ if conds is None: # pragma: no cover
67
+ log.error(f"unexpected error while computing block cost: {err} height: {height} generator: {generator.program}")
66
68
  return uint64(0 if conds is None else conds.cost)
67
69
 
68
70
 
@@ -2134,7 +2134,8 @@ class FullNode:
2134
2134
  )
2135
2135
  pre_validation_result = await future
2136
2136
  added: Optional[AddBlockResult] = None
2137
- pre_validation_time = time.monotonic() - validation_start
2137
+ add_block_start = time.monotonic()
2138
+ pre_validation_time = add_block_start - validation_start
2138
2139
  try:
2139
2140
  if pre_validation_result.error is not None:
2140
2141
  if Err(pre_validation_result.error) == Err.INVALID_PREV_BLOCK_HASH:
@@ -2153,6 +2154,7 @@ class FullNode:
2153
2154
  (added, error_code, state_change_summary) = await self.blockchain.add_block(
2154
2155
  block, pre_validation_result, ssi, fork_info
2155
2156
  )
2157
+ add_block_time = time.monotonic() - add_block_start
2156
2158
  if added == AddBlockResult.ALREADY_HAVE_BLOCK:
2157
2159
  return None
2158
2160
  elif added == AddBlockResult.INVALID_BLOCK:
@@ -2181,7 +2183,7 @@ class FullNode:
2181
2183
  self.log.info(
2182
2184
  f"Received orphan block of height {block.height} rh {block.reward_chain_block.get_hash()}"
2183
2185
  )
2184
- post_process_time = 0
2186
+ post_process_time = 0.0
2185
2187
  else:
2186
2188
  # Should never reach here, all the cases are covered
2187
2189
  raise RuntimeError(f"Invalid result from add_block {added}")
@@ -2197,7 +2199,11 @@ class FullNode:
2197
2199
 
2198
2200
  if ppp_result is not None:
2199
2201
  assert state_change_summary is not None
2202
+ post_process_time2 = time.monotonic()
2200
2203
  await self.peak_post_processing_2(block, peer, state_change_summary, ppp_result)
2204
+ post_process_time2 = time.monotonic() - post_process_time2
2205
+ else:
2206
+ post_process_time2 = 0.0
2201
2207
 
2202
2208
  percent_full_str = (
2203
2209
  (
@@ -2213,7 +2219,9 @@ class FullNode:
2213
2219
  f"Block validation: {validation_time:0.2f}s, "
2214
2220
  f"pre_validation: {pre_validation_time:0.2f}s, "
2215
2221
  f"CLVM: {pre_validation_result.timing / 1000.0:0.2f}s, "
2222
+ f"add-block: {add_block_time:0.2f}s, "
2216
2223
  f"post-process: {post_process_time:0.2f}s, "
2224
+ f"post-process2: {post_process_time2:0.2f}s, "
2217
2225
  f"cost: {block.transactions_info.cost if block.transactions_info is not None else 'None'}"
2218
2226
  f"{percent_full_str} header_hash: {header_hash.hex()} height: {block.height}",
2219
2227
  )
@@ -2847,10 +2855,16 @@ class FullNode:
2847
2855
 
2848
2856
  total_time = time.monotonic() - start_time
2849
2857
 
2850
- self.log.log(
2851
- logging.DEBUG if total_time < 0.5 else logging.WARNING,
2852
- f"Broadcasting added transaction {mempool_item.name} to {len(peer_ids)} peers took {total_time:.4f}s",
2853
- )
2858
+ if len(peer_ids) == 0:
2859
+ self.log.log(
2860
+ logging.DEBUG if total_time < 0.5 else logging.WARNING,
2861
+ f"Looking up hints for {len(conds.spends)} spends took {total_time:.4f}s",
2862
+ )
2863
+ else:
2864
+ self.log.log(
2865
+ logging.DEBUG if total_time < 0.5 else logging.WARNING,
2866
+ f"Broadcasting added transaction {mempool_item.name} to {len(peer_ids)} peers took {total_time:.4f}s",
2867
+ )
2854
2868
 
2855
2869
  async def broadcast_removed_tx(self, mempool_removals: list[MempoolRemoveInfo]) -> None:
2856
2870
  total_removals = sum(len(r.items) for r in mempool_removals)