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
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from dataclasses import dataclass
4
4
  from pathlib import Path
5
- from typing import Any, Dict, List, Optional, Tuple
5
+ from typing import Any, Optional
6
6
 
7
7
  from chia._tests.cmds.cmd_test_utils import TestFullNodeRpcClient, TestRpcClients, run_cli_command_and_assert
8
8
  from chia._tests.cmds.testing_classes import hash_to_height, height_hash
@@ -16,9 +16,9 @@ from chia.util.ints import uint32, uint64
16
16
 
17
17
  @dataclass
18
18
  class ShowFullNodeRpcClient(TestFullNodeRpcClient):
19
- async def get_fee_estimate(self, target_times: Optional[List[int]], cost: Optional[int]) -> Dict[str, Any]:
19
+ async def get_fee_estimate(self, target_times: Optional[list[int]], cost: Optional[int]) -> dict[str, Any]:
20
20
  self.add_to_log("get_fee_estimate", (target_times, cost))
21
- response: Dict[str, Any] = {
21
+ response: dict[str, Any] = {
22
22
  "current_fee_rate": 0,
23
23
  "estimates": [0, 0, 0],
24
24
  "fee_rate_last_block": 30769.681426718744,
@@ -79,10 +79,10 @@ class ShowFullNodeRpcClient(TestFullNodeRpcClient):
79
79
  return full_block
80
80
 
81
81
 
82
- RPC_CLIENT_TO_USE = ShowFullNodeRpcClient() # pylint: disable=no-value-for-parameter
82
+ RPC_CLIENT_TO_USE = ShowFullNodeRpcClient()
83
83
 
84
84
 
85
- def test_chia_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
85
+ def test_chia_show(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
86
86
  test_rpc_clients, root_dir = get_test_cli_clients
87
87
  # set RPC Client
88
88
  test_rpc_clients.full_node_rpc_client = RPC_CLIENT_TO_USE
@@ -106,7 +106,7 @@ def test_chia_show(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, P
106
106
  "Is a Transaction Block?True",
107
107
  ]
108
108
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
109
- expected_calls: dict[str, Optional[List[tuple[Any, ...]]]] = { # name of rpc: (args)
109
+ expected_calls: dict[str, Optional[list[tuple[Any, ...]]]] = { # name of rpc: (args)
110
110
  "get_blockchain_state": None,
111
111
  "get_block_record": [(height_hash(height),) for height in [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 10]],
112
112
  "get_block_record_by_height": [(10,)],
@@ -1,7 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from collections.abc import Sequence
3
4
  from pathlib import Path
4
- from typing import Optional, Sequence
5
+ from typing import Optional
5
6
 
6
7
  import click
7
8
  from click.testing import CliRunner
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import time
4
4
  from pathlib import Path
5
5
  from secrets import token_bytes
6
- from typing import Any, Dict, List, Optional, Tuple, Union
6
+ from typing import Any, Optional, Union
7
7
 
8
8
  import pytest
9
9
  from typing_extensions import override
@@ -32,7 +32,7 @@ from chia.wallet.util.wallet_types import WalletType
32
32
  # DAO Commands
33
33
 
34
34
 
35
- def test_dao_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
35
+ def test_dao_create(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
36
36
  test_rpc_clients, root_dir = get_test_cli_clients
37
37
 
38
38
  # set RPC Client
@@ -41,7 +41,7 @@ def test_dao_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
41
41
  self,
42
42
  mode: str,
43
43
  tx_config: TXConfig,
44
- dao_rules: Optional[Dict[str, uint64]] = None,
44
+ dao_rules: Optional[dict[str, uint64]] = None,
45
45
  amount_of_cats: Optional[uint64] = None,
46
46
  treasury_id: Optional[bytes32] = None,
47
47
  filter_amount: uint64 = uint64(1),
@@ -66,7 +66,7 @@ def test_dao_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
66
66
  }
67
67
  )
68
68
 
69
- inst_rpc_client = DAOCreateRpcClient() # pylint: disable=no-value-for-parameter
69
+ inst_rpc_client = DAOCreateRpcClient()
70
70
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
71
71
  command_args = [
72
72
  "dao",
@@ -118,17 +118,17 @@ def test_dao_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
118
118
  run_cli_command_and_assert(capsys, root_dir, add_command_args, assert_list)
119
119
 
120
120
 
121
- def test_dao_treasury(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
121
+ def test_dao_treasury(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
122
122
  test_rpc_clients, root_dir = get_test_cli_clients
123
123
 
124
124
  class DAOCreateRpcClient(TestWalletRpcClient):
125
125
  async def dao_get_treasury_id(
126
126
  self,
127
127
  wallet_id: int,
128
- ) -> Dict[str, str]:
128
+ ) -> dict[str, str]:
129
129
  return {"treasury_id": "0xCAFEF00D"}
130
130
 
131
- async def dao_get_treasury_balance(self, wallet_id: int) -> Dict[str, Union[str, bool, Dict[str, int]]]:
131
+ async def dao_get_treasury_balance(self, wallet_id: int) -> dict[str, Union[str, bool, dict[str, int]]]:
132
132
  if wallet_id == 2:
133
133
  return {"success": True, "balances": {"xch": 1000000000000, "0xCAFEF00D": 10000000}}
134
134
  else:
@@ -150,7 +150,7 @@ def test_dao_treasury(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
150
150
  async def dao_get_rules(
151
151
  self,
152
152
  wallet_id: int,
153
- ) -> Dict[str, Dict[str, int]]:
153
+ ) -> dict[str, dict[str, int]]:
154
154
  return {"rules": {"proposal_minimum": 100}}
155
155
 
156
156
  @override
@@ -175,7 +175,7 @@ def test_dao_treasury(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
175
175
  valid_times=parse_timelock_info(tuple()),
176
176
  )
177
177
 
178
- inst_rpc_client = DAOCreateRpcClient() # pylint: disable=no-value-for-parameter
178
+ inst_rpc_client = DAOCreateRpcClient()
179
179
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
180
180
 
181
181
  get_id_args = ["dao", "get_id", FINGERPRINT_ARG, "-i 2"]
@@ -201,7 +201,7 @@ def test_dao_treasury(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
201
201
  run_cli_command_and_assert(capsys, root_dir, rules_args, rules_asserts)
202
202
 
203
203
 
204
- def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
204
+ def test_dao_proposals(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
205
205
  test_rpc_clients, root_dir = get_test_cli_clients
206
206
 
207
207
  # set RPC Client
@@ -210,7 +210,7 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
210
210
  self,
211
211
  wallet_id: int,
212
212
  include_closed: bool = True,
213
- ) -> Dict[str, Union[bool, int, List[Any]]]:
213
+ ) -> dict[str, Union[bool, int, list[Any]]]:
214
214
  proposal = {
215
215
  "proposal_id": "0xCAFEF00D",
216
216
  "amount_voted": uint64(10),
@@ -236,11 +236,11 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
236
236
  self,
237
237
  wallet_id: int,
238
238
  proposal_id: str,
239
- ) -> Dict[str, Union[bool, Dict[str, Any]]]:
239
+ ) -> dict[str, Union[bool, dict[str, Any]]]:
240
240
  if proposal_id == "0xCAFEF00D":
241
241
  puzhash = bytes32(b"1" * 32).hex()
242
242
  asset_id = bytes32(b"2" * 32).hex()
243
- proposal_details: Dict[str, Any] = {
243
+ proposal_details: dict[str, Any] = {
244
244
  "proposal_type": "s",
245
245
  "xch_conditions": [{"puzzle_hash": puzhash, "amount": 100}],
246
246
  "asset_conditions": [
@@ -305,21 +305,21 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
305
305
  wallet_id: int,
306
306
  proposal_type: str,
307
307
  tx_config: TXConfig,
308
- additions: Optional[List[Dict[str, Any]]] = None,
308
+ additions: Optional[list[dict[str, Any]]] = None,
309
309
  amount: Optional[uint64] = None,
310
310
  inner_address: Optional[str] = None,
311
311
  asset_id: Optional[str] = None,
312
312
  cat_target_address: Optional[str] = None,
313
313
  vote_amount: Optional[int] = None,
314
- new_dao_rules: Optional[Dict[str, uint64]] = None,
314
+ new_dao_rules: Optional[dict[str, uint64]] = None,
315
315
  fee: uint64 = uint64(0),
316
316
  reuse_puzhash: Optional[bool] = None,
317
317
  push: bool = True,
318
318
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
319
319
  ) -> DAOCreateProposalResponse:
320
- return DAOCreateProposalResponse([STD_UTX], [STD_TX], bytes32([0] * 32), STD_TX.name, STD_TX)
320
+ return DAOCreateProposalResponse([STD_UTX], [STD_TX], bytes32.zeros, STD_TX.name, STD_TX)
321
321
 
322
- async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> List[Dict[str, Union[str, int]]]:
322
+ async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> list[dict[str, Union[str, int]]]:
323
323
  return [{"id": 1, "type": 0}, {"id": 2, "type": 14}]
324
324
 
325
325
  @override
@@ -345,7 +345,7 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
345
345
  )
346
346
 
347
347
  # List all proposals
348
- inst_rpc_client = DAOCreateRpcClient() # pylint: disable=no-value-for-parameter
348
+ inst_rpc_client = DAOCreateRpcClient()
349
349
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
350
350
  list_args = ["dao", "list_proposals", FINGERPRINT_ARG, "-i 2"]
351
351
  # these are various things that should be in the output
@@ -429,7 +429,7 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
429
429
  "-m 0.1",
430
430
  "--reuse",
431
431
  ]
432
- proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32([0] * 32).hex()}"]
432
+ proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32.zeros.hex()}"]
433
433
  run_cli_command_and_assert(capsys, root_dir, spend_args, proposal_asserts)
434
434
 
435
435
  bad_spend_args = [
@@ -447,7 +447,7 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
447
447
  "-m 0.1",
448
448
  "--reuse",
449
449
  ]
450
- proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32([0] * 32).hex()}"]
450
+ proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32.zeros.hex()}"]
451
451
  with pytest.raises(ValueError) as e_info:
452
452
  run_cli_command_and_assert(capsys, root_dir, bad_spend_args, proposal_asserts)
453
453
  assert e_info.value.args[0] == "Must include a json specification or an address / amount pair."
@@ -487,7 +487,7 @@ def test_dao_proposals(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
487
487
  run_cli_command_and_assert(capsys, root_dir, mint_args, proposal_asserts)
488
488
 
489
489
 
490
- def test_dao_cats(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
490
+ def test_dao_cats(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
491
491
  test_rpc_clients, root_dir = get_test_cli_clients
492
492
 
493
493
  # set RPC Client
@@ -519,7 +519,7 @@ def test_dao_cats(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
519
519
  self,
520
520
  wallet_id: int,
521
521
  tx_config: TXConfig,
522
- coins: Optional[List[Dict[str, Union[str, int]]]] = None,
522
+ coins: Optional[list[dict[str, Union[str, int]]]] = None,
523
523
  fee: uint64 = uint64(0),
524
524
  reuse_puzhash: Optional[bool] = None,
525
525
  push: bool = True,
@@ -549,7 +549,7 @@ def test_dao_cats(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
549
549
  valid_times=parse_timelock_info(tuple()),
550
550
  )
551
551
 
552
- inst_rpc_client = DAOCreateRpcClient() # pylint: disable=no-value-for-parameter
552
+ inst_rpc_client = DAOCreateRpcClient()
553
553
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
554
554
  lockup_args = ["dao", "lockup_coins", FINGERPRINT_ARG, "-i 2", "-a", "1000", "-m 0.1", "--reuse"]
555
555
  lockup_asserts = ["Transaction submitted to nodes"]
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from pathlib import Path
4
- from typing import Dict, List, Optional, Tuple, Union
4
+ from typing import Optional, Union
5
5
 
6
6
  from chia_rs import G2Element
7
7
 
@@ -22,7 +22,7 @@ test_condition_valid_times: ConditionValidTimes = ConditionValidTimes(min_time=u
22
22
  # DID Commands
23
23
 
24
24
 
25
- def test_did_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
25
+ def test_did_create(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
26
26
  test_rpc_clients, root_dir = get_test_cli_clients
27
27
 
28
28
  # set RPC Client
@@ -33,11 +33,11 @@ def test_did_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
33
33
  tx_config: TXConfig,
34
34
  fee: int = 0,
35
35
  name: Optional[str] = "DID Wallet",
36
- backup_ids: Optional[List[str]] = None,
36
+ backup_ids: Optional[list[str]] = None,
37
37
  required_num: int = 0,
38
38
  push: bool = True,
39
39
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
40
- ) -> Dict[str, Union[str, int]]:
40
+ ) -> dict[str, Union[str, int]]:
41
41
  if backup_ids is None:
42
42
  backup_ids = []
43
43
  self.add_to_log(
@@ -45,7 +45,7 @@ def test_did_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
45
45
  )
46
46
  return {"wallet_id": 3, "my_did": "did:chia:testdid123456"}
47
47
 
48
- inst_rpc_client = DidCreateRpcClient() # pylint: disable=no-value-for-parameter
48
+ inst_rpc_client = DidCreateRpcClient()
49
49
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
50
50
  command_args = [
51
51
  "wallet",
@@ -74,11 +74,11 @@ def test_did_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
74
74
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
75
75
 
76
76
 
77
- def test_did_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
77
+ def test_did_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
78
78
  test_rpc_clients, root_dir = get_test_cli_clients
79
79
 
80
80
  # set RPC Client
81
- inst_rpc_client = TestWalletRpcClient() # pylint: disable=no-value-for-parameter
81
+ inst_rpc_client = TestWalletRpcClient()
82
82
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
83
83
  did_id = encode_puzzle_hash(get_bytes32(1), "did:chia:")
84
84
  message = b"hello did world!!"
@@ -90,23 +90,23 @@ def test_did_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
90
90
  f"Signature: {bytes([7] * 576).hex()}",
91
91
  f"Signing Mode: {SigningMode.CHIP_0002.value}",
92
92
  ]
93
- run_cli_command_and_assert(capsys, root_dir, command_args + [f"-i{did_id}"], assert_list)
93
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-i{did_id}"], assert_list)
94
94
  expected_calls: logType = {
95
95
  "sign_message_by_id": [(did_id, message.hex())], # xch std
96
96
  }
97
97
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
98
98
 
99
99
 
100
- def test_did_set_name(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
100
+ def test_did_set_name(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
101
101
  test_rpc_clients, root_dir = get_test_cli_clients
102
102
 
103
103
  # set RPC Client
104
104
  class DidSetNameRpcClient(TestWalletRpcClient):
105
- async def did_set_wallet_name(self, wallet_id: int, name: str) -> Dict[str, Union[str, int]]:
105
+ async def did_set_wallet_name(self, wallet_id: int, name: str) -> dict[str, Union[str, int]]:
106
106
  self.add_to_log("did_set_wallet_name", (wallet_id, name))
107
107
  return {}
108
108
 
109
- inst_rpc_client = DidSetNameRpcClient() # pylint: disable=no-value-for-parameter
109
+ inst_rpc_client = DidSetNameRpcClient()
110
110
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
111
111
  w_id = 3
112
112
  did_name = "testdid"
@@ -120,16 +120,16 @@ def test_did_set_name(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
120
120
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
121
121
 
122
122
 
123
- def test_did_get_did(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
123
+ def test_did_get_did(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
124
124
  test_rpc_clients, root_dir = get_test_cli_clients
125
125
 
126
126
  # set RPC Client
127
127
  class DidGetDidRpcClient(TestWalletRpcClient):
128
- async def get_did_id(self, wallet_id: int) -> Dict[str, str]:
128
+ async def get_did_id(self, wallet_id: int) -> dict[str, str]:
129
129
  self.add_to_log("get_did_id", (wallet_id,))
130
130
  return {"my_did": encode_puzzle_hash(get_bytes32(1), "did:chia:"), "coin_id": get_bytes32(2).hex()}
131
131
 
132
- inst_rpc_client = DidGetDidRpcClient() # pylint: disable=no-value-for-parameter
132
+ inst_rpc_client = DidGetDidRpcClient()
133
133
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
134
134
  w_id = 3
135
135
  expected_did = encode_puzzle_hash(get_bytes32(1), "did:chia:")
@@ -143,12 +143,12 @@ def test_did_get_did(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
143
143
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
144
144
 
145
145
 
146
- def test_did_get_details(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
146
+ def test_did_get_details(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
147
147
  test_rpc_clients, root_dir = get_test_cli_clients
148
148
 
149
149
  # set RPC Client
150
150
  class DidGetDetailsRpcClient(TestWalletRpcClient):
151
- async def get_did_info(self, coin_id: str, latest: bool) -> Dict[str, object]:
151
+ async def get_did_info(self, coin_id: str, latest: bool) -> dict[str, object]:
152
152
  self.add_to_log("get_did_info", (coin_id, latest))
153
153
  response = {
154
154
  "did_id": encode_puzzle_hash(get_bytes32(2), "did:chia:"),
@@ -165,7 +165,7 @@ def test_did_get_details(capsys: object, get_test_cli_clients: Tuple[TestRpcClie
165
165
  }
166
166
  return response
167
167
 
168
- inst_rpc_client = DidGetDetailsRpcClient() # pylint: disable=no-value-for-parameter
168
+ inst_rpc_client = DidGetDetailsRpcClient()
169
169
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
170
170
  did_coin_id_hex = get_bytes32(1).hex()
171
171
  command_args = ["wallet", "did", "get_details", FINGERPRINT_ARG, "--coin_id", did_coin_id_hex]
@@ -191,7 +191,7 @@ def test_did_get_details(capsys: object, get_test_cli_clients: Tuple[TestRpcClie
191
191
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
192
192
 
193
193
 
194
- def test_did_update_metadata(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
194
+ def test_did_update_metadata(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
195
195
  test_rpc_clients, root_dir = get_test_cli_clients
196
196
 
197
197
  # set RPC Client
@@ -199,7 +199,7 @@ def test_did_update_metadata(capsys: object, get_test_cli_clients: Tuple[TestRpc
199
199
  async def update_did_metadata(
200
200
  self,
201
201
  wallet_id: int,
202
- metadata: Dict[str, object],
202
+ metadata: dict[str, object],
203
203
  tx_config: TXConfig,
204
204
  push: bool = True,
205
205
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
@@ -207,7 +207,7 @@ def test_did_update_metadata(capsys: object, get_test_cli_clients: Tuple[TestRpc
207
207
  self.add_to_log("update_did_metadata", (wallet_id, metadata, tx_config, push, timelock_info))
208
208
  return DIDUpdateMetadataResponse([STD_UTX], [STD_TX], WalletSpendBundle([], G2Element()), uint32(wallet_id))
209
209
 
210
- inst_rpc_client = DidUpdateMetadataRpcClient() # pylint: disable=no-value-for-parameter
210
+ inst_rpc_client = DidUpdateMetadataRpcClient()
211
211
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
212
212
  w_id = 3
213
213
  json_mdata = '{"test": true}'
@@ -237,7 +237,7 @@ def test_did_update_metadata(capsys: object, get_test_cli_clients: Tuple[TestRpc
237
237
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
238
238
 
239
239
 
240
- def test_did_find_lost(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
240
+ def test_did_find_lost(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
241
241
  test_rpc_clients, root_dir = get_test_cli_clients
242
242
 
243
243
  # set RPC Client
@@ -246,13 +246,13 @@ def test_did_find_lost(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
246
246
  self,
247
247
  coin_id: str,
248
248
  recovery_list_hash: Optional[str],
249
- metadata: Optional[Dict[str, object]],
249
+ metadata: Optional[dict[str, object]],
250
250
  num_verification: Optional[int],
251
- ) -> Dict[str, Union[bool, str]]:
251
+ ) -> dict[str, Union[bool, str]]:
252
252
  self.add_to_log("find_lost_did", (coin_id, recovery_list_hash, metadata, num_verification))
253
253
  return {"success": True, "latest_coin_id": get_bytes32(2).hex()}
254
254
 
255
- inst_rpc_client = DidFindLostRpcClient() # pylint: disable=no-value-for-parameter
255
+ inst_rpc_client = DidFindLostRpcClient()
256
256
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
257
257
  c_id = get_bytes32(1)
258
258
  json_mdata = '{"test": true}'
@@ -275,7 +275,7 @@ def test_did_find_lost(capsys: object, get_test_cli_clients: Tuple[TestRpcClient
275
275
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
276
276
 
277
277
 
278
- def test_did_message_spend(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
278
+ def test_did_message_spend(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
279
279
  test_rpc_clients, root_dir = get_test_cli_clients
280
280
 
281
281
  # set RPC Client
@@ -284,14 +284,14 @@ def test_did_message_spend(capsys: object, get_test_cli_clients: Tuple[TestRpcCl
284
284
  self,
285
285
  wallet_id: int,
286
286
  tx_config: TXConfig,
287
- extra_conditions: Tuple[Condition, ...],
287
+ extra_conditions: tuple[Condition, ...],
288
288
  push: bool,
289
289
  timelock_info: ConditionValidTimes = ConditionValidTimes(),
290
290
  ) -> DIDMessageSpendResponse:
291
291
  self.add_to_log("did_message_spend", (wallet_id, tx_config, extra_conditions, push, timelock_info))
292
292
  return DIDMessageSpendResponse([STD_UTX], [STD_TX], WalletSpendBundle([], G2Element()))
293
293
 
294
- inst_rpc_client = DidMessageSpendRpcClient() # pylint: disable=no-value-for-parameter
294
+ inst_rpc_client = DidMessageSpendRpcClient()
295
295
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
296
296
  w_id = 3
297
297
  c_announcements = [get_bytes32(1), get_bytes32(2)]
@@ -332,7 +332,7 @@ def test_did_message_spend(capsys: object, get_test_cli_clients: Tuple[TestRpcCl
332
332
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
333
333
 
334
334
 
335
- def test_did_transfer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
335
+ def test_did_transfer(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
336
336
  test_rpc_clients, root_dir = get_test_cli_clients
337
337
 
338
338
  # set RPC Client
@@ -357,7 +357,7 @@ def test_did_transfer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
357
357
  STD_TX.name,
358
358
  )
359
359
 
360
- inst_rpc_client = DidTransferRpcClient() # pylint: disable=no-value-for-parameter
360
+ inst_rpc_client = DidTransferRpcClient()
361
361
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
362
362
  w_id = 3
363
363
  t_address = encode_puzzle_hash(get_bytes32(1), "xch")
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from pathlib import Path
4
- from typing import Any, List, Optional, Tuple
4
+ from typing import Any, Optional
5
5
 
6
6
  from chia_rs import G2Element
7
7
 
@@ -27,7 +27,7 @@ test_condition_valid_times: ConditionValidTimes = ConditionValidTimes(min_time=u
27
27
  # NFT Commands
28
28
 
29
29
 
30
- def test_nft_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
30
+ def test_nft_create(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
31
31
  test_rpc_clients, root_dir = get_test_cli_clients
32
32
 
33
33
  # set RPC Client
@@ -36,7 +36,7 @@ def test_nft_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
36
36
  self.add_to_log("create_new_nft_wallet", (did_id, name))
37
37
  return {"wallet_id": 4}
38
38
 
39
- inst_rpc_client = NFTCreateRpcClient() # pylint: disable=no-value-for-parameter
39
+ inst_rpc_client = NFTCreateRpcClient()
40
40
  did_id = encode_puzzle_hash(get_bytes32(2), "did:chia:")
41
41
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
42
42
  command_args = ["wallet", "nft", "create", FINGERPRINT_ARG, "-ntest", "--did-id", did_id]
@@ -49,12 +49,12 @@ def test_nft_create(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
49
49
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
50
50
 
51
51
 
52
- def test_nft_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
52
+ def test_nft_sign_message(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
53
53
  test_rpc_clients, root_dir = get_test_cli_clients
54
54
 
55
55
  # set RPC Client
56
56
 
57
- inst_rpc_client = TestWalletRpcClient() # pylint: disable=no-value-for-parameter
57
+ inst_rpc_client = TestWalletRpcClient()
58
58
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
59
59
  did_id = encode_puzzle_hash(get_bytes32(1), "nft")
60
60
  message = b"hello nft world!!"
@@ -66,14 +66,14 @@ def test_nft_sign_message(capsys: object, get_test_cli_clients: Tuple[TestRpcCli
66
66
  f"Signature: {bytes([7] * 576).hex()}",
67
67
  f"Signing Mode: {SigningMode.CHIP_0002.value}",
68
68
  ]
69
- run_cli_command_and_assert(capsys, root_dir, command_args + [f"-i{did_id}"], assert_list)
69
+ run_cli_command_and_assert(capsys, root_dir, [*command_args, f"-i{did_id}"], assert_list)
70
70
  expected_calls: logType = {
71
71
  "sign_message_by_id": [(did_id, message.hex())], # xch std
72
72
  }
73
73
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
74
74
 
75
75
 
76
- def test_nft_mint(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
76
+ def test_nft_mint(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
77
77
  test_rpc_clients, root_dir = get_test_cli_clients
78
78
 
79
79
  # set RPC Client
@@ -88,11 +88,11 @@ def test_nft_mint(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
88
88
  royalty_address: Optional[str],
89
89
  target_address: Optional[str],
90
90
  hash: str,
91
- uris: List[str],
91
+ uris: list[str],
92
92
  meta_hash: str = "",
93
- meta_uris: Optional[List[str]] = None,
93
+ meta_uris: Optional[list[str]] = None,
94
94
  license_hash: str = "",
95
- license_uris: Optional[List[str]] = None,
95
+ license_uris: Optional[list[str]] = None,
96
96
  edition_total: uint8 = uint8(1),
97
97
  edition_number: uint8 = uint8(1),
98
98
  fee: uint64 = uint64(0),
@@ -129,10 +129,10 @@ def test_nft_mint(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
129
129
  [STD_TX],
130
130
  uint32(wallet_id),
131
131
  WalletSpendBundle([], G2Element()),
132
- bytes32([0] * 32).hex(),
132
+ bytes32.zeros.hex(),
133
133
  )
134
134
 
135
- inst_rpc_client = NFTCreateRpcClient() # pylint: disable=no-value-for-parameter
135
+ inst_rpc_client = NFTCreateRpcClient()
136
136
  target_addr = encode_puzzle_hash(get_bytes32(2), "xch")
137
137
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
138
138
  command_args = [
@@ -190,7 +190,7 @@ def test_nft_mint(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
190
190
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
191
191
 
192
192
 
193
- def test_nft_add_uri(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
193
+ def test_nft_add_uri(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
194
194
  test_rpc_clients, root_dir = get_test_cli_clients
195
195
 
196
196
  # set RPC Client
@@ -209,7 +209,7 @@ def test_nft_add_uri(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
209
209
  self.add_to_log("add_uri_to_nft", (wallet_id, nft_coin_id, key, uri, fee, tx_config, push, timelock_info))
210
210
  return NFTAddURIResponse([STD_UTX], [STD_TX], uint32(wallet_id), WalletSpendBundle([], G2Element()))
211
211
 
212
- inst_rpc_client = NFTAddUriRpcClient() # pylint: disable=no-value-for-parameter
212
+ inst_rpc_client = NFTAddUriRpcClient()
213
213
  nft_coin_id = get_bytes32(2).hex()
214
214
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
215
215
  command_args = [
@@ -250,7 +250,7 @@ def test_nft_add_uri(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
250
250
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
251
251
 
252
252
 
253
- def test_nft_transfer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
253
+ def test_nft_transfer(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
254
254
  test_rpc_clients, root_dir = get_test_cli_clients
255
255
 
256
256
  # set RPC Client
@@ -275,7 +275,7 @@ def test_nft_transfer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
275
275
  WalletSpendBundle([], G2Element()),
276
276
  )
277
277
 
278
- inst_rpc_client = NFTTransferRpcClient() # pylint: disable=no-value-for-parameter
278
+ inst_rpc_client = NFTTransferRpcClient()
279
279
  nft_coin_id = get_bytes32(2).hex()
280
280
  target_address = encode_puzzle_hash(get_bytes32(2), "xch")
281
281
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -316,7 +316,7 @@ def test_nft_transfer(capsys: object, get_test_cli_clients: Tuple[TestRpcClients
316
316
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
317
317
 
318
318
 
319
- def test_nft_list(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
319
+ def test_nft_list(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
320
320
  test_rpc_clients, root_dir = get_test_cli_clients
321
321
 
322
322
  # set RPC Client
@@ -352,7 +352,7 @@ def test_nft_list(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
352
352
  )
353
353
  return {"nft_list": nft_list}
354
354
 
355
- inst_rpc_client = NFTListRpcClient() # pylint: disable=no-value-for-parameter
355
+ inst_rpc_client = NFTListRpcClient()
356
356
  launcher_ids = [bytes32([i] * 32).hex() for i in range(50, 60)]
357
357
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
358
358
  command_args = [
@@ -370,7 +370,8 @@ def test_nft_list(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
370
370
  assert_list = [
371
371
  "https://example.com/data",
372
372
  "did:chia:1qgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpq4msw0c",
373
- ] + launcher_ids
373
+ *launcher_ids,
374
+ ]
374
375
  run_cli_command_and_assert(capsys, root_dir, command_args, assert_list)
375
376
  expected_calls: logType = {
376
377
  "list_nfts": [(4, 10, 50)],
@@ -378,7 +379,7 @@ def test_nft_list(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Pa
378
379
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
379
380
 
380
381
 
381
- def test_nft_set_did(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
382
+ def test_nft_set_did(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
382
383
  test_rpc_clients, root_dir = get_test_cli_clients
383
384
 
384
385
  # set RPC Client
@@ -401,7 +402,7 @@ def test_nft_set_did(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
401
402
  WalletSpendBundle([], G2Element()),
402
403
  )
403
404
 
404
- inst_rpc_client = NFTSetDidRpcClient() # pylint: disable=no-value-for-parameter
405
+ inst_rpc_client = NFTSetDidRpcClient()
405
406
  nft_coin_id = get_bytes32(2).hex()
406
407
  did_id = encode_puzzle_hash(get_bytes32(3), "did:chia:")
407
408
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
@@ -442,12 +443,12 @@ def test_nft_set_did(capsys: object, get_test_cli_clients: Tuple[TestRpcClients,
442
443
  test_rpc_clients.wallet_rpc_client.check_log(expected_calls)
443
444
 
444
445
 
445
- def test_nft_get_info(capsys: object, get_test_cli_clients: Tuple[TestRpcClients, Path]) -> None:
446
+ def test_nft_get_info(capsys: object, get_test_cli_clients: tuple[TestRpcClients, Path]) -> None:
446
447
  test_rpc_clients, root_dir = get_test_cli_clients
447
448
 
448
449
  # set RPC Client
449
450
 
450
- inst_rpc_client = TestWalletRpcClient() # pylint: disable=no-value-for-parameter
451
+ inst_rpc_client = TestWalletRpcClient()
451
452
  nft_coin_id = get_bytes32(2).hex()
452
453
  test_rpc_clients.wallet_rpc_client = inst_rpc_client
453
454
  command_args = [