Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
48e3ac0
feat(specs, tests): implement EIP-8037 state creation gas cost increa…
spencer-tb Feb 28, 2026
cb3b9a4
chore(specs, tests): restore spilled state gas to reservoir on revert…
spencer-tb Mar 6, 2026
0438c1e
feat(tests): add EIP-8037 multi-block and exact coinbase fee tests
spencer-tb Mar 6, 2026
cff72ba
feat(tests): add EIP-8037 gas validation edge cases from #2426
spencer-tb Mar 6, 2026
4acadc9
chore(tests): fix tests and make bulletproof
spencer-tb Mar 6, 2026
61390b2
refactor(tests,forks): add state gas calculators and use fork methods
spencer-tb Mar 6, 2026
af2f086
feat(tests): add new_account variant to insufficient balance CALL test
spencer-tb Mar 6, 2026
35b4945
chore(tests): add valid_until marker to initcode over-limit exception…
spencer-tb Mar 6, 2026
4d2d73d
feat(tests): add max initcode 2D gas metering test
spencer-tb Mar 12, 2026
e5be13b
fix(tests): resolve gas constant renames and gas limits after rebase
spencer-tb Mar 17, 2026
7a0616c
fix(tests): prevent `tx_gas_limit` double-accumulation across fixture…
felix314159 Mar 20, 2026
02b09fd
feat(specs,tests): EIP-8037 state gas ordering and clarifications (#2…
spencer-tb Mar 28, 2026
5fc80ab
fix(specs, tests): remove per-tx state gas pre-check and add 2D block…
spencer-tb Mar 28, 2026
16664e6
fix(ported-tests): bump gas limits for Amsterdam (EIP-8037 state gas)
spencer-tb Mar 31, 2026
a2b8fd9
fix(spec,tests): code deposit ordering and regression tests
spencer-tb Mar 10, 2026
db28420
fix(spec): track collision-burned gas in regular_gas_used
spencer-tb Mar 10, 2026
814272d
feat(tests): update state gas creation tests with max_code_size case …
spencer-tb Mar 11, 2026
03be91b
chore(tests): remove obsolete static test skip list
spencer-tb Mar 31, 2026
cd997a0
fix(execute): use configurable gas limit for funding txs (EIP-8037) (…
qu0b Apr 1, 2026
87c053c
chore(lint): fix import sorting and stale type annotation for static …
spencer-tb Apr 1, 2026
f85eb5d
feat(tests): EIP-8037 - code deposit halt must discard initcode state…
qu0b Apr 1, 2026
3454a00
feat(tests): EIP-8037 blockchain header gas_used tests (#2611)
spencer-tb Apr 1, 2026
c913fe2
feat(tests): block-level 2D gas accounting tests for EIP-8037 (#2610)
qu0b Apr 1, 2026
16880c9
feat(spec-specs): EIP-8037 - move CREATE state gas charge after initc…
spencer-tb Apr 2, 2026
d2c21b2
refactor(tests-eip8037): Condition tests to EIP inclusion
marioevz Apr 9, 2026
c59409a
fix(tests): Use `pytest.mark.valid_before` for EIP-8037
marioevz Apr 9, 2026
8f362a8
fix(specs-amsterdam): Lint fails
marioevz Apr 10, 2026
c1ef9d4
fix(fill): use fork_at(), use is_eip_enabled(eip_number=7976) to pick…
felix314159 Apr 14, 2026
91ada91
fix: mypy
felix314159 Apr 16, 2026
08c7ac5
feat(spec-specs, tests): EIP-8037 - zero execution state gas on top-l…
kclowes Apr 19, 2026
06cb624
feat(spec-specs, tests): EIP-8037 - CREATE failure refunds state gas …
spencer-tb Apr 19, 2026
006726e
feat(spec-specs, tests): EIP-8037 - 0 to x to 0 SSTORE refunds to sta…
spencer-tb Apr 19, 2026
2c1b123
feat(tests): EIP-8037 - CALL with value to selfdestructed account (#2…
kclowes Apr 19, 2026
c203bba
feat(spec-specs, tests): EIP-8037 - SELFDESTRUCT same-tx refunds stat…
spencer-tb Apr 19, 2026
25ae29b
feat(spec-specs, tests): EIP-8037 - immutable intrinsic state gas for…
spencer-tb Apr 19, 2026
bc2cf74
feat(spec-specs, tests): EIP-8037 - per-dimension block gas limit che…
kclowes Apr 19, 2026
45f6ade
feat(tests): EIP-8073 - remove stale header verify on CALL to selfde…
spencer-tb Apr 20, 2026
32b0c70
chore(tests): restore and extend Amsterdam ported static skip list (#…
spencer-tb Apr 20, 2026
0a5a294
feat(spec-specs, tests): EIP-8037 SSTORE refund clamp and initcode fi…
spencer-tb Apr 20, 2026
e3d1a4f
feat(spec-specs, tests): EIP-8037 - apply calldata floor to sender re…
spencer-tb Apr 20, 2026
f658bee
feat(spec-specs,tests): EIP-8037 nested child frame refunds (#2733)
fselmo Apr 20, 2026
177433d
feat(tests): EIP-8037 additional state gas coverage (#2718)
spencer-tb Apr 20, 2026
fee5bab
feat(tests, spec-specs): add full cost per state byte pricing functio…
spencer-tb Apr 21, 2026
6b35372
fix(rebase): align EIP-8037 with forks/amsterdam GasCosts refactor
spencer-tb Apr 21, 2026
c2fca06
fix(tests): harmonize cross-EIP tests with EIP-8037 state-gas model
spencer-tb Apr 21, 2026
517df3c
fix(tests): harmonize cross-EIP tests with EIP-8037 state-gas model
spencer-tb Apr 21, 2026
66e0743
fix(tests): EIP-8037 workaround
marioevz Apr 21, 2026
efbd482
feat(test-forks): EIP-8037 add SELFDESTRUCT refund
marioevz Apr 21, 2026
53b4293
fix(tests): EIP-7708 + 8037 cross-EIP fixes
marioevz Apr 21, 2026
5e3e0a0
feat(specs): EIP-8037: Make CPSB fixed
marioevz Apr 27, 2026
bda317f
feat(test-forks): EIP-8037: Make CPSB fixed
marioevz Apr 27, 2026
fb44563
refactor(test-execute): include EIP-8037 state-gas in contract deploy…
qu0b Apr 27, 2026
a779809
fix: calculate and return regular gas and deploy gas limit
fselmo Apr 27, 2026
d333a07
fix(test-forks): EIP-8037: Regular cost/state cost
marioevz Apr 30, 2026
dd7104b
fix(tests): EIP-8037: All test changes
marioevz Apr 30, 2026
82f094d
fix(tests): EIP-8037: Revert frame-level test changes
spencer-tb Apr 30, 2026
d161af7
fix(tests): EIP-8037: Revert frame-level mcopy test changes
spencer-tb Apr 30, 2026
3b7dc34
fix(test): fix bal test by reverting back to forks/amsterdam state
fselmo Apr 30, 2026
a3bdea4
fix(test): re-calculate the gas forwarded and burned for create colli…
fselmo Apr 30, 2026
27c26c6
fix(test): fix test with proper gas accounting with metadata
fselmo Apr 30, 2026
6d76cfc
chore: just fix + just static linting
fselmo Apr 30, 2026
f8900ca
fix(test): Fix some remaining failing tests; remove some related to o…
fselmo Apr 30, 2026
a03be88
feat(tests, spec-specs): correct/new halt/reservior behavior
spencer-tb Apr 30, 2026
c128793
feat(tests): fix ported static stCreate2
spencer-tb Apr 30, 2026
b5615e7
feat(tests): fix ported static stRevertTest
spencer-tb Apr 30, 2026
9b13729
feat(tests): fix ported static stCreate2
spencer-tb Apr 30, 2026
416b795
test(tests): Add a nested CALL frame test for reservoir check on halt…
fselmo Apr 30, 2026
2b6b2b8
feat(tests): state -> blockchain test to check header gas used for ne…
fselmo Apr 30, 2026
629e4a5
fix(tests): fix withdrawals test setup while filling
fselmo Apr 30, 2026
1c48de0
fix: turn on skipped EIP-7702 tests
fselmo May 1, 2026
832427b
feat(test): calculate gas and header verify for create collision test
fselmo May 1, 2026
57eb4ef
fix(spec-specs): correct gas accounting for blocks under create colli…
fselmo May 1, 2026
7de44fd
feat(test): configure block gas used with header_verify
fselmo May 1, 2026
7565158
Snobal tests for bad 7702 state gas accounting
Carsons-Eels May 1, 2026
f1f1a1f
chore(ported_static): sync from forks/amsterdam onto snøbal/6 (#2783)
leolara May 5, 2026
c0226db
fix(ported_static): fork-specific Amsterdam balance for OoG refund te…
leolara May 5, 2026
95f9136
feat(spec-specs, tests): EIP-8037 halt refunds spilled state gas (#2815)
spencer-tb May 7, 2026
adaefad
fix(spec,test): 7702 refund block-level gas accounting for EIP-8037 (…
fselmo May 7, 2026
4fc1b2b
feat(tests): 8037-Add tests for 7702 interactions (#2722)
kclowes May 7, 2026
9a03237
feat(spec-specs, tests): EIP-8037 more refund fixes (#2823)
spencer-tb May 8, 2026
879accf
feat(spec-specs, tests): 8037 more 2d edge cases (#2735)
kclowes May 8, 2026
ca01266
feat(spec,test): update bal-devnet-7 EIP-8037 bytes values; CPSB 1174…
fselmo May 10, 2026
2ee1402
feat(spec-specs, tests): EIP-8037 tx created contracts destroyed in s…
spencer-tb May 10, 2026
43de09f
feat(spec-specs, tests): eip-8037 system transaction gas state reservoir
spencer-tb May 10, 2026
8a9c2a9
feat(tests): eip-8037 cover CALL+value+new_account state-gas refund
spencer-tb May 11, 2026
ebb43e4
fix(ported_static): bump gas budgets for EIP-8037 state-gas headroom …
leolara May 11, 2026
493c894
fix(spec,test): align with latest EIP-8037 auth refund changes (#2836)
fselmo May 12, 2026
3186cdd
feat(spec-specs, tests): remove SD state gas refunds from EIP-8037 (#…
spencer-tb May 12, 2026
b3c88c9
fix(ported_static): fork-conditional gas bumps for ~340 EIP-8037 Amst…
leolara May 12, 2026
2e04750
feat(tests): EIP-8037 create OOG state gas boundary coverage (#2847)
spencer-tb May 13, 2026
322d26b
fix(tests): post-merge artifacts and SD state-gas bump
spencer-tb May 13, 2026
66846fe
fix(tests): post-merge static lint and typecheck
spencer-tb May 13, 2026
ce0dd5b
fix(tests): drop unused gas_sstore in legacy gas harness generator
spencer-tb May 13, 2026
94be6a3
feat(tests, spec-specs): refill auth state gas on delegation clear fo…
spencer-tb May 13, 2026
1a8ef6b
fix(tests): harmonize EIP-7928 cross-tx BAL tests with EIP-8037 gas m…
spencer-tb May 18, 2026
11a0ae4
feat(tests, spec-specs): eip8037 sstore/collision clear dynamics (#2863)
fselmo May 18, 2026
dd30c7c
feat(tests): EIP-8037 isolate intrinsic-regular > cap with floor < ca…
chfast May 18, 2026
4835044
fix(merge): repair conflict-resolution artifacts post EIP-8037 cherry…
spencer-tb May 21, 2026
2a765ab
chore: address review round one comments
spencer-tb May 25, 2026
fed95d7
chore(spec-specs): remove escrow and use inline
spencer-tb May 27, 2026
710b073
chore(tests): trim eip7976 refund test to required 8037 changes
spencer-tb May 27, 2026
e9f6bed
chore(tests): revert leftover fork/sender param swap in selfdestruct
spencer-tb May 27, 2026
0bfb5f2
chore(tests,fw): replace sstore_state_gas with Op.SSTORE().state_cost()
spencer-tb May 27, 2026
ac39618
chore(spec-specs): address spec review comments
spencer-tb Jun 1, 2026
b1e1f92
chore(tests): restore bal opcode tests to canonical args_size/ret_siz…
spencer-tb Jun 1, 2026
f345548
chore(tests): restore burn_logs SSTORE pattern and Conditional runtime
spencer-tb Jun 1, 2026
273b917
chore(tests): restore nested_calls SSTORE pattern, forward all gas fo…
spencer-tb Jun 1, 2026
e901736
chore(tests): restore fork-aware initcode fixture, gate gas_usage for…
spencer-tb Jun 1, 2026
b95369f
chore(tests): restore EIP-7778 wording in gas_accounting comment
spencer-tb Jun 1, 2026
1322b58
chore(tests): gate fork-transition NEW_ACCOUNT bump on EIP-8037
spencer-tb Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ def deploy_deterministic_factory_contract(
fund_tx = Transaction(
to=deploy_tx_sender,
value=fund_amount,
gas_limit=200_000,
gas_price=gas_price,
sender=seed_key,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_recover_funds(
del index

remaining_balance = eth_rpc.get_balance(eoa)
refund_gas_limit = 21_000
refund_gas_limit = 200_000
tx_cost = refund_gas_limit * gas_price
if remaining_balance < tx_cost:
pytest.skip(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,55 @@ class _DeferredFundAddress:
minimum_balance: bool


def _compute_deploy_gas_limit(
fork: Fork,
*,
deploy_code_size: int,
initcode: Bytes | Initcode,
storage_slots: int = 0,
) -> Tuple[int, int]:
"""
Compute the gas_limit for a contract-deploy transaction, split
into the EIP-7825 cap-bound regular portion and the total
(regular + state) deploy gas.

Per EIP-8037, the per-tx 2^24 cap binds only the regular-gas
portion of intrinsic gas; state gas is drawn from the per-block
reservoir and may push tx.gas above the cap. We therefore return
both values: callers compare ``regular_gas`` against
``transaction_gas_limit_cap()`` and use ``deploy_gas_limit`` as
the actual ``tx.gas`` field. Pre-Amsterdam, the state-gas helpers
return 0 and ``deploy_gas_limit == regular_gas``.

The regular portion is doubled as a safety buffer (gas estimation
is approximate); the state portion is exact and is not doubled.
"""
gas_costs = fork.gas_costs()
memory_expansion_gas_calculator = fork.memory_expansion_gas_calculator()
calldata_gas_calculator = fork.calldata_gas_calculator()

# Regular-gas portion (subject to EIP-7825 cap). On EIP-8037 forks
# `TX_CREATE` folds in the new-account state gas; back that out so
# we only count regular gas here.
regular_gas = gas_costs.TX_BASE + gas_costs.TX_CREATE
regular_gas -= fork.transaction_intrinsic_state_gas(contract_creation=True)
regular_gas += storage_slots * 22_600
Comment thread
spencer-tb marked this conversation as resolved.
regular_gas += deploy_code_size * gas_costs.CODE_DEPOSIT_PER_BYTE
regular_gas += memory_expansion_gas_calculator(
new_bytes=len(bytes(initcode))
)
regular_gas += calldata_gas_calculator(data=initcode)
regular_gas = regular_gas * 2

# State-gas portion (drawn from block reservoir, not capped).
state_gas = fork.transaction_intrinsic_state_gas(contract_creation=True)
state_gas += fork.code_deposit_state_gas(code_size=deploy_code_size)
state_gas += storage_slots * Op.SSTORE(new_value=1).state_cost(fork)

deploy_gas_limit = regular_gas + state_gas
return regular_gas, deploy_gas_limit


class Alloc(SharedAlloc):
"""A custom class that inherits from the original Alloc class."""

Expand Down Expand Up @@ -257,6 +306,7 @@ def __init__(
address_stubs: AddressStubs | None = None,
block_number: int = 0,
timestamp: int = 0,
funding_gas_limit: int = 200_000,
**kwargs: Any,
) -> None:
"""Initialize the pre-alloc with the given parameters."""
Expand All @@ -269,6 +319,7 @@ def __init__(
self._address_stubs = address_stubs or AddressStubs(root={})
self._block_number = block_number
self._timestamp = timestamp
self._funding_gas_limit = funding_gas_limit

def code_pre_processor(self, code: Bytecode) -> Bytecode:
"""Pre-processes the code before setting it."""
Expand Down Expand Up @@ -321,11 +372,6 @@ def _deterministic_deploy_contract(
fork = self._fork.fork_at(
block_number=self._block_number, timestamp=self._timestamp
)
gas_costs = fork.gas_costs()
memory_expansion_gas_calculator = (
fork.memory_expansion_gas_calculator()
)
calldata_gas_calculator = fork.calldata_gas_calculator()
if not isinstance(deploy_code, Bytes):
deploy_code = Bytes(deploy_code)
if initcode is None:
Expand All @@ -348,18 +394,18 @@ def _deterministic_deploy_contract(
raise ValueError(
f"initcode too large {len(initcode)} > {max_initcode_size}"
)
deploy_gas_limit = gas_costs.TX_BASE + gas_costs.TX_CREATE
deploy_gas_limit += len(deploy_code) * gas_costs.CODE_DEPOSIT_PER_BYTE
deploy_gas_limit += memory_expansion_gas_calculator(
new_bytes=len(initcode)
regular_gas, deploy_gas_limit = _compute_deploy_gas_limit(
fork,
deploy_code_size=len(deploy_code),
initcode=initcode,
)
deploy_gas_limit += calldata_gas_calculator(data=initcode)
deploy_gas_limit = deploy_gas_limit * 2
# Per EIP-8037, the per-tx 2^24 cap (EIP-7825) binds only the
# regular-gas portion; state gas is drawn from the block reservoir.
tx_gas_limit_cap = fork.transaction_gas_limit_cap()
if tx_gas_limit_cap and deploy_gas_limit > tx_gas_limit_cap:
if tx_gas_limit_cap and regular_gas > tx_gas_limit_cap:
raise ValueError(
f"deterministic deploy gas limit exceeds the transaction "
f"gas limit cap: {deploy_gas_limit} > {tx_gas_limit_cap}"
f"deterministic deploy regular gas exceeds the transaction "
f"gas limit cap: {regular_gas} > {tx_gas_limit_cap}"
)

# Defer the on-chain check; the deploy tx (if needed) and the
Expand Down Expand Up @@ -403,11 +449,6 @@ def _deploy_contract(
fork = self._fork.fork_at(
block_number=self._block_number, timestamp=self._timestamp
)
gas_costs = fork.gas_costs()
memory_expansion_gas_calculator = (
fork.memory_expansion_gas_calculator()
)
calldata_gas_calculator = fork.calldata_gas_calculator()

if not isinstance(storage, Storage):
storage = Storage(storage) # type: ignore
Expand Down Expand Up @@ -443,13 +484,10 @@ def _deploy_contract(

initcode_prefix = Bytecode()

deploy_gas_limit = gas_costs.TX_BASE + gas_costs.TX_CREATE

if len(storage.root) > 0:
initcode_prefix += sum(
Op.SSTORE(key, value) for key, value in storage.root.items()
)
deploy_gas_limit += len(storage.root) * 22_600

assert isinstance(code, Bytecode), (
f"incompatible code type: {type(code)}"
Expand All @@ -460,14 +498,9 @@ def _deploy_contract(
if len(code) > max_code_size:
raise ValueError(f"code too large: {len(code)} > {max_code_size}")

deploy_gas_limit += len(code) * gas_costs.CODE_DEPOSIT_PER_BYTE

prepared_initcode = Initcode(
deploy_code=code, initcode_prefix=initcode_prefix
)
deploy_gas_limit += memory_expansion_gas_calculator(
new_bytes=len(bytes(prepared_initcode))
)

max_initcode_size = fork.max_initcode_size()
initcode_len = len(prepared_initcode)
Expand All @@ -476,14 +509,19 @@ def _deploy_contract(
f"initcode too large {initcode_len} > {max_initcode_size}"
)

deploy_gas_limit += calldata_gas_calculator(data=prepared_initcode)

deploy_gas_limit = deploy_gas_limit * 2
regular_gas, deploy_gas_limit = _compute_deploy_gas_limit(
fork,
deploy_code_size=len(code),
initcode=prepared_initcode,
storage_slots=len(storage.root),
)
# Per EIP-8037, the per-tx 2^24 cap (EIP-7825) binds only the
# regular-gas portion; state gas is drawn from the block reservoir.
tx_gas_limit_cap = fork.transaction_gas_limit_cap()
if tx_gas_limit_cap and deploy_gas_limit > tx_gas_limit_cap:
if tx_gas_limit_cap and regular_gas > tx_gas_limit_cap:
raise ValueError(
f"deploy gas limit exceeds the transaction gas limit cap: "
f"{deploy_gas_limit} > {tx_gas_limit_cap}"
f"deploy regular gas exceeds the transaction gas limit cap: "
f"{regular_gas} > {tx_gas_limit_cap}"
)

deploy_tx = self._add_pending_tx(
Expand Down Expand Up @@ -645,6 +683,7 @@ def _fund_eoa(
target=label,
to=eoa,
value=amount,
gas_limit=self._funding_gas_limit,
)

if fund_tx is not None:
Expand Down Expand Up @@ -862,6 +901,7 @@ def _resolve_fund_addresses(self) -> None:
target=d.address.label,
to=d.address,
value=d.amount - current_balance,
gas_limit=self._funding_gas_limit,
)
new_balance = d.amount
else:
Expand All @@ -876,6 +916,7 @@ def _resolve_fund_addresses(self) -> None:
target=d.address.label,
to=d.address,
value=d.amount,
gas_limit=self._funding_gas_limit,
)
new_balance = current_balance + d.amount

Expand Down Expand Up @@ -985,6 +1026,7 @@ def pre(
max_fee_per_gas: int,
max_priority_fee_per_gas: int,
dry_run: bool,
sender_fund_refund_gas_limit: int,
request: pytest.FixtureRequest,
) -> Generator[Alloc, None, None]:
"""Return default pre allocation for all tests (Empty alloc)."""
Expand All @@ -1009,6 +1051,7 @@ def pre(
chain_id=chain_config.chain_id,
node_id=request.node.nodeid,
address_stubs=address_stubs,
funding_gas_limit=sender_fund_refund_gas_limit,
)

# Yield the pre-alloc for usage during the test
Expand All @@ -1034,7 +1077,7 @@ def pre(
# Build refund transactions
refund_txs: List[Transaction] = []
skipped_refunds = 0
refund_gas_limit = 21_000
refund_gas_limit = sender_fund_refund_gas_limit
tx_cost = refund_gas_limit * max_fee_per_gas
for idx, eoa in enumerate(funded_eoas):
account = eth_rpc.get_account(eoa, skip_code=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def pytest_addoption(parser: pytest.Parser) -> None:
action="store",
dest="sender_fund_refund_gas_limit",
type=Wei,
default=21_000,
default=200_000,
help=(
"Gas limit set for the funding transactions of each worker's sender key." # noqa: E501
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1167,6 +1167,44 @@ def pytest_html_results_table_row(report: Any, cells: Any) -> None:
del cells[-1] # Remove the "Links" column


@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_setup(item: Any) -> Generator[None, None, None]:
"""
Snapshot parametrize values before fixture setup to detect unintended
mutations of shared pytest parameter objects across fixture format runs.
"""
if hasattr(item, "callspec"):
item._param_repr_snapshot = {
key: repr(value) for key, value in item.callspec.params.items()
}
yield


def pytest_runtest_teardown(item: Any) -> None:
"""
Compare parametrize values after test teardown to the pre-setup snapshot.

Warn if any fixture mutated shared parameter objects — these mutations
persist across fixture format runs and can cause subtle bugs (e.g.
block hash mismatches between blockchain_test and blockchain_engine_test).
"""
snapshot = getattr(item, "_param_repr_snapshot", None)
if snapshot is None:
return
for key, original_repr in snapshot.items():
current_repr = repr(item.callspec.params[key])
if current_repr != original_repr:
warnings.warn(
f"Shared pytest parameter '{key}' was mutated during "
f"test '{item.nodeid}'. Mutations on parametrize values "
f"persist across fixture format runs and can cause "
f"divergent test results. Avoid mutating these objects "
f"in fixtures; compute derived values locally instead.",
stacklevel=1,
)
del item._param_repr_snapshot


@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(
item: Any, call: Any
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ def type_4_default_transaction(sender: EOA, pre: Alloc) -> Transaction:
sender=sender,
max_fee_per_gas=10**10,
max_priority_fee_per_gas=10**9,
gas_limit=150_000,
gas_limit=500_000,
data=b"\x00" * 200,
access_list=[
AccessList(address=0x4567, storage_keys=[1000, 2000, 3000]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ class TransactionTraces(CamelModel):
traces: List[TraceLine]
output: str | None = None
gas_used: HexNumber | None = None
error: str | None = None

@classmethod
def from_file(cls, trace_file_path: Path) -> Self:
Expand Down
Loading