diff --git a/brownie/network/contract.py b/brownie/network/contract.py index e05b948441..e0b9d7b6fb 100644 --- a/brownie/network/contract.py +++ b/brownie/network/contract.py @@ -30,11 +30,11 @@ from faster_eth_abi import decode as decode_abi from faster_eth_abi import encode as encode_abi from faster_eth_utils import combomethod +from faster_web3._utils import filters +from faster_web3.datastructures import AttributeDict +from faster_web3.types import LogReceipt from vvm import get_installable_vyper_versions from vvm.utils.convert import to_vyper_version -from web3._utils import filters -from web3.datastructures import AttributeDict -from web3.types import LogReceipt from brownie._c_constants import ( HexBytes, diff --git a/brownie/network/event.py b/brownie/network/event.py index ef05d543b6..5554226a42 100644 --- a/brownie/network/event.py +++ b/brownie/network/event.py @@ -31,9 +31,9 @@ from eth_event import EventError from eth_event.main import _TraceStep, DecodedEvent, NonDecodedEvent, TopicMapData from eth_typing import ABIElement, AnyAddress, ChecksumAddress, HexStr +from faster_web3._utils import filters +from faster_web3.datastructures import AttributeDict from ujson import JSONDecodeError -from web3._utils import filters -from web3.datastructures import AttributeDict from brownie._c_constants import ujson_dump, ujson_load from brownie._config import _get_data_folder diff --git a/brownie/network/middlewares/__init__.py b/brownie/network/middlewares/__init__.py index fc1f324d1a..0c36b60c54 100644 --- a/brownie/network/middlewares/__init__.py +++ b/brownie/network/middlewares/__init__.py @@ -2,8 +2,8 @@ from abc import ABC, abstractmethod from typing import Any, Callable, Dict, Final, List, Optional, Sequence, Type -from web3 import Web3 -from web3.types import RPCEndpoint +from faster_web3 import Web3 +from faster_web3.types import RPCEndpoint partial: Final = functools.partial diff --git a/brownie/network/middlewares/caching.py b/brownie/network/middlewares/caching.py index 6052c9a951..45309ff1d1 100644 --- a/brownie/network/middlewares/caching.py +++ b/brownie/network/middlewares/caching.py @@ -4,8 +4,8 @@ from collections import OrderedDict from typing import Any, Callable, Dict, Final, List, Optional, Sequence, final -from web3 import Web3 -from web3.types import LogReceipt, RPCEndpoint +from faster_web3 import Web3 +from faster_web3.types import LogReceipt, RPCEndpoint from brownie._c_constants import HexBytes, ujson_dumps from brownie._config import CONFIG, _get_data_folder diff --git a/brownie/network/middlewares/catch_tx_revert.py b/brownie/network/middlewares/catch_tx_revert.py index b2091954d6..6524453ba1 100644 --- a/brownie/network/middlewares/catch_tx_revert.py +++ b/brownie/network/middlewares/catch_tx_revert.py @@ -1,7 +1,7 @@ from typing import Any, Callable, Dict, Optional, Sequence, final -from web3 import Web3 -from web3.types import RPCEndpoint +from faster_web3 import Web3 +from faster_web3.types import RPCEndpoint from brownie.network.middlewares import BrownieMiddlewareABC diff --git a/brownie/network/middlewares/ganache7.py b/brownie/network/middlewares/ganache7.py index 2e7cf4b073..59d56d8bb4 100644 --- a/brownie/network/middlewares/ganache7.py +++ b/brownie/network/middlewares/ganache7.py @@ -1,7 +1,7 @@ from typing import Any, Callable, Dict, List, Optional, Sequence, final -from web3 import Web3 -from web3.types import RPCEndpoint +from faster_web3 import Web3 +from faster_web3.types import RPCEndpoint from brownie.network.middlewares import BrownieMiddlewareABC diff --git a/brownie/network/middlewares/geth_poa.py b/brownie/network/middlewares/geth_poa.py index 335058563d..0a4715c8d2 100644 --- a/brownie/network/middlewares/geth_poa.py +++ b/brownie/network/middlewares/geth_poa.py @@ -1,9 +1,9 @@ from typing import Any, Callable, Dict, List, Optional, Sequence, final -from web3 import Web3 -from web3.exceptions import ExtraDataLengthError -from web3.middleware import geth_poa_middleware -from web3.types import RPCEndpoint +from faster_web3 import Web3 +from faster_web3.exceptions import ExtraDataLengthError +from faster_web3.middleware import geth_poa_middleware +from faster_web3.types import RPCEndpoint from brownie.network.middlewares import BrownieMiddlewareABC diff --git a/brownie/network/middlewares/hardhat.py b/brownie/network/middlewares/hardhat.py index 69903146dd..a08955cf47 100644 --- a/brownie/network/middlewares/hardhat.py +++ b/brownie/network/middlewares/hardhat.py @@ -1,7 +1,7 @@ from typing import Any, Callable, Dict, List, Optional, Sequence, final -from web3 import Web3 -from web3.types import RPCEndpoint +from faster_web3 import Web3 +from faster_web3.types import RPCEndpoint from brownie._c_constants import regex_findall from brownie.network.middlewares import BrownieMiddlewareABC diff --git a/brownie/network/web3.py b/brownie/network/web3.py index 3d37ebb3d1..b7f5fa8406 100644 --- a/brownie/network/web3.py +++ b/brownie/network/web3.py @@ -5,16 +5,16 @@ from pathlib import Path from typing import Dict, Optional, Set -from ens import ENS from eth_typing import ChecksumAddress, HexStr +from faster_ens import ENS +from faster_web3 import HTTPProvider, IPCProvider +from faster_web3 import Web3 as _Web3 +from faster_web3 import WebsocketProvider +from faster_web3.contract.contract import ContractEvent # noqa +from faster_web3.contract.contract import ContractEvents as _ContractEvents # noqa +from faster_web3.gas_strategies.rpc import rpc_gas_price_strategy from requests import HTTPError from ujson import JSONDecodeError -from web3 import HTTPProvider, IPCProvider -from web3 import Web3 as _Web3 -from web3 import WebsocketProvider -from web3.contract.contract import ContractEvent # noqa -from web3.contract.contract import ContractEvents as _ContractEvents # noqa -from web3.gas_strategies.rpc import rpc_gas_price_strategy from brownie._c_constants import ujson_dump, ujson_load from brownie._config import CONFIG, _get_data_folder diff --git a/requirements.in b/requirements.in index 03f8143bc2..847e3bc06f 100644 --- a/requirements.in +++ b/requirements.in @@ -8,6 +8,7 @@ eth-typing>=4.2.1,<6 faster-eth-abi faster-eth-utils>=4.1.2 faster-hexbytes>=1.3.2,<2 +faster-web3>=6,<7 hypothesis<6.28.0 lazy-object-proxy>=1.6.0,<2 prompt-toolkit<4 @@ -28,5 +29,4 @@ tqdm<5 ujson vvm==0.2.1 vyper>=0.4.0,<0.5 -web3>=6,<7 wrapt>=1.12.1,<2 diff --git a/tests/network/state/test_get_transaction.py b/tests/network/state/test_get_transaction.py index 34bb01efec..9a9bb35f93 100644 --- a/tests/network/state/test_get_transaction.py +++ b/tests/network/state/test_get_transaction.py @@ -1,6 +1,6 @@ import pytest from eth_retry import auto_retry -from web3.exceptions import TransactionNotFound +from faster_web3.exceptions import TransactionNotFound @auto_retry diff --git a/tests/network/test_event.py b/tests/network/test_event.py index cdbe302800..a0b0817325 100644 --- a/tests/network/test_event.py +++ b/tests/network/test_event.py @@ -4,8 +4,8 @@ import time import pytest -from web3.datastructures import AttributeDict -from web3.exceptions import ABIEventFunctionNotFound +from faster_web3.datastructures import AttributeDict +from faster_web3.exceptions import ABIEventFunctionNotFound from brownie import Contract, compile_source from brownie.exceptions import EventLookupError