chia-blockchain 2.5.2rc2__py3-none-any.whl → 2.5.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. chia/__init__.py +7 -0
  2. chia/_tests/blockchain/blockchain_test_utils.py +1 -1
  3. chia/_tests/blockchain/test_augmented_chain.py +54 -5
  4. chia/_tests/blockchain/test_blockchain.py +5 -12
  5. chia/_tests/blockchain/test_blockchain_transactions.py +3 -5
  6. chia/_tests/blockchain/test_get_block_generator.py +2 -2
  7. chia/_tests/blockchain/test_lookup_fork_chain.py +2 -2
  8. chia/_tests/clvm/benchmark_costs.py +2 -1
  9. chia/_tests/clvm/coin_store.py +4 -3
  10. chia/_tests/clvm/test_chialisp_deserialization.py +2 -2
  11. chia/_tests/clvm/test_curry_and_treehash.py +1 -1
  12. chia/_tests/clvm/test_puzzle_compression.py +2 -2
  13. chia/_tests/clvm/test_puzzles.py +2 -2
  14. chia/_tests/clvm/test_singletons.py +2 -2
  15. chia/_tests/clvm/test_spend_sim.py +1 -1
  16. chia/_tests/cmds/cmd_test_utils.py +2 -2
  17. chia/_tests/cmds/test_click_types.py +2 -2
  18. chia/_tests/cmds/test_cmd_framework.py +6 -6
  19. chia/_tests/cmds/test_show.py +4 -3
  20. chia/_tests/cmds/test_tx_config_args.py +1 -1
  21. chia/_tests/cmds/testing_classes.py +2 -2
  22. chia/_tests/cmds/wallet/test_consts.py +2 -2
  23. chia/_tests/cmds/wallet/test_did.py +2 -2
  24. chia/_tests/cmds/wallet/test_nft.py +2 -2
  25. chia/_tests/cmds/wallet/test_notifications.py +3 -2
  26. chia/_tests/cmds/wallet/test_vcs.py +2 -2
  27. chia/_tests/cmds/wallet/test_wallet.py +4 -8
  28. chia/_tests/conftest.py +4 -3
  29. chia/_tests/connection_utils.py +2 -2
  30. chia/_tests/core/cmds/test_keys.py +1 -2
  31. chia/_tests/core/cmds/test_wallet.py +2 -2
  32. chia/_tests/core/consensus/test_block_creation.py +2 -2
  33. chia/_tests/core/consensus/test_pot_iterations.py +1 -1
  34. chia/_tests/core/custom_types/test_coin.py +2 -2
  35. chia/_tests/core/custom_types/test_proof_of_space.py +2 -2
  36. chia/_tests/core/custom_types/test_spend_bundle.py +2 -2
  37. chia/_tests/core/data_layer/conftest.py +1 -1
  38. chia/_tests/core/data_layer/test_data_layer.py +1 -1
  39. chia/_tests/core/data_layer/test_data_layer_util.py +1 -1
  40. chia/_tests/core/data_layer/test_data_rpc.py +2 -2
  41. chia/_tests/core/data_layer/test_data_store.py +1 -1
  42. chia/_tests/core/data_layer/test_data_store_schema.py +1 -1
  43. chia/_tests/core/data_layer/util.py +2 -1
  44. chia/_tests/core/farmer/test_farmer_api.py +1 -1
  45. chia/_tests/core/full_node/full_sync/test_full_sync.py +1 -7
  46. chia/_tests/core/full_node/ram_db.py +2 -1
  47. chia/_tests/core/full_node/stores/test_block_store.py +2 -2
  48. chia/_tests/core/full_node/stores/test_coin_store.py +2 -2
  49. chia/_tests/core/full_node/stores/test_full_node_store.py +3 -3
  50. chia/_tests/core/full_node/stores/test_hint_store.py +2 -2
  51. chia/_tests/core/full_node/stores/test_sync_store.py +1 -1
  52. chia/_tests/core/full_node/test_address_manager.py +1 -1
  53. chia/_tests/core/full_node/test_block_height_map.py +2 -2
  54. chia/_tests/core/full_node/test_conditions.py +1 -1
  55. chia/_tests/core/full_node/test_full_node.py +346 -164
  56. chia/_tests/core/full_node/test_generator_tools.py +3 -2
  57. chia/_tests/core/full_node/test_hint_management.py +2 -2
  58. chia/_tests/core/full_node/test_performance.py +2 -15
  59. chia/_tests/core/full_node/test_subscriptions.py +1 -1
  60. chia/_tests/core/full_node/test_transactions.py +186 -185
  61. chia/_tests/core/full_node/test_tx_processing_queue.py +1 -1
  62. chia/_tests/core/make_block_generator.py +2 -2
  63. chia/_tests/core/mempool/test_mempool.py +165 -22
  64. chia/_tests/core/mempool/test_mempool_fee_estimator.py +1 -1
  65. chia/_tests/core/mempool/test_mempool_fee_protocol.py +1 -1
  66. chia/_tests/core/mempool/test_mempool_manager.py +476 -66
  67. chia/_tests/core/mempool/test_mempool_performance.py +2 -2
  68. chia/_tests/core/mempool/test_singleton_fast_forward.py +19 -25
  69. chia/_tests/core/node_height.py +2 -1
  70. chia/_tests/core/server/test_capabilities.py +1 -1
  71. chia/_tests/core/server/test_dos.py +36 -28
  72. chia/_tests/core/server/test_loop.py +3 -3
  73. chia/_tests/core/server/test_rate_limits.py +1 -1
  74. chia/_tests/core/server/test_server.py +2 -2
  75. chia/_tests/core/services/test_services.py +1 -1
  76. chia/_tests/core/ssl/test_ssl.py +1 -1
  77. chia/_tests/core/test_coins.py +2 -1
  78. chia/_tests/core/test_cost_calculation.py +2 -2
  79. chia/_tests/core/test_crawler.py +2 -2
  80. chia/_tests/core/test_db_conversion.py +2 -2
  81. chia/_tests/core/test_db_validation.py +26 -13
  82. chia/_tests/core/test_farmer_harvester_rpc.py +2 -2
  83. chia/_tests/core/test_full_node_rpc.py +2 -2
  84. chia/_tests/core/test_merkle_set.py +2 -2
  85. chia/_tests/core/test_program.py +2 -2
  86. chia/_tests/core/test_rpc_util.py +1 -1
  87. chia/_tests/core/test_seeder.py +1 -1
  88. chia/_tests/core/util/test_block_cache.py +3 -3
  89. chia/_tests/core/util/test_jsonify.py +3 -2
  90. chia/_tests/core/util/test_keychain.py +3 -3
  91. chia/_tests/core/util/test_streamable.py +3 -4
  92. chia/_tests/environments/wallet.py +3 -2
  93. chia/_tests/farmer_harvester/test_farmer.py +3 -4
  94. chia/_tests/farmer_harvester/test_farmer_harvester.py +2 -2
  95. chia/_tests/farmer_harvester/test_filter_prefix_bits.py +2 -2
  96. chia/_tests/farmer_harvester/test_third_party_harvesters.py +3 -4
  97. chia/_tests/fee_estimation/test_fee_estimation_integration.py +1 -1
  98. chia/_tests/fee_estimation/test_fee_estimation_rpc.py +2 -2
  99. chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +1 -1
  100. chia/_tests/fee_estimation/test_mempoolitem_height_added.py +3 -4
  101. chia/_tests/generator/test_compression.py +20 -10
  102. chia/_tests/generator/test_rom.py +7 -9
  103. chia/_tests/plot_sync/test_delta.py +2 -2
  104. chia/_tests/plot_sync/test_plot_sync.py +2 -2
  105. chia/_tests/plot_sync/test_receiver.py +2 -2
  106. chia/_tests/plot_sync/test_sender.py +2 -2
  107. chia/_tests/plot_sync/test_sync_simulated.py +2 -2
  108. chia/_tests/plot_sync/util.py +3 -2
  109. chia/_tests/plotting/test_plot_manager.py +1 -1
  110. chia/_tests/pools/test_pool_cli_parsing.py +3 -2
  111. chia/_tests/pools/test_pool_cmdline.py +2 -2
  112. chia/_tests/pools/test_pool_puzzles_lifecycle.py +3 -3
  113. chia/_tests/pools/test_pool_rpc.py +4 -5
  114. chia/_tests/pools/test_pool_wallet.py +1 -1
  115. chia/_tests/pools/test_wallet_pool_store.py +2 -2
  116. chia/_tests/rpc/test_rpc_client.py +1 -1
  117. chia/_tests/rpc/test_rpc_server.py +1 -1
  118. chia/_tests/simulation/test_simulation.py +36 -8
  119. chia/_tests/simulation/test_simulator.py +5 -5
  120. chia/_tests/simulation/test_start_simulator.py +2 -2
  121. chia/_tests/timelord/test_new_peak.py +2 -2
  122. chia/_tests/tools/test_run_block.py +3 -2
  123. chia/_tests/util/benchmark_cost.py +2 -2
  124. chia/_tests/util/benchmarks.py +17 -6
  125. chia/_tests/util/blockchain.py +2 -1
  126. chia/_tests/util/blockchain_mock.py +9 -5
  127. chia/_tests/util/build_network_protocol_files.py +2 -1
  128. chia/_tests/util/constants.py +2 -1
  129. chia/_tests/util/full_sync.py +6 -3
  130. chia/_tests/util/gen_ssl_certs.py +2 -2
  131. chia/_tests/util/generator_tools_testing.py +4 -3
  132. chia/_tests/util/get_name_puzzle_conditions.py +2 -2
  133. chia/_tests/util/misc.py +16 -2
  134. chia/_tests/util/network_protocol_data.py +17 -7
  135. chia/_tests/util/run_block.py +6 -8
  136. chia/_tests/util/setup_nodes.py +4 -3
  137. chia/_tests/util/spend_sim.py +9 -5
  138. chia/_tests/util/test_condition_tools.py +2 -2
  139. chia/_tests/util/test_config.py +2 -1
  140. chia/_tests/util/test_errors.py +2 -1
  141. chia/_tests/util/test_full_block_utils.py +17 -7
  142. chia/_tests/util/test_misc.py +1 -1
  143. chia/_tests/util/test_network_protocol_test.py +24 -24
  144. chia/_tests/util/test_replace_str_to_bytes.py +2 -2
  145. chia/_tests/util/test_trusted_peer.py +1 -1
  146. chia/_tests/util/time_out_assert.py +20 -7
  147. chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +1 -1
  148. chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +2 -2
  149. chia/_tests/wallet/cat_wallet/test_cat_wallet.py +5 -6
  150. chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +17 -15
  151. chia/_tests/wallet/cat_wallet/test_trades.py +2 -2
  152. chia/_tests/wallet/clawback/test_clawback_lifecycle.py +2 -2
  153. chia/_tests/wallet/clawback/test_clawback_metadata.py +2 -2
  154. chia/_tests/wallet/conftest.py +3 -3
  155. chia/_tests/wallet/db_wallet/test_db_graftroot.py +3 -5
  156. chia/_tests/wallet/db_wallet/test_dl_offers.py +2 -2
  157. chia/_tests/wallet/db_wallet/test_dl_wallet.py +433 -384
  158. chia/_tests/wallet/did_wallet/test_did.py +3 -3
  159. chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +2 -2
  160. chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +2 -2
  161. chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +3 -4
  162. chia/_tests/wallet/nft_wallet/test_nft_offers.py +1293 -703
  163. chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +28 -30
  164. chia/_tests/wallet/nft_wallet/test_nft_wallet.py +2 -2
  165. chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +2 -2
  166. chia/_tests/wallet/rpc/config.py +1 -1
  167. chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +2 -2
  168. chia/_tests/wallet/rpc/test_wallet_rpc.py +20 -77
  169. chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +9 -7
  170. chia/_tests/wallet/sync/test_wallet_sync.py +79 -31
  171. chia/_tests/wallet/test_clvm_streamable.py +2 -2
  172. chia/_tests/wallet/test_coin_management.py +7 -7
  173. chia/_tests/wallet/test_coin_selection.py +20 -2
  174. chia/_tests/wallet/test_conditions.py +2 -2
  175. chia/_tests/wallet/test_debug_spend_bundle.py +2 -2
  176. chia/_tests/wallet/test_new_wallet_protocol.py +2 -2
  177. chia/_tests/wallet/test_nft_store.py +2 -2
  178. chia/_tests/wallet/test_notifications.py +2 -2
  179. chia/_tests/wallet/test_puzzle_store.py +2 -2
  180. chia/_tests/wallet/test_sign_coin_spends.py +2 -2
  181. chia/_tests/wallet/test_signer_protocol.py +3 -3
  182. chia/_tests/wallet/test_singleton.py +3 -11
  183. chia/_tests/wallet/test_singleton_lifecycle_fast.py +12 -13
  184. chia/_tests/wallet/test_singleton_store.py +2 -4
  185. chia/_tests/wallet/test_transaction_store.py +2 -2
  186. chia/_tests/wallet/test_util.py +2 -2
  187. chia/_tests/wallet/test_wallet.py +53 -49
  188. chia/_tests/wallet/test_wallet_action_scope.py +24 -6
  189. chia/_tests/wallet/test_wallet_blockchain.py +1 -1
  190. chia/_tests/wallet/test_wallet_coin_store.py +2 -2
  191. chia/_tests/wallet/test_wallet_interested_store.py +2 -2
  192. chia/_tests/wallet/test_wallet_node.py +3 -3
  193. chia/_tests/wallet/test_wallet_retry.py +3 -3
  194. chia/_tests/wallet/test_wallet_state_manager.py +8 -8
  195. chia/_tests/wallet/test_wallet_test_framework.py +1 -1
  196. chia/_tests/wallet/test_wallet_trade_store.py +2 -2
  197. chia/_tests/wallet/test_wallet_utils.py +2 -2
  198. chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +3 -2
  199. chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +15 -15
  200. chia/_tests/wallet/vc_wallet/test_vc_wallet.py +5 -3
  201. chia/_tests/wallet/wallet_block_tools.py +15 -7
  202. chia/_tests/weight_proof/test_weight_proof.py +3 -3
  203. chia/cmds/chia.py +0 -2
  204. chia/cmds/cmd_classes.py +3 -3
  205. chia/cmds/cmd_helpers.py +4 -4
  206. chia/cmds/cmds_util.py +2 -2
  207. chia/cmds/coin_funcs.py +3 -2
  208. chia/cmds/coins.py +1 -1
  209. chia/cmds/data.py +2 -2
  210. chia/cmds/data_funcs.py +3 -2
  211. chia/cmds/db_upgrade_func.py +2 -2
  212. chia/cmds/db_validate_func.py +15 -8
  213. chia/cmds/farm.py +2 -4
  214. chia/cmds/keys.py +0 -2
  215. chia/cmds/keys_funcs.py +1 -1
  216. chia/cmds/netspace_funcs.py +2 -1
  217. chia/cmds/param_types.py +2 -2
  218. chia/cmds/plotnft.py +2 -2
  219. chia/cmds/plotnft_funcs.py +2 -2
  220. chia/cmds/rpc.py +1 -1
  221. chia/cmds/show.py +1 -2
  222. chia/cmds/show_funcs.py +6 -3
  223. chia/cmds/signer.py +1 -2
  224. chia/cmds/sim.py +1 -2
  225. chia/cmds/sim_funcs.py +2 -2
  226. chia/cmds/wallet.py +2 -2
  227. chia/cmds/wallet_funcs.py +4 -11
  228. chia/consensus/block_body_validation.py +3 -4
  229. chia/consensus/block_creation.py +10 -6
  230. chia/consensus/block_header_validation.py +3 -4
  231. chia/consensus/block_record.py +2 -3
  232. chia/consensus/block_rewards.py +1 -1
  233. chia/consensus/blockchain.py +20 -17
  234. chia/consensus/blockchain_interface.py +5 -4
  235. chia/consensus/coinbase.py +2 -2
  236. chia/consensus/constants.py +1 -1
  237. chia/consensus/cost_calculator.py +2 -1
  238. chia/consensus/default_constants.py +4 -3
  239. chia/consensus/deficit.py +3 -2
  240. chia/consensus/difficulty_adjustment.py +8 -9
  241. chia/consensus/find_fork_point.py +4 -3
  242. chia/consensus/full_block_to_block_record.py +4 -3
  243. chia/consensus/get_block_challenge.py +4 -3
  244. chia/consensus/get_block_generator.py +3 -2
  245. chia/consensus/make_sub_epoch_summary.py +3 -2
  246. chia/consensus/multiprocess_validation.py +9 -4
  247. chia/consensus/pos_quality.py +1 -1
  248. chia/consensus/pot_iterations.py +4 -3
  249. chia/consensus/vdf_info_computation.py +4 -3
  250. chia/daemon/client.py +1 -1
  251. chia/daemon/keychain_server.py +1 -1
  252. chia/daemon/server.py +1 -1
  253. chia/daemon/windows_signal.py +1 -1
  254. chia/data_layer/data_layer.py +4 -3
  255. chia/data_layer/data_layer_errors.py +1 -1
  256. chia/data_layer/data_layer_util.py +2 -2
  257. chia/data_layer/data_layer_wallet.py +47 -69
  258. chia/data_layer/data_store.py +1 -1
  259. chia/data_layer/dl_wallet_store.py +5 -6
  260. chia/data_layer/download_data.py +1 -1
  261. chia/data_layer/s3_plugin_service.py +4 -4
  262. chia/data_layer/singleton_record.py +23 -0
  263. chia/data_layer/util/benchmark.py +2 -1
  264. chia/farmer/farmer.py +4 -6
  265. chia/farmer/farmer_api.py +4 -6
  266. chia/full_node/bitcoin_fee_estimator.py +2 -1
  267. chia/full_node/block_height_map.py +2 -2
  268. chia/full_node/block_store.py +8 -9
  269. chia/{util → full_node}/check_fork_next_block.py +2 -1
  270. chia/full_node/coin_store.py +10 -10
  271. chia/full_node/fee_estimate.py +2 -1
  272. chia/full_node/fee_estimation.py +2 -1
  273. chia/full_node/fee_estimator.py +2 -1
  274. chia/full_node/fee_estimator_interface.py +1 -1
  275. chia/full_node/fee_history.py +2 -1
  276. chia/full_node/fee_tracker.py +2 -1
  277. chia/full_node/full_node.py +15 -13
  278. chia/full_node/full_node_api.py +12 -32
  279. chia/full_node/full_node_store.py +4 -3
  280. chia/full_node/hint_management.py +2 -1
  281. chia/full_node/hint_store.py +3 -3
  282. chia/full_node/mempool.py +80 -12
  283. chia/full_node/mempool_check_conditions.py +6 -7
  284. chia/full_node/mempool_manager.py +168 -21
  285. chia/full_node/pending_tx_cache.py +2 -2
  286. chia/full_node/subscriptions.py +2 -2
  287. chia/full_node/sync_store.py +2 -3
  288. chia/full_node/tx_processing_queue.py +2 -1
  289. chia/full_node/weight_proof.py +5 -8
  290. chia/harvester/harvester.py +5 -3
  291. chia/harvester/harvester_api.py +2 -2
  292. chia/introducer/introducer.py +30 -2
  293. chia/introducer/introducer_api.py +9 -1
  294. chia/legacy/keyring.py +1 -2
  295. chia/plot_sync/exceptions.py +2 -1
  296. chia/plot_sync/receiver.py +2 -2
  297. chia/plot_sync/sender.py +1 -1
  298. chia/plotting/cache.py +2 -2
  299. chia/plotting/check_plots.py +4 -2
  300. chia/plotting/create_plots.py +1 -1
  301. chia/plotting/manager.py +3 -3
  302. chia/plotting/util.py +2 -2
  303. chia/pools/pool_config.py +1 -1
  304. chia/pools/pool_puzzles.py +23 -17
  305. chia/pools/pool_wallet.py +22 -9
  306. chia/pools/pool_wallet_info.py +2 -2
  307. chia/protocols/farmer_protocol.py +3 -6
  308. chia/protocols/full_node_protocol.py +3 -2
  309. chia/protocols/harvester_protocol.py +3 -4
  310. chia/protocols/pool_protocol.py +2 -2
  311. chia/protocols/shared_protocol.py +2 -1
  312. chia/protocols/timelord_protocol.py +4 -4
  313. chia/protocols/wallet_protocol.py +2 -2
  314. chia/rpc/data_layer_rpc_api.py +3 -4
  315. chia/rpc/data_layer_rpc_client.py +3 -2
  316. chia/rpc/farmer_rpc_api.py +2 -2
  317. chia/rpc/farmer_rpc_client.py +2 -1
  318. chia/rpc/full_node_rpc_api.py +3 -2
  319. chia/rpc/full_node_rpc_client.py +3 -2
  320. chia/rpc/harvester_rpc_api.py +2 -1
  321. chia/rpc/rpc_client.py +2 -2
  322. chia/rpc/rpc_server.py +1 -1
  323. chia/rpc/wallet_request_types.py +2 -62
  324. chia/rpc/wallet_rpc_api.py +98 -628
  325. chia/rpc/wallet_rpc_client.py +5 -253
  326. chia/seeder/crawl_store.py +1 -1
  327. chia/seeder/crawler.py +2 -2
  328. chia/seeder/peer_record.py +2 -1
  329. chia/seeder/start_crawler.py +3 -1
  330. chia/server/address_manager.py +2 -1
  331. chia/server/address_manager_store.py +1 -1
  332. chia/server/capabilities.py +2 -1
  333. chia/server/introducer_peers.py +2 -1
  334. chia/server/node_discovery.py +1 -1
  335. chia/server/outbound_message.py +2 -1
  336. chia/server/server.py +2 -2
  337. chia/server/start_data_layer.py +2 -1
  338. chia/server/start_farmer.py +3 -1
  339. chia/server/start_full_node.py +4 -2
  340. chia/server/start_harvester.py +3 -1
  341. chia/server/start_introducer.py +12 -1
  342. chia/server/start_service.py +2 -1
  343. chia/server/start_timelord.py +3 -1
  344. chia/server/start_wallet.py +3 -1
  345. chia/server/upnp.py +1 -2
  346. chia/server/ws_connection.py +3 -4
  347. chia/simulator/add_blocks_in_batches.py +5 -3
  348. chia/simulator/block_tools.py +16 -12
  349. chia/simulator/full_node_simulator.py +9 -14
  350. chia/simulator/setup_services.py +5 -3
  351. chia/simulator/simulator_full_node_rpc_api.py +3 -2
  352. chia/simulator/simulator_full_node_rpc_client.py +3 -2
  353. chia/simulator/simulator_protocol.py +3 -2
  354. chia/simulator/simulator_test_tools.py +2 -2
  355. chia/simulator/start_simulator.py +3 -2
  356. chia/simulator/wallet_tools.py +3 -4
  357. chia/timelord/iters_from_block.py +4 -4
  358. chia/timelord/timelord.py +7 -12
  359. chia/timelord/timelord_api.py +3 -3
  360. chia/timelord/timelord_state.py +4 -3
  361. chia/types/block_protocol.py +2 -2
  362. chia/types/blockchain_format/coin.py +2 -2
  363. chia/types/blockchain_format/program.py +1 -1
  364. chia/types/blockchain_format/proof_of_space.py +3 -4
  365. chia/types/blockchain_format/tree_hash.py +1 -1
  366. chia/types/blockchain_format/vdf.py +3 -4
  367. chia/types/clvm_cost.py +1 -1
  368. chia/types/coin_record.py +4 -3
  369. chia/types/coin_spend.py +1 -1
  370. chia/types/eligible_coin_spends.py +9 -5
  371. chia/types/fee_rate.py +1 -1
  372. chia/types/generator_types.py +3 -3
  373. chia/types/internal_mempool_item.py +3 -2
  374. chia/types/mempool_item.py +10 -3
  375. chia/types/mempool_submission_status.py +2 -1
  376. chia/types/mojos.py +1 -1
  377. chia/types/peer_info.py +2 -1
  378. chia/types/transaction_queue_entry.py +2 -1
  379. chia/types/unfinished_header_block.py +4 -4
  380. chia/types/validation_state.py +2 -1
  381. chia/types/weight_proof.py +1 -9
  382. chia/util/augmented_chain.py +20 -9
  383. chia/util/block_cache.py +8 -4
  384. chia/util/condition_tools.py +2 -2
  385. chia/util/full_block_utils.py +3 -4
  386. chia/util/generator_tools.py +2 -2
  387. chia/util/initial-config.yaml +2 -11
  388. chia/util/network.py +2 -2
  389. chia/util/prev_transaction_block.py +2 -1
  390. chia/util/task_timing.py +1 -1
  391. chia/util/vdf_prover.py +3 -3
  392. chia/util/ws_message.py +1 -1
  393. chia/wallet/cat_wallet/cat_info.py +3 -2
  394. chia/wallet/cat_wallet/cat_outer_puzzle.py +3 -2
  395. chia/wallet/cat_wallet/cat_utils.py +6 -4
  396. chia/wallet/cat_wallet/cat_wallet.py +16 -18
  397. chia/wallet/cat_wallet/lineage_store.py +2 -1
  398. chia/wallet/coin_selection.py +5 -5
  399. chia/wallet/conditions.py +22 -16
  400. chia/wallet/db_wallet/db_wallet_puzzles.py +15 -15
  401. chia/wallet/derivation_record.py +2 -2
  402. chia/wallet/derive_keys.py +2 -2
  403. chia/wallet/did_wallet/did_info.py +3 -2
  404. chia/wallet/did_wallet/did_wallet.py +41 -19
  405. chia/wallet/did_wallet/did_wallet_puzzles.py +18 -12
  406. chia/wallet/driver_protocol.py +1 -1
  407. chia/wallet/lineage_proof.py +3 -2
  408. chia/wallet/nft_wallet/metadata_outer_puzzle.py +6 -7
  409. chia/wallet/nft_wallet/nft_info.py +5 -5
  410. chia/wallet/nft_wallet/nft_puzzle_utils.py +293 -0
  411. chia/wallet/nft_wallet/nft_puzzles.py +21 -298
  412. chia/wallet/nft_wallet/nft_wallet.py +47 -62
  413. chia/wallet/nft_wallet/ownership_outer_puzzle.py +4 -8
  414. chia/wallet/nft_wallet/singleton_outer_puzzle.py +3 -2
  415. chia/wallet/nft_wallet/transfer_program_puzzle.py +6 -10
  416. chia/wallet/nft_wallet/uncurry_nft.py +6 -8
  417. chia/wallet/notification_manager.py +5 -5
  418. chia/wallet/notification_store.py +3 -2
  419. chia/wallet/outer_puzzles.py +2 -1
  420. chia/wallet/puzzles/clawback/drivers.py +21 -8
  421. chia/wallet/puzzles/clawback/metadata.py +3 -2
  422. chia/wallet/puzzles/clawback/puzzle_decorator.py +5 -4
  423. chia/wallet/puzzles/deployed_puzzle_hashes.json +0 -10
  424. chia/wallet/puzzles/p2_conditions.py +3 -2
  425. chia/wallet/puzzles/p2_delegated_conditions.py +3 -2
  426. chia/wallet/puzzles/p2_delegated_puzzle.py +3 -2
  427. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +3 -3
  428. chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +3 -2
  429. chia/wallet/puzzles/p2_puzzle_hash.py +4 -3
  430. chia/wallet/puzzles/puzzle_utils.py +3 -2
  431. chia/wallet/puzzles/singleton_top_layer.py +26 -10
  432. chia/wallet/puzzles/singleton_top_layer_v1_1.py +21 -9
  433. chia/wallet/puzzles/tails.py +21 -129
  434. chia/wallet/signer_protocol.py +3 -2
  435. chia/wallet/singleton.py +12 -6
  436. chia/wallet/singleton_record.py +3 -2
  437. chia/wallet/trade_manager.py +31 -55
  438. chia/wallet/trade_record.py +3 -2
  439. chia/wallet/trading/offer.py +14 -13
  440. chia/wallet/trading/trade_store.py +3 -4
  441. chia/wallet/transaction_record.py +2 -2
  442. chia/wallet/util/blind_signer_tl.py +3 -2
  443. chia/wallet/util/compute_hints.py +3 -2
  444. chia/wallet/util/compute_memos.py +2 -2
  445. chia/wallet/util/curry_and_treehash.py +1 -2
  446. chia/wallet/util/merkle_tree.py +1 -1
  447. chia/wallet/util/merkle_utils.py +1 -1
  448. chia/wallet/util/new_peak_queue.py +2 -1
  449. chia/wallet/util/notifications.py +5 -4
  450. chia/wallet/util/peer_request_cache.py +3 -2
  451. chia/wallet/util/puzzle_compression.py +6 -4
  452. chia/wallet/util/puzzle_decorator.py +6 -4
  453. chia/wallet/util/query_filter.py +3 -2
  454. chia/wallet/util/tx_config.py +3 -3
  455. chia/wallet/util/wallet_sync_utils.py +2 -2
  456. chia/wallet/util/wallet_types.py +2 -3
  457. chia/wallet/vc_wallet/cr_cat_drivers.py +18 -22
  458. chia/wallet/vc_wallet/cr_cat_wallet.py +14 -10
  459. chia/wallet/vc_wallet/cr_outer_puzzle.py +2 -2
  460. chia/wallet/vc_wallet/vc_drivers.py +50 -68
  461. chia/wallet/vc_wallet/vc_store.py +2 -2
  462. chia/wallet/vc_wallet/vc_wallet.py +47 -15
  463. chia/wallet/wallet.py +51 -46
  464. chia/wallet/wallet_action_scope.py +4 -0
  465. chia/wallet/wallet_blockchain.py +12 -7
  466. chia/wallet/wallet_coin_record.py +3 -2
  467. chia/wallet/wallet_coin_store.py +3 -2
  468. chia/wallet/wallet_info.py +2 -1
  469. chia/wallet/wallet_interested_store.py +3 -2
  470. chia/wallet/wallet_nft_store.py +4 -4
  471. chia/wallet/wallet_node.py +3 -4
  472. chia/wallet/wallet_pool_store.py +3 -4
  473. chia/wallet/wallet_protocol.py +19 -5
  474. chia/wallet/wallet_puzzle_store.py +2 -2
  475. chia/wallet/wallet_retry_store.py +3 -6
  476. chia/wallet/wallet_singleton_store.py +2 -2
  477. chia/wallet/wallet_state_manager.py +20 -197
  478. chia/wallet/wallet_transaction_store.py +2 -2
  479. chia/wallet/wallet_user_store.py +2 -1
  480. chia/wallet/wallet_weight_proof_handler.py +3 -2
  481. {chia_blockchain-2.5.2rc2.dist-info → chia_blockchain-2.5.3.dist-info}/METADATA +3 -2
  482. chia_blockchain-2.5.3.dist-info/RECORD +891 -0
  483. mozilla-ca/cacert.pem +64 -33
  484. chia/_tests/clvm/test_condition_codes.py +0 -13
  485. chia/_tests/cmds/wallet/test_dao.py +0 -565
  486. chia/_tests/wallet/dao_wallet/__init__.py +0 -0
  487. chia/_tests/wallet/dao_wallet/config.py +0 -3
  488. chia/_tests/wallet/dao_wallet/test_dao_clvm.py +0 -1330
  489. chia/_tests/wallet/dao_wallet/test_dao_wallets.py +0 -3488
  490. chia/cmds/dao.py +0 -1064
  491. chia/cmds/dao_funcs.py +0 -598
  492. chia/consensus/puzzles/__init__.py +0 -0
  493. chia/consensus/puzzles/chialisp_deserialisation.clsp +0 -69
  494. chia/consensus/puzzles/chialisp_deserialisation.clsp.hex +0 -1
  495. chia/consensus/puzzles/rom_bootstrap_generator.clsp +0 -37
  496. chia/consensus/puzzles/rom_bootstrap_generator.clsp.hex +0 -1
  497. chia/full_node/puzzles/__init__.py +0 -0
  498. chia/full_node/puzzles/block_program_zero.clsp +0 -14
  499. chia/full_node/puzzles/block_program_zero.clsp.hex +0 -1
  500. chia/full_node/puzzles/decompress_coin_spend_entry.clsp +0 -5
  501. chia/full_node/puzzles/decompress_coin_spend_entry.clsp.hex +0 -1
  502. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp +0 -7
  503. chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp.hex +0 -1
  504. chia/full_node/puzzles/decompress_puzzle.clsp +0 -6
  505. chia/full_node/puzzles/decompress_puzzle.clsp.hex +0 -1
  506. chia/pools/puzzles/__init__.py +0 -0
  507. chia/pools/puzzles/pool_member_innerpuz.clsp +0 -70
  508. chia/pools/puzzles/pool_member_innerpuz.clsp.hex +0 -1
  509. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp +0 -69
  510. chia/pools/puzzles/pool_waitingroom_innerpuz.clsp.hex +0 -1
  511. chia/simulator/simulator_constants.py +0 -13
  512. chia/types/blockchain_format/foliage.py +0 -8
  513. chia/types/blockchain_format/pool_target.py +0 -5
  514. chia/types/blockchain_format/reward_chain_block.py +0 -6
  515. chia/types/blockchain_format/sized_bytes.py +0 -11
  516. chia/util/ints.py +0 -19
  517. chia/wallet/cat_wallet/dao_cat_info.py +0 -28
  518. chia/wallet/cat_wallet/dao_cat_wallet.py +0 -669
  519. chia/wallet/cat_wallet/puzzles/__init__.py +0 -0
  520. chia/wallet/cat_wallet/puzzles/cat_truths.clib +0 -31
  521. chia/wallet/cat_wallet/puzzles/cat_v2.clsp +0 -397
  522. chia/wallet/cat_wallet/puzzles/cat_v2.clsp.hex +0 -1
  523. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp +0 -25
  524. chia/wallet/cat_wallet/puzzles/delegated_tail.clsp.hex +0 -1
  525. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp +0 -15
  526. chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp.hex +0 -1
  527. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp +0 -26
  528. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp.hex +0 -1
  529. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp +0 -42
  530. chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp.hex +0 -1
  531. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp +0 -24
  532. chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp.hex +0 -1
  533. chia/wallet/dao_wallet/__init__.py +0 -0
  534. chia/wallet/dao_wallet/dao_info.py +0 -61
  535. chia/wallet/dao_wallet/dao_utils.py +0 -811
  536. chia/wallet/dao_wallet/dao_wallet.py +0 -2119
  537. chia/wallet/did_wallet/puzzles/__init__.py +0 -0
  538. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp +0 -135
  539. chia/wallet/did_wallet/puzzles/did_innerpuz.clsp.hex +0 -1
  540. chia/wallet/payment.py +0 -33
  541. chia/wallet/puzzles/augmented_condition.clsp +0 -13
  542. chia/wallet/puzzles/augmented_condition.clsp.hex +0 -1
  543. chia/wallet/puzzles/condition_codes.clib +0 -77
  544. chia/wallet/puzzles/curry-and-treehash.clib +0 -102
  545. chia/wallet/puzzles/curry.clib +0 -135
  546. chia/wallet/puzzles/curry_by_index.clib +0 -16
  547. chia/wallet/puzzles/dao_cat_eve.clsp +0 -17
  548. chia/wallet/puzzles/dao_cat_eve.clsp.hex +0 -1
  549. chia/wallet/puzzles/dao_cat_launcher.clsp +0 -36
  550. chia/wallet/puzzles/dao_cat_launcher.clsp.hex +0 -1
  551. chia/wallet/puzzles/dao_finished_state.clsp +0 -35
  552. chia/wallet/puzzles/dao_finished_state.clsp.hex +0 -1
  553. chia/wallet/puzzles/dao_finished_state.clsp.hex.sha256tree +0 -1
  554. chia/wallet/puzzles/dao_lockup.clsp +0 -288
  555. chia/wallet/puzzles/dao_lockup.clsp.hex +0 -1
  556. chia/wallet/puzzles/dao_lockup.clsp.hex.sha256tree +0 -1
  557. chia/wallet/puzzles/dao_proposal.clsp +0 -377
  558. chia/wallet/puzzles/dao_proposal.clsp.hex +0 -1
  559. chia/wallet/puzzles/dao_proposal.clsp.hex.sha256tree +0 -1
  560. chia/wallet/puzzles/dao_proposal_timer.clsp +0 -78
  561. chia/wallet/puzzles/dao_proposal_timer.clsp.hex +0 -1
  562. chia/wallet/puzzles/dao_proposal_timer.clsp.hex.sha256tree +0 -1
  563. chia/wallet/puzzles/dao_proposal_validator.clsp +0 -87
  564. chia/wallet/puzzles/dao_proposal_validator.clsp.hex +0 -1
  565. chia/wallet/puzzles/dao_proposal_validator.clsp.hex.sha256tree +0 -1
  566. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp +0 -240
  567. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex +0 -1
  568. chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex.sha256tree +0 -1
  569. chia/wallet/puzzles/dao_treasury.clsp +0 -115
  570. chia/wallet/puzzles/dao_treasury.clsp.hex +0 -1
  571. chia/wallet/puzzles/dao_update_proposal.clsp +0 -44
  572. chia/wallet/puzzles/dao_update_proposal.clsp.hex +0 -1
  573. chia/wallet/puzzles/json.clib +0 -25
  574. chia/wallet/puzzles/merkle_utils.clib +0 -18
  575. chia/wallet/puzzles/notification.clsp +0 -7
  576. chia/wallet/puzzles/notification.clsp.hex +0 -1
  577. chia/wallet/puzzles/p2_1_of_n.clsp +0 -22
  578. chia/wallet/puzzles/p2_1_of_n.clsp.hex +0 -1
  579. chia/wallet/puzzles/p2_conditions.clsp +0 -3
  580. chia/wallet/puzzles/p2_conditions.clsp.hex +0 -1
  581. chia/wallet/puzzles/p2_delegated_conditions.clsp +0 -18
  582. chia/wallet/puzzles/p2_delegated_conditions.clsp.hex +0 -1
  583. chia/wallet/puzzles/p2_delegated_puzzle.clsp +0 -19
  584. chia/wallet/puzzles/p2_delegated_puzzle.clsp.hex +0 -1
  585. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp +0 -91
  586. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp.hex +0 -1
  587. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp +0 -108
  588. chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp.hex +0 -1
  589. chia/wallet/puzzles/p2_parent.clsp +0 -19
  590. chia/wallet/puzzles/p2_parent.clsp.hex +0 -1
  591. chia/wallet/puzzles/p2_puzzle_hash.clsp +0 -18
  592. chia/wallet/puzzles/p2_puzzle_hash.clsp.hex +0 -1
  593. chia/wallet/puzzles/p2_singleton.clsp +0 -30
  594. chia/wallet/puzzles/p2_singleton.clsp.hex +0 -1
  595. chia/wallet/puzzles/p2_singleton_aggregator.clsp +0 -81
  596. chia/wallet/puzzles/p2_singleton_aggregator.clsp.hex +0 -1
  597. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp +0 -50
  598. chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp.hex +0 -1
  599. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp +0 -47
  600. chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp.hex +0 -1
  601. chia/wallet/puzzles/settlement_payments.clsp +0 -49
  602. chia/wallet/puzzles/settlement_payments.clsp.hex +0 -1
  603. chia/wallet/puzzles/sha256tree.clib +0 -11
  604. chia/wallet/puzzles/singleton_launcher.clsp +0 -16
  605. chia/wallet/puzzles/singleton_launcher.clsp.hex +0 -1
  606. chia/wallet/puzzles/singleton_top_layer.clsp +0 -177
  607. chia/wallet/puzzles/singleton_top_layer.clsp.hex +0 -1
  608. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp +0 -107
  609. chia/wallet/puzzles/singleton_top_layer_v1_1.clsp.hex +0 -1
  610. chia/wallet/puzzles/singleton_truths.clib +0 -21
  611. chia/wallet/vc_wallet/cr_puzzles/__init__.py +0 -0
  612. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp +0 -3
  613. chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp.hex +0 -1
  614. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp +0 -304
  615. chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp.hex +0 -1
  616. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp +0 -45
  617. chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp.hex +0 -1
  618. chia/wallet/vc_wallet/vc_puzzles/__init__.py +0 -0
  619. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp +0 -30
  620. chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp.hex +0 -1
  621. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp +0 -75
  622. chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp.hex +0 -1
  623. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp +0 -32
  624. chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp.hex +0 -1
  625. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp +0 -80
  626. chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp.hex +0 -1
  627. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp +0 -163
  628. chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp.hex +0 -1
  629. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp +0 -16
  630. chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp.hex +0 -1
  631. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp +0 -74
  632. chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp.hex +0 -1
  633. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp +0 -23
  634. chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp.hex +0 -1
  635. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp +0 -64
  636. chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp.hex +0 -1
  637. chia_blockchain-2.5.2rc2.dist-info/RECORD +0 -1042
  638. {chia_blockchain-2.5.2rc2.dist-info → chia_blockchain-2.5.3.dist-info}/LICENSE +0 -0
  639. {chia_blockchain-2.5.2rc2.dist-info → chia_blockchain-2.5.3.dist-info}/WHEEL +0 -0
  640. {chia_blockchain-2.5.2rc2.dist-info → chia_blockchain-2.5.3.dist-info}/entry_points.txt +0 -0
