web3 7.0.0b4__tar.gz → 7.0.0b6__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.0.0b4 → web3-7.0.0b6}/LICENSE +1 -1
- web3-7.0.0b6/MANIFEST.in +13 -0
- {web3-7.0.0b4/web3.egg-info → web3-7.0.0b6}/PKG-INFO +36 -24
- {web3-7.0.0b4 → web3-7.0.0b6}/README.md +4 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/setup.py +30 -23
- web3-7.0.0b6/tests/.DS_Store +0 -0
- web3-7.0.0b6/tests/beacon/test_async_beacon.py +270 -0
- web3-7.0.0b6/tests/beacon/test_beacon.py +234 -0
- web3-7.0.0b6/tests/conftest.py +124 -0
- web3-7.0.0b6/tests/core/admin-module/test_admin_addPeer.py +7 -0
- web3-7.0.0b6/tests/core/admin-module/test_admin_nodeInfo.py +7 -0
- web3-7.0.0b6/tests/core/admin-module/test_admin_peers.py +4 -0
- web3-7.0.0b6/tests/core/block-utils/test_select_method_for_block_identifier.py +48 -0
- web3-7.0.0b6/tests/core/caching-utils/test_generate_cache_key.py +51 -0
- web3-7.0.0b6/tests/core/caching-utils/test_request_caching.py +309 -0
- web3-7.0.0b6/tests/core/conftest.py +131 -0
- web3-7.0.0b6/tests/core/contracts/conftest.py +764 -0
- web3-7.0.0b6/tests/core/contracts/test_args_and_kwargs_merger.py +109 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_ambiguous_functions.py +197 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_attributes.py +43 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_build_transaction.py +529 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_call_interface.py +2339 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_caller_interface.py +496 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_class_construction.py +88 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_constructor.py +600 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_constructor_encoding.py +130 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_deployment.py +238 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_estimate_gas.py +216 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_events_build_filter.py +71 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_example.py +217 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_init.py +76 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_method_abi_decoding.py +149 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_method_abi_encoding.py +199 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_method_to_argument_matching.py +204 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_panic_errors.py +48 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_transact_interface.py +614 -0
- web3-7.0.0b6/tests/core/contracts/test_contract_util_functions.py +128 -0
- web3-7.0.0b6/tests/core/contracts/test_extracting_event_data.py +1235 -0
- web3-7.0.0b6/tests/core/contracts/test_extracting_event_data_old.py +155 -0
- web3-7.0.0b6/tests/core/contracts/test_offchain_lookup.py +210 -0
- web3-7.0.0b6/tests/core/contracts/utils.py +27 -0
- web3-7.0.0b6/tests/core/datastructures/test_datastructures.py +209 -0
- web3-7.0.0b6/tests/core/empty-object/test_empty_object_is_falsy.py +8 -0
- web3-7.0.0b6/tests/core/eth-module/conftest.py +6 -0
- web3-7.0.0b6/tests/core/eth-module/test_accounts.py +573 -0
- web3-7.0.0b6/tests/core/eth-module/test_block_api.py +173 -0
- web3-7.0.0b6/tests/core/eth-module/test_default_account_api.py +42 -0
- web3-7.0.0b6/tests/core/eth-module/test_eth_contract.py +47 -0
- web3-7.0.0b6/tests/core/eth-module/test_eth_fee_history.py +22 -0
- web3-7.0.0b6/tests/core/eth-module/test_eth_filter.py +47 -0
- web3-7.0.0b6/tests/core/eth-module/test_eth_mining.py +9 -0
- web3-7.0.0b6/tests/core/eth-module/test_eth_properties.py +26 -0
- web3-7.0.0b6/tests/core/eth-module/test_gas_pricing.py +27 -0
- web3-7.0.0b6/tests/core/eth-module/test_poa.py +46 -0
- web3-7.0.0b6/tests/core/eth-module/test_transactions.py +426 -0
- web3-7.0.0b6/tests/core/eth-tester-api/test_withdrawals.py +55 -0
- web3-7.0.0b6/tests/core/exceptions/test_exceptions.py +32 -0
- web3-7.0.0b6/tests/core/filtering/conftest.py +108 -0
- web3-7.0.0b6/tests/core/filtering/test_basic_filter_tests.py +78 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_create_filter_topic_merging.py +16 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_data_filters.py +475 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_get_logs.py +398 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_on_event_filtering.py +476 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_past_event_filtering.py +190 -0
- web3-7.0.0b6/tests/core/filtering/test_contract_topic_filters.py +440 -0
- web3-7.0.0b6/tests/core/filtering/test_existing_filter_instance.py +84 -0
- web3-7.0.0b6/tests/core/filtering/test_filter_against_latest_blocks.py +52 -0
- web3-7.0.0b6/tests/core/filtering/test_filter_against_pending_transactions.py +60 -0
- web3-7.0.0b6/tests/core/filtering/test_filter_against_transaction_logs.py +40 -0
- web3-7.0.0b6/tests/core/filtering/test_filters_against_many_blocks.py +315 -0
- web3-7.0.0b6/tests/core/filtering/test_utils_functions.py +225 -0
- web3-7.0.0b6/tests/core/filtering/utils.py +73 -0
- web3-7.0.0b6/tests/core/gas-strategies/test_rpc_gas_pricing_strategies.py +11 -0
- web3-7.0.0b6/tests/core/gas-strategies/test_time_based_gas_price_strategy.py +279 -0
- web3-7.0.0b6/tests/core/manager/conftest.py +38 -0
- web3-7.0.0b6/tests/core/manager/test_default_middlewares.py +24 -0
- web3-7.0.0b6/tests/core/manager/test_middleware_can_be_stateful.py +36 -0
- web3-7.0.0b6/tests/core/manager/test_middleware_onion_api.py +187 -0
- web3-7.0.0b6/tests/core/manager/test_provider_property.py +20 -0
- web3-7.0.0b6/tests/core/manager/test_provider_request_wrapping.py +33 -0
- web3-7.0.0b6/tests/core/manager/test_response_formatters.py +360 -0
- web3-7.0.0b6/tests/core/method-class/test_method.py +387 -0
- web3-7.0.0b6/tests/core/method-class/test_result_formatters.py +51 -0
- web3-7.0.0b6/tests/core/middleware/test_attrdict_middleware.py +122 -0
- web3-7.0.0b6/tests/core/middleware/test_eth_tester_middleware.py +194 -0
- web3-7.0.0b6/tests/core/middleware/test_filter_middleware.py +381 -0
- web3-7.0.0b6/tests/core/middleware/test_formatting_middleware.py +103 -0
- web3-7.0.0b6/tests/core/middleware/test_gas_price_strategy.py +69 -0
- web3-7.0.0b6/tests/core/middleware/test_name_to_address_middleware.py +180 -0
- web3-7.0.0b6/tests/core/middleware/test_stalecheck.py +234 -0
- web3-7.0.0b6/tests/core/middleware/test_transaction_signing.py +596 -0
- web3-7.0.0b6/tests/core/module-class/test_module.py +98 -0
- web3-7.0.0b6/tests/core/providers/test_async_http_provider.py +118 -0
- web3-7.0.0b6/tests/core/providers/test_async_ipc_provider.py +260 -0
- web3-7.0.0b6/tests/core/providers/test_async_tester_provider.py +67 -0
- web3-7.0.0b6/tests/core/providers/test_auto_provider.py +61 -0
- web3-7.0.0b6/tests/core/providers/test_base_provider.py +57 -0
- web3-7.0.0b6/tests/core/providers/test_http_provider.py +115 -0
- web3-7.0.0b6/tests/core/providers/test_http_request_retry.py +197 -0
- web3-7.0.0b6/tests/core/providers/test_ipc_provider.py +187 -0
- web3-7.0.0b6/tests/core/providers/test_legacy_websocket_provider.py +79 -0
- web3-7.0.0b6/tests/core/providers/test_tester_provider.py +120 -0
- web3-7.0.0b6/tests/core/providers/test_websocket_provider.py +367 -0
- web3-7.0.0b6/tests/core/test_library_files.py +30 -0
- web3-7.0.0b6/tests/core/testing-module/test_testing_mine.py +22 -0
- web3-7.0.0b6/tests/core/testing-module/test_testing_snapshot_and_revert.py +47 -0
- web3-7.0.0b6/tests/core/testing-module/test_testing_timeTravel.py +9 -0
- web3-7.0.0b6/tests/core/txpool-module/conftest.py +11 -0
- web3-7.0.0b6/tests/core/txpool-module/test_txpool_content.py +44 -0
- web3-7.0.0b6/tests/core/txpool-module/test_txpool_inspect.py +48 -0
- web3-7.0.0b6/tests/core/utilities/conftest.py +14 -0
- web3-7.0.0b6/tests/core/utilities/test_abi.py +383 -0
- web3-7.0.0b6/tests/core/utilities/test_abi_filter_by_abi_name.py +73 -0
- web3-7.0.0b6/tests/core/utilities/test_abi_filtering_by_argument_name.py +61 -0
- web3-7.0.0b6/tests/core/utilities/test_abi_is_encodable.py +102 -0
- web3-7.0.0b6/tests/core/utilities/test_abi_named_tree.py +107 -0
- web3-7.0.0b6/tests/core/utilities/test_address.py +71 -0
- web3-7.0.0b6/tests/core/utilities/test_async_transaction.py +97 -0
- web3-7.0.0b6/tests/core/utilities/test_attach_modules.py +209 -0
- web3-7.0.0b6/tests/core/utilities/test_attributedict.py +109 -0
- web3-7.0.0b6/tests/core/utilities/test_caching_utils.py +35 -0
- web3-7.0.0b6/tests/core/utilities/test_construct_event_data_set.py +150 -0
- web3-7.0.0b6/tests/core/utilities/test_construct_event_filter_params.py +103 -0
- web3-7.0.0b6/tests/core/utilities/test_construct_event_topics.py +164 -0
- web3-7.0.0b6/tests/core/utilities/test_datatypes.py +38 -0
- web3-7.0.0b6/tests/core/utilities/test_decorators.py +23 -0
- web3-7.0.0b6/tests/core/utilities/test_encoding.py +295 -0
- web3-7.0.0b6/tests/core/utilities/test_event_filter_builder.py +80 -0
- web3-7.0.0b6/tests/core/utilities/test_event_interface.py +34 -0
- web3-7.0.0b6/tests/core/utilities/test_fee_utils.py +48 -0
- web3-7.0.0b6/tests/core/utilities/test_formatters.py +56 -0
- web3-7.0.0b6/tests/core/utilities/test_is_predefined_block_number.py +22 -0
- web3-7.0.0b6/tests/core/utilities/test_is_probably_enum.py +23 -0
- web3-7.0.0b6/tests/core/utilities/test_is_recognized_type.py +182 -0
- web3-7.0.0b6/tests/core/utilities/test_math.py +57 -0
- web3-7.0.0b6/tests/core/utilities/test_method_formatters.py +194 -0
- web3-7.0.0b6/tests/core/utilities/test_prepare_transaction_replacement.py +132 -0
- web3-7.0.0b6/tests/core/utilities/test_request.py +471 -0
- web3-7.0.0b6/tests/core/utilities/test_select_filter_method.py +44 -0
- web3-7.0.0b6/tests/core/utilities/test_threads.py +110 -0
- web3-7.0.0b6/tests/core/utilities/test_valid_transaction_params.py +178 -0
- web3-7.0.0b6/tests/core/utilities/test_validation.py +147 -0
- web3-7.0.0b6/tests/core/web3-module/test_api.py +2 -0
- web3-7.0.0b6/tests/core/web3-module/test_attach_modules.py +107 -0
- web3-7.0.0b6/tests/core/web3-module/test_client_version.py +2 -0
- web3-7.0.0b6/tests/core/web3-module/test_conversions.py +255 -0
- web3-7.0.0b6/tests/core/web3-module/test_import_and_version.py +5 -0
- web3-7.0.0b6/tests/core/web3-module/test_keccak.py +121 -0
- web3-7.0.0b6/tests/core/web3-module/test_providers.py +32 -0
- web3-7.0.0b6/tests/core/web3-module/test_strict_bytes_type_checking.py +106 -0
- web3-7.0.0b6/tests/core/web3-module/test_web3_inheritance.py +12 -0
- web3-7.0.0b6/tests/ens/conftest.py +663 -0
- web3-7.0.0b6/tests/ens/normalization/normalization_tests.json +1 -0
- web3-7.0.0b6/tests/ens/normalization/test_normalize_name_ensip15.py +47 -0
- web3-7.0.0b6/tests/ens/test_ens.py +270 -0
- web3-7.0.0b6/tests/ens/test_get_registry.py +56 -0
- web3-7.0.0b6/tests/ens/test_get_text.py +166 -0
- web3-7.0.0b6/tests/ens/test_nameprep.py +37 -0
- web3-7.0.0b6/tests/ens/test_offchain_resolution.py +234 -0
- web3-7.0.0b6/tests/ens/test_setup_address.py +288 -0
- web3-7.0.0b6/tests/ens/test_setup_name.py +250 -0
- web3-7.0.0b6/tests/ens/test_utils.py +233 -0
- web3-7.0.0b6/tests/ens/test_wildcard_resolution.py +48 -0
- web3-7.0.0b6/tests/integration/.DS_Store +0 -0
- web3-7.0.0b6/tests/integration/README.md +68 -0
- web3-7.0.0b6/tests/integration/common.py +23 -0
- web3-7.0.0b6/tests/integration/conftest.py +66 -0
- web3-7.0.0b6/tests/integration/generate_fixtures/common.py +240 -0
- web3-7.0.0b6/tests/integration/generate_fixtures/go_ethereum.py +369 -0
- web3-7.0.0b6/tests/integration/geth-1.13.14-fixture.zip +0 -0
- web3-7.0.0b6/tests/integration/go_ethereum/common.py +124 -0
- web3-7.0.0b6/tests/integration/go_ethereum/conftest.py +373 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_http.py +156 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ipc.py +115 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_legacy_ws.py +109 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ws/conftest.py +48 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ws/test_async_await_w3.py +73 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ws/test_async_ctx_manager_w3.py +74 -0
- web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ws/test_async_iterator_w3.py +74 -0
- web3-7.0.0b6/tests/integration/go_ethereum/utils.py +77 -0
- web3-7.0.0b6/tests/integration/test_ethereum_tester.py +689 -0
- web3-7.0.0b6/tests/utils.py +87 -0
- web3-7.0.0b6/web3/_utils/batching.py +217 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/caching.py +26 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/compat/__init__.py +1 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contracts.py +5 -5
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/events.py +20 -20
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/filters.py +6 -6
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/method_formatters.py +0 -23
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/__init__.py +0 -3
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/eth_module.py +442 -373
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/module_testing_utils.py +13 -0
- web3-7.0.0b6/web3/_utils/module_testing/web3_module.py +736 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/rpc_abi.py +0 -18
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/contract/async_contract.py +11 -11
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/contract/base_contract.py +19 -18
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/contract/contract.py +13 -13
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/contract/utils.py +112 -4
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/eth/async_eth.py +10 -8
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/eth/eth.py +7 -6
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/exceptions.py +75 -21
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/gas_strategies/time_based.py +2 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/geth.py +0 -188
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/main.py +21 -13
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/manager.py +237 -74
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/method.py +29 -9
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/base.py +43 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/filter.py +18 -6
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/signing.py +2 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/module.py +47 -7
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/async_base.py +55 -23
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/base.py +59 -26
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/eth_tester/defaults.py +0 -48
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/eth_tester/main.py +36 -11
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/eth_tester/middleware.py +3 -8
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/ipc.py +23 -8
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/legacy_websocket.py +26 -1
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/async_ipc.py +60 -76
- web3-7.0.0b6/web3/providers/persistent/persistent.py +232 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/request_processor.py +98 -14
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/websocket.py +43 -66
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/rpc/async_rpc.py +20 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/rpc/rpc.py +22 -2
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/rpc/utils.py +1 -10
- web3-7.0.0b6/web3/py.typed +0 -0
- web3-7.0.0b6/web3/scripts/__init__.py +0 -0
- web3-7.0.0b6/web3/scripts/release/__init__.py +0 -0
- web3-7.0.0b6/web3/tools/benchmark/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/tools/benchmark/node.py +2 -8
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/types.py +8 -2
- {web3-7.0.0b4 → web3-7.0.0b6/web3.egg-info}/PKG-INFO +36 -24
- web3-7.0.0b6/web3.egg-info/SOURCES.txt +355 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3.egg-info/requires.txt +22 -14
- web3-7.0.0b4/MANIFEST.in +0 -7
- web3-7.0.0b4/web3/_utils/module_testing/go_ethereum_personal_module.py +0 -300
- web3-7.0.0b4/web3/_utils/module_testing/web3_module.py +0 -315
- web3-7.0.0b4/web3/providers/persistent/persistent.py +0 -108
- web3-7.0.0b4/web3.egg-info/SOURCES.txt +0 -174
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/_normalization.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/abis.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/async_ens.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/auto.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/base_ens.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/constants.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/contract_data.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/ens.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/exceptions.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/specs/nf.json +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/specs/normalization_spec.json +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/ens/utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/pyproject.toml +8 -8
- {web3-7.0.0b4 → web3-7.0.0b6}/setup.cfg +0 -0
- {web3-7.0.0b4/web3/_utils → web3-7.0.0b6/tests}/__init__.py +0 -0
- {web3-7.0.0b4/web3/_utils/contract_sources → web3-7.0.0b6/tests/core/utilities}/__init__.py +0 -0
- {web3-7.0.0b4/web3/_utils/contract_sources/contract_data → web3-7.0.0b6/tests/integration/go_ethereum}/__init__.py +0 -0
- {web3-7.0.0b4/web3/gas_strategies → web3-7.0.0b6/tests/integration/go_ethereum/test_goethereum_ws}/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/__init__.py +0 -0
- {web3-7.0.0b4/web3/scripts → web3-7.0.0b6/web3/_utils}/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/abi.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/async_caching.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/async_transactions.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/blocks.py +0 -0
- {web3-7.0.0b4/web3/scripts/release → web3-7.0.0b6/web3/_utils/contract_sources}/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/compile_contracts.py +0 -0
- {web3-7.0.0b4/web3/tools/benchmark → web3-7.0.0b6/web3/_utils/contract_sources/contract_data}/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/_custom_contract_data.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/address_reflector.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/arrays_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/bytes_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/constructor_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/contract_caller_tester.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/emitter_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/event_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/extended_resolver.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/fallback_function_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/math_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/offchain_lookup.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/offchain_resolver.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/panic_errors_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/payable_tester.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/receive_function_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/reflector_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/revert_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/simple_resolver.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/storage_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/string_contract.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/contract_sources/contract_data/tuple_contracts.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/datatypes.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/decorators.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/empty.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/encoding.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/ens.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/error_formatters_utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/fee_utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/formatters.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/function_identifiers.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/http.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/hypothesis.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/math.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/go_ethereum_admin_module.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/go_ethereum_txpool_module.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/net_module.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/persistent_connection_provider.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/module_testing/utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/normalizers.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/request.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/threads.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/transactions.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/type_conversion.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/utility_methods.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/validation.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/_utils/windows.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/auto/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/auto/gethdev.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/beacon/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/beacon/api_endpoints.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/beacon/async_beacon.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/beacon/beacon.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/constants.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/contract/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/datastructures.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/eth/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/eth/base_eth.py +0 -0
- /web3-7.0.0b4/web3/py.typed → /web3-7.0.0b6/web3/gas_strategies/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/gas_strategies/rpc.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/logs.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/attrdict.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/buffered_gas_estimate.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/formatting.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/gas_price_strategy.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/names.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/proof_of_authority.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/pythonic.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/stalecheck.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/middleware/validation.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/net.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/auto.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/eth_tester/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/persistent_connection.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/persistent/utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/providers/rpc/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/scripts/release/test_package.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/testing.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/tools/benchmark/main.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/tools/benchmark/reporting.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/tools/benchmark/utils.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/tracing.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/__init__.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/abi.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/address.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/async_exception_handling.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/caching.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3/utils/exception_handling.py +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3.egg-info/dependency_links.txt +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3.egg-info/not-zip-safe +0 -0
- {web3-7.0.0b4 → web3-7.0.0b6}/web3.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2016 The Ethereum Foundation
|
|
3
|
+
Copyright (c) 2016-2024 The Ethereum Foundation
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
web3-7.0.0b6/MANIFEST.in
ADDED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: web3
|
|
3
|
-
Version: 7.0.
|
|
4
|
-
Summary: web3
|
|
3
|
+
Version: 7.0.0b6
|
|
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
|
|
7
7
|
Author-email: snakecharmers@ethereum.org
|
|
@@ -16,12 +16,13 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Requires-Python: >=3.8, <4
|
|
20
21
|
Description-Content-Type: text/markdown
|
|
21
22
|
License-File: LICENSE
|
|
22
23
|
Requires-Dist: aiohttp>=3.7.4.post0
|
|
23
24
|
Requires-Dist: eth-abi>=5.0.1
|
|
24
|
-
Requires-Dist: eth-account>=0.12.
|
|
25
|
+
Requires-Dist: eth-account>=0.12.2
|
|
25
26
|
Requires-Dist: eth-hash[pycryptodome]>=0.5.1
|
|
26
27
|
Requires-Dist: eth-typing>=4.0.0
|
|
27
28
|
Requires-Dist: eth-utils>=4.0.0
|
|
@@ -32,39 +33,50 @@ Requires-Dist: requests>=2.16.0
|
|
|
32
33
|
Requires-Dist: typing-extensions>=4.0.1
|
|
33
34
|
Requires-Dist: websockets>=10.0.0
|
|
34
35
|
Requires-Dist: pyunormalize>=15.0.0
|
|
35
|
-
Provides-Extra: tester
|
|
36
|
-
Requires-Dist: eth-tester[py-evm]<0.12.0b1,>=0.11.0b1; extra == "tester"
|
|
37
|
-
Requires-Dist: py-geth>=4.1.0; extra == "tester"
|
|
38
|
-
Provides-Extra: docs
|
|
39
|
-
Requires-Dist: sphinx>=5.3.0; extra == "docs"
|
|
40
|
-
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
|
|
41
|
-
Requires-Dist: towncrier<22,>=21; extra == "docs"
|
|
42
36
|
Provides-Extra: dev
|
|
43
|
-
Requires-Dist: eth-tester[py-evm]<0.12.0b1,>=0.11.0b1; extra == "dev"
|
|
44
|
-
Requires-Dist: py-geth>=4.1.0; extra == "dev"
|
|
45
|
-
Requires-Dist: sphinx>=5.3.0; extra == "dev"
|
|
46
|
-
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
|
|
47
|
-
Requires-Dist: towncrier<22,>=21; extra == "dev"
|
|
48
37
|
Requires-Dist: build>=0.9.0; extra == "dev"
|
|
49
|
-
Requires-Dist: bumpversion; extra == "dev"
|
|
38
|
+
Requires-Dist: bumpversion>=0.5.3; extra == "dev"
|
|
50
39
|
Requires-Dist: flaky>=3.7.0; extra == "dev"
|
|
51
40
|
Requires-Dist: hypothesis>=3.31.2; extra == "dev"
|
|
41
|
+
Requires-Dist: ipython; extra == "dev"
|
|
52
42
|
Requires-Dist: pre-commit>=3.4.0; extra == "dev"
|
|
53
|
-
Requires-Dist: pytest-asyncio<0.23,>=0.
|
|
43
|
+
Requires-Dist: pytest-asyncio<0.23,>=0.21.2; extra == "dev"
|
|
54
44
|
Requires-Dist: pytest-mock>=1.10; extra == "dev"
|
|
55
|
-
Requires-Dist: pytest-watch>=4.2; extra == "dev"
|
|
56
|
-
Requires-Dist: pytest-xdist>=1.29; extra == "dev"
|
|
57
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
58
45
|
Requires-Dist: setuptools>=38.6.0; extra == "dev"
|
|
59
|
-
Requires-Dist: tox>=
|
|
46
|
+
Requires-Dist: tox>=4.0.0; extra == "dev"
|
|
60
47
|
Requires-Dist: tqdm>4.32; extra == "dev"
|
|
61
48
|
Requires-Dist: twine>=1.13; extra == "dev"
|
|
49
|
+
Requires-Dist: wheel; extra == "dev"
|
|
50
|
+
Requires-Dist: sphinx>=6.0.0; extra == "dev"
|
|
51
|
+
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
|
|
52
|
+
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
|
|
53
|
+
Requires-Dist: towncrier<22,>=21; extra == "dev"
|
|
54
|
+
Requires-Dist: eth-tester[py-evm]<0.12.0b1,>=0.11.0b1; extra == "dev"
|
|
55
|
+
Requires-Dist: py-geth>=4.1.0; extra == "dev"
|
|
56
|
+
Requires-Dist: pytest-asyncio<0.23,>=0.18.1; extra == "dev"
|
|
57
|
+
Requires-Dist: pytest-mock>=1.10; extra == "dev"
|
|
58
|
+
Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
|
|
59
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
60
|
+
Provides-Extra: docs
|
|
61
|
+
Requires-Dist: sphinx>=6.0.0; extra == "docs"
|
|
62
|
+
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
|
|
63
|
+
Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
|
|
64
|
+
Requires-Dist: towncrier<22,>=21; extra == "docs"
|
|
65
|
+
Provides-Extra: test
|
|
66
|
+
Requires-Dist: eth-tester[py-evm]<0.12.0b1,>=0.11.0b1; extra == "test"
|
|
67
|
+
Requires-Dist: py-geth>=4.1.0; extra == "test"
|
|
68
|
+
Requires-Dist: pytest-asyncio<0.23,>=0.18.1; extra == "test"
|
|
69
|
+
Requires-Dist: pytest-mock>=1.10; extra == "test"
|
|
70
|
+
Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
|
|
71
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
62
72
|
|
|
63
73
|
# web3.py
|
|
64
74
|
|
|
65
|
-
[](https://discord.gg/GHryRvPB84)
|
|
75
|
+
[](https://discord.gg/GHryRvPB84)
|
|
67
76
|
[](https://circleci.com/gh/ethereum/web3.py)
|
|
77
|
+
[](https://badge.fury.io/py/web3)
|
|
78
|
+
[](https://pypi.python.org/pypi/web3)
|
|
79
|
+
[](https://web3py.readthedocs.io/en/latest/?badge=latest)
|
|
68
80
|
|
|
69
81
|
A Python library for interacting with Ethereum.
|
|
70
82
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# web3.py
|
|
2
2
|
|
|
3
|
-
[](https://discord.gg/GHryRvPB84)
|
|
3
|
+
[](https://discord.gg/GHryRvPB84)
|
|
5
4
|
[](https://circleci.com/gh/ethereum/web3.py)
|
|
5
|
+
[](https://badge.fury.io/py/web3)
|
|
6
|
+
[](https://pypi.python.org/pypi/web3)
|
|
7
|
+
[](https://web3py.readthedocs.io/en/latest/?badge=latest)
|
|
6
8
|
|
|
7
9
|
A Python library for interacting with Ethereum.
|
|
8
10
|
|
|
@@ -5,47 +5,53 @@ from setuptools import (
|
|
|
5
5
|
)
|
|
6
6
|
|
|
7
7
|
extras_require = {
|
|
8
|
-
"tester": [
|
|
9
|
-
"eth-tester[py-evm]>=0.11.0b1,<0.12.0b1",
|
|
10
|
-
"py-geth>=4.1.0",
|
|
11
|
-
],
|
|
12
|
-
"docs": [
|
|
13
|
-
"sphinx>=5.3.0",
|
|
14
|
-
"sphinx_rtd_theme>=1.0.0",
|
|
15
|
-
"towncrier>=21,<22",
|
|
16
|
-
],
|
|
17
8
|
"dev": [
|
|
18
9
|
"build>=0.9.0",
|
|
19
|
-
"bumpversion",
|
|
10
|
+
"bumpversion>=0.5.3",
|
|
20
11
|
"flaky>=3.7.0",
|
|
21
12
|
"hypothesis>=3.31.2",
|
|
13
|
+
"ipython",
|
|
22
14
|
"pre-commit>=3.4.0",
|
|
23
|
-
"pytest-asyncio>=0.
|
|
15
|
+
"pytest-asyncio>=0.21.2,<0.23",
|
|
24
16
|
"pytest-mock>=1.10",
|
|
25
|
-
"pytest-watch>=4.2",
|
|
26
|
-
"pytest-xdist>=1.29",
|
|
27
|
-
"pytest>=7.0.0",
|
|
28
17
|
"setuptools>=38.6.0",
|
|
29
|
-
"tox>=
|
|
18
|
+
"tox>=4.0.0",
|
|
30
19
|
"tqdm>4.32",
|
|
31
20
|
"twine>=1.13",
|
|
21
|
+
"wheel",
|
|
22
|
+
],
|
|
23
|
+
"docs": [
|
|
24
|
+
"sphinx>=6.0.0",
|
|
25
|
+
"sphinx-autobuild>=2021.3.14",
|
|
26
|
+
"sphinx_rtd_theme>=1.0.0",
|
|
27
|
+
"towncrier>=21,<22",
|
|
28
|
+
],
|
|
29
|
+
"test": [
|
|
30
|
+
"eth-tester[py-evm]>=0.11.0b1,<0.12.0b1",
|
|
31
|
+
"py-geth>=4.1.0",
|
|
32
|
+
"pytest-asyncio>=0.18.1,<0.23",
|
|
33
|
+
"pytest-mock>=1.10",
|
|
34
|
+
"pytest-xdist>=2.4.0",
|
|
35
|
+
"pytest>=7.0.0",
|
|
32
36
|
],
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
extras_require["dev"] = (
|
|
36
|
-
extras_require["
|
|
40
|
+
extras_require["dev"] + extras_require["docs"] + extras_require["test"]
|
|
37
41
|
)
|
|
38
42
|
|
|
43
|
+
|
|
39
44
|
with open("./README.md") as readme:
|
|
40
45
|
long_description = readme.read()
|
|
41
46
|
|
|
47
|
+
|
|
42
48
|
setup(
|
|
43
49
|
name="web3",
|
|
44
|
-
# *IMPORTANT*: Don't manually change the version here. Use
|
|
45
|
-
version="7.0.0-beta.
|
|
46
|
-
description="""web3
|
|
47
|
-
long_description_content_type="text/markdown",
|
|
50
|
+
# *IMPORTANT*: Don't manually change the version here. Use `make bump`, as described in readme
|
|
51
|
+
version="7.0.0-beta.6",
|
|
52
|
+
description="""web3: A Python library for interacting with Ethereum""",
|
|
48
53
|
long_description=long_description,
|
|
54
|
+
long_description_content_type="text/markdown",
|
|
49
55
|
author="The Ethereum Foundation",
|
|
50
56
|
author_email="snakecharmers@ethereum.org",
|
|
51
57
|
url="https://github.com/ethereum/web3.py",
|
|
@@ -53,7 +59,7 @@ setup(
|
|
|
53
59
|
install_requires=[
|
|
54
60
|
"aiohttp>=3.7.4.post0",
|
|
55
61
|
"eth-abi>=5.0.1",
|
|
56
|
-
"eth-account>=0.12.
|
|
62
|
+
"eth-account>=0.12.2",
|
|
57
63
|
"eth-hash[pycryptodome]>=0.5.1",
|
|
58
64
|
"eth-typing>=4.0.0",
|
|
59
65
|
"eth-utils>=4.0.0",
|
|
@@ -65,13 +71,13 @@ setup(
|
|
|
65
71
|
"websockets>=10.0.0",
|
|
66
72
|
"pyunormalize>=15.0.0",
|
|
67
73
|
],
|
|
68
|
-
python_requires=">=3.8",
|
|
74
|
+
python_requires=">=3.8, <4",
|
|
69
75
|
extras_require=extras_require,
|
|
70
76
|
py_modules=["web3", "ens"],
|
|
71
77
|
license="MIT",
|
|
72
78
|
zip_safe=False,
|
|
73
79
|
keywords="ethereum",
|
|
74
|
-
packages=find_packages(exclude=["tests", "tests.*"]),
|
|
80
|
+
packages=find_packages(exclude=["scripts", "scripts.*", "tests", "tests.*"]),
|
|
75
81
|
package_data={"web3": ["py.typed"]},
|
|
76
82
|
classifiers=[
|
|
77
83
|
"Development Status :: 5 - Production/Stable",
|
|
@@ -83,5 +89,6 @@ setup(
|
|
|
83
89
|
"Programming Language :: Python :: 3.9",
|
|
84
90
|
"Programming Language :: Python :: 3.10",
|
|
85
91
|
"Programming Language :: Python :: 3.11",
|
|
92
|
+
"Programming Language :: Python :: 3.12",
|
|
86
93
|
],
|
|
87
94
|
)
|
|
Binary file
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
from random import (
|
|
3
|
+
randint,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
import pytest_asyncio
|
|
7
|
+
|
|
8
|
+
from web3._utils.request import (
|
|
9
|
+
_async_session_cache,
|
|
10
|
+
)
|
|
11
|
+
from web3.beacon import (
|
|
12
|
+
AsyncBeacon,
|
|
13
|
+
)
|
|
14
|
+
from web3.exceptions import (
|
|
15
|
+
Web3ValueError,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
# tested against lighthouse which uses port 5052 by default
|
|
19
|
+
BASE_URL = "http://localhost:5052"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _assert_valid_response(response):
|
|
23
|
+
# assert valid response according to Beacon API spec
|
|
24
|
+
assert isinstance(response, dict)
|
|
25
|
+
assert "data" in response
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@pytest.fixture
|
|
29
|
+
def async_beacon():
|
|
30
|
+
return AsyncBeacon(base_url=BASE_URL)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@pytest_asyncio.fixture(autouse=True)
|
|
34
|
+
async def _cleanup():
|
|
35
|
+
yield
|
|
36
|
+
[await session.close() for _, session in _async_session_cache.items()]
|
|
37
|
+
_async_session_cache.clear()
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# sanity check to make sure the positive test cases are valid
|
|
41
|
+
@pytest.mark.asyncio
|
|
42
|
+
async def test_async_cl_beacon_raises_exception_on_invalid_url(async_beacon):
|
|
43
|
+
with pytest.raises(Web3ValueError):
|
|
44
|
+
await async_beacon._async_make_get_request(
|
|
45
|
+
BASE_URL + "/eth/v1/beacon/nonexistent"
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@pytest.mark.asyncio
|
|
50
|
+
async def test_async_beacon_user_request_timeout():
|
|
51
|
+
beacon = AsyncBeacon(base_url=BASE_URL, request_timeout=0.001)
|
|
52
|
+
with pytest.raises(TimeoutError):
|
|
53
|
+
await beacon.get_validators()
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# Beacon endpoint tests:
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
@pytest.mark.asyncio
|
|
60
|
+
async def test_async_cl_beacon_get_genesis(async_beacon):
|
|
61
|
+
response = await async_beacon.get_genesis()
|
|
62
|
+
_assert_valid_response(response)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@pytest.mark.asyncio
|
|
66
|
+
async def test_async_cl_beacon_get_hash_root(async_beacon):
|
|
67
|
+
response = await async_beacon.get_hash_root()
|
|
68
|
+
_assert_valid_response(response)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@pytest.mark.asyncio
|
|
72
|
+
async def test_async_cl_beacon_get_fork_data(async_beacon):
|
|
73
|
+
response = await async_beacon.get_fork_data()
|
|
74
|
+
_assert_valid_response(response)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@pytest.mark.asyncio
|
|
78
|
+
async def test_async_cl_beacon_get_finality_checkpoint(async_beacon):
|
|
79
|
+
response = await async_beacon.get_finality_checkpoint()
|
|
80
|
+
_assert_valid_response(response)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
@pytest.mark.asyncio
|
|
84
|
+
async def test_async_cl_beacon_get_validators(async_beacon):
|
|
85
|
+
response = await async_beacon.get_validators()
|
|
86
|
+
_assert_valid_response(response)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@pytest.mark.asyncio
|
|
90
|
+
async def test_async_cl_beacon_get_validator(async_beacon):
|
|
91
|
+
validators_response = await async_beacon.get_validators()
|
|
92
|
+
_assert_valid_response(validators_response)
|
|
93
|
+
|
|
94
|
+
validators = validators_response["data"]
|
|
95
|
+
random_validator = validators[randint(0, len(validators))]
|
|
96
|
+
random_validator_pubkey = random_validator["validator"]["pubkey"]
|
|
97
|
+
|
|
98
|
+
response = await async_beacon.get_validator(random_validator_pubkey)
|
|
99
|
+
_assert_valid_response(response)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@pytest.mark.asyncio
|
|
103
|
+
async def test_async_cl_beacon_get_validator_balances(async_beacon):
|
|
104
|
+
response = await async_beacon.get_validator_balances()
|
|
105
|
+
_assert_valid_response(response)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
@pytest.mark.asyncio
|
|
109
|
+
async def test_async_cl_beacon_get_epoch_committees(async_beacon):
|
|
110
|
+
response = await async_beacon.get_epoch_committees()
|
|
111
|
+
_assert_valid_response(response)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
@pytest.mark.asyncio
|
|
115
|
+
async def test_async_cl_beacon_get_epoch_sync_committees(async_beacon):
|
|
116
|
+
response = await async_beacon.get_epoch_sync_committees()
|
|
117
|
+
_assert_valid_response(response)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
@pytest.mark.asyncio
|
|
121
|
+
async def test_async_cl_beacon_get_epoch_randao(async_beacon):
|
|
122
|
+
response = await async_beacon.get_epoch_randao()
|
|
123
|
+
_assert_valid_response(response)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@pytest.mark.asyncio
|
|
127
|
+
async def test_async_cl_beacon_get_block_headers(async_beacon):
|
|
128
|
+
response = await async_beacon.get_block_headers()
|
|
129
|
+
_assert_valid_response(response)
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
@pytest.mark.asyncio
|
|
133
|
+
async def test_async_cl_beacon_get_block_header(async_beacon):
|
|
134
|
+
response = await async_beacon.get_block_header("head")
|
|
135
|
+
_assert_valid_response(response)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
@pytest.mark.asyncio
|
|
139
|
+
async def test_async_cl_beacon_get_block(async_beacon):
|
|
140
|
+
response = await async_beacon.get_block("head")
|
|
141
|
+
_assert_valid_response(response)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
@pytest.mark.asyncio
|
|
145
|
+
async def test_async_cl_beacon_get_block_root(async_beacon):
|
|
146
|
+
response = await async_beacon.get_block_root("head")
|
|
147
|
+
_assert_valid_response(response)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
@pytest.mark.asyncio
|
|
151
|
+
async def test_async_cl_beacon_get_blinded_blocks(async_beacon):
|
|
152
|
+
response = await async_beacon.get_blinded_blocks("head")
|
|
153
|
+
_assert_valid_response(response)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
@pytest.mark.asyncio
|
|
157
|
+
async def test_async_cl_beacon_get_rewards(async_beacon):
|
|
158
|
+
response = await async_beacon.get_rewards("head")
|
|
159
|
+
_assert_valid_response(response)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
@pytest.mark.asyncio
|
|
163
|
+
async def test_async_cl_beacon_get_block_attestations(async_beacon):
|
|
164
|
+
response = await async_beacon.get_block_attestations("head")
|
|
165
|
+
_assert_valid_response(response)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
@pytest.mark.asyncio
|
|
169
|
+
async def test_async_cl_beacon_get_attestations(async_beacon):
|
|
170
|
+
response = await async_beacon.get_attestations()
|
|
171
|
+
_assert_valid_response(response)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
@pytest.mark.asyncio
|
|
175
|
+
async def test_async_cl_beacon_get_attester_slashings(async_beacon):
|
|
176
|
+
response = await async_beacon.get_attester_slashings()
|
|
177
|
+
_assert_valid_response(response)
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
@pytest.mark.asyncio
|
|
181
|
+
async def test_async_cl_beacon_get_proposer_slashings(async_beacon):
|
|
182
|
+
response = await async_beacon.get_proposer_slashings()
|
|
183
|
+
_assert_valid_response(response)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
@pytest.mark.asyncio
|
|
187
|
+
async def test_async_cl_beacon_get_voluntary_exits(async_beacon):
|
|
188
|
+
response = await async_beacon.get_voluntary_exits()
|
|
189
|
+
_assert_valid_response(response)
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
@pytest.mark.asyncio
|
|
193
|
+
async def test_async_cl_beacon_get_bls_to_execution_changes(async_beacon):
|
|
194
|
+
response = await async_beacon.get_bls_to_execution_changes()
|
|
195
|
+
_assert_valid_response(response)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
# Config endpoint tests:
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
@pytest.mark.asyncio
|
|
202
|
+
async def test_async_cl_config_get_fork_schedule(async_beacon):
|
|
203
|
+
response = await async_beacon.get_fork_schedule()
|
|
204
|
+
_assert_valid_response(response)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
@pytest.mark.asyncio
|
|
208
|
+
async def test_async_cl_config_get_spec(async_beacon):
|
|
209
|
+
response = await async_beacon.get_spec()
|
|
210
|
+
_assert_valid_response(response)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
@pytest.mark.asyncio
|
|
214
|
+
async def test_async_cl_config_get_deposit_contract(async_beacon):
|
|
215
|
+
response = await async_beacon.get_deposit_contract()
|
|
216
|
+
_assert_valid_response(response)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
# Debug endpoint tests:
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
@pytest.mark.asyncio
|
|
223
|
+
async def test_async_cl_debug_get_beacon_state(async_beacon):
|
|
224
|
+
response = await async_beacon.get_beacon_state()
|
|
225
|
+
_assert_valid_response(response)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
@pytest.mark.asyncio
|
|
229
|
+
async def test_async_cl_debug_get_beacon_heads(async_beacon):
|
|
230
|
+
response = await async_beacon.get_beacon_heads()
|
|
231
|
+
_assert_valid_response(response)
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
# Node endpoint tests:
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
@pytest.mark.asyncio
|
|
238
|
+
async def test_async_cl_node_get_node_identity(async_beacon):
|
|
239
|
+
response = await async_beacon.get_node_identity()
|
|
240
|
+
_assert_valid_response(response)
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
@pytest.mark.asyncio
|
|
244
|
+
async def test_async_cl_node_get_peers(async_beacon):
|
|
245
|
+
response = await async_beacon.get_peers()
|
|
246
|
+
_assert_valid_response(response)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
@pytest.mark.asyncio
|
|
250
|
+
async def test_async_cl_node_get_peer(async_beacon):
|
|
251
|
+
response = await async_beacon.get_peer("")
|
|
252
|
+
_assert_valid_response(response)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
@pytest.mark.asyncio
|
|
256
|
+
async def test_async_cl_node_get_health(async_beacon):
|
|
257
|
+
response = await async_beacon.get_health()
|
|
258
|
+
assert isinstance(response, int)
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
@pytest.mark.asyncio
|
|
262
|
+
async def test_async_cl_node_get_version(async_beacon):
|
|
263
|
+
response = await async_beacon.get_version()
|
|
264
|
+
_assert_valid_response(response)
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
@pytest.mark.asyncio
|
|
268
|
+
async def test_async_cl_node_get_syncing(async_beacon):
|
|
269
|
+
response = await async_beacon.get_syncing()
|
|
270
|
+
_assert_valid_response(response)
|