web3 7.12.0__tar.gz → 7.12.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.12.0/web3.egg-info → web3-7.12.1}/PKG-INFO +1 -1
- web3-7.12.1/ens/specs/.DS_Store +0 -0
- {web3-7.12.0 → web3-7.12.1}/pyproject.toml +1 -1
- {web3-7.12.0 → web3-7.12.1}/setup.py +1 -1
- web3-7.12.1/tests/.DS_Store +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_accounts.py +4 -3
- web3-7.12.1/tests/ens/.DS_Store +0 -0
- web3-7.12.1/tests/integration/.DS_Store +0 -0
- web3-7.12.1/tests/integration/geth-1.16.0-fixture.zip +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/conftest.py +3 -3
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_http.py +12 -2
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ipc.py +12 -2
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_legacy_ws.py +2 -2
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ws/conftest.py +2 -2
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/eth_module.py +14 -40
- {web3-7.12.0 → web3-7.12.1}/web3/manager.py +3 -3
- {web3-7.12.0 → web3-7.12.1}/web3/providers/auto.py +28 -6
- {web3-7.12.0 → web3-7.12.1}/web3/providers/ipc.py +2 -2
- {web3-7.12.0 → web3-7.12.1/web3.egg-info}/PKG-INFO +1 -1
- {web3-7.12.0 → web3-7.12.1}/web3.egg-info/SOURCES.txt +5 -1
- web3-7.12.0/tests/integration/geth-1.15.11-fixture.zip +0 -0
- {web3-7.12.0 → web3-7.12.1}/LICENSE +0 -0
- {web3-7.12.0 → web3-7.12.1}/MANIFEST.in +0 -0
- {web3-7.12.0 → web3-7.12.1}/README.md +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/_normalization.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/abis.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/async_ens.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/auto.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/base_ens.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/constants.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/contract_data.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/ens.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/exceptions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/specs/nf.json +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/specs/normalization_spec.json +0 -0
- {web3-7.12.0 → web3-7.12.1}/ens/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/scripts/release/test_package.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/setup.cfg +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/beacon/test_async_beacon.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/beacon/test_beacon.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/admin-module/test_admin_addPeer.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/admin-module/test_admin_nodeInfo.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/admin-module/test_admin_peers.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/block-utils/test_select_method_for_block_identifier.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/caching-utils/test_generate_cache_key.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/caching-utils/test_request_caching.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_ambiguous_events.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_ambiguous_functions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_attributes.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_build_transaction.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_call_interface.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_caller_interface.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_class_construction.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_constructor.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_constructor_encoding.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_deployment.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_estimate_gas.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_events.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_events_build_filter.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_example.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_init.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_method_abi_decoding.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_method_abi_encoding.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_method_to_argument_matching.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_panic_errors.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_transact_interface.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_util_functions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_extracting_event_data.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_extracting_event_data_old.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_offchain_lookup.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/contracts/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/datastructures/test_datastructures.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/empty-object/test_empty_object_is_falsy.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_block_api.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_default_account_api.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_eth_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_eth_fee_history.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_eth_filter.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_eth_properties.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_gas_pricing.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_poa.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-module/test_transactions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/eth-tester-api/test_withdrawals.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/exceptions/test_exceptions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_basic_filter_tests.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_create_filter_topic_merging.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_data_filters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_get_logs.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_on_event_filtering.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_past_event_filtering.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_contract_topic_filters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_existing_filter_instance.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_filter_against_latest_blocks.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_filter_against_pending_transactions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_filter_against_transaction_logs.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_filters_against_many_blocks.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/test_utils_functions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/filtering/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/gas-strategies/test_rpc_gas_pricing_strategies.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/gas-strategies/test_time_based_gas_price_strategy.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_default_middlewares.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_middleware_can_be_stateful.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_middleware_onion_api.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_provider_property.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_provider_request_wrapping.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/manager/test_response_formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/method-class/test_method.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/method-class/test_result_formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_attrdict_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_eth_tester_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_filter_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_formatting_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_gas_price_strategy.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_name_to_address_middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_stalecheck.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/middleware/test_transaction_signing.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/module-class/test_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_async_http_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_async_ipc_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_async_tester_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_auto_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_base_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_http_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_http_request_retry.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_ipc_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_legacy_websocket_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_provider_init.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_tester_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/providers/test_websocket_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/subscriptions/test_subscription_manager.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/subscriptions/test_subscriptions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/test_library_files.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/testing-module/test_testing_mine.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/testing-module/test_testing_snapshot_and_revert.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/testing-module/test_testing_timeTravel.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_abi.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_abi_filtering_by_argument_name.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_abi_is_encodable.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_abi_named_tree.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_address.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_async_transaction.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_attach_modules.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_attributedict.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_caching_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_construct_event_data_set.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_construct_event_filter_params.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_construct_event_topics.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_datatypes.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_decorators.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_encoding.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_event_filter_builder.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_event_interface.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_fee_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_http_session_manager.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_is_predefined_block_number.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_is_probably_enum.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_is_recognized_type.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_math.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_method_formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_prepare_transaction_replacement.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_select_filter_method.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_threads.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_valid_transaction_params.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/utilities/test_validation.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_api.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_attach_modules.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_client_version.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_conversions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_import_and_version.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_keccak.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_providers.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_strict_bytes_type_checking.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/core/web3-module/test_web3_inheritance.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/normalization/normalization_tests.json +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/normalization/test_normalize_name_ensip15.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_ens.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_get_registry.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_get_text.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_nameprep.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_offchain_resolution.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_setup_address.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_setup_name.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/ens/test_wildcard_resolution.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/README.md +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/common.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/conftest.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/generate_fixtures/common.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/generate_fixtures/go_ethereum.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/common.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ws/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_await_w3.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_ctx_manager_w3.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/test_goethereum_ws/test_async_iterator_w3.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/go_ethereum/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/integration/test_ethereum_tester.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/tests/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/abi.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/abi_element_identifiers.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/async_caching.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/async_transactions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/batching.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/blocks.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/caching/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/caching/caching_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/caching/request_caching_validation.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/compat/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/compile_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/_custom_contract_data.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/ambiguous_function_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/arrays_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/bytes_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/constructor_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/contract_caller_tester.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/emitter_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/event_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/extended_resolver.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/fallback_function_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/math_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/offchain_lookup.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/offchain_resolver.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/panic_errors_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/payable_tester.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/receive_function_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/reflector_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/revert_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/simple_resolver.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/storage_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/string_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contract_sources/contract_data/tuple_contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/contracts.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/datatypes.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/decorators.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/empty.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/encoding.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/ens.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/error_formatters_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/events.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/fee_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/filters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/http.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/http_session_manager.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/hypothesis.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/math.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/method_formatters.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/go_ethereum_admin_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/go_ethereum_debug_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/go_ethereum_txpool_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/module_testing_utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/net_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/persistent_connection_provider.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/module_testing/web3_module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/normalizers.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/rpc_abi.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/threads.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/transactions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/type_conversion.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/utility_methods.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/validation.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/_utils/windows.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/auto/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/auto/gethdev.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/beacon/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/beacon/api_endpoints.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/beacon/async_beacon.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/beacon/beacon.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/constants.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/contract/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/contract/async_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/contract/base_contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/contract/contract.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/contract/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/datastructures.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/eth/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/eth/async_eth.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/eth/base_eth.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/eth/eth.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/exceptions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/gas_strategies/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/gas_strategies/rpc.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/gas_strategies/time_based.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/geth.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/logs.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/main.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/method.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/attrdict.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/base.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/buffered_gas_estimate.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/filter.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/formatting.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/gas_price_strategy.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/names.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/proof_of_authority.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/pythonic.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/signing.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/stalecheck.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/middleware/validation.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/module.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/net.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/async_base.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/base.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/eth_tester/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/eth_tester/defaults.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/eth_tester/main.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/eth_tester/middleware.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/legacy_websocket.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/async_ipc.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/persistent.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/persistent_connection.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/request_processor.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/subscription_container.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/subscription_manager.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/persistent/websocket.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/rpc/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/rpc/async_rpc.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/rpc/rpc.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/providers/rpc/utils.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/py.typed +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/scripts/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/scripts/install_pre_releases.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/scripts/parse_pygeth_version.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/scripts/release/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/scripts/release/test_package.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/testing.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/tracing.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/types.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/__init__.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/abi.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/address.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/async_exception_handling.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/caching.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/exception_handling.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3/utils/subscriptions.py +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3.egg-info/dependency_links.txt +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3.egg-info/not-zip-safe +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3.egg-info/requires.txt +0 -0
- {web3-7.12.0 → web3-7.12.1}/web3.egg-info/top_level.txt +0 -0
|
Binary file
|
|
@@ -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.12.
|
|
58
|
+
version="7.12.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",
|
|
Binary file
|
|
@@ -264,6 +264,7 @@ def test_eth_account_sign(
|
|
|
264
264
|
acct, message_text, key, expected_bytes, expected_hash, v, r, s, signature
|
|
265
265
|
):
|
|
266
266
|
message = encode_defunct(text=message_text)
|
|
267
|
+
assert message.body == expected_bytes
|
|
267
268
|
signed_message = Web3.keccak(
|
|
268
269
|
b"\x19Ethereum Signed Message:\n"
|
|
269
270
|
+ bytes(f"{len(message.body)}", encoding="utf-8")
|
|
@@ -357,9 +358,9 @@ def test_eth_account_sign(
|
|
|
357
358
|
),
|
|
358
359
|
(
|
|
359
360
|
{
|
|
360
|
-
"gas":
|
|
361
|
-
"maxFeePerGas":
|
|
362
|
-
"maxPriorityFeePerGas":
|
|
361
|
+
"gas": "0x186a0",
|
|
362
|
+
"maxFeePerGas": "0x77359400",
|
|
363
|
+
"maxPriorityFeePerGas": "0x77359400",
|
|
363
364
|
"data": "0x5544",
|
|
364
365
|
"nonce": "0x2",
|
|
365
366
|
"to": "0x96216849c49358B10257cb55b28eA603c874b05E",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -35,7 +35,7 @@ from .utils import (
|
|
|
35
35
|
)
|
|
36
36
|
|
|
37
37
|
KEYFILE_PW = "web3py-test"
|
|
38
|
-
GETH_FIXTURE_ZIP = "geth-1.
|
|
38
|
+
GETH_FIXTURE_ZIP = "geth-1.16.0-fixture.zip"
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
@pytest.fixture
|
|
@@ -106,8 +106,8 @@ def base_geth_command_arguments(geth_binary, datadir):
|
|
|
106
106
|
|
|
107
107
|
@pytest.fixture
|
|
108
108
|
def geth_zipfile_version(get_geth_version):
|
|
109
|
-
# TODO: Remove support for
|
|
110
|
-
if get_geth_version.major == 1 and get_geth_version.minor in [13, 14, 15]:
|
|
109
|
+
# TODO: Remove support for 13 + 14 in next major version
|
|
110
|
+
if get_geth_version.major == 1 and get_geth_version.minor in [13, 14, 15, 16]:
|
|
111
111
|
return GETH_FIXTURE_ZIP
|
|
112
112
|
raise AssertionError("Unsupported geth version")
|
|
113
113
|
|
|
@@ -7,6 +7,7 @@ import pytest_asyncio
|
|
|
7
7
|
|
|
8
8
|
from web3 import (
|
|
9
9
|
AsyncWeb3,
|
|
10
|
+
AutoProvider,
|
|
10
11
|
Web3,
|
|
11
12
|
)
|
|
12
13
|
from web3._utils.module_testing.go_ethereum_admin_module import (
|
|
@@ -102,8 +103,17 @@ class TestGoEthereumDebugModuleTest(GoEthereumDebugModuleTest):
|
|
|
102
103
|
|
|
103
104
|
class TestGoEthereumEthModuleTest(GoEthereumEthModuleTest):
|
|
104
105
|
def test_auto_provider_batching(self, auto_w3: "Web3") -> None:
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
with auto_w3.batch_requests() as batch:
|
|
107
|
+
assert isinstance(auto_w3.provider, AutoProvider)
|
|
108
|
+
assert auto_w3.provider._is_batching
|
|
109
|
+
assert auto_w3.provider._batching_context is not None
|
|
110
|
+
batch.add(auto_w3.eth.get_block("latest"))
|
|
111
|
+
batch.add(auto_w3.eth.get_block("earliest"))
|
|
112
|
+
batch.add(auto_w3.eth.get_block("pending"))
|
|
113
|
+
results = batch.execute()
|
|
114
|
+
|
|
115
|
+
assert not auto_w3.provider._is_batching
|
|
116
|
+
assert len(results) == 3
|
|
107
117
|
|
|
108
118
|
|
|
109
119
|
class TestGoEthereumNetModuleTest(GoEthereumNetModuleTest):
|
|
@@ -7,6 +7,7 @@ import pytest_asyncio
|
|
|
7
7
|
from web3 import (
|
|
8
8
|
AsyncIPCProvider,
|
|
9
9
|
AsyncWeb3,
|
|
10
|
+
AutoProvider,
|
|
10
11
|
Web3,
|
|
11
12
|
)
|
|
12
13
|
from web3._utils.module_testing.persistent_connection_provider import (
|
|
@@ -81,8 +82,17 @@ class TestGoEthereumDebugModuleTest(GoEthereumDebugModuleTest):
|
|
|
81
82
|
|
|
82
83
|
class TestGoEthereumEthModuleTest(GoEthereumEthModuleTest):
|
|
83
84
|
def test_auto_provider_batching(self, auto_w3: "Web3") -> None:
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
with auto_w3.batch_requests() as batch:
|
|
86
|
+
assert isinstance(auto_w3.provider, AutoProvider)
|
|
87
|
+
assert auto_w3.provider._is_batching
|
|
88
|
+
assert auto_w3.provider._batching_context is not None
|
|
89
|
+
batch.add(auto_w3.eth.get_block("latest"))
|
|
90
|
+
batch.add(auto_w3.eth.get_block("earliest"))
|
|
91
|
+
batch.add(auto_w3.eth.get_block("pending"))
|
|
92
|
+
results = batch.execute()
|
|
93
|
+
|
|
94
|
+
assert not auto_w3.provider._is_batching
|
|
95
|
+
assert len(results) == 3
|
|
86
96
|
|
|
87
97
|
|
|
88
98
|
class TestGoEthereumNetModuleTest(GoEthereumNetModuleTest):
|
|
@@ -33,8 +33,8 @@ def _geth_command_arguments(base_geth_command_arguments, geth_version):
|
|
|
33
33
|
"--ipcdisable",
|
|
34
34
|
"--allow-insecure-unlock",
|
|
35
35
|
)
|
|
36
|
-
if geth_version.minor not in [13, 14, 15]:
|
|
37
|
-
# TODO: remove support for
|
|
36
|
+
if geth_version.minor not in [13, 14, 15, 16]:
|
|
37
|
+
# TODO: remove support for 13 + 14 in next major version
|
|
38
38
|
raise AssertionError("Unsupported Geth version")
|
|
39
39
|
else:
|
|
40
40
|
raise AssertionError("Unsupported Geth version")
|
|
@@ -20,8 +20,8 @@ def _geth_command_arguments(base_geth_command_arguments, geth_version):
|
|
|
20
20
|
"*",
|
|
21
21
|
"--ipcdisable",
|
|
22
22
|
)
|
|
23
|
-
if geth_version.minor not in [13, 14, 15]:
|
|
24
|
-
# TODO: remove support for
|
|
23
|
+
if geth_version.minor not in [13, 14, 15, 16]:
|
|
24
|
+
# TODO: remove support for 13 + 14 in the next major release
|
|
25
25
|
raise AssertionError("Unsupported Geth version")
|
|
26
26
|
else:
|
|
27
27
|
raise AssertionError("Unsupported Geth version")
|
|
@@ -724,8 +724,6 @@ class AsyncEthModuleTest:
|
|
|
724
724
|
keyfile_account_pkey: HexStr,
|
|
725
725
|
async_math_contract: "AsyncContract",
|
|
726
726
|
) -> None:
|
|
727
|
-
# TODO: remove blockNumber block_id from eth_call and eth_getCode calls once
|
|
728
|
-
# geth behavior for "latest" seems stable again.
|
|
729
727
|
keyfile_account = async_w3.eth.account.from_key(keyfile_account_pkey)
|
|
730
728
|
|
|
731
729
|
chain_id = await async_w3.eth.chain_id
|
|
@@ -757,13 +755,9 @@ class AsyncEthModuleTest:
|
|
|
757
755
|
signed = keyfile_account.sign_transaction(txn)
|
|
758
756
|
tx_hash = await async_w3.eth.send_raw_transaction(signed.raw_transaction)
|
|
759
757
|
get_tx = await async_w3.eth.get_transaction(tx_hash)
|
|
760
|
-
|
|
761
|
-
tx_hash, timeout=10
|
|
762
|
-
)
|
|
758
|
+
await async_w3.eth.wait_for_transaction_receipt(tx_hash)
|
|
763
759
|
|
|
764
|
-
code = await async_w3.eth.get_code(
|
|
765
|
-
keyfile_account.address, block_identifier=tx_receipt["blockNumber"]
|
|
766
|
-
)
|
|
760
|
+
code = await async_w3.eth.get_code(keyfile_account.address)
|
|
767
761
|
assert code.to_0x_hex() == f"0xef0100{async_math_contract.address[2:].lower()}"
|
|
768
762
|
delegated = async_w3.eth.contract(
|
|
769
763
|
address=keyfile_account.address, abi=async_math_contract.abi
|
|
@@ -772,7 +766,7 @@ class AsyncEthModuleTest:
|
|
|
772
766
|
# assert the math counter is increased by 1337 only in delegated acct
|
|
773
767
|
assert await async_math_contract.functions.counter().call() == math_counter
|
|
774
768
|
delegated_call = await delegated.functions.counter().call(
|
|
775
|
-
block_identifier=
|
|
769
|
+
block_identifier="latest"
|
|
776
770
|
)
|
|
777
771
|
assert delegated_call == math_counter + 1337
|
|
778
772
|
|
|
@@ -803,13 +797,9 @@ class AsyncEthModuleTest:
|
|
|
803
797
|
|
|
804
798
|
# test eth_sendTransaction
|
|
805
799
|
reset_tx_hash = await async_w3.eth.send_transaction(reset_code_txn)
|
|
806
|
-
|
|
807
|
-
reset_tx_hash, timeout=10
|
|
808
|
-
)
|
|
800
|
+
await async_w3.eth.wait_for_transaction_receipt(reset_tx_hash, timeout=10)
|
|
809
801
|
|
|
810
|
-
reset_code = await async_w3.eth.get_code(
|
|
811
|
-
keyfile_account.address, reset_tx_receipt["blockNumber"]
|
|
812
|
-
)
|
|
802
|
+
reset_code = await async_w3.eth.get_code(keyfile_account.address)
|
|
813
803
|
assert reset_code == HexBytes("0x")
|
|
814
804
|
|
|
815
805
|
@pytest.mark.asyncio
|
|
@@ -3875,8 +3865,6 @@ class EthModuleTest:
|
|
|
3875
3865
|
def test_sign_authorization_send_raw_and_send_set_code_transactions(
|
|
3876
3866
|
self, w3: "Web3", keyfile_account_pkey: HexStr, math_contract: "Contract"
|
|
3877
3867
|
) -> None:
|
|
3878
|
-
# TODO: remove blockNumber block_id from eth_call and eth_getCode calls once
|
|
3879
|
-
# geth behavior for "latest" seems stable again.
|
|
3880
3868
|
keyfile_account = w3.eth.account.from_key(keyfile_account_pkey)
|
|
3881
3869
|
|
|
3882
3870
|
chain_id = w3.eth.chain_id
|
|
@@ -3906,28 +3894,18 @@ class EthModuleTest:
|
|
|
3906
3894
|
|
|
3907
3895
|
# test eth_sendRawTransaction
|
|
3908
3896
|
signed = keyfile_account.sign_transaction(txn)
|
|
3909
|
-
|
|
3910
|
-
get_tx = w3.eth.get_transaction(
|
|
3911
|
-
|
|
3897
|
+
w3.eth.send_raw_transaction(signed.raw_transaction)
|
|
3898
|
+
get_tx = w3.eth.get_transaction(signed.hash)
|
|
3899
|
+
w3.eth.wait_for_transaction_receipt(signed.hash)
|
|
3912
3900
|
|
|
3913
|
-
code = w3.eth.get_code(
|
|
3914
|
-
keyfile_account.address, block_identifier=receipt["blockNumber"]
|
|
3915
|
-
)
|
|
3901
|
+
code = w3.eth.get_code(keyfile_account.address)
|
|
3916
3902
|
assert code.to_0x_hex() == f"0xef0100{math_contract.address[2:].lower()}"
|
|
3917
3903
|
delegated = w3.eth.contract(
|
|
3918
3904
|
address=keyfile_account.address, abi=math_contract.abi
|
|
3919
3905
|
)
|
|
3920
3906
|
# assert the math counter is increased by 1337 only in delegated acct
|
|
3921
|
-
assert (
|
|
3922
|
-
|
|
3923
|
-
block_identifier=receipt["blockNumber"]
|
|
3924
|
-
)
|
|
3925
|
-
== math_counter
|
|
3926
|
-
)
|
|
3927
|
-
assert (
|
|
3928
|
-
delegated.functions.counter().call(block_identifier=receipt["blockNumber"])
|
|
3929
|
-
== math_counter + 1337
|
|
3930
|
-
)
|
|
3907
|
+
assert math_contract.functions.counter().call() == math_counter
|
|
3908
|
+
assert delegated.functions.counter().call() == math_counter + 1337
|
|
3931
3909
|
|
|
3932
3910
|
assert len(get_tx["authorizationList"]) == 1
|
|
3933
3911
|
get_auth = get_tx["authorizationList"][0]
|
|
@@ -3938,7 +3916,7 @@ class EthModuleTest:
|
|
|
3938
3916
|
assert isinstance(get_auth["r"], HexBytes)
|
|
3939
3917
|
assert isinstance(get_auth["s"], HexBytes)
|
|
3940
3918
|
|
|
3941
|
-
# reset
|
|
3919
|
+
# reset code
|
|
3942
3920
|
reset_auth = {
|
|
3943
3921
|
"chainId": chain_id,
|
|
3944
3922
|
"address": "0x" + ("00" * 20),
|
|
@@ -3956,13 +3934,9 @@ class EthModuleTest:
|
|
|
3956
3934
|
|
|
3957
3935
|
# test eth_sendTransaction
|
|
3958
3936
|
reset_tx_hash = w3.eth.send_transaction(reset_code_txn)
|
|
3959
|
-
|
|
3960
|
-
reset_tx_hash, timeout=10
|
|
3961
|
-
)
|
|
3937
|
+
w3.eth.wait_for_transaction_receipt(reset_tx_hash)
|
|
3962
3938
|
|
|
3963
|
-
reset_code = w3.eth.get_code(
|
|
3964
|
-
keyfile_account.address, block_identifier=reset_tx_receipt["blockNumber"]
|
|
3965
|
-
)
|
|
3939
|
+
reset_code = w3.eth.get_code(keyfile_account.address)
|
|
3966
3940
|
assert reset_code == HexBytes("0x")
|
|
3967
3941
|
|
|
3968
3942
|
def test_eth_call(self, w3: "Web3", math_contract: "Contract") -> None:
|
|
@@ -254,9 +254,9 @@ class RequestManager:
|
|
|
254
254
|
"""
|
|
255
255
|
Context manager for making batch requests
|
|
256
256
|
"""
|
|
257
|
-
if isinstance(
|
|
258
|
-
self.provider
|
|
259
|
-
|
|
257
|
+
if not isinstance(
|
|
258
|
+
self.provider, (AsyncJSONBaseProvider, JSONBaseProvider, AutoProvider)
|
|
259
|
+
):
|
|
260
260
|
raise Web3TypeError("Batch requests are not supported by this provider.")
|
|
261
261
|
return RequestBatcher(self.w3)
|
|
262
262
|
|
|
@@ -3,6 +3,7 @@ from typing import (
|
|
|
3
3
|
Any,
|
|
4
4
|
Callable,
|
|
5
5
|
Dict,
|
|
6
|
+
List,
|
|
6
7
|
Optional,
|
|
7
8
|
Sequence,
|
|
8
9
|
Tuple,
|
|
@@ -21,9 +22,9 @@ from web3.exceptions import (
|
|
|
21
22
|
CannotHandleRequest,
|
|
22
23
|
)
|
|
23
24
|
from web3.providers import (
|
|
24
|
-
BaseProvider,
|
|
25
25
|
HTTPProvider,
|
|
26
26
|
IPCProvider,
|
|
27
|
+
JSONBaseProvider,
|
|
27
28
|
LegacyWebSocketProvider,
|
|
28
29
|
)
|
|
29
30
|
from web3.types import (
|
|
@@ -35,7 +36,7 @@ HTTP_SCHEMES = {"http", "https"}
|
|
|
35
36
|
WS_SCHEMES = {"ws", "wss"}
|
|
36
37
|
|
|
37
38
|
|
|
38
|
-
def load_provider_from_environment() ->
|
|
39
|
+
def load_provider_from_environment() -> Optional[JSONBaseProvider]:
|
|
39
40
|
uri_string = URI(os.environ.get("WEB3_PROVIDER_URI", ""))
|
|
40
41
|
if not uri_string:
|
|
41
42
|
return None
|
|
@@ -45,7 +46,7 @@ def load_provider_from_environment() -> BaseProvider:
|
|
|
45
46
|
|
|
46
47
|
def load_provider_from_uri(
|
|
47
48
|
uri_string: URI, headers: Optional[Dict[str, Tuple[str, str]]] = None
|
|
48
|
-
) ->
|
|
49
|
+
) -> JSONBaseProvider:
|
|
49
50
|
uri = urlparse(uri_string)
|
|
50
51
|
if uri.scheme == "file":
|
|
51
52
|
return IPCProvider(uri.path)
|
|
@@ -60,7 +61,7 @@ def load_provider_from_uri(
|
|
|
60
61
|
)
|
|
61
62
|
|
|
62
63
|
|
|
63
|
-
class AutoProvider(
|
|
64
|
+
class AutoProvider(JSONBaseProvider):
|
|
64
65
|
default_providers = (
|
|
65
66
|
load_provider_from_environment,
|
|
66
67
|
IPCProvider,
|
|
@@ -72,7 +73,7 @@ class AutoProvider(BaseProvider):
|
|
|
72
73
|
def __init__(
|
|
73
74
|
self,
|
|
74
75
|
potential_providers: Optional[
|
|
75
|
-
Sequence[Union[Callable[...,
|
|
76
|
+
Sequence[Union[Callable[..., JSONBaseProvider], Type[JSONBaseProvider]]]
|
|
76
77
|
] = None,
|
|
77
78
|
) -> None:
|
|
78
79
|
"""
|
|
@@ -83,6 +84,7 @@ class AutoProvider(BaseProvider):
|
|
|
83
84
|
in an attempt to find an active node. The list will default to
|
|
84
85
|
:attribute:`default_providers`.
|
|
85
86
|
"""
|
|
87
|
+
super().__init__()
|
|
86
88
|
if potential_providers:
|
|
87
89
|
self._potential_providers = potential_providers
|
|
88
90
|
else:
|
|
@@ -94,6 +96,14 @@ class AutoProvider(BaseProvider):
|
|
|
94
96
|
except OSError:
|
|
95
97
|
return self._proxy_request(method, params, use_cache=False)
|
|
96
98
|
|
|
99
|
+
def make_batch_request(
|
|
100
|
+
self, requests: List[Tuple[RPCEndpoint, Any]]
|
|
101
|
+
) -> Union[List[RPCResponse], RPCResponse]:
|
|
102
|
+
try:
|
|
103
|
+
return self._proxy_batch_request(requests)
|
|
104
|
+
except OSError:
|
|
105
|
+
return self._proxy_batch_request(requests, use_cache=False)
|
|
106
|
+
|
|
97
107
|
def is_connected(self, show_traceback: bool = False) -> bool:
|
|
98
108
|
provider = self._get_active_provider(use_cache=True)
|
|
99
109
|
return provider is not None and provider.is_connected(show_traceback)
|
|
@@ -110,7 +120,19 @@ class AutoProvider(BaseProvider):
|
|
|
110
120
|
|
|
111
121
|
return provider.make_request(method, params)
|
|
112
122
|
|
|
113
|
-
def
|
|
123
|
+
def _proxy_batch_request(
|
|
124
|
+
self, requests: List[Tuple[RPCEndpoint, Any]], use_cache: bool = True
|
|
125
|
+
) -> Union[List[RPCResponse], RPCResponse]:
|
|
126
|
+
provider = self._get_active_provider(use_cache)
|
|
127
|
+
if provider is None:
|
|
128
|
+
raise CannotHandleRequest(
|
|
129
|
+
"Could not discover provider while making batch request: "
|
|
130
|
+
f"requests:{requests}\n"
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
return provider.make_batch_request(requests)
|
|
134
|
+
|
|
135
|
+
def _get_active_provider(self, use_cache: bool) -> Optional[JSONBaseProvider]:
|
|
114
136
|
if use_cache and self._active_provider is not None:
|
|
115
137
|
return self._active_provider
|
|
116
138
|
|
|
@@ -59,7 +59,7 @@ def get_ipc_socket(ipc_path: str, timeout: float = 2.0) -> socket.socket:
|
|
|
59
59
|
return sock
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
class
|
|
62
|
+
class PersistentSocket:
|
|
63
63
|
sock = None
|
|
64
64
|
|
|
65
65
|
def __init__(self, ipc_path: str) -> None:
|
|
@@ -157,7 +157,7 @@ class IPCProvider(JSONBaseProvider):
|
|
|
157
157
|
|
|
158
158
|
self.timeout = timeout
|
|
159
159
|
self._lock = threading.Lock()
|
|
160
|
-
self._socket =
|
|
160
|
+
self._socket = PersistentSocket(self.ipc_path)
|
|
161
161
|
|
|
162
162
|
def __str__(self) -> str:
|
|
163
163
|
return f"<{self.__class__.__name__} {self.ipc_path}>"
|
|
@@ -14,9 +14,11 @@ ens/contract_data.py
|
|
|
14
14
|
ens/ens.py
|
|
15
15
|
ens/exceptions.py
|
|
16
16
|
ens/utils.py
|
|
17
|
+
ens/specs/.DS_Store
|
|
17
18
|
ens/specs/nf.json
|
|
18
19
|
ens/specs/normalization_spec.json
|
|
19
20
|
scripts/release/test_package.py
|
|
21
|
+
tests/.DS_Store
|
|
20
22
|
tests/__init__.py
|
|
21
23
|
tests/conftest.py
|
|
22
24
|
tests/utils.py
|
|
@@ -165,6 +167,7 @@ tests/core/web3-module/test_keccak.py
|
|
|
165
167
|
tests/core/web3-module/test_providers.py
|
|
166
168
|
tests/core/web3-module/test_strict_bytes_type_checking.py
|
|
167
169
|
tests/core/web3-module/test_web3_inheritance.py
|
|
170
|
+
tests/ens/.DS_Store
|
|
168
171
|
tests/ens/conftest.py
|
|
169
172
|
tests/ens/test_ens.py
|
|
170
173
|
tests/ens/test_get_registry.py
|
|
@@ -177,10 +180,11 @@ tests/ens/test_utils.py
|
|
|
177
180
|
tests/ens/test_wildcard_resolution.py
|
|
178
181
|
tests/ens/normalization/normalization_tests.json
|
|
179
182
|
tests/ens/normalization/test_normalize_name_ensip15.py
|
|
183
|
+
tests/integration/.DS_Store
|
|
180
184
|
tests/integration/README.md
|
|
181
185
|
tests/integration/common.py
|
|
182
186
|
tests/integration/conftest.py
|
|
183
|
-
tests/integration/geth-1.
|
|
187
|
+
tests/integration/geth-1.16.0-fixture.zip
|
|
184
188
|
tests/integration/test_ethereum_tester.py
|
|
185
189
|
tests/integration/generate_fixtures/common.py
|
|
186
190
|
tests/integration/generate_fixtures/go_ethereum.py
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{web3-7.12.0 → web3-7.12.1}/tests/core/block-utils/test_select_method_for_block_identifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{web3-7.12.0 → web3-7.12.1}/tests/core/contracts/test_contract_method_to_argument_matching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|