Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
b40f815
feat(spec-tool): enforce `@final` on leaf dataclasses
danceratopz Jun 9, 2026
8ea50be
feat(spec-specs, tests): merge EIP-8037 to `forks/amsterdam` (#2901)
spencer-tb Jun 9, 2026
21ecd8f
chore: remove duplicate tstore bench (#2966)
LouisTsai-Csie Jun 9, 2026
84e39e1
fix(tests): encode z, y as big-endian in test_point_evaluation_precom…
Thegaram Jun 9, 2026
505c4a4
refactor(tests): sort refund types for deterministic fixture output (…
gurukamath Jun 10, 2026
5f132e7
refactor(specs): remove unused regular gas constants in amsterdam (#2…
danceratopz Jun 10, 2026
8ccd21f
feat(tests): EIP-8037 CREATE-tx collision refunds state-gas reservoir…
chfast Jun 10, 2026
4d47a44
feat(tests): EIP-8037 reject tx when gas_limit covers regular but not…
chfast Jun 10, 2026
55ee6b1
fix(tests): EIP-8037 unmask intrinsic-cap transaction-validity checks…
bshastry Jun 10, 2026
5becfa4
refactor(forks): pass fork overrides to clone
JackCC703 Apr 28, 2026
bb030d0
style: fix ruff format and E501 line length violations
JackCC703 May 27, 2026
55f61ab
✨ feat(test): EIP-7928 Selfdestruct a dirty account (#2967)
raxhvl Jun 10, 2026
40c85cb
feat(execute): skip deterministic factory deploy when it can't be boo…
nerolation Jun 10, 2026
26ff8a6
feat(test): pass slot_number in build-block payload attributes (#2974)
edg-l Jun 10, 2026
252dc30
chore(test-forks): include sibling BPO forks in `--until` ranges (#2955)
spencer-tb Jun 11, 2026
49f4697
feat(spec-specs): EIP-8037 - check static context upfront in CREATE o…
spencer-tb Jun 11, 2026
fb4c370
chore(tests): EIP-7928 expect InvalidParams when newPayload misses BA…
spencer-tb Jun 12, 2026
9d7738b
refactor(test-benchmark): port benchmark from bal-devnet-7 (#2977)
LouisTsai-Csie Jun 12, 2026
ae18430
feat(test-specs): Allow automatic transaction gas-limit (#2969)
marioevz Jun 15, 2026
b1a898f
feat(tests): sign state test transactions with their secret key to pr…
felix314159 Jun 15, 2026
5c7c53d
feat(tests): EIP-7928 cover many storage changes for one account (#2985)
pirapira Jun 15, 2026
54246cd
chore(specs): add type alias for fee market txs
SamWilsn Jun 9, 2026
94f7d12
fix(tooling): include namespace packages in coverage reports (#2982)
danceratopz Jun 15, 2026
0a4030b
feat(ci,docs): deploy default branch docs at /docs/execution-specs/ (…
danceratopz Jun 15, 2026
90e74f1
bug(spec-specs, tests): EIP-8037 strict block-gas inclusion rule (#2892)
chfast Jun 16, 2026
e35d103
feat(tests, spec-specs): raise EIP-7954 max code size to 64KiB (#2987)
spencer-tb Jun 16, 2026
afbb325
feat(test-forks): enable filling for TangerineWhistle and SpuriousDragon
danceratopz Jun 16, 2026
b314d18
chore(ci): rebalance fill fork ranges for the enabled forks
danceratopz Jun 16, 2026
c8b2f08
feat(tests): pick most strict valid_from mark when multiple appear
SamWilsn Jun 9, 2026
45fb08e
chore(specs): refactor code deployment functions
SamWilsn May 22, 2026
7ccf649
fix(ci): include json-loader in coverage reports (#2975)
SamWilsn Jun 17, 2026
c00006f
feat(tests): add EIP-7954 jumpdest test past the old code-size limit …
danceratopz Jun 17, 2026
4d84100
feat(tests): disallow empty change set for storage slot BALs (#2945)
raxhvl Jun 17, 2026
d325542
chore(ci): rename bal release feature to glamsterdam-devnet (#2997)
spencer-tb Jun 17, 2026
5cc6a81
refactor(specs): factor out auth validity
SamWilsn Jun 17, 2026
c9a7c8d
chore(specs): clean is_valid_delegation
SamWilsn Jun 17, 2026
fcd46ca
chore(tooling): update write-test skill for automatic tx gas-limit (#…
danceratopz Jun 18, 2026
5f8c109
feat(tests): add max-code-size jumpdest test for immediate bytes (#2998)
danceratopz Jun 18, 2026
a8876ca
feat(spec-specs, tests): update EIP-8037 to use source based refunds …
spencer-tb Jun 18, 2026
350e176
feat(spec-specs, tests): refund EIP-8037 account creation for existin…
spencer-tb Jun 18, 2026
8e958d6
feat(tests): EIP-8037 state-gas refund on failed CREATE2 with init st…
bshastry Jun 18, 2026
babe45c
chore(ci,tooling): speed up json-loader job (#3010)
danceratopz Jun 19, 2026
ab00b3c
chore(deps,tooling): move ruff to testing package deps for gentest
danceratopz Jun 19, 2026
b703339
feat(tests): add EIP-211 return data buffer tests for SELFDESTRUCT (#…
jsign Jun 19, 2026
8f41f28
refactor(test-forks): Introduce `minimum_block_gas_limit` (#2994)
marioevz Jun 22, 2026
d844821
feat(spec, spec-tests): 8037 Calldata floor accounting alignment (#3005)
kclowes Jun 22, 2026
b14bc81
feat(tests): EIP-8037 code-deposit state gas exact-fit boundary (#3031)
chfast Jun 23, 2026
c81abf9
chore(ci): update mypy
SamWilsn Jun 17, 2026
9d117a0
fix(specs): check chain id
SamWilsn Jun 17, 2026
fd6e6b8
fix(tests): add exception map for invalid chain ids
SamWilsn Jun 17, 2026
8dca7a7
chore(tests): reduce Amsterdam ported_static skip list (480 to 258) (…
leolara Jun 24, 2026
617917a
feat(tests): CREATE/CREATE2 and CALL clear return data on failed pre-…
omerfirmak Jun 25, 2026
fc4ac8c
fix(clients): map ethrex empty-change-set BAL rejection to INVALID_BL…
ilitteri Jun 25, 2026
916604a
refactor(test-tools): Remove `CodeGasMeasure` footgun (stop) (#3040)
marioevz Jun 25, 2026
a9cc76b
chore(tooling): clarify state_test preference in write-test skill (#3…
danceratopz Jun 25, 2026
3f888bc
fix(test-cli): raise a clear error when `gentest` can't find `ruff` (…
danceratopz Jun 25, 2026
f200fed
refactor(test-benchmark): speed-up the keccak max-permutations search…
danceratopz Jun 30, 2026
f1221b2
chore(ci): speed up bench-gas by filling only the `blockchain_test` f…
danceratopz Jun 30, 2026
4fb72f2
refactor(specs): 8037 `StateGas`, `RegularGas` and `StateGasPerByte` …
Skanislav Jun 30, 2026
63f20af
chore(tests,test-forks): Address #2990 review comments (pkgutil, type…
marioevz Jun 30, 2026
26f4786
refactor(tests): generalize system-contract request test helpers (EIP…
marioevz Jun 30, 2026
e135c28
chore(tooling): fix fill-tests skill and evm-bin help (#3075)
danceratopz Jul 1, 2026
ba26c0d
fix(tooling): honor exported `DOCC_SKIP_DIFFS` in `docs-spec` recipe …
danceratopz Jul 1, 2026
5442d28
chore(ci): update PR template (#3054)
JackCC703 Jul 1, 2026
27174ca
fix(spec-tests): register JSON fixture fork marker (#3053)
JackCC703 Jul 1, 2026
6b35e90
feat(tests): extend block-gas inclusion boundary test to Osaka (#3076)
chfast Jul 1, 2026
9920b6e
refactor(spec-specs): derive EIP-8037 state gas used from reservoir/s…
chfast Jul 1, 2026
af05361
feat(tests): EIP-8037 SELFDESTRUCT new-account state gas spill and re…
chfast Jul 1, 2026
7c634a4
feat(tests): EIP-8037 base fee follows the bottleneck gas dimension (…
chfast Jul 1, 2026
a365974
feat(tests): EIP-8037 CALL new-account state gas exact-fit boundary (…
chfast Jul 1, 2026
8bc63b4
feat(ci): overhaul fixture releases (#2888)
spencer-tb Jul 1, 2026
2d68578
feat(spec,tests): implement EIP-7997 (#3079)
LouisTsai-Csie Jul 1, 2026
279ae53
feat(spec,tests): Implement EIP-8246 (#3078)
LouisTsai-Csie Jul 2, 2026
b6956db
chore(test-client-clis): migrate evmone t8n to the `evmone t8n` subco…
chfast Jul 2, 2026
9c93883
feat(tests): EIP-8037 spilled NEW_ACCOUNT gas consumed on caller halt…
chfast Jul 2, 2026
3b3840a
feat(tests): EIP-8037 CREATE-onto-alive refunds NEW_ACCOUNT to gas_le…
chfast Jul 2, 2026
fdc800a
feat(tests): EIP-8037 SSTORE-set state charge exact-fit spill boundar…
chfast Jul 2, 2026
b2f7bd9
feat(tests): EIP-8037 reject tx exceeding remaining block state gas (…
chfast Jul 2, 2026
0680085
chore(test-consume): resolve fixture release tag for consume cache (#…
spencer-tb Jul 2, 2026
64ed676
feat(tests): EIP-8037 calldata floor binds with an over-cap reservoir…
chfast Jul 2, 2026
ebbe644
feat(tests): access-list slot warmth survives a failed CREATE2 (#3086)
chfast Jul 2, 2026
b0d5cae
feat(spec,tests): Implement EIP-8282 (#3070)
marioevz Jul 2, 2026
abcc82a
feat(tests): EIP-7928 records an absent system contract in the BAL (#…
chfast Jul 2, 2026
c074f38
feat(tests): EIP-8037 auth refund funds state gas only, not regular (…
chfast Jul 2, 2026
2dfaa3e
feat(spec-specs,test-tests): add EIP-2780 and EIP-8038 (#3052)
danceratopz Jul 2, 2026
dee9dcf
feat(tests): EIP-7928 reject newPayload with malformed or missing blo…
spencer-tb Jul 2, 2026
7603ff6
feat(tests): EIP-8246 creation-tx initcode selfdestruct coverage (#3084)
chfast Jul 3, 2026
3da5390
docs(spec-specs): fix stale Amsterdam fork docstring and comments (#3…
chfast Jul 3, 2026
8dd924e
chore(specs): reorder tx validity checks (#3036)
SamWilsn Jul 3, 2026
f188d01
fix(testing): clear watch screen via Console, not deprecated os.syste…
chfast Jul 3, 2026
4f5c7d1
fix(test-consume,test-rpc): close RPC sessions on teardown to fix fd …
danceratopz Jul 4, 2026
ecd94a4
chore(test-client-clis): map ethrex invalid signature v/r/s rejection…
edg-l Jul 6, 2026
e0e4abc
fix(consume): map erigon INVALID_SIGNATURE_VRS exception (#3105)
taratorio Jul 6, 2026
f878b22
perf(test-consume): align enginex engine-API flow and skip redundant …
danceratopz Jul 6, 2026
b8d7c7a
fix(test-types,test-forks): import `ethereum` lazily so xdist fill co…
danceratopz Jul 6, 2026
b548afb
fix(test-fill): fix `derived_test` marking for single-format tests (#…
danceratopz Jul 6, 2026
988ccb5
chore(testing): silence pytest collection warnings (#3109)
danceratopz Jul 6, 2026
40172e5
refactor(test-benchmark): deploy contract gas usage (#3110)
LouisTsai-Csie Jul 6, 2026
b15a08b
perf(spec-tools,ci): speed up json-loader and fill jobs (#3096)
spencer-tb Jul 6, 2026
d43487d
fix(test-rpc): bound JSON-RPC requests with a default timeout (#3107)
yperbasis Jul 6, 2026
d8ab47e
chore: update pr template (#3089)
spencer-tb Jul 6, 2026
80cc337
fix(deps): constrain scikit-build-core for coincurve source builds (#…
danceratopz Jul 6, 2026
f8ec1d6
chore(tests): OOG instantly in EIP-8037 failure tests (#3117)
danceratopz Jul 6, 2026
376414e
perf(spec-tools,ci): parallel PR docs-spec builds, publish-only socia…
spencer-tb Jul 6, 2026
76b7f70
feat(spec-specs, tests): EIP-8038: move SSTORE access-cost check befo…
gurukamath Jul 8, 2026
842f0a6
feat(spec-specs, tests): finalize EIP-8282 builder deposit contract (…
spencer-tb Jul 8, 2026
695e5ef
fix(spec-specs, tests): anchor calldata floor on decomposed EIP-2780 …
spencer-tb Jul 8, 2026
5ca8383
fix(test-tests): skip Constantinople for evmone in t8n support test (…
spencer-tb Jul 9, 2026
fb62755
chore: enable enginex generation for devnet releases (#3129)
danceratopz Jul 9, 2026
78daabc
chore(tests, test-client-clis): map invalid transaction signature exc…
danceratopz Jul 9, 2026
d25e024
feat(fill-stateful): make the per-test chain rewind optional (add deb…
skylenet Jul 9, 2026
20d6aa3
fix(tests): EIP-8037: failing test - create tx refunds new account (#…
marioevz Jul 10, 2026
c74f1a6
fix(spec-specs, tests): apply calldata floor to block-level regular g…
nerolation Jul 10, 2026
0f8b81b
feat(test-consume): set HIVE_EXPECT_DEEP_REORGS in the multi-test cli…
danceratopz Jul 11, 2026
a9abd46
docs(test-consume): fix and augment enginex docs (#3143)
danceratopz Jul 11, 2026
77e95ef
feat(spec-specs,test-tests): update the EIP-2780 implementation (#3126)
gurukamath Jul 13, 2026
ccab088
chore(test-client-clis): update Nethermind exception mappings (#3151)
flcl42 Jul 13, 2026
b07e0c4
feat(test-fill): pack Engine X pre-alloc groups (#3122)
danceratopz Jul 13, 2026
31f948f
docs(tests): remove legacy `abstract:` prefix from test module docstr…
danceratopz Jul 14, 2026
21a52f4
fix(test-fixtures): emit chainId in state test fixture transaction (#…
spencer-tb Jul 14, 2026
86a6699
feat(tests): add CREATE refund-vs-child-spill routing test (#3163)
chfast Jul 14, 2026
a3638dc
fix(tests): test tx max nonce at u64 boundary, add nonce overflow tes…
spencer-tb Jul 14, 2026
745fe11
refactor(deps): replace `coincurve` with `spec256k1` (#2374)
kevaundray Jul 14, 2026
59940ca
fix(spec-specs, tests): EIP-2780 review follow-ups (#3164)
spencer-tb Jul 14, 2026
f34ff59
feat(tests): restore sstore_combinations as a hand-written test (#3154)
chfast Jul 14, 2026
5c024cb
feat(spec-specs, tests): charge EIP-8037 account creation at access (…
spencer-tb Jul 14, 2026
dcde331
chore(ci): run `just test-ci-scripts` in CI (#3172)
danceratopz Jul 15, 2026
fc3bede
fix(test-consume): accept bad-block-cache errors for resubmitted bloc…
danceratopz Jul 15, 2026
e32f4b9
chore(ci): right-size runners for spec-tools and test-tests-pypy (#3177)
danceratopz Jul 15, 2026
87aba1a
fix(tests,test-fill): isolate the scenarios BLOCKHASH program pre-all…
danceratopz Jul 15, 2026
7e95c5e
chore(tests): fix joblib cache race in eip2537 BLS precompile tests (…
danceratopz Jul 15, 2026
49a20ed
chore(ci): don't fetch the benchmark assets submodule where unused (#…
danceratopz Jul 15, 2026
56e615e
chore(ci): only install a native build toolchain for PyPy jobs (#3171)
danceratopz Jul 15, 2026
e6382bc
feat(test-cli): add `--extract-opcode-count` opcode tracing (#3124)
skylenet Jul 16, 2026
693dbbd
fix(fill-stateful): verify receipt status when filling stateful fixtu…
jochem-brouwer Jul 16, 2026
a45205c
feat(ci): fill mainnet fixtures nightly, draft cached `tests@` releas…
spencer-tb Jul 16, 2026
2119b38
refactor(spec-specs): organize gas logic in amsterdam EIP-8037/8038/2…
gurukamath Jul 17, 2026
9e9bf90
refactor(test-benchmark): align test suite with `glam-devnet-7` spec …
LouisTsai-Csie Jul 20, 2026
0b1e698
refactor(test-benchmark): organize stateful benchmark folder structur…
LouisTsai-Csie Jul 14, 2026
c5043ec
refactor(test-benchmark): centralize benchmark helper utilities (#3166)
LouisTsai-Csie Jul 15, 2026
213f0e8
feat(test-benchmark): validate post-state for stateful filler (#3148)
LouisTsai-Csie Jul 17, 2026
5fa5938
feat(test-benchmark): support per block opcode count record (#3183)
LouisTsai-Csie Jul 17, 2026
135af0f
fix(ci): skip new-commit check on manual fixture release dispatches (…
spencer-tb Jul 22, 2026
2282c75
feat(tests): add more EIP-2780 tests (#3195)
gurukamath Jul 22, 2026
a2e59a6
refactor(spec-tools): use testing pydantic models in t8n (#2924)
gurukamath Jul 23, 2026
04e7b0d
feat(tests): add EIP-2681 nonce-reaching-max regression tests (#3226)
chfast Jul 24, 2026
1646cf5
refactor(test): Make max balance < 2^128 wei (#3227)
kevaundray Jul 24, 2026
6463c0d
chore(tests): improve EIP-7708 coverage, checklist, and ref-spec pin …
spencer-tb Jul 24, 2026
6e02b3b
chore(tests): improve EIP-7843 coverage, checklist, and ref-spec pin …
spencer-tb Jul 24, 2026
3c15c23
Open fix(tests): search for parent fork that differs in gas costs fro…
kevaundray Jul 24, 2026
1ac58d7
fix: skip ported static tests for amsterdam and later (#3231)
kevaundray Jul 24, 2026
ca7cac5
fix(consume): make release resolution robust to GitHub API rate limit…
danceratopz Jul 24, 2026
85aa48c
tests(amsterdam): EIP-2780 - pin receipt status of top-frame OOG tx i…
qu0b Jul 24, 2026
00bd585
fix(tests): update withdrawal and consolidation tests to use Header f…
jsign Jul 26, 2026
853585f
fix: max balance < 2^128 in ported static tests (#3230)
kevaundray Jul 27, 2026
7c4177a
feat(tests): add ef_prefix deposit-halt mode to EIP-8037 state-gas te…
chfast Jul 27, 2026
2cc42a8
refactor(spec): make state interface fully implementation agnostic (#…
kevaundray Jul 27, 2026
d5d230c
bug(spec-tools): make t8n daemon module importable on Windows (#3212)
Kumarutkarsh9470 Jul 27, 2026
3d3afa6
bug(test-eest): reconfigure output streams to UTF-8 on Windows consol…
Kumarutkarsh9470 Jul 27, 2026
36fbbab
fix(test-specs): parenthesize walrus when counting failing txs (#3190)
cuiweixie Jul 27, 2026
85a36cc
fix(test-specs): use integer division for genesis base fee (#3189)
cuiweixie Jul 27, 2026
c69d54b
fix(test-ci): Skip `test_cli.py` until #3241 is resolved (#3242)
marioevz Jul 28, 2026
608f878
feat(tests): add EIP-7997 case where factory is not present at fork b…
jochem-brouwer Jul 28, 2026
3850ce5
refactor(tests): Remove `fork.gas_costs()` reconstruction from Amster…
marioevz Jul 28, 2026
e0ce65c
chore(tests): improve EIP-7981 coverage, checklist, and ref-spec pin …
spencer-tb Jul 28, 2026
44d2b9c
feat(test-types): Introduce SSZ model into base types (#3196)
RazorClient Jul 28, 2026
46364f7
refactor(ci): run geth benchmark CI only on `benchmarks/**` branches …
marioevz Jul 29, 2026
178d9f9
chore(tests): improve EIP-7976 coverage, checklist, and ref-spec pin …
spencer-tb Jul 29, 2026
f79c4c7
feat(tests): EIP-7928 - cover system-address zero-tip coinbase BAL (#…
flcl42 Jul 29, 2026
1311ff3
feat(specs,amsterdam): EIP-2780 - fold transfer log cost into value t…
gurukamath Jul 29, 2026
f1c3408
fix(tests): enhance & un-skip Amsterdam ported static tests (Pt. 1) (…
marioevz Jul 29, 2026
d3baec8
fix(test-execute): prune fork-less items before evaluating filter_com…
spencer-tb Jul 29, 2026
5930782
refactor(spec-specs,tests): rename EIP-8037 regular gas to execution …
spencer-tb Jul 29, 2026
3ae3d66
feat(tests): implement eip-8070 sparse blob pool tests (#2948)
LouisTsai-Csie Jul 29, 2026
af13747
feat(test-benchmark): on-chain account verification (#3197)
LouisTsai-Csie Jul 29, 2026
d3a58bb
refactor(spec-specs,tests): rename REGULAR_PER_AUTH_BASE_COST to EXEC…
spencer-tb Jul 30, 2026
6fe0290
feat(tests): cover noncanonical deposit ABI offsets in eip6110 (#3240)
flcl42 Jul 30, 2026
05ec937
feat(tests): pin flat 2D inclusion gate semantics (no intrinsic subtr…
flcl42 Jul 30, 2026
946f45c
feat(tests): EIP-7778 admission gate uses pre-refund gas (#2932)
danceratopz Jul 30, 2026
2c4a591
chore(ci): deduplicate temp-dir creation across Justfile recipes (#3191)
knQzx Jul 30, 2026
3e27f98
test(spec-tests): add RLP canonical `Uint` decoding test (#3210)
Kumarutkarsh9470 Jul 30, 2026
ad97007
feat(tests): add dynamic-destination JUMP/JUMPI invalid-target tests …
chfast Jul 30, 2026
610cd77
feat(tests): add EIP-8037 spill-refund accounting coverage (#3158)
Marchhill Jul 30, 2026
7bc167d
feat(tests): cover invalid-BAL content canonicality (no-op / missing …
edg-l Jul 30, 2026
2384e39
chore(tests): improve EIP-8024 coverage, checklist, and ref-spec pin …
spencer-tb Jul 30, 2026
dfb1576
feat(ci): Backport CI Workflow (#3262)
marioevz Jul 30, 2026
0da4387
feat(test-benchmark): add missing glam eip to benchmark (#3267)
LouisTsai-Csie Jul 30, 2026
a4e9212
fix(ci): Rename backports branches (#3268)
marioevz Jul 31, 2026
a2571e4
fix(spec-specs,tests): reprice EIP-8038 access-list costs to cold min…
spencer-tb Jul 31, 2026
6074ece
feat(test-benchmark): enhance worst case coverage (#3274)
LouisTsai-Csie Jul 31, 2026
c17999c
feat(ci): fill benchmark tests at 1M gas on every PR (#3273)
spencer-tb Jul 31, 2026
9d6e6f8
feat(tests): cover EIP-8282 builder request dequeues in block access …
spencer-tb Jul 31, 2026
42f26f1
refactor(spec-specs): move priority-fee check to `validate_transactio…
jevinjojo Aug 3, 2026
f8733cd
feat(test-types): Fork-based State Commitment Property in Alloc (#3279)
marioevz Aug 4, 2026
9863a6d
refactor(specs): remove Message dataclass and update evm function flo…
gurukamath Aug 4, 2026
9b68a91
fix(test-execute): report each test as an individual hive test case (…
spencer-tb Aug 4, 2026
7a0430d
refactor(tests): remove dead static-filler infrastructure (#3283)
spencer-tb Aug 4, 2026
7b6aed2
feat(spec-specs,tests): apply revised EIP-8038 gas values (#3293)
spencer-tb Aug 5, 2026
5bb2a51
refactor(spec-specs): decode withdrawal amount as uint64 per EIP-4895…
skbaek Aug 5, 2026
ee7a677
fix(test-execute): fix execute for Amsterdam (#3300)
marioevz Aug 5, 2026
bad053c
perf(ci): run the PR docker-image cache gate on a GitHub-hosted runne…
danceratopz Aug 5, 2026
4b4415c
feat(tests): enhance test coverage, add mainnet test for eip-2780 (#3…
LouisTsai-Csie Aug 5, 2026
f1aa970
feat(fork-types): add ExecutionGas and StateGas NewType wrappers to a…
mandeepmourya007 Aug 5, 2026
987b865
chore(tooling): add runner-selection guidance to the edit-workflow sk…
danceratopz Aug 5, 2026
07424a8
feat(tests): add eth_getTransactionReceipt batching (#3298)
jochem-brouwer Aug 5, 2026
1afd925
feat(tests): add EIP-2780 coverage gap tests (#3318)
spencer-tb Aug 6, 2026
847f885
feat(test-tests): add engine payload attribute and genesis parity tes…
spencer-tb Aug 6, 2026
b802df1
fix(test-execute): register per-test hive test cases with the shared …
danceratopz Aug 6, 2026
a7103a7
fix(tests): accept gas allowance error at EIP-7778 admission gate (#3…
taratorio Aug 6, 2026
f6cf6a9
chore(tooling): add test-docstring guidance to the write-test skill (…
spencer-tb Aug 6, 2026
4f17c37
refactor(test-rpc): unify batch request chunking (#3327)
LouisTsai-Csie Aug 7, 2026
343274c
fix(tests): enhance & un-skip Amsterdam ported static depth-recursion…
spencer-tb Aug 8, 2026
ccaaaba
fix(tests): account for value in EIP-8070 transaction gas (#3344)
flcl42 Aug 10, 2026
46ba061
fix(test-client-clis): update geth BAL exception mappings (#3347)
spencer-tb Aug 11, 2026
ae80193
refactor(tests): derive blob tx gas from fork intrinsic cost (#3346)
spencer-tb Aug 11, 2026
5b2b22c
feat(consume): add ms-precision lifecycle logging to consume enginex …
danceratopz Aug 11, 2026
db94367
fix(tests): enhance & un-skip Amsterdam ported static create-OOG test…
spencer-tb Aug 11, 2026
9496fa8
chore(tests): mark memory heavy tests as bigmem (#3360)
spencer-tb Aug 11, 2026
6e48089
refactor(testing): capitalize SSZ in class names (#3354)
spencer-tb Aug 11, 2026
124f218
refactor(spec-specs): split _prepare_data out of _prepare_trie (#3353)
spencer-tb Aug 12, 2026
2867859
fix(spec-specs): carry excess blob gas across fork transitions (#3352)
spencer-tb Aug 12, 2026
a2936ed
fix(tests): use well-formed versioned hashes in getBlobs negative tes…
spencer-tb Aug 12, 2026
af1d40a
fix(tests): accept gas-used divergence in BAL omitted-slot-change tes…
spencer-tb Aug 13, 2026
d2e6bd1
fix(consume): emit genesis slotNumber as hex string like all other fi…
spencer-tb Aug 13, 2026
d56b40b
feat(test-specs): Allow specs to fill same fixture format more than o…
marioevz Aug 13, 2026
56e8617
fix(spec-tools,testing): move evm_tools into the testing package (#3307)
gurukamath Aug 13, 2026
292fa9c
fix(consume): map reth BAL account-miss and item-cost rejection messa…
spencer-tb Aug 14, 2026
253a463
perf(test-rpc, test-fill): fetch a block's receipts with single `eth_…
jochem-brouwer Aug 14, 2026
1162c61
perf(test-forks): memoize per-fork gas costs (#3303)
jochem-brouwer Aug 14, 2026
2633214
refactor(client-clis): bound the opcode-count trace time explicitly (…
skylenet Aug 14, 2026
43e3cd1
refactor(test-benchmark): remove potential duplicated cases (#3374)
LouisTsai-Csie Aug 14, 2026
8b0110f
Merge upstream ethereum/execution-specs forks/amsterdam
pdobacz Aug 18, 2026
739963d
refactor(ci): release monad fixtures via the upstream workflow
pdobacz Aug 18, 2026
17ea9d4
chore(ci): drop --suppress-no-test-exit-code from the monad features
pdobacz Aug 18, 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
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .claude/commands/edit-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,23 @@ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- Never use version tags alone (`@v4` is wrong)
- Local actions (`./.github/actions/*`) are exempt from pinning

## Runner Selection

Self-hosted runners (`[self-hosted-ghr, size-*-x64]`) are a shared EF devops
pool — reserve them for jobs that need the capacity. Non-critical or low-load
jobs belong on GitHub-hosted runners (`ubuntu-latest`), which also avoids a
provisioning wait (~2.5 min) if the self-hosted warm pool is exhausted.

- **Pattern**: lightweight job (short runtime, no heavy parallelism) →
`ubuntu-latest` (e.g. `spec-tools` in #3177).
- **Anti-pattern**: defaulting a quick gate, lint, or cache-restore job to
`size-xl-x64` "to be safe".
- **Exception**: a job may need self-hosted for reasons other than load, e.g.
Docker Hub pulls from GHR egress IPs to dodge per-IP rate limits (#3185
keeps push runs self-hosted while PR runs use `ubuntu-latest`).

If unsure which runner a job needs, flag it and ask instead of guessing.

## Validation

Run `just lint-actions` before committing to validate YAML syntax and structure.
782 changes: 782 additions & 0 deletions .claude/commands/enhance-ported-test.md

Large diffs are not rendered by default.

18 changes: 4 additions & 14 deletions .claude/commands/fill-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ uv run fill --collect-only tests/ # Dry run: list tests wit
- `-k "pattern"` — filter tests by name pattern
- `-m "marker"` — filter by pytest marker (e.g. `-m state_test`, `-m blockchain_test`)
- `-n auto --maxprocesses N` — parallel execution (use `--dist=loadgroup`)
- `--evm-bin PATH` — specify t8n tool (default: `ethereum-spec-evm-resolver`)
- `--evm-bin PATH` — t8n tool; defaults to the in-repo EELS Python spec (`src/ethereum/`)
- `--verify-fixtures` — verify generated fixtures against geth blocktest
- `--generate-all-formats` — generate all fixture formats (2-phase)

Expand All @@ -37,19 +37,9 @@ uv run fill --collect-only tests/ # Dry run: list tests wit

## Benchmark Tests

- Must use `-m benchmark` — benchmark tests are excluded by default
- Require evmone as backend: `--evm-bin=evmone-t8n`
- Default benchmark fork is Prague (set in `tests/benchmark/conftest.py`)
- Gas values mode: `--gas-benchmark-values 1,10,100` (values in millions of gas)
- Fixed opcode count mode: `--fixed-opcode-count 1,10,100` (values in thousands)
- These two modes are **mutually exclusive**
- Use `--generate-pre-alloc-groups` for stateful benchmarks

## Static Tests (Legacy)

- `uv run fill --fill-static-tests tests/static/` — fills YAML/JSON fillers from `ethereum/tests`
- Legacy only — do NOT add new static fillers. Use Python tests instead
- Useful to check if spec changes broke how legacy tests fill
- Excluded from a broad `tests/` run: include them by targeting a `tests/benchmark/...` path, or add `--include-benchmark` when also collecting `tests/`.
- Pick a mode (mutually exclusive): `--gas-benchmark-values 1,10,100` (millions of gas) or `--fixed-opcode-count 1,10,100` (thousands). These parametrize the tests, e.g. `...[fork_Prague-blockchain_test-benchmark-gas-value_1M]`.
- Backend is optional: omitting `--evm-bin` runs the slow in-repo EELS Python spec; `--evm-bin=evmone` or `--evm-bin=evm` (geth, used by `just bench-gas`) are faster.

## Fixture Formats

Expand Down
14 changes: 13 additions & 1 deletion .claude/commands/implement-eip.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,22 @@ Each fork lives at `src/ethereum/forks/<fork_name>/`. Explore the latest fork di
## Adding a New Opcode

1. Add to `Ops` enum in `vm/instructions/__init__.py` with hex value
2. Implement function in appropriate `vm/instructions/<category>.py` — follows pattern: STACK → GAS (`charge_gas`) → OPERATION → PROGRAM COUNTER
2. Implement function in appropriate `vm/instructions/<category>.py` — follows pattern: STACK → GAS (`charge_gas`) → OPERATION → PROGRAM COUNTER. Opcodes that touch state use the staged gas labels — see "Gas Handling" below.
3. Register in `op_implementation` dict in `vm/instructions/__init__.py`
4. Add gas constant in `vm/gas.py` if needed

## Gas Handling

Recent forks meter two gas dimensions: execution gas and state gas (for durable state growth). Key rules:

1. Gas constants and calculations go in `vm/gas.py`; a frame's mutable gas state lives on `Evm.gas_meter`.
2. Extend the named helper vocabulary (`charge_*`, `credit_*`, `restore_*`, `withhold_*`, ...) instead of doing gas arithmetic by hand at call sites; encode each helper's invariant as an assert.
3. State gas is charged by the frame whose opcode causes the creation, before the child's execution-gas share is withheld; the whole reservoir passes to the child.
4. A failing frame settles its own meter before returning, so parents incorporate children unconditionally.
5. Opcodes that touch state use labeled stages, with all charging before the operation: `GAS (STATE-INDEPENDENT)` → `STATE ACCESS (STATE-DEPENDENT GAS)` → `STATE GAS` → `CHILD GRANT` → `OPERATION`. Simple opcodes keep the bare `GAS` marker. `generic_call`/`generic_create` contain no pricing; they run the child lifecycle: `PREFLIGHT` → `DESTINATION ACCESS` → `CHILD GRANT` → `DISPATCH` → `OUTCOME`.
6. Avoid "frame" in gas identifiers (a future EIP claims the term); when a name diverges from the spec's variable name, cross-reference the spec name in the docstring.
7. A gas change is behavior-preserving only if the relative order of every charge, check, and trace event is unchanged; verify with the gas-related fill tests under `tests/<fork>/`.

## Adding a New Precompile

1. Define address constant in `vm/precompiled_contracts/__init__.py` using `hex_to_address("0x...")`
Expand Down
34 changes: 30 additions & 4 deletions .claude/commands/write-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ Conventions and patterns for writing consensus tests. Run this skill before writ

- All test imports come from `execution_testing` — it is the public API
- Core fixtures: `pre: Alloc` (pre-state builder), `state_test: StateTestFiller`, `blockchain_test: BlockchainTestFiller`, `fork: Fork`
- Prefer `state_test` for single-tx tests (simpler, avoids block-building false positives); `fill` auto-generates a `blockchain_test` from every `state_test`
- Use `blockchain_test` only for multi-block scenarios
- Rule: use `state_test` for single-transaction tests; `fill` auto-derives a `blockchain_test` from each, so no coverage is lost.
- Exception: use `blockchain_test` when the test needs more than one transaction (a `state_test` holds exactly one) or more than one block (e.g. transaction-ordering or fork-transition tests).
- Anti-pattern: wrapping one transaction in a `Block` to reach `blockchain_test`. A `state_test` can assert the transaction's gas used and receipt logs (the tx's `expected_receipt=TransactionReceipt(cumulative_gas_used=...)`), reserve state gas (the tx's `state_gas_reservoir=`), and other block-header fields (`blockchain_test_header_verify=Header(...)`) without it.

## Pre-State Setup

Expand Down Expand Up @@ -42,8 +43,26 @@ Conventions and patterns for writing consensus tests. Run this skill before writ
## Fork-Aware Logic

- `fork >= Cancun` for conditional behavior based on fork
- `fork.gas_costs()` returns `GasCosts` dataclass with constants like `G_WARM_SLOAD`, `GAS_COLD_ACCOUNT_ACCESS`, `G_BASE`, etc.
- `fork.transaction_intrinsic_cost_calculator()` for computing tx intrinsic gas
- `fork.fork_at(timestamp=...)` gives the fork active before/after a transition boundary
- For gas amounts, see **Gas Cost Expectations** below — prefer framework cost constructs over reading `fork.gas_costs()` constants directly

## Gas Cost Expectations

Never hand-reconstruct a gas amount by summing `fork.gas_costs()` constants (`NEW_ACCOUNT`, `CALL_VALUE`, `COLD_STORAGE_WRITE`, `VERY_LOW`, ...). Re-deriving the schedule duplicates the framework's own calculation and silently breaks when a future fork reprices. Instead:

- **Read the cost off the bytecode under test.** Set the relevant opcode metadata (`account_new`, `value_transfer`, `address_warm`, `key_warm`/`original_value`/`current_value`/`new_value`, `init_code_size`, `code_deposit_size`, `new_memory_size`, ...) and use `bytecode.gas_cost(fork)` (execution + state), `.execution_cost(fork)`, `.state_cost(fork)`, or `.refund(fork)`. Link the exact opcode to the behavior — e.g. `Op.SELFDESTRUCT(account_new=True).state_cost(fork)`.
- **Transaction-level costs:** `fork.transaction_intrinsic_cost_calculator()`; `fork.transaction_top_frame_state_gas(contract_creation=True)` for the created account's `NEW_ACCOUNT` (under EIP-2780 it is NOT part of the intrinsic — never subtract it from the intrinsic); `fork.transaction_data_floor_cost_calculator()`; `fork.call_value_stipend()`.
- **A single bare opcode/schedule cost** (e.g. an account-access constant) comes from a metadata-only opcode: `Op.BALANCE.with_metadata(address_warm=False).gas_cost(fork)`.
- **Fork-transition / cross-fork comparisons:** evaluate the same bytecode or intrinsic at each fork (`before = fork.fork_at(timestamp=...)`, `after = ...`) and compare `before` vs `after` costs — do not compare raw schedule constants.
- **Do not add "self-check" asserts** that compare a framework-computed value against a `fork.gas_costs()` decomposition of the same fork; they add no coverage over the runtime behavior the test already exercises and only break on repricing.
- **If the framework cannot express a cost, fix the framework** (wire the opcode into its gas/state map, add an accessor) rather than reconstructing it in the test. If the use case does not support the framework, the framework needs an update.
- **Exception:** a test whose *subject* is a specific schedule value (e.g. a regression that an opcode's cost is unchanged) may compare a runtime measurement (`CodeGasMeasure`) against `fork.gas_costs().OPCODE_*`. Even then, never hardcode the literal value.

## Transactions

- Rule: omit `gas_limit`. It auto-fills so the transaction executes in full without running out of gas.
- Exception: set `gas_limit` explicitly for gas-sensitive tests (intrinsic-gas boundaries, OOG, code-deposit limits, or gas metering).
- Anti-pattern: the `gas_limit=fork.transaction_gas_limit_cap()` boilerplate is now redundant.

## Exception Testing

Expand All @@ -56,6 +75,13 @@ Conventions and patterns for writing consensus tests. Run this skill before writ
- Each EIP directory has `spec.py` with `ReferenceSpec(git_path=..., version=...)` and test files declaring `REFERENCE_SPEC_GIT_PATH` / `REFERENCE_SPEC_VERSION`
- Use `conftest.py` for shared fixtures within an EIP directory

## Test Docstrings

- Keep the docstring to a short summary of the scenario and the rule it pins — a sentence or two.
- Do not narrate the implementation: parametrized cases, gas decompositions, and case-by-case outcome walkthroughs are already expressed by the code. Prose restating them goes stale when the test changes and adds review burden.
- State only what the code cannot show (e.g. why a boundary value is chosen). Prefer a short inline comment at the relevant line over growing the docstring.
- Never hardcode numeric gas values in docstrings; name the constants instead.

## Parametrization

- `@pytest.mark.parametrize("name", [pytest.param(val, id="label"), ...])` with descriptive `id=` strings
Expand Down
22 changes: 7 additions & 15 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,17 @@
## 🗒️ Description
### Description
<!-- Brief description of the changes introduced by this PR -->
<!-- Don't submit this PR if it could expose a mainnet bug, see SECURITY.md in the repo root for details -->

## 🔗 Related Issues or PRs
### Related Issues or PRs
<!-- Reference any related issues using the GitHub issue number (e.g., Fixes #123). Default is N/A. -->
N/A.

## Checklist
<!-- Please check off all required items. For those that don't apply remove them accordingly. -->
### Checklist
<!-- Please check off all items before marking the PR ready for review. -->

- [ ] All: Ran fast static checks to avoid unnecessary CI fails, see also [Code Standards](https://eest.ethereum.org/main/getting_started/code_standards/) and [Enabling Pre-commit Checks](https://eest.ethereum.org/main/dev/precommit/):
```console
just static
```
- [ ] All: PR title adheres to the [repo standard](https://eest.ethereum.org/main/getting_started/contributing/?h=contri#commit-messages-issue-and-pr-titles) - it will be used as the squash commit message and should start `type(scope):`.
- [ ] All: Considered updating the online docs in the [./docs/](/ethereum/execution-specs/blob/HEAD/docs/) directory.
- [ ] All: Set appropriate labels for the changes (only maintainers can apply labels).
- [ ] Tests: Ran `mkdocs serve` locally and verified the auto-generated docs for new tests in the [Test Case Reference](https://eest.ethereum.org/main/tests/) are correctly formatted.
- [ ] Tests: For PRs implementing a missed test case, update the [post-mortem document](/ethereum/execution-specs/blob/HEAD/docs/writing_tests/post_mortems.md) to add an entry the list.
- [ ] Ported Tests: All converted JSON/YML tests from [ethereum/tests](/ethereum/tests) or [tests/static](/ethereum/execution-specs/blob/HEAD/tests/static) have been assigned `@ported_from` marker.
- [ ] Ran fast static checks to avoid CI fails, see [Code Standards](https://steel.ethereum.foundation/docs/execution-specs/getting_started/code_standards/) & [Verifying Changes](https://steel.ethereum.foundation/docs/execution-specs/getting_started/verifying_changes/): `just static`
- [ ] PR title has the form `<type>(<area>): <title>`, where `<type>` and `<area>` come from an appropriate [`C-<type>`](https://github.com/ethereum/execution-specs/labels?q=C-), respectively [`A-<area>`](https://github.com/ethereum/execution-specs/labels?q=A-), label. The title should match the target squash commit message.

#### Cute Animal Picture
### Cute Animal Picture

![Put a link to a cute animal picture inside the parenthesis-->]()
47 changes: 30 additions & 17 deletions .github/actions/build-evm-base/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,61 @@ name: 'Build EVM'
description: 'Resolves and builds the requested EVM binary by name'
inputs:
type:
description: 'Type of EVM binary to build'
description: 'Type of EVM binary to build (key in .github/configs/evm.yaml)'
required: true
default: 'main'
repo_override:
description: 'Override the repo from evm.yaml (e.g. ethereum/go-ethereum)'
required: false
default: ''
ref_override:
description: 'Override the ref/branch/commit from evm.yaml'
required: false
default: ''
outputs:
impl:
description: "Implementation of EVM binary to build"
value: ${{ steps.config-evm-reader.outputs.impl }}
repo:
description: "Repository to use to build the EVM binary"
value: ${{ steps.config-evm-reader.outputs.repo }}
value: ${{ steps.resolved.outputs.repo }}
ref:
description: "Reference to branch, commit, or tag to use to build the EVM binary"
value: ${{ steps.config-evm-reader.outputs.ref }}
value: ${{ steps.resolved.outputs.ref }}
evm-bin:
description: "Binary name of the evm tool to use"
value: ${{ steps.config-evm-impl-config-reader.outputs.evm-bin }}
x-dist:
description: "Binary name of the evm tool to use"
value: ${{ steps.config-evm-impl-config-reader.outputs.x-dist }}
value: ${{ steps.config-evm-reader.outputs.evm-bin }}
xdist:
description: "Number of parallel pytest-xdist workers to use"
value: ${{ steps.config-evm-reader.outputs.xdist }}
runs:
using: "composite"
steps:
- name: Get the selected EVM version from the .github/configs/evm.yaml
- name: Get the selected EVM configuration from .github/configs/evm.yaml
id: config-evm-reader
shell: bash
run: |
awk "/^${{ inputs.type }}:/{flag=1; next} /^[[:alnum:]]/{flag=0} flag" ./.github/configs/evm.yaml \
| sed 's/ //g' | sed 's/:/=/g' >> "$GITHUB_OUTPUT"
- name: Get the EVM implementation configuration from .github/configs/evm-impl-config.yaml
id: config-evm-impl-config-reader
- name: Apply repo/ref overrides
id: resolved
shell: bash
env:
DEFAULT_REPO: ${{ steps.config-evm-reader.outputs.repo }}
DEFAULT_REF: ${{ steps.config-evm-reader.outputs.ref }}
REPO_OVERRIDE: ${{ inputs.repo_override }}
REF_OVERRIDE: ${{ inputs.ref_override }}
run: |
awk "/^${{ steps.config-evm-reader.outputs.impl }}:/{flag=1; next} /^[[:alnum:]]/{flag=0} flag" ./.github/configs/evm-impl.yaml \
| sed 's/ //g' | sed 's/:/=/g' >> "$GITHUB_OUTPUT"
echo "repo=${REPO_OVERRIDE:-$DEFAULT_REPO}" >> "$GITHUB_OUTPUT"
echo "ref=${REF_OVERRIDE:-$DEFAULT_REF}" >> "$GITHUB_OUTPUT"
- name: Print Variables for the selected EVM type
shell: bash
run: |
echo "Type: ${{ inputs.type }}"
echo "Implementation: ${{ steps.config-evm-reader.outputs.impl }}"
echo "Repository: ${{ steps.config-evm-reader.outputs.repo }}"
echo "Reference: ${{ steps.config-evm-reader.outputs.ref }}"
echo "EVM Binary: ${{ steps.config-evm-impl-config-reader.outputs.evm-bin }}"
echo "X-Dist parameter: ${{ steps.config-evm-impl-config-reader.outputs.x-dist }}"
echo "Repository: ${{ steps.resolved.outputs.repo }}"
echo "Reference: ${{ steps.resolved.outputs.ref }}"
echo "EVM Binary: ${{ steps.config-evm-reader.outputs.evm-bin }}"
echo "X-Dist parameter: ${{ steps.config-evm-reader.outputs.xdist }}"
- name: Skip building for EELS
if: steps.config-evm-reader.outputs.impl == 'eels'
shell: bash
Expand Down
31 changes: 24 additions & 7 deletions .github/actions/build-fixtures/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,24 @@ inputs:
split_label:
description: "Label for this fork-range split. Empty for unsplit builds."
default: ""
split_retention_days:
description: "retention-days for the split fixture artifact. Empty for the repo default."
default: ""
evm:
description: "Override the evm impl. Defaults to the feature's evm-type."
default: ""
evm_repo:
description: "Override the t8n tool repo (e.g. ethereum/go-ethereum)"
default: ""
evm_ref:
description: "Override the t8n tool branch / tag / commit"
default: ""
runs:
using: "composite"
steps:
- uses: ./.github/actions/setup-uv
with:
enable-cache: "false"
- uses: ./.github/actions/setup-env
- name: Install EEST
shell: bash
run: uv sync --no-progress
Expand All @@ -32,13 +43,17 @@ runs:
- uses: ./.github/actions/build-evm-base
id: evm-builder
with:
type: ${{ steps.properties.outputs.evm-type }}
type: ${{ inputs.evm != '' && inputs.evm || steps.properties.outputs.evm-type }}
repo_override: ${{ inputs.evm_repo }}
ref_override: ${{ inputs.evm_ref }}
- name: Install pigz for parallel tarball compression
if: inputs.split_label == ''
shell: bash
run: sudo apt-get install -y pigz
- name: Generate fixtures using fill
shell: bash
env:
PYTEST_XDIST_AUTO_NUM_WORKERS: ${{ steps.evm-builder.outputs.xdist }}
run: |
IS_SPLIT="${{ inputs.split_label }}"

Expand All @@ -50,13 +65,14 @@ runs:
FORK_ARGS=""
fi

EVM_ARGS=""
if [ "${{ steps.evm-builder.outputs.impl }}" != "eels" ]; then
EVM_ARGS="--evm-bin=${{ steps.evm-builder.outputs.evm-bin }}"
fi

# Allow exit code 5 (NO_TESTS_COLLECTED) for fork ranges with no tests.
EXIT_CODE=0
if [ "${{ steps.evm-builder.outputs.impl }}" = "eels" ]; then
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG || EXIT_CODE=$?
else
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} --evm-bin=${{ steps.evm-builder.outputs.evm-bin }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG || EXIT_CODE=$?
fi
just fill-release $EVM_ARGS ${{ steps.properties.outputs.fill-params }} $FORK_ARGS $OUTPUT_ARG --build-name ${{ inputs.release_name }} || EXIT_CODE=$?
if [ "$EXIT_CODE" -ne 0 ] && [ "$EXIT_CODE" -ne 5 ]; then
exit "$EXIT_CODE"
fi
Expand All @@ -72,3 +88,4 @@ runs:
include-hidden-files: true
path: fixtures_${{ inputs.release_name }}/
if-no-files-found: ignore
retention-days: ${{ inputs.split_retention_days }}
Loading