@@ -7,6 +7,8 @@ from pathlib import Path
7
7
  from typing import TYPE_CHECKING, ClassVar, Optional, cast
8
8
 
9
9
  from chia_rs import AugSchemeMPL, G1Element, G2Element
10
+ from chia_rs.sized_bytes import bytes32
11
+ from chia_rs.sized_ints import uint8, uint32, uint64
10
12
 
11
13
  from chia.consensus.pot_iterations import calculate_iterations_quality, calculate_sp_interval_iters
12
14
  from chia.harvester.harvester import Harvester
@@ -24,8 +26,6 @@ from chia.types.blockchain_format.proof_of_space import (
24
26
  generate_plot_public_key,
25
27
  passes_plot_filter,
26
28
  )
27
- from chia.types.blockchain_format.sized_bytes import bytes32
28
- from chia.util.ints import uint8, uint32, uint64
29
29
  from chia.wallet.derive_keys import master_sk_to_local_sk
30
30
 
31
31
 
@@ -3,16 +3,20 @@ from __future__ import annotations
3
3
  import asyncio
4
4
  import contextlib
5
5
  import logging
6
+ import random
6
7
  import time
7
8
  from collections.abc import AsyncIterator
8
9
  from typing import TYPE_CHECKING, Any, ClassVar, Optional, cast
