Skip to content
/ ape Public
forked from ApeWorX/ape

Commit 22a6a86

Browse files
authored
perf: avoid all default web3 middleware (ApeWorX#2488)
1 parent 565faaa commit 22a6a86

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/ape_ethereum/provider.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1749,7 +1749,7 @@ def _create_web3(
17491749
providers.append(lambda: WebsocketProvider(endpoint_uri=ws))
17501750

17511751
provider = AutoProvider(potential_providers=providers)
1752-
return Web3(provider)
1752+
return Web3(provider, middleware=[])
17531753

17541754

17551755
def _get_default_data_dir() -> Path:

tests/functional/geth/test_provider.py

+7
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,13 @@ def test_connect_request_headers(project, geth_provider, networks):
374374
assert "custom-geth-client/v100" in actual["User-Agent"]
375375

376376

377+
def test_connect_no_middleware(geth_provider):
378+
actual = [x for x in geth_provider.web3.middleware_onion]
379+
# NOTE: There is like 6 default, but for some reason, there is still 1
380+
# when not using any, not sure why, but at least we did what we can.
381+
assert len(actual) <= 1
382+
383+
377384
@geth_process_test
378385
@pytest.mark.parametrize("block_id", (0, "0", "0x0", HexStr("0x0")))
379386
def test_get_block(geth_provider, block_id):

0 commit comments

Comments
 (0)