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.
- chia/_tests/README.md +1 -1
- chia/_tests/blockchain/blockchain_test_utils.py +24 -26
- chia/_tests/blockchain/test_augmented_chain.py +6 -8
- chia/_tests/blockchain/test_blockchain.py +409 -307
- chia/_tests/blockchain/test_blockchain_transactions.py +56 -75
- chia/_tests/blockchain/test_build_chains.py +11 -13
- chia/_tests/blockchain/test_get_block_generator.py +8 -8
- chia/_tests/blockchain/test_lookup_fork_chain.py +3 -4
- chia/_tests/build-init-files.py +3 -4
- chia/_tests/build-job-matrix.py +9 -9
- chia/_tests/check_sql_statements.py +2 -3
- chia/_tests/clvm/benchmark_costs.py +1 -1
- chia/_tests/clvm/coin_store.py +7 -5
- chia/_tests/clvm/test_chialisp_deserialization.py +8 -8
- chia/_tests/clvm/test_condition_codes.py +2 -2
- chia/_tests/clvm/test_curry_and_treehash.py +2 -4
- chia/_tests/clvm/test_message_conditions.py +184 -0
- chia/_tests/clvm/test_puzzle_compression.py +1 -2
- chia/_tests/clvm/test_puzzle_drivers.py +3 -3
- chia/_tests/clvm/test_puzzles.py +13 -18
- chia/_tests/clvm/test_singletons.py +17 -17
- chia/_tests/clvm/test_spend_sim.py +7 -7
- chia/_tests/cmds/cmd_test_utils.py +42 -45
- chia/_tests/cmds/conftest.py +2 -2
- chia/_tests/cmds/test_click_types.py +21 -16
- chia/_tests/cmds/test_cmd_framework.py +255 -35
- chia/_tests/cmds/test_cmds_util.py +2 -2
- chia/_tests/cmds/test_daemon.py +3 -3
- chia/_tests/cmds/test_dev_gh.py +131 -0
- chia/_tests/cmds/test_farm_cmd.py +1 -2
- chia/_tests/cmds/test_show.py +6 -6
- chia/_tests/cmds/test_tx_config_args.py +2 -1
- chia/_tests/cmds/wallet/test_dao.py +23 -23
- chia/_tests/cmds/wallet/test_did.py +29 -29
- chia/_tests/cmds/wallet/test_nft.py +24 -23
- chia/_tests/cmds/wallet/test_notifications.py +8 -8
- chia/_tests/cmds/wallet/test_tx_decorators.py +3 -3
- chia/_tests/cmds/wallet/test_vcs.py +97 -73
- chia/_tests/cmds/wallet/test_wallet.py +74 -75
- chia/_tests/cmds/wallet/test_wallet_check.py +5 -7
- chia/_tests/conftest.py +153 -38
- chia/_tests/connection_utils.py +7 -6
- chia/_tests/core/cmds/test_beta.py +3 -3
- chia/_tests/core/cmds/test_keys.py +6 -6
- chia/_tests/core/cmds/test_wallet.py +3 -3
- chia/_tests/core/consensus/test_block_creation.py +3 -5
- chia/_tests/core/custom_types/test_coin.py +1 -3
- chia/_tests/core/custom_types/test_spend_bundle.py +3 -4
- chia/_tests/core/daemon/test_daemon.py +58 -58
- chia/_tests/core/daemon/test_keychain_proxy.py +2 -1
- chia/_tests/core/data_layer/conftest.py +4 -3
- chia/_tests/core/data_layer/test_data_cli.py +1 -2
- chia/_tests/core/data_layer/test_data_layer.py +5 -5
- chia/_tests/core/data_layer/test_data_layer_util.py +8 -9
- chia/_tests/core/data_layer/test_data_rpc.py +75 -93
- chia/_tests/core/data_layer/test_data_store.py +38 -37
- chia/_tests/core/data_layer/test_data_store_schema.py +11 -11
- chia/_tests/core/data_layer/util.py +11 -10
- chia/_tests/core/farmer/test_farmer_api.py +6 -4
- chia/_tests/core/full_node/full_sync/test_full_sync.py +5 -10
- chia/_tests/core/full_node/ram_db.py +2 -2
- chia/_tests/core/full_node/stores/test_block_store.py +113 -11
- chia/_tests/core/full_node/stores/test_coin_store.py +37 -28
- chia/_tests/core/full_node/stores/test_full_node_store.py +34 -30
- chia/_tests/core/full_node/stores/test_hint_store.py +3 -4
- chia/_tests/core/full_node/test_address_manager.py +2 -2
- chia/_tests/core/full_node/test_block_height_map.py +1 -1
- chia/_tests/core/full_node/test_conditions.py +10 -12
- chia/_tests/core/full_node/test_full_node.py +2077 -1822
- chia/_tests/core/full_node/test_generator_tools.py +4 -4
- chia/_tests/core/full_node/test_hint_management.py +2 -2
- chia/_tests/core/full_node/test_performance.py +2 -5
- chia/_tests/core/full_node/test_subscriptions.py +4 -4
- chia/_tests/core/full_node/test_tx_processing_queue.py +5 -4
- chia/_tests/core/make_block_generator.py +5 -7
- chia/_tests/core/mempool/test_mempool.py +205 -208
- chia/_tests/core/mempool/test_mempool_fee_protocol.py +5 -5
- chia/_tests/core/mempool/test_mempool_item_queries.py +2 -4
- chia/_tests/core/mempool/test_mempool_manager.py +109 -80
- chia/_tests/core/mempool/test_mempool_performance.py +3 -4
- chia/_tests/core/mempool/test_singleton_fast_forward.py +12 -12
- chia/_tests/core/server/flood.py +6 -4
- chia/_tests/core/server/serve.py +10 -7
- chia/_tests/core/server/test_api_protocol.py +21 -0
- chia/_tests/core/server/test_capabilities.py +3 -5
- chia/_tests/core/server/test_dos.py +15 -16
- chia/_tests/core/server/test_loop.py +14 -10
- chia/_tests/core/server/test_node_discovery.py +1 -2
- chia/_tests/core/server/test_rate_limits.py +156 -44
- chia/_tests/core/server/test_server.py +8 -7
- chia/_tests/core/services/test_services.py +59 -37
- chia/_tests/core/ssl/test_ssl.py +5 -3
- chia/_tests/core/test_cost_calculation.py +5 -6
- chia/_tests/core/test_crawler.py +2 -2
- chia/_tests/core/test_db_conversion.py +5 -4
- chia/_tests/core/test_db_validation.py +6 -5
- chia/_tests/core/test_farmer_harvester_rpc.py +8 -7
- chia/_tests/core/test_filter.py +3 -5
- chia/_tests/core/test_full_node_rpc.py +64 -90
- chia/_tests/core/test_merkle_set.py +10 -10
- chia/_tests/core/test_program.py +2 -4
- chia/_tests/core/test_rpc_util.py +1 -2
- chia/_tests/core/test_seeder.py +124 -12
- chia/_tests/core/util/test_block_cache.py +5 -5
- chia/_tests/core/util/test_cached_bls.py +3 -3
- chia/_tests/core/util/test_config.py +13 -13
- chia/_tests/core/util/test_files.py +2 -2
- chia/_tests/core/util/test_jsonify.py +9 -9
- chia/_tests/core/util/test_keychain.py +13 -5
- chia/_tests/core/util/test_keyring_wrapper.py +6 -5
- chia/_tests/core/util/test_log_exceptions.py +3 -3
- chia/_tests/core/util/test_streamable.py +38 -38
- chia/_tests/db/test_db_wrapper.py +13 -12
- chia/_tests/environments/common.py +2 -2
- chia/_tests/environments/full_node.py +2 -2
- chia/_tests/environments/wallet.py +109 -48
- chia/_tests/farmer_harvester/test_farmer.py +35 -35
- chia/_tests/farmer_harvester/test_farmer_harvester.py +17 -17
- chia/_tests/farmer_harvester/test_filter_prefix_bits.py +6 -5
- chia/_tests/farmer_harvester/test_third_party_harvesters.py +73 -46
- chia/_tests/fee_estimation/test_fee_estimation_integration.py +8 -8
- chia/_tests/fee_estimation/test_fee_estimation_rpc.py +47 -47
- chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +6 -7
- chia/_tests/fee_estimation/test_mempoolitem_height_added.py +11 -11
- chia/_tests/generator/test_compression.py +13 -30
- chia/_tests/generator/test_generator_types.py +3 -3
- chia/_tests/generator/test_rom.py +7 -9
- chia/_tests/plot_sync/test_delta.py +2 -3
- chia/_tests/plot_sync/test_plot_sync.py +25 -24
- chia/_tests/plot_sync/test_receiver.py +9 -9
- chia/_tests/plot_sync/test_sender.py +1 -1
- chia/_tests/plot_sync/test_sync_simulated.py +27 -26
- chia/_tests/plot_sync/util.py +2 -1
- chia/_tests/plotting/test_plot_manager.py +54 -11
- chia/_tests/plotting/util.py +2 -3
- chia/_tests/pools/test_pool_cli_parsing.py +128 -0
- chia/_tests/pools/test_pool_cmdline.py +993 -15
- chia/_tests/pools/test_pool_config.py +3 -5
- chia/_tests/pools/test_pool_puzzles_lifecycle.py +10 -11
- chia/_tests/pools/test_pool_rpc.py +203 -90
- chia/_tests/pools/test_pool_wallet.py +12 -8
- chia/_tests/pools/test_wallet_pool_store.py +3 -3
- chia/_tests/process_junit.py +16 -17
- chia/_tests/rpc/test_rpc_client.py +59 -2
- chia/_tests/rpc/test_rpc_server.py +183 -0
- chia/_tests/simulation/test_simulation.py +5 -5
- chia/_tests/simulation/test_simulator.py +8 -10
- chia/_tests/simulation/test_start_simulator.py +5 -4
- chia/_tests/timelord/test_new_peak.py +19 -19
- chia/_tests/tools/test_run_block.py +1 -2
- chia/_tests/tools/test_virtual_project.py +591 -0
- chia/_tests/util/benchmark_cost.py +9 -9
- chia/_tests/util/benchmarks.py +1 -2
- chia/_tests/util/blockchain.py +12 -11
- chia/_tests/util/blockchain_mock.py +15 -15
- chia/_tests/util/build_network_protocol_files.py +12 -12
- chia/_tests/util/db_connection.py +3 -2
- chia/_tests/util/full_sync.py +14 -6
- chia/_tests/util/gen_ssl_certs.py +4 -5
- chia/_tests/util/generator_tools_testing.py +5 -7
- chia/_tests/util/get_name_puzzle_conditions.py +52 -0
- chia/_tests/util/key_tool.py +2 -3
- chia/_tests/util/misc.py +59 -106
- chia/_tests/util/network_protocol_data.py +7 -9
- chia/_tests/util/protocol_messages_json.py +112 -111
- chia/_tests/util/rpc.py +3 -0
- chia/_tests/util/run_block.py +16 -16
- chia/_tests/util/setup_nodes.py +25 -23
- chia/{clvm → _tests/util}/spend_sim.py +59 -55
- chia/_tests/util/split_managers.py +12 -9
- chia/_tests/util/temp_file.py +1 -1
- chia/_tests/util/test_action_scope.py +2 -1
- chia/_tests/util/test_async_pool.py +8 -8
- chia/_tests/util/test_build_job_matrix.py +2 -3
- chia/_tests/util/test_condition_tools.py +4 -6
- chia/_tests/util/test_config.py +5 -5
- chia/_tests/util/test_dump_keyring.py +1 -1
- chia/_tests/util/test_full_block_utils.py +19 -11
- chia/_tests/util/test_limited_semaphore.py +4 -3
- chia/_tests/util/test_logging_filter.py +2 -3
- chia/_tests/util/test_misc.py +29 -28
- chia/_tests/util/test_network.py +32 -31
- chia/_tests/util/test_network_protocol_files.py +2 -3
- chia/_tests/util/test_network_protocol_json.py +1 -0
- chia/_tests/util/test_network_protocol_test.py +18 -19
- chia/_tests/util/test_paginator.py +3 -4
- chia/_tests/util/test_pprint.py +1 -1
- chia/_tests/util/test_priority_mutex.py +18 -17
- chia/_tests/util/test_recursive_replace.py +2 -2
- chia/_tests/util/test_testnet_overrides.py +3 -3
- chia/_tests/util/test_timing.py +1 -1
- chia/_tests/util/test_trusted_peer.py +2 -2
- chia/_tests/util/time_out_assert.py +43 -6
- chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +13 -13
- chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +1 -1
- chia/_tests/wallet/cat_wallet/test_cat_wallet.py +117 -29
- chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +15 -15
- chia/_tests/wallet/cat_wallet/test_trades.py +50 -28
- chia/_tests/wallet/clawback/test_clawback_decorator.py +3 -5
- chia/_tests/wallet/clawback/test_clawback_lifecycle.py +6 -6
- chia/_tests/wallet/clawback/test_clawback_metadata.py +1 -2
- chia/_tests/wallet/conftest.py +135 -74
- chia/_tests/wallet/dao_wallet/test_dao_clvm.py +25 -17
- chia/_tests/wallet/dao_wallet/test_dao_wallets.py +75 -75
- chia/_tests/wallet/db_wallet/test_db_graftroot.py +10 -12
- chia/_tests/wallet/db_wallet/test_dl_offers.py +6 -6
- chia/_tests/wallet/db_wallet/test_dl_wallet.py +18 -18
- chia/_tests/wallet/did_wallet/test_did.py +1277 -474
- chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +12 -11
- chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +115 -105
- chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +6 -7
- chia/_tests/wallet/nft_wallet/test_nft_offers.py +16 -16
- chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +3 -3
- chia/_tests/wallet/nft_wallet/test_nft_wallet.py +38 -12
- chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +1 -1
- chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +31 -33
- chia/_tests/wallet/rpc/test_wallet_rpc.py +218 -171
- chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +36 -37
- chia/_tests/wallet/sync/test_wallet_sync.py +241 -78
- chia/_tests/wallet/test_address_type.py +20 -20
- chia/_tests/wallet/test_clvm_streamable.py +5 -5
- chia/_tests/wallet/test_coin_management.py +354 -0
- chia/_tests/wallet/test_coin_selection.py +34 -35
- chia/_tests/wallet/test_conditions.py +28 -16
- chia/_tests/wallet/test_debug_spend_bundle.py +156 -14
- chia/_tests/wallet/test_new_wallet_protocol.py +29 -31
- chia/_tests/wallet/test_nft_store.py +1 -2
- chia/_tests/wallet/test_notifications.py +2 -2
- chia/_tests/wallet/test_offer_parsing_performance.py +1 -1
- chia/_tests/wallet/test_puzzle_store.py +2 -3
- chia/_tests/wallet/test_sign_coin_spends.py +3 -3
- chia/_tests/wallet/test_signer_protocol.py +33 -34
- chia/_tests/wallet/test_singleton_lifecycle_fast.py +29 -29
- chia/_tests/wallet/test_taproot.py +1 -1
- chia/_tests/wallet/test_transaction_store.py +23 -19
- chia/_tests/wallet/test_util.py +36 -32
- chia/_tests/wallet/test_wallet.py +37 -37
- chia/_tests/wallet/test_wallet_action_scope.py +8 -8
- chia/_tests/wallet/test_wallet_blockchain.py +4 -6
- chia/_tests/wallet/test_wallet_coin_store.py +34 -34
- chia/_tests/wallet/test_wallet_node.py +69 -72
- chia/_tests/wallet/test_wallet_retry.py +3 -3
- chia/_tests/wallet/test_wallet_state_manager.py +12 -5
- chia/_tests/wallet/test_wallet_trade_store.py +2 -2
- chia/_tests/wallet/test_wallet_utils.py +5 -4
- chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +3 -3
- chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +18 -18
- chia/_tests/wallet/vc_wallet/test_vc_wallet.py +69 -40
- chia/_tests/wallet/wallet_block_tools.py +27 -27
- chia/_tests/weight_proof/test_weight_proof.py +30 -30
- chia/apis.py +19 -0
- chia/cmds/beta.py +8 -7
- chia/cmds/beta_funcs.py +15 -11
- chia/cmds/check_wallet_db.py +29 -27
- chia/cmds/chia.py +17 -9
- chia/cmds/cmd_classes.py +87 -79
- chia/cmds/cmd_helpers.py +242 -0
- chia/cmds/cmds_util.py +56 -66
- chia/cmds/coin_funcs.py +168 -153
- chia/cmds/coins.py +156 -194
- chia/cmds/configure.py +4 -3
- chia/cmds/dao.py +89 -33
- chia/cmds/dao_funcs.py +55 -33
- chia/cmds/data.py +7 -6
- chia/cmds/data_funcs.py +26 -21
- chia/cmds/db.py +4 -3
- chia/cmds/db_backup_func.py +2 -2
- chia/cmds/db_upgrade_func.py +3 -3
- chia/cmds/db_validate_func.py +2 -2
- chia/cmds/dev.py +2 -0
- chia/cmds/farm.py +18 -5
- chia/cmds/farm_funcs.py +17 -24
- chia/cmds/gh.py +275 -0
- chia/cmds/init.py +4 -11
- chia/cmds/init_funcs.py +9 -9
- chia/cmds/installers.py +5 -3
- chia/cmds/keys.py +56 -39
- chia/cmds/keys_funcs.py +30 -31
- chia/cmds/netspace.py +6 -3
- chia/cmds/netspace_funcs.py +3 -2
- chia/cmds/param_types.py +16 -6
- chia/cmds/passphrase.py +8 -7
- chia/cmds/passphrase_funcs.py +7 -61
- chia/cmds/peer.py +2 -1
- chia/cmds/peer_funcs.py +5 -5
- chia/cmds/plotnft.py +207 -153
- chia/cmds/plotnft_funcs.py +205 -174
- chia/cmds/plots.py +14 -6
- chia/cmds/plotters.py +2 -1
- chia/cmds/rpc.py +48 -28
- chia/cmds/show.py +2 -1
- chia/cmds/show_funcs.py +7 -6
- chia/cmds/signer.py +50 -58
- chia/cmds/sim.py +22 -14
- chia/cmds/sim_funcs.py +11 -11
- chia/cmds/start.py +3 -3
- chia/cmds/start_funcs.py +9 -12
- chia/cmds/stop.py +4 -3
- chia/cmds/units.py +1 -3
- chia/cmds/wallet.py +252 -96
- chia/cmds/wallet_funcs.py +217 -143
- chia/consensus/block_body_validation.py +133 -86
- chia/consensus/block_creation.py +42 -21
- chia/consensus/block_header_validation.py +32 -37
- chia/consensus/block_record.py +1 -2
- chia/consensus/blockchain.py +167 -180
- chia/consensus/blockchain_interface.py +10 -10
- chia/consensus/constants.py +2 -2
- chia/consensus/default_constants.py +3 -4
- chia/consensus/difficulty_adjustment.py +5 -5
- chia/consensus/find_fork_point.py +5 -5
- chia/consensus/full_block_to_block_record.py +4 -4
- chia/consensus/get_block_challenge.py +2 -2
- chia/consensus/get_block_generator.py +4 -3
- chia/consensus/multiprocess_validation.py +207 -304
- chia/consensus/vdf_info_computation.py +3 -3
- chia/daemon/client.py +46 -27
- chia/daemon/keychain_proxy.py +10 -9
- chia/daemon/keychain_server.py +18 -18
- chia/daemon/server.py +103 -113
- chia/daemon/windows_signal.py +2 -2
- chia/data_layer/data_layer.py +64 -76
- chia/data_layer/data_layer_api.py +8 -0
- chia/data_layer/data_layer_errors.py +3 -3
- chia/data_layer/data_layer_server.py +2 -2
- chia/data_layer/data_layer_util.py +71 -71
- chia/data_layer/data_layer_wallet.py +63 -67
- chia/data_layer/data_store.py +72 -72
- chia/data_layer/dl_wallet_store.py +10 -10
- chia/data_layer/download_data.py +5 -5
- chia/data_layer/s3_plugin_service.py +9 -9
- chia/data_layer/util/benchmark.py +0 -1
- chia/data_layer/util/plugin.py +2 -3
- chia/farmer/farmer.py +46 -43
- chia/farmer/farmer_api.py +27 -21
- chia/full_node/block_height_map.py +6 -6
- chia/full_node/block_store.py +41 -35
- chia/full_node/coin_store.py +42 -41
- chia/full_node/fee_estimate.py +2 -2
- chia/full_node/fee_estimation.py +1 -2
- chia/full_node/fee_history.py +5 -6
- chia/full_node/fee_tracker.py +24 -24
- chia/full_node/full_node.py +574 -300
- chia/full_node/full_node_api.py +181 -130
- chia/full_node/full_node_store.py +43 -43
- chia/full_node/hint_management.py +4 -4
- chia/full_node/hint_store.py +9 -10
- chia/full_node/mempool.py +25 -19
- chia/full_node/mempool_check_conditions.py +11 -42
- chia/full_node/mempool_manager.py +48 -53
- chia/full_node/pending_tx_cache.py +9 -9
- chia/full_node/subscriptions.py +23 -24
- chia/full_node/sync_store.py +8 -7
- chia/full_node/tx_processing_queue.py +3 -3
- chia/full_node/util/__init__.py +0 -0
- chia/full_node/weight_proof.py +79 -78
- chia/harvester/harvester.py +9 -8
- chia/harvester/harvester_api.py +19 -13
- chia/introducer/introducer.py +7 -5
- chia/introducer/introducer_api.py +9 -3
- chia/legacy/keyring.py +6 -5
- chia/plot_sync/delta.py +8 -8
- chia/plot_sync/receiver.py +12 -11
- chia/plot_sync/sender.py +15 -12
- chia/plotters/bladebit.py +12 -12
- chia/plotters/chiapos.py +2 -2
- chia/plotters/madmax.py +8 -8
- chia/plotters/plotters.py +6 -6
- chia/plotters/plotters_util.py +6 -4
- chia/plotting/cache.py +8 -7
- chia/plotting/check_plots.py +8 -8
- chia/plotting/create_plots.py +6 -6
- chia/plotting/manager.py +22 -22
- chia/plotting/util.py +31 -19
- chia/pools/pool_config.py +7 -7
- chia/pools/pool_puzzles.py +16 -16
- chia/pools/pool_wallet.py +64 -57
- chia/pools/pool_wallet_info.py +3 -3
- chia/protocols/full_node_protocol.py +3 -3
- chia/protocols/harvester_protocol.py +12 -12
- chia/protocols/introducer_protocol.py +1 -2
- chia/protocols/protocol_message_types.py +4 -4
- chia/protocols/protocol_state_machine.py +2 -2
- chia/protocols/protocol_timing.py +1 -0
- chia/protocols/shared_protocol.py +3 -3
- chia/protocols/timelord_protocol.py +2 -2
- chia/protocols/wallet_protocol.py +33 -33
- chia/rpc/crawler_rpc_api.py +12 -7
- chia/rpc/data_layer_rpc_api.py +49 -44
- chia/rpc/data_layer_rpc_client.py +41 -41
- chia/rpc/data_layer_rpc_util.py +7 -11
- chia/rpc/farmer_rpc_api.py +32 -27
- chia/rpc/farmer_rpc_client.py +14 -14
- chia/rpc/full_node_rpc_api.py +53 -48
- chia/rpc/full_node_rpc_client.py +30 -30
- chia/rpc/harvester_rpc_api.py +16 -11
- chia/rpc/harvester_rpc_client.py +6 -6
- chia/rpc/rpc_client.py +34 -14
- chia/rpc/rpc_server.py +117 -43
- chia/rpc/timelord_rpc_api.py +9 -4
- chia/rpc/util.py +11 -211
- chia/rpc/wallet_request_types.py +276 -60
- chia/rpc/wallet_rpc_api.py +563 -399
- chia/rpc/wallet_rpc_client.py +220 -250
- chia/seeder/crawl_store.py +6 -8
- chia/seeder/crawler.py +23 -36
- chia/seeder/crawler_api.py +28 -22
- chia/seeder/dns_server.py +99 -50
- chia/seeder/start_crawler.py +13 -9
- chia/server/address_manager.py +19 -19
- chia/server/address_manager_store.py +17 -17
- chia/server/api_protocol.py +106 -1
- chia/server/capabilities.py +3 -3
- chia/server/chia_policy.py +17 -16
- chia/server/introducer_peers.py +3 -3
- chia/server/node_discovery.py +34 -38
- chia/server/rate_limit_numbers.py +26 -16
- chia/server/rate_limits.py +67 -27
- chia/server/server.py +52 -31
- chia/server/signal_handlers.py +6 -3
- chia/server/ssl_context.py +5 -5
- chia/server/start_data_layer.py +37 -23
- chia/server/start_farmer.py +28 -16
- chia/server/start_full_node.py +29 -23
- chia/server/start_harvester.py +28 -15
- chia/server/start_introducer.py +27 -15
- chia/server/start_service.py +17 -29
- chia/server/start_timelord.py +25 -18
- chia/server/start_wallet.py +22 -18
- chia/server/upnp.py +4 -3
- chia/server/ws_connection.py +68 -54
- chia/simulator/add_blocks_in_batches.py +54 -0
- chia/simulator/block_tools.py +65 -64
- chia/simulator/full_node_simulator.py +66 -74
- chia/simulator/setup_services.py +10 -9
- chia/simulator/simulator_full_node_rpc_api.py +12 -14
- chia/simulator/simulator_full_node_rpc_client.py +3 -5
- chia/simulator/simulator_test_tools.py +8 -7
- chia/simulator/socket.py +1 -4
- chia/simulator/ssl_certs.py +5 -5
- chia/simulator/ssl_certs_1.py +2 -4
- chia/simulator/ssl_certs_10.py +2 -4
- chia/simulator/ssl_certs_2.py +2 -4
- chia/simulator/ssl_certs_3.py +2 -4
- chia/simulator/ssl_certs_4.py +2 -4
- chia/simulator/ssl_certs_5.py +2 -4
- chia/simulator/ssl_certs_6.py +2 -4
- chia/simulator/ssl_certs_7.py +2 -4
- chia/simulator/ssl_certs_8.py +2 -4
- chia/simulator/ssl_certs_9.py +2 -4
- chia/simulator/start_simulator.py +14 -6
- chia/simulator/wallet_tools.py +21 -20
- chia/ssl/create_ssl.py +11 -11
- chia/timelord/iters_from_block.py +2 -2
- chia/timelord/timelord.py +57 -33
- chia/timelord/timelord_api.py +12 -6
- chia/timelord/timelord_launcher.py +10 -8
- chia/timelord/timelord_state.py +5 -5
- chia/types/block_protocol.py +2 -2
- chia/types/blockchain_format/coin.py +3 -3
- chia/types/blockchain_format/program.py +17 -18
- chia/types/blockchain_format/tree_hash.py +9 -9
- chia/types/coin_spend.py +8 -8
- chia/types/condition_with_args.py +1 -2
- chia/types/eligible_coin_spends.py +16 -15
- chia/types/generator_types.py +1 -2
- chia/types/internal_mempool_item.py +1 -2
- chia/types/mempool_item.py +7 -7
- chia/types/mempool_submission_status.py +2 -2
- chia/types/peer_info.py +1 -1
- chia/types/spend_bundle.py +1 -2
- chia/types/transaction_queue_entry.py +2 -2
- chia/types/unfinished_header_block.py +2 -2
- chia/types/validation_state.py +14 -0
- chia/types/weight_proof.py +5 -6
- chia/util/action_scope.py +8 -8
- chia/util/async_pool.py +6 -4
- chia/util/augmented_chain.py +13 -9
- chia/util/batches.py +5 -2
- chia/util/bech32m.py +14 -11
- chia/util/beta_metrics.py +5 -4
- chia/util/block_cache.py +5 -5
- chia/util/byte_types.py +2 -0
- chia/util/check_fork_next_block.py +3 -2
- chia/util/chia_logging.py +41 -21
- chia/util/collection.py +3 -3
- chia/util/condition_tools.py +18 -18
- chia/util/config.py +26 -25
- chia/util/cpu.py +2 -0
- chia/util/db_synchronous.py +2 -0
- chia/util/db_version.py +2 -0
- chia/util/db_wrapper.py +13 -10
- chia/util/default_root.py +17 -0
- chia/util/dump_keyring.py +6 -6
- chia/util/errors.py +5 -3
- chia/util/file_keyring.py +22 -33
- chia/util/files.py +2 -0
- chia/util/full_block_utils.py +31 -7
- chia/util/generator_tools.py +18 -8
- chia/util/hash.py +3 -1
- chia/util/initial-config.yaml +19 -0
- chia/util/inline_executor.py +2 -0
- chia/util/ip_address.py +39 -0
- chia/util/json_util.py +0 -4
- chia/util/keychain.py +27 -24
- chia/util/keyring_wrapper.py +65 -4
- chia/util/limited_semaphore.py +3 -1
- chia/util/lock.py +4 -2
- chia/util/log_exceptions.py +5 -2
- chia/util/logging.py +3 -1
- chia/util/lru_cache.py +2 -0
- chia/util/math.py +4 -4
- chia/util/network.py +15 -73
- chia/util/paginator.py +3 -1
- chia/util/path.py +2 -0
- chia/util/permissions.py +3 -2
- chia/util/prev_transaction_block.py +1 -3
- chia/util/priority_mutex.py +6 -3
- chia/util/profiler.py +7 -4
- chia/util/recursive_replace.py +2 -0
- chia/util/safe_cancel_task.py +2 -0
- chia/util/service_groups.py +2 -2
- chia/util/setproctitle.py +2 -0
- chia/util/significant_bits.py +2 -0
- chia/util/ssl_check.py +11 -11
- chia/util/streamable.py +44 -56
- chia/util/task_referencer.py +59 -0
- chia/util/task_timing.py +22 -18
- chia/util/timing.py +4 -1
- chia/util/vdf_prover.py +2 -3
- chia/util/virtual_project_analysis.py +540 -0
- chia/util/ws_message.py +6 -6
- chia/wallet/cat_wallet/cat_info.py +3 -3
- chia/wallet/cat_wallet/cat_outer_puzzle.py +3 -3
- chia/wallet/cat_wallet/cat_utils.py +5 -4
- chia/wallet/cat_wallet/cat_wallet.py +56 -70
- chia/wallet/cat_wallet/dao_cat_info.py +3 -3
- chia/wallet/cat_wallet/dao_cat_wallet.py +18 -18
- chia/wallet/cat_wallet/lineage_store.py +2 -2
- chia/wallet/coin_selection.py +15 -15
- chia/wallet/conditions.py +257 -71
- chia/wallet/dao_wallet/dao_info.py +4 -4
- chia/wallet/dao_wallet/dao_utils.py +43 -42
- chia/wallet/dao_wallet/dao_wallet.py +66 -68
- chia/wallet/db_wallet/db_wallet_puzzles.py +12 -8
- chia/wallet/derive_keys.py +11 -11
- chia/wallet/did_wallet/did_info.py +3 -3
- chia/wallet/did_wallet/did_wallet.py +56 -47
- chia/wallet/did_wallet/did_wallet_puzzles.py +7 -6
- chia/wallet/lineage_proof.py +4 -4
- chia/wallet/nft_wallet/metadata_outer_puzzle.py +2 -2
- chia/wallet/nft_wallet/nft_info.py +4 -4
- chia/wallet/nft_wallet/nft_puzzles.py +16 -16
- chia/wallet/nft_wallet/nft_wallet.py +90 -89
- chia/wallet/nft_wallet/ownership_outer_puzzle.py +2 -2
- chia/wallet/nft_wallet/singleton_outer_puzzle.py +2 -2
- chia/wallet/nft_wallet/transfer_program_puzzle.py +2 -2
- chia/wallet/nft_wallet/uncurry_nft.py +2 -2
- chia/wallet/notification_manager.py +5 -5
- chia/wallet/notification_store.py +6 -6
- chia/wallet/outer_puzzles.py +2 -2
- chia/wallet/payment.py +4 -5
- chia/wallet/puzzle_drivers.py +4 -4
- chia/wallet/puzzles/clawback/drivers.py +5 -5
- chia/wallet/puzzles/clawback/puzzle_decorator.py +7 -7
- chia/wallet/puzzles/load_clvm.py +2 -3
- chia/wallet/puzzles/p2_conditions.py +1 -2
- chia/wallet/puzzles/p2_delegated_conditions.py +1 -2
- chia/wallet/puzzles/p2_delegated_puzzle.py +2 -3
- chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +3 -4
- chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +1 -2
- chia/wallet/puzzles/p2_puzzle_hash.py +1 -2
- chia/wallet/puzzles/puzzle_utils.py +7 -7
- chia/wallet/puzzles/singleton_top_layer.py +6 -5
- chia/wallet/puzzles/singleton_top_layer_v1_1.py +6 -5
- chia/wallet/puzzles/tails.py +34 -30
- chia/wallet/signer_protocol.py +7 -8
- chia/wallet/singleton.py +4 -4
- chia/wallet/trade_manager.py +155 -141
- chia/wallet/trade_record.py +5 -5
- chia/wallet/trading/offer.py +100 -101
- chia/wallet/trading/trade_store.py +14 -14
- chia/wallet/transaction_record.py +31 -16
- chia/wallet/util/address_type.py +4 -4
- chia/wallet/util/blind_signer_tl.py +8 -12
- chia/wallet/util/clvm_streamable.py +15 -15
- chia/wallet/util/compute_hints.py +5 -5
- chia/wallet/util/compute_memos.py +4 -6
- chia/wallet/util/curry_and_treehash.py +3 -2
- chia/wallet/util/debug_spend_bundle.py +6 -8
- chia/wallet/util/merkle_tree.py +10 -10
- chia/wallet/util/merkle_utils.py +10 -10
- chia/wallet/util/new_peak_queue.py +3 -3
- chia/wallet/util/peer_request_cache.py +8 -8
- chia/{util → wallet/util}/pprint.py +2 -3
- chia/wallet/util/puzzle_compression.py +3 -4
- chia/wallet/util/puzzle_decorator.py +10 -10
- chia/wallet/util/query_filter.py +9 -10
- chia/wallet/util/tx_config.py +12 -12
- chia/wallet/util/wallet_sync_utils.py +24 -21
- chia/wallet/util/wallet_types.py +9 -2
- chia/wallet/vc_wallet/cr_cat_drivers.py +28 -27
- chia/wallet/vc_wallet/cr_cat_wallet.py +42 -40
- chia/wallet/vc_wallet/cr_outer_puzzle.py +4 -4
- chia/wallet/vc_wallet/vc_drivers.py +16 -16
- chia/wallet/vc_wallet/vc_store.py +9 -9
- chia/wallet/vc_wallet/vc_wallet.py +35 -35
- chia/wallet/wallet.py +54 -54
- chia/wallet/wallet_action_scope.py +14 -13
- chia/wallet/wallet_blockchain.py +10 -10
- chia/wallet/wallet_coin_record.py +2 -2
- chia/wallet/wallet_coin_store.py +10 -10
- chia/wallet/wallet_info.py +1 -2
- chia/wallet/wallet_interested_store.py +5 -5
- chia/wallet/wallet_nft_store.py +6 -6
- chia/wallet/wallet_node.py +72 -76
- chia/wallet/wallet_node_api.py +33 -27
- chia/wallet/wallet_pool_store.py +1 -2
- chia/wallet/wallet_protocol.py +15 -15
- chia/wallet/wallet_puzzle_store.py +35 -4
- chia/wallet/wallet_retry_store.py +2 -2
- chia/wallet/wallet_singleton_store.py +10 -9
- chia/wallet/wallet_spend_bundle.py +4 -20
- chia/wallet/wallet_state_manager.py +223 -224
- chia/wallet/wallet_transaction_store.py +44 -18
- chia/wallet/wallet_user_store.py +2 -2
- chia/wallet/wallet_weight_proof_handler.py +2 -2
- {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/LICENSE +1 -1
- {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/METADATA +67 -72
- chia_blockchain-2.5.1.dist-info/RECORD +1042 -0
- {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/WHEEL +1 -1
- mozilla-ca/cacert.pem +32 -87
- chia/_tests/cmds/wallet/test_coins.py +0 -195
- chia/consensus/block_root_validation.py +0 -46
- chia/util/api_decorators.py +0 -89
- chia_blockchain-2.5.0rc1.dist-info/RECORD +0 -1028
- {chia_blockchain-2.5.0rc1.dist-info → chia_blockchain-2.5.1.dist-info}/entry_points.txt +0 -0
chia/cmds/wallet.py
CHANGED
|
@@ -2,12 +2,14 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import pathlib
|
|
5
|
-
from
|
|
5
|
+
from collections.abc import Sequence
|
|
6
|
+
from typing import Optional
|
|
6
7
|
|
|
7
8
|
import click
|
|
8
9
|
|
|
9
10
|
from chia.cmds import options
|
|
10
11
|
from chia.cmds.check_wallet_db import help_text as check_help_text
|
|
12
|
+
from chia.cmds.cmd_classes import ChiaCliContext, get_chia_command_metadata
|
|
11
13
|
from chia.cmds.cmds_util import timelock_args, tx_out_cmd
|
|
12
14
|
from chia.cmds.coins import coins_cmd
|
|
13
15
|
from chia.cmds.param_types import (
|
|
@@ -18,6 +20,7 @@ from chia.cmds.param_types import (
|
|
|
18
20
|
CliAmount,
|
|
19
21
|
cli_amount_none,
|
|
20
22
|
)
|
|
23
|
+
from chia.cmds.signer import PushTransactionsCMD, signer_cmd
|
|
21
24
|
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
22
25
|
from chia.util.ints import uint32, uint64
|
|
23
26
|
from chia.wallet.conditions import ConditionValidTimes
|
|
@@ -33,6 +36,10 @@ def wallet_cmd(ctx: click.Context) -> None:
|
|
|
33
36
|
pass
|
|
34
37
|
|
|
35
38
|
|
|
39
|
+
wallet_cmd.add_command(signer_cmd)
|
|
40
|
+
wallet_cmd.add_command(get_chia_command_metadata(PushTransactionsCMD).command)
|
|
41
|
+
|
|
42
|
+
|
|
36
43
|
@wallet_cmd.command("get_transaction", help="Get a transaction")
|
|
37
44
|
@click.option(
|
|
38
45
|
"-wp",
|
|
@@ -46,10 +53,21 @@ def wallet_cmd(ctx: click.Context) -> None:
|
|
|
46
53
|
@click.option("-i", "--id", help="Id of the wallet to use", type=int, default=1, show_default=True, required=True)
|
|
47
54
|
@click.option("-tx", "--tx_id", help="transaction id to search for", type=str, required=True)
|
|
48
55
|
@click.option("--verbose", "-v", count=True, type=int)
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
@click.pass_context
|
|
57
|
+
def get_transaction_cmd(
|
|
58
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, id: int, tx_id: str, verbose: int
|
|
59
|
+
) -> None:
|
|
60
|
+
from chia.cmds.wallet_funcs import get_transaction
|
|
51
61
|
|
|
52
|
-
asyncio.run(
|
|
62
|
+
asyncio.run(
|
|
63
|
+
get_transaction(
|
|
64
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
65
|
+
wallet_rpc_port=wallet_rpc_port,
|
|
66
|
+
fingerprint=fingerprint,
|
|
67
|
+
tx_id=tx_id,
|
|
68
|
+
verbose=verbose,
|
|
69
|
+
)
|
|
70
|
+
)
|
|
53
71
|
|
|
54
72
|
|
|
55
73
|
@wallet_cmd.command("get_transactions", help="Get all transactions")
|
|
@@ -113,7 +131,9 @@ def get_transaction_cmd(wallet_rpc_port: Optional[int], fingerprint: int, id: in
|
|
|
113
131
|
default=False,
|
|
114
132
|
help="Only show clawback transactions",
|
|
115
133
|
)
|
|
134
|
+
@click.pass_context
|
|
116
135
|
def get_transactions_cmd(
|
|
136
|
+
ctx: click.Context,
|
|
117
137
|
wallet_rpc_port: Optional[int],
|
|
118
138
|
fingerprint: int,
|
|
119
139
|
id: int,
|
|
@@ -125,10 +145,11 @@ def get_transactions_cmd(
|
|
|
125
145
|
reverse: bool,
|
|
126
146
|
clawback: bool,
|
|
127
147
|
) -> None: # pragma: no cover
|
|
128
|
-
from .wallet_funcs import get_transactions
|
|
148
|
+
from chia.cmds.wallet_funcs import get_transactions
|
|
129
149
|
|
|
130
150
|
asyncio.run(
|
|
131
151
|
get_transactions(
|
|
152
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
132
153
|
wallet_rpc_port=wallet_rpc_port,
|
|
133
154
|
fp=fingerprint,
|
|
134
155
|
wallet_id=id,
|
|
@@ -200,7 +221,9 @@ def get_transactions_cmd(
|
|
|
200
221
|
default=0,
|
|
201
222
|
)
|
|
202
223
|
@tx_out_cmd()
|
|
224
|
+
@click.pass_context
|
|
203
225
|
def send_cmd(
|
|
226
|
+
ctx: click.Context,
|
|
204
227
|
wallet_rpc_port: Optional[int],
|
|
205
228
|
fingerprint: int,
|
|
206
229
|
id: int,
|
|
@@ -216,11 +239,12 @@ def send_cmd(
|
|
|
216
239
|
clawback_time: int,
|
|
217
240
|
push: bool,
|
|
218
241
|
condition_valid_times: ConditionValidTimes,
|
|
219
|
-
) ->
|
|
220
|
-
from .wallet_funcs import send
|
|
242
|
+
) -> list[TransactionRecord]:
|
|
243
|
+
from chia.cmds.wallet_funcs import send
|
|
221
244
|
|
|
222
245
|
return asyncio.run(
|
|
223
246
|
send(
|
|
247
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
224
248
|
wallet_rpc_port=wallet_rpc_port,
|
|
225
249
|
fp=fingerprint,
|
|
226
250
|
wallet_id=id,
|
|
@@ -256,10 +280,18 @@ def send_cmd(
|
|
|
256
280
|
type=click.Choice([x.name.lower() for x in WalletType]),
|
|
257
281
|
default=None,
|
|
258
282
|
)
|
|
259
|
-
|
|
260
|
-
|
|
283
|
+
@click.pass_context
|
|
284
|
+
def show_cmd(ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, wallet_type: Optional[str]) -> None:
|
|
285
|
+
from chia.cmds.wallet_funcs import print_balances
|
|
261
286
|
|
|
262
|
-
asyncio.run(
|
|
287
|
+
asyncio.run(
|
|
288
|
+
print_balances(
|
|
289
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
290
|
+
wallet_rpc_port,
|
|
291
|
+
fingerprint,
|
|
292
|
+
WalletType[wallet_type.upper()] if wallet_type else None,
|
|
293
|
+
)
|
|
294
|
+
)
|
|
263
295
|
|
|
264
296
|
|
|
265
297
|
@wallet_cmd.command("get_address", help="Get a wallet receive address")
|
|
@@ -282,10 +314,13 @@ def show_cmd(wallet_rpc_port: Optional[int], fingerprint: int, wallet_type: Opti
|
|
|
282
314
|
is_flag=True,
|
|
283
315
|
default=False,
|
|
284
316
|
)
|
|
285
|
-
|
|
286
|
-
|
|
317
|
+
@click.pass_context
|
|
318
|
+
def get_address_cmd(
|
|
319
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], id: int, fingerprint: int, new_address: bool
|
|
320
|
+
) -> None:
|
|
321
|
+
from chia.cmds.wallet_funcs import get_address
|
|
287
322
|
|
|
288
|
-
asyncio.run(get_address(wallet_rpc_port, fingerprint, id, new_address))
|
|
323
|
+
asyncio.run(get_address(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id, new_address))
|
|
289
324
|
|
|
290
325
|
|
|
291
326
|
@wallet_cmd.command(
|
|
@@ -319,7 +354,9 @@ def get_address_cmd(wallet_rpc_port: Optional[int], id: int, fingerprint: int, n
|
|
|
319
354
|
default=False,
|
|
320
355
|
)
|
|
321
356
|
@tx_out_cmd()
|
|
357
|
+
@click.pass_context
|
|
322
358
|
def clawback(
|
|
359
|
+
ctx: click.Context,
|
|
323
360
|
wallet_rpc_port: Optional[int],
|
|
324
361
|
id: int,
|
|
325
362
|
fingerprint: int,
|
|
@@ -328,11 +365,12 @@ def clawback(
|
|
|
328
365
|
force: bool,
|
|
329
366
|
push: bool,
|
|
330
367
|
condition_valid_times: ConditionValidTimes,
|
|
331
|
-
) ->
|
|
332
|
-
from .wallet_funcs import spend_clawback
|
|
368
|
+
) -> list[TransactionRecord]:
|
|
369
|
+
from chia.cmds.wallet_funcs import spend_clawback
|
|
333
370
|
|
|
334
371
|
return asyncio.run(
|
|
335
372
|
spend_clawback(
|
|
373
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
336
374
|
wallet_rpc_port=wallet_rpc_port,
|
|
337
375
|
fp=fingerprint,
|
|
338
376
|
fee=fee,
|
|
@@ -354,10 +392,15 @@ def clawback(
|
|
|
354
392
|
)
|
|
355
393
|
@click.option("-i", "--id", help="Id of the wallet to use", type=int, default=1, show_default=True, required=True)
|
|
356
394
|
@options.create_fingerprint()
|
|
357
|
-
|
|
358
|
-
|
|
395
|
+
@click.pass_context
|
|
396
|
+
def delete_unconfirmed_transactions_cmd(
|
|
397
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], id: int, fingerprint: int
|
|
398
|
+
) -> None:
|
|
399
|
+
from chia.cmds.wallet_funcs import delete_unconfirmed_transactions
|
|
359
400
|
|
|
360
|
-
asyncio.run(
|
|
401
|
+
asyncio.run(
|
|
402
|
+
delete_unconfirmed_transactions(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id)
|
|
403
|
+
)
|
|
361
404
|
|
|
362
405
|
|
|
363
406
|
@wallet_cmd.command("get_derivation_index", help="Get the last puzzle hash derivation path index")
|
|
@@ -369,10 +412,11 @@ def delete_unconfirmed_transactions_cmd(wallet_rpc_port: Optional[int], id: int,
|
|
|
369
412
|
default=None,
|
|
370
413
|
)
|
|
371
414
|
@options.create_fingerprint()
|
|
372
|
-
|
|
373
|
-
|
|
415
|
+
@click.pass_context
|
|
416
|
+
def get_derivation_index_cmd(ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int) -> None:
|
|
417
|
+
from chia.cmds.wallet_funcs import get_derivation_index
|
|
374
418
|
|
|
375
|
-
asyncio.run(get_derivation_index(wallet_rpc_port, fingerprint))
|
|
419
|
+
asyncio.run(get_derivation_index(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint))
|
|
376
420
|
|
|
377
421
|
|
|
378
422
|
@wallet_cmd.command("sign_message", help="Sign a message by a derivation address")
|
|
@@ -387,13 +431,15 @@ def get_derivation_index_cmd(wallet_rpc_port: Optional[int], fingerprint: int) -
|
|
|
387
431
|
# TODO: Change RPC's to use the puzzle hash instead of address
|
|
388
432
|
@click.option("-a", "--address", help="The address you want to use for signing", type=AddressParamType(), required=True)
|
|
389
433
|
@click.option("-m", "--hex_message", help="The hex message you want sign", type=str, required=True)
|
|
434
|
+
@click.pass_context
|
|
390
435
|
def address_sign_message(
|
|
391
|
-
wallet_rpc_port: Optional[int], fingerprint: int, address: CliAddress, hex_message: str
|
|
436
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, address: CliAddress, hex_message: str
|
|
392
437
|
) -> None:
|
|
393
|
-
from .wallet_funcs import sign_message
|
|
438
|
+
from chia.cmds.wallet_funcs import sign_message
|
|
394
439
|
|
|
395
440
|
asyncio.run(
|
|
396
441
|
sign_message(
|
|
442
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
397
443
|
wallet_rpc_port=wallet_rpc_port,
|
|
398
444
|
fp=fingerprint,
|
|
399
445
|
addr_type=AddressType.XCH,
|
|
@@ -417,10 +463,13 @@ def address_sign_message(
|
|
|
417
463
|
@click.option(
|
|
418
464
|
"-i", "--index", help="Index to set. Must be greater than the current derivation index", type=int, required=True
|
|
419
465
|
)
|
|
420
|
-
|
|
421
|
-
|
|
466
|
+
@click.pass_context
|
|
467
|
+
def update_derivation_index_cmd(
|
|
468
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, index: int
|
|
469
|
+
) -> None:
|
|
470
|
+
from chia.cmds.wallet_funcs import update_derivation_index
|
|
422
471
|
|
|
423
|
-
asyncio.run(update_derivation_index(wallet_rpc_port, fingerprint, index))
|
|
472
|
+
asyncio.run(update_derivation_index(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, index))
|
|
424
473
|
|
|
425
474
|
|
|
426
475
|
@wallet_cmd.command("add_token", help="Add/Rename a CAT to the wallet by its asset ID")
|
|
@@ -444,10 +493,15 @@ def update_derivation_index_cmd(wallet_rpc_port: Optional[int], fingerprint: int
|
|
|
444
493
|
help="The name you wish to designate to the token",
|
|
445
494
|
)
|
|
446
495
|
@options.create_fingerprint()
|
|
447
|
-
|
|
448
|
-
|
|
496
|
+
@click.pass_context
|
|
497
|
+
def add_token_cmd(
|
|
498
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], asset_id: bytes32, token_name: str, fingerprint: int
|
|
499
|
+
) -> None:
|
|
500
|
+
from chia.cmds.wallet_funcs import add_token
|
|
449
501
|
|
|
450
|
-
asyncio.run(
|
|
502
|
+
asyncio.run(
|
|
503
|
+
add_token(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, asset_id, token_name)
|
|
504
|
+
)
|
|
451
505
|
|
|
452
506
|
|
|
453
507
|
@wallet_cmd.command("make_offer", help="Create an offer of XCH/CATs/NFTs for XCH/CATs/NFTs")
|
|
@@ -488,9 +542,11 @@ def add_token_cmd(wallet_rpc_port: Optional[int], asset_id: bytes32, token_name:
|
|
|
488
542
|
)
|
|
489
543
|
@click.option("--override", help="Creates offer without checking for unusual values", is_flag=True, default=False)
|
|
490
544
|
@timelock_args(enable=True)
|
|
545
|
+
@click.pass_context
|
|
491
546
|
# This command looks like a good candidate for @tx_out_cmd however, pushing an incomplete tx is nonsensical and
|
|
492
547
|
# we already have a canonical offer file format which the idea of exporting a different transaction conflicts with
|
|
493
548
|
def make_offer_cmd(
|
|
549
|
+
ctx: click.Context,
|
|
494
550
|
wallet_rpc_port: Optional[int],
|
|
495
551
|
fingerprint: int,
|
|
496
552
|
offer: Sequence[str],
|
|
@@ -501,7 +557,7 @@ def make_offer_cmd(
|
|
|
501
557
|
override: bool,
|
|
502
558
|
condition_valid_times: ConditionValidTimes,
|
|
503
559
|
) -> None:
|
|
504
|
-
from .wallet_funcs import make_offer
|
|
560
|
+
from chia.cmds.wallet_funcs import make_offer
|
|
505
561
|
|
|
506
562
|
if len(request) == 0 and not override:
|
|
507
563
|
print("Cannot make an offer without requesting something without --override")
|
|
@@ -509,6 +565,7 @@ def make_offer_cmd(
|
|
|
509
565
|
|
|
510
566
|
asyncio.run(
|
|
511
567
|
make_offer(
|
|
568
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
512
569
|
wallet_rpc_port=wallet_rpc_port,
|
|
513
570
|
fp=fingerprint,
|
|
514
571
|
fee=fee,
|
|
@@ -540,8 +597,11 @@ def make_offer_cmd(
|
|
|
540
597
|
"-ic", "--include-completed", help="Include offers that have been confirmed/cancelled or failed", is_flag=True
|
|
541
598
|
)
|
|
542
599
|
@click.option("-s", "--summaries", help="Show the assets being offered and requested for each offer", is_flag=True)
|
|
600
|
+
@click.option("--sort-by-relevance/--sort-by-confirmed-height", help="Sort the offers one of two ways", is_flag=True)
|
|
543
601
|
@click.option("-r", "--reverse", help="Reverse the order of the output", is_flag=True)
|
|
602
|
+
@click.pass_context
|
|
544
603
|
def get_offers_cmd(
|
|
604
|
+
ctx: click.Context,
|
|
545
605
|
wallet_rpc_port: Optional[int],
|
|
546
606
|
fingerprint: int,
|
|
547
607
|
id: Optional[bytes32],
|
|
@@ -551,11 +611,13 @@ def get_offers_cmd(
|
|
|
551
611
|
include_completed: bool,
|
|
552
612
|
summaries: bool,
|
|
553
613
|
reverse: bool,
|
|
614
|
+
sort_by_relevance: bool,
|
|
554
615
|
) -> None:
|
|
555
|
-
from .wallet_funcs import get_offers
|
|
616
|
+
from chia.cmds.wallet_funcs import get_offers
|
|
556
617
|
|
|
557
618
|
asyncio.run(
|
|
558
619
|
get_offers(
|
|
620
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
559
621
|
wallet_rpc_port=wallet_rpc_port,
|
|
560
622
|
fp=fingerprint,
|
|
561
623
|
offer_id=id,
|
|
@@ -565,6 +627,7 @@ def get_offers_cmd(
|
|
|
565
627
|
include_completed=include_completed,
|
|
566
628
|
summaries=summaries,
|
|
567
629
|
reverse=reverse,
|
|
630
|
+
sort_by_relevance=sort_by_relevance,
|
|
568
631
|
)
|
|
569
632
|
)
|
|
570
633
|
|
|
@@ -589,7 +652,9 @@ def get_offers_cmd(
|
|
|
589
652
|
default=False,
|
|
590
653
|
)
|
|
591
654
|
@tx_out_cmd()
|
|
655
|
+
@click.pass_context
|
|
592
656
|
def take_offer_cmd(
|
|
657
|
+
ctx: click.Context,
|
|
593
658
|
path_or_hex: str,
|
|
594
659
|
wallet_rpc_port: Optional[int],
|
|
595
660
|
fingerprint: int,
|
|
@@ -598,11 +663,12 @@ def take_offer_cmd(
|
|
|
598
663
|
reuse: bool,
|
|
599
664
|
push: bool,
|
|
600
665
|
condition_valid_times: ConditionValidTimes,
|
|
601
|
-
) ->
|
|
602
|
-
from .wallet_funcs import take_offer
|
|
666
|
+
) -> list[TransactionRecord]:
|
|
667
|
+
from chia.cmds.wallet_funcs import take_offer
|
|
603
668
|
|
|
604
669
|
return asyncio.run(
|
|
605
670
|
take_offer(
|
|
671
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
606
672
|
wallet_rpc_port,
|
|
607
673
|
fingerprint,
|
|
608
674
|
fee,
|
|
@@ -627,7 +693,9 @@ def take_offer_cmd(
|
|
|
627
693
|
@click.option("--insecure", help="Don't make an on-chain transaction, simply mark the offer as cancelled", is_flag=True)
|
|
628
694
|
@options.create_fee("The fee to use when cancelling the offer securely, in XCH")
|
|
629
695
|
@tx_out_cmd()
|
|
696
|
+
@click.pass_context
|
|
630
697
|
def cancel_offer_cmd(
|
|
698
|
+
ctx: click.Context,
|
|
631
699
|
wallet_rpc_port: Optional[int],
|
|
632
700
|
fingerprint: int,
|
|
633
701
|
id: bytes32,
|
|
@@ -635,11 +703,12 @@ def cancel_offer_cmd(
|
|
|
635
703
|
fee: uint64,
|
|
636
704
|
push: bool,
|
|
637
705
|
condition_valid_times: ConditionValidTimes,
|
|
638
|
-
) ->
|
|
639
|
-
from .wallet_funcs import cancel_offer
|
|
706
|
+
) -> list[TransactionRecord]:
|
|
707
|
+
from chia.cmds.wallet_funcs import cancel_offer
|
|
640
708
|
|
|
641
709
|
return asyncio.run(
|
|
642
710
|
cancel_offer(
|
|
711
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
643
712
|
wallet_rpc_port,
|
|
644
713
|
fingerprint,
|
|
645
714
|
fee,
|
|
@@ -662,7 +731,7 @@ def check_wallet_cmd(ctx: click.Context, db_path: str, verbose: bool) -> None:
|
|
|
662
731
|
|
|
663
732
|
from chia.cmds.check_wallet_db import scan
|
|
664
733
|
|
|
665
|
-
asyncio.run(scan(ctx.
|
|
734
|
+
asyncio.run(scan(ChiaCliContext.set_default(ctx).root_path, db_path, verbose=verbose))
|
|
666
735
|
|
|
667
736
|
|
|
668
737
|
@wallet_cmd.group("did", help="DID related actions")
|
|
@@ -690,7 +759,9 @@ def did_cmd() -> None:
|
|
|
690
759
|
)
|
|
691
760
|
@options.create_fee()
|
|
692
761
|
@tx_out_cmd()
|
|
762
|
+
@click.pass_context
|
|
693
763
|
def did_create_wallet_cmd(
|
|
764
|
+
ctx: click.Context,
|
|
694
765
|
wallet_rpc_port: Optional[int],
|
|
695
766
|
fingerprint: int,
|
|
696
767
|
name: Optional[str],
|
|
@@ -698,11 +769,12 @@ def did_create_wallet_cmd(
|
|
|
698
769
|
fee: uint64,
|
|
699
770
|
push: bool,
|
|
700
771
|
condition_valid_times: ConditionValidTimes,
|
|
701
|
-
) ->
|
|
702
|
-
from .wallet_funcs import create_did_wallet
|
|
772
|
+
) -> list[TransactionRecord]:
|
|
773
|
+
from chia.cmds.wallet_funcs import create_did_wallet
|
|
703
774
|
|
|
704
775
|
return asyncio.run(
|
|
705
776
|
create_did_wallet(
|
|
777
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
706
778
|
wallet_rpc_port,
|
|
707
779
|
fingerprint,
|
|
708
780
|
fee,
|
|
@@ -725,11 +797,15 @@ def did_create_wallet_cmd(
|
|
|
725
797
|
@options.create_fingerprint()
|
|
726
798
|
@click.option("-i", "--did_id", help="DID ID you want to use for signing", type=AddressParamType(), required=True)
|
|
727
799
|
@click.option("-m", "--hex_message", help="The hex message you want to sign", type=str, required=True)
|
|
728
|
-
|
|
729
|
-
|
|
800
|
+
@click.pass_context
|
|
801
|
+
def did_sign_message(
|
|
802
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, did_id: CliAddress, hex_message: str
|
|
803
|
+
) -> None:
|
|
804
|
+
from chia.cmds.wallet_funcs import sign_message
|
|
730
805
|
|
|
731
806
|
asyncio.run(
|
|
732
807
|
sign_message(
|
|
808
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
733
809
|
wallet_rpc_port=wallet_rpc_port,
|
|
734
810
|
fp=fingerprint,
|
|
735
811
|
addr_type=AddressType.DID,
|
|
@@ -750,10 +826,13 @@ def did_sign_message(wallet_rpc_port: Optional[int], fingerprint: int, did_id: C
|
|
|
750
826
|
@options.create_fingerprint()
|
|
751
827
|
@click.option("-i", "--id", help="Id of the wallet to use", type=int, required=True)
|
|
752
828
|
@click.option("-n", "--name", help="Set the DID wallet name", type=str, required=True)
|
|
753
|
-
|
|
754
|
-
|
|
829
|
+
@click.pass_context
|
|
830
|
+
def did_wallet_name_cmd(
|
|
831
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, id: int, name: str
|
|
832
|
+
) -> None:
|
|
833
|
+
from chia.cmds.wallet_funcs import did_set_wallet_name
|
|
755
834
|
|
|
756
|
-
asyncio.run(did_set_wallet_name(wallet_rpc_port, fingerprint, id, name))
|
|
835
|
+
asyncio.run(did_set_wallet_name(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id, name))
|
|
757
836
|
|
|
758
837
|
|
|
759
838
|
@did_cmd.command("get_did", help="Get DID from wallet")
|
|
@@ -766,10 +845,11 @@ def did_wallet_name_cmd(wallet_rpc_port: Optional[int], fingerprint: int, id: in
|
|
|
766
845
|
)
|
|
767
846
|
@options.create_fingerprint()
|
|
768
847
|
@click.option("-i", "--id", help="Id of the wallet to use", type=int, required=True)
|
|
769
|
-
|
|
770
|
-
|
|
848
|
+
@click.pass_context
|
|
849
|
+
def did_get_did_cmd(ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, id: int) -> None:
|
|
850
|
+
from chia.cmds.wallet_funcs import get_did
|
|
771
851
|
|
|
772
|
-
asyncio.run(get_did(wallet_rpc_port, fingerprint, id))
|
|
852
|
+
asyncio.run(get_did(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id))
|
|
773
853
|
|
|
774
854
|
|
|
775
855
|
@did_cmd.command("get_details", help="Get more details of any DID")
|
|
@@ -783,10 +863,13 @@ def did_get_did_cmd(wallet_rpc_port: Optional[int], fingerprint: int, id: int) -
|
|
|
783
863
|
@options.create_fingerprint()
|
|
784
864
|
@click.option("-id", "--coin_id", help="Id of the DID or any coin ID of the DID", type=str, required=True)
|
|
785
865
|
@click.option("-l", "--latest", help="Return latest DID information", is_flag=True, default=True)
|
|
786
|
-
|
|
787
|
-
|
|
866
|
+
@click.pass_context
|
|
867
|
+
def did_get_details_cmd(
|
|
868
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, coin_id: str, latest: bool
|
|
869
|
+
) -> None:
|
|
870
|
+
from chia.cmds.wallet_funcs import get_did_info
|
|
788
871
|
|
|
789
|
-
asyncio.run(get_did_info(wallet_rpc_port, fingerprint, coin_id, latest))
|
|
872
|
+
asyncio.run(get_did_info(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, coin_id, latest))
|
|
790
873
|
|
|
791
874
|
|
|
792
875
|
@did_cmd.command("update_metadata", help="Update the metadata of a DID")
|
|
@@ -807,7 +890,9 @@ def did_get_details_cmd(wallet_rpc_port: Optional[int], fingerprint: int, coin_i
|
|
|
807
890
|
default=False,
|
|
808
891
|
)
|
|
809
892
|
@tx_out_cmd()
|
|
893
|
+
@click.pass_context
|
|
810
894
|
def did_update_metadata_cmd(
|
|
895
|
+
ctx: click.Context,
|
|
811
896
|
wallet_rpc_port: Optional[int],
|
|
812
897
|
fingerprint: int,
|
|
813
898
|
id: int,
|
|
@@ -815,11 +900,12 @@ def did_update_metadata_cmd(
|
|
|
815
900
|
reuse: bool,
|
|
816
901
|
push: bool,
|
|
817
902
|
condition_valid_times: ConditionValidTimes,
|
|
818
|
-
) ->
|
|
819
|
-
from .wallet_funcs import update_did_metadata
|
|
903
|
+
) -> list[TransactionRecord]:
|
|
904
|
+
from chia.cmds.wallet_funcs import update_did_metadata
|
|
820
905
|
|
|
821
906
|
return asyncio.run(
|
|
822
907
|
update_did_metadata(
|
|
908
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
823
909
|
wallet_rpc_port,
|
|
824
910
|
fingerprint,
|
|
825
911
|
id,
|
|
@@ -857,7 +943,9 @@ def did_update_metadata_cmd(
|
|
|
857
943
|
type=int,
|
|
858
944
|
required=False,
|
|
859
945
|
)
|
|
946
|
+
@click.pass_context
|
|
860
947
|
def did_find_lost_cmd(
|
|
948
|
+
ctx: click.Context,
|
|
861
949
|
wallet_rpc_port: Optional[int],
|
|
862
950
|
fingerprint: int,
|
|
863
951
|
coin_id: str,
|
|
@@ -865,10 +953,11 @@ def did_find_lost_cmd(
|
|
|
865
953
|
recovery_list_hash: Optional[str],
|
|
866
954
|
num_verification: Optional[int],
|
|
867
955
|
) -> None:
|
|
868
|
-
from .wallet_funcs import find_lost_did
|
|
956
|
+
from chia.cmds.wallet_funcs import find_lost_did
|
|
869
957
|
|
|
870
958
|
asyncio.run(
|
|
871
959
|
find_lost_did(
|
|
960
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
872
961
|
wallet_rpc_port=wallet_rpc_port,
|
|
873
962
|
fp=fingerprint,
|
|
874
963
|
coin_id=coin_id,
|
|
@@ -904,7 +993,9 @@ def did_find_lost_cmd(
|
|
|
904
993
|
required=False,
|
|
905
994
|
)
|
|
906
995
|
@tx_out_cmd()
|
|
996
|
+
@click.pass_context
|
|
907
997
|
def did_message_spend_cmd(
|
|
998
|
+
ctx: click.Context,
|
|
908
999
|
wallet_rpc_port: Optional[int],
|
|
909
1000
|
fingerprint: int,
|
|
910
1001
|
id: int,
|
|
@@ -912,11 +1003,11 @@ def did_message_spend_cmd(
|
|
|
912
1003
|
coin_announcements: Optional[str],
|
|
913
1004
|
push: bool,
|
|
914
1005
|
condition_valid_times: ConditionValidTimes,
|
|
915
|
-
) ->
|
|
916
|
-
from .wallet_funcs import did_message_spend
|
|
1006
|
+
) -> list[TransactionRecord]:
|
|
1007
|
+
from chia.cmds.wallet_funcs import did_message_spend
|
|
917
1008
|
|
|
918
|
-
puzzle_list:
|
|
919
|
-
coin_list:
|
|
1009
|
+
puzzle_list: list[str] = []
|
|
1010
|
+
coin_list: list[str] = []
|
|
920
1011
|
if puzzle_announcements is not None:
|
|
921
1012
|
try:
|
|
922
1013
|
puzzle_list = puzzle_announcements.split(",")
|
|
@@ -938,6 +1029,7 @@ def did_message_spend_cmd(
|
|
|
938
1029
|
|
|
939
1030
|
return asyncio.run(
|
|
940
1031
|
did_message_spend(
|
|
1032
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
941
1033
|
wallet_rpc_port,
|
|
942
1034
|
fingerprint,
|
|
943
1035
|
id,
|
|
@@ -972,7 +1064,9 @@ def did_message_spend_cmd(
|
|
|
972
1064
|
default=False,
|
|
973
1065
|
)
|
|
974
1066
|
@tx_out_cmd()
|
|
1067
|
+
@click.pass_context
|
|
975
1068
|
def did_transfer_did(
|
|
1069
|
+
ctx: click.Context,
|
|
976
1070
|
wallet_rpc_port: Optional[int],
|
|
977
1071
|
fingerprint: int,
|
|
978
1072
|
id: int,
|
|
@@ -982,11 +1076,12 @@ def did_transfer_did(
|
|
|
982
1076
|
reuse: bool,
|
|
983
1077
|
push: bool,
|
|
984
1078
|
condition_valid_times: ConditionValidTimes,
|
|
985
|
-
) ->
|
|
986
|
-
from .wallet_funcs import transfer_did
|
|
1079
|
+
) -> list[TransactionRecord]:
|
|
1080
|
+
from chia.cmds.wallet_funcs import transfer_did
|
|
987
1081
|
|
|
988
1082
|
return asyncio.run(
|
|
989
1083
|
transfer_did(
|
|
1084
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
990
1085
|
wallet_rpc_port,
|
|
991
1086
|
fingerprint,
|
|
992
1087
|
id,
|
|
@@ -1017,12 +1112,19 @@ def nft_cmd() -> None:
|
|
|
1017
1112
|
# TODO: Change RPC to use puzzlehash instead of address
|
|
1018
1113
|
@click.option("-di", "--did-id", help="DID Id to use", type=AddressParamType())
|
|
1019
1114
|
@click.option("-n", "--name", help="Set the NFT wallet name", type=str)
|
|
1115
|
+
@click.pass_context
|
|
1020
1116
|
def nft_wallet_create_cmd(
|
|
1021
|
-
|
|
1117
|
+
ctx: click.Context,
|
|
1118
|
+
wallet_rpc_port: Optional[int],
|
|
1119
|
+
fingerprint: int,
|
|
1120
|
+
did_id: Optional[CliAddress],
|
|
1121
|
+
name: Optional[str],
|
|
1022
1122
|
) -> None:
|
|
1023
|
-
from .wallet_funcs import create_nft_wallet
|
|
1123
|
+
from chia.cmds.wallet_funcs import create_nft_wallet
|
|
1024
1124
|
|
|
1025
|
-
asyncio.run(
|
|
1125
|
+
asyncio.run(
|
|
1126
|
+
create_nft_wallet(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, did_id, name)
|
|
1127
|
+
)
|
|
1026
1128
|
|
|
1027
1129
|
|
|
1028
1130
|
@nft_cmd.command("sign_message", help="Sign a message by a NFT")
|
|
@@ -1036,11 +1138,15 @@ def nft_wallet_create_cmd(
|
|
|
1036
1138
|
@options.create_fingerprint()
|
|
1037
1139
|
@click.option("-i", "--nft_id", help="NFT ID you want to use for signing", type=AddressParamType(), required=True)
|
|
1038
1140
|
@click.option("-m", "--hex_message", help="The hex message you want to sign", type=str, required=True)
|
|
1039
|
-
|
|
1040
|
-
|
|
1141
|
+
@click.pass_context
|
|
1142
|
+
def nft_sign_message(
|
|
1143
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, nft_id: CliAddress, hex_message: str
|
|
1144
|
+
) -> None:
|
|
1145
|
+
from chia.cmds.wallet_funcs import sign_message
|
|
1041
1146
|
|
|
1042
1147
|
asyncio.run(
|
|
1043
1148
|
sign_message(
|
|
1149
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1044
1150
|
wallet_rpc_port=wallet_rpc_port,
|
|
1045
1151
|
fp=fingerprint,
|
|
1046
1152
|
addr_type=AddressType.NFT,
|
|
@@ -1087,7 +1193,9 @@ def nft_sign_message(wallet_rpc_port: Optional[int], fingerprint: int, nft_id: C
|
|
|
1087
1193
|
default=False,
|
|
1088
1194
|
)
|
|
1089
1195
|
@tx_out_cmd()
|
|
1196
|
+
@click.pass_context
|
|
1090
1197
|
def nft_mint_cmd(
|
|
1198
|
+
ctx: click.Context,
|
|
1091
1199
|
wallet_rpc_port: Optional[int],
|
|
1092
1200
|
fingerprint: int,
|
|
1093
1201
|
id: int,
|
|
@@ -1107,8 +1215,8 @@ def nft_mint_cmd(
|
|
|
1107
1215
|
reuse: bool,
|
|
1108
1216
|
push: bool,
|
|
1109
1217
|
condition_valid_times: ConditionValidTimes,
|
|
1110
|
-
) ->
|
|
1111
|
-
from .wallet_funcs import mint_nft
|
|
1218
|
+
) -> list[TransactionRecord]:
|
|
1219
|
+
from chia.cmds.wallet_funcs import mint_nft
|
|
1112
1220
|
|
|
1113
1221
|
if metadata_uris is None:
|
|
1114
1222
|
metadata_uris_list = []
|
|
@@ -1122,6 +1230,7 @@ def nft_mint_cmd(
|
|
|
1122
1230
|
|
|
1123
1231
|
return asyncio.run(
|
|
1124
1232
|
mint_nft(
|
|
1233
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1125
1234
|
wallet_rpc_port=wallet_rpc_port,
|
|
1126
1235
|
fp=fingerprint,
|
|
1127
1236
|
wallet_id=id,
|
|
@@ -1168,7 +1277,9 @@ def nft_mint_cmd(
|
|
|
1168
1277
|
default=False,
|
|
1169
1278
|
)
|
|
1170
1279
|
@tx_out_cmd()
|
|
1280
|
+
@click.pass_context
|
|
1171
1281
|
def nft_add_uri_cmd(
|
|
1282
|
+
ctx: click.Context,
|
|
1172
1283
|
wallet_rpc_port: Optional[int],
|
|
1173
1284
|
fingerprint: int,
|
|
1174
1285
|
id: int,
|
|
@@ -1180,11 +1291,12 @@ def nft_add_uri_cmd(
|
|
|
1180
1291
|
reuse: bool,
|
|
1181
1292
|
push: bool,
|
|
1182
1293
|
condition_valid_times: ConditionValidTimes,
|
|
1183
|
-
) ->
|
|
1184
|
-
from .wallet_funcs import add_uri_to_nft
|
|
1294
|
+
) -> list[TransactionRecord]:
|
|
1295
|
+
from chia.cmds.wallet_funcs import add_uri_to_nft
|
|
1185
1296
|
|
|
1186
1297
|
return asyncio.run(
|
|
1187
1298
|
add_uri_to_nft(
|
|
1299
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1188
1300
|
wallet_rpc_port=wallet_rpc_port,
|
|
1189
1301
|
fp=fingerprint,
|
|
1190
1302
|
wallet_id=id,
|
|
@@ -1221,7 +1333,9 @@ def nft_add_uri_cmd(
|
|
|
1221
1333
|
default=False,
|
|
1222
1334
|
)
|
|
1223
1335
|
@tx_out_cmd()
|
|
1336
|
+
@click.pass_context
|
|
1224
1337
|
def nft_transfer_cmd(
|
|
1338
|
+
ctx: click.Context,
|
|
1225
1339
|
wallet_rpc_port: Optional[int],
|
|
1226
1340
|
fingerprint: int,
|
|
1227
1341
|
id: int,
|
|
@@ -1231,11 +1345,12 @@ def nft_transfer_cmd(
|
|
|
1231
1345
|
reuse: bool,
|
|
1232
1346
|
push: bool,
|
|
1233
1347
|
condition_valid_times: ConditionValidTimes,
|
|
1234
|
-
) ->
|
|
1235
|
-
from .wallet_funcs import transfer_nft
|
|
1348
|
+
) -> list[TransactionRecord]:
|
|
1349
|
+
from chia.cmds.wallet_funcs import transfer_nft
|
|
1236
1350
|
|
|
1237
1351
|
return asyncio.run(
|
|
1238
1352
|
transfer_nft(
|
|
1353
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1239
1354
|
wallet_rpc_port=wallet_rpc_port,
|
|
1240
1355
|
fp=fingerprint,
|
|
1241
1356
|
wallet_id=id,
|
|
@@ -1261,10 +1376,15 @@ def nft_transfer_cmd(
|
|
|
1261
1376
|
@click.option("-i", "--id", help="Id of the NFT wallet to use", type=int, required=True)
|
|
1262
1377
|
@click.option("--num", help="Number of NFTs to return", type=int, default=50)
|
|
1263
1378
|
@click.option("--start-index", help="Which starting index to start listing NFTs from", type=int, default=0)
|
|
1264
|
-
|
|
1265
|
-
|
|
1379
|
+
@click.pass_context
|
|
1380
|
+
def nft_list_cmd(
|
|
1381
|
+
ctx: click.Context, wallet_rpc_port: Optional[int], fingerprint: int, id: int, num: int, start_index: int
|
|
1382
|
+
) -> None:
|
|
1383
|
+
from chia.cmds.wallet_funcs import list_nfts
|
|
1266
1384
|
|
|
1267
|
-
asyncio.run(
|
|
1385
|
+
asyncio.run(
|
|
1386
|
+
list_nfts(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id, num, start_index)
|
|
1387
|
+
)
|
|
1268
1388
|
|
|
1269
1389
|
|
|
1270
1390
|
@nft_cmd.command("set_did", help="Set a DID on an NFT")
|
|
@@ -1288,7 +1408,9 @@ def nft_list_cmd(wallet_rpc_port: Optional[int], fingerprint: int, id: int, num:
|
|
|
1288
1408
|
default=False,
|
|
1289
1409
|
)
|
|
1290
1410
|
@tx_out_cmd()
|
|
1411
|
+
@click.pass_context
|
|
1291
1412
|
def nft_set_did_cmd(
|
|
1413
|
+
ctx: click.Context,
|
|
1292
1414
|
wallet_rpc_port: Optional[int],
|
|
1293
1415
|
fingerprint: int,
|
|
1294
1416
|
id: int,
|
|
@@ -1298,11 +1420,12 @@ def nft_set_did_cmd(
|
|
|
1298
1420
|
reuse: bool,
|
|
1299
1421
|
push: bool,
|
|
1300
1422
|
condition_valid_times: ConditionValidTimes,
|
|
1301
|
-
) ->
|
|
1302
|
-
from .wallet_funcs import set_nft_did
|
|
1423
|
+
) -> list[TransactionRecord]:
|
|
1424
|
+
from chia.cmds.wallet_funcs import set_nft_did
|
|
1303
1425
|
|
|
1304
1426
|
return asyncio.run(
|
|
1305
1427
|
set_nft_did(
|
|
1428
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1306
1429
|
wallet_rpc_port=wallet_rpc_port,
|
|
1307
1430
|
fp=fingerprint,
|
|
1308
1431
|
wallet_id=id,
|
|
@@ -1327,14 +1450,16 @@ def nft_set_did_cmd(
|
|
|
1327
1450
|
@options.create_fingerprint()
|
|
1328
1451
|
# TODO: Change RPC to use bytes instead of hex string
|
|
1329
1452
|
@click.option("-ni", "--nft-coin-id", help="Id of the NFT coin to get information on", type=str, required=True)
|
|
1453
|
+
@click.pass_context
|
|
1330
1454
|
def nft_get_info_cmd(
|
|
1455
|
+
ctx: click.Context,
|
|
1331
1456
|
wallet_rpc_port: Optional[int],
|
|
1332
1457
|
fingerprint: int,
|
|
1333
1458
|
nft_coin_id: str,
|
|
1334
1459
|
) -> None:
|
|
1335
|
-
from .wallet_funcs import get_nft_info
|
|
1460
|
+
from chia.cmds.wallet_funcs import get_nft_info
|
|
1336
1461
|
|
|
1337
|
-
asyncio.run(get_nft_info(wallet_rpc_port, fingerprint, nft_coin_id))
|
|
1462
|
+
asyncio.run(get_nft_info(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, nft_coin_id))
|
|
1338
1463
|
|
|
1339
1464
|
|
|
1340
1465
|
# Keep at bottom.
|
|
@@ -1370,7 +1495,9 @@ def notification_cmd() -> None:
|
|
|
1370
1495
|
@click.option("-n", "--message", help="The message of the notification", type=str)
|
|
1371
1496
|
@options.create_fee()
|
|
1372
1497
|
@tx_out_cmd()
|
|
1498
|
+
@click.pass_context
|
|
1373
1499
|
def send_notification_cmd(
|
|
1500
|
+
ctx: click.Context,
|
|
1374
1501
|
wallet_rpc_port: Optional[int],
|
|
1375
1502
|
fingerprint: int,
|
|
1376
1503
|
to_address: CliAddress,
|
|
@@ -1379,12 +1506,13 @@ def send_notification_cmd(
|
|
|
1379
1506
|
fee: uint64,
|
|
1380
1507
|
push: bool,
|
|
1381
1508
|
condition_valid_times: ConditionValidTimes,
|
|
1382
|
-
) ->
|
|
1383
|
-
from .wallet_funcs import send_notification
|
|
1509
|
+
) -> list[TransactionRecord]:
|
|
1510
|
+
from chia.cmds.wallet_funcs import send_notification
|
|
1384
1511
|
|
|
1385
1512
|
message_bytes: bytes = bytes(message, "utf8")
|
|
1386
1513
|
return asyncio.run(
|
|
1387
1514
|
send_notification(
|
|
1515
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
1388
1516
|
wallet_rpc_port,
|
|
1389
1517
|
fingerprint,
|
|
1390
1518
|
fee,
|
|
@@ -1409,16 +1537,20 @@ def send_notification_cmd(
|
|
|
1409
1537
|
@click.option("-i", "--id", help="The specific notification ID to show", type=Bytes32ParamType(), multiple=True)
|
|
1410
1538
|
@click.option("-s", "--start", help="The number of notifications to skip", type=int, default=None)
|
|
1411
1539
|
@click.option("-e", "--end", help="The number of notifications to stop at", type=int, default=None)
|
|
1540
|
+
@click.pass_context
|
|
1412
1541
|
def get_notifications_cmd(
|
|
1542
|
+
ctx: click.Context,
|
|
1413
1543
|
wallet_rpc_port: Optional[int],
|
|
1414
1544
|
fingerprint: int,
|
|
1415
1545
|
id: Sequence[bytes32],
|
|
1416
1546
|
start: Optional[int],
|
|
1417
1547
|
end: Optional[int],
|
|
1418
1548
|
) -> None:
|
|
1419
|
-
from .wallet_funcs import get_notifications
|
|
1549
|
+
from chia.cmds.wallet_funcs import get_notifications
|
|
1420
1550
|
|
|
1421
|
-
asyncio.run(
|
|
1551
|
+
asyncio.run(
|
|
1552
|
+
get_notifications(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id, start, end)
|
|
1553
|
+
)
|
|
1422
1554
|
|
|
1423
1555
|
|
|
1424
1556
|
@notification_cmd.command("delete", help="Delete notification(s) that are in your wallet")
|
|
@@ -1432,15 +1564,17 @@ def get_notifications_cmd(
|
|
|
1432
1564
|
@options.create_fingerprint()
|
|
1433
1565
|
@click.option("-i", "--id", help="A specific notification ID to delete", type=Bytes32ParamType(), multiple=True)
|
|
1434
1566
|
@click.option("--all", help="All notifications can be deleted (they will be recovered during resync)", is_flag=True)
|
|
1567
|
+
@click.pass_context
|
|
1435
1568
|
def delete_notifications_cmd(
|
|
1569
|
+
ctx: click.Context,
|
|
1436
1570
|
wallet_rpc_port: Optional[int],
|
|
1437
1571
|
fingerprint: int,
|
|
1438
1572
|
id: Sequence[bytes32],
|
|
1439
1573
|
all: bool,
|
|
1440
1574
|
) -> None:
|
|
1441
|
-
from .wallet_funcs import delete_notifications
|
|
1575
|
+
from chia.cmds.wallet_funcs import delete_notifications
|
|
1442
1576
|
|
|
1443
|
-
asyncio.run(delete_notifications(wallet_rpc_port, fingerprint, id, all))
|
|
1577
|
+
asyncio.run(delete_notifications(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, id, all))
|
|
1444
1578
|
|
|
1445
1579
|
|
|
1446
1580
|
@wallet_cmd.group("vcs", short_help="Verifiable Credential related actions")
|
|
@@ -1467,7 +1601,9 @@ def vcs_cmd() -> None: # pragma: no cover
|
|
|
1467
1601
|
)
|
|
1468
1602
|
@options.create_fee("Blockchain fee for mint transaction, in XCH")
|
|
1469
1603
|
@tx_out_cmd()
|
|
1604
|
+
@click.pass_context
|
|
1470
1605
|
def mint_vc_cmd(
|
|
1606
|
+
ctx: click.Context,
|
|
1471
1607
|
wallet_rpc_port: Optional[int],
|
|
1472
1608
|
fingerprint: int,
|
|
1473
1609
|
did: CliAddress,
|
|
@@ -1475,11 +1611,12 @@ def mint_vc_cmd(
|
|
|
1475
1611
|
fee: uint64,
|
|
1476
1612
|
push: bool,
|
|
1477
1613
|
condition_valid_times: ConditionValidTimes,
|
|
1478
|
-
) ->
|
|
1479
|
-
from .wallet_funcs import mint_vc
|
|
1614
|
+
) -> list[TransactionRecord]:
|
|
1615
|
+
from chia.cmds.wallet_funcs import mint_vc
|
|
1480
1616
|
|
|
1481
1617
|
return asyncio.run(
|
|
1482
1618
|
mint_vc(
|
|
1619
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
1483
1620
|
wallet_rpc_port,
|
|
1484
1621
|
fingerprint,
|
|
1485
1622
|
did,
|
|
@@ -1506,15 +1643,17 @@ def mint_vc_cmd(
|
|
|
1506
1643
|
@click.option(
|
|
1507
1644
|
"-c", "--count", help="How many results to return", type=int, required=False, default=50, show_default=True
|
|
1508
1645
|
)
|
|
1646
|
+
@click.pass_context
|
|
1509
1647
|
def get_vcs_cmd(
|
|
1648
|
+
ctx: click.Context,
|
|
1510
1649
|
wallet_rpc_port: Optional[int],
|
|
1511
1650
|
fingerprint: int,
|
|
1512
1651
|
start: int,
|
|
1513
1652
|
count: int,
|
|
1514
1653
|
) -> None: # pragma: no cover
|
|
1515
|
-
from .wallet_funcs import get_vcs
|
|
1654
|
+
from chia.cmds.wallet_funcs import get_vcs
|
|
1516
1655
|
|
|
1517
|
-
asyncio.run(get_vcs(wallet_rpc_port, fingerprint, start, count))
|
|
1656
|
+
asyncio.run(get_vcs(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, start, count))
|
|
1518
1657
|
|
|
1519
1658
|
|
|
1520
1659
|
@vcs_cmd.command("update_proofs", short_help="Update a VC's proofs if you have the provider DID")
|
|
@@ -1549,7 +1688,9 @@ def get_vcs_cmd(
|
|
|
1549
1688
|
show_default=True,
|
|
1550
1689
|
)
|
|
1551
1690
|
@tx_out_cmd()
|
|
1691
|
+
@click.pass_context
|
|
1552
1692
|
def spend_vc_cmd(
|
|
1693
|
+
ctx: click.Context,
|
|
1553
1694
|
wallet_rpc_port: Optional[int],
|
|
1554
1695
|
fingerprint: int,
|
|
1555
1696
|
vc_id: bytes32,
|
|
@@ -1559,11 +1700,12 @@ def spend_vc_cmd(
|
|
|
1559
1700
|
reuse_puzhash: bool,
|
|
1560
1701
|
push: bool,
|
|
1561
1702
|
condition_valid_times: ConditionValidTimes,
|
|
1562
|
-
) ->
|
|
1563
|
-
from .wallet_funcs import spend_vc
|
|
1703
|
+
) -> list[TransactionRecord]:
|
|
1704
|
+
from chia.cmds.wallet_funcs import spend_vc
|
|
1564
1705
|
|
|
1565
1706
|
return asyncio.run(
|
|
1566
1707
|
spend_vc(
|
|
1708
|
+
root_path=ChiaCliContext.set_default(ctx).root_path,
|
|
1567
1709
|
wallet_rpc_port=wallet_rpc_port,
|
|
1568
1710
|
fp=fingerprint,
|
|
1569
1711
|
vc_id=vc_id,
|
|
@@ -1588,15 +1730,19 @@ def spend_vc_cmd(
|
|
|
1588
1730
|
@options.create_fingerprint()
|
|
1589
1731
|
@click.option("-p", "--proof", help="A flag to add as a proof", type=str, multiple=True)
|
|
1590
1732
|
@click.option("-r", "--root-only", help="Do not add the proofs to the DB, just output the root", is_flag=True)
|
|
1733
|
+
@click.pass_context
|
|
1591
1734
|
def add_proof_reveal_cmd(
|
|
1735
|
+
ctx: click.Context,
|
|
1592
1736
|
wallet_rpc_port: Optional[int],
|
|
1593
1737
|
fingerprint: int,
|
|
1594
1738
|
proof: Sequence[str],
|
|
1595
1739
|
root_only: bool,
|
|
1596
1740
|
) -> None: # pragma: no cover
|
|
1597
|
-
from .wallet_funcs import add_proof_reveal
|
|
1741
|
+
from chia.cmds.wallet_funcs import add_proof_reveal
|
|
1598
1742
|
|
|
1599
|
-
asyncio.run(
|
|
1743
|
+
asyncio.run(
|
|
1744
|
+
add_proof_reveal(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, proof, root_only)
|
|
1745
|
+
)
|
|
1600
1746
|
|
|
1601
1747
|
|
|
1602
1748
|
@vcs_cmd.command("get_proofs_for_root", short_help="Get the stored proof flags for a given proof hash")
|
|
@@ -1609,14 +1755,18 @@ def add_proof_reveal_cmd(
|
|
|
1609
1755
|
)
|
|
1610
1756
|
@options.create_fingerprint()
|
|
1611
1757
|
@click.option("-r", "--proof-hash", help="The root to search for", type=str, required=True)
|
|
1758
|
+
@click.pass_context
|
|
1612
1759
|
def get_proofs_for_root_cmd(
|
|
1760
|
+
ctx: click.Context,
|
|
1613
1761
|
wallet_rpc_port: Optional[int],
|
|
1614
1762
|
fingerprint: int,
|
|
1615
1763
|
proof_hash: str,
|
|
1616
1764
|
) -> None: # pragma: no cover
|
|
1617
|
-
from .wallet_funcs import get_proofs_for_root
|
|
1765
|
+
from chia.cmds.wallet_funcs import get_proofs_for_root
|
|
1618
1766
|
|
|
1619
|
-
asyncio.run(
|
|
1767
|
+
asyncio.run(
|
|
1768
|
+
get_proofs_for_root(ChiaCliContext.set_default(ctx).root_path, wallet_rpc_port, fingerprint, proof_hash)
|
|
1769
|
+
)
|
|
1620
1770
|
|
|
1621
1771
|
|
|
1622
1772
|
@vcs_cmd.command("revoke", short_help="Revoke any VC if you have the proper DID and the VCs parent coin")
|
|
@@ -1650,7 +1800,9 @@ def get_proofs_for_root_cmd(
|
|
|
1650
1800
|
show_default=True,
|
|
1651
1801
|
)
|
|
1652
1802
|
@tx_out_cmd()
|
|
1803
|
+
@click.pass_context
|
|
1653
1804
|
def revoke_vc_cmd(
|
|
1805
|
+
ctx: click.Context,
|
|
1654
1806
|
wallet_rpc_port: Optional[int],
|
|
1655
1807
|
fingerprint: int,
|
|
1656
1808
|
parent_coin_id: Optional[bytes32],
|
|
@@ -1659,11 +1811,12 @@ def revoke_vc_cmd(
|
|
|
1659
1811
|
reuse_puzhash: bool,
|
|
1660
1812
|
push: bool,
|
|
1661
1813
|
condition_valid_times: ConditionValidTimes,
|
|
1662
|
-
) ->
|
|
1663
|
-
from .wallet_funcs import revoke_vc
|
|
1814
|
+
) -> list[TransactionRecord]:
|
|
1815
|
+
from chia.cmds.wallet_funcs import revoke_vc
|
|
1664
1816
|
|
|
1665
1817
|
return asyncio.run(
|
|
1666
1818
|
revoke_vc(
|
|
1819
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
1667
1820
|
wallet_rpc_port,
|
|
1668
1821
|
fingerprint,
|
|
1669
1822
|
parent_coin_id,
|
|
@@ -1715,7 +1868,9 @@ def revoke_vc_cmd(
|
|
|
1715
1868
|
default=False,
|
|
1716
1869
|
)
|
|
1717
1870
|
@tx_out_cmd()
|
|
1871
|
+
@click.pass_context
|
|
1718
1872
|
def approve_r_cats_cmd(
|
|
1873
|
+
ctx: click.Context,
|
|
1719
1874
|
wallet_rpc_port: Optional[int],
|
|
1720
1875
|
fingerprint: int,
|
|
1721
1876
|
id: int,
|
|
@@ -1726,11 +1881,12 @@ def approve_r_cats_cmd(
|
|
|
1726
1881
|
reuse: bool,
|
|
1727
1882
|
push: bool,
|
|
1728
1883
|
condition_valid_times: ConditionValidTimes,
|
|
1729
|
-
) ->
|
|
1730
|
-
from .wallet_funcs import approve_r_cats
|
|
1884
|
+
) -> list[TransactionRecord]:
|
|
1885
|
+
from chia.cmds.wallet_funcs import approve_r_cats
|
|
1731
1886
|
|
|
1732
1887
|
return asyncio.run(
|
|
1733
1888
|
approve_r_cats(
|
|
1889
|
+
ChiaCliContext.set_default(ctx).root_path,
|
|
1734
1890
|
wallet_rpc_port,
|
|
1735
1891
|
fingerprint,
|
|
1736
1892
|
uint32(id),
|