9
10
 
11
+ import dns.asyncresolver
12
+ from chia_rs.sized_ints import uint16, uint64
13
+
10
14
  from chia.rpc.rpc_server import StateChangedProtocol, default_get_connections
11
15
  from chia.server.introducer_peers import VettedPeer
12
16
  from chia.server.outbound_message import NodeType
13
17
  from chia.server.server import ChiaServer
14
18
  from chia.server.ws_connection import WSChiaConnection
15
- from chia.util.ints import uint64
19
+ from chia.types.peer_info import TimestampedPeerInfo
16
20
  from chia.util.task_referencer import create_referenced_task
17
21
 
18
22
 
@@ -31,9 +35,12 @@ class Introducer:
31
35
 
32
36
  return self._server
33
37
 
34
- def __init__(self, max_peers_to_send: int, recent_peer_threshold: int):
38
+ def __init__(self, max_peers_to_send: int, recent_peer_threshold: int, default_port: int, dns_servers: list[str]):
35
39
  self.max_peers_to_send = max_peers_to_send
36
40
  self.recent_peer_threshold = recent_peer_threshold
41
+ self.default_port = uint16(default_port)
42
+ self.dns_servers = dns_servers
43
+ self.resolver = dns.asyncresolver.Resolver()
37
44
  self._shut_down = False
