chia-blockchain 2.5.7rc4__py3-none-any.whl → 2.5.8rc1__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/__init__.py +8 -4
- chia/_tests/blockchain/blockchain_test_utils.py +6 -8
- chia/_tests/blockchain/test_augmented_chain.py +4 -4
- chia/_tests/blockchain/test_blockchain.py +165 -190
- chia/_tests/blockchain/test_build_chains.py +2 -4
- chia/_tests/blockchain/test_get_block_generator.py +2 -3
- chia/_tests/clvm/coin_store.py +4 -7
- chia/_tests/clvm/test_clvm_step.py +4 -4
- chia/_tests/clvm/test_puzzle_compression.py +2 -1
- chia/_tests/clvm/test_puzzle_drivers.py +2 -2
- chia/_tests/clvm/test_singletons.py +2 -4
- chia/_tests/clvm/test_spend_sim.py +2 -2
- chia/_tests/cmds/cmd_test_utils.py +27 -45
- chia/_tests/cmds/test_cmd_framework.py +6 -6
- chia/_tests/cmds/test_daemon.py +3 -3
- chia/_tests/cmds/test_show.py +4 -4
- chia/_tests/cmds/test_tx_config_args.py +1 -2
- chia/_tests/cmds/testing_classes.py +4 -5
- chia/_tests/cmds/wallet/test_did.py +24 -27
- chia/_tests/cmds/wallet/test_nft.py +12 -10
- chia/_tests/cmds/wallet/test_vcs.py +11 -12
- chia/_tests/cmds/wallet/test_wallet.py +134 -89
- chia/_tests/conftest.py +59 -30
- chia/_tests/connection_utils.py +2 -2
- chia/_tests/core/cmds/test_beta.py +4 -4
- chia/_tests/core/cmds/test_keys.py +2 -3
- chia/_tests/core/cmds/test_wallet.py +15 -15
- chia/_tests/core/consensus/test_pot_iterations.py +19 -73
- chia/_tests/core/custom_types/test_proof_of_space.py +124 -98
- chia/_tests/core/daemon/test_daemon.py +11 -11
- chia/_tests/core/data_layer/conftest.py +2 -2
- chia/_tests/core/data_layer/test_data_rpc.py +28 -14
- chia/_tests/core/data_layer/test_data_store.py +10 -10
- chia/_tests/core/data_layer/util.py +11 -11
- chia/_tests/core/farmer/test_farmer_api.py +2 -4
- chia/_tests/core/full_node/full_sync/test_full_sync.py +8 -7
- chia/_tests/core/full_node/stores/test_block_store.py +5 -4
- chia/_tests/core/full_node/stores/test_coin_store.py +5 -11
- chia/_tests/core/full_node/stores/test_full_node_store.py +8 -8
- chia/_tests/core/full_node/stores/test_hint_store.py +2 -2
- chia/_tests/core/full_node/test_block_height_map.py +3 -4
- chia/_tests/core/full_node/test_conditions.py +21 -23
- chia/_tests/core/full_node/test_full_node.py +225 -62
- chia/_tests/core/full_node/test_hint_management.py +2 -4
- chia/_tests/core/full_node/test_performance.py +0 -1
- chia/_tests/core/full_node/test_prev_tx_block.py +88 -11
- chia/_tests/core/full_node/test_transactions.py +1 -2
- chia/_tests/core/full_node/test_tx_processing_queue.py +109 -25
- chia/_tests/core/mempool/test_mempool.py +29 -37
- chia/_tests/core/mempool/test_mempool_fee_estimator.py +39 -39
- chia/_tests/core/mempool/test_mempool_fee_protocol.py +2 -6
- chia/_tests/core/mempool/test_mempool_manager.py +963 -839
- chia/_tests/core/mempool/test_singleton_fast_forward.py +6 -6
- chia/_tests/core/server/serve.py +7 -7
- chia/_tests/core/server/test_dos.py +1 -2
- chia/_tests/core/server/test_event_loop.py +12 -4
- chia/_tests/core/server/test_loop.py +7 -8
- chia/_tests/core/server/test_rate_limits.py +9 -8
- chia/_tests/core/server/test_server.py +61 -1
- chia/_tests/core/services/test_services.py +2 -2
- chia/_tests/core/ssl/test_ssl.py +2 -2
- chia/_tests/core/test_cost_calculation.py +2 -6
- chia/_tests/core/test_farmer_harvester_rpc.py +3 -5
- chia/_tests/core/test_filter.py +0 -1
- chia/_tests/core/test_full_node_rpc.py +2 -2
- chia/_tests/core/test_merkle_set.py +1 -2
- chia/_tests/core/test_seeder.py +4 -4
- chia/_tests/core/util/test_config.py +4 -4
- chia/_tests/core/util/test_jsonify.py +2 -2
- chia/_tests/core/util/test_keychain.py +3 -3
- chia/_tests/core/util/test_lockfile.py +2 -1
- chia/_tests/core/util/test_log_exceptions.py +1 -2
- chia/_tests/core/util/test_streamable.py +17 -17
- chia/_tests/db/test_db_wrapper.py +3 -2
- chia/_tests/environments/wallet.py +14 -14
- chia/_tests/ether.py +4 -3
- chia/_tests/farmer_harvester/test_farmer.py +41 -24
- chia/_tests/farmer_harvester/test_farmer_harvester.py +50 -17
- chia/_tests/farmer_harvester/test_filter_prefix_bits.py +27 -27
- chia/_tests/farmer_harvester/test_third_party_harvesters.py +21 -22
- chia/_tests/fee_estimation/test_fee_estimation_integration.py +18 -18
- chia/_tests/fee_estimation/test_fee_estimation_rpc.py +11 -9
- chia/_tests/harvester/test_harvester_api.py +11 -4
- chia/_tests/plot_sync/test_plot_sync.py +13 -11
- chia/_tests/plot_sync/test_receiver.py +11 -10
- chia/_tests/plot_sync/test_sync_simulated.py +2 -2
- chia/_tests/plot_sync/util.py +1 -2
- chia/_tests/plotting/test_plot_manager.py +7 -6
- chia/_tests/plotting/test_prover.py +30 -38
- chia/_tests/pools/test_pool_cmdline.py +4 -6
- chia/_tests/pools/test_pool_rpc.py +203 -61
- chia/_tests/pools/test_pool_wallet.py +3 -3
- chia/_tests/pools/test_wallet_pool_store.py +1 -4
- chia/_tests/process_junit.py +2 -2
- chia/_tests/rpc/test_rpc_client.py +4 -4
- chia/_tests/rpc/test_rpc_server.py +3 -3
- chia/_tests/simulation/test_simulation.py +12 -25
- chia/_tests/solver/test_solver_service.py +13 -4
- chia/_tests/testconfig.py +2 -2
- chia/_tests/timelord/test_new_peak.py +22 -11
- chia/_tests/tools/test_run_block.py +0 -2
- chia/_tests/tools/test_virtual_project.py +2 -1
- chia/_tests/util/benchmarks.py +1 -0
- chia/_tests/util/blockchain.py +38 -36
- chia/_tests/util/blockchain_mock.py +11 -11
- chia/_tests/util/build_network_protocol_files.py +2 -1
- chia/_tests/util/coin_store.py +2 -1
- chia/_tests/util/config.py +1 -1
- chia/_tests/util/db_connection.py +2 -3
- chia/_tests/util/full_sync.py +9 -11
- chia/_tests/util/gen_ssl_certs.py +4 -5
- chia/_tests/util/get_name_puzzle_conditions.py +2 -0
- chia/_tests/util/misc.py +24 -24
- chia/_tests/util/network_protocol_data.py +20 -3
- chia/_tests/util/protocol_messages_bytes-v1.0 +0 -0
- chia/_tests/util/protocol_messages_json.py +292 -3
- chia/_tests/util/setup_nodes.py +62 -47
- chia/_tests/util/spend_sim.py +57 -57
- chia/_tests/util/test_async_pool.py +2 -3
- chia/_tests/util/test_chia_version.py +1 -3
- chia/_tests/util/test_config.py +3 -3
- chia/_tests/util/test_full_block_utils.py +6 -3
- chia/_tests/util/test_limited_semaphore.py +1 -2
- chia/_tests/util/test_misc.py +2 -2
- chia/_tests/util/test_network.py +1 -2
- chia/_tests/util/test_priority_mutex.py +3 -3
- chia/_tests/util/test_recursive_replace.py +5 -6
- chia/_tests/util/test_replace_str_to_bytes.py +8 -10
- chia/_tests/util/test_testnet_overrides.py +3 -3
- chia/_tests/util/time_out_assert.py +2 -2
- chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +4 -6
- chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +2 -4
- chia/_tests/wallet/cat_wallet/test_cat_wallet.py +19 -13
- chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +13 -13
- chia/_tests/wallet/cat_wallet/test_trades.py +40 -38
- chia/_tests/wallet/clawback/test_clawback_lifecycle.py +2 -4
- chia/_tests/wallet/conftest.py +6 -6
- chia/_tests/wallet/db_wallet/test_db_graftroot.py +1 -1
- chia/_tests/wallet/db_wallet/test_dl_offers.py +34 -34
- chia/_tests/wallet/did_wallet/test_did.py +16 -6
- chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +21 -21
- chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +20 -6
- chia/_tests/wallet/nft_wallet/test_nft_offers.py +19 -21
- chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +1 -2
- chia/_tests/wallet/nft_wallet/test_nft_wallet.py +121 -2
- chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +6 -9
- chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +44 -1
- chia/_tests/wallet/rpc/test_wallet_rpc.py +1672 -896
- chia/_tests/wallet/sync/test_wallet_sync.py +43 -47
- chia/_tests/wallet/test_clvm_streamable.py +2 -3
- chia/_tests/wallet/test_coin_management.py +2 -2
- chia/_tests/wallet/test_conditions.py +45 -51
- chia/_tests/wallet/test_debug_spend_bundle.py +2 -2
- chia/_tests/wallet/test_new_wallet_protocol.py +4 -6
- chia/_tests/wallet/test_notifications.py +14 -14
- chia/_tests/wallet/test_signer_protocol.py +5 -5
- chia/_tests/wallet/test_singleton_lifecycle_fast.py +4 -3
- chia/_tests/wallet/test_transaction_store.py +20 -20
- chia/_tests/wallet/test_util.py +2 -2
- chia/_tests/wallet/test_wallet.py +380 -228
- chia/_tests/wallet/test_wallet_action_scope.py +4 -4
- chia/_tests/wallet/test_wallet_blockchain.py +12 -12
- chia/_tests/wallet/test_wallet_coin_store.py +3 -4
- chia/_tests/wallet/test_wallet_node.py +14 -14
- chia/_tests/wallet/test_wallet_test_framework.py +2 -1
- chia/_tests/wallet/test_wallet_utils.py +2 -3
- chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +3 -5
- chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +14 -15
- chia/_tests/wallet/vc_wallet/test_vc_wallet.py +29 -24
- chia/_tests/wallet/wallet_block_tools.py +12 -11
- chia/_tests/weight_proof/config.py +1 -0
- chia/_tests/weight_proof/test_weight_proof.py +5 -4
- chia/apis/__init__.py +21 -0
- chia/apis/farmer_stub.py +102 -0
- chia/apis/full_node_stub.py +372 -0
- chia/apis/harvester_stub.py +57 -0
- chia/apis/introducer_stub.py +35 -0
- chia/apis/solver_stub.py +30 -0
- chia/apis/stub_protocol_registry.py +21 -0
- chia/apis/timelord_stub.py +39 -0
- chia/apis/wallet_stub.py +161 -0
- chia/cmds/beta.py +3 -4
- chia/cmds/beta_funcs.py +4 -3
- chia/cmds/check_wallet_db.py +4 -4
- chia/cmds/chia.py +1 -2
- chia/cmds/cmd_classes.py +11 -13
- chia/cmds/cmd_helpers.py +11 -11
- chia/cmds/cmds_util.py +15 -15
- chia/cmds/coin_funcs.py +6 -7
- chia/cmds/coins.py +2 -3
- chia/cmds/configure.py +1 -2
- chia/cmds/data.py +42 -42
- chia/cmds/data_funcs.py +81 -81
- chia/cmds/db.py +4 -5
- 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/data.py +4 -4
- chia/cmds/dev/gh.py +5 -5
- chia/cmds/dev/installers.py +2 -3
- chia/cmds/dev/mempool.py +3 -4
- chia/cmds/dev/mempool_funcs.py +4 -4
- chia/cmds/dev/sim.py +8 -8
- chia/cmds/dump_keyring.py +3 -3
- chia/cmds/farm.py +6 -8
- chia/cmds/farm_funcs.py +25 -24
- chia/cmds/init_funcs.py +4 -4
- chia/cmds/keys.py +16 -18
- chia/cmds/keys_funcs.py +36 -36
- chia/cmds/netspace.py +1 -3
- chia/cmds/netspace_funcs.py +1 -2
- chia/cmds/options.py +3 -2
- chia/cmds/param_types.py +17 -16
- chia/cmds/passphrase.py +6 -7
- chia/cmds/passphrase_funcs.py +11 -13
- chia/cmds/peer.py +1 -3
- chia/cmds/peer_funcs.py +3 -3
- chia/cmds/plotnft.py +6 -7
- chia/cmds/plotnft_funcs.py +37 -26
- chia/cmds/rpc.py +3 -3
- chia/cmds/show.py +3 -5
- chia/cmds/show_funcs.py +9 -9
- chia/cmds/sim_funcs.py +25 -26
- chia/cmds/solver.py +1 -3
- chia/cmds/solver_funcs.py +1 -2
- chia/cmds/start_funcs.py +2 -2
- chia/cmds/wallet.py +76 -81
- chia/cmds/wallet_funcs.py +206 -177
- chia/consensus/augmented_chain.py +6 -6
- chia/consensus/block_body_validation.py +19 -15
- chia/consensus/block_creation.py +25 -21
- chia/consensus/block_header_validation.py +27 -13
- chia/consensus/block_height_map.py +3 -6
- chia/consensus/block_height_map_protocol.py +2 -2
- chia/consensus/block_record.py +2 -4
- chia/consensus/blockchain.py +58 -40
- chia/consensus/blockchain_interface.py +7 -7
- chia/consensus/coin_store_protocol.py +5 -6
- chia/consensus/condition_tools.py +4 -4
- chia/consensus/cost_calculator.py +2 -3
- chia/consensus/default_constants.py +16 -13
- chia/consensus/deficit.py +1 -3
- chia/consensus/difficulty_adjustment.py +3 -5
- chia/consensus/find_fork_point.py +2 -4
- chia/consensus/full_block_to_block_record.py +11 -13
- chia/consensus/generator_tools.py +2 -3
- chia/consensus/get_block_challenge.py +42 -26
- chia/consensus/get_block_generator.py +2 -3
- chia/consensus/make_sub_epoch_summary.py +8 -7
- chia/consensus/multiprocess_validation.py +31 -20
- chia/consensus/pos_quality.py +6 -23
- chia/consensus/pot_iterations.py +17 -44
- chia/consensus/signage_point.py +4 -5
- chia/consensus/vdf_info_computation.py +2 -4
- chia/daemon/client.py +8 -8
- chia/daemon/keychain_proxy.py +31 -37
- chia/daemon/server.py +32 -33
- chia/daemon/windows_signal.py +4 -3
- chia/data_layer/data_layer.py +86 -77
- chia/data_layer/data_layer_rpc_api.py +9 -9
- chia/data_layer/data_layer_rpc_client.py +13 -15
- chia/data_layer/data_layer_server.py +3 -3
- chia/data_layer/data_layer_util.py +14 -14
- chia/data_layer/data_layer_wallet.py +94 -101
- chia/data_layer/data_store.py +50 -50
- chia/data_layer/dl_wallet_store.py +9 -12
- chia/data_layer/download_data.py +8 -9
- chia/data_layer/s3_plugin_service.py +5 -9
- chia/data_layer/start_data_layer.py +5 -5
- chia/farmer/farmer.py +31 -31
- chia/farmer/farmer_api.py +45 -33
- chia/farmer/farmer_rpc_api.py +5 -4
- chia/farmer/farmer_rpc_client.py +6 -6
- chia/farmer/start_farmer.py +6 -6
- chia/full_node/block_store.py +13 -16
- chia/full_node/check_fork_next_block.py +1 -2
- chia/full_node/coin_store.py +15 -16
- chia/full_node/eligible_coin_spends.py +3 -3
- chia/full_node/fee_estimate_store.py +2 -3
- chia/full_node/fee_tracker.py +1 -2
- chia/full_node/full_block_utils.py +4 -4
- chia/full_node/full_node.py +238 -224
- chia/full_node/full_node_api.py +193 -150
- chia/full_node/full_node_rpc_api.py +53 -31
- chia/full_node/full_node_rpc_client.py +18 -19
- chia/full_node/full_node_store.py +45 -43
- chia/full_node/hint_management.py +2 -2
- chia/full_node/mempool.py +17 -19
- chia/full_node/mempool_manager.py +89 -42
- chia/full_node/pending_tx_cache.py +2 -3
- chia/full_node/start_full_node.py +5 -5
- chia/full_node/sync_store.py +3 -4
- chia/full_node/tx_processing_queue.py +34 -13
- chia/full_node/weight_proof.py +61 -48
- chia/harvester/harvester.py +25 -24
- chia/harvester/harvester_api.py +61 -38
- chia/harvester/harvester_rpc_api.py +10 -10
- chia/harvester/start_harvester.py +4 -4
- chia/introducer/introducer.py +3 -3
- chia/introducer/introducer_api.py +6 -4
- chia/introducer/start_introducer.py +4 -4
- chia/legacy/keyring.py +3 -3
- chia/plot_sync/delta.py +1 -2
- chia/plot_sync/receiver.py +20 -17
- chia/plot_sync/sender.py +15 -10
- chia/plotters/bladebit.py +7 -7
- chia/plotters/chiapos.py +2 -2
- chia/plotters/madmax.py +4 -4
- chia/plotters/plotters.py +4 -4
- chia/plotters/plotters_util.py +3 -3
- chia/plotting/cache.py +20 -14
- chia/plotting/check_plots.py +26 -35
- chia/plotting/create_plots.py +22 -23
- chia/plotting/manager.py +21 -14
- chia/plotting/prover.py +59 -42
- chia/plotting/util.py +16 -16
- chia/pools/pool_config.py +2 -1
- chia/pools/pool_puzzles.py +11 -12
- chia/pools/pool_wallet.py +34 -57
- chia/pools/pool_wallet_info.py +39 -10
- chia/protocols/farmer_protocol.py +8 -9
- chia/protocols/fee_estimate.py +3 -4
- chia/protocols/full_node_protocol.py +3 -4
- chia/protocols/harvester_protocol.py +27 -15
- chia/protocols/outbound_message.py +3 -3
- chia/protocols/pool_protocol.py +8 -9
- chia/protocols/shared_protocol.py +1 -2
- chia/protocols/solver_protocol.py +9 -2
- chia/protocols/timelord_protocol.py +4 -7
- chia/protocols/wallet_protocol.py +11 -12
- chia/rpc/rpc_client.py +9 -9
- chia/rpc/rpc_server.py +17 -17
- chia/rpc/util.py +2 -2
- chia/seeder/crawler.py +8 -8
- chia/seeder/crawler_api.py +21 -27
- chia/seeder/crawler_rpc_api.py +2 -2
- chia/seeder/dns_server.py +21 -21
- chia/seeder/start_crawler.py +4 -4
- chia/server/address_manager.py +15 -16
- chia/server/api_protocol.py +11 -11
- chia/server/chia_policy.py +46 -26
- chia/server/introducer_peers.py +2 -3
- chia/server/node_discovery.py +19 -19
- chia/server/rate_limit_numbers.py +4 -5
- chia/server/rate_limits.py +4 -4
- chia/server/resolve_peer_info.py +4 -4
- chia/server/server.py +49 -52
- chia/server/signal_handlers.py +6 -6
- chia/server/start_service.py +17 -17
- chia/server/upnp.py +4 -6
- chia/server/ws_connection.py +52 -37
- chia/simulator/add_blocks_in_batches.py +1 -3
- chia/simulator/block_tools.py +312 -200
- chia/simulator/full_node_simulator.py +56 -35
- chia/simulator/keyring.py +2 -3
- chia/simulator/setup_services.py +15 -15
- chia/simulator/simulator_full_node_rpc_api.py +1 -2
- chia/simulator/simulator_full_node_rpc_client.py +1 -2
- chia/simulator/simulator_protocol.py +1 -2
- chia/simulator/simulator_test_tools.py +3 -3
- chia/simulator/start_simulator.py +7 -7
- chia/simulator/wallet_tools.py +10 -10
- chia/solver/solver.py +10 -10
- chia/solver/solver_api.py +10 -8
- chia/solver/solver_rpc_api.py +2 -2
- chia/solver/start_solver.py +4 -4
- chia/ssl/cacert.pem +148 -90
- chia/ssl/chia_ca.crt +14 -10
- chia/ssl/chia_ca_old.crt +19 -0
- chia/ssl/create_ssl.py +4 -4
- chia/ssl/renewedselfsignedca.conf +4 -0
- chia/ssl/ssl_check.py +1 -2
- chia/timelord/iters_from_block.py +1 -4
- chia/timelord/start_timelord.py +4 -4
- chia/timelord/timelord.py +44 -40
- chia/timelord/timelord_api.py +6 -4
- chia/timelord/timelord_launcher.py +2 -2
- chia/timelord/timelord_rpc_api.py +2 -2
- chia/timelord/timelord_state.py +11 -12
- chia/types/block_protocol.py +1 -3
- chia/types/blockchain_format/coin.py +1 -3
- chia/types/blockchain_format/program.py +11 -8
- chia/types/blockchain_format/proof_of_space.py +123 -76
- chia/types/blockchain_format/tree_hash.py +3 -3
- chia/types/blockchain_format/vdf.py +1 -2
- chia/types/coin_spend.py +3 -3
- chia/types/mempool_item.py +5 -5
- chia/types/mempool_submission_status.py +2 -3
- chia/types/peer_info.py +1 -2
- chia/types/unfinished_header_block.py +3 -4
- chia/types/validation_state.py +1 -2
- chia/util/action_scope.py +8 -8
- chia/util/async_pool.py +5 -5
- chia/util/bech32m.py +1 -2
- chia/util/beta_metrics.py +2 -2
- chia/util/block_cache.py +4 -4
- chia/util/chia_logging.py +2 -2
- chia/util/chia_version.py +1 -2
- chia/util/config.py +15 -16
- chia/util/db_wrapper.py +26 -27
- chia/util/default_root.py +1 -2
- chia/util/errors.py +3 -3
- chia/util/file_keyring.py +14 -14
- chia/util/files.py +2 -3
- chia/util/hash.py +4 -4
- chia/util/initial-config.yaml +3 -5
- chia/util/inline_executor.py +2 -1
- chia/util/ip_address.py +1 -2
- chia/util/keychain.py +25 -27
- chia/util/keyring_wrapper.py +18 -19
- chia/util/lock.py +3 -4
- chia/util/log_exceptions.py +1 -2
- chia/util/lru_cache.py +2 -2
- chia/util/network.py +6 -6
- chia/util/path.py +2 -3
- chia/util/priority_mutex.py +2 -2
- chia/util/profiler.py +1 -2
- chia/util/safe_cancel_task.py +1 -2
- chia/util/streamable.py +22 -8
- chia/util/task_referencer.py +1 -1
- chia/util/timing.py +3 -3
- chia/util/virtual_project_analysis.py +6 -5
- chia/util/ws_message.py +2 -2
- chia/wallet/cat_wallet/cat_info.py +3 -4
- chia/wallet/cat_wallet/cat_outer_puzzle.py +12 -11
- chia/wallet/cat_wallet/cat_utils.py +3 -4
- chia/wallet/cat_wallet/cat_wallet.py +61 -83
- chia/wallet/cat_wallet/lineage_store.py +3 -4
- chia/wallet/cat_wallet/r_cat_wallet.py +19 -22
- chia/wallet/coin_selection.py +9 -10
- chia/wallet/conditions.py +120 -105
- chia/wallet/db_wallet/db_wallet_puzzles.py +4 -5
- chia/wallet/derivation_record.py +1 -2
- chia/wallet/derive_keys.py +2 -4
- chia/wallet/did_wallet/did_info.py +10 -11
- chia/wallet/did_wallet/did_wallet.py +36 -82
- chia/wallet/did_wallet/did_wallet_puzzles.py +7 -8
- chia/wallet/driver_protocol.py +5 -7
- chia/wallet/lineage_proof.py +4 -4
- chia/wallet/nft_wallet/metadata_outer_puzzle.py +11 -11
- chia/wallet/nft_wallet/nft_info.py +8 -9
- chia/wallet/nft_wallet/nft_puzzle_utils.py +8 -8
- chia/wallet/nft_wallet/nft_wallet.py +79 -116
- chia/wallet/nft_wallet/ownership_outer_puzzle.py +14 -14
- chia/wallet/nft_wallet/singleton_outer_puzzle.py +12 -11
- chia/wallet/nft_wallet/transfer_program_puzzle.py +11 -11
- chia/wallet/nft_wallet/uncurry_nft.py +10 -11
- chia/wallet/notification_manager.py +3 -3
- chia/wallet/notification_store.py +44 -61
- chia/wallet/outer_puzzles.py +6 -7
- chia/wallet/puzzle_drivers.py +34 -6
- chia/wallet/puzzles/clawback/drivers.py +6 -6
- chia/wallet/puzzles/deployed_puzzle_hashes.json +1 -54
- chia/wallet/puzzles/load_clvm.py +1 -1
- chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +1 -2
- chia/wallet/puzzles/singleton_top_layer.py +2 -3
- chia/wallet/puzzles/singleton_top_layer_v1_1.py +3 -4
- chia/wallet/puzzles/tails.py +3 -3
- chia/wallet/singleton.py +5 -7
- chia/wallet/singleton_record.py +3 -3
- chia/wallet/start_wallet.py +5 -5
- chia/wallet/trade_manager.py +37 -58
- chia/wallet/trade_record.py +4 -4
- chia/wallet/trading/offer.py +59 -46
- chia/wallet/trading/trade_store.py +8 -9
- chia/wallet/transaction_record.py +8 -8
- chia/wallet/uncurried_puzzle.py +1 -2
- chia/wallet/util/clvm_streamable.py +12 -12
- chia/wallet/util/compute_hints.py +4 -5
- chia/wallet/util/curry_and_treehash.py +1 -2
- chia/wallet/util/merkle_tree.py +2 -3
- chia/wallet/util/peer_request_cache.py +8 -8
- chia/wallet/util/signing.py +85 -0
- chia/wallet/util/tx_config.py +15 -6
- chia/wallet/util/wallet_sync_utils.py +14 -16
- chia/wallet/util/wallet_types.py +2 -2
- chia/wallet/vc_wallet/cr_cat_drivers.py +10 -11
- chia/wallet/vc_wallet/cr_cat_wallet.py +50 -68
- chia/wallet/vc_wallet/cr_outer_puzzle.py +14 -13
- chia/wallet/vc_wallet/vc_drivers.py +27 -27
- chia/wallet/vc_wallet/vc_store.py +5 -6
- chia/wallet/vc_wallet/vc_wallet.py +33 -61
- chia/wallet/wallet.py +50 -78
- chia/wallet/wallet_action_scope.py +11 -11
- chia/wallet/wallet_blockchain.py +12 -12
- chia/wallet/wallet_coin_record.py +12 -6
- chia/wallet/wallet_coin_store.py +24 -25
- chia/wallet/wallet_interested_store.py +3 -5
- chia/wallet/wallet_nft_store.py +10 -11
- chia/wallet/wallet_node.py +53 -61
- chia/wallet/wallet_node_api.py +5 -3
- chia/wallet/wallet_protocol.py +23 -23
- chia/wallet/wallet_puzzle_store.py +15 -18
- chia/wallet/wallet_request_types.py +778 -114
- chia/wallet/wallet_retry_store.py +1 -3
- chia/wallet/wallet_rpc_api.py +572 -909
- chia/wallet/wallet_rpc_client.py +87 -279
- chia/wallet/wallet_singleton_store.py +3 -4
- chia/wallet/wallet_state_manager.py +332 -106
- chia/wallet/wallet_transaction_store.py +11 -14
- chia/wallet/wallet_user_store.py +4 -6
- chia/wallet/wallet_weight_proof_handler.py +4 -4
- {chia_blockchain-2.5.7rc4.dist-info → chia_blockchain-2.5.8rc1.dist-info}/METADATA +6 -5
- {chia_blockchain-2.5.7rc4.dist-info → chia_blockchain-2.5.8rc1.dist-info}/RECORD +507 -516
- chia/apis.py +0 -21
- chia/consensus/check_time_locks.py +0 -57
- chia/data_layer/puzzles/__init__.py +0 -0
- chia/data_layer/puzzles/graftroot_dl_offers.clsp +0 -100
- chia/data_layer/puzzles/graftroot_dl_offers.clsp.hex +0 -1
- chia/types/coin_record.py +0 -44
- chia/wallet/nft_wallet/puzzles/__init__.py +0 -0
- chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp +0 -6
- chia/wallet/nft_wallet/puzzles/create_nft_launcher_from_did.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp +0 -6
- chia/wallet/nft_wallet/puzzles/nft_intermediate_launcher.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp +0 -30
- chia/wallet/nft_wallet/puzzles/nft_metadata_updater_default.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp +0 -28
- chia/wallet/nft_wallet/puzzles/nft_metadata_updater_updateable.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp +0 -100
- chia/wallet/nft_wallet/puzzles/nft_ownership_layer.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp +0 -78
- chia/wallet/nft_wallet/puzzles/nft_ownership_transfer_program_one_way_claim_with_royalties.clsp.hex +0 -1
- chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp +0 -74
- chia/wallet/nft_wallet/puzzles/nft_state_layer.clsp.hex +0 -1
- {chia_blockchain-2.5.7rc4.dist-info → chia_blockchain-2.5.8rc1.dist-info}/WHEEL +0 -0
- {chia_blockchain-2.5.7rc4.dist-info → chia_blockchain-2.5.8rc1.dist-info}/entry_points.txt +0 -0
- {chia_blockchain-2.5.7rc4.dist-info → chia_blockchain-2.5.8rc1.dist-info}/licenses/LICENSE +0 -0
chia/cmds/data_funcs.py
CHANGED
|
@@ -4,7 +4,7 @@ import contextlib
|
|
|
4
4
|
import json
|
|
5
5
|
from collections.abc import AsyncIterator
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import Any
|
|
7
|
+
from typing import Any
|
|
8
8
|
|
|
9
9
|
from chia_rs.sized_bytes import bytes32
|
|
10
10
|
from chia_rs.sized_ints import uint64
|
|
@@ -17,7 +17,7 @@ from chia.util.default_root import resolve_root_path
|
|
|
17
17
|
|
|
18
18
|
@contextlib.asynccontextmanager
|
|
19
19
|
async def get_client(
|
|
20
|
-
rpc_port:
|
|
20
|
+
rpc_port: int | None, fingerprint: int | None = None, root_path: Path | None = None
|
|
21
21
|
) -> AsyncIterator[tuple[DataLayerRpcClient, dict[str, Any]]]:
|
|
22
22
|
root_path = resolve_root_path(override=root_path)
|
|
23
23
|
|
|
@@ -32,19 +32,19 @@ async def get_client(
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
async def wallet_log_in_cmd(
|
|
35
|
-
rpc_port:
|
|
35
|
+
rpc_port: int | None,
|
|
36
36
|
fingerprint: int,
|
|
37
|
-
root_path:
|
|
37
|
+
root_path: Path | None = None,
|
|
38
38
|
) -> None:
|
|
39
39
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path):
|
|
40
40
|
pass
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
async def create_data_store_cmd(
|
|
44
|
-
rpc_port:
|
|
45
|
-
fee:
|
|
44
|
+
rpc_port: int | None,
|
|
45
|
+
fee: uint64 | None,
|
|
46
46
|
verbose: bool,
|
|
47
|
-
fingerprint:
|
|
47
|
+
fingerprint: int | None,
|
|
48
48
|
) -> None:
|
|
49
49
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
50
50
|
res = await client.create_data_store(fee=fee, verbose=verbose)
|
|
@@ -52,12 +52,12 @@ async def create_data_store_cmd(
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
async def get_value_cmd(
|
|
55
|
-
rpc_port:
|
|
55
|
+
rpc_port: int | None,
|
|
56
56
|
store_id: bytes32,
|
|
57
57
|
key: str,
|
|
58
58
|
# NOTE: being outside the rpc, this retains the none-means-unspecified semantics
|
|
59
|
-
root_hash:
|
|
60
|
-
fingerprint:
|
|
59
|
+
root_hash: bytes32 | None,
|
|
60
|
+
fingerprint: int | None,
|
|
61
61
|
) -> None:
|
|
62
62
|
key_bytes = hexstr_to_bytes(key)
|
|
63
63
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
@@ -66,13 +66,13 @@ async def get_value_cmd(
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
async def update_data_store_cmd(
|
|
69
|
-
rpc_port:
|
|
69
|
+
rpc_port: int | None,
|
|
70
70
|
store_id: bytes32,
|
|
71
71
|
changelist: list[dict[str, str]],
|
|
72
|
-
fee:
|
|
73
|
-
fingerprint:
|
|
72
|
+
fee: uint64 | None,
|
|
73
|
+
fingerprint: int | None,
|
|
74
74
|
submit_on_chain: bool,
|
|
75
|
-
root_path:
|
|
75
|
+
root_path: Path | None = None,
|
|
76
76
|
) -> dict[str, Any]:
|
|
77
77
|
res = dict()
|
|
78
78
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -88,12 +88,12 @@ async def update_data_store_cmd(
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
async def update_multiple_stores_cmd(
|
|
91
|
-
rpc_port:
|
|
91
|
+
rpc_port: int | None,
|
|
92
92
|
store_updates: list[dict[str, str]],
|
|
93
|
-
fee:
|
|
94
|
-
fingerprint:
|
|
93
|
+
fee: uint64 | None,
|
|
94
|
+
fingerprint: int | None,
|
|
95
95
|
submit_on_chain: bool,
|
|
96
|
-
root_path:
|
|
96
|
+
root_path: Path | None = None,
|
|
97
97
|
) -> dict[str, Any]:
|
|
98
98
|
res = dict()
|
|
99
99
|
|
|
@@ -109,11 +109,11 @@ async def update_multiple_stores_cmd(
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
async def submit_pending_root_cmd(
|
|
112
|
-
rpc_port:
|
|
112
|
+
rpc_port: int | None,
|
|
113
113
|
store_id: bytes32,
|
|
114
|
-
fee:
|
|
115
|
-
fingerprint:
|
|
116
|
-
root_path:
|
|
114
|
+
fee: uint64 | None,
|
|
115
|
+
fingerprint: int | None,
|
|
116
|
+
root_path: Path | None = None,
|
|
117
117
|
) -> dict[str, Any]:
|
|
118
118
|
res = dict()
|
|
119
119
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -127,10 +127,10 @@ async def submit_pending_root_cmd(
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
async def submit_all_pending_roots_cmd(
|
|
130
|
-
rpc_port:
|
|
131
|
-
fee:
|
|
132
|
-
fingerprint:
|
|
133
|
-
root_path:
|
|
130
|
+
rpc_port: int | None,
|
|
131
|
+
fee: uint64 | None,
|
|
132
|
+
fingerprint: int | None,
|
|
133
|
+
root_path: Path | None = None,
|
|
134
134
|
) -> dict[str, Any]:
|
|
135
135
|
res = dict()
|
|
136
136
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -141,14 +141,14 @@ async def submit_all_pending_roots_cmd(
|
|
|
141
141
|
|
|
142
142
|
|
|
143
143
|
async def get_keys_cmd(
|
|
144
|
-
rpc_port:
|
|
144
|
+
rpc_port: int | None,
|
|
145
145
|
store_id: bytes32,
|
|
146
146
|
# NOTE: being outside the rpc, this retains the none-means-unspecified semantics
|
|
147
|
-
root_hash:
|
|
148
|
-
fingerprint:
|
|
149
|
-
page:
|
|
150
|
-
max_page_size:
|
|
151
|
-
root_path:
|
|
147
|
+
root_hash: bytes32 | None,
|
|
148
|
+
fingerprint: int | None,
|
|
149
|
+
page: int | None,
|
|
150
|
+
max_page_size: int | None,
|
|
151
|
+
root_path: Path | None = None,
|
|
152
152
|
) -> dict[str, Any]:
|
|
153
153
|
res = dict()
|
|
154
154
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -159,14 +159,14 @@ async def get_keys_cmd(
|
|
|
159
159
|
|
|
160
160
|
|
|
161
161
|
async def get_keys_values_cmd(
|
|
162
|
-
rpc_port:
|
|
162
|
+
rpc_port: int | None,
|
|
163
163
|
store_id: bytes32,
|
|
164
164
|
# NOTE: being outside the rpc, this retains the none-means-unspecified semantics
|
|
165
|
-
root_hash:
|
|
166
|
-
fingerprint:
|
|
167
|
-
page:
|
|
168
|
-
max_page_size:
|
|
169
|
-
root_path:
|
|
165
|
+
root_hash: bytes32 | None,
|
|
166
|
+
fingerprint: int | None,
|
|
167
|
+
page: int | None,
|
|
168
|
+
max_page_size: int | None,
|
|
169
|
+
root_path: Path | None = None,
|
|
170
170
|
) -> dict[str, Any]:
|
|
171
171
|
res = dict()
|
|
172
172
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -179,9 +179,9 @@ async def get_keys_values_cmd(
|
|
|
179
179
|
|
|
180
180
|
|
|
181
181
|
async def get_root_cmd(
|
|
182
|
-
rpc_port:
|
|
182
|
+
rpc_port: int | None,
|
|
183
183
|
store_id: bytes32,
|
|
184
|
-
fingerprint:
|
|
184
|
+
fingerprint: int | None,
|
|
185
185
|
) -> None:
|
|
186
186
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
187
187
|
res = await client.get_root(store_id=store_id)
|
|
@@ -189,10 +189,10 @@ async def get_root_cmd(
|
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
async def subscribe_cmd(
|
|
192
|
-
rpc_port:
|
|
192
|
+
rpc_port: int | None,
|
|
193
193
|
store_id: bytes32,
|
|
194
194
|
urls: list[str],
|
|
195
|
-
fingerprint:
|
|
195
|
+
fingerprint: int | None,
|
|
196
196
|
) -> None:
|
|
197
197
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
198
198
|
res = await client.subscribe(store_id=store_id, urls=urls)
|
|
@@ -200,9 +200,9 @@ async def subscribe_cmd(
|
|
|
200
200
|
|
|
201
201
|
|
|
202
202
|
async def unsubscribe_cmd(
|
|
203
|
-
rpc_port:
|
|
203
|
+
rpc_port: int | None,
|
|
204
204
|
store_id: bytes32,
|
|
205
|
-
fingerprint:
|
|
205
|
+
fingerprint: int | None,
|
|
206
206
|
retain: bool,
|
|
207
207
|
) -> None:
|
|
208
208
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
@@ -211,10 +211,10 @@ async def unsubscribe_cmd(
|
|
|
211
211
|
|
|
212
212
|
|
|
213
213
|
async def remove_subscriptions_cmd(
|
|
214
|
-
rpc_port:
|
|
214
|
+
rpc_port: int | None,
|
|
215
215
|
store_id: bytes32,
|
|
216
216
|
urls: list[str],
|
|
217
|
-
fingerprint:
|
|
217
|
+
fingerprint: int | None,
|
|
218
218
|
) -> None:
|
|
219
219
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
220
220
|
res = await client.remove_subscriptions(store_id=store_id, urls=urls)
|
|
@@ -222,14 +222,14 @@ async def remove_subscriptions_cmd(
|
|
|
222
222
|
|
|
223
223
|
|
|
224
224
|
async def get_kv_diff_cmd(
|
|
225
|
-
rpc_port:
|
|
225
|
+
rpc_port: int | None,
|
|
226
226
|
store_id: bytes32,
|
|
227
227
|
hash_1: bytes32,
|
|
228
228
|
hash_2: bytes32,
|
|
229
|
-
fingerprint:
|
|
230
|
-
page:
|
|
231
|
-
max_page_size:
|
|
232
|
-
root_path:
|
|
229
|
+
fingerprint: int | None,
|
|
230
|
+
page: int | None,
|
|
231
|
+
max_page_size: int | None,
|
|
232
|
+
root_path: Path | None = None,
|
|
233
233
|
) -> dict[str, Any]:
|
|
234
234
|
res = dict()
|
|
235
235
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -242,9 +242,9 @@ async def get_kv_diff_cmd(
|
|
|
242
242
|
|
|
243
243
|
|
|
244
244
|
async def get_root_history_cmd(
|
|
245
|
-
rpc_port:
|
|
245
|
+
rpc_port: int | None,
|
|
246
246
|
store_id: bytes32,
|
|
247
|
-
fingerprint:
|
|
247
|
+
fingerprint: int | None,
|
|
248
248
|
) -> None:
|
|
249
249
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
250
250
|
res = await client.get_root_history(store_id=store_id)
|
|
@@ -252,11 +252,11 @@ async def get_root_history_cmd(
|
|
|
252
252
|
|
|
253
253
|
|
|
254
254
|
async def add_missing_files_cmd(
|
|
255
|
-
rpc_port:
|
|
256
|
-
ids:
|
|
255
|
+
rpc_port: int | None,
|
|
256
|
+
ids: list[bytes32] | None,
|
|
257
257
|
overwrite: bool,
|
|
258
|
-
foldername:
|
|
259
|
-
fingerprint:
|
|
258
|
+
foldername: Path | None,
|
|
259
|
+
fingerprint: int | None,
|
|
260
260
|
) -> None:
|
|
261
261
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
262
262
|
res = await client.add_missing_files(
|
|
@@ -268,12 +268,12 @@ async def add_missing_files_cmd(
|
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
async def add_mirror_cmd(
|
|
271
|
-
rpc_port:
|
|
271
|
+
rpc_port: int | None,
|
|
272
272
|
store_id: bytes32,
|
|
273
273
|
urls: list[str],
|
|
274
274
|
amount: int,
|
|
275
|
-
fee:
|
|
276
|
-
fingerprint:
|
|
275
|
+
fee: uint64 | None,
|
|
276
|
+
fingerprint: int | None,
|
|
277
277
|
) -> None:
|
|
278
278
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
279
279
|
res = await client.add_mirror(
|
|
@@ -286,10 +286,10 @@ async def add_mirror_cmd(
|
|
|
286
286
|
|
|
287
287
|
|
|
288
288
|
async def delete_mirror_cmd(
|
|
289
|
-
rpc_port:
|
|
289
|
+
rpc_port: int | None,
|
|
290
290
|
coin_id: bytes32,
|
|
291
|
-
fee:
|
|
292
|
-
fingerprint:
|
|
291
|
+
fee: uint64 | None,
|
|
292
|
+
fingerprint: int | None,
|
|
293
293
|
) -> None:
|
|
294
294
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
295
295
|
res = await client.delete_mirror(
|
|
@@ -300,9 +300,9 @@ async def delete_mirror_cmd(
|
|
|
300
300
|
|
|
301
301
|
|
|
302
302
|
async def get_mirrors_cmd(
|
|
303
|
-
rpc_port:
|
|
303
|
+
rpc_port: int | None,
|
|
304
304
|
store_id: bytes32,
|
|
305
|
-
fingerprint:
|
|
305
|
+
fingerprint: int | None,
|
|
306
306
|
) -> None:
|
|
307
307
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
308
308
|
res = await client.get_mirrors(store_id=store_id)
|
|
@@ -310,8 +310,8 @@ async def get_mirrors_cmd(
|
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
async def get_subscriptions_cmd(
|
|
313
|
-
rpc_port:
|
|
314
|
-
fingerprint:
|
|
313
|
+
rpc_port: int | None,
|
|
314
|
+
fingerprint: int | None,
|
|
315
315
|
) -> None:
|
|
316
316
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
317
317
|
res = await client.get_subscriptions()
|
|
@@ -319,8 +319,8 @@ async def get_subscriptions_cmd(
|
|
|
319
319
|
|
|
320
320
|
|
|
321
321
|
async def get_owned_stores_cmd(
|
|
322
|
-
rpc_port:
|
|
323
|
-
fingerprint:
|
|
322
|
+
rpc_port: int | None,
|
|
323
|
+
fingerprint: int | None,
|
|
324
324
|
) -> None:
|
|
325
325
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
326
326
|
res = await client.get_owned_stores()
|
|
@@ -328,16 +328,16 @@ async def get_owned_stores_cmd(
|
|
|
328
328
|
|
|
329
329
|
|
|
330
330
|
async def get_sync_status_cmd(
|
|
331
|
-
rpc_port:
|
|
331
|
+
rpc_port: int | None,
|
|
332
332
|
store_id: bytes32,
|
|
333
|
-
fingerprint:
|
|
333
|
+
fingerprint: int | None,
|
|
334
334
|
) -> None:
|
|
335
335
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint) as (client, _):
|
|
336
336
|
res = await client.get_sync_status(store_id=store_id)
|
|
337
337
|
print(json.dumps(res, indent=2, sort_keys=True))
|
|
338
338
|
|
|
339
339
|
|
|
340
|
-
async def check_plugins_cmd(rpc_port:
|
|
340
|
+
async def check_plugins_cmd(rpc_port: int | None) -> None:
|
|
341
341
|
async with get_client(rpc_port=rpc_port) as (client, _):
|
|
342
342
|
res = await client.check_plugins()
|
|
343
343
|
print(json.dumps(res, indent=2, sort_keys=True))
|
|
@@ -345,9 +345,9 @@ async def check_plugins_cmd(rpc_port: Optional[int]) -> None:
|
|
|
345
345
|
|
|
346
346
|
async def clear_pending_roots(
|
|
347
347
|
store_id: bytes32,
|
|
348
|
-
rpc_port:
|
|
349
|
-
root_path:
|
|
350
|
-
fingerprint:
|
|
348
|
+
rpc_port: int | None,
|
|
349
|
+
root_path: Path | None = None,
|
|
350
|
+
fingerprint: int | None = None,
|
|
351
351
|
) -> dict[str, Any]:
|
|
352
352
|
result = dict()
|
|
353
353
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -360,9 +360,9 @@ async def clear_pending_roots(
|
|
|
360
360
|
async def get_proof_cmd(
|
|
361
361
|
store_id: bytes32,
|
|
362
362
|
key_strings: list[str],
|
|
363
|
-
rpc_port:
|
|
364
|
-
root_path:
|
|
365
|
-
fingerprint:
|
|
363
|
+
rpc_port: int | None,
|
|
364
|
+
root_path: Path | None = None,
|
|
365
|
+
fingerprint: int | None = None,
|
|
366
366
|
) -> dict[str, Any]:
|
|
367
367
|
result = dict()
|
|
368
368
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
|
@@ -374,9 +374,9 @@ async def get_proof_cmd(
|
|
|
374
374
|
|
|
375
375
|
async def verify_proof_cmd(
|
|
376
376
|
proof: dict[str, Any],
|
|
377
|
-
rpc_port:
|
|
378
|
-
root_path:
|
|
379
|
-
fingerprint:
|
|
377
|
+
rpc_port: int | None,
|
|
378
|
+
root_path: Path | None = None,
|
|
379
|
+
fingerprint: int | None = None,
|
|
380
380
|
) -> dict[str, Any]:
|
|
381
381
|
result = dict()
|
|
382
382
|
async with get_client(rpc_port=rpc_port, fingerprint=fingerprint, root_path=root_path) as (client, _):
|
chia/cmds/db.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Optional
|
|
5
4
|
|
|
6
5
|
import click
|
|
7
6
|
|
|
@@ -35,8 +34,8 @@ def db_cmd() -> None:
|
|
|
35
34
|
@click.pass_context
|
|
36
35
|
def db_upgrade_cmd(
|
|
37
36
|
ctx: click.Context,
|
|
38
|
-
in_db_path:
|
|
39
|
-
out_db_path:
|
|
37
|
+
in_db_path: str | None,
|
|
38
|
+
out_db_path: str | None,
|
|
40
39
|
no_update_config: bool,
|
|
41
40
|
force: bool,
|
|
42
41
|
) -> None:
|
|
@@ -61,7 +60,7 @@ def db_upgrade_cmd(
|
|
|
61
60
|
help="validate consistency of properties of the encoded blocks and block records",
|
|
62
61
|
)
|
|
63
62
|
@click.pass_context
|
|
64
|
-
def db_validate_cmd(ctx: click.Context, in_db_path:
|
|
63
|
+
def db_validate_cmd(ctx: click.Context, in_db_path: str | None, validate_blocks: bool) -> None:
|
|
65
64
|
try:
|
|
66
65
|
db_validate_func(
|
|
67
66
|
ChiaCliContext.set_default(ctx).root_path,
|
|
@@ -76,7 +75,7 @@ def db_validate_cmd(ctx: click.Context, in_db_path: Optional[str], validate_bloc
|
|
|
76
75
|
@click.option("--backup_file", "db_backup_file", default=None, type=click.Path(), help="Specifies the backup file")
|
|
77
76
|
@click.option("--no_indexes", default=False, is_flag=True, help="Create backup without indexes")
|
|
78
77
|
@click.pass_context
|
|
79
|
-
def db_backup_cmd(ctx: click.Context, db_backup_file:
|
|
78
|
+
def db_backup_cmd(ctx: click.Context, db_backup_file: str | None, no_indexes: bool) -> None:
|
|
80
79
|
try:
|
|
81
80
|
db_backup_func(
|
|
82
81
|
ChiaCliContext.set_default(ctx).root_path,
|
chia/cmds/db_backup_func.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
4
|
+
from typing import Any
|
|
5
5
|
|
|
6
6
|
from chia.util.config import load_config
|
|
7
7
|
from chia.util.path import path_from_root
|
|
@@ -9,7 +9,7 @@ from chia.util.path import path_from_root
|
|
|
9
9
|
|
|
10
10
|
def db_backup_func(
|
|
11
11
|
root_path: Path,
|
|
12
|
-
backup_db_file:
|
|
12
|
+
backup_db_file: Path | None = None,
|
|
13
13
|
*,
|
|
14
14
|
no_indexes: bool,
|
|
15
15
|
) -> None:
|
chia/cmds/db_upgrade_func.py
CHANGED
|
@@ -10,7 +10,7 @@ import textwrap
|
|
|
10
10
|
from contextlib import closing
|
|
11
11
|
from pathlib import Path
|
|
12
12
|
from time import monotonic
|
|
13
|
-
from typing import Any
|
|
13
|
+
from typing import Any
|
|
14
14
|
|
|
15
15
|
import zstd
|
|
16
16
|
|
|
@@ -25,8 +25,8 @@ from chia.util.path import path_from_root
|
|
|
25
25
|
# the configuration file also be updated
|
|
26
26
|
def db_upgrade_func(
|
|
27
27
|
root_path: Path,
|
|
28
|
-
in_db_path:
|
|
29
|
-
out_db_path:
|
|
28
|
+
in_db_path: Path | None = None,
|
|
29
|
+
out_db_path: Path | None = None,
|
|
30
30
|
*,
|
|
31
31
|
no_update_config: bool = False,
|
|
32
32
|
force: bool = False,
|
chia/cmds/db_validate_func.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
4
|
+
from typing import Any
|
|
5
5
|
|
|
6
6
|
from chia_rs import BlockRecord, FullBlock
|
|
7
7
|
from chia_rs.sized_bytes import bytes32
|
|
@@ -14,7 +14,7 @@ from chia.util.path import path_from_root
|
|
|
14
14
|
|
|
15
15
|
def db_validate_func(
|
|
16
16
|
root_path: Path,
|
|
17
|
-
in_db_path:
|
|
17
|
+
in_db_path: Path | None = None,
|
|
18
18
|
*,
|
|
19
19
|
validate_blocks: bool,
|
|
20
20
|
) -> None:
|
chia/cmds/dev/data.py
CHANGED
|
@@ -11,7 +11,7 @@ import tempfile
|
|
|
11
11
|
import time
|
|
12
12
|
from dataclasses import field
|
|
13
13
|
from pathlib import Path
|
|
14
|
-
from typing import Any
|
|
14
|
+
from typing import Any
|
|
15
15
|
|
|
16
16
|
import aiohttp
|
|
17
17
|
import anyio
|
|
@@ -40,8 +40,8 @@ class NonZeroReturnCodeError(Exception):
|
|
|
40
40
|
@dataclasses.dataclass
|
|
41
41
|
class RunResult:
|
|
42
42
|
process: asyncio.subprocess.Process
|
|
43
|
-
stdout:
|
|
44
|
-
stderr:
|
|
43
|
+
stdout: str | None
|
|
44
|
+
stderr: str | None
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
@click.group("data", help="For working with DataLayer")
|
|
@@ -77,7 +77,7 @@ class SyncTimeCommand:
|
|
|
77
77
|
store_id: bytes32 = option("--store-id", required=True)
|
|
78
78
|
profile_tasks: bool = option("--profile-tasks/--no-profile-tasks")
|
|
79
79
|
restart_all: bool = option("--restart-all/--no-restart-all")
|
|
80
|
-
working_path:
|
|
80
|
+
working_path: Path | None = option("--working-path", default=None)
|
|
81
81
|
prefer_db_kv_blob_length: int = option(
|
|
82
82
|
"--prefer-db-kv-blob-length",
|
|
83
83
|
default=default_prefer_file_kv_blob_length,
|
chia/cmds/dev/gh.py
CHANGED
|
@@ -6,9 +6,9 @@ import shlex
|
|
|
6
6
|
import urllib
|
|
7
7
|
import uuid
|
|
8
8
|
import webbrowser
|
|
9
|
-
from collections.abc import Sequence
|
|
9
|
+
from collections.abc import Callable, Sequence
|
|
10
10
|
from pathlib import Path
|
|
11
|
-
from typing import
|
|
11
|
+
from typing import ClassVar, Literal, overload
|
|
12
12
|
|
|
13
13
|
import anyio
|
|
14
14
|
import click
|
|
@@ -51,7 +51,7 @@ async def run_gh_api(method: Method, args: list[str], error: str, capture_stdout
|
|
|
51
51
|
async def run_gh_api(method: Method, args: list[str], error: str, capture_stdout: Literal[True]) -> str: ...
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
async def run_gh_api(method: Method, args: list[str], error: str, capture_stdout: bool = False) ->
|
|
54
|
+
async def run_gh_api(method: Method, args: list[str], error: str, capture_stdout: bool = False) -> str | None:
|
|
55
55
|
command = [
|
|
56
56
|
"gh",
|
|
57
57
|
"api",
|
|
@@ -112,7 +112,7 @@ class TestCMD:
|
|
|
112
112
|
workflow_id: ClassVar[str] = "test.yml"
|
|
113
113
|
owner: str = option("-w", "--owner", help="Owner of the repo", type=str, default="Chia-Network")
|
|
114
114
|
repository: str = option("-r", "--repository", help="Repository name", type=str, default="chia-blockchain")
|
|
115
|
-
ref:
|
|
115
|
+
ref: str | None = option(
|
|
116
116
|
"-f",
|
|
117
117
|
"--ref",
|
|
118
118
|
help="Branch or tag name (commit SHA not supported), if not specified will push HEAD to a temporary branch",
|
|
@@ -120,7 +120,7 @@ class TestCMD:
|
|
|
120
120
|
default=None,
|
|
121
121
|
)
|
|
122
122
|
per: Per = option("-p", "--per", help="Per", type=click.Choice(["directory", "file"]), default="directory")
|
|
123
|
-
only:
|
|
123
|
+
only: Path | None = option(
|
|
124
124
|
"-o", "--only", help="Only run this item, a file or directory depending on --per", type=Path
|
|
125
125
|
)
|
|
126
126
|
duplicates: int = option("-d", "--duplicates", help="Number of duplicates", type=int, default=1)
|
chia/cmds/dev/installers.py
CHANGED
|
@@ -3,7 +3,6 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
import subprocess
|
|
5
5
|
import tempfile
|
|
6
|
-
from typing import Optional
|
|
7
6
|
|
|
8
7
|
import click
|
|
9
8
|
import packaging.version
|
|
@@ -22,8 +21,8 @@ def check_plotter(plotter: list[str], expected_output: bytes, specify_tmp: bool
|
|
|
22
21
|
stderr=subprocess.PIPE,
|
|
23
22
|
stdout=subprocess.PIPE,
|
|
24
23
|
)
|
|
25
|
-
out:
|
|
26
|
-
err:
|
|
24
|
+
out: bytes | None
|
|
25
|
+
err: bytes | None
|
|
27
26
|
try:
|
|
28
27
|
out, err = process.communicate(timeout=2)
|
|
29
28
|
except subprocess.TimeoutExpired as e:
|
chia/cmds/dev/mempool.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
|
-
from typing import Optional
|
|
5
4
|
|
|
6
5
|
import click
|
|
7
6
|
|
|
@@ -27,7 +26,7 @@ def mempool_cmd(ctx: click.Context) -> None:
|
|
|
27
26
|
)
|
|
28
27
|
@click.argument("path", type=str)
|
|
29
28
|
@click.pass_context
|
|
30
|
-
def import_mempool_cmd(ctx: click.Context, rpc_port:
|
|
29
|
+
def import_mempool_cmd(ctx: click.Context, rpc_port: int | None, path: str) -> None:
|
|
31
30
|
import asyncio
|
|
32
31
|
|
|
33
32
|
with open(path) as file:
|
|
@@ -50,7 +49,7 @@ def import_mempool_cmd(ctx: click.Context, rpc_port: Optional[int], path: str) -
|
|
|
50
49
|
)
|
|
51
50
|
@click.argument("path", type=str)
|
|
52
51
|
@click.pass_context
|
|
53
|
-
def export_mempool_cmd(ctx: click.Context, rpc_port:
|
|
52
|
+
def export_mempool_cmd(ctx: click.Context, rpc_port: int | None, path: str) -> None:
|
|
54
53
|
import asyncio
|
|
55
54
|
|
|
56
55
|
asyncio.run(export_mempool_async(rpc_port, ChiaCliContext.set_default(ctx).root_path, path))
|
|
@@ -67,7 +66,7 @@ def export_mempool_cmd(ctx: click.Context, rpc_port: Optional[int], path: str) -
|
|
|
67
66
|
default=None,
|
|
68
67
|
)
|
|
69
68
|
@click.pass_context
|
|
70
|
-
def create_block_cmd(ctx: click.Context, rpc_port:
|
|
69
|
+
def create_block_cmd(ctx: click.Context, rpc_port: int | None) -> None:
|
|
71
70
|
import asyncio
|
|
72
71
|
|
|
73
72
|
asyncio.run(create_block_async(rpc_port, ChiaCliContext.set_default(ctx).root_path))
|
chia/cmds/dev/mempool_funcs.py
CHANGED
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
import time
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from typing import Any
|
|
6
|
+
from typing import Any
|
|
7
7
|
|
|
8
8
|
from chia_rs import SpendBundle
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ from chia.full_node.full_node_rpc_client import FullNodeRpcClient
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
async def import_mempool_async(
|
|
14
|
-
rpc_port:
|
|
14
|
+
rpc_port: int | None,
|
|
15
15
|
root_path: Path,
|
|
16
16
|
content: dict[str, Any],
|
|
17
17
|
) -> None:
|
|
@@ -32,7 +32,7 @@ async def import_mempool_async(
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
async def export_mempool_async(
|
|
35
|
-
rpc_port:
|
|
35
|
+
rpc_port: int | None,
|
|
36
36
|
root_path: Path,
|
|
37
37
|
path: str,
|
|
38
38
|
) -> None:
|
|
@@ -49,7 +49,7 @@ async def export_mempool_async(
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
async def create_block_async(
|
|
52
|
-
rpc_port:
|
|
52
|
+
rpc_port: int | None,
|
|
53
53
|
root_path: Path,
|
|
54
54
|
) -> None:
|
|
55
55
|
from chia.cmds.cmds_util import get_any_service_client
|
chia/cmds/dev/sim.py
CHANGED
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
from pathlib import Path
|
|
5
|
-
from typing import Any
|
|
5
|
+
from typing import Any
|
|
6
6
|
|
|
7
7
|
import click
|
|
8
8
|
|
|
@@ -33,7 +33,7 @@ from chia.util.default_root import SIMULATOR_ROOT_PATH
|
|
|
33
33
|
default="main",
|
|
34
34
|
)
|
|
35
35
|
@click.pass_context
|
|
36
|
-
def sim_cmd(ctx: click.Context, rpc_port:
|
|
36
|
+
def sim_cmd(ctx: click.Context, rpc_port: int | None, root_path: str, simulator_name: str) -> None:
|
|
37
37
|
context = ChiaCliContext.set_default(ctx)
|
|
38
38
|
context.root_path = Path(root_path) / simulator_name
|
|
39
39
|
context.rpc_port = rpc_port
|
|
@@ -64,11 +64,11 @@ def sim_cmd(ctx: click.Context, rpc_port: Optional[int], root_path: str, simulat
|
|
|
64
64
|
@click.pass_context
|
|
65
65
|
def create_simulator_config(
|
|
66
66
|
ctx: click.Context,
|
|
67
|
-
fingerprint:
|
|
68
|
-
reward_address:
|
|
69
|
-
plot_directory:
|
|
70
|
-
mnemonic:
|
|
71
|
-
auto_farm:
|
|
67
|
+
fingerprint: int | None,
|
|
68
|
+
reward_address: str | None,
|
|
69
|
+
plot_directory: str | None,
|
|
70
|
+
mnemonic: str | None,
|
|
71
|
+
auto_farm: bool | None,
|
|
72
72
|
docker_mode: bool,
|
|
73
73
|
no_bitfield: bool,
|
|
74
74
|
) -> None:
|
|
@@ -126,7 +126,7 @@ def sim_stop_cmd(ctx: click.Context, daemon: bool, wallet: bool) -> None:
|
|
|
126
126
|
@click.pass_context
|
|
127
127
|
def status_cmd(
|
|
128
128
|
ctx: click.Context,
|
|
129
|
-
fingerprint:
|
|
129
|
+
fingerprint: int | None,
|
|
130
130
|
show_key: bool,
|
|
131
131
|
show_coins: bool,
|
|
132
132
|
include_rewards: bool,
|