chia-blockchain 2.5.0rc2__py3-none-any.whl → 2.5.1rc2__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.0rc2.dist-info → chia_blockchain-2.5.1rc2.dist-info}/LICENSE +1 -1
- {chia_blockchain-2.5.0rc2.dist-info → chia_blockchain-2.5.1rc2.dist-info}/METADATA +67 -72
- chia_blockchain-2.5.1rc2.dist-info/RECORD +1042 -0
- {chia_blockchain-2.5.0rc2.dist-info → chia_blockchain-2.5.1rc2.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.0rc2.dist-info/RECORD +0 -1028
- {chia_blockchain-2.5.0rc2.dist-info → chia_blockchain-2.5.1rc2.dist-info}/entry_points.txt +0 -0
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import dataclasses
|
|
4
4
|
import logging
|
|
5
5
|
import time
|
|
6
|
-
from typing import
|
|
6
|
+
from typing import Optional
|
|
7
7
|
|
|
8
8
|
import aiosqlite
|
|
9
9
|
|
|
@@ -13,7 +13,12 @@ from chia.util.db_wrapper import DBWrapper2
|
|
|
13
13
|
from chia.util.errors import Err
|
|
14
14
|
from chia.util.ints import uint8, uint32
|
|
15
15
|
from chia.wallet.conditions import ConditionValidTimes
|
|
16
|
-
from chia.wallet.transaction_record import
|
|
16
|
+
from chia.wallet.transaction_record import (
|
|
17
|
+
LightTransactionRecord,
|
|
18
|
+
TransactionRecord,
|
|
19
|
+
TransactionRecordOld,
|
|
20
|
+
minimum_send_attempts,
|
|
21
|
+
)
|
|
17
22
|
from chia.wallet.transaction_sorting import SortKey
|
|
18
23
|
from chia.wallet.util.query_filter import FilterMode, TransactionTypeFilter
|
|
19
24
|
from chia.wallet.util.transaction_type import TransactionType
|
|
@@ -21,7 +26,7 @@ from chia.wallet.util.transaction_type import TransactionType
|
|
|
21
26
|
log = logging.getLogger(__name__)
|
|
22
27
|
|
|
23
28
|
|
|
24
|
-
def filter_ok_mempool_status(sent_to:
|
|
29
|
+
def filter_ok_mempool_status(sent_to: list[tuple[str, uint8, Optional[str]]]) -> list[tuple[str, uint8, Optional[str]]]:
|
|
25
30
|
"""Remove SUCCESS and PENDING status records from a TransactionRecord sent_to field"""
|
|
26
31
|
new_sent_to = []
|
|
27
32
|
for peer, status, err in sent_to:
|
|
@@ -36,7 +41,8 @@ class WalletTransactionStore:
|
|
|
36
41
|
"""
|
|
37
42
|
|
|
38
43
|
db_wrapper: DBWrapper2
|
|
39
|
-
tx_submitted:
|
|
44
|
+
tx_submitted: dict[bytes32, tuple[int, int]] # tx_id: [time submitted: count]
|
|
45
|
+
unconfirmed_txs: list[LightTransactionRecord] # tx_id: [time submitted: count]
|
|
40
46
|
last_wallet_tx_resend_time: int # Epoch time in seconds
|
|
41
47
|
|
|
42
48
|
@classmethod
|
|
@@ -83,7 +89,7 @@ class WalletTransactionStore:
|
|
|
83
89
|
try:
|
|
84
90
|
await conn.execute("CREATE TABLE tx_times(txid blob PRIMARY KEY, valid_times blob)")
|
|
85
91
|
async with await conn.execute("SELECT bundle_id from transaction_record") as cursor:
|
|
86
|
-
txids:
|
|
92
|
+
txids: list[bytes32] = [bytes32(row[0]) for row in await cursor.fetchall()]
|
|
87
93
|
await conn.executemany(
|
|
88
94
|
"INSERT INTO tx_times (txid, valid_times) VALUES(?, ?)",
|
|
89
95
|
[(id, bytes(ConditionValidTimes())) for id in txids],
|
|
@@ -93,6 +99,7 @@ class WalletTransactionStore:
|
|
|
93
99
|
|
|
94
100
|
self.tx_submitted = {}
|
|
95
101
|
self.last_wallet_tx_resend_time = int(time.time())
|
|
102
|
+
await self.load_unconfirmed()
|
|
96
103
|
return self
|
|
97
104
|
|
|
98
105
|
async def add_transaction_record(self, record: TransactionRecord) -> None:
|
|
@@ -138,6 +145,9 @@ class WalletTransactionStore:
|
|
|
138
145
|
await conn.execute_insert(
|
|
139
146
|
"INSERT OR REPLACE INTO tx_times VALUES (?, ?)", (record.name, bytes(record.valid_times))
|
|
140
147
|
)
|
|
148
|
+
ltx = get_light_transaction_record(record)
|
|
149
|
+
if record.confirmed is False and ltx not in self.unconfirmed_txs:
|
|
150
|
+
self.unconfirmed_txs.append(ltx)
|
|
141
151
|
|
|
142
152
|
async def delete_transaction_record(self, tx_id: bytes32) -> None:
|
|
143
153
|
async with self.db_wrapper.writer_maybe_transaction() as conn:
|
|
@@ -154,6 +164,7 @@ class WalletTransactionStore:
|
|
|
154
164
|
return
|
|
155
165
|
tx: TransactionRecord = dataclasses.replace(current, confirmed_at_height=height, confirmed=True)
|
|
156
166
|
await self.add_transaction_record(tx)
|
|
167
|
+
self.unconfirmed_txs.remove(get_light_transaction_record(current))
|
|
157
168
|
|
|
158
169
|
async def increment_sent(
|
|
159
170
|
self,
|
|
@@ -222,7 +233,7 @@ class WalletTransactionStore:
|
|
|
222
233
|
# queries the state and one that updates it. Also, include_accepted_txs=True
|
|
223
234
|
# might be a separate function too.
|
|
224
235
|
# also, the current time should be passed in as a parameter
|
|
225
|
-
async def get_not_sent(self, *, include_accepted_txs=False) ->
|
|
236
|
+
async def get_not_sent(self, *, include_accepted_txs=False) -> list[TransactionRecord]:
|
|
226
237
|
"""
|
|
227
238
|
Returns the list of transactions that have not been received by full node yet.
|
|
228
239
|
"""
|
|
@@ -256,7 +267,7 @@ class WalletTransactionStore:
|
|
|
256
267
|
|
|
257
268
|
return records
|
|
258
269
|
|
|
259
|
-
async def get_farming_rewards(self) ->
|
|
270
|
+
async def get_farming_rewards(self) -> list[TransactionRecord]:
|
|
260
271
|
"""
|
|
261
272
|
Returns the list of all farming rewards.
|
|
262
273
|
"""
|
|
@@ -269,15 +280,22 @@ class WalletTransactionStore:
|
|
|
269
280
|
)
|
|
270
281
|
return await self._get_new_tx_records_from_old([TransactionRecordOld.from_bytes(row[0]) for row in rows])
|
|
271
282
|
|
|
272
|
-
async def get_all_unconfirmed(self) ->
|
|
283
|
+
async def get_all_unconfirmed(self) -> list[LightTransactionRecord]:
|
|
273
284
|
"""
|
|
274
285
|
Returns the list of all transaction that have not yet been confirmed.
|
|
275
286
|
"""
|
|
287
|
+
return self.unconfirmed_txs
|
|
288
|
+
|
|
289
|
+
async def load_unconfirmed(self) -> None:
|
|
290
|
+
"""
|
|
291
|
+
loads the list of all transaction that have not yet been confirmed into the cache.
|
|
292
|
+
"""
|
|
276
293
|
async with self.db_wrapper.reader_no_transaction() as conn:
|
|
277
294
|
rows = await conn.execute_fetchall("SELECT transaction_record from transaction_record WHERE confirmed=0")
|
|
278
|
-
|
|
295
|
+
records = [TransactionRecordOld.from_bytes(row[0]) for row in rows]
|
|
296
|
+
self.unconfirmed_txs = [get_light_transaction_record(rec) for rec in records]
|
|
279
297
|
|
|
280
|
-
async def get_unconfirmed_for_wallet(self, wallet_id: int) ->
|
|
298
|
+
async def get_unconfirmed_for_wallet(self, wallet_id: int) -> list[TransactionRecord]:
|
|
281
299
|
"""
|
|
282
300
|
Returns the list of transaction that have not yet been confirmed.
|
|
283
301
|
"""
|
|
@@ -297,7 +315,7 @@ class WalletTransactionStore:
|
|
|
297
315
|
confirmed: Optional[bool] = None,
|
|
298
316
|
to_puzzle_hash: Optional[bytes32] = None,
|
|
299
317
|
type_filter: Optional[TransactionTypeFilter] = None,
|
|
300
|
-
) ->
|
|
318
|
+
) -> list[TransactionRecord]:
|
|
301
319
|
"""Return a list of transaction between start and end index. List is in reverse chronological order.
|
|
302
320
|
start = 0 is most recent transaction
|
|
303
321
|
"""
|
|
@@ -366,7 +384,9 @@ class WalletTransactionStore:
|
|
|
366
384
|
)
|
|
367
385
|
return 0 if len(rows) == 0 else rows[0][0]
|
|
368
386
|
|
|
369
|
-
async def get_all_transactions_for_wallet(
|
|
387
|
+
async def get_all_transactions_for_wallet(
|
|
388
|
+
self, wallet_id: int, type: Optional[int] = None
|
|
389
|
+
) -> list[TransactionRecord]:
|
|
370
390
|
"""
|
|
371
391
|
Returns all stored transactions.
|
|
372
392
|
"""
|
|
@@ -385,7 +405,7 @@ class WalletTransactionStore:
|
|
|
385
405
|
)
|
|
386
406
|
return await self._get_new_tx_records_from_old([TransactionRecordOld.from_bytes(row[0]) for row in rows])
|
|
387
407
|
|
|
388
|
-
async def get_all_transactions(self) ->
|
|
408
|
+
async def get_all_transactions(self) -> list[TransactionRecord]:
|
|
389
409
|
"""
|
|
390
410
|
Returns all stored transactions.
|
|
391
411
|
"""
|
|
@@ -393,7 +413,7 @@ class WalletTransactionStore:
|
|
|
393
413
|
rows = await conn.execute_fetchall("SELECT transaction_record from transaction_record")
|
|
394
414
|
return await self._get_new_tx_records_from_old([TransactionRecordOld.from_bytes(row[0]) for row in rows])
|
|
395
415
|
|
|
396
|
-
async def get_transaction_above(self, height: int) ->
|
|
416
|
+
async def get_transaction_above(self, height: int) -> list[TransactionRecord]:
|
|
397
417
|
# Can be -1 (get all tx)
|
|
398
418
|
|
|
399
419
|
async with self.db_wrapper.reader_no_transaction() as conn:
|
|
@@ -402,7 +422,7 @@ class WalletTransactionStore:
|
|
|
402
422
|
)
|
|
403
423
|
return await self._get_new_tx_records_from_old([TransactionRecordOld.from_bytes(row[0]) for row in rows])
|
|
404
424
|
|
|
405
|
-
async def get_transactions_by_trade_id(self, trade_id: bytes32) ->
|
|
425
|
+
async def get_transactions_by_trade_id(self, trade_id: bytes32) -> list[TransactionRecord]:
|
|
406
426
|
async with self.db_wrapper.reader_no_transaction() as conn:
|
|
407
427
|
rows = await conn.execute_fetchall(
|
|
408
428
|
"SELECT transaction_record from transaction_record WHERE trade_id=?", (trade_id,)
|
|
@@ -428,11 +448,11 @@ class WalletTransactionStore:
|
|
|
428
448
|
)
|
|
429
449
|
).close()
|
|
430
450
|
|
|
431
|
-
async def _get_new_tx_records_from_old(self, old_records:
|
|
432
|
-
tx_id_to_valid_times:
|
|
451
|
+
async def _get_new_tx_records_from_old(self, old_records: list[TransactionRecordOld]) -> list[TransactionRecord]:
|
|
452
|
+
tx_id_to_valid_times: dict[bytes, ConditionValidTimes] = {}
|
|
433
453
|
empty_valid_times = ConditionValidTimes()
|
|
434
454
|
async with self.db_wrapper.reader_no_transaction() as conn:
|
|
435
|
-
chunked_records:
|
|
455
|
+
chunked_records: list[list[TransactionRecordOld]] = [
|
|
436
456
|
old_records[i : min(len(old_records), i + self.db_wrapper.host_parameter_limit)]
|
|
437
457
|
for i in range(0, len(old_records), self.db_wrapper.host_parameter_limit)
|
|
438
458
|
]
|
|
@@ -468,3 +488,9 @@ class WalletTransactionStore:
|
|
|
468
488
|
)
|
|
469
489
|
for record in old_records
|
|
470
490
|
]
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
def get_light_transaction_record(rec: TransactionRecordOld) -> LightTransactionRecord:
|
|
494
|
+
return LightTransactionRecord(
|
|
495
|
+
name=rec.name, additions=rec.additions, removals=rec.removals, type=rec.type, spend_bundle=rec.spend_bundle
|
|
496
|
+
)
|
chia/wallet/wallet_user_store.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Optional
|
|
4
4
|
|
|
5
5
|
from chia.util.db_wrapper import DBWrapper2, execute_fetchone
|
|
6
6
|
from chia.util.ints import uint32
|
|
@@ -86,7 +86,7 @@ class WalletUserStore:
|
|
|
86
86
|
|
|
87
87
|
return None if row is None else await self.get_wallet_by_id(row[0])
|
|
88
88
|
|
|
89
|
-
async def get_all_wallet_info_entries(self, wallet_type: Optional[WalletType] = None) ->
|
|
89
|
+
async def get_all_wallet_info_entries(self, wallet_type: Optional[WalletType] = None) -> list[WalletInfo]:
|
|
90
90
|
"""
|
|
91
91
|
Return a set containing all wallets, optionally with a specific WalletType
|
|
92
92
|
"""
|
|
@@ -6,7 +6,7 @@ import tempfile
|
|
|
6
6
|
import time
|
|
7
7
|
from concurrent.futures.process import ProcessPoolExecutor
|
|
8
8
|
from multiprocessing.context import BaseContext
|
|
9
|
-
from typing import IO,
|
|
9
|
+
from typing import IO, Optional
|
|
10
10
|
|
|
11
11
|
from chia.consensus.block_record import BlockRecord
|
|
12
12
|
from chia.consensus.constants import ConsensusConstants
|
|
@@ -44,7 +44,7 @@ class WalletWeightProofHandler:
|
|
|
44
44
|
|
|
45
45
|
async def validate_weight_proof(
|
|
46
46
|
self, weight_proof: WeightProof, skip_segment_validation: bool = False, old_proof: Optional[WeightProof] = None
|
|
47
|
-
) ->
|
|
47
|
+
) -> list[BlockRecord]:
|
|
48
48
|
start_time = time.time()
|
|
49
49
|
summaries, sub_epoch_weight_list = _validate_sub_epoch_summaries(self._constants, weight_proof)
|
|
50
50
|
await asyncio.sleep(0) # break up otherwise multi-second sync code
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2025 Chia Network Inc.
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
|
@@ -1,85 +1,80 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: chia-blockchain
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.1rc2
|
|
4
4
|
Summary: Chia blockchain full node, farmer, timelord, and wallet.
|
|
5
|
-
|
|
6
|
-
License: Apache License
|
|
5
|
+
License: Apache-2.0
|
|
7
6
|
Keywords: chia,blockchain,node
|
|
8
7
|
Author: Mariano Sorgente
|
|
9
8
|
Author-email: mariano@chia.net
|
|
10
|
-
Requires-Python: >=3.9
|
|
11
|
-
Classifier: License ::
|
|
9
|
+
Requires-Python: >=3.9, <4
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
17
|
Provides-Extra: dev
|
|
18
18
|
Provides-Extra: legacy-keyring
|
|
19
19
|
Provides-Extra: upnp
|
|
20
|
-
Requires-Dist: aiofiles (
|
|
21
|
-
Requires-Dist: aiohttp (
|
|
22
|
-
Requires-Dist: aiohttp_cors (
|
|
23
|
-
Requires-Dist: aiosqlite (
|
|
24
|
-
Requires-Dist: anyio (
|
|
25
|
-
Requires-Dist: bitstring (
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist:
|
|
59
|
-
Requires-Dist:
|
|
60
|
-
Requires-Dist:
|
|
61
|
-
Requires-Dist:
|
|
62
|
-
Requires-Dist:
|
|
63
|
-
Requires-Dist:
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist:
|
|
66
|
-
Requires-Dist:
|
|
67
|
-
Requires-Dist:
|
|
68
|
-
Requires-Dist:
|
|
69
|
-
Requires-Dist:
|
|
70
|
-
Requires-Dist: pyyaml (
|
|
71
|
-
Requires-Dist:
|
|
72
|
-
Requires-Dist:
|
|
73
|
-
Requires-Dist:
|
|
74
|
-
Requires-Dist:
|
|
75
|
-
Requires-Dist:
|
|
76
|
-
Requires-Dist: types-pyyaml (==6.0.12.20240311) ; extra == "dev"
|
|
77
|
-
Requires-Dist: types-setuptools (==70.0.0.20240524) ; extra == "dev"
|
|
78
|
-
Requires-Dist: typing-extensions (==4.11.0)
|
|
79
|
-
Requires-Dist: watchdog (==4.0.1)
|
|
80
|
-
Requires-Dist: zstd (==1.5.5.1) ; python_version < "3.12"
|
|
81
|
-
Requires-Dist: zstd (==1.5.5.1) ; python_version == "3.12"
|
|
20
|
+
Requires-Dist: aiofiles (>=24.1.0)
|
|
21
|
+
Requires-Dist: aiohttp (>=3.10.4)
|
|
22
|
+
Requires-Dist: aiohttp_cors (>=0.7.0) ; extra == "dev"
|
|
23
|
+
Requires-Dist: aiosqlite (>=0.20.0)
|
|
24
|
+
Requires-Dist: anyio (>=4.6.2.post1)
|
|
25
|
+
Requires-Dist: bitstring (>=4.1.4)
|
|
26
|
+
Requires-Dist: boto3 (>=1.35.43)
|
|
27
|
+
Requires-Dist: build (>=1.2.1) ; extra == "dev"
|
|
28
|
+
Requires-Dist: chia_rs (>=0.18.0)
|
|
29
|
+
Requires-Dist: chiabip158 (>=1.5.1)
|
|
30
|
+
Requires-Dist: chiapos (>=2.0.9rc1)
|
|
31
|
+
Requires-Dist: chiavdf (>=1.1.8)
|
|
32
|
+
Requires-Dist: click (>=8.1.7)
|
|
33
|
+
Requires-Dist: clvm (>=0.9.11)
|
|
34
|
+
Requires-Dist: clvm_tools (>=0.4.9)
|
|
35
|
+
Requires-Dist: clvm_tools_rs (>=0.1.45)
|
|
36
|
+
Requires-Dist: colorama (>=0.4.6)
|
|
37
|
+
Requires-Dist: colorlog (>=6.9.0)
|
|
38
|
+
Requires-Dist: concurrent_log_handler (>=0.9.25)
|
|
39
|
+
Requires-Dist: coverage (>=7.6.4) ; extra == "dev"
|
|
40
|
+
Requires-Dist: cryptography (>=43.0.1)
|
|
41
|
+
Requires-Dist: diff-cover (>=9.2.0) ; extra == "dev"
|
|
42
|
+
Requires-Dist: dnslib (>=0.9.25)
|
|
43
|
+
Requires-Dist: dnspython (>=2.6.1)
|
|
44
|
+
Requires-Dist: filelock (>=3.16.1)
|
|
45
|
+
Requires-Dist: hsms (>=0.3.1)
|
|
46
|
+
Requires-Dist: importlib-resources (>=6.4.5)
|
|
47
|
+
Requires-Dist: keyring (>=25.5.0)
|
|
48
|
+
Requires-Dist: keyrings.cryptfile (>=1.3.9) ; extra == "legacy-keyring"
|
|
49
|
+
Requires-Dist: lxml (>=5.2.2) ; extra == "dev"
|
|
50
|
+
Requires-Dist: miniupnpc (>=2.2.2) ; extra == "upnp"
|
|
51
|
+
Requires-Dist: mypy (>=1.11.1) ; extra == "dev"
|
|
52
|
+
Requires-Dist: packaging (>=24.0)
|
|
53
|
+
Requires-Dist: pip (>=24.2)
|
|
54
|
+
Requires-Dist: pre-commit (>=3.7.1) ; extra == "dev"
|
|
55
|
+
Requires-Dist: psutil (>=6.1.0)
|
|
56
|
+
Requires-Dist: py3createtorrent (>=1.2.1) ; extra == "dev"
|
|
57
|
+
Requires-Dist: pyinstaller (>=6.9.0) ; (python_version < "3.13") and (extra == "dev")
|
|
58
|
+
Requires-Dist: pytest (>=8.3.3) ; extra == "dev"
|
|
59
|
+
Requires-Dist: pytest-cov (>=5.0.0) ; extra == "dev"
|
|
60
|
+
Requires-Dist: pytest-mock (>=3.14.0) ; extra == "dev"
|
|
61
|
+
Requires-Dist: pytest-monitor (>=1.6.6) ; (sys_platform == "linux") and (extra == "dev")
|
|
62
|
+
Requires-Dist: pytest-xdist (>=3.6.1) ; extra == "dev"
|
|
63
|
+
Requires-Dist: pyyaml (>=6.0.2)
|
|
64
|
+
Requires-Dist: ruff (>=0.8.1) ; extra == "dev"
|
|
65
|
+
Requires-Dist: setproctitle (>=1.3.3)
|
|
66
|
+
Requires-Dist: setuptools (>=75.5.0)
|
|
67
|
+
Requires-Dist: sortedcontainers (>=2.4.0)
|
|
68
|
+
Requires-Dist: types-aiofiles (>=24.1.0.20240626) ; extra == "dev"
|
|
69
|
+
Requires-Dist: types-cryptography (>=3.3.23.2) ; extra == "dev"
|
|
70
|
+
Requires-Dist: types-pyyaml (>=6.0.12.20240917) ; extra == "dev"
|
|
71
|
+
Requires-Dist: types-setuptools (>=75.5.0.20241122) ; extra == "dev"
|
|
72
|
+
Requires-Dist: typing-extensions (>=4.12.2)
|
|
73
|
+
Requires-Dist: watchdog (>=4.0.1)
|
|
74
|
+
Requires-Dist: zstd (>=1.5.5.1) ; python_version < "3.12"
|
|
75
|
+
Requires-Dist: zstd (>=1.5.5.1) ; python_version == "3.12"
|
|
82
76
|
Project-URL: Changelog, https://github.com/Chia-Network/chia-blockchain/blob/main/CHANGELOG.md
|
|
77
|
+
Project-URL: Homepage, https://chia.net/
|
|
83
78
|
Project-URL: Source, https://github.com/Chia-Network/chia-blockchain/
|
|
84
79
|
Description-Content-Type: text/markdown
|
|
85
80
|
|
|
@@ -89,7 +84,7 @@ Description-Content-Type: text/markdown
|
|
|
89
84
|
|
|
90
85
|
| Releases | Repo Stats | Socials |
|
|
91
86
|
| ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
92
|
-
| [![Latest Release][badge-release]][link-latest] <br /> [![Latest RC][badge-rc]][link-release] <br /> [![Latest Beta][badge-beta]][link-release] | [![Coverage][badge-coverage]][link-coverage] <br /> [![Downloads][badge-downloads]][link-downloads] <br /> [![Commits][badge-commits]][link-commits] <br /> [![
|
|
87
|
+
| [![Latest Release][badge-release]][link-latest] <br /> [![Latest RC][badge-rc]][link-release] <br /> [![Latest Beta][badge-beta]][link-release] | [![Coverage][badge-coverage]][link-coverage] <br /> [![Downloads][badge-downloads]][link-downloads] <br /> [![Commits][badge-commits]][link-commits] <br /> [![Contributors][badge-contributors]][link-contributors] | [![Discord][badge-discord]][link-discord] <br /> [![YouTube][badge-youtube]][link-youtube] <br /> [![Reddit][badge-reddit]][link-reddit] <br /> [![Twitter][badge-twitter]][link-twitter] |
|
|
93
88
|
|
|
94
89
|
Chia is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure. Here are some of the features and benefits:
|
|
95
90
|
|
|
@@ -105,7 +100,7 @@ Chia is a modern cryptocurrency built from scratch, designed to be efficient, de
|
|
|
105
100
|
|
|
106
101
|
Please check out the [Chia website][link-chia], the [Intro to Chia][link-intro], and [FAQ][link-faq] for information on this project.
|
|
107
102
|
|
|
108
|
-
Python 3.
|
|
103
|
+
Python 3.9+ is required. Make sure your default python version is >=3.9 by typing `python3`.
|
|
109
104
|
|
|
110
105
|
If you are behind a NAT, it can be difficult for peers outside your subnet to reach you when they start up. You can enable [UPnP][link-upnp]
|
|
111
106
|
on your router or add a NAT (for IPv4 but not IPv6) and firewall rules to allow TCP port 8444 access to your peer.
|
|
@@ -127,7 +122,7 @@ Once installed, an [Intro to Chia][link-intro] guide is available in the [Chia D
|
|
|
127
122
|
[badge-beta]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdownload.chia.net%2Flatest%2Fbadge-data-beta.json&query=%24.message&logo=chianetwork&logoColor=black&label=Latest%20Beta&labelColor=%23e9fbbc&color=%231e2b2e
|
|
128
123
|
[badge-beta2]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdownload.chia.net%2Flatest%2Fbadge-data-beta.json&query=%24.message&logo=chianetwork&logoColor=%23e9fbbc&label=Latest%20Beta&labelColor=%23474748&color=%231e2b2e&link=https%3A%2F%2Fgithub.com%2FChia-Network%2Fchia-blockchain%2Freleases&link=https%3A%2F%2Fgithub.com%2FChia-Network%2Fchia-blockchain%2Freleases
|
|
129
124
|
[badge-commits]: https://img.shields.io/github/commit-activity/w/Chia-Network/chia-blockchain?logo=GitHub
|
|
130
|
-
[badge-
|
|
125
|
+
[badge-contributors]: https://img.shields.io/github/contributors/Chia-Network/chia-blockchain?logo=GitHub
|
|
131
126
|
[badge-coverage]: https://img.shields.io/coverallsCoverage/github/Chia-Network/chia-blockchain?logo=Coveralls&logoColor=red&labelColor=%23212F39
|
|
132
127
|
[badge-discord]: https://dcbadge.vercel.app/api/server/chia?style=flat-square&theme=full-presence
|
|
133
128
|
[badge-discord2]: https://img.shields.io/discord/1034523881404370984.svg?label=Discord&logo=discord&colorB=1e2b2f
|
|
@@ -141,7 +136,7 @@ Once installed, an [Intro to Chia][link-intro] guide is available in the [Chia D
|
|
|
141
136
|
[link-chialisp]: https://chialisp.com/
|
|
142
137
|
[link-commits]: https://github.com/Chia-Network/chia-blockchain/commits/main/
|
|
143
138
|
[link-consensus]: https://docs.chia.net/consensus-intro/
|
|
144
|
-
[link-
|
|
139
|
+
[link-contributors]: https://github.com/Chia-Network/chia-blockchain/graphs/contributors
|
|
145
140
|
[link-coverage]: https://coveralls.io/github/Chia-Network/chia-blockchain
|
|
146
141
|
[link-discord]: https://discord.gg/chia
|
|
147
142
|
[link-docs]: https://docs.chia.net/docs-home/
|