38
45
  self._server: Optional[ChiaServer] = None
39
46
  self.log = logging.getLogger(__name__)
@@ -120,3 +127,24 @@ class Introducer:
120
127
  peer.vetted = max(peer.vetted + 1, 1)
121
128
  except Exception as e:
122
129
  self.log.error(e)
130
+
131
+ async def get_peers_from_dns(self, num_peers: int) -> list[TimestampedPeerInfo]:
132
+ if len(self.dns_servers) == 0:
133
+ return []
134
+
135
+ peers: list[TimestampedPeerInfo] = []
136
+ dns_address = random.choice(self.dns_servers)
137
+ for rdtype in ("A", "AAAA"):
138
+ result = await self.resolver.resolve(qname=dns_address, rdtype=rdtype, lifetime=30)
139
+ for ip in result:
140
+ peers.append(
141
+ TimestampedPeerInfo(
142
+ ip.to_text(),
143
+ self.default_port,
144
+ uint64(0),
145
+ )
146
+ )
147
+ if len(peers) > num_peers:
148
+ break
149
+
150
+ return peers
@@ -3,6 +3,8 @@ from __future__ import annotations
3
3
  import logging
4
4
  from typing import TYPE_CHECKING, ClassVar, Optional, cast
5
5
 
6
+ from chia_rs.sized_ints import uint64
7
+
6
8
  from chia.introducer.introducer import Introducer
