20 lines
717 B
Python
20 lines
717 B
Python
from web3 import AsyncHTTPProvider, Web3
|
|
|
|
from mev_inspect.geth_poa_middleware import geth_poa_middleware
|
|
from mev_inspect.retry import http_retry_with_backoff_request_middleware
|
|
from mev_inspect.utils import RPCType
|
|
|
|
|
|
def get_base_provider(
|
|
rpc: str, request_timeout: int = 500, type: RPCType = RPCType.parity
|
|
) -> Web3.AsyncHTTPProvider:
|
|
base_provider = AsyncHTTPProvider(rpc, request_kwargs={"timeout": request_timeout})
|
|
if type is RPCType.geth:
|
|
base_provider.middlewares += (
|
|
geth_poa_middleware,
|
|
http_retry_with_backoff_request_middleware,
|
|
)
|
|
else:
|
|
base_provider.middlewares += (http_retry_with_backoff_request_middleware,)
|
|
return base_provider
|