web3 7.11.0__tar.gz → 7.11.1__tar.gz
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.
- {web3-7.11.0/web3.egg-info → web3-7.11.1}/PKG-INFO +2 -15
- {web3-7.11.0 → web3-7.11.1}/pyproject.toml +1 -1
- {web3-7.11.0 → web3-7.11.1}/setup.py +1 -1
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_websocket_provider.py +17 -1
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_abi.py +1 -1
- web3-7.11.1/tests/core/utilities/test_construct_event_filter_params.py +329 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/generate_fixtures/go_ethereum.py +15 -0
- web3-7.11.1/tests/integration/geth-1.15.11-fixture.zip +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/conftest.py +1 -1
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/arrays_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/bytes_contracts.py +5 -5
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/constructor_contracts.py +7 -7
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/contract_caller_tester.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/emitter_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/event_contracts.py +7 -7
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/extended_resolver.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/fallback_function_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/math_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/offchain_lookup.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/offchain_resolver.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/panic_errors_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/payable_tester.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/receive_function_contracts.py +5 -5
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/reflector_contracts.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/revert_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/simple_resolver.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/storage_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/string_contract.py +3 -3
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/tuple_contracts.py +5 -5
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/decorators.py +2 -2
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/error_formatters_utils.py +17 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/filters.py +39 -28
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/method_formatters.py +2 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/eth_module.py +83 -34
- {web3-7.11.0 → web3-7.11.1}/web3/eth/async_eth.py +4 -0
- {web3-7.11.0 → web3-7.11.1}/web3/eth/eth.py +15 -2
- {web3-7.11.0 → web3-7.11.1}/web3/method.py +10 -2
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/async_ipc.py +3 -1
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/subscription_manager.py +1 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/abi.py +1 -1
- {web3-7.11.0 → web3-7.11.1/web3.egg-info}/PKG-INFO +2 -15
- {web3-7.11.0 → web3-7.11.1}/web3.egg-info/SOURCES.txt +1 -3
- web3-7.11.0/tests/.DS_Store +0 -0
- web3-7.11.0/tests/core/utilities/test_construct_event_filter_params.py +0 -103
- web3-7.11.0/tests/integration/.DS_Store +0 -0
- web3-7.11.0/tests/integration/geth-1.15.5-fixture.zip +0 -0
- {web3-7.11.0 → web3-7.11.1}/LICENSE +0 -0
- {web3-7.11.0 → web3-7.11.1}/MANIFEST.in +0 -0
- {web3-7.11.0 → web3-7.11.1}/README.md +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/_normalization.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/abis.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/async_ens.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/auto.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/base_ens.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/constants.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/contract_data.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/ens.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/exceptions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/specs/nf.json +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/specs/normalization_spec.json +0 -0
- {web3-7.11.0 → web3-7.11.1}/ens/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/scripts/release/test_package.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/setup.cfg +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/beacon/test_async_beacon.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/beacon/test_beacon.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/admin-module/test_admin_addPeer.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/admin-module/test_admin_nodeInfo.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/admin-module/test_admin_peers.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/block-utils/test_select_method_for_block_identifier.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/caching-utils/test_generate_cache_key.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/caching-utils/test_request_caching.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_ambiguous_events.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_ambiguous_functions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_attributes.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_build_transaction.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_call_interface.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_caller_interface.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_class_construction.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_constructor.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_constructor_encoding.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_deployment.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_estimate_gas.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_events.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_events_build_filter.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_example.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_init.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_method_abi_decoding.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_method_abi_encoding.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_method_to_argument_matching.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_panic_errors.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_transact_interface.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_contract_util_functions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_extracting_event_data.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_extracting_event_data_old.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/test_offchain_lookup.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/contracts/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/datastructures/test_datastructures.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/empty-object/test_empty_object_is_falsy.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_accounts.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_block_api.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_default_account_api.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_eth_contract.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_eth_fee_history.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_eth_filter.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_eth_properties.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_gas_pricing.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_poa.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-module/test_transactions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/eth-tester-api/test_withdrawals.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/exceptions/test_exceptions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_basic_filter_tests.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_create_filter_topic_merging.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_data_filters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_get_logs.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_on_event_filtering.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_past_event_filtering.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_contract_topic_filters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_existing_filter_instance.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_filter_against_latest_blocks.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_filter_against_pending_transactions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_filter_against_transaction_logs.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_filters_against_many_blocks.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/test_utils_functions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/filtering/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/gas-strategies/test_rpc_gas_pricing_strategies.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/gas-strategies/test_time_based_gas_price_strategy.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_default_middlewares.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_middleware_can_be_stateful.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_middleware_onion_api.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_provider_property.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_provider_request_wrapping.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/manager/test_response_formatters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/method-class/test_method.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/method-class/test_result_formatters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_attrdict_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_eth_tester_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_filter_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_formatting_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_gas_price_strategy.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_name_to_address_middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_stalecheck.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/middleware/test_transaction_signing.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/module-class/test_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_async_http_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_async_ipc_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_async_tester_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_auto_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_base_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_http_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_http_request_retry.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_ipc_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_legacy_websocket_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_provider_init.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/providers/test_tester_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/subscriptions/test_subscription_manager.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/subscriptions/test_subscriptions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/test_library_files.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/testing-module/test_testing_mine.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/testing-module/test_testing_snapshot_and_revert.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/testing-module/test_testing_timeTravel.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_abi_filtering_by_argument_name.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_abi_is_encodable.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_abi_named_tree.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_address.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_async_transaction.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_attach_modules.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_attributedict.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_caching_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_construct_event_data_set.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_construct_event_topics.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_datatypes.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_decorators.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_encoding.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_event_filter_builder.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_event_interface.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_fee_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_formatters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_http_session_manager.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_is_predefined_block_number.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_is_probably_enum.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_is_recognized_type.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_math.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_method_formatters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_prepare_transaction_replacement.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_select_filter_method.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_threads.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_valid_transaction_params.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/utilities/test_validation.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_api.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_attach_modules.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_client_version.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_conversions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_import_and_version.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_keccak.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_providers.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_strict_bytes_type_checking.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/core/web3-module/test_web3_inheritance.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/normalization/normalization_tests.json +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/normalization/test_normalize_name_ensip15.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_ens.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_get_registry.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_get_text.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_nameprep.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_offchain_resolution.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_setup_address.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_setup_name.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/ens/test_wildcard_resolution.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/README.md +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/common.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/generate_fixtures/common.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/common.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_http.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ipc.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_legacy_ws.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ws/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ws/conftest.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_await_w3.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_ctx_manager_w3.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_iterator_w3.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/go_ethereum/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/integration/test_ethereum_tester.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/tests/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/abi.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/abi_element_identifiers.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/async_caching.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/async_transactions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/batching.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/blocks.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/caching/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/caching/caching_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/caching/request_caching_validation.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/compat/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/compile_contracts.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contract_sources/contract_data/_custom_contract_data.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/contracts.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/datatypes.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/empty.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/encoding.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/ens.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/events.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/fee_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/formatters.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/http.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/http_session_manager.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/hypothesis.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/math.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/go_ethereum_admin_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/go_ethereum_debug_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/go_ethereum_txpool_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/module_testing_utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/net_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/persistent_connection_provider.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/module_testing/web3_module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/normalizers.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/rpc_abi.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/threads.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/transactions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/type_conversion.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/utility_methods.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/validation.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/_utils/windows.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/auto/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/auto/gethdev.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/beacon/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/beacon/api_endpoints.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/beacon/async_beacon.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/beacon/beacon.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/constants.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/contract/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/contract/async_contract.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/contract/base_contract.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/contract/contract.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/contract/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/datastructures.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/eth/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/eth/base_eth.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/exceptions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/gas_strategies/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/gas_strategies/rpc.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/gas_strategies/time_based.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/geth.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/logs.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/main.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/manager.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/attrdict.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/base.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/buffered_gas_estimate.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/filter.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/formatting.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/gas_price_strategy.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/names.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/proof_of_authority.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/pythonic.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/signing.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/stalecheck.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/middleware/validation.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/module.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/net.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/async_base.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/auto.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/base.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/eth_tester/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/eth_tester/defaults.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/eth_tester/main.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/eth_tester/middleware.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/ipc.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/legacy_websocket.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/persistent.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/persistent_connection.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/request_processor.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/subscription_container.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/persistent/websocket.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/rpc/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/rpc/async_rpc.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/rpc/rpc.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/providers/rpc/utils.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/py.typed +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/scripts/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/scripts/install_pre_releases.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/scripts/parse_pygeth_version.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/scripts/release/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/scripts/release/test_package.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/testing.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/tracing.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/types.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/__init__.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/address.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/async_exception_handling.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/caching.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/exception_handling.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3/utils/subscriptions.py +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3.egg-info/dependency_links.txt +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3.egg-info/not-zip-safe +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3.egg-info/requires.txt +0 -0
- {web3-7.11.0 → web3-7.11.1}/web3.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: web3
|
|
3
|
-
Version: 7.11.
|
|
3
|
+
Version: 7.11.1
|
|
4
4
|
Summary: web3: A Python library for interacting with Ethereum
|
|
5
5
|
Home-page: https://github.com/ethereum/web3.py
|
|
6
6
|
Author: The Ethereum Foundation
|
|
@@ -78,19 +78,6 @@ Requires-Dist: mypy==1.10.0; extra == "test"
|
|
|
78
78
|
Requires-Dist: pre-commit>=3.4.0; extra == "test"
|
|
79
79
|
Requires-Dist: eth-tester[py-evm]<0.14.0b1,>=0.13.0b1; extra == "test"
|
|
80
80
|
Requires-Dist: py-geth>=5.1.0; extra == "test"
|
|
81
|
-
Dynamic: author
|
|
82
|
-
Dynamic: author-email
|
|
83
|
-
Dynamic: classifier
|
|
84
|
-
Dynamic: description
|
|
85
|
-
Dynamic: description-content-type
|
|
86
|
-
Dynamic: home-page
|
|
87
|
-
Dynamic: keywords
|
|
88
|
-
Dynamic: license
|
|
89
|
-
Dynamic: license-file
|
|
90
|
-
Dynamic: provides-extra
|
|
91
|
-
Dynamic: requires-dist
|
|
92
|
-
Dynamic: requires-python
|
|
93
|
-
Dynamic: summary
|
|
94
81
|
|
|
95
82
|
# web3.py
|
|
96
83
|
|
|
@@ -55,7 +55,7 @@ with open("./README.md") as readme:
|
|
|
55
55
|
setup(
|
|
56
56
|
name="web3",
|
|
57
57
|
# *IMPORTANT*: Don't manually change the version here. See Contributing docs for the release process.
|
|
58
|
-
version="7.11.
|
|
58
|
+
version="7.11.1",
|
|
59
59
|
description="""web3: A Python library for interacting with Ethereum""",
|
|
60
60
|
long_description=long_description,
|
|
61
61
|
long_description_content_type="text/markdown",
|
|
@@ -397,7 +397,7 @@ async def test_async_iterator_pattern_exception_handling_for_subscriptions():
|
|
|
397
397
|
|
|
398
398
|
|
|
399
399
|
@pytest.mark.asyncio
|
|
400
|
-
async def
|
|
400
|
+
async def test_connection_closed_ok_breaks_process_subscriptions_iteration():
|
|
401
401
|
with patch(
|
|
402
402
|
"web3.providers.persistent.websocket.connect",
|
|
403
403
|
new=lambda *_1, **_2: WebSocketMessageStreamMock(
|
|
@@ -409,6 +409,22 @@ async def test_connection_closed_ok_breaks_message_iteration():
|
|
|
409
409
|
pytest.fail("Should not reach this point.")
|
|
410
410
|
|
|
411
411
|
|
|
412
|
+
@pytest.mark.asyncio
|
|
413
|
+
async def test_connection_closed_ok_breaks_handle_subscriptions_iteration():
|
|
414
|
+
with patch(
|
|
415
|
+
"web3.providers.persistent.websocket.connect",
|
|
416
|
+
new=lambda *_1, **_2: WebSocketMessageStreamMock(
|
|
417
|
+
raise_exception=ConnectionClosedOK(None, None)
|
|
418
|
+
),
|
|
419
|
+
):
|
|
420
|
+
w3 = await AsyncWeb3(WebSocketProvider("ws://mocked"))
|
|
421
|
+
# would fail with a ``TimeoutError`` if the iteration did not break properly
|
|
422
|
+
# on ``ConnectionClosedOK``
|
|
423
|
+
await asyncio.wait_for(
|
|
424
|
+
w3.subscription_manager.handle_subscriptions(run_forever=True), timeout=1
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
|
|
412
428
|
@pytest.mark.asyncio
|
|
413
429
|
async def test_listener_task_breaks_out_of_stream_when_cancelled():
|
|
414
430
|
with patch(
|
|
@@ -829,7 +829,7 @@ def test_get_event_abi(event_name: str, input_args: Sequence[ABIComponent]) -> N
|
|
|
829
829
|
|
|
830
830
|
with pytest.warns(
|
|
831
831
|
DeprecationWarning,
|
|
832
|
-
match="get_event_abi is deprecated
|
|
832
|
+
match="get_event_abi is deprecated: use get_abi_element instead",
|
|
833
833
|
):
|
|
834
834
|
assert (
|
|
835
835
|
get_event_abi(contract_abi, event_name, input_names) == expected_event_abi
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from web3._utils.filters import (
|
|
4
|
+
construct_event_filter_params,
|
|
5
|
+
)
|
|
6
|
+
from web3.exceptions import (
|
|
7
|
+
InvalidAddress,
|
|
8
|
+
Web3ValueError,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def hex_and_pad(i):
|
|
13
|
+
unpadded_hex_value = hex(i).rstrip("L")
|
|
14
|
+
return "0x" + unpadded_hex_value[2:].zfill(64)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@pytest.fixture
|
|
18
|
+
def event_abi():
|
|
19
|
+
return {
|
|
20
|
+
"anonymous": False,
|
|
21
|
+
"inputs": [
|
|
22
|
+
{"indexed": False, "name": "arg0", "type": "uint256"},
|
|
23
|
+
{"indexed": True, "name": "arg1", "type": "uint256"},
|
|
24
|
+
],
|
|
25
|
+
"name": "Event_1",
|
|
26
|
+
"type": "event",
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@pytest.mark.parametrize(
|
|
31
|
+
"fn_kwargs,expected",
|
|
32
|
+
(
|
|
33
|
+
pytest.param(
|
|
34
|
+
{},
|
|
35
|
+
{
|
|
36
|
+
"topics": [
|
|
37
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
id="no-args",
|
|
41
|
+
),
|
|
42
|
+
pytest.param(
|
|
43
|
+
{"topics": ["should-overwrite-topics"]},
|
|
44
|
+
{"topics": ["should-overwrite-topics"]},
|
|
45
|
+
id="overwrite-topics",
|
|
46
|
+
),
|
|
47
|
+
pytest.param(
|
|
48
|
+
{"address": None},
|
|
49
|
+
{
|
|
50
|
+
"topics": [
|
|
51
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
id="no-address",
|
|
55
|
+
),
|
|
56
|
+
pytest.param(
|
|
57
|
+
{"contract_address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601"},
|
|
58
|
+
{
|
|
59
|
+
"topics": [
|
|
60
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
61
|
+
],
|
|
62
|
+
"address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
63
|
+
},
|
|
64
|
+
id="contract_address-string",
|
|
65
|
+
),
|
|
66
|
+
pytest.param(
|
|
67
|
+
{
|
|
68
|
+
"contract_address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
69
|
+
"address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"topics": [
|
|
73
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
74
|
+
],
|
|
75
|
+
"address": [
|
|
76
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
77
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
id="address-with-contract_address",
|
|
81
|
+
),
|
|
82
|
+
pytest.param(
|
|
83
|
+
{
|
|
84
|
+
"contract_address": ["0xd3CdA913deB6f67967B99D67aCDFa1712C293601"],
|
|
85
|
+
"address": ["0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"],
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"topics": [
|
|
89
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
90
|
+
],
|
|
91
|
+
"address": [
|
|
92
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
93
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
id="single-item-address-list-with-contract_address-list",
|
|
97
|
+
),
|
|
98
|
+
pytest.param(
|
|
99
|
+
{"address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601"},
|
|
100
|
+
{
|
|
101
|
+
"topics": [
|
|
102
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
103
|
+
],
|
|
104
|
+
"address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
105
|
+
},
|
|
106
|
+
id="address-string",
|
|
107
|
+
),
|
|
108
|
+
pytest.param(
|
|
109
|
+
{"address": b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9["},
|
|
110
|
+
{
|
|
111
|
+
"topics": [
|
|
112
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
113
|
+
],
|
|
114
|
+
"address": b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9[",
|
|
115
|
+
},
|
|
116
|
+
id="address-bytes",
|
|
117
|
+
),
|
|
118
|
+
pytest.param(
|
|
119
|
+
{
|
|
120
|
+
"contract_address": b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9[", # noqa: E501
|
|
121
|
+
"address": [
|
|
122
|
+
b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9[",
|
|
123
|
+
b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9[",
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"topics": [
|
|
128
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
129
|
+
],
|
|
130
|
+
"address": b"\xf2\xe2F\xbbv\xdf\x87l\xef\x8b8\xae\x84\x13\x0fOU\xde9[",
|
|
131
|
+
},
|
|
132
|
+
id="address-bytes-list",
|
|
133
|
+
),
|
|
134
|
+
pytest.param(
|
|
135
|
+
{"address": ["0xd3CdA913deB6f67967B99D67aCDFa1712C293601"]},
|
|
136
|
+
{
|
|
137
|
+
"topics": [
|
|
138
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
139
|
+
],
|
|
140
|
+
"address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
141
|
+
},
|
|
142
|
+
id="address-list",
|
|
143
|
+
),
|
|
144
|
+
pytest.param(
|
|
145
|
+
{
|
|
146
|
+
"address": [
|
|
147
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
148
|
+
"0x1234567890123456789012345678901234567890",
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"topics": [
|
|
153
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
154
|
+
],
|
|
155
|
+
"address": [
|
|
156
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
157
|
+
"0x1234567890123456789012345678901234567890",
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
id="multiple-address",
|
|
161
|
+
),
|
|
162
|
+
pytest.param(
|
|
163
|
+
{
|
|
164
|
+
"address": "0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
165
|
+
"contract_address": ["0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413"],
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"topics": [
|
|
169
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
170
|
+
],
|
|
171
|
+
"address": [
|
|
172
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
173
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
id="one-address-with-multiple-contract_address",
|
|
177
|
+
),
|
|
178
|
+
pytest.param(
|
|
179
|
+
{
|
|
180
|
+
"address": [
|
|
181
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
182
|
+
"0x1234567890123456789012345678901234567890",
|
|
183
|
+
],
|
|
184
|
+
"contract_address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"topics": [
|
|
188
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
189
|
+
],
|
|
190
|
+
"address": [
|
|
191
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
192
|
+
"0x1234567890123456789012345678901234567890",
|
|
193
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
id="multiple-address-with-one-contract_address",
|
|
197
|
+
),
|
|
198
|
+
pytest.param(
|
|
199
|
+
{
|
|
200
|
+
"address": [
|
|
201
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
202
|
+
"0x1234567890123456789012345678901234567890",
|
|
203
|
+
],
|
|
204
|
+
"contract_address": [
|
|
205
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
206
|
+
"0x1234567890123456789012345678901234567890",
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"topics": [
|
|
211
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
212
|
+
],
|
|
213
|
+
"address": [
|
|
214
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
215
|
+
"0x1234567890123456789012345678901234567890",
|
|
216
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
id="multiple-address-with-multiple-contract_address",
|
|
220
|
+
),
|
|
221
|
+
pytest.param(
|
|
222
|
+
{
|
|
223
|
+
"contract_address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
224
|
+
"topics": [
|
|
225
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
226
|
+
],
|
|
227
|
+
"from_block": "latest",
|
|
228
|
+
"to_block": "latest",
|
|
229
|
+
"address": [
|
|
230
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
231
|
+
"0x1234567890123456789012345678901234567890",
|
|
232
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"topics": [
|
|
237
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
238
|
+
],
|
|
239
|
+
"address": [
|
|
240
|
+
"0xd3CdA913deB6f67967B99D67aCDFa1712C293601",
|
|
241
|
+
"0x1234567890123456789012345678901234567890",
|
|
242
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
243
|
+
],
|
|
244
|
+
"fromBlock": "latest",
|
|
245
|
+
"toBlock": "latest",
|
|
246
|
+
},
|
|
247
|
+
id="all-arguments-with-address-list",
|
|
248
|
+
),
|
|
249
|
+
),
|
|
250
|
+
)
|
|
251
|
+
def test_construct_event_filter_params(w3, event_abi, fn_kwargs, expected):
|
|
252
|
+
_, filter_params = construct_event_filter_params(event_abi, w3.codec, **fn_kwargs)
|
|
253
|
+
# Ensure that the filter_params contains the expected keys
|
|
254
|
+
assert (
|
|
255
|
+
filter_params.keys() == expected.keys()
|
|
256
|
+
), f"Keys don't match. Expected {set(expected.keys())}, got {set(filter_params.keys())}" # noqa: E501
|
|
257
|
+
# Verify all values in filter_params match the expected values
|
|
258
|
+
for key, value in expected.items():
|
|
259
|
+
if isinstance(value, list) and isinstance(filter_params[key], list):
|
|
260
|
+
assert sorted(filter_params[key]) == sorted(
|
|
261
|
+
value
|
|
262
|
+
), f"Expected {key}={value}, got {key}={filter_params.get(key)}"
|
|
263
|
+
else:
|
|
264
|
+
assert (
|
|
265
|
+
filter_params[key] == value
|
|
266
|
+
), f"Expected {key}={value}, got {key}={filter_params.get(key)}"
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
@pytest.mark.parametrize(
|
|
270
|
+
"fn_kwargs, expected_exception",
|
|
271
|
+
[
|
|
272
|
+
pytest.param(
|
|
273
|
+
{
|
|
274
|
+
"contract_address": "0xbb9bc244d798123fde783fcc1c72d3bb8c189413",
|
|
275
|
+
"topics": [
|
|
276
|
+
"0xb470a829ed7792f06947f0ca3730a570cb378329ddcf09f2b4efabd6326f51f6"
|
|
277
|
+
],
|
|
278
|
+
"address": [
|
|
279
|
+
"0xd3cda913deb6f67967b99d67acdfa1712c293601",
|
|
280
|
+
"0x1234567890123456789012345678901234567890",
|
|
281
|
+
"0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413",
|
|
282
|
+
],
|
|
283
|
+
"from_block": 1,
|
|
284
|
+
"to_block": 2,
|
|
285
|
+
},
|
|
286
|
+
InvalidAddress,
|
|
287
|
+
id="invalid-checksum-address",
|
|
288
|
+
),
|
|
289
|
+
pytest.param(
|
|
290
|
+
{
|
|
291
|
+
"contract_address": "0xbb9bc244d798123fde783fcc1c72d3bb8c189413",
|
|
292
|
+
},
|
|
293
|
+
InvalidAddress,
|
|
294
|
+
id="invalid-checksum-contract-address",
|
|
295
|
+
),
|
|
296
|
+
pytest.param(
|
|
297
|
+
{"address": {"invalid": "0x1234567890123456789012345678901234567890"}},
|
|
298
|
+
Web3ValueError,
|
|
299
|
+
id="unsupported-type-exception",
|
|
300
|
+
),
|
|
301
|
+
],
|
|
302
|
+
)
|
|
303
|
+
def test_construct_event_filter_params_exceptions(
|
|
304
|
+
w3, event_abi, fn_kwargs, expected_exception
|
|
305
|
+
):
|
|
306
|
+
with pytest.raises(expected_exception):
|
|
307
|
+
construct_event_filter_params(event_abi, w3.codec, **fn_kwargs)
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
@pytest.mark.parametrize(
|
|
311
|
+
"fn_kwargs,expected",
|
|
312
|
+
(
|
|
313
|
+
({}, [[]]),
|
|
314
|
+
({"argument_filters": {"arg0": 1}}, [[hex_and_pad(1)]]),
|
|
315
|
+
({"argument_filters": {"arg0": [1]}}, [[hex_and_pad(1)]]),
|
|
316
|
+
(
|
|
317
|
+
{"argument_filters": {"arg0": [1, 2]}},
|
|
318
|
+
[
|
|
319
|
+
[hex_and_pad(1)],
|
|
320
|
+
[hex_and_pad(2)],
|
|
321
|
+
],
|
|
322
|
+
),
|
|
323
|
+
),
|
|
324
|
+
)
|
|
325
|
+
def test_construct_event_filter_params_for_data_filters(
|
|
326
|
+
w3, event_abi, fn_kwargs, expected
|
|
327
|
+
):
|
|
328
|
+
actual, _ = construct_event_filter_params(event_abi, w3.codec, **fn_kwargs)
|
|
329
|
+
assert actual == expected
|
|
@@ -438,6 +438,20 @@ def update_circleci_geth_version(new_version):
|
|
|
438
438
|
update_geth_version_string(changes, new_version, change_next_line=True)
|
|
439
439
|
|
|
440
440
|
|
|
441
|
+
def remove_old_fixtures(current_geth_version):
|
|
442
|
+
"""
|
|
443
|
+
Remove any geth fixture files that are not for the current version.
|
|
444
|
+
"""
|
|
445
|
+
for file in os.listdir("./tests/integration"):
|
|
446
|
+
if (
|
|
447
|
+
file.startswith("geth-")
|
|
448
|
+
and file.endswith("-fixture.zip")
|
|
449
|
+
and current_geth_version not in file
|
|
450
|
+
):
|
|
451
|
+
os.remove(os.path.join("./tests/integration", file))
|
|
452
|
+
print(f"Removed old fixture: {file}")
|
|
453
|
+
|
|
454
|
+
|
|
441
455
|
if __name__ == "__main__":
|
|
442
456
|
geth_binary = os.environ.get("GETH_BINARY", None)
|
|
443
457
|
if not geth_binary:
|
|
@@ -445,6 +459,7 @@ if __name__ == "__main__":
|
|
|
445
459
|
|
|
446
460
|
geth_version = re.search(r"geth-v([\d.]+)/", geth_binary).group(1)
|
|
447
461
|
generate_go_ethereum_fixture(f"./tests/integration/geth-{geth_version}-fixture")
|
|
462
|
+
remove_old_fixtures(geth_version)
|
|
448
463
|
update_circleci_geth_version(geth_version)
|
|
449
464
|
update_fixture_generation_version(geth_version)
|
|
450
465
|
update_doc_version(geth_version)
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/AmbiguousFunctionContract.sol:AmbiguousFunctionContract # noqa: E501
|
|
7
|
-
AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE = "
|
|
8
|
-
AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME = "
|
|
7
|
+
AMBIGUOUS_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061044a8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea26469706673582212207771e80e03817222551c15a244685f02dd958991f78b46e6373f839b286c0be264736f6c634300081e0033" # noqa: E501
|
|
8
|
+
AMBIGUOUS_FUNCTION_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80631626ba7e1461004357806320c13b0b14610073578063d482bb47146100a3575b5f5ffd5b61005d60048036038101906100589190610293565b6100c1565b60405161006a9190610305565b60405180910390f35b61008d6004803603810190610088919061031e565b6100cb565b60405161009a9190610305565b60405180910390f35b6100ab6100d6565b6040516100b891906103f4565b60405180910390f35b5f5f905092915050565b5f6001905092915050565b60606040518060400160405280600581526020017f76616c6964000000000000000000000000000000000000000000000000000000815250905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61013681610124565b8114610140575f5ffd5b50565b5f813590506101518161012d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101a58261015f565b810181811067ffffffffffffffff821117156101c4576101c361016f565b5b80604052505050565b5f6101d6610113565b90506101e2828261019c565b919050565b5f67ffffffffffffffff8211156102015761020061016f565b5b61020a8261015f565b9050602081019050919050565b828183375f83830152505050565b5f610237610232846101e7565b6101cd565b9050828152602081018484840111156102535761025261015b565b5b61025e848285610217565b509392505050565b5f82601f83011261027a57610279610157565b5b813561028a848260208601610225565b91505092915050565b5f5f604083850312156102a9576102a861011c565b5b5f6102b685828601610143565b925050602083013567ffffffffffffffff8111156102d7576102d6610120565b5b6102e385828601610266565b9150509250929050565b5f819050919050565b6102ff816102ed565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b5f5f604083850312156103345761033361011c565b5b5f83013567ffffffffffffffff81111561035157610350610120565b5b61035d85828601610266565b925050602083013567ffffffffffffffff81111561037e5761037d610120565b5b61038a85828601610266565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6103c682610394565b6103d0818561039e565b93506103e08185602086016103ae565b6103e98161015f565b840191505092915050565b5f6020820190508181035f83015261040c81846103bc565b90509291505056fea26469706673582212207771e80e03817222551c15a244685f02dd958991f78b46e6373f839b286c0be264736f6c634300081e0033" # noqa: E501
|
|
9
9
|
AMBIGUOUS_FUNCTION_CONTRACT_ABI = [
|
|
10
10
|
{
|
|
11
11
|
"inputs": [
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Generated by `compile_contracts.py` script.
|
|
3
|
-
Compiled with Solidity v0.8.
|
|
3
|
+
Compiled with Solidity v0.8.30.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
# source: web3/_utils/contract_sources/ArraysContract.sol:ArraysContract
|
|
7
|
-
ARRAYS_CONTRACT_BYTECODE = "
|
|
8
|
-
ARRAYS_CONTRACT_RUNTIME = "
|
|
7
|
+
ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a691118152506001906002610069929190610199565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026101379291906101e4565b50348015610143575f5ffd5b5060405161128238038061128283398181016040528101906101659190610652565b815f908051906020019061017a929190610286565b5080600290805190602001906101919291906102d1565b5050506106c8565b828054828255905f5260205f209081019282156101d3579160200282015b828111156101d25782518255916020019190600101906101b7565b5b5090506101e09190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610275579160200282015f5b8382111561024757835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030261020a565b80156102735782816101000a81549060ff02191690556001016020815f01049283019260010302610247565b505b509050610282919061038e565b5090565b828054828255905f5260205f209081019282156102c0579160200282015b828111156102bf5782518255916020019190600101906102a4565b5b5090506102cd9190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610362579160200282015f5b8382111561033457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026102f7565b80156103605782816101000a81549060ff02191690556001016020815f01049283019260010302610334565b505b50905061036f919061038e565b5090565b5b8082111561038a575f815f905550600101610374565b5090565b5b808211156103a5575f815f90555060010161038f565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610404826103be565b810181811067ffffffffffffffff82111715610423576104226103ce565b5b80604052505050565b5f6104356103a9565b905061044182826103fb565b919050565b5f67ffffffffffffffff8211156104605761045f6103ce565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61048781610475565b8114610491575f5ffd5b50565b5f815190506104a28161047e565b92915050565b5f6104ba6104b584610446565b61042c565b905080838252602082019050602084028301858111156104dd576104dc610471565b5b835b8181101561050657806104f28882610494565b8452602084019350506020810190506104df565b5050509392505050565b5f82601f830112610524576105236103ba565b5b81516105348482602086016104a8565b91505092915050565b5f67ffffffffffffffff821115610557576105566103ce565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61059c81610568565b81146105a6575f5ffd5b50565b5f815190506105b781610593565b92915050565b5f6105cf6105ca8461053d565b61042c565b905080838252602082019050602084028301858111156105f2576105f1610471565b5b835b8181101561061b578061060788826105a9565b8452602084019350506020810190506105f4565b5050509392505050565b5f82601f830112610639576106386103ba565b5b81516106498482602086016105bd565b91505092915050565b5f5f60408385031215610668576106676103b2565b5b5f83015167ffffffffffffffff811115610685576106846103b6565b5b61069185828601610510565b925050602083015167ffffffffffffffff8111156106b2576106b16103b6565b5b6106be85828601610625565b9150509250929050565b610bad806106d55f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220431273480cf814ef924a15a89462b6fa62e00497b1ee4630c92f33676f5b227264736f6c634300081e0033" # noqa: E501
|
|
8
|
+
ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea2646970667358221220431273480cf814ef924a15a89462b6fa62e00497b1ee4630c92f33676f5b227264736f6c634300081e0033" # noqa: E501
|
|
9
9
|
ARRAYS_CONTRACT_ABI = [
|
|
10
10
|
{
|
|
11
11
|
"inputs": [
|