7
9
  from chia.protocols.introducer_protocol import RequestPeersIntroducer, RespondPeersIntroducer
8
10
  from chia.protocols.protocol_message_types import ProtocolMessageTypes
@@ -11,7 +13,6 @@ from chia.server.api_protocol import ApiMetadata
11
13
  from chia.server.outbound_message import Message, make_msg
12
14
  from chia.server.ws_connection import WSChiaConnection
13
15
  from chia.types.peer_info import TimestampedPeerInfo
14
- from chia.util.ints import uint64
15
16
 
16
17
 
17
18
  class IntroducerAPI:
@@ -64,6 +65,13 @@ class IntroducerAPI:
64
65
  if len(peers) >= max_peers:
65
66
  break
66
67
 
68
+ if len(peers) < max_peers:
69
+ peers_needed = max_peers - len(peers)
70
+ self.introducer.log.info(f"Querying dns servers for {peers_needed} peers")
71
+ extra_peers = await self.introducer.get_peers_from_dns(peers_needed)
72
+ self.introducer.log.info(f"Received {len(extra_peers)} peers from dns server")
73
+ peers.extend(extra_peers)
74
+
67
75
  self.introducer.log.info(f"Sending vetted {peers}")
68
76
 
69
77
  msg = make_msg(ProtocolMessageTypes.respond_peers_introducer, RespondPeersIntroducer(peers))
chia/legacy/keyring.py CHANGED
@@ -10,11 +10,10 @@ from typing import Callable, Union, cast
10
10
 
11
11
  import click
12
12
  from chia_rs import G1Element
13
+ from chia_rs.sized_ints import uint32
13
14
  from keyring.backends.macOS import Keyring as MacKeyring
14
15
  from keyring.backends.Windows import WinVaultKeyring as WinKeyring
15
16
 
16
- from chia.util.ints import uint32
17
-
18
17
  try:
19
18
  from keyrings.cryptfile.cryptfile import CryptFileKeyring
20
19
  except ImportError:
