chia-blockchain 2.5.2rc1__py3-none-any.whl → 2.5.3__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 +7 -0
- chia/_tests/blockchain/blockchain_test_utils.py +1 -1
- chia/_tests/blockchain/test_augmented_chain.py +54 -5
- chia/_tests/blockchain/test_blockchain.py +5 -12
- chia/_tests/blockchain/test_blockchain_transactions.py +3 -5
- chia/_tests/blockchain/test_get_block_generator.py +2 -2
- chia/_tests/blockchain/test_lookup_fork_chain.py +2 -2
- chia/_tests/clvm/benchmark_costs.py +2 -1
- chia/_tests/clvm/coin_store.py +4 -3
- chia/_tests/clvm/test_chialisp_deserialization.py +2 -2
- chia/_tests/clvm/test_curry_and_treehash.py +1 -1
- chia/_tests/clvm/test_puzzle_compression.py +2 -2
- chia/_tests/clvm/test_puzzles.py +2 -2
- chia/_tests/clvm/test_singletons.py +2 -2
- chia/_tests/clvm/test_spend_sim.py +1 -1
- chia/_tests/cmds/cmd_test_utils.py +2 -2
- chia/_tests/cmds/test_click_types.py +2 -2
- chia/_tests/cmds/test_cmd_framework.py +6 -6
- chia/_tests/cmds/test_show.py +4 -3
- chia/_tests/cmds/test_tx_config_args.py +1 -1
- chia/_tests/cmds/testing_classes.py +2 -2
- chia/_tests/cmds/wallet/test_consts.py +2 -2
- chia/_tests/cmds/wallet/test_did.py +2 -2
- chia/_tests/cmds/wallet/test_nft.py +2 -2
- chia/_tests/cmds/wallet/test_notifications.py +3 -2
- chia/_tests/cmds/wallet/test_vcs.py +2 -2
- chia/_tests/cmds/wallet/test_wallet.py +4 -8
- chia/_tests/conftest.py +4 -3
- chia/_tests/connection_utils.py +2 -2
- chia/_tests/core/cmds/test_keys.py +1 -2
- chia/_tests/core/cmds/test_wallet.py +2 -2
- chia/_tests/core/consensus/test_block_creation.py +2 -2
- chia/_tests/core/consensus/test_pot_iterations.py +1 -1
- chia/_tests/core/custom_types/test_coin.py +2 -2
- chia/_tests/core/custom_types/test_proof_of_space.py +2 -2
- chia/_tests/core/custom_types/test_spend_bundle.py +2 -2
- chia/_tests/core/data_layer/conftest.py +1 -1
- chia/_tests/core/data_layer/test_data_layer.py +1 -1
- chia/_tests/core/data_layer/test_data_layer_util.py +1 -1
- chia/_tests/core/data_layer/test_data_rpc.py +2 -2
- chia/_tests/core/data_layer/test_data_store.py +1 -1
- chia/_tests/core/data_layer/test_data_store_schema.py +1 -1
- chia/_tests/core/data_layer/util.py +2 -1
- chia/_tests/core/farmer/test_farmer_api.py +1 -1
- chia/_tests/core/full_node/full_sync/test_full_sync.py +1 -7
- chia/_tests/core/full_node/ram_db.py +2 -1
- chia/_tests/core/full_node/stores/test_block_store.py +2 -2
- chia/_tests/core/full_node/stores/test_coin_store.py +2 -2
- chia/_tests/core/full_node/stores/test_full_node_store.py +3 -3
- chia/_tests/core/full_node/stores/test_hint_store.py +2 -2
- chia/_tests/core/full_node/stores/test_sync_store.py +1 -1
- chia/_tests/core/full_node/test_address_manager.py +1 -1
- chia/_tests/core/full_node/test_block_height_map.py +2 -2
- chia/_tests/core/full_node/test_conditions.py +1 -1
- chia/_tests/core/full_node/test_full_node.py +346 -164
- chia/_tests/core/full_node/test_generator_tools.py +3 -2
- chia/_tests/core/full_node/test_hint_management.py +2 -2
- chia/_tests/core/full_node/test_performance.py +2 -15
- chia/_tests/core/full_node/test_subscriptions.py +1 -1
- chia/_tests/core/full_node/test_transactions.py +186 -185
- chia/_tests/core/full_node/test_tx_processing_queue.py +1 -1
- chia/_tests/core/make_block_generator.py +2 -2
- chia/_tests/core/mempool/test_mempool.py +165 -22
- chia/_tests/core/mempool/test_mempool_fee_estimator.py +1 -1
- chia/_tests/core/mempool/test_mempool_fee_protocol.py +1 -1
- chia/_tests/core/mempool/test_mempool_manager.py +476 -66
- chia/_tests/core/mempool/test_mempool_performance.py +2 -2
- chia/_tests/core/mempool/test_singleton_fast_forward.py +19 -25
- chia/_tests/core/node_height.py +2 -1
- chia/_tests/core/server/test_capabilities.py +1 -1
- chia/_tests/core/server/test_dos.py +36 -28
- chia/_tests/core/server/test_loop.py +3 -3
- chia/_tests/core/server/test_rate_limits.py +1 -1
- chia/_tests/core/server/test_server.py +2 -2
- chia/_tests/core/services/test_services.py +1 -1
- chia/_tests/core/ssl/test_ssl.py +1 -1
- chia/_tests/core/test_coins.py +2 -1
- chia/_tests/core/test_cost_calculation.py +2 -2
- chia/_tests/core/test_crawler.py +2 -2
- chia/_tests/core/test_db_conversion.py +2 -2
- chia/_tests/core/test_db_validation.py +26 -13
- chia/_tests/core/test_farmer_harvester_rpc.py +2 -2
- chia/_tests/core/test_full_node_rpc.py +2 -2
- chia/_tests/core/test_merkle_set.py +2 -2
- chia/_tests/core/test_program.py +2 -2
- chia/_tests/core/test_rpc_util.py +1 -1
- chia/_tests/core/test_seeder.py +1 -1
- chia/_tests/core/util/test_block_cache.py +3 -3
- chia/_tests/core/util/test_jsonify.py +3 -2
- chia/_tests/core/util/test_keychain.py +3 -3
- chia/_tests/core/util/test_streamable.py +3 -4
- chia/_tests/environments/wallet.py +3 -2
- chia/_tests/farmer_harvester/test_farmer.py +3 -4
- chia/_tests/farmer_harvester/test_farmer_harvester.py +2 -2
- chia/_tests/farmer_harvester/test_filter_prefix_bits.py +2 -2
- chia/_tests/farmer_harvester/test_third_party_harvesters.py +3 -4
- chia/_tests/fee_estimation/test_fee_estimation_integration.py +1 -1
- chia/_tests/fee_estimation/test_fee_estimation_rpc.py +2 -2
- chia/_tests/fee_estimation/test_fee_estimation_unit_tests.py +1 -1
- chia/_tests/fee_estimation/test_mempoolitem_height_added.py +3 -4
- chia/_tests/generator/test_compression.py +20 -10
- chia/_tests/generator/test_rom.py +7 -9
- chia/_tests/plot_sync/test_delta.py +2 -2
- chia/_tests/plot_sync/test_plot_sync.py +2 -2
- chia/_tests/plot_sync/test_receiver.py +2 -2
- chia/_tests/plot_sync/test_sender.py +2 -2
- chia/_tests/plot_sync/test_sync_simulated.py +2 -2
- chia/_tests/plot_sync/util.py +3 -2
- chia/_tests/plotting/test_plot_manager.py +1 -1
- chia/_tests/pools/test_pool_cli_parsing.py +3 -2
- chia/_tests/pools/test_pool_cmdline.py +2 -2
- chia/_tests/pools/test_pool_puzzles_lifecycle.py +3 -3
- chia/_tests/pools/test_pool_rpc.py +4 -5
- chia/_tests/pools/test_pool_wallet.py +1 -1
- chia/_tests/pools/test_wallet_pool_store.py +2 -2
- chia/_tests/rpc/test_rpc_client.py +1 -1
- chia/_tests/rpc/test_rpc_server.py +1 -1
- chia/_tests/simulation/test_simulation.py +36 -8
- chia/_tests/simulation/test_simulator.py +5 -5
- chia/_tests/simulation/test_start_simulator.py +2 -2
- chia/_tests/timelord/test_new_peak.py +2 -2
- chia/_tests/tools/test_run_block.py +3 -2
- chia/_tests/util/benchmark_cost.py +2 -2
- chia/_tests/util/benchmarks.py +17 -6
- chia/_tests/util/blockchain.py +2 -1
- chia/_tests/util/blockchain_mock.py +9 -5
- chia/_tests/util/build_network_protocol_files.py +2 -1
- chia/_tests/util/constants.py +2 -1
- chia/_tests/util/full_sync.py +6 -3
- chia/_tests/util/gen_ssl_certs.py +2 -2
- chia/_tests/util/generator_tools_testing.py +4 -3
- chia/_tests/util/get_name_puzzle_conditions.py +2 -2
- chia/_tests/util/misc.py +16 -2
- chia/_tests/util/network_protocol_data.py +17 -7
- chia/_tests/util/run_block.py +6 -8
- chia/_tests/util/setup_nodes.py +4 -3
- chia/_tests/util/spend_sim.py +9 -5
- chia/_tests/util/test_condition_tools.py +2 -2
- chia/_tests/util/test_config.py +2 -1
- chia/_tests/util/test_errors.py +2 -1
- chia/_tests/util/test_full_block_utils.py +17 -7
- chia/_tests/util/test_misc.py +1 -1
- chia/_tests/util/test_network_protocol_test.py +24 -24
- chia/_tests/util/test_replace_str_to_bytes.py +2 -2
- chia/_tests/util/test_trusted_peer.py +1 -1
- chia/_tests/util/time_out_assert.py +20 -7
- chia/_tests/wallet/cat_wallet/test_cat_lifecycle.py +1 -1
- chia/_tests/wallet/cat_wallet/test_cat_outer_puzzle.py +2 -2
- chia/_tests/wallet/cat_wallet/test_cat_wallet.py +5 -6
- chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py +17 -15
- chia/_tests/wallet/cat_wallet/test_trades.py +2 -2
- chia/_tests/wallet/clawback/test_clawback_lifecycle.py +2 -2
- chia/_tests/wallet/clawback/test_clawback_metadata.py +2 -2
- chia/_tests/wallet/conftest.py +3 -3
- chia/_tests/wallet/db_wallet/test_db_graftroot.py +3 -5
- chia/_tests/wallet/db_wallet/test_dl_offers.py +2 -2
- chia/_tests/wallet/db_wallet/test_dl_wallet.py +433 -384
- chia/_tests/wallet/did_wallet/test_did.py +3 -3
- chia/_tests/wallet/nft_wallet/test_nft_1_offers.py +2 -2
- chia/_tests/wallet/nft_wallet/test_nft_bulk_mint.py +2 -2
- chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py +3 -4
- chia/_tests/wallet/nft_wallet/test_nft_offers.py +1293 -703
- chia/_tests/wallet/nft_wallet/test_nft_puzzles.py +28 -30
- chia/_tests/wallet/nft_wallet/test_nft_wallet.py +2 -2
- chia/_tests/wallet/nft_wallet/test_ownership_outer_puzzle.py +2 -2
- chia/_tests/wallet/rpc/config.py +1 -1
- chia/_tests/wallet/rpc/test_dl_wallet_rpc.py +2 -2
- chia/_tests/wallet/rpc/test_wallet_rpc.py +20 -77
- chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py +9 -7
- chia/_tests/wallet/sync/test_wallet_sync.py +79 -31
- chia/_tests/wallet/test_clvm_streamable.py +2 -2
- chia/_tests/wallet/test_coin_management.py +7 -7
- chia/_tests/wallet/test_coin_selection.py +20 -2
- chia/_tests/wallet/test_conditions.py +2 -2
- chia/_tests/wallet/test_debug_spend_bundle.py +2 -2
- chia/_tests/wallet/test_new_wallet_protocol.py +2 -2
- chia/_tests/wallet/test_nft_store.py +2 -2
- chia/_tests/wallet/test_notifications.py +2 -2
- chia/_tests/wallet/test_puzzle_store.py +2 -2
- chia/_tests/wallet/test_sign_coin_spends.py +2 -2
- chia/_tests/wallet/test_signer_protocol.py +3 -3
- chia/_tests/wallet/test_singleton.py +3 -11
- chia/_tests/wallet/test_singleton_lifecycle_fast.py +12 -13
- chia/_tests/wallet/test_singleton_store.py +2 -4
- chia/_tests/wallet/test_transaction_store.py +2 -2
- chia/_tests/wallet/test_util.py +2 -2
- chia/_tests/wallet/test_wallet.py +53 -49
- chia/_tests/wallet/test_wallet_action_scope.py +24 -6
- chia/_tests/wallet/test_wallet_blockchain.py +1 -1
- chia/_tests/wallet/test_wallet_coin_store.py +2 -2
- chia/_tests/wallet/test_wallet_interested_store.py +2 -2
- chia/_tests/wallet/test_wallet_node.py +3 -3
- chia/_tests/wallet/test_wallet_retry.py +3 -3
- chia/_tests/wallet/test_wallet_state_manager.py +8 -8
- chia/_tests/wallet/test_wallet_test_framework.py +1 -1
- chia/_tests/wallet/test_wallet_trade_store.py +2 -2
- chia/_tests/wallet/test_wallet_utils.py +2 -2
- chia/_tests/wallet/vc_wallet/test_cr_outer_puzzle.py +3 -2
- chia/_tests/wallet/vc_wallet/test_vc_lifecycle.py +15 -15
- chia/_tests/wallet/vc_wallet/test_vc_wallet.py +5 -3
- chia/_tests/wallet/wallet_block_tools.py +15 -7
- chia/_tests/weight_proof/test_weight_proof.py +3 -3
- chia/cmds/chia.py +0 -2
- chia/cmds/cmd_classes.py +3 -3
- chia/cmds/cmd_helpers.py +4 -4
- chia/cmds/cmds_util.py +2 -2
- chia/cmds/coin_funcs.py +3 -2
- chia/cmds/coins.py +1 -1
- chia/cmds/data.py +2 -2
- chia/cmds/data_funcs.py +3 -2
- chia/cmds/db_upgrade_func.py +2 -2
- chia/cmds/db_validate_func.py +15 -8
- chia/cmds/farm.py +2 -4
- chia/cmds/keys.py +0 -2
- chia/cmds/keys_funcs.py +1 -1
- chia/cmds/netspace_funcs.py +2 -1
- chia/cmds/param_types.py +2 -2
- chia/cmds/plotnft.py +2 -2
- chia/cmds/plotnft_funcs.py +2 -2
- chia/cmds/rpc.py +1 -1
- chia/cmds/show.py +1 -2
- chia/cmds/show_funcs.py +6 -3
- chia/cmds/signer.py +1 -2
- chia/cmds/sim.py +1 -2
- chia/cmds/sim_funcs.py +2 -2
- chia/cmds/wallet.py +2 -2
- chia/cmds/wallet_funcs.py +4 -11
- chia/consensus/block_body_validation.py +3 -4
- chia/consensus/block_creation.py +10 -6
- chia/consensus/block_header_validation.py +3 -4
- chia/consensus/block_record.py +2 -3
- chia/consensus/block_rewards.py +1 -1
- chia/consensus/blockchain.py +20 -17
- chia/consensus/blockchain_interface.py +5 -4
- chia/consensus/coinbase.py +2 -2
- chia/consensus/constants.py +1 -1
- chia/consensus/cost_calculator.py +2 -1
- chia/consensus/default_constants.py +4 -3
- chia/consensus/deficit.py +3 -2
- chia/consensus/difficulty_adjustment.py +8 -9
- chia/consensus/find_fork_point.py +4 -3
- chia/consensus/full_block_to_block_record.py +4 -3
- chia/consensus/get_block_challenge.py +4 -3
- chia/consensus/get_block_generator.py +3 -2
- chia/consensus/make_sub_epoch_summary.py +3 -2
- chia/consensus/multiprocess_validation.py +9 -4
- chia/consensus/pos_quality.py +1 -1
- chia/consensus/pot_iterations.py +4 -3
- chia/consensus/vdf_info_computation.py +4 -3
- chia/daemon/client.py +1 -1
- chia/daemon/keychain_server.py +1 -1
- chia/daemon/server.py +1 -1
- chia/daemon/windows_signal.py +1 -1
- chia/data_layer/data_layer.py +4 -3
- chia/data_layer/data_layer_errors.py +1 -1
- chia/data_layer/data_layer_util.py +2 -2
- chia/data_layer/data_layer_wallet.py +47 -69
- chia/data_layer/data_store.py +1 -1
- chia/data_layer/dl_wallet_store.py +5 -6
- chia/data_layer/download_data.py +1 -1
- chia/data_layer/s3_plugin_service.py +4 -4
- chia/data_layer/singleton_record.py +23 -0
- chia/data_layer/util/benchmark.py +2 -1
- chia/farmer/farmer.py +4 -6
- chia/farmer/farmer_api.py +4 -6
- chia/full_node/bitcoin_fee_estimator.py +2 -1
- chia/full_node/block_height_map.py +2 -2
- chia/full_node/block_store.py +8 -9
- chia/{util → full_node}/check_fork_next_block.py +2 -1
- chia/full_node/coin_store.py +10 -10
- chia/full_node/fee_estimate.py +2 -1
- chia/full_node/fee_estimation.py +2 -1
- chia/full_node/fee_estimator.py +2 -1
- chia/full_node/fee_estimator_interface.py +1 -1
- chia/full_node/fee_history.py +2 -1
- chia/full_node/fee_tracker.py +2 -1
- chia/full_node/full_node.py +25 -15
- chia/full_node/full_node_api.py +12 -32
- chia/full_node/full_node_store.py +4 -3
- chia/full_node/hint_management.py +2 -1
- chia/full_node/hint_store.py +3 -3
- chia/full_node/mempool.py +80 -12
- chia/full_node/mempool_check_conditions.py +6 -7
- chia/full_node/mempool_manager.py +168 -21
- chia/full_node/pending_tx_cache.py +2 -2
- chia/full_node/subscriptions.py +2 -2
- chia/full_node/sync_store.py +2 -3
- chia/full_node/tx_processing_queue.py +2 -1
- chia/full_node/weight_proof.py +5 -8
- chia/harvester/harvester.py +5 -3
- chia/harvester/harvester_api.py +2 -2
- chia/introducer/introducer.py +30 -2
- chia/introducer/introducer_api.py +9 -1
- chia/legacy/keyring.py +1 -2
- chia/plot_sync/exceptions.py +2 -1
- chia/plot_sync/receiver.py +2 -2
- chia/plot_sync/sender.py +1 -1
- chia/plotting/cache.py +2 -2
- chia/plotting/check_plots.py +4 -2
- chia/plotting/create_plots.py +1 -1
- chia/plotting/manager.py +3 -3
- chia/plotting/util.py +2 -2
- chia/pools/pool_config.py +1 -1
- chia/pools/pool_puzzles.py +23 -17
- chia/pools/pool_wallet.py +22 -9
- chia/pools/pool_wallet_info.py +2 -2
- chia/protocols/farmer_protocol.py +3 -6
- chia/protocols/full_node_protocol.py +3 -2
- chia/protocols/harvester_protocol.py +3 -4
- chia/protocols/pool_protocol.py +2 -2
- chia/protocols/shared_protocol.py +2 -1
- chia/protocols/timelord_protocol.py +4 -4
- chia/protocols/wallet_protocol.py +2 -2
- chia/rpc/data_layer_rpc_api.py +3 -4
- chia/rpc/data_layer_rpc_client.py +3 -2
- chia/rpc/farmer_rpc_api.py +2 -2
- chia/rpc/farmer_rpc_client.py +2 -1
- chia/rpc/full_node_rpc_api.py +3 -2
- chia/rpc/full_node_rpc_client.py +3 -2
- chia/rpc/harvester_rpc_api.py +2 -1
- chia/rpc/rpc_client.py +2 -2
- chia/rpc/rpc_server.py +1 -1
- chia/rpc/wallet_request_types.py +2 -62
- chia/rpc/wallet_rpc_api.py +98 -628
- chia/rpc/wallet_rpc_client.py +5 -253
- chia/seeder/crawl_store.py +1 -1
- chia/seeder/crawler.py +2 -2
- chia/seeder/peer_record.py +2 -1
- chia/seeder/start_crawler.py +3 -1
- chia/server/address_manager.py +2 -1
- chia/server/address_manager_store.py +1 -1
- chia/server/capabilities.py +2 -1
- chia/server/introducer_peers.py +2 -1
- chia/server/node_discovery.py +1 -1
- chia/server/outbound_message.py +2 -1
- chia/server/server.py +2 -2
- chia/server/start_data_layer.py +2 -1
- chia/server/start_farmer.py +3 -1
- chia/server/start_full_node.py +4 -2
- chia/server/start_harvester.py +3 -1
- chia/server/start_introducer.py +12 -1
- chia/server/start_service.py +2 -1
- chia/server/start_timelord.py +3 -1
- chia/server/start_wallet.py +3 -1
- chia/server/upnp.py +1 -2
- chia/server/ws_connection.py +3 -4
- chia/simulator/add_blocks_in_batches.py +5 -3
- chia/simulator/block_tools.py +16 -12
- chia/simulator/full_node_simulator.py +9 -14
- chia/simulator/setup_services.py +5 -3
- chia/simulator/simulator_full_node_rpc_api.py +3 -2
- chia/simulator/simulator_full_node_rpc_client.py +3 -2
- chia/simulator/simulator_protocol.py +3 -2
- chia/simulator/simulator_test_tools.py +2 -2
- chia/simulator/start_simulator.py +3 -2
- chia/simulator/wallet_tools.py +3 -4
- chia/timelord/iters_from_block.py +4 -4
- chia/timelord/timelord.py +7 -12
- chia/timelord/timelord_api.py +3 -3
- chia/timelord/timelord_state.py +4 -3
- chia/types/block_protocol.py +2 -2
- chia/types/blockchain_format/coin.py +2 -2
- chia/types/blockchain_format/program.py +1 -1
- chia/types/blockchain_format/proof_of_space.py +3 -4
- chia/types/blockchain_format/tree_hash.py +1 -1
- chia/types/blockchain_format/vdf.py +3 -4
- chia/types/clvm_cost.py +1 -1
- chia/types/coin_record.py +4 -3
- chia/types/coin_spend.py +1 -1
- chia/types/eligible_coin_spends.py +9 -5
- chia/types/fee_rate.py +1 -1
- chia/types/generator_types.py +3 -3
- chia/types/internal_mempool_item.py +3 -2
- chia/types/mempool_item.py +10 -3
- chia/types/mempool_submission_status.py +2 -1
- chia/types/mojos.py +1 -1
- chia/types/peer_info.py +2 -1
- chia/types/transaction_queue_entry.py +2 -1
- chia/types/unfinished_header_block.py +4 -4
- chia/types/validation_state.py +2 -1
- chia/types/weight_proof.py +1 -9
- chia/util/augmented_chain.py +20 -9
- chia/util/block_cache.py +8 -4
- chia/util/condition_tools.py +2 -2
- chia/util/full_block_utils.py +3 -4
- chia/util/generator_tools.py +2 -2
- chia/util/initial-config.yaml +2 -11
- chia/util/network.py +2 -2
- chia/util/prev_transaction_block.py +2 -1
- chia/util/task_timing.py +1 -1
- chia/util/vdf_prover.py +3 -3
- chia/util/ws_message.py +1 -1
- chia/wallet/cat_wallet/cat_info.py +3 -2
- chia/wallet/cat_wallet/cat_outer_puzzle.py +3 -2
- chia/wallet/cat_wallet/cat_utils.py +6 -4
- chia/wallet/cat_wallet/cat_wallet.py +16 -18
- chia/wallet/cat_wallet/lineage_store.py +2 -1
- chia/wallet/coin_selection.py +5 -5
- chia/wallet/conditions.py +22 -16
- chia/wallet/db_wallet/db_wallet_puzzles.py +15 -15
- chia/wallet/derivation_record.py +2 -2
- chia/wallet/derive_keys.py +2 -2
- chia/wallet/did_wallet/did_info.py +3 -2
- chia/wallet/did_wallet/did_wallet.py +41 -19
- chia/wallet/did_wallet/did_wallet_puzzles.py +18 -12
- chia/wallet/driver_protocol.py +1 -1
- chia/wallet/lineage_proof.py +3 -2
- chia/wallet/nft_wallet/metadata_outer_puzzle.py +6 -7
- chia/wallet/nft_wallet/nft_info.py +5 -5
- chia/wallet/nft_wallet/nft_puzzle_utils.py +293 -0
- chia/wallet/nft_wallet/nft_puzzles.py +21 -298
- chia/wallet/nft_wallet/nft_wallet.py +47 -62
- chia/wallet/nft_wallet/ownership_outer_puzzle.py +4 -8
- chia/wallet/nft_wallet/singleton_outer_puzzle.py +3 -2
- chia/wallet/nft_wallet/transfer_program_puzzle.py +6 -10
- chia/wallet/nft_wallet/uncurry_nft.py +6 -8
- chia/wallet/notification_manager.py +5 -5
- chia/wallet/notification_store.py +3 -2
- chia/wallet/outer_puzzles.py +2 -1
- chia/wallet/puzzles/clawback/drivers.py +21 -8
- chia/wallet/puzzles/clawback/metadata.py +3 -2
- chia/wallet/puzzles/clawback/puzzle_decorator.py +5 -4
- chia/wallet/puzzles/deployed_puzzle_hashes.json +0 -10
- chia/wallet/puzzles/p2_conditions.py +3 -2
- chia/wallet/puzzles/p2_delegated_conditions.py +3 -2
- chia/wallet/puzzles/p2_delegated_puzzle.py +3 -2
- chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.py +3 -3
- chia/wallet/puzzles/p2_m_of_n_delegate_direct.py +3 -2
- chia/wallet/puzzles/p2_puzzle_hash.py +4 -3
- chia/wallet/puzzles/puzzle_utils.py +3 -2
- chia/wallet/puzzles/singleton_top_layer.py +26 -10
- chia/wallet/puzzles/singleton_top_layer_v1_1.py +21 -9
- chia/wallet/puzzles/tails.py +21 -129
- chia/wallet/signer_protocol.py +3 -2
- chia/wallet/singleton.py +12 -6
- chia/wallet/singleton_record.py +3 -2
- chia/wallet/trade_manager.py +31 -55
- chia/wallet/trade_record.py +3 -2
- chia/wallet/trading/offer.py +14 -13
- chia/wallet/trading/trade_store.py +3 -4
- chia/wallet/transaction_record.py +2 -2
- chia/wallet/util/blind_signer_tl.py +3 -2
- chia/wallet/util/compute_hints.py +3 -2
- chia/wallet/util/compute_memos.py +2 -2
- chia/wallet/util/curry_and_treehash.py +1 -2
- chia/wallet/util/merkle_tree.py +1 -1
- chia/wallet/util/merkle_utils.py +1 -1
- chia/wallet/util/new_peak_queue.py +2 -1
- chia/wallet/util/notifications.py +5 -4
- chia/wallet/util/peer_request_cache.py +3 -2
- chia/wallet/util/puzzle_compression.py +6 -4
- chia/wallet/util/puzzle_decorator.py +6 -4
- chia/wallet/util/query_filter.py +3 -2
- chia/wallet/util/tx_config.py +3 -3
- chia/wallet/util/wallet_sync_utils.py +2 -2
- chia/wallet/util/wallet_types.py +2 -3
- chia/wallet/vc_wallet/cr_cat_drivers.py +18 -22
- chia/wallet/vc_wallet/cr_cat_wallet.py +14 -10
- chia/wallet/vc_wallet/cr_outer_puzzle.py +2 -2
- chia/wallet/vc_wallet/vc_drivers.py +50 -68
- chia/wallet/vc_wallet/vc_store.py +2 -2
- chia/wallet/vc_wallet/vc_wallet.py +47 -15
- chia/wallet/wallet.py +51 -46
- chia/wallet/wallet_action_scope.py +4 -0
- chia/wallet/wallet_blockchain.py +12 -7
- chia/wallet/wallet_coin_record.py +3 -2
- chia/wallet/wallet_coin_store.py +3 -2
- chia/wallet/wallet_info.py +2 -1
- chia/wallet/wallet_interested_store.py +3 -2
- chia/wallet/wallet_nft_store.py +4 -4
- chia/wallet/wallet_node.py +3 -4
- chia/wallet/wallet_pool_store.py +3 -4
- chia/wallet/wallet_protocol.py +19 -5
- chia/wallet/wallet_puzzle_store.py +2 -2
- chia/wallet/wallet_retry_store.py +3 -6
- chia/wallet/wallet_singleton_store.py +2 -2
- chia/wallet/wallet_state_manager.py +20 -197
- chia/wallet/wallet_transaction_store.py +2 -2
- chia/wallet/wallet_user_store.py +2 -1
- chia/wallet/wallet_weight_proof_handler.py +3 -2
- {chia_blockchain-2.5.2rc1.dist-info → chia_blockchain-2.5.3.dist-info}/METADATA +3 -2
- chia_blockchain-2.5.3.dist-info/RECORD +891 -0
- mozilla-ca/cacert.pem +64 -33
- chia/_tests/clvm/test_condition_codes.py +0 -13
- chia/_tests/cmds/wallet/test_dao.py +0 -565
- chia/_tests/wallet/dao_wallet/__init__.py +0 -0
- chia/_tests/wallet/dao_wallet/config.py +0 -3
- chia/_tests/wallet/dao_wallet/test_dao_clvm.py +0 -1330
- chia/_tests/wallet/dao_wallet/test_dao_wallets.py +0 -3488
- chia/cmds/dao.py +0 -1064
- chia/cmds/dao_funcs.py +0 -598
- chia/consensus/puzzles/__init__.py +0 -0
- chia/consensus/puzzles/chialisp_deserialisation.clsp +0 -69
- chia/consensus/puzzles/chialisp_deserialisation.clsp.hex +0 -1
- chia/consensus/puzzles/rom_bootstrap_generator.clsp +0 -37
- chia/consensus/puzzles/rom_bootstrap_generator.clsp.hex +0 -1
- chia/full_node/puzzles/__init__.py +0 -0
- chia/full_node/puzzles/block_program_zero.clsp +0 -14
- chia/full_node/puzzles/block_program_zero.clsp.hex +0 -1
- chia/full_node/puzzles/decompress_coin_spend_entry.clsp +0 -5
- chia/full_node/puzzles/decompress_coin_spend_entry.clsp.hex +0 -1
- chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp +0 -7
- chia/full_node/puzzles/decompress_coin_spend_entry_with_prefix.clsp.hex +0 -1
- chia/full_node/puzzles/decompress_puzzle.clsp +0 -6
- chia/full_node/puzzles/decompress_puzzle.clsp.hex +0 -1
- chia/pools/puzzles/__init__.py +0 -0
- chia/pools/puzzles/pool_member_innerpuz.clsp +0 -70
- chia/pools/puzzles/pool_member_innerpuz.clsp.hex +0 -1
- chia/pools/puzzles/pool_waitingroom_innerpuz.clsp +0 -69
- chia/pools/puzzles/pool_waitingroom_innerpuz.clsp.hex +0 -1
- chia/simulator/simulator_constants.py +0 -13
- chia/types/blockchain_format/foliage.py +0 -8
- chia/types/blockchain_format/pool_target.py +0 -5
- chia/types/blockchain_format/reward_chain_block.py +0 -6
- chia/types/blockchain_format/sized_bytes.py +0 -11
- chia/util/ints.py +0 -19
- chia/wallet/cat_wallet/dao_cat_info.py +0 -28
- chia/wallet/cat_wallet/dao_cat_wallet.py +0 -669
- chia/wallet/cat_wallet/puzzles/__init__.py +0 -0
- chia/wallet/cat_wallet/puzzles/cat_truths.clib +0 -31
- chia/wallet/cat_wallet/puzzles/cat_v2.clsp +0 -397
- chia/wallet/cat_wallet/puzzles/cat_v2.clsp.hex +0 -1
- chia/wallet/cat_wallet/puzzles/delegated_tail.clsp +0 -25
- chia/wallet/cat_wallet/puzzles/delegated_tail.clsp.hex +0 -1
- chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp +0 -15
- chia/wallet/cat_wallet/puzzles/everything_with_signature.clsp.hex +0 -1
- chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp +0 -26
- chia/wallet/cat_wallet/puzzles/genesis_by_coin_id.clsp.hex +0 -1
- chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp +0 -42
- chia/wallet/cat_wallet/puzzles/genesis_by_coin_id_or_singleton.clsp.hex +0 -1
- chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp +0 -24
- chia/wallet/cat_wallet/puzzles/genesis_by_puzzle_hash.clsp.hex +0 -1
- chia/wallet/dao_wallet/__init__.py +0 -0
- chia/wallet/dao_wallet/dao_info.py +0 -61
- chia/wallet/dao_wallet/dao_utils.py +0 -811
- chia/wallet/dao_wallet/dao_wallet.py +0 -2119
- chia/wallet/did_wallet/puzzles/__init__.py +0 -0
- chia/wallet/did_wallet/puzzles/did_innerpuz.clsp +0 -135
- chia/wallet/did_wallet/puzzles/did_innerpuz.clsp.hex +0 -1
- chia/wallet/payment.py +0 -33
- chia/wallet/puzzles/augmented_condition.clsp +0 -13
- chia/wallet/puzzles/augmented_condition.clsp.hex +0 -1
- chia/wallet/puzzles/condition_codes.clib +0 -77
- chia/wallet/puzzles/curry-and-treehash.clib +0 -102
- chia/wallet/puzzles/curry.clib +0 -135
- chia/wallet/puzzles/curry_by_index.clib +0 -16
- chia/wallet/puzzles/dao_cat_eve.clsp +0 -17
- chia/wallet/puzzles/dao_cat_eve.clsp.hex +0 -1
- chia/wallet/puzzles/dao_cat_launcher.clsp +0 -36
- chia/wallet/puzzles/dao_cat_launcher.clsp.hex +0 -1
- chia/wallet/puzzles/dao_finished_state.clsp +0 -35
- chia/wallet/puzzles/dao_finished_state.clsp.hex +0 -1
- chia/wallet/puzzles/dao_finished_state.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_lockup.clsp +0 -288
- chia/wallet/puzzles/dao_lockup.clsp.hex +0 -1
- chia/wallet/puzzles/dao_lockup.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_proposal.clsp +0 -377
- chia/wallet/puzzles/dao_proposal.clsp.hex +0 -1
- chia/wallet/puzzles/dao_proposal.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_proposal_timer.clsp +0 -78
- chia/wallet/puzzles/dao_proposal_timer.clsp.hex +0 -1
- chia/wallet/puzzles/dao_proposal_timer.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_proposal_validator.clsp +0 -87
- chia/wallet/puzzles/dao_proposal_validator.clsp.hex +0 -1
- chia/wallet/puzzles/dao_proposal_validator.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp +0 -240
- chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex +0 -1
- chia/wallet/puzzles/dao_spend_p2_singleton_v2.clsp.hex.sha256tree +0 -1
- chia/wallet/puzzles/dao_treasury.clsp +0 -115
- chia/wallet/puzzles/dao_treasury.clsp.hex +0 -1
- chia/wallet/puzzles/dao_update_proposal.clsp +0 -44
- chia/wallet/puzzles/dao_update_proposal.clsp.hex +0 -1
- chia/wallet/puzzles/json.clib +0 -25
- chia/wallet/puzzles/merkle_utils.clib +0 -18
- chia/wallet/puzzles/notification.clsp +0 -7
- chia/wallet/puzzles/notification.clsp.hex +0 -1
- chia/wallet/puzzles/p2_1_of_n.clsp +0 -22
- chia/wallet/puzzles/p2_1_of_n.clsp.hex +0 -1
- chia/wallet/puzzles/p2_conditions.clsp +0 -3
- chia/wallet/puzzles/p2_conditions.clsp.hex +0 -1
- chia/wallet/puzzles/p2_delegated_conditions.clsp +0 -18
- chia/wallet/puzzles/p2_delegated_conditions.clsp.hex +0 -1
- chia/wallet/puzzles/p2_delegated_puzzle.clsp +0 -19
- chia/wallet/puzzles/p2_delegated_puzzle.clsp.hex +0 -1
- chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp +0 -91
- chia/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clsp.hex +0 -1
- chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp +0 -108
- chia/wallet/puzzles/p2_m_of_n_delegate_direct.clsp.hex +0 -1
- chia/wallet/puzzles/p2_parent.clsp +0 -19
- chia/wallet/puzzles/p2_parent.clsp.hex +0 -1
- chia/wallet/puzzles/p2_puzzle_hash.clsp +0 -18
- chia/wallet/puzzles/p2_puzzle_hash.clsp.hex +0 -1
- chia/wallet/puzzles/p2_singleton.clsp +0 -30
- chia/wallet/puzzles/p2_singleton.clsp.hex +0 -1
- chia/wallet/puzzles/p2_singleton_aggregator.clsp +0 -81
- chia/wallet/puzzles/p2_singleton_aggregator.clsp.hex +0 -1
- chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp +0 -50
- chia/wallet/puzzles/p2_singleton_or_delayed_puzhash.clsp.hex +0 -1
- chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp +0 -47
- chia/wallet/puzzles/p2_singleton_via_delegated_puzzle.clsp.hex +0 -1
- chia/wallet/puzzles/settlement_payments.clsp +0 -49
- chia/wallet/puzzles/settlement_payments.clsp.hex +0 -1
- chia/wallet/puzzles/sha256tree.clib +0 -11
- chia/wallet/puzzles/singleton_launcher.clsp +0 -16
- chia/wallet/puzzles/singleton_launcher.clsp.hex +0 -1
- chia/wallet/puzzles/singleton_top_layer.clsp +0 -177
- chia/wallet/puzzles/singleton_top_layer.clsp.hex +0 -1
- chia/wallet/puzzles/singleton_top_layer_v1_1.clsp +0 -107
- chia/wallet/puzzles/singleton_top_layer_v1_1.clsp.hex +0 -1
- chia/wallet/puzzles/singleton_truths.clib +0 -21
- chia/wallet/vc_wallet/cr_puzzles/__init__.py +0 -0
- chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp +0 -3
- chia/wallet/vc_wallet/cr_puzzles/conditions_w_fee_announce.clsp.hex +0 -1
- chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp +0 -304
- chia/wallet/vc_wallet/cr_puzzles/credential_restriction.clsp.hex +0 -1
- chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp +0 -45
- chia/wallet/vc_wallet/cr_puzzles/flag_proofs_checker.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/__init__.py +0 -0
- chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp +0 -30
- chia/wallet/vc_wallet/vc_puzzles/covenant_layer.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp +0 -75
- chia/wallet/vc_wallet/vc_puzzles/eml_covenant_morpher.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp +0 -32
- chia/wallet/vc_wallet/vc_puzzles/eml_transfer_program_covenant_adapter.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp +0 -80
- chia/wallet/vc_wallet/vc_puzzles/eml_update_metadata_with_DID.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp +0 -163
- chia/wallet/vc_wallet/vc_puzzles/exigent_metadata_layer.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp +0 -16
- chia/wallet/vc_wallet/vc_puzzles/p2_announced_delegated_puzzle.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp +0 -74
- chia/wallet/vc_wallet/vc_puzzles/standard_vc_backdoor_puzzle.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp +0 -23
- chia/wallet/vc_wallet/vc_puzzles/std_parent_morpher.clsp.hex +0 -1
- chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp +0 -64
- chia/wallet/vc_wallet/vc_puzzles/viral_backdoor.clsp.hex +0 -1
- chia_blockchain-2.5.2rc1.dist-info/RECORD +0 -1042
- {chia_blockchain-2.5.2rc1.dist-info → chia_blockchain-2.5.3.dist-info}/LICENSE +0 -0
- {chia_blockchain-2.5.2rc1.dist-info → chia_blockchain-2.5.3.dist-info}/WHEEL +0 -0
- {chia_blockchain-2.5.2rc1.dist-info → chia_blockchain-2.5.3.dist-info}/entry_points.txt +0 -0
|
@@ -5,13 +5,14 @@ from unittest import TestCase
|
|
|
5
5
|
|
|
6
6
|
import pytest
|
|
7
7
|
from chia_rs import AugSchemeMPL, G1Element, G2Element, PrivateKey
|
|
8
|
+
from chia_rs.sized_bytes import bytes32
|
|
9
|
+
from chia_rs.sized_ints import uint32, uint64
|
|
8
10
|
|
|
9
11
|
from chia._tests.clvm.coin_store import BadSpendBundleError, CoinStore, CoinTimestamp
|
|
10
12
|
from chia._tests.clvm.test_puzzles import public_key_for_index, secret_exponent_for_index
|
|
11
13
|
from chia._tests.util.key_tool import KeyTool
|
|
12
14
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
13
15
|
from chia.pools.pool_puzzles import (
|
|
14
|
-
SINGLETON_MOD_HASH,
|
|
15
16
|
create_absorb_spend,
|
|
16
17
|
create_p2_singleton_puzzle,
|
|
17
18
|
create_p2_singleton_puzzle_hash,
|
|
@@ -29,10 +30,8 @@ from chia.pools.pool_puzzles import (
|
|
|
29
30
|
from chia.pools.pool_wallet_info import PoolState
|
|
30
31
|
from chia.types.blockchain_format.coin import Coin
|
|
31
32
|
from chia.types.blockchain_format.program import Program
|
|
32
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
33
33
|
from chia.types.coin_spend import CoinSpend, make_spend
|
|
34
34
|
from chia.types.spend_bundle import SpendBundle
|
|
35
|
-
from chia.util.ints import uint32, uint64
|
|
36
35
|
from chia.wallet.puzzles import singleton_top_layer
|
|
37
36
|
from chia.wallet.puzzles.p2_conditions import puzzle_for_conditions
|
|
38
37
|
from chia.wallet.puzzles.p2_delegated_puzzle_or_hidden_puzzle import (
|
|
@@ -41,6 +40,7 @@ from chia.wallet.puzzles.p2_delegated_puzzle_or_hidden_puzzle import (
|
|
|
41
40
|
puzzle_for_pk,
|
|
42
41
|
solution_for_conditions,
|
|
43
42
|
)
|
|
43
|
+
from chia.wallet.puzzles.singleton_top_layer import SINGLETON_MOD_HASH
|
|
44
44
|
from chia.wallet.singleton import get_most_recent_singleton_coin_from_coin_spend
|
|
45
45
|
|
|
46
46
|
"""
|
|
@@ -14,13 +14,13 @@ import pytest
|
|
|
14
14
|
|
|
15
15
|
# TODO: update after resolution in https://github.com/pytest-dev/pytest/issues/7469
|
|
16
16
|
from _pytest.fixtures import SubRequest
|
|
17
|
-
from chia_rs import G1Element
|
|
17
|
+
from chia_rs import ConsensusConstants, G1Element
|
|
18
|
+
from chia_rs.sized_bytes import bytes32
|
|
19
|
+
from chia_rs.sized_ints import uint32, uint64
|
|
18
20
|
|
|
19
21
|
from chia._tests.environments.wallet import WalletStateTransition, WalletTestFramework
|
|
20
22
|
from chia._tests.util.setup_nodes import setup_simulators_and_wallets_service
|
|
21
23
|
from chia._tests.util.time_out_assert import time_out_assert
|
|
22
|
-
from chia.consensus.constants import ConsensusConstants
|
|
23
|
-
from chia.pools.pool_puzzles import SINGLETON_LAUNCHER_HASH
|
|
24
24
|
from chia.pools.pool_wallet_info import PoolSingletonState, PoolWalletInfo
|
|
25
25
|
from chia.rpc.wallet_rpc_client import WalletRpcClient
|
|
26
26
|
from chia.simulator.add_blocks_in_batches import add_blocks_in_batches
|
|
@@ -29,13 +29,12 @@ from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
|
29
29
|
from chia.simulator.simulator_protocol import ReorgProtocol
|
|
30
30
|
from chia.simulator.start_simulator import SimulatorFullNodeService
|
|
31
31
|
from chia.types.aliases import WalletService
|
|
32
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
33
32
|
from chia.types.peer_info import PeerInfo
|
|
34
33
|
from chia.util.bech32m import encode_puzzle_hash
|
|
35
34
|
from chia.util.byte_types import hexstr_to_bytes
|
|
36
35
|
from chia.util.config import load_config
|
|
37
|
-
from chia.util.ints import uint32, uint64
|
|
38
36
|
from chia.wallet.derive_keys import find_authentication_sk, find_owner_sk
|
|
37
|
+
from chia.wallet.singleton import SINGLETON_LAUNCHER_PUZZLE_HASH as SINGLETON_LAUNCHER_HASH
|
|
39
38
|
from chia.wallet.transaction_record import TransactionRecord
|
|
40
39
|
from chia.wallet.util.transaction_type import TransactionType
|
|
41
40
|
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
@@ -7,10 +7,10 @@ from unittest.mock import MagicMock
|
|
|
7
7
|
|
|
8
8
|
import pytest
|
|
9
9
|
from chia_rs import G1Element
|
|
10
|
+
from chia_rs.sized_bytes import bytes32
|
|
10
11
|
|
|
11
12
|
from chia._tests.util.benchmarks import rand_g1, rand_hash
|
|
12
13
|
from chia.pools.pool_wallet import PoolWallet
|
|
13
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
@dataclass
|
|
@@ -5,15 +5,15 @@ from dataclasses import dataclass, field
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
|
|
7
7
|
import pytest
|
|
8
|
+
from chia_rs.sized_bytes import bytes32
|
|
9
|
+
from chia_rs.sized_ints import uint32, uint64
|
|
8
10
|
from clvm_tools import binutils
|
|
9
11
|
|
|
10
12
|
from chia._tests.util.db_connection import DBConnection
|
|
11
13
|
from chia.types.blockchain_format.coin import Coin
|
|
12
14
|
from chia.types.blockchain_format.program import Program
|
|
13
15
|
from chia.types.blockchain_format.serialized_program import SerializedProgram
|
|
14
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
15
16
|
from chia.types.coin_spend import CoinSpend, compute_additions, make_spend
|
|
16
|
-
from chia.util.ints import uint32, uint64
|
|
17
17
|
from chia.wallet.wallet_pool_store import WalletPoolStore
|
|
18
18
|
|
|
19
19
|
|
|
@@ -6,12 +6,12 @@ from pathlib import Path
|
|
|
6
6
|
from typing import Any, Callable, Optional
|
|
7
7
|
|
|
8
8
|
import pytest
|
|
9
|
+
from chia_rs.sized_ints import uint16
|
|
9
10
|
|
|
10
11
|
from chia._tests.util.misc import Marks, RecordingWebServer, datacases
|
|
11
12
|
from chia.rpc.rpc_client import ResponseFailureError, RpcClient
|
|
12
13
|
from chia.rpc.rpc_server import RpcServer
|
|
13
14
|
from chia.server.outbound_message import NodeType
|
|
14
|
-
from chia.util.ints import uint16
|
|
15
15
|
|
|
16
16
|
non_fetch_client_methods = {
|
|
17
17
|
RpcClient.create,
|
|
@@ -11,11 +11,11 @@ from typing import TYPE_CHECKING, Any, ClassVar, Optional, cast
|
|
|
11
11
|
|
|
12
12
|
import aiohttp
|
|
13
13
|
import pytest
|
|
14
|
+
from chia_rs.sized_ints import uint16
|
|
14
15
|
|
|
15
16
|
from chia.rpc.rpc_server import Endpoint, EndpointResult, RpcServer, RpcServiceProtocol
|
|
16
17
|
from chia.ssl.create_ssl import create_all_ssl
|
|
17
18
|
from chia.util.config import load_config
|
|
18
|
-
from chia.util.ints import uint16
|
|
19
19
|
from chia.util.ws_message import WsRpcMessage
|
|
20
20
|
|
|
21
21
|
root_logger = logging.getLogger()
|
|
@@ -5,7 +5,13 @@ import json
|
|
|
5
5
|
from collections.abc import AsyncIterator
|
|
6
6
|
|
|
7
7
|
import aiohttp
|
|
8
|
+
import dns.rdataclass
|
|
9
|
+
import dns.rdatatype
|
|
10
|
+
import dns.rdtypes.IN.A
|
|
11
|
+
import dns.rdtypes.IN.AAAA
|
|
8
12
|
import pytest
|
|
13
|
+
from chia_rs.sized_bytes import bytes32
|
|
14
|
+
from chia_rs.sized_ints import uint8, uint16, uint32, uint64
|
|
9
15
|
|
|
10
16
|
from chia._tests.core.node_height import node_height_at_least
|
|
11
17
|
from chia._tests.util.setup_nodes import FullSystem, OldSimulatorsAndWallets
|
|
@@ -23,9 +29,7 @@ from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
|
23
29
|
from chia.simulator.keyring import TempKeyring
|
|
24
30
|
from chia.simulator.setup_services import setup_full_node
|
|
25
31
|
from chia.simulator.simulator_protocol import FarmNewBlockProtocol, GetAllCoinsProtocol, ReorgProtocol
|
|
26
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
27
32
|
from chia.types.peer_info import PeerInfo
|
|
28
|
-
from chia.util.ints import uint8, uint16, uint32, uint64
|
|
29
33
|
from chia.util.ws_message import create_payload
|
|
30
34
|
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
31
35
|
from chia.wallet.wallet_node import WalletNode
|
|
@@ -64,6 +68,17 @@ async def extra_node(self_hostname) -> AsyncIterator[FullNodeAPI | FullNodeSimul
|
|
|
64
68
|
yield service._api
|
|
65
69
|
|
|
66
70
|
|
|
71
|
+
class FakeDNSResolver:
|
|
72
|
+
async def resolve(self, qname, rdtype, lifetime):
|
|
73
|
+
if rdtype == "A":
|
|
74
|
+
record = dns.rdtypes.IN.A.A(dns.rdataclass.IN, dns.rdatatype.A, "1.2.3.4")
|
|
75
|
+
return [record]
|
|
76
|
+
elif rdtype == "AAAA":
|
|
77
|
+
record = dns.rdtypes.IN.AAAA.AAAA(dns.rdataclass.IN, dns.rdatatype.AAAA, "::1")
|
|
78
|
+
return [record]
|
|
79
|
+
return []
|
|
80
|
+
|
|
81
|
+
|
|
67
82
|
class TestSimulation:
|
|
68
83
|
@pytest.mark.limit_consensus_modes(reason="This test only supports one running at a time.")
|
|
69
84
|
@pytest.mark.anyio
|
|
@@ -214,8 +229,8 @@ class TestSimulation:
|
|
|
214
229
|
await time_out_assert(5, wallet.get_unconfirmed_balance, funds)
|
|
215
230
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
216
231
|
await wallet.generate_signed_transaction(
|
|
217
|
-
uint64(10),
|
|
218
|
-
await wallet_node_2.wallet_state_manager.main_wallet.get_new_puzzlehash(),
|
|
232
|
+
[uint64(10)],
|
|
233
|
+
[await wallet_node_2.wallet_state_manager.main_wallet.get_new_puzzlehash()],
|
|
219
234
|
action_scope,
|
|
220
235
|
uint64(0),
|
|
221
236
|
)
|
|
@@ -390,8 +405,8 @@ class TestSimulation:
|
|
|
390
405
|
for coin in coins:
|
|
391
406
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
392
407
|
await wallet.generate_signed_transaction(
|
|
393
|
-
|
|
394
|
-
|
|
408
|
+
amounts=[uint64(tx_amount)],
|
|
409
|
+
puzzle_hashes=[await wallet_node.wallet_state_manager.main_wallet.get_new_puzzlehash()],
|
|
395
410
|
action_scope=action_scope,
|
|
396
411
|
coins={coin},
|
|
397
412
|
)
|
|
@@ -439,8 +454,8 @@ class TestSimulation:
|
|
|
439
454
|
) as action_scope:
|
|
440
455
|
for coin in coins:
|
|
441
456
|
await wallet.generate_signed_transaction(
|
|
442
|
-
|
|
443
|
-
|
|
457
|
+
amounts=[uint64(tx_amount)],
|
|
458
|
+
puzzle_hashes=[await wallet_node.wallet_state_manager.main_wallet.get_new_puzzlehash()],
|
|
444
459
|
action_scope=action_scope,
|
|
445
460
|
coins={coin},
|
|
446
461
|
)
|
|
@@ -499,3 +514,16 @@ class TestSimulation:
|
|
|
499
514
|
|
|
500
515
|
with pytest.raises(Exception, match="Coins must have a positive value"):
|
|
501
516
|
await full_node_api.create_coins_with_amounts(amounts=amounts, wallet=wallet)
|
|
517
|
+
|
|
518
|
+
@pytest.mark.limit_consensus_modes(reason="This test only supports one running at a time.")
|
|
519
|
+
@pytest.mark.anyio
|
|
520
|
+
async def test_introducer_fallback_to_dns(self, simulation):
|
|
521
|
+
full_system: FullSystem
|
|
522
|
+
full_system, _ = simulation
|
|
523
|
+
introducer = full_system.introducer
|
|
524
|
+
introducer.introducer.dns_servers = ["127.0.0.1"]
|
|
525
|
+
introducer.introducer.resolver = FakeDNSResolver()
|
|
526
|
+
peers = await introducer.introducer.get_peers_from_dns(num_peers=10)
|
|
527
|
+
assert len(peers) == 2
|
|
528
|
+
assert any(peer.host == "1.2.3.4" for peer in peers)
|
|
529
|
+
assert any(peer.host == "::1" for peer in peers)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import pytest
|
|
4
|
+
from chia_rs.sized_ints import uint64
|
|
4
5
|
|
|
5
6
|
from chia._tests.util.setup_nodes import OldSimulatorsAndWallets
|
|
6
7
|
from chia.cmds.units import units
|
|
@@ -8,7 +9,6 @@ from chia.server.server import ChiaServer
|
|
|
8
9
|
from chia.simulator.block_tools import BlockTools
|
|
9
10
|
from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
10
11
|
from chia.types.peer_info import PeerInfo
|
|
11
|
-
from chia.util.ints import uint64
|
|
12
12
|
from chia.wallet.util.tx_config import DEFAULT_TX_CONFIG
|
|
13
13
|
from chia.wallet.wallet_node import WalletNode
|
|
14
14
|
|
|
@@ -127,8 +127,8 @@ async def test_wait_transaction_records_entered_mempool(
|
|
|
127
127
|
for coin in coins:
|
|
128
128
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
129
129
|
await wallet.generate_signed_transaction(
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
amounts=[uint64(tx_amount)],
|
|
131
|
+
puzzle_hashes=[await wallet_node.wallet_state_manager.main_wallet.get_new_puzzlehash()],
|
|
132
132
|
action_scope=action_scope,
|
|
133
133
|
coins={coin},
|
|
134
134
|
)
|
|
@@ -163,8 +163,8 @@ async def test_process_transaction_records(
|
|
|
163
163
|
for coin in coins:
|
|
164
164
|
async with wallet.wallet_state_manager.new_action_scope(DEFAULT_TX_CONFIG, push=True) as action_scope:
|
|
165
165
|
await wallet.generate_signed_transaction(
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
amounts=[uint64(tx_amount)],
|
|
167
|
+
puzzle_hashes=[await wallet_node.wallet_state_manager.main_wallet.get_new_puzzlehash()],
|
|
168
168
|
action_scope=action_scope,
|
|
169
169
|
coins={coin},
|
|
170
170
|
)
|
|
@@ -6,14 +6,14 @@ from pathlib import Path
|
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
8
|
import pytest
|
|
9
|
+
from chia_rs.sized_bytes import bytes32
|
|
10
|
+
from chia_rs.sized_ints import uint16
|
|
9
11
|
|
|
10
12
|
from chia._tests.util.time_out_assert import time_out_assert
|
|
11
13
|
from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
12
14
|
from chia.simulator.simulator_full_node_rpc_client import SimulatorFullNodeRpcClient
|
|
13
15
|
from chia.simulator.simulator_test_tools import get_full_chia_simulator, get_puzzle_hash_from_key
|
|
14
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
15
16
|
from chia.util.hash import std_hash
|
|
16
|
-
from chia.util.ints import uint16
|
|
17
17
|
from chia.util.keychain import Keychain
|
|
18
18
|
|
|
19
19
|
|
|
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
|
|
5
5
|
import pytest
|
|
6
|
+
from chia_rs.sized_bytes import bytes32
|
|
7
|
+
from chia_rs.sized_ints import uint128
|
|
6
8
|
|
|
7
9
|
from chia._tests.blockchain.blockchain_test_utils import _validate_and_add_block
|
|
8
10
|
from chia._tests.util.blockchain import create_blockchain
|
|
@@ -17,11 +19,9 @@ from chia.simulator.block_tools import BlockTools
|
|
|
17
19
|
from chia.simulator.full_node_simulator import FullNodeSimulator
|
|
18
20
|
from chia.timelord.timelord_api import TimelordAPI
|
|
19
21
|
from chia.types.aliases import FullNodeService
|
|
20
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
21
22
|
from chia.types.blockchain_format.sub_epoch_summary import SubEpochSummary
|
|
22
23
|
from chia.types.full_block import FullBlock
|
|
23
24
|
from chia.types.unfinished_block import UnfinishedBlock
|
|
24
|
-
from chia.util.ints import uint128
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class TestNewPeak:
|
|
@@ -3,13 +3,14 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
|
|
6
|
+
from chia_rs.sized_bytes import bytes32
|
|
7
|
+
from chia_rs.sized_ints import uint8, uint32, uint64, uint128
|
|
8
|
+
|
|
6
9
|
from chia._tests.util.run_block import run_json_block
|
|
7
10
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
8
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
9
11
|
from chia.types.condition_opcodes import ConditionOpcode
|
|
10
12
|
from chia.types.condition_with_args import ConditionWithArgs
|
|
11
13
|
from chia.util.hash import std_hash
|
|
12
|
-
from chia.util.ints import uint8, uint32, uint64, uint128
|
|
13
14
|
|
|
14
15
|
AGG_SIG_DATA = bytes32.fromhex("ae83525ba8d1dd3f09b277de18ca3e43fc0af20d20c4b3e92ef2a48bd291ccb2")
|
|
15
16
|
|
|
@@ -4,15 +4,15 @@ import random
|
|
|
4
4
|
import time
|
|
5
5
|
|
|
6
6
|
from chia_rs import AugSchemeMPL, PrivateKey
|
|
7
|
+
from chia_rs.sized_bytes import bytes32
|
|
8
|
+
from chia_rs.sized_ints import uint32
|
|
7
9
|
from clvm_tools import binutils
|
|
8
10
|
|
|
9
11
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
10
12
|
from chia.simulator.wallet_tools import WalletTool
|
|
11
13
|
from chia.types.blockchain_format.program import INFINITE_COST, Program
|
|
12
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
13
14
|
from chia.types.condition_opcodes import ConditionOpcode
|
|
14
15
|
from chia.types.condition_with_args import ConditionWithArgs
|
|
15
|
-
from chia.util.ints import uint32
|
|
16
16
|
from chia.wallet.derive_keys import master_sk_to_wallet_sk
|
|
17
17
|
from chia.wallet.puzzles.p2_delegated_puzzle import puzzle_for_pk
|
|
18
18
|
|
chia/_tests/util/benchmarks.py
CHANGED
|
@@ -3,18 +3,29 @@ from __future__ import annotations
|
|
|
3
3
|
import random
|
|
4
4
|
|
|
5
5
|
import importlib_resources
|
|
6
|
-
from chia_rs import
|
|
6
|
+
from chia_rs import (
|
|
7
|
+
AugSchemeMPL,
|
|
8
|
+
ClassgroupElement,
|
|
9
|
+
Coin,
|
|
10
|
+
Foliage,
|
|
11
|
+
FoliageBlockData,
|
|
12
|
+
FoliageTransactionBlock,
|
|
13
|
+
G1Element,
|
|
14
|
+
G2Element,
|
|
15
|
+
PoolTarget,
|
|
16
|
+
RewardChainBlock,
|
|
17
|
+
TransactionsInfo,
|
|
18
|
+
VDFInfo,
|
|
19
|
+
VDFProof,
|
|
20
|
+
)
|
|
21
|
+
from chia_rs.sized_bytes import bytes32, bytes100
|
|
22
|
+
from chia_rs.sized_ints import uint8, uint32, uint64, uint128
|
|
7
23
|
|
|
8
24
|
from chia.consensus.coinbase import create_farmer_coin, create_pool_coin
|
|
9
25
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
10
|
-
from chia.types.blockchain_format.foliage import Foliage, FoliageBlockData, FoliageTransactionBlock, TransactionsInfo
|
|
11
|
-
from chia.types.blockchain_format.pool_target import PoolTarget
|
|
12
26
|
from chia.types.blockchain_format.proof_of_space import ProofOfSpace
|
|
13
|
-
from chia.types.blockchain_format.reward_chain_block import RewardChainBlock
|
|
14
27
|
from chia.types.blockchain_format.serialized_program import SerializedProgram
|
|
15
|
-
from chia.types.blockchain_format.sized_bytes import bytes32, bytes100
|
|
16
28
|
from chia.types.full_block import FullBlock
|
|
17
|
-
from chia.util.ints import uint8, uint32, uint64, uint128
|
|
18
29
|
|
|
19
30
|
# farmer puzzle hash
|
|
20
31
|
ph = bytes32(b"a" * 32)
|
chia/_tests/util/blockchain.py
CHANGED
|
@@ -7,8 +7,9 @@ from collections.abc import AsyncIterator
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import Optional
|
|
9
9
|
|
|
10
|
+
from chia_rs import ConsensusConstants
|
|
11
|
+
|
|
10
12
|
from chia.consensus.blockchain import Blockchain
|
|
11
|
-
from chia.consensus.constants import ConsensusConstants
|
|
12
13
|
from chia.full_node.block_store import BlockStore
|
|
13
14
|
from chia.full_node.coin_store import CoinStore
|
|
14
15
|
from chia.simulator.block_tools import BlockTools
|
|
@@ -3,13 +3,14 @@ from __future__ import annotations
|
|
|
3
3
|
import logging
|
|
4
4
|
from typing import TYPE_CHECKING, ClassVar, Optional, cast
|
|
5
5
|
|
|
6
|
+
from chia_rs import SubEpochChallengeSegment, SubEpochSegments
|
|
7
|
+
from chia_rs.sized_bytes import bytes32
|
|
8
|
+
from chia_rs.sized_ints import uint32
|
|
9
|
+
|
|
6
10
|
from chia.consensus.block_record import BlockRecord
|
|
7
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
8
11
|
from chia.types.blockchain_format.sub_epoch_summary import SubEpochSummary
|
|
9
12
|
from chia.types.blockchain_format.vdf import VDFInfo
|
|
10
13
|
from chia.types.header_block import HeaderBlock
|
|
11
|
-
from chia.types.weight_proof import SubEpochChallengeSegment, SubEpochSegments
|
|
12
|
-
from chia.util.ints import uint32
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
# implements BlockchainInterface
|
|
@@ -66,8 +67,11 @@ class BlockchainMock:
|
|
|
66
67
|
assert height in self._height_to_hash
|
|
67
68
|
return self._height_to_hash[height]
|
|
68
69
|
|
|
69
|
-
def contains_block(self, header_hash: bytes32) -> bool:
|
|
70
|
-
|
|
70
|
+
def contains_block(self, header_hash: bytes32, height: uint32) -> bool:
|
|
71
|
+
block_hash_from_hh = self.height_to_hash(height)
|
|
72
|
+
if block_hash_from_hh is None or block_hash_from_hh != header_hash:
|
|
73
|
+
return False
|
|
74
|
+
return True
|
|
71
75
|
|
|
72
76
|
async def contains_block_from_db(self, header_hash: bytes32) -> bool:
|
|
73
77
|
return header_hash in self._block_records
|
chia/_tests/util/constants.py
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from chia_rs.sized_ints import uint8, uint16, uint32, uint64, uint128
|
|
4
|
+
|
|
3
5
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
4
|
-
from chia.util.ints import uint8, uint16, uint32, uint64, uint128
|
|
5
6
|
|
|
6
7
|
test_constants = DEFAULT_CONSTANTS.replace(
|
|
7
8
|
MIN_PLOT_SIZE=uint8(18),
|
chia/_tests/util/full_sync.py
CHANGED
|
@@ -12,6 +12,8 @@ from typing import Callable, Optional, cast
|
|
|
12
12
|
|
|
13
13
|
import aiosqlite
|
|
14
14
|
import zstd
|
|
15
|
+
from chia_rs.sized_bytes import bytes32
|
|
16
|
+
from chia_rs.sized_ints import uint16
|
|
15
17
|
|
|
16
18
|
from chia._tests.util.constants import test_constants as TEST_CONSTANTS
|
|
17
19
|
from chia.cmds.init_funcs import chia_init
|
|
@@ -24,12 +26,11 @@ from chia.server.outbound_message import Message, NodeType
|
|
|
24
26
|
from chia.server.server import ChiaServer
|
|
25
27
|
from chia.server.ws_connection import ConnectionCallback, WSChiaConnection
|
|
26
28
|
from chia.simulator.block_tools import make_unfinished_block
|
|
27
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
28
29
|
from chia.types.full_block import FullBlock
|
|
29
30
|
from chia.types.peer_info import PeerInfo
|
|
30
31
|
from chia.types.validation_state import ValidationState
|
|
32
|
+
from chia.util.augmented_chain import AugmentedBlockchain
|
|
31
33
|
from chia.util.config import load_config
|
|
32
|
-
from chia.util.ints import uint16
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
class ExitOnError(logging.Handler):
|
|
@@ -184,6 +185,7 @@ async def run_sync_test(
|
|
|
184
185
|
worst_batch_height = None
|
|
185
186
|
worst_batch_time_per_block = None
|
|
186
187
|
peer_info = peer.get_peer_logging()
|
|
188
|
+
blockchain = AugmentedBlockchain(full_node.blockchain)
|
|
187
189
|
async for r in rows:
|
|
188
190
|
batch_start_time = time.monotonic()
|
|
189
191
|
with enable_profiler(profile, height):
|
|
@@ -216,6 +218,7 @@ async def run_sync_test(
|
|
|
216
218
|
peer_info,
|
|
217
219
|
ForkInfo(fork_height, fork_height, header_hash),
|
|
218
220
|
ValidationState(ssi, diff, None),
|
|
221
|
+
blockchain,
|
|
219
222
|
)
|
|
220
223
|
end_height = block_batch[-1].height
|
|
221
224
|
full_node.blockchain.clean_block_record(end_height - full_node.constants.BLOCKS_CACHE_SIZE)
|
|
@@ -226,7 +229,7 @@ async def run_sync_test(
|
|
|
226
229
|
assert summary is not None
|
|
227
230
|
|
|
228
231
|
time_per_block = (time.monotonic() - batch_start_time) / len(block_batch)
|
|
229
|
-
if
|
|
232
|
+
if worst_batch_time_per_block is None or worst_batch_time_per_block > time_per_block:
|
|
230
233
|
worst_batch_height = height
|
|
231
234
|
worst_batch_time_per_block = time_per_block
|
|
232
235
|
|
|
@@ -31,9 +31,9 @@ def gen_ssl(suffix: str = "") -> None:
|
|
|
31
31
|
captured_crt = cert_data
|
|
32
32
|
captured_key = key_data
|
|
33
33
|
|
|
34
|
-
print(f
|
|
34
|
+
print(f'{cert_path} = b"""{cert_data.decode(encoding="utf8")}"""')
|
|
35
35
|
print()
|
|
36
|
-
print(f
|
|
36
|
+
print(f'{key_path} = b"""{key_data.decode(encoding="utf8")}"""')
|
|
37
37
|
print()
|
|
38
38
|
|
|
39
39
|
patch = MonkeyPatch()
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from chia_rs import ConsensusConstants
|
|
4
|
+
from chia_rs.sized_bytes import bytes32
|
|
5
|
+
from chia_rs.sized_ints import uint32
|
|
6
|
+
|
|
3
7
|
from chia._tests.util.get_name_puzzle_conditions import get_name_puzzle_conditions
|
|
4
|
-
from chia.consensus.constants import ConsensusConstants
|
|
5
8
|
from chia.consensus.default_constants import DEFAULT_CONSTANTS
|
|
6
9
|
from chia.types.blockchain_format.coin import Coin
|
|
7
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
8
10
|
from chia.types.full_block import FullBlock
|
|
9
11
|
from chia.types.generator_types import BlockGenerator
|
|
10
12
|
from chia.util.generator_tools import tx_removals_and_additions
|
|
11
|
-
from chia.util.ints import uint32
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
def run_and_get_removals_and_additions(
|
|
@@ -5,17 +5,17 @@ import logging
|
|
|
5
5
|
from chia_rs import (
|
|
6
6
|
DONT_VALIDATE_SIGNATURE,
|
|
7
7
|
MEMPOOL_MODE,
|
|
8
|
+
ConsensusConstants,
|
|
8
9
|
G2Element,
|
|
9
10
|
get_flags_for_height_and_constants,
|
|
10
11
|
run_block_generator,
|
|
11
12
|
run_block_generator2,
|
|
12
13
|
)
|
|
14
|
+
from chia_rs.sized_ints import uint16, uint32
|
|
13
15
|
|
|
14
|
-
from chia.consensus.constants import ConsensusConstants
|
|
15
16
|
from chia.consensus.cost_calculator import NPCResult
|
|
16
17
|
from chia.types.generator_types import BlockGenerator
|
|
17
18
|
from chia.util.errors import Err
|
|
18
|
-
from chia.util.ints import uint16, uint32
|
|
19
19
|
|
|
20
20
|
log = logging.getLogger(__name__)
|
|
21
21
|
|
chia/_tests/util/misc.py
CHANGED
|
@@ -29,6 +29,8 @@ import pytest
|
|
|
29
29
|
from _pytest.nodes import Node
|
|
30
30
|
from aiohttp import web
|
|
31
31
|
from chia_rs import Coin
|
|
32
|
+
from chia_rs.sized_bytes import bytes32
|
|
33
|
+
from chia_rs.sized_ints import uint16, uint32, uint64
|
|
32
34
|
|
|
33
35
|
import chia
|
|
34
36
|
import chia._tests
|
|
@@ -39,10 +41,8 @@ from chia.full_node.mempool import Mempool
|
|
|
39
41
|
from chia.protocols.protocol_message_types import ProtocolMessageTypes
|
|
40
42
|
from chia.server.api_protocol import ApiMetadata, ApiProtocol
|
|
41
43
|
from chia.server.outbound_message import Message
|
|
42
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
43
44
|
from chia.types.condition_opcodes import ConditionOpcode
|
|
44
45
|
from chia.util.hash import std_hash
|
|
45
|
-
from chia.util.ints import uint16, uint32, uint64
|
|
46
46
|
from chia.util.network import WebServer
|
|
47
47
|
from chia.wallet.util.compute_hints import HintedCoin
|
|
48
48
|
from chia.wallet.wallet_node import WalletNode
|
|
@@ -482,6 +482,20 @@ def invariant_check_mempool(mempool: Mempool) -> None:
|
|
|
482
482
|
val = cursor.fetchone()
|
|
483
483
|
assert (mempool._total_cost, mempool._total_fee) == val
|
|
484
484
|
|
|
485
|
+
with mempool._db_conn as conn:
|
|
486
|
+
cursor = conn.execute("SELECT coin_id, tx FROM spends")
|
|
487
|
+
for coin_id, item_id in cursor.fetchall():
|
|
488
|
+
item = mempool._items.get(item_id)
|
|
489
|
+
assert item is not None
|
|
490
|
+
# item is expected to contain a spend of coin_id, but it might be a
|
|
491
|
+
# fast-forward spend, in which case the dictionary won't help us,
|
|
492
|
+
# but we'll have to do a linear search
|
|
493
|
+
if coin_id in item.bundle_coin_spends:
|
|
494
|
+
assert item.bundle_coin_spends[coin_id].coin_spend.coin.name() == coin_id
|
|
495
|
+
continue
|
|
496
|
+
|
|
497
|
+
assert any(map(lambda i: i.latest_singleton_coin == coin_id, item.bundle_coin_spends.values()))
|
|
498
|
+
|
|
485
499
|
|
|
486
500
|
async def wallet_height_at_least(wallet_node: WalletNode, h: uint32) -> bool:
|
|
487
501
|
height = await wallet_node.wallet_state_manager.blockchain.get_finished_sync_up_to()
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from chia_rs import
|
|
3
|
+
from chia_rs import (
|
|
4
|
+
Foliage,
|
|
5
|
+
FoliageBlockData,
|
|
6
|
+
FoliageTransactionBlock,
|
|
7
|
+
G1Element,
|
|
8
|
+
G2Element,
|
|
9
|
+
PoolTarget,
|
|
10
|
+
RewardChainBlock,
|
|
11
|
+
RewardChainBlockUnfinished,
|
|
12
|
+
SubEpochChallengeSegment,
|
|
13
|
+
SubEpochData,
|
|
14
|
+
SubSlotData,
|
|
15
|
+
TransactionsInfo,
|
|
16
|
+
)
|
|
17
|
+
from chia_rs.sized_bytes import bytes32
|
|
18
|
+
from chia_rs.sized_ints import int16, uint8, uint16, uint32, uint64, uint128
|
|
4
19
|
|
|
5
20
|
from chia.protocols import (
|
|
6
21
|
farmer_protocol,
|
|
@@ -14,12 +29,8 @@ from chia.protocols import (
|
|
|
14
29
|
from chia.protocols.shared_protocol import Error
|
|
15
30
|
from chia.types.blockchain_format.classgroup import ClassgroupElement
|
|
16
31
|
from chia.types.blockchain_format.coin import Coin
|
|
17
|
-
from chia.types.blockchain_format.foliage import Foliage, FoliageBlockData, FoliageTransactionBlock, TransactionsInfo
|
|
18
|
-
from chia.types.blockchain_format.pool_target import PoolTarget
|
|
19
32
|
from chia.types.blockchain_format.proof_of_space import ProofOfSpace
|
|
20
|
-
from chia.types.blockchain_format.reward_chain_block import RewardChainBlock
|
|
21
33
|
from chia.types.blockchain_format.serialized_program import SerializedProgram
|
|
22
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
23
34
|
from chia.types.blockchain_format.slots import (
|
|
24
35
|
ChallengeChainSubSlot,
|
|
25
36
|
InfusedChallengeChainSubSlot,
|
|
@@ -35,9 +46,8 @@ from chia.types.header_block import HeaderBlock
|
|
|
35
46
|
from chia.types.peer_info import TimestampedPeerInfo
|
|
36
47
|
from chia.types.spend_bundle import SpendBundle
|
|
37
48
|
from chia.types.unfinished_block import UnfinishedBlock
|
|
38
|
-
from chia.types.weight_proof import RecentChainData,
|
|
49
|
+
from chia.types.weight_proof import RecentChainData, WeightProof
|
|
39
50
|
from chia.util.errors import Err
|
|
40
|
-
from chia.util.ints import int16, uint8, uint16, uint32, uint64, uint128
|
|
41
51
|
|
|
42
52
|
# SHARED PROTOCOL
|
|
43
53
|
error_without_data = Error(int16(Err.UNKNOWN.value), "Unknown", None)
|
chia/_tests/util/run_block.py
CHANGED
|
@@ -5,22 +5,20 @@ from dataclasses import dataclass
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
|
-
from
|
|
8
|
+
from chia_puzzles_py.programs import CHIALISP_DESERIALISATION
|
|
9
|
+
from chia_rs import Coin, ConsensusConstants
|
|
10
|
+
from chia_rs.sized_bytes import bytes32
|
|
11
|
+
from chia_rs.sized_ints import uint32, uint64
|
|
9
12
|
|
|
10
|
-
from chia.
|
|
13
|
+
from chia.types.blockchain_format.program import Program
|
|
11
14
|
from chia.types.blockchain_format.serialized_program import SerializedProgram
|
|
12
|
-
from chia.types.blockchain_format.sized_bytes import bytes32
|
|
13
15
|
from chia.types.condition_opcodes import ConditionOpcode
|
|
14
16
|
from chia.types.condition_with_args import ConditionWithArgs
|
|
15
17
|
from chia.types.generator_types import BlockGenerator
|
|
16
|
-
from chia.util.ints import uint32, uint64
|
|
17
18
|
from chia.wallet.cat_wallet.cat_utils import match_cat_puzzle
|
|
18
|
-
from chia.wallet.puzzles.load_clvm import load_serialized_clvm_maybe_recompile
|
|
19
19
|
from chia.wallet.uncurried_puzzle import uncurry_puzzle
|
|
20
20
|
|
|
21
|
-
DESERIALIZE_MOD =
|
|
22
|
-
"chialisp_deserialisation.clsp", package_or_requirement="chia.consensus.puzzles"
|
|
23
|
-
)
|
|
21
|
+
DESERIALIZE_MOD = Program.from_bytes(CHIALISP_DESERIALISATION)
|
|
24
22
|
|
|
25
23
|
|
|
26
24
|
@dataclass
|