chia-blockchain 2.5.0rc1__py3-none-any.whl → 2.5.1__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 (637) hide show
  1. chia/_tests/README.md +1 -1
  2. chia/_tests/blockchain/blockchain_test_utils.py +24 -26
  3. chia/_tests/blockchain/test_augmented_chain.py +6 -8
  4. chia/_tests/blockchain/test_blockchain.py +409 -307
  5. chia/_tests/blockchain/test_blockchain_transactions.py +56 -75
  6. chia/_tests/blockchain/test_build_chains.py +11 -13
  7. chia/_tests/blockchain/test_get_block_generator.py +8 -8
  8. chia/_tests/blockchain/test_lookup_fork_chain.py +3 -4
  9. chia/_tests/build-init-files.py +3 -4
  10. chia/_tests/build-job-matrix.py +9 -9
  11. chia/_tests/check_sql_statements.py +2 -3
  12. chia/_tests/clvm/benchmark_costs.py +1 -1
  13. chia/_tests/clvm/coin_store.py +7 -5
  14. chia/_tests/clvm/test_chialisp_deserialization.py +8 -8
  15. chia/_tests/clvm/test_condition_codes.py +2 -2
  16. chia/_tests/clvm/test_curry_and_treehash.py +2 -4
  17. chia/_tests/clvm/test_message_conditions.py +184 -0
  18. chia/_tests/clvm/test_puzzle_compression.py +1 -2
  19. chia/_tests/clvm/test_puzzle_drivers.py +3 -3
  20. chia/_tests/clvm/test_puzzles.py +13 -18
  21. chia/_tests/clvm/test_singletons.py +17 -17
  22. chia/_tests/clvm/test_spend_sim.py +7 -7
  23. chia/_tests/cmds/cmd_test_utils.py +42 -45
  24. chia/_tests/cmds/conftest.py +2 -2
  25. chia/_tests/cmds/test_click_types.py +21 -16
  26. chia/_tests/cmds/test_cmd_framework.py +255 -35
  27. chia/_tests/cmds/test_cmds_util.py +2 -2
  28. chia/_tests/cmds/test_daemon.py +3 -3
  29. chia/_tests/cmds/test_dev_gh.py +131 -0
  30. chia/_tests/cmds/test_farm_cmd.py +1 -2
  31. chia/_tests/cmds/test_show.py +6 -6
  32. chia/_tests/cmds/test_tx_config_args.py +2 -1
  33. chia/_tests/cmds/wallet/test_dao.py +23 -23
  34. chia/_tests/cmds/wallet/test_did.py +29 -29
  35. chia/_tests/cmds/wallet/test_nft.py +24 -23
  36. chia/_tests/cmds/wallet/test_notifications.py +8 -8
  37. chia/_tests/cmds/wallet/test_tx_decorators.py +3 -3
  38. chia/_tests/cmds/wallet/test_vcs.py +97 -73
  39. chia/_tests/cmds/wallet/test_wallet.py +74 -75
  40. chia/_tests/cmds/wallet/test_wallet_check.py +5 -7
  41. chia/_tests/conftest.py +153 -38
  42. chia/_tests/connection_utils.py +7 -6
  43. chia/_tests/core/cmds/test_beta.py +3 -3
  44. chia/_tests/core/cmds/test_keys.py +6 -6
  45. chia/_tests/core/cmds/test_wallet.py +3 -3
  46. chia/_tests/core/consensus/test_block_creation.py +3 -5
  47. chia/_tests/core/custom_types/test_coin.py +1 -3
  48. chia/_tests/core/custom_types/test_spend_bundle.py +3 -4
  49. chia/_tests/core/daemon/test_daemon.py +58 -58
  50. chia/_tests/core/daemon/test_keychain_proxy.py +2 -1
  51. chia/_tests/core/data_layer/conftest.py +4 -3
  52. chia/_tests/core/data_layer/test_data_cli.py +1 -2
  53. chia/_tests/core/data_layer/test_data_layer.py +5 -5
  54. chia/_tests/core/data_layer/test_data_layer_util.py +8 -9
  55. chia/_tests/core/data_layer/test_data_rpc.py +75 -93
  56. chia/_tests/core/data_layer/test_data_store.py +38 -37
  57. chia/_tests/core/data_layer/test_data_store_schema.py +11 -11
  58. chia/_tests/core/data_layer/util.py +11 -10
  59. chia/_tests/core/farmer/test_farmer_api.py +6 -4
  60. chia/_tests/core/full_node/full_sync/test_full_sync.py +5 -10
  61. chia/_tests/core/full_node/ram_db.py +2 -2
  62. chia/_tests/core/full_node/stores/test_block_store.py +113 -11
  63. chia/_tests/core/full_node/stores/test_coin_store.py +37 -28
  64. chia/_tests/core/full_node/stores/test_full_node_store.py +34 -30
  65. chia/_tests/core/full_node/stores/test_hint_store.py +3 -4
  66. chia/_tests/core/full_node/test_address_manager.py +2 -2
  67. chia/_tests/core/full_node/test_block_height_map.py +1 -1
  68. chia/_tests/core/full_node/test_conditions.py +10 -12
  69. chia/_tests/core/full_node/test_full_node.py +2077 -1822
  70. chia/_tests/core/full_node/test_generator_tools.py +4 -4
  71. chia/_tests/core/full_node/test_hint_management.py +2 -2
  72. chia/_tests/core/full_node/test_performance.py +2 -5
  73. chia/_tests/core/full_node/test_subscriptions.py +4 -4
  74. chia/_tests/core/full_node/test_tx_processing_queue.py +5 -4
  75. chia/_tests/core/make_block_generator.py +5 -7
  76. chia/_tests/core/mempool/test_mempool.py +205 -208
  77. chia/_tests/core/mempool/test_mempool_fee_protocol.py +5 -5
  78. chia/_tests/core/mempool/test_mempool_item_queries.py +2 -4
  79. chia/_tests/core/mempool/test_mempool_manager.py +109 -80
  80. chia/_tests/core/mempool/test_mempool_performance.py +3 -4
  81. chia/_tests/core/mempool/test_singleton_fast_forward.py +12 -12
  82. chia/_tests/core/server/flood.py +6 -4
  83. chia/_tests/core/server/serve.py +10 -7
  84. chia/_tests/core/server/test_api_protocol.py +21 -0
  85. chia/_tests/core/server/test_capabilities.py +3 -5
  86. chia/_tests/core/server/test_dos.py +15 -16
  87. chia/_tests/core/server/test_loop.py +14 -10
  88. chia/_tests/core/server/test_node_discovery.py +1 -2
  89. chia/_tests/core/server/test_rate_limits.py +156 -44
  90. chia/_tests/core/server/test_server.py +8 -7
  91. chia/_tests/core/services/test_services.py +59 -37
  92. chia/_tests/core/ssl/test_ssl.py +5 -3
  93. chia/_tests/core/test_cost_calculation.py +5 -6
  94. chia/_tests/core/test_crawler.py +2 -2
  95. chia/_tests/core/test_db_conversion.py +5 -4
  96. chia/_tests/core/test_db_validation.py +6 -5
  97. chia/_tests/core/test_farmer_harvester_rpc.py +8 -7
  98. chia/_tests/core/test_filter.py +3 -5
  99. chia/_tests/core/test_full_node_rpc.py +64 -90
  100. chia/_tests/core/test_merkle_set.py +10 -10
  101. chia/_tests/core/test_program.py +2 -4
  102. chia/_tests/core/test_rpc_util.py +1 -2
  103. chia/_tests/core/test_seeder.py +124 -12
  104. chia/_tests/core/util/test_block_cache.py +5 -5
  105. chia/_tests/core/util/test_cached_bls.py +3 -3
  106. chia/_tests/core/util/test_config.py +13 -13
  107. chia/_tests/core/util/test_files.py +2 -2
  108. chia/_tests/core/util/test_jsonify.py +9 -9
  109. chia/_tests/core/util/test_keychain.py +13 -5
  110. chia/_tests/core/util/test_keyring_wrapper.py +6 -5
  111. chia/_tests/core/util/test_log_exceptions.py +3 -3
  112. chia/_tests/core/util/test_streamable.py +38 -38
  113. chia/_tests/db/test_db_wrapper.py +13 -12
  114. chia/_tests/environments/common.py +2 -2
  115. chia/_tests/environments/full_node.py +2 -2
  116. chia/_tests/environments/wallet.py +109 -48
  117. chia/_tests/farmer_harvester/test_farmer.py +35 -35
  118. chia/_tests/farmer_harvester/test_farmer_harvester.py +17 -17
  119. chia/_tests/farmer_harvester/test_filter_prefix_bits.py +6 -5
  120. chia/_tests/farmer_harvester/test_third_party_harvesters.py +73 -46
  121. chia/_tests/fee_estimation/test_fee_estimation_integration.py +8 -8
  122. chia/_tests/fee_estimation/test_fee_estimation_rpc.py +47 -47
  123. chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +6 -7
  124. chia/_tests/fee_estimation/test_mempoolitem_height_added.py +11 -11
  125. chia/_tests/generator/test_compression.py +13 -30
  126. chia/_tests/generator/test_generator_types.py +3 -3
  127. chia/_tests/generator/test_rom.py +7 -9
  128. chia/_tests/plot_sync/test_delta.py +2 -3
  129. chia/_tests/plot_sync/test_plot_sync.py +25 -24
  130. chia/_tests/plot_sync/test_receiver.py +9 -9
  131. chia/_tests/plot_sync/test_sender.py +1 -1
  132. chia/_tests/plot_sync/test_sync_simulated.py +27 -26
  133. chia/_tests/plot_sync/util.py +2 -1
  134. chia/_tests/plotting/test_plot_manager.py +54 -11
  135. chia/_tests/plotting/util.py +2 -3
  136. chia/_tests/pools/test_pool_cli_parsing.py +128 -0
  137. chia/_tests/pools/test_pool_cmdline.py +993 -15
  138. chia/_tests/pools/test_pool_config.py +3 -5
  139. chia/_tests/pools/test_pool_puzzles_lifecycle.py +10 -11
  140. chia/_tests/pools/test_pool_rpc.py +203 -90
  141. chia/_tests/pools/test_pool_wallet.py +12 -8
  142. chia/_tests/pools/test_wallet_pool_store.py +3 -3
  143. chia/_tests/process_junit.py +16 -17
  144. chia/_tests/rpc/test_rpc_client.py +59 -2
  145. chia/_tests/rpc/test_rpc_server.py +183 -0
  146. chia/_tests/simulation/test_simulation.py +5 -5
  147. chia/_tests/simulation/test_simulator.py +8 -10
  148. chia/_tests/simulation/test_start_simulator.py +5 -4
  149. chia/_tests/timelord/test_new_peak.py +19 -19
  150. chia/_tests/tools/test_run_block.py +1 -2
  151. chia/_tests/tools/test_virtual_project.py +591 -0
  152. chia/_tests/util/benchmark_cost.py +9 -9
  153. chia/_tests/util/benchmarks.py +1 -2
  154. chia/_tests/util/blockchain.py +12 -11
  155. chia/_tests/util/blockchain_mock.py +15 -15
  156. chia/_tests/util/build_network_protocol_files.py +12 -12
  157. chia/_tests/util/db_connection.py +3 -2
  158. chia/_tests/util/full_sync.py +14 -6
  159. chia/_tests/util/gen_ssl_certs.py +4 -5
  160. chia/_tests/util/generator_tools_testing.py +5 -7
  161. chia/_tests/util/get_name_puzzle_conditions.py +52 -0
  162. chia/_tests/util/key_tool.py +2 -3
  163. chia/_tests/util/misc.py +59 -106
  164. chia/_tests/util/network_protocol_data.py +7 -9
  165. chia/_tests/util/protocol_messages_json.py +112 -111
  166. chia/_tests/util/rpc.py +3 -0
  167. chia/_tests/util/run_block.py +16 -16
  168. chia/_tests/util/setup_nodes.py +25 -23
  169. chia/{clvm → _tests/util}/spend_sim.py +59 -55
  170. chia/_tests/util/split_managers.py +12 -9
  171. chia/_tests/util/temp_file.py +1 -1
  172. chia/_tests/util/test_action_scope.py +2 -1
  173. chia/_tests/util/test_async_pool.py +8 -8
  174. chia/_tests/util/test_build_job_matrix.py +2 -3
  175. chia/_tests/util/test_condition_tools.py +4 -6
  176. chia/_tests/util/test_config.py +5 -5
  177. chia/_tests/util/test_dump_keyring.py +1 -1
  178. chia/_tests/util/test_full_block_utils.py +19 -11
  179. chia/_tests/util/test_limited_semaphore.py +4 -3
  180. chia/_tests/util/test_logging_filter.py +2 -3
  181. chia/_tests/util/test_misc.py +29 -28
  182. chia/_tests/util/test_network.py +32 -31
  183. chia/_tests/util/test_network_protocol_files.py +2 -3
  184. chia/_tests/util/test_network_protocol_json.py +1 -0
  185. chia/_tests/util/test_network_protocol_test.py +18 -19
  186. chia/_tests/util/test_paginator.py +3 -4
  187. chia/_tests/util/test_pprint.py +1 -1
  188. chia/_tests/util/test_priority_mutex.py +18 -17
  189. chia/_tests/util/test_recursive_replace.py +2 -2
  190. chia/_tests/util/test_testnet_overrides.py +3 -3
  191. chia/_tests/util/test_timing.py +1 -1
  192. chia/_tests/util/test_trusted_peer.py +2 -2
  193. chia/_tests/util/time_out_assert.py +43 -6
  194. chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +13 -13
  195. chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +1 -1
  196. chia/_tests/wallet/cat_wallet/test_cat_wallet.py +117 -29
  197. chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +15 -15
  198. chia/_tests/wallet/cat_wallet/test_trades.py +50 -28
  199. chia/_tests/wallet/clawback/test_clawback_decorator.py +3 -5
  200. chia/_tests/wallet/clawback/test_clawback_lifecycle.py +6 -6
  201. chia/_tests/wallet/clawback/test_clawback_metadata.py +1 -2
  202. chia/_tests/wallet/conftest.py +135 -74
  203. chia/_tests/wallet/dao_wallet/test_dao_clvm.py +25 -17
  204. chia/_tests/wallet/dao_wallet/test_dao_wallets.py +75 -75
  205. chia/_tests/wallet/db_wallet/test_db_graftroot.py +10 -12
  206. chia/_tests/wallet/db_wallet/test_dl_offers.py +6 -6
  207. chia/_tests/wallet/db_wallet/test_dl_wallet.py +18 -18
  208. chia/_tests/wallet/did_wallet/test_did.py +1277 -474
  209. chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +12 -11
  210. chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +115 -105
  211. chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +6 -7
  212. chia/_tests/wallet/nft_wallet/test_nft_offers.py +16 -16
  213. chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +3 -3
  214. chia/_tests/wallet/nft_wallet/test_nft_wallet.py +38 -12
  215. chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +1 -1
  216. chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +31 -33
  217. chia/_tests/wallet/rpc/test_wallet_rpc.py +218 -171
  218. chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +36 -37
  219. chia/_tests/wallet/sync/test_wallet_sync.py +241 -78
  220. chia/_tests/wallet/test_address_type.py +20 -20
  221. chia/_tests/wallet/test_clvm_streamable.py +5 -5
  222. chia/_tests/wallet/test_coin_management.py +354 -0
  223. chia/_tests/wallet/test_coin_selection.py +34 -35
  224. chia/_tests/wallet/test_conditions.py +28 -16
  225. chia/_tests/wallet/test_debug_spend_bundle.py +156 -14
  226. chia/_tests/wallet/test_new_wallet_protocol.py +29 -31
  227. chia/_tests/wallet/test_nft_store.py +1 -2
  228. chia/_tests/wallet/test_notifications.py +2 -2
  229. chia/_tests/wallet/test_offer_parsing_performance.py +1 -1
  230. chia/_tests/wallet/test_puzzle_store.py +2 -3
  231. chia/_tests/wallet/test_sign_coin_spends.py +3 -3
  232. chia/_tests/wallet/test_signer_protocol.py +33 -34
  233. chia/_tests/wallet/test_singleton_lifecycle_fast.py +29 -29
  234. chia/_tests/wallet/test_taproot.py +1 -1
  235. chia/_tests/wallet/test_transaction_store.py +23 -19
  236. chia/_tests/wallet/test_util.py +36 -32
  237. chia/_tests/wallet/test_wallet.py +37 -37
  238. chia/_tests/wallet/test_wallet_action_scope.py +8 -8
  239. chia/_tests/wallet/test_wallet_blockchain.py +4 -6
  240. chia/_tests/wallet/test_wallet_coin_store.py +34 -34
  241. chia/_tests/wallet/test_wallet_node.py +69 -72
  242. chia/_tests/wallet/test_wallet_retry.py +3 -3
  243. chia/_tests/wallet/test_wallet_state_manager.py +12 -5
  244. chia/_tests/wallet/test_wallet_trade_store.py +2 -2
  245. chia/_tests/wallet/test_wallet_utils.py +5 -4
  246. chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +3 -3
  247. chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +18 -18
  248. chia/_tests/wallet/vc_wallet/test_vc_wallet.py +69 -40
  249. chia/_tests/wallet/wallet_block_tools.py +27 -27
  250. chia/_tests/weight_proof/test_weight_proof.py +30 -30
  251. chia/apis.py +19 -0
  252. chia/cmds/beta.py +8 -7
  253. chia/cmds/beta_funcs.py +15 -11
  254. chia/cmds/check_wallet_db.py +29 -27
  255. chia/cmds/chia.py +17 -9
  256. chia/cmds/cmd_classes.py +87 -79
  257. chia/cmds/cmd_helpers.py +242 -0
  258. chia/cmds/cmds_util.py +56 -66
  259. chia/cmds/coin_funcs.py +168 -153
  260. chia/cmds/coins.py +156 -194
  261. chia/cmds/configure.py +4 -3
  262. chia/cmds/dao.py +89 -33
  263. chia/cmds/dao_funcs.py +55 -33
  264. chia/cmds/data.py +7 -6
  265. chia/cmds/data_funcs.py +26 -21
  266. chia/cmds/db.py +4 -3
  267. chia/cmds/db_backup_func.py +2 -2
  268. chia/cmds/db_upgrade_func.py +3 -3
  269. chia/cmds/db_validate_func.py +2 -2
  270. chia/cmds/dev.py +2 -0
  271. chia/cmds/farm.py +18 -5
  272. chia/cmds/farm_funcs.py +17 -24
  273. chia/cmds/gh.py +275 -0
  274. chia/cmds/init.py +4 -11
  275. chia/cmds/init_funcs.py +9 -9
  276. chia/cmds/installers.py +5 -3
  277. chia/cmds/keys.py +56 -39
  278. chia/cmds/keys_funcs.py +30 -31
  279. chia/cmds/netspace.py +6 -3
  280. chia/cmds/netspace_funcs.py +3 -2
  281. chia/cmds/param_types.py +16 -6
  282. chia/cmds/passphrase.py +8 -7
  283. chia/cmds/passphrase_funcs.py +7 -61
  284. chia/cmds/peer.py +2 -1
  285. chia/cmds/peer_funcs.py +5 -5
  286. chia/cmds/plotnft.py +207 -153
  287. chia/cmds/plotnft_funcs.py +205 -174
  288. chia/cmds/plots.py +14 -6
  289. chia/cmds/plotters.py +2 -1
  290. chia/cmds/rpc.py +48 -28
  291. chia/cmds/show.py +2 -1
  292. chia/cmds/show_funcs.py +7 -6
  293. chia/cmds/signer.py +50 -58
  294. chia/cmds/sim.py +22 -14
  295. chia/cmds/sim_funcs.py +11 -11
  296. chia/cmds/start.py +3 -3
  297. chia/cmds/start_funcs.py +9 -12
  298. chia/cmds/stop.py +4 -3
  299. chia/cmds/units.py +1 -3
  300. chia/cmds/wallet.py +252 -96
  301. chia/cmds/wallet_funcs.py +217 -143
  302. chia/consensus/block_body_validation.py +133 -86
  303. chia/consensus/block_creation.py +42 -21
  304. chia/consensus/block_header_validation.py +32 -37
  305. chia/consensus/block_record.py +1 -2
  306. chia/consensus/blockchain.py +167 -180
  307. chia/consensus/blockchain_interface.py +10 -10
  308. chia/consensus/constants.py +2 -2
  309. chia/consensus/default_constants.py +3 -4
  310. chia/consensus/difficulty_adjustment.py +5 -5
  311. chia/consensus/find_fork_point.py +5 -5
  312. chia/consensus/full_block_to_block_record.py +4 -4
  313. chia/consensus/get_block_challenge.py +2 -2
  314. chia/consensus/get_block_generator.py +4 -3
  315. chia/consensus/multiprocess_validation.py +207 -304
  316. chia/consensus/vdf_info_computation.py +3 -3
  317. chia/daemon/client.py +46 -27
  318. chia/daemon/keychain_proxy.py +10 -9
  319. chia/daemon/keychain_server.py +18 -18
  320. chia/daemon/server.py +103 -113
  321. chia/daemon/windows_signal.py +2 -2
  322. chia/data_layer/data_layer.py +64 -76
  323. chia/data_layer/data_layer_api.py +8 -0
  324. chia/data_layer/data_layer_errors.py +3 -3
  325. chia/data_layer/data_layer_server.py +2 -2
  326. chia/data_layer/data_layer_util.py +71 -71
  327. chia/data_layer/data_layer_wallet.py +63 -67
  328. chia/data_layer/data_store.py +72 -72
  329. chia/data_layer/dl_wallet_store.py +10 -10
  330. chia/data_layer/download_data.py +5 -5
  331. chia/data_layer/s3_plugin_service.py +9 -9
  332. chia/data_layer/util/benchmark.py +0 -1
  333. chia/data_layer/util/plugin.py +2 -3
  334. chia/farmer/farmer.py +46 -43
  335. chia/farmer/farmer_api.py +27 -21
  336. chia/full_node/block_height_map.py +6 -6
  337. chia/full_node/block_store.py +41 -35
  338. chia/full_node/coin_store.py +42 -41
  339. chia/full_node/fee_estimate.py +2 -2
  340. chia/full_node/fee_estimation.py +1 -2
  341. chia/full_node/fee_history.py +5 -6
  342. chia/full_node/fee_tracker.py +24 -24
  343. chia/full_node/full_node.py +574 -300
  344. chia/full_node/full_node_api.py +181 -130
  345. chia/full_node/full_node_store.py +43 -43
  346. chia/full_node/hint_management.py +4 -4
  347. chia/full_node/hint_store.py +9 -10
  348. chia/full_node/mempool.py +25 -19
  349. chia/full_node/mempool_check_conditions.py +11 -42
  350. chia/full_node/mempool_manager.py +48 -53
  351. chia/full_node/pending_tx_cache.py +9 -9
  352. chia/full_node/subscriptions.py +23 -24
  353. chia/full_node/sync_store.py +8 -7
  354. chia/full_node/tx_processing_queue.py +3 -3
  355. chia/full_node/util/__init__.py +0 -0
  356. chia/full_node/weight_proof.py +79 -78
  357. chia/harvester/harvester.py +9 -8
  358. chia/harvester/harvester_api.py +19 -13
  359. chia/introducer/introducer.py +7 -5
  360. chia/introducer/introducer_api.py +9 -3
  361. chia/legacy/keyring.py +6 -5
  362. chia/plot_sync/delta.py +8 -8
  363. chia/plot_sync/receiver.py +12 -11
  364. chia/plot_sync/sender.py +15 -12
  365. chia/plotters/bladebit.py +12 -12
  366. chia/plotters/chiapos.py +2 -2
  367. chia/plotters/madmax.py +8 -8
  368. chia/plotters/plotters.py +6 -6
  369. chia/plotters/plotters_util.py +6 -4
  370. chia/plotting/cache.py +8 -7
  371. chia/plotting/check_plots.py +8 -8
  372. chia/plotting/create_plots.py +6 -6
  373. chia/plotting/manager.py +22 -22
  374. chia/plotting/util.py +31 -19
  375. chia/pools/pool_config.py +7 -7
  376. chia/pools/pool_puzzles.py +16 -16
  377. chia/pools/pool_wallet.py +64 -57
  378. chia/pools/pool_wallet_info.py +3 -3
  379. chia/protocols/full_node_protocol.py +3 -3
  380. chia/protocols/harvester_protocol.py +12 -12
  381. chia/protocols/introducer_protocol.py +1 -2
  382. chia/protocols/protocol_message_types.py +4 -4
  383. chia/protocols/protocol_state_machine.py +2 -2
  384. chia/protocols/protocol_timing.py +1 -0
  385. chia/protocols/shared_protocol.py +3 -3
  386. chia/protocols/timelord_protocol.py +2 -2
  387. chia/protocols/wallet_protocol.py +33 -33
  388. chia/rpc/crawler_rpc_api.py +12 -7
  389. chia/rpc/data_layer_rpc_api.py +49 -44
  390. chia/rpc/data_layer_rpc_client.py +41 -41
  391. chia/rpc/data_layer_rpc_util.py +7 -11
  392. chia/rpc/farmer_rpc_api.py +32 -27
  393. chia/rpc/farmer_rpc_client.py +14 -14
  394. chia/rpc/full_node_rpc_api.py +53 -48
  395. chia/rpc/full_node_rpc_client.py +30 -30
  396. chia/rpc/harvester_rpc_api.py +16 -11
  397. chia/rpc/harvester_rpc_client.py +6 -6
  398. chia/rpc/rpc_client.py +34 -14
  399. chia/rpc/rpc_server.py +117 -43
  400. chia/rpc/timelord_rpc_api.py +9 -4
  401. chia/rpc/util.py +11 -211
  402. chia/rpc/wallet_request_types.py +276 -60
  403. chia/rpc/wallet_rpc_api.py +563 -399
  404. chia/rpc/wallet_rpc_client.py +220 -250
  405. chia/seeder/crawl_store.py +6 -8
  406. chia/seeder/crawler.py +23 -36
  407. chia/seeder/crawler_api.py +28 -22
  408. chia/seeder/dns_server.py +99 -50
  409. chia/seeder/start_crawler.py +13 -9
  410. chia/server/address_manager.py +19 -19
  411. chia/server/address_manager_store.py +17 -17
  412. chia/server/api_protocol.py +106 -1
  413. chia/server/capabilities.py +3 -3
  414. chia/server/chia_policy.py +17 -16
  415. chia/server/introducer_peers.py +3 -3
  416. chia/server/node_discovery.py +34 -38
  417. chia/server/rate_limit_numbers.py +26 -16
  418. chia/server/rate_limits.py +67 -27
  419. chia/server/server.py +52 -31
  420. chia/server/signal_handlers.py +6 -3
  421. chia/server/ssl_context.py +5 -5
  422. chia/server/start_data_layer.py +37 -23
  423. chia/server/start_farmer.py +28 -16
  424. chia/server/start_full_node.py +29 -23
  425. chia/server/start_harvester.py +28 -15
  426. chia/server/start_introducer.py +27 -15
  427. chia/server/start_service.py +17 -29
  428. chia/server/start_timelord.py +25 -18
  429. chia/server/start_wallet.py +22 -18
  430. chia/server/upnp.py +4 -3
  431. chia/server/ws_connection.py +68 -54
  432. chia/simulator/add_blocks_in_batches.py +54 -0
  433. chia/simulator/block_tools.py +65 -64
  434. chia/simulator/full_node_simulator.py +66 -74
  435. chia/simulator/setup_services.py +10 -9
  436. chia/simulator/simulator_full_node_rpc_api.py +12 -14
  437. chia/simulator/simulator_full_node_rpc_client.py +3 -5
  438. chia/simulator/simulator_test_tools.py +8 -7
  439. chia/simulator/socket.py +1 -4
  440. chia/simulator/ssl_certs.py +5 -5
  441. chia/simulator/ssl_certs_1.py +2 -4
  442. chia/simulator/ssl_certs_10.py +2 -4
  443. chia/simulator/ssl_certs_2.py +2 -4
  444. chia/simulator/ssl_certs_3.py +2 -4
  445. chia/simulator/ssl_certs_4.py +2 -4
  446. chia/simulator/ssl_certs_5.py +2 -4
  447. chia/simulator/ssl_certs_6.py +2 -4
  448. chia/simulator/ssl_certs_7.py +2 -4
  449. chia/simulator/ssl_certs_8.py +2 -4
  450. chia/simulator/ssl_certs_9.py +2 -4
  451. chia/simulator/start_simulator.py +14 -6
  452. chia/simulator/wallet_tools.py +21 -20
  453. chia/ssl/create_ssl.py +11 -11
  454. chia/timelord/iters_from_block.py +2 -2
  455. chia/timelord/timelord.py +57 -33
  456. chia/timelord/timelord_api.py +12 -6
  457. chia/timelord/timelord_launcher.py +10 -8
  458. chia/timelord/timelord_state.py +5 -5
  459. chia/types/block_protocol.py +2 -2
  460. chia/types/blockchain_format/coin.py +3 -3
  461. chia/types/blockchain_format/program.py +17 -18
  462. chia/types/blockchain_format/tree_hash.py +9 -9
  463. chia/types/coin_spend.py +8 -8
  464. chia/types/condition_with_args.py +1 -2
  465. chia/types/eligible_coin_spends.py +16 -15
  466. chia/types/generator_types.py +1 -2
  467. chia/types/internal_mempool_item.py +1 -2
  468. chia/types/mempool_item.py +7 -7
  469. chia/types/mempool_submission_status.py +2 -2
  470. chia/types/peer_info.py +1 -1
  471. chia/types/spend_bundle.py +1 -2
  472. chia/types/transaction_queue_entry.py +2 -2
  473. chia/types/unfinished_header_block.py +2 -2
  474. chia/types/validation_state.py +14 -0
  475. chia/types/weight_proof.py +5 -6
  476. chia/util/action_scope.py +8 -8
  477. chia/util/async_pool.py +6 -4
  478. chia/util/augmented_chain.py +13 -9
  479. chia/util/batches.py +5 -2
  480. chia/util/bech32m.py +14 -11
  481. chia/util/beta_metrics.py +5 -4
  482. chia/util/block_cache.py +5 -5
  483. chia/util/byte_types.py +2 -0
  484. chia/util/check_fork_next_block.py +3 -2
  485. chia/util/chia_logging.py +41 -21
  486. chia/util/collection.py +3 -3
  487. chia/util/condition_tools.py +18 -18
  488. chia/util/config.py +26 -25
  489. chia/util/cpu.py +2 -0
  490. chia/util/db_synchronous.py +2 -0
  491. chia/util/db_version.py +2 -0
  492. chia/util/db_wrapper.py +13 -10
  493. chia/util/default_root.py +17 -0
  494. chia/util/dump_keyring.py +6 -6
  495. chia/util/errors.py +5 -3
  496. chia/util/file_keyring.py +22 -33
  497. chia/util/files.py +2 -0
  498. chia/util/full_block_utils.py +31 -7
  499. chia/util/generator_tools.py +18 -8
  500. chia/util/hash.py +3 -1
  501. chia/util/initial-config.yaml +19 -0
  502. chia/util/inline_executor.py +2 -0
  503. chia/util/ip_address.py +39 -0
  504. chia/util/json_util.py +0 -4
  505. chia/util/keychain.py +27 -24
  506. chia/util/keyring_wrapper.py +65 -4
  507. chia/util/limited_semaphore.py +3 -1
  508. chia/util/lock.py +4 -2
  509. chia/util/log_exceptions.py +5 -2
  510. chia/util/logging.py +3 -1
  511. chia/util/lru_cache.py +2 -0
  512. chia/util/math.py +4 -4
  513. chia/util/network.py +15 -73
  514. chia/util/paginator.py +3 -1
  515. chia/util/path.py +2 -0
  516. chia/util/permissions.py +3 -2
  517. chia/util/prev_transaction_block.py +1 -3
  518. chia/util/priority_mutex.py +6 -3
  519. chia/util/profiler.py +7 -4
  520. chia/util/recursive_replace.py +2 -0
  521. chia/util/safe_cancel_task.py +2 -0
  522. chia/util/service_groups.py +2 -2
  523. chia/util/setproctitle.py +2 -0
  524. chia/util/significant_bits.py +2 -0
  525. chia/util/ssl_check.py +11 -11
  526. chia/util/streamable.py +44 -56
  527. chia/util/task_referencer.py +59 -0
  528. chia/util/task_timing.py +22 -18
  529. chia/util/timing.py +4 -1
  530. chia/util/vdf_prover.py +2 -3
  531. chia/util/virtual_project_analysis.py +540 -0
  532. chia/util/ws_message.py +6 -6
  533. chia/wallet/cat_wallet/cat_info.py +3 -3
  534. chia/wallet/cat_wallet/cat_outer_puzzle.py +3 -3
  535. chia/wallet/cat_wallet/cat_utils.py +5 -4
  536. chia/wallet/cat_wallet/cat_wallet.py +56 -70
  537. chia/wallet/cat_wallet/dao_cat_info.py +3 -3
  538. chia/wallet/cat_wallet/dao_cat_wallet.py +18 -18
  539. chia/wallet/cat_wallet/lineage_store.py +2 -2
  540. chia/wallet/coin_selection.py +15 -15
  541. chia/wallet/conditions.py +257 -71
  542. chia/wallet/dao_wallet/dao_info.py +4 -4
  543. chia/wallet/dao_wallet/dao_utils.py +43 -42
  544. chia/wallet/dao_wallet/dao_wallet.py +66 -68
  545. chia/wallet/db_wallet/db_wallet_puzzles.py +12 -8
  546. chia/wallet/derive_keys.py +11 -11
  547. chia/wallet/did_wallet/did_info.py +3 -3
  548. chia/wallet/did_wallet/did_wallet.py +56 -47
  549. chia/wallet/did_wallet/did_wallet_puzzles.py +7 -6
  550. chia/wallet/lineage_proof.py +4 -4
  551. chia/wallet/nft_wallet/metadata_outer_puzzle.py +2 -2
  552. chia/wallet/nft_wallet/nft_info.py +4 -4
  553. chia/wallet/nft_wallet/nft_puzzles.py +16 -16
  554. chia/wallet/nft_wallet/nft_wallet.py +90 -89
  555. chia/wallet/nft_wallet/ownership_outer_puzzle.py +2 -2
  556. chia/wallet/nft_wallet/singleton_outer_puzzle.py +2 -2
  557. chia/wallet/nft_wallet/transfer_program_puzzle.py +2 -2
  558. chia/wallet/nft_wallet/uncurry_nft.py +2 -2
  559. chia/wallet/notification_manager.py +5 -5
  560. chia/wallet/notification_store.py +6 -6
  561. chia/wallet/outer_puzzles.py +2 -2
  562. chia/wallet/payment.py +4 -5
  563. chia/wallet/puzzle_drivers.py +4 -4
  564. chia/wallet/puzzles/clawback/drivers.py +5 -5
  565. chia/wallet/puzzles/clawback/puzzle_decorator.py +7 -7
  566. chia/wallet/puzzles/load_clvm.py +2 -3
  567. chia/wallet/puzzles/p2_conditions.py +1 -2
  568. chia/wallet/puzzles/p2_delegated_conditions.py +1 -2
  569. chia/wallet/puzzles/p2_delegated_puzzle.py +2 -3
  570. chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +3 -4
  571. chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +1 -2
  572. chia/wallet/puzzles/p2_puzzle_hash.py +1 -2
  573. chia/wallet/puzzles/puzzle_utils.py +7 -7
  574. chia/wallet/puzzles/singleton_top_layer.py +6 -5
  575. chia/wallet/puzzles/singleton_top_layer_v1_1.py +6 -5
  576. chia/wallet/puzzles/tails.py +34 -30
  577. chia/wallet/signer_protocol.py +7 -8
  578. chia/wallet/singleton.py +4 -4
  579. chia/wallet/trade_manager.py +155 -141
  580. chia/wallet/trade_record.py +5 -5
  581. chia/wallet/trading/offer.py +100 -101
  582. chia/wallet/trading/trade_store.py +14 -14
  583. chia/wallet/transaction_record.py +31 -16
  584. chia/wallet/util/address_type.py +4 -4
  585. chia/wallet/util/blind_signer_tl.py +8 -12
  586. chia/wallet/util/clvm_streamable.py +15 -15
  587. chia/wallet/util/compute_hints.py +5 -5
  588. chia/wallet/util/compute_memos.py +4 -6
  589. chia/wallet/util/curry_and_treehash.py +3 -2
  590. chia/wallet/util/debug_spend_bundle.py +6 -8
  591. chia/wallet/util/merkle_tree.py +10 -10
  592. chia/wallet/util/merkle_utils.py +10 -10
  593. chia/wallet/util/new_peak_queue.py +3 -3
  594. chia/wallet/util/peer_request_cache.py +8 -8
  595. chia/{util → wallet/util}/pprint.py +2 -3
  596. chia/wallet/util/puzzle_compression.py +3 -4
  597. chia/wallet/util/puzzle_decorator.py +10 -10
  598. chia/wallet/util/query_filter.py +9 -10
  599. chia/wallet/util/tx_config.py +12 -12
  600. chia/wallet/util/wallet_sync_utils.py +24 -21
  601. chia/wallet/util/wallet_types.py +9 -2
  602. chia/wallet/vc_wallet/cr_cat_drivers.py +28 -27
  603. chia/wallet/vc_wallet/cr_cat_wallet.py +42 -40
  604. chia/wallet/vc_wallet/cr_outer_puzzle.py +4 -4
  605. chia/wallet/vc_wallet/vc_drivers.py +16 -16
  606. chia/wallet/vc_wallet/vc_store.py +9 -9
  607. chia/wallet/vc_wallet/vc_wallet.py +35 -35
  608. chia/wallet/wallet.py +54 -54
  609. chia/wallet/wallet_action_scope.py +14 -13
  610. chia/wallet/wallet_blockchain.py +10 -10
  611. chia/wallet/wallet_coin_record.py +2 -2
  612. chia/wallet/wallet_coin_store.py +10 -10
  613. chia/wallet/wallet_info.py +1 -2
  614. chia/wallet/wallet_interested_store.py +5 -5
  615. chia/wallet/wallet_nft_store.py +6 -6
  616. chia/wallet/wallet_node.py +72 -76
  617. chia/wallet/wallet_node_api.py +33 -27
  618. chia/wallet/wallet_pool_store.py +1 -2
  619. chia/wallet/wallet_protocol.py +15 -15
  620. chia/wallet/wallet_puzzle_store.py +35 -4
  621. chia/wallet/wallet_retry_store.py +2 -2
  622. chia/wallet/wallet_singleton_store.py +10 -9
  623. chia/wallet/wallet_spend_bundle.py +4 -20
  624. chia/wallet/wallet_state_manager.py +223 -224
  625. chia/wallet/wallet_transaction_store.py +44 -18
  626. chia/wallet/wallet_user_store.py +2 -2
  627. chia/wallet/wallet_weight_proof_handler.py +2 -2
  628. {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/LICENSE +1 -1
  629. {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/METADATA +67 -72
  630. chia_blockchain-2.5.1.dist-info/RECORD +1042 -0
  631. {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/WHEEL +1 -1
  632. mozilla-ca/cacert.pem +32 -87
  633. chia/_tests/cmds/wallet/test_coins.py +0 -195
  634. chia/consensus/block_root_validation.py +0 -46
  635. chia/util/api_decorators.py +0 -89
  636. chia_blockchain-2.5.0rc1.dist-info/RECORD +0 -1028
  637. {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/entry_points.txt +0 -0
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import datetime
4
4
  import os
5
5
  from pathlib import Path
6
- from typing import Any, Dict, List, Optional, Tuple, Union
6
+ from typing import Any, Optional, Union
7
7
 
8
8
  import importlib_resources
9
9
  import pytest
@@ -27,6 +27,7 @@ from chia.rpc.wallet_request_types import (
27
27
  CancelOfferResponse,
28
28
  CATSpendResponse,
29
29
  CreateOfferForIDsResponse,
30
+ GetHeightInfoResponse,
30
31
  SendTransactionResponse,
31
32
  TakeOfferResponse,
32
33
  )
@@ -56,10 +57,10 @@ test_offer_id_bytes: bytes32 = bytes32.from_hexstr(test_offer_id)
56
57
  test_condition_valid_times: ConditionValidTimes = ConditionValidTimes(min_time=uint64(100), max_time=uint64(150))
57
58
 
58
59
 
59
- def test_get_transaction(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
60
+ def test_get_transaction(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
60
61
  test_rpc_clients, root_dir = get_test_cli_clients
61
62
  # set RPC Client
62
- inst_rpc_client = TestWalletRpcClient() # pylint: disable=no-value-for-parameter
63
+ inst_rpc_client = TestWalletRpcClient()
63
64
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
64
65
  # get output with all options but verbose
65
66
  command_args = ["wallet", "get_transaction", WALLET_ID_ARG, "-tx", bytes32_hexstr]
@@ -80,9 +81,9 @@ def test_get_transaction(capsys: object, get_test_cli_clients: Tuple[TestRpcClie
80
81
  "Amount sent: 12345.678 test1",
81
82
  "To address: xch1qyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqs0wg4qq",
82
83
  ]
83
- run_cli_command_and_assert(capsys, root_dir, command_args + [FINGERPRINT_ARG], assert_list)
84
- run_cli_command_and_assert(capsys, root_dir, command_args + [FINGERPRINT_ARG, "-v"], v_assert_list)
85
- run_cli_command_and_assert(capsys, root_dir, command_args + [CAT_FINGERPRINT_ARG], cat_assert_list)
84
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, FINGERPRINT_ARG], assert_list)
85
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, FINGERPRINT_ARG, "-v"], v_assert_list)
86
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, CAT_FINGERPRINT_ARG], cat_assert_list)
86
87
  # these are various things that should be in the output
87
88
  expected_calls: logType = {
88
89
  "get_wallets": [(None,), (None,), (None,)],
@@ -96,7 +97,7 @@ def test_get_transaction(capsys: object, get_test_cli_clients: Tuple[TestRpcClie
96
97
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
97
98
 
98
99
 
99
- def test_get_transactions(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
100
+ def test_get_transactions(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
100
101
  test_rpc_clients, root_dir = get_test_cli_clients
101
102
 
102
103
  # set RPC Client
@@ -111,7 +112,7 @@ def test_get_transactions(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
111
112
  to_address: Optional[str] = None,
112
113
  type_filter: Optional[TransactionTypeFilter] = None,
113
114
  confirmed: Optional[bool] = None,
114
- ) -> List[TransactionRecord]:
115
+ ) -> list[TransactionRecord]:
115
116
  self.add_to_log(
116
117
  "get_transactions", (wallet_id, start, end, sort_key, reverse, to_address, type_filter, confirmed)
117
118
  )
@@ -141,14 +142,14 @@ def test_get_transactions(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
141
142
 
142
143
  return l_tx_rec
143
144
 
144
- async def get_coin_records(self, request: GetCoinRecords) -> Dict[str, Any]:
145
+ async def get_coin_records(self, request: GetCoinRecords) -> dict[str, Any]:
145
146
  self.add_to_log("get_coin_records", (request,))
146
147
  return {
147
148
  "coin_records": [{"metadata": {"time_lock": 12345678}}],
148
149
  "total_count": 1,
149
150
  }
150
151
 
151
- inst_rpc_client = GetTransactionsWalletRpcClient() # pylint: disable=no-value-for-parameter
152
+ inst_rpc_client = GetTransactionsWalletRpcClient()
152
153
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
153
154
  # get output with all options but verbose
154
155
  command_args = [
@@ -182,7 +183,7 @@ def test_get_transactions(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
182
183
  "'type': 7", # clawback tx
183
184
  ]
184
185
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
185
- run_cli_command_and_assert(capsys, root_dir, command_args + ["-v"], v_assert_list)
186
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "-v"], v_assert_list)
186
187
  # these are various things that should be in the output
187
188
  expected_coin_id = Coin(get_bytes32(4), get_bytes32(5), uint64(12345678)).name()
188
189
  expected_calls: logType = {
@@ -199,14 +200,14 @@ def test_get_transactions(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
199
200
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
200
201
 
201
202
 
202
- def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
203
+ def test_show(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
203
204
  test_rpc_clients, root_dir = get_test_cli_clients
204
205
 
205
206
  # set RPC Client
206
207
  class ShowRpcClient(TestWalletRpcClient):
207
- async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> List[Dict[str, Union[str, int]]]:
208
+ async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> list[dict[str, Union[str, int]]]:
208
209
  self.add_to_log("get_wallets", (wallet_type,))
209
- wallet_list: List[Dict[str, Union[str, int]]] = [
210
+ wallet_list: list[dict[str, Union[str, int]]] = [
210
211
  {"data": "", "id": 1, "name": "Chia Wallet", "type": WalletType.STANDARD_WALLET},
211
212
  {
212
213
  "data": "dc59bcd60ce5fc9c93a5d3b11875486b03efb53a53da61e453f5cf61a774686001ff02ffff01ff02ffff03ff2f"
@@ -227,11 +228,11 @@ def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
227
228
  return [wallet_list[1]]
228
229
  return wallet_list
229
230
 
230
- async def get_height_info(self) -> uint32:
231
+ async def get_height_info(self) -> GetHeightInfoResponse:
231
232
  self.add_to_log("get_height_info", ())
232
- return uint32(10)
233
+ return GetHeightInfoResponse(uint32(10))
233
234
 
234
- async def get_wallet_balance(self, wallet_id: int) -> Dict[str, uint64]:
235
+ async def get_wallet_balance(self, wallet_id: int) -> dict[str, uint64]:
235
236
  self.add_to_log("get_wallet_balance", (wallet_id,))
236
237
  if wallet_id == 1:
237
238
  amount = uint64(1000000000)
@@ -251,7 +252,7 @@ def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
251
252
 
252
253
  async def get_connections(
253
254
  self, node_type: Optional[NodeType] = None
254
- ) -> List[Dict[str, Union[str, int, float, bytes32]]]:
255
+ ) -> list[dict[str, Union[str, int, float, bytes32]]]:
255
256
  self.add_to_log("get_connections", (node_type,))
256
257
  return [
257
258
  {
@@ -268,7 +269,7 @@ def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
268
269
  }
269
270
  ]
270
271
 
271
- inst_rpc_client = ShowRpcClient() # pylint: disable=no-value-for-parameter
272
+ inst_rpc_client = ShowRpcClient()
272
273
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
273
274
  command_args = ["wallet", "show", FINGERPRINT_ARG]
274
275
  assert_list = [
@@ -287,11 +288,10 @@ def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
287
288
  "47482/47482 01010101... May 12",
288
289
  ]
289
290
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
290
- run_cli_command_and_assert(capsys, root_dir, command_args + ["--wallet_type", "cat"], other_assert_list)
291
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "--wallet_type", "cat"], other_assert_list)
291
292
  # these are various things that should be in the output
292
293
  expected_calls: logType = {
293
294
  "get_wallets": [(None,), (WalletType.CAT,)],
294
- "get_synced": [(), ()],
295
295
  "get_sync_status": [(), ()],
296
296
  "get_height_info": [(), ()],
297
297
  "get_wallet_balance": [(1,), (2,), (3,), (2,)],
@@ -301,7 +301,7 @@ def test_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
301
301
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
302
302
 
303
303
 
304
- def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
304
+ def test_send(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
305
305
  test_rpc_clients, root_dir = get_test_cli_clients
306
306
 
307
307
  # set RPC Client
@@ -313,8 +313,8 @@ def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
313
313
  address: str,
314
314
  tx_config: TXConfig,
315
315
  fee: uint64 = uint64(0),
316
- memos: Optional[List[str]] = None,
317
- puzzle_decorator_override: Optional[List[Dict[str, Union[str, int, bool]]]] = None,
316
+ memos: Optional[list[str]] = None,
317
+ puzzle_decorator_override: Optional[list[dict[str, Union[str, int, bool]]]] = None,
318
318
  push: bool = True,
319
319
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
320
320
  ) -> SendTransactionResponse:
@@ -351,10 +351,10 @@ def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
351
351
  amount: Optional[uint64] = None,
352
352
  inner_address: Optional[str] = None,
353
353
  fee: uint64 = uint64(0),
354
- memos: Optional[List[str]] = None,
355
- additions: Optional[List[Dict[str, Any]]] = None,
356
- removals: Optional[List[Coin]] = None,
357
- cat_discrepancy: Optional[Tuple[int, Program, Program]] = None, # (extra_delta, tail_reveal, tail_solution)
354
+ memos: Optional[list[str]] = None,
355
+ additions: Optional[list[dict[str, Any]]] = None,
356
+ removals: Optional[list[Coin]] = None,
357
+ cat_discrepancy: Optional[tuple[int, Program, Program]] = None, # (extra_delta, tail_reveal, tail_solution)
358
358
  push: bool = True,
359
359
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
360
360
  ) -> CATSpendResponse:
@@ -376,7 +376,7 @@ def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
376
376
  )
377
377
  return CATSpendResponse([STD_UTX], [STD_TX], STD_TX, STD_TX.name)
378
378
 
379
- inst_rpc_client = SendWalletRpcClient() # pylint: disable=no-value-for-parameter
379
+ inst_rpc_client = SendWalletRpcClient()
380
380
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
381
381
  # get output with all options but verbose
382
382
  addr = encode_puzzle_hash(get_bytes32(3), "xch")
@@ -409,10 +409,10 @@ def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
409
409
  ]
410
410
  with CliRunner().isolated_filesystem():
411
411
  run_cli_command_and_assert(
412
- capsys, root_dir, command_args + [FINGERPRINT_ARG] + ["--transaction-file=temp"], assert_list
412
+ capsys, root_dir, [*command_args, FINGERPRINT_ARG, "--transaction-file-out=temp"], assert_list
413
413
  )
414
414
  run_cli_command_and_assert(
415
- capsys, root_dir, command_args + [CAT_FINGERPRINT_ARG] + ["--transaction-file=temp2"], cat_assert_list
415
+ capsys, root_dir, [*command_args, CAT_FINGERPRINT_ARG, "--transaction-file-out=temp2"], cat_assert_list
416
416
  )
417
417
 
418
418
  with open("temp", "rb") as file:
@@ -468,7 +468,7 @@ def test_send(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path])
468
468
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
469
469
 
470
470
 
471
- def test_get_address(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
471
+ def test_get_address(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
472
472
  test_rpc_clients, root_dir = get_test_cli_clients
473
473
 
474
474
  # set RPC Client
@@ -479,7 +479,7 @@ def test_get_address(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
479
479
  return encode_puzzle_hash(get_bytes32(3), "xch")
480
480
  return encode_puzzle_hash(get_bytes32(4), "xch")
481
481
 
482
- inst_rpc_client = GetAddressWalletRpcClient() # pylint: disable=no-value-for-parameter
482
+ inst_rpc_client = GetAddressWalletRpcClient()
483
483
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
484
484
  # get output with all options but verbose
485
485
  addr1 = encode_puzzle_hash(get_bytes32(3), "xch")
@@ -490,8 +490,8 @@ def test_get_address(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
490
490
  WALLET_ID_ARG,
491
491
  FINGERPRINT_ARG,
492
492
  ]
493
- run_cli_command_and_assert(capsys, root_dir, command_args + ["-n"], [addr1])
494
- run_cli_command_and_assert(capsys, root_dir, command_args + ["-l"], [addr2])
493
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "-n"], [addr1])
494
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "-l"], [addr2])
495
495
  # these are various things that should be in the output
496
496
  expected_calls: logType = {
497
497
  "get_next_address": [(1, True), (1, False)],
@@ -499,19 +499,19 @@ def test_get_address(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
499
499
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
500
500
 
501
501
 
502
- def test_clawback(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
502
+ def test_clawback(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
503
503
  test_rpc_clients, root_dir = get_test_cli_clients
504
504
 
505
505
  # set RPC Client
506
506
  class ClawbackWalletRpcClient(TestWalletRpcClient):
507
507
  async def spend_clawback_coins(
508
508
  self,
509
- coin_ids: List[bytes32],
509
+ coin_ids: list[bytes32],
510
510
  fee: int = 0,
511
511
  force: bool = False,
512
512
  push: bool = True,
513
513
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
514
- ) -> Dict[str, Any]:
514
+ ) -> dict[str, Any]:
515
515
  self.add_to_log("spend_clawback_coins", (coin_ids, fee, force, push, timelock_info))
516
516
  tx_hex_list = [get_bytes32(6).hex(), get_bytes32(7).hex(), get_bytes32(8).hex()]
517
517
  return {
@@ -526,7 +526,7 @@ def test_clawback(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
526
526
  ],
527
527
  }
528
528
 
529
- inst_rpc_client = ClawbackWalletRpcClient() # pylint: disable=no-value-for-parameter
529
+ inst_rpc_client = ClawbackWalletRpcClient()
530
530
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
531
531
  tx_ids = [get_bytes32(3), get_bytes32(4), get_bytes32(5)]
532
532
  r_tx_ids_hex = [get_bytes32(6).hex(), get_bytes32(7).hex(), get_bytes32(8).hex()]
@@ -551,16 +551,15 @@ def test_clawback(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
551
551
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
552
552
 
553
553
 
554
- def test_del_unconfirmed_tx(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
554
+ def test_del_unconfirmed_tx(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
555
555
  test_rpc_clients, root_dir = get_test_cli_clients
556
556
 
557
557
  # set RPC Client
558
558
  class UnconfirmedTxRpcClient(TestWalletRpcClient):
559
559
  async def delete_unconfirmed_transactions(self, wallet_id: int) -> None:
560
560
  self.add_to_log("delete_unconfirmed_transactions", (wallet_id,))
561
- return None
562
561
 
563
- inst_rpc_client = UnconfirmedTxRpcClient() # pylint: disable=no-value-for-parameter
562
+ inst_rpc_client = UnconfirmedTxRpcClient()
564
563
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
565
564
  command_args = [
566
565
  "wallet",
@@ -577,7 +576,7 @@ def test_del_unconfirmed_tx(capsys: object, get_test_cli_clients: Tuple[TestRpcC
577
576
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
578
577
 
579
578
 
580
- def test_get_derivation_index(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
579
+ def test_get_derivation_index(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
581
580
  test_rpc_clients, root_dir = get_test_cli_clients
582
581
 
583
582
  # set RPC Client
@@ -586,7 +585,7 @@ def test_get_derivation_index(capsys: object, get_test_cli_clients: Tuple[TestRp
586
585
  self.add_to_log("get_current_derivation_index", ())
587
586
  return str(520)
588
587
 
589
- inst_rpc_client = GetDerivationIndexRpcClient() # pylint: disable=no-value-for-parameter
588
+ inst_rpc_client = GetDerivationIndexRpcClient()
590
589
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
591
590
  command_args = [
592
591
  "wallet",
@@ -601,11 +600,11 @@ def test_get_derivation_index(capsys: object, get_test_cli_clients: Tuple[TestRp
601
600
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
602
601
 
603
602
 
604
- def test_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
603
+ def test_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
605
604
  test_rpc_clients, root_dir = get_test_cli_clients
606
605
 
607
606
  # set RPC Client
608
- inst_rpc_client = TestWalletRpcClient() # pylint: disable=no-value-for-parameter
607
+ inst_rpc_client = TestWalletRpcClient()
609
608
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
610
609
  xch_addr = encode_puzzle_hash(get_bytes32(1), "xch")
611
610
  message = b"hello world"
@@ -617,14 +616,14 @@ def test_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
617
616
  f"Signature: {bytes([6] * 576).hex()}",
618
617
  f"Signing Mode: {SigningMode.CHIP_0002.value}",
619
618
  ]
620
- run_cli_command_and_assert(capsys, root_dir, command_args + [f"-a{xch_addr}"], assert_list)
619
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-a{xch_addr}"], assert_list)
621
620
  expected_calls: logType = {
622
621
  "sign_message_by_address": [(xch_addr, message.hex())], # xch std
623
622
  }
624
623
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
625
624
 
626
625
 
627
- def test_update_derivation_index(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
626
+ def test_update_derivation_index(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
628
627
  test_rpc_clients, root_dir = get_test_cli_clients
629
628
 
630
629
  # set RPC Client
@@ -633,7 +632,7 @@ def test_update_derivation_index(capsys: object, get_test_cli_clients: Tuple[Tes
633
632
  self.add_to_log("extend_derivation_index", (index,))
634
633
  return str(index)
635
634
 
636
- inst_rpc_client = UpdateDerivationIndexRpcClient() # pylint: disable=no-value-for-parameter
635
+ inst_rpc_client = UpdateDerivationIndexRpcClient()
637
636
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
638
637
  index = 600
639
638
  command_args = ["wallet", "update_derivation_index", FINGERPRINT_ARG, "--index", str(index)]
@@ -644,26 +643,25 @@ def test_update_derivation_index(capsys: object, get_test_cli_clients: Tuple[Tes
644
643
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
645
644
 
646
645
 
647
- def test_add_token(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
646
+ def test_add_token(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
648
647
  test_rpc_clients, root_dir = get_test_cli_clients
649
648
 
650
649
  # set RPC Client
651
650
  class AddTokenRpcClient(TestWalletRpcClient):
652
- async def create_wallet_for_existing_cat(self, asset_id: bytes) -> Dict[str, int]:
651
+ async def create_wallet_for_existing_cat(self, asset_id: bytes) -> dict[str, int]:
653
652
  self.add_to_log("create_wallet_for_existing_cat", (asset_id,))
654
653
  return {"wallet_id": 3}
655
654
 
656
655
  async def set_cat_name(self, wallet_id: int, name: str) -> None:
657
656
  self.add_to_log("set_cat_name", (wallet_id, name))
658
- return None # we don't need to do anything here
659
657
 
660
- inst_rpc_client = AddTokenRpcClient() # pylint: disable=no-value-for-parameter
658
+ inst_rpc_client = AddTokenRpcClient()
661
659
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
662
660
  command_args = ["wallet", "add_token", FINGERPRINT_ARG, "-nexamplecat"]
663
661
  assert_list = [f"Successfully renamed test1 with wallet_id 2 on key {FINGERPRINT} to examplecat"]
664
662
  other_assert_list = [f"Successfully added examplecat with wallet id 3 on key {FINGERPRINT}"]
665
- run_cli_command_and_assert(capsys, root_dir, command_args + ["--asset-id", get_bytes32(1).hex()], assert_list)
666
- run_cli_command_and_assert(capsys, root_dir, command_args + ["--asset-id", get_bytes32(3).hex()], other_assert_list)
663
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "--asset-id", get_bytes32(1).hex()], assert_list)
664
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, "--asset-id", get_bytes32(3).hex()], other_assert_list)
667
665
  # these are various things that should be in the output
668
666
 
669
667
  expected_calls: logType = {
@@ -675,7 +673,7 @@ def test_add_token(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, P
675
673
 
676
674
 
677
675
  def test_make_offer_bad_filename(
678
- capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path], tmp_path: Path
676
+ capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path], tmp_path: Path
679
677
  ) -> None:
680
678
  _, root_dir = get_test_cli_clients
681
679
 
@@ -687,7 +685,7 @@ def test_make_offer_bad_filename(
687
685
  "wallet",
688
686
  "make_offer",
689
687
  FINGERPRINT_ARG,
690
- f"-p{str(tmp_path)}",
688
+ f"-p{tmp_path!s}",
691
689
  "--reuse",
692
690
  "-m0.5",
693
691
  "--offer",
@@ -707,7 +705,7 @@ def test_make_offer_bad_filename(
707
705
  "wallet",
708
706
  "make_offer",
709
707
  FINGERPRINT_ARG,
710
- f"-p{str(test_file)}",
708
+ f"-p{test_file!s}",
711
709
  "--reuse",
712
710
  "-m0.5",
713
711
  "--offer",
@@ -727,17 +725,17 @@ def test_make_offer_bad_filename(
727
725
  run_cli_command_and_assert(capsys, root_dir, command_args_unwritable, [""])
728
726
 
729
727
 
730
- def test_make_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path], tmp_path: Path) -> None:
728
+ def test_make_offer(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path], tmp_path: Path) -> None:
731
729
  test_rpc_clients, root_dir = get_test_cli_clients
732
730
 
733
731
  # set RPC Client
734
732
  class MakeOfferRpcClient(TestWalletRpcClient):
735
733
  async def create_offer_for_ids(
736
734
  self,
737
- offer_dict: Dict[uint32, int],
735
+ offer_dict: dict[uint32, int],
738
736
  tx_config: TXConfig,
739
- driver_dict: Optional[Dict[str, Any]] = None,
740
- solver: Optional[Dict[str, Any]] = None,
737
+ driver_dict: Optional[dict[str, Any]] = None,
738
+ solver: Optional[dict[str, Any]] = None,
741
739
  fee: uint64 = uint64(0),
742
740
  validate_only: bool = False,
743
741
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
@@ -765,7 +763,7 @@ def test_make_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
765
763
 
766
764
  return CreateOfferForIDsResponse([STD_UTX], [STD_TX], created_offer, trade_offer)
767
765
 
768
- inst_rpc_client = MakeOfferRpcClient() # pylint: disable=no-value-for-parameter
766
+ inst_rpc_client = MakeOfferRpcClient()
769
767
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
770
768
  request_cat_id = get_bytes32(2)
771
769
  request_nft_id = get_bytes32(2)
@@ -775,7 +773,7 @@ def test_make_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
775
773
  "wallet",
776
774
  "make_offer",
777
775
  FINGERPRINT_ARG,
778
- f"-p{str(tmp_path / 'test.offer')}",
776
+ f"-p{tmp_path / 'test.offer'!s}",
779
777
  "--reuse",
780
778
  "-m0.5",
781
779
  "--offer",
@@ -857,7 +855,7 @@ def test_make_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
857
855
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
858
856
 
859
857
 
860
- def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
858
+ def test_get_offers(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
861
859
  test_rpc_clients, root_dir = get_test_cli_clients
862
860
 
863
861
  # set RPC Client
@@ -872,7 +870,7 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
872
870
  exclude_my_offers: bool = False,
873
871
  exclude_taken_offers: bool = False,
874
872
  include_completed: bool = False,
875
- ) -> List[TradeRecord]:
873
+ ) -> list[TradeRecord]:
876
874
  self.add_to_log(
877
875
  "get_all_offers",
878
876
  (
@@ -886,7 +884,7 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
886
884
  include_completed,
887
885
  ),
888
886
  )
889
- records: List[TradeRecord] = []
887
+ records: list[TradeRecord] = []
890
888
  for i in reversed(range(start, end - 1)): # reversed to match the sort order
891
889
  trade_offer = TradeRecord(
892
890
  confirmed_at_index=uint32(0),
@@ -913,7 +911,7 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
913
911
  records.append(trade_offer)
914
912
  return records
915
913
 
916
- inst_rpc_client = GetOffersRpcClient() # pylint: disable=no-value-for-parameter
914
+ inst_rpc_client = GetOffersRpcClient()
917
915
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
918
916
  command_args = [
919
917
  "wallet",
@@ -923,6 +921,7 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
923
921
  "--exclude-taken-offers",
924
922
  "--include-completed",
925
923
  "--reverse",
924
+ "--sort-by-relevance",
926
925
  ]
927
926
  # these are various things that should be in the output
928
927
  assert_list = [
@@ -940,7 +939,7 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
940
939
  "Record with id: 0101010101010101010101010101010101010101010101010101010101010101",
941
940
  ]
942
941
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
943
- expected_calls: logType = {"get_all_offers": [(0, 10, None, True, False, True, True, True)]}
942
+ expected_calls: logType = {"get_all_offers": [(0, 10, "RELEVANCE", True, False, True, True, True)]}
944
943
  command_args = [
945
944
  "wallet",
946
945
  "get_offers",
@@ -960,11 +959,11 @@ def test_get_offers(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
960
959
  ]
961
960
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
962
961
  assert expected_calls["get_all_offers"] is not None
963
- expected_calls["get_all_offers"].append((0, 10, None, False, True, False, False, False))
962
+ expected_calls["get_all_offers"].append((0, 10, "CONFIRMED_AT_HEIGHT", False, True, False, False, False))
964
963
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
965
964
 
966
965
 
967
- def test_take_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
966
+ def test_take_offer(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
968
967
  test_rpc_clients, root_dir = get_test_cli_clients
969
968
 
970
969
  # set RPC Client
@@ -973,7 +972,7 @@ def test_take_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
973
972
  self,
974
973
  offer: Offer,
975
974
  tx_config: TXConfig,
976
- solver: Optional[Dict[str, Any]] = None,
975
+ solver: Optional[dict[str, Any]] = None,
977
976
  fee: uint64 = uint64(0),
978
977
  push: bool = True,
979
978
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
@@ -999,7 +998,7 @@ def test_take_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
999
998
  ),
1000
999
  )
1001
1000
 
1002
- inst_rpc_client = TakeOfferRpcClient() # pylint: disable=no-value-for-parameter
1001
+ inst_rpc_client = TakeOfferRpcClient()
1003
1002
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
1004
1003
  # these are various things that should be in the output
1005
1004
  cat1 = bytes32.from_hexstr("fd6a341ed39c05c31157d5bfea395a0e142398ced24deea1e82f836d7ec2909c")
@@ -1049,7 +1048,7 @@ def test_take_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
1049
1048
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
1050
1049
 
1051
1050
 
1052
- def test_cancel_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
1051
+ def test_cancel_offer(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
1053
1052
  test_rpc_clients, root_dir = get_test_cli_clients
1054
1053
 
1055
1054
  # set RPC Client
@@ -1084,7 +1083,7 @@ def test_cancel_offer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
1084
1083
  self.add_to_log("cancel_offer", (trade_id, tx_config, fee, secure, push, timelock_info))
1085
1084
  return CancelOfferResponse([STD_UTX], [STD_TX])
1086
1085
 
1087
- inst_rpc_client = CancelOfferRpcClient() # pylint: disable=no-value-for-parameter
1086
+ inst_rpc_client = CancelOfferRpcClient()
1088
1087
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
1089
1088
  command_args = [
1090
1089
  "wallet",
@@ -1,7 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Dict, List
4
-
5
3
  import pytest
6
4
 
7
5
  from chia.cmds.check_wallet_db import DerivationPath, Wallet, check_addresses_used_contiguous, check_for_gaps
@@ -68,7 +66,7 @@ def make_dp(
68
66
  return DerivationPath(row, fields)
69
67
 
70
68
 
71
- def used_list_to_dp_list(used_list: List[int], wallet_id: int) -> List[DerivationPath]:
69
+ def used_list_to_dp_list(used_list: list[int], wallet_id: int) -> list[DerivationPath]:
72
70
  dps = []
73
71
 
74
72
  for index, used in enumerate(used_list):
@@ -78,14 +76,14 @@ def used_list_to_dp_list(used_list: List[int], wallet_id: int) -> List[Derivatio
78
76
 
79
77
 
80
78
  def test_check_addresses_used_contiguous() -> None:
81
- ok_used_lists: List[List[int]] = [
79
+ ok_used_lists: list[list[int]] = [
82
80
  [],
83
81
  [1],
84
82
  [0],
85
83
  [1, 0],
86
84
  ]
87
85
 
88
- bad_used_lists: List[List[int]] = [
86
+ bad_used_lists: list[list[int]] = [
89
87
  [0, 1],
90
88
  ]
91
89
 
@@ -103,9 +101,9 @@ def test_check_addresses_used_contiguous() -> None:
103
101
 
104
102
 
105
103
  def test_check_addresses_used_contiguous_multiple_wallets() -> None:
106
- multi_used_lists: List[Dict[int, List[int]]] = [{0: [1, 1], 1: [1, 1]}, {0: [0, 0], 1: [1, 1]}]
104
+ multi_used_lists: list[dict[int, list[int]]] = [{0: [1, 1], 1: [1, 1]}, {0: [0, 0], 1: [1, 1]}]
107
105
  for entry in multi_used_lists:
108
- dp_list: List[DerivationPath] = []
106
+ dp_list: list[DerivationPath] = []
109
107
  for wallet_id, used_list in entry.items():
110
108
  dp_list.extend(used_list_to_dp_list(used_list, wallet_id))
111
109
  assert [] == check_addresses_used_contiguous(dp_list)