@@ -2,10 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from chia_rs.sized_ints import uint64
6
+
5
7
  from chia.plot_sync.util import ErrorCodes, State
6
8
  from chia.protocols.harvester_protocol import PlotSyncIdentifier
7
9
  from chia.server.outbound_message import NodeType
8
- from chia.util.ints import uint64
9
10
 
10
11
 
11
12
  class PlotSyncException(Exception):
@@ -6,6 +6,8 @@ from collections.abc import Awaitable, Collection, Sequence
6
6
  from dataclasses import dataclass, field
7
7
  from typing import Any, Callable, Optional, Union
8
8
 
9
+ from chia_rs.sized_bytes import bytes32
10
+ from chia_rs.sized_ints import int16, uint32, uint64
9
11
  from typing_extensions import Protocol
10
12
 
11
13
  from chia.consensus.pos_quality import UI_ACTUAL_SPACE_CONSTANT_FACTOR, _expected_plot_size
@@ -33,8 +35,6 @@ from chia.protocols.harvester_protocol import (
33
35
  from chia.protocols.protocol_message_types import ProtocolMessageTypes
34
36
  from chia.server.outbound_message import make_msg
35
37
  from chia.server.ws_connection import WSChiaConnection
36
- from chia.types.blockchain_format.sized_bytes import bytes32
37
- from chia.util.ints import int16, uint32, uint64
38
38
 
39
39
  log = logging.getLogger(__name__)
40
40
 
chia/plot_sync/sender.py CHANGED
@@ -9,6 +9,7 @@ from dataclasses import dataclass
9
9
  from pathlib import Path
10
10
  from typing import Any, Generic, Optional, TypeVar
11
11
 
12
+ from chia_rs.sized_ints import int16, uint32, uint64
12
13
  from typing_extensions import Protocol
13
14
 
14
15
  from chia.plot_sync.exceptions import AlreadyStartedError, InvalidConnectionTypeError
@@ -28,7 +29,6 @@ from chia.protocols.protocol_message_types import ProtocolMessageTypes
28
29
  from chia.server.outbound_message import NodeType, make_msg
29
30
  from chia.server.ws_connection import WSChiaConnection
30
31
  from chia.util.batches import to_batches
31
- from chia.util.ints import int16, uint32, uint64
32
32
  from chia.util.task_referencer import create_referenced_task
33
33
 
34
34
  log = logging.getLogger(__name__)
chia/plotting/cache.py CHANGED
@@ -10,12 +10,12 @@ from pathlib import Path
10
10
  from typing import Optional
11
11
 
12
12
  from chia_rs import G1Element
13
+ from chia_rs.sized_bytes import bytes32
14
+ from chia_rs.sized_ints import uint16, uint64
13
15
  from chiapos import DiskProver
14
16
 
15
17
  from chia.plotting.util import parse_plot_info
16
18
  from chia.types.blockchain_format.proof_of_space import generate_plot_public_key
17
- from chia.types.blockchain_format.sized_bytes import bytes32
18
- from chia.util.ints import uint16, uint64
19
19
  from chia.util.streamable import Streamable, VersionedBlob, streamable
20
20
  from chia.wallet.derive_keys import master_sk_to_local_sk
21
21
 
@@ -9,6 +9,7 @@ from time import sleep, time
9
9
  from typing import Optional
10
10
 
11
11
  from chia_rs import G1Element
12
+ from chia_rs.sized_ints import uint32
12
13
  from chiapos import Verifier
13
14
 
14
15
  from chia.plotting.manager import PlotManager
@@ -25,7 +26,6 @@ from chia.util.bech32m import encode_puzzle_hash
25
26
  from chia.util.config import load_config
26
27
  from chia.util.cpu import available_logical_cores
27
28
  from chia.util.hash import std_hash
28
- from chia.util.ints import uint32
29
29
  from chia.util.keychain import Keychain
30
30
  from chia.wallet.derive_keys import master_sk_to_farmer_sk, master_sk_to_local_sk
31
31
 
@@ -241,7 +241,9 @@ def check_plots(
241
241
  )
242
242
  bad_plots_list.append(plot_path)
243
243
 
244
- with concurrent.futures.ThreadPoolExecutor(max_workers=max(1, context_count)) as executor:
244
+ with concurrent.futures.ThreadPoolExecutor(
245
+ max_workers=max(1, context_count), thread_name_prefix="check-plots-"
246
+ ) as executor:
245
247
  logger_lock = Lock()
246
248
  futures = []
247
249
  for plot_path, plot_info in plot_manager.plots.items():
@@ -6,6 +6,7 @@ from pathlib import Path
6
6
  from typing import Optional
7
7
 
8
8
  from chia_rs import AugSchemeMPL, G1Element, PrivateKey
9
+ from chia_rs.sized_bytes import bytes32
9
10
  from chiapos import DiskPlotter
10
11
 
11
12
  from chia.daemon.keychain_proxy import KeychainProxy, connect_to_keychain_and_validate, wrap_local_keychain
@@ -15,7 +16,6 @@ from chia.types.blockchain_format.proof_of_space import (
15
16
  calculate_plot_id_pk,
16
17
  generate_plot_public_key,
17
18
  )
18
- from chia.types.blockchain_format.sized_bytes import bytes32
19
19
  from chia.util.bech32m import decode_puzzle_hash
20
20
  from chia.util.keychain import Keychain
21
21
  from chia.wallet.derive_keys import master_sk_to_farmer_sk, master_sk_to_local_sk, master_sk_to_pool_sk
chia/plotting/manager.py CHANGED
@@ -337,8 +337,8 @@ class PlotManager:
337
337
  if prover.get_size() >= 30 and stat_info.st_size < 0.98 * expected_size:
338
338
  log.warning(
339
339
  f"Not farming plot {file_path}. "
340
- f"Size is {stat_info.st_size / (1024 ** 3)} GiB, "
341
- f"but expected at least: {expected_size / (1024 ** 3)} GiB. "
340
+ f"Size is {stat_info.st_size / (1024**3)} GiB, "
341
+ f"but expected at least: {expected_size / (1024**3)} GiB. "
342
342
  "We assume the file is being copied."
343
343
  )
344
344
  return None
@@ -418,7 +418,7 @@ class PlotManager:
418
418
 
419
419
  return new_plot_info
420
420
 
421
- with self, ThreadPoolExecutor() as executor:
421
+ with self, ThreadPoolExecutor(thread_name_prefix="plot-process-") as executor:
422
422
  plots_refreshed: dict[Path, PlotInfo] = {}
423
423
  for new_plot in executor.map(process_file, plot_paths):
424
424
  if new_plot is not None:
chia/plotting/util.py CHANGED
@@ -7,12 +7,12 @@ from pathlib import Path
7
7
  from typing import Any, Optional, Union
8
8
 
9
9
  from chia_rs import G1Element, PrivateKey
10
+ from chia_rs.sized_bytes import bytes32
11
+ from chia_rs.sized_ints import uint32
10
12
  from chiapos import DiskProver
11
13
  from typing_extensions import final
12
14
 
13
- from chia.types.blockchain_format.sized_bytes import bytes32
14
15
  from chia.util.config import load_config, lock_and_load_config, save_config
15
- from chia.util.ints import uint32
16
16
  from chia.util.streamable import Streamable, streamable
17
17
 
18
18
  log = logging.getLogger(__name__)
chia/pools/pool_config.py CHANGED
@@ -6,8 +6,8 @@ from pathlib import Path
6
6
  from typing import Any, Callable
7
7
 
8
8
  from chia_rs import G1Element
9
+ from chia_rs.sized_bytes import bytes32
9
10
 
10
- from chia.types.blockchain_format.sized_bytes import bytes32
11
11
  from chia.util.byte_types import hexstr_to_bytes
12
12
  from chia.util.config import load_config, lock_and_load_config, save_config
13
13
  from chia.util.streamable import Streamable, streamable
@@ -3,7 +3,17 @@ from __future__ import annotations
3
3
  import logging
4
4
  from typing import Optional
5
5
 
6
+ from chia_puzzles_py.programs import (
7
+ P2_SINGLETON_OR_DELAYED_PUZHASH,
8
+ P2_SINGLETON_OR_DELAYED_PUZHASH_HASH,
9
+ POOL_MEMBER_INNERPUZ,
10
+ POOL_MEMBER_INNERPUZ_HASH,
11
+ POOL_WAITINGROOM_INNERPUZ,
12
+ POOL_WAITINGROOM_INNERPUZ_HASH,
13
+ )
6
14
  from chia_rs import G1Element
15
+ from chia_rs.sized_bytes import bytes32
16
+ from chia_rs.sized_ints import uint32, uint64
7
17
  from clvm.casts import int_to_bytes
8
18
 
9
19
  from chia.consensus.block_rewards import calculate_pool_reward
@@ -12,32 +22,28 @@ from chia.pools.pool_wallet_info import LEAVING_POOL, SELF_POOLING, PoolState
12
22
  from chia.types.blockchain_format.coin import Coin
13
23
  from chia.types.blockchain_format.program import Program
14
24
  from chia.types.blockchain_format.serialized_program import SerializedProgram
15
- from chia.types.blockchain_format.sized_bytes import bytes32
16
25
  from chia.types.coin_spend import CoinSpend, compute_additions
17
- from chia.util.ints import uint32, uint64
18
- from chia.wallet.puzzles.load_clvm import load_clvm_maybe_recompile
19
- from chia.wallet.puzzles.singleton_top_layer import puzzle_for_singleton
26
+ from chia.wallet.puzzles.singleton_top_layer import (
27
+ SINGLETON_LAUNCHER_HASH,
28
+ SINGLETON_MOD,
29
+ SINGLETON_MOD_HASH,
30
+ puzzle_for_singleton,
31
+ )
20
32
  from chia.wallet.util.curry_and_treehash import calculate_hash_of_quoted_mod_hash, curry_and_treehash, shatree_atom
21
33
 
22
34
  log = logging.getLogger(__name__)
23
35
  # "Full" is the outer singleton, with the inner puzzle filled in
24
- SINGLETON_MOD = load_clvm_maybe_recompile("singleton_top_layer.clsp")
25
- POOL_WAITING_ROOM_MOD = load_clvm_maybe_recompile(
26
- "pool_waitingroom_innerpuz.clsp", package_or_requirement="chia.pools.puzzles"
27
- )
28
- POOL_MEMBER_MOD = load_clvm_maybe_recompile("pool_member_innerpuz.clsp", package_or_requirement="chia.pools.puzzles")
29
- P2_SINGLETON_MOD = load_clvm_maybe_recompile("p2_singleton_or_delayed_puzhash.clsp")
36
+ POOL_WAITING_ROOM_MOD = Program.from_bytes(POOL_WAITINGROOM_INNERPUZ)
37
+ POOL_MEMBER_MOD = Program.from_bytes(POOL_MEMBER_INNERPUZ)
38
+ P2_SINGLETON_MOD = Program.from_bytes(P2_SINGLETON_OR_DELAYED_PUZHASH)
30
39
  POOL_OUTER_MOD = SINGLETON_MOD
31
40
 
32
- POOL_MEMBER_HASH = POOL_MEMBER_MOD.get_tree_hash()
33
- POOL_WAITING_ROOM_HASH = POOL_WAITING_ROOM_MOD.get_tree_hash()
34
- P2_SINGLETON_HASH = P2_SINGLETON_MOD.get_tree_hash()
41
+ POOL_MEMBER_HASH = bytes32(POOL_MEMBER_INNERPUZ_HASH)
42
+ POOL_WAITING_ROOM_HASH = bytes32(POOL_WAITINGROOM_INNERPUZ_HASH)
43
+ P2_SINGLETON_HASH = bytes32(P2_SINGLETON_OR_DELAYED_PUZHASH_HASH)
35
44
  P2_SINGLETON_HASH_QUOTED = calculate_hash_of_quoted_mod_hash(P2_SINGLETON_HASH)
36
- POOL_OUTER_MOD_HASH = POOL_OUTER_MOD.get_tree_hash()
37
- SINGLETON_LAUNCHER = load_clvm_maybe_recompile("singleton_launcher.clsp")
38
- SINGLETON_LAUNCHER_HASH = SINGLETON_LAUNCHER.get_tree_hash()
45
+ POOL_OUTER_MOD_HASH = SINGLETON_MOD_HASH
39
46
  SINGLETON_LAUNCHER_HASH_TREE_HASH = shatree_atom(SINGLETON_LAUNCHER_HASH)
40
- SINGLETON_MOD_HASH = POOL_OUTER_MOD_HASH
41
47
 
42
48
  SINGLETON_MOD_HASH_HASH = Program.to(SINGLETON_MOD_HASH).get_tree_hash()
43
49
 
chia/pools/pool_wallet.py CHANGED
@@ -6,11 +6,12 @@ import time
6
6
  from typing import TYPE_CHECKING, Any, ClassVar, Optional, cast
7
7
 
8
8
  from chia_rs import G1Element, G2Element, PrivateKey
9
- from typing_extensions import final
9
+ from chia_rs.sized_bytes import bytes32
10
+ from chia_rs.sized_ints import uint32, uint64, uint128
11
+ from typing_extensions import Unpack, final
10
12
 
11
13
  from chia.pools.pool_config import PoolWalletConfig, load_pool_config, update_pool_config
12
14
  from chia.pools.pool_puzzles import (
13
- SINGLETON_LAUNCHER,
14
15
  create_absorb_spend,
15
16
  create_full_puzzle,
16
17
  create_pooling_inner_puzzle,
@@ -40,11 +41,10 @@ from chia.server.ws_connection import WSChiaConnection
40
41
  from chia.types.blockchain_format.coin import Coin
41
42
  from chia.types.blockchain_format.program import Program
42
43
  from chia.types.blockchain_format.serialized_program import SerializedProgram
43
- from chia.types.blockchain_format.sized_bytes import bytes32
44
44
  from chia.types.coin_spend import CoinSpend, compute_additions
45
- from chia.util.ints import uint32, uint64, uint128
46
45
  from chia.wallet.conditions import AssertCoinAnnouncement, Condition, ConditionValidTimes
47
46
  from chia.wallet.derive_keys import find_owner_sk
47
+ from chia.wallet.puzzles.singleton_top_layer import SINGLETON_LAUNCHER
48
48
  from chia.wallet.transaction_record import TransactionRecord
49
49
  from chia.wallet.util.transaction_type import TransactionType
50
50
  from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG, TXConfig
@@ -53,6 +53,7 @@ from chia.wallet.wallet import Wallet
53
53
  from chia.wallet.wallet_action_scope import WalletActionScope
54
54
  from chia.wallet.wallet_coin_record import WalletCoinRecord
55
55
  from chia.wallet.wallet_info import WalletInfo
56
+ from chia.wallet.wallet_protocol import GSTOptionalArgs
56
57
  from chia.wallet.wallet_spend_bundle import WalletSpendBundle
57
58
 
58
59
  if TYPE_CHECKING:
@@ -463,13 +464,12 @@ class PoolWallet:
463
464
  extra_conditions: tuple[Condition, ...] = tuple(),
464
465
  ) -> None:
465
466
  await self.standard_wallet.generate_signed_transaction(
466
- uint64(0),
467
- (await self.standard_wallet.get_new_puzzlehash()),
467
+ [],
468
+ [],
468
469
  action_scope,
469
470
  fee=fee,
470
471
  origin_id=None,
471
472
  coins=None,
472
- primaries=None,
473
473
  extra_conditions=extra_conditions,
474
474
  )
475
475
 
@@ -634,8 +634,8 @@ class PoolWallet:
634
634
  launcher_sb = WalletSpendBundle([launcher_cs], G2Element())
635
635
 
636
636
  await standard_wallet.generate_signed_transaction(
637
- amount,
638
- genesis_launcher_puz.get_tree_hash(),
637
+ [amount],
638
+ [genesis_launcher_puz.get_tree_hash()],
639
639
  action_scope,
640
640
  fee,
641
641
  coins,
@@ -931,3 +931,16 @@ class PoolWallet:
931
931
 
932
932
  async def match_hinted_coin(self, coin: Coin, hint: bytes32) -> bool: # pragma: no cover
933
933
  return False # PoolWallet pre-dates hints
934
+
935
+ async def generate_signed_transaction(
936
+ self,
937
+ amounts: list[uint64],
938
+ puzzle_hashes: list[bytes32],
939
+ action_scope: WalletActionScope,
940
+ fee: uint64 = uint64(0),
941
+ coins: Optional[set[Coin]] = None,
942
+ memos: Optional[list[list[bytes]]] = None,
943
+ extra_conditions: tuple[Condition, ...] = tuple(),
944
+ **kwargs: Unpack[GSTOptionalArgs],
945
+ ) -> None:
946
+ raise NotImplementedError("Pool Wallet does not implement `generate_signed_transaction`")
@@ -5,11 +5,11 @@ from enum import IntEnum
5
5
  from typing import Any, Optional
6
6
 
7
7
  from chia_rs import G1Element
8
+ from chia_rs.sized_bytes import bytes32
9
+ from chia_rs.sized_ints import uint8, uint32
8
10
 
9
11
  from chia.protocols.pool_protocol import POOL_PROTOCOL_VERSION
10
12
  from chia.types.blockchain_format.coin import Coin
11
- from chia.types.blockchain_format.sized_bytes import bytes32
12
- from chia.util.ints import uint8, uint32
13
13
  from chia.util.streamable import Streamable, streamable
14
14
 
15
15
 
@@ -3,16 +3,13 @@ from __future__ import annotations
3
3
  from dataclasses import dataclass
4
4
  from typing import Optional
5
5
 
6
- from chia_rs import G2Element
6
+ from chia_rs import FoliageBlockData, FoliageTransactionBlock, G2Element, PoolTarget, RewardChainBlockUnfinished
7
+ from chia_rs.sized_bytes import bytes32
8
+ from chia_rs.sized_ints import uint8, uint32, uint64
7
9
 
8
10
  from chia.types.blockchain_format.classgroup import ClassgroupElement
9
- from chia.types.blockchain_format.foliage import FoliageBlockData, FoliageTransactionBlock
10
- from chia.types.blockchain_format.pool_target import PoolTarget
11
11
  from chia.types.blockchain_format.proof_of_space import ProofOfSpace
12
- from chia.types.blockchain_format.reward_chain_block import RewardChainBlockUnfinished
13
- from chia.types.blockchain_format.sized_bytes import bytes32
14
12
  from chia.types.blockchain_format.slots import ChallengeChainSubSlot, RewardChainSubSlot
15
- from chia.util.ints import uint8, uint32, uint64
16
13
  from chia.util.streamable import Streamable, streamable
17
14
 
18
15
  """
@@ -3,7 +3,9 @@ from __future__ import annotations
3
3
  from dataclasses import dataclass
4
4
  from typing import Optional
5
5
 
6
- from chia.types.blockchain_format.sized_bytes import bytes32
6
+ from chia_rs.sized_bytes import bytes32
7
+ from chia_rs.sized_ints import uint8, uint32, uint64, uint128
8
+
7
9
  from chia.types.blockchain_format.vdf import VDFInfo, VDFProof
8
10
  from chia.types.end_of_slot_bundle import EndOfSubSlotBundle
9
11
  from chia.types.full_block import FullBlock
@@ -11,7 +13,6 @@ from chia.types.peer_info import TimestampedPeerInfo
11
13
  from chia.types.spend_bundle import SpendBundle
12
14
  from chia.types.unfinished_block import UnfinishedBlock
13
15
  from chia.types.weight_proof import WeightProof
14
- from chia.util.ints import uint8, uint32, uint64, uint128
15
16
  from chia.util.streamable import Streamable, streamable
16
17
 
17
18
  """
@@ -4,12 +4,11 @@ from dataclasses import dataclass
4
4
  from enum import IntEnum
5
5
  from typing import Optional
6
6
 
7
- from chia_rs import G1Element, G2Element
7
+ from chia_rs import G1Element, G2Element, RewardChainBlockUnfinished
8
+ from chia_rs.sized_bytes import bytes32
9
+ from chia_rs.sized_ints import int16, uint8, uint32, uint64
8
10
 
9
11
  from chia.types.blockchain_format.proof_of_space import ProofOfSpace
10
- from chia.types.blockchain_format.reward_chain_block import RewardChainBlockUnfinished
11
- from chia.types.blockchain_format.sized_bytes import bytes32
12
- from chia.util.ints import int16, uint8, uint32, uint64
13
12
  from chia.util.streamable import Streamable, streamable
14
13
 
15
14
  """
@@ -6,10 +6,10 @@ from enum import Enum
6
6
  from typing import Optional
7
7
 
8
8
  from chia_rs import G1Element, G2Element
9
+ from chia_rs.sized_bytes import bytes32
10
+ from chia_rs.sized_ints import uint8, uint16, uint32, uint64
9
11
 
10
12
  from chia.types.blockchain_format.proof_of_space import ProofOfSpace
11
- from chia.types.blockchain_format.sized_bytes import bytes32
12
- from chia.util.ints import uint8, uint16, uint32, uint64
13
13
  from chia.util.streamable import Streamable, streamable
14
14
 
15
15
  POOL_PROTOCOL_VERSION = uint8(1)
@@ -4,8 +4,9 @@ from dataclasses import dataclass
4
4
  from enum import IntEnum
5
5
  from typing import Optional
6
6
 
7
+ from chia_rs.sized_ints import int16, uint8, uint16
8
+
7
9
  from chia.server.outbound_message import NodeType
8
- from chia.util.ints import int16, uint8, uint16
9
10
  from chia.util.streamable import Streamable, streamable
10
11
 
11
12
  protocol_version = {
@@ -3,13 +3,13 @@ from __future__ import annotations
3
3
  from dataclasses import dataclass
4
4
  from typing import Optional
5
5
 
6
- from chia.types.blockchain_format.foliage import Foliage
7
- from chia.types.blockchain_format.reward_chain_block import RewardChainBlock, RewardChainBlockUnfinished
8
- from chia.types.blockchain_format.sized_bytes import bytes32
6
+ from chia_rs import Foliage, RewardChainBlock, RewardChainBlockUnfinished
7
+ from chia_rs.sized_bytes import bytes32
8
+ from chia_rs.sized_ints import uint8, uint32, uint64, uint128
9
+
9
10
  from chia.types.blockchain_format.sub_epoch_summary import SubEpochSummary
10
11
  from chia.types.blockchain_format.vdf import VDFInfo, VDFProof
11
12
  from chia.types.end_of_slot_bundle import EndOfSubSlotBundle
12
- from chia.util.ints import uint8, uint32, uint64, uint128
13
13
  from chia.util.streamable import Streamable, streamable
14
14
 
15
15
  """
@@ -5,14 +5,14 @@ from enum import IntEnum
5
5
  from typing import Optional
6
6
 
7
7
  import chia_rs
8
+ from chia_rs.sized_bytes import bytes32
9
+ from chia_rs.sized_ints import uint8, uint32, uint64, uint128
8
10
 
9
11
  from chia.full_node.fee_estimate import FeeEstimateGroup
10
12
  from chia.types.blockchain_format.coin import Coin
11
13
  from chia.types.blockchain_format.serialized_program import SerializedProgram
12
- from chia.types.blockchain_format.sized_bytes import bytes32
13
14
  from chia.types.header_block import HeaderBlock
14
15
  from chia.types.spend_bundle import SpendBundle
15
- from chia.util.ints import uint8, uint32, uint64, uint128
16
16
  from chia.util.streamable import Streamable, streamable
17
17
 
18
18
  """
@@ -4,6 +4,9 @@ import dataclasses
4
4
  from pathlib import Path
5
5
  from typing import TYPE_CHECKING, Any, ClassVar, Optional, Union, cast
6
6
 
7
+ from chia_rs.sized_bytes import bytes32
8
+ from chia_rs.sized_ints import uint8, uint64
9
+
7
10
  from chia.data_layer.data_layer_errors import OfferIntegrityError
8
11
  from chia.data_layer.data_layer_util import (
9
12
  CancelOfferRequest,
@@ -31,11 +34,7 @@ from chia.data_layer.data_layer_wallet import DataLayerWallet, Mirror, verify_of
31
34
  from chia.rpc.data_layer_rpc_util import marshal
32
35
  from chia.rpc.rpc_server import Endpoint, EndpointResult
33
36
  from chia.rpc.util import marshal as streamable_marshal
34
- from chia.types.blockchain_format.sized_bytes import bytes32
35
37
  from chia.util.byte_types import hexstr_to_bytes
36
-
37
- # todo input assertions for all rpc's
38
- from chia.util.ints import uint8, uint64
39
38
  from chia.util.streamable import recurse_jsonify
40
39
  from chia.util.ws_message import WsRpcMessage
41
40
  from chia.wallet.trading.offer import Offer as TradingOffer
@@ -3,10 +3,11 @@ from __future__ import annotations
3
3
  from pathlib import Path
4
4
  from typing import Any, Optional
5
5
 
6
+ from chia_rs.sized_bytes import bytes32
7
+ from chia_rs.sized_ints import uint64
8
+
6
9
  from chia.data_layer.data_layer_util import ClearPendingRootsRequest
7
10
  from chia.rpc.rpc_client import RpcClient
8
- from chia.types.blockchain_format.sized_bytes import bytes32
9
- from chia.util.ints import uint64
10
11
 
11
12
 
12
13
  class DataLayerRpcClient(RpcClient):
@@ -4,14 +4,14 @@ import dataclasses
4
4
  import operator
5
5
  from typing import TYPE_CHECKING, Any, Callable, ClassVar, Optional, cast
6
6
 
7
+ from chia_rs.sized_bytes import bytes32
8
+ from chia_rs.sized_ints import uint32
7
9
  from typing_extensions import Protocol
8
10
 
9
11
  from chia.farmer.farmer import Farmer
10
12
  from chia.plot_sync.receiver import Receiver
11
13
  from chia.protocols.harvester_protocol import Plot
12
14
  from chia.rpc.rpc_server import Endpoint, EndpointResult
13
- from chia.types.blockchain_format.sized_bytes import bytes32
14
- from chia.util.ints import uint32
15
15
  from chia.util.paginator import Paginator
16
16
  from chia.util.streamable import Streamable, streamable
17
17
  from chia.util.ws_message import WsRpcMessage, create_payload_dict
@@ -2,9 +2,10 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any, Optional, cast
4
4
 
5
+ from chia_rs.sized_bytes import bytes32
6
+
5
7
  from chia.rpc.farmer_rpc_api import PlotInfoRequestData, PlotPathRequestData
6
8
  from chia.rpc.rpc_client import RpcClient
7
- from chia.types.blockchain_format.sized_bytes import bytes32
8
9
  from chia.util.streamable import recurse_jsonify
9
10
 
10
11
 
@@ -3,6 +3,9 @@ from __future__ import annotations
3
3
  from datetime import datetime, timezone
4
4
  from typing import TYPE_CHECKING, Any, ClassVar, Optional, cast
5
5
 
6
+ from chia_rs.sized_bytes import bytes32
7
+ from chia_rs.sized_ints import uint32, uint64, uint128
8
+
6
9
  from chia.consensus.block_record import BlockRecord
7
10
  from chia.consensus.blockchain import Blockchain, BlockchainMutexPriority
8
11
  from chia.consensus.get_block_generator import get_block_generator
@@ -17,7 +20,6 @@ from chia.full_node.mempool_check_conditions import (
17
20
  from chia.rpc.rpc_server import Endpoint, EndpointResult
18
21
  from chia.server.outbound_message import NodeType
19
22
  from chia.types.blockchain_format.proof_of_space import calculate_prefix_bits
20
- from chia.types.blockchain_format.sized_bytes import bytes32
21
23
  from chia.types.coin_record import CoinRecord
22
24
  from chia.types.coin_spend import CoinSpend
23
25
  from chia.types.full_block import FullBlock
@@ -27,7 +29,6 @@ from chia.types.spend_bundle import SpendBundle
27
29
  from chia.types.spend_bundle_conditions import SpendBundleConditions
28
30
  from chia.types.unfinished_header_block import UnfinishedHeaderBlock
29
31
  from chia.util.byte_types import hexstr_to_bytes
30
- from chia.util.ints import uint32, uint64, uint128
31
32
  from chia.util.log_exceptions import log_exceptions
32
33
  from chia.util.math import make_monotonically_decreasing
33
34
  from chia.util.ws_message import WsRpcMessage, create_payload_dict