To do most important first
Nothing to do: every tracked EIP passes on the newest tests.
Run
tests-bogota-devnet@v2.0.0ethpandaops/nethermind:bogota-devnet-2-linux-amd642.3.0-preview+d087d9a21 failing case in tests for EIPs this site does not track, not counted above
test_legacy_chain_id_over_64_bits[fork_Bogota-blockchain_test_engine_from_state_test-case_largest_64_bit_chain_id]
EIPs open a cell for the why and the evidence
How to read
Each cell shows its weakest check. Numbers are tests passed / total for the EIP's test directory on the release the client ran. Open a cell for the three checks: spec change · test proof · client run.
SFI Scheduled for inclusion · CFI Considered for inclusion.
Δ 1 spec changes since the version EELS implements · PR 11 open EIP PRs, not merged, not counted.
Column headers show the test release each client ran; marks a release older than the newest EELS release.
Client PRs
NethermindEth/nethermind: 185 PRs whose title names a tracked EIP
- #12612 open EIP-8141: canonical paymaster reference assembler and test suite
- #15462 merged fix(specs): keep an earlier EIP-8141 activation when scheduling EIP-8288
- #15449 merged perf(evm): inline EIP-8141 frame opcode handlers
- #15296 merged test(eip8141): pin the verifying probe budget in frame gas estimation
- #15274 merged fix(eip8141): map frame tx decode rejections to fixture exceptions
- #15270 merged fix(eip8141): stop rejecting frame gas sums just below 2^64
- #15200 merged EIP-8141: retry a frame-tx block sequentially when parallel BAL validation fails
- #15045 merged feat(eip8141): commit to elided signature lengths
- #14639 merged fix(eip-8141): charge APPROVE memory expansion before refusal and create an emptied sender
- #14378 merged feat(eip8141): deploy the expiry verifier as an ordinary contract
- #14374 merged feat!: add EIP-8141 max_fee budget for frame transactions
- #14305 merged feat(eip8141): MATCHA paymaster width for sponsored frame transactions
- #14221 merged perf(eip8141): compute the frame tx sig hash on first use
- #14205 merged perf(eip8141): recover frame tx secp256k1 signers in the parallel sender-recovery step
- #14135 merged test(eip8141): split the frame-tx MAX_VERIFY_GAS measurements
- #14000 merged refactor(eip8141): compile frame-tx tracer hooks out when not tracing
- #13990 merged fix(rpc): serialize EIP-8141 frame fields and frame receipts as quantities with full logs
- #13966 merged fix(tracing): report the derived EIP-8141 frame-tx status to tracers and keep simulate logs to the receipt's
- #13786 merged Merge master into eip8141-frame-txs-devnet7
- #13778 merged Merge master into eip8141-frame-txs-devnet7
- #13716 merged Merge master into eip8141-frame-txs-devnet7
- #13689 merged Merge master into eip8141-frame-txs-devnet7
- #13671 merged Merge master into eip8141-frame-txs-devnet7
- #13621 merged Merge master into eip8141-frame-txs-devnet7
- #13619 merged feat(eip8141): MATCHA sender width for keyed-nonce frame transactions
- #13559 merged Merge master into eip8141-frame-txs-devnet7
- #13544 merged refactor(eip8141): give TxFrame's mode and flags their own enums
- #13543 merged perf(eip8141): avoid redundant stack zeroing in the frame-transaction paths
- #13537 merged refactor(eip8141): guard the prefix simulator with System.Threading.Lock
- #13513 merged EIP-8141: record what the type-6 serve path's second read costs
- #13510 merged EIP-8141: carry a blob-carrying frame tx's sidecar through the eth/72 response path
- #13508 merged EIP-8141: give the revalidation deferral counters one meaning each
- #13500 merged fix(eip8141): discard a frame's transient storage after it runs, not before the next
- #13498 merged feat(t8n): fill EIP-8141 frame transactions
- #13473 merged EIP-8141: revalidate blob-carrying frame transactions against the head
- #13466 merged test(eip8141): require a fully paid Groth16 pairing call
- #13463 merged Merge master into eip8141-frame-txs-devnet7
- #13459 merged fix(eip8141): restore the snapshot on every frame-tx pre-flight rejection
- #13447 merged Merge master into eip8141-frame-txs-devnet7
- #13423 merged EIP-8141: keep a pooled frame tx's reservations when its storage write throws
- #13418 merged EIP-8141: return every call frame the callTracer still owns
- #13410 merged test(eip8141): make three frame-tx regressions hold what they name
- #13401 merged Merge master into eip8141-frame-txs-devnet7
- #13400 merged test(eip8141): say what the frame-tx pool fixtures measure, and share the pool helper
- #13399 merged EIP-8141: keep every executed frame in callTracer output
- #13379 merged Merge master into eip8141-frame-txs-devnet7
- #13378 merged EIP-8141: address the P3 review threads on the frame-tx stack
- #13377 merged EIP-8141: tie the frame-tx eviction retry ledger to pool membership
- #13361 merged EIP-8141: make the pool's admission verdict agree with execution
- #13360 merged test(eip8141): make the atomic-batch unroll test exercise a rollback
- #13350 merged Merge master into eip8141-frame-txs-devnet7
- #13321 merged fix(eip8141): stop the receipt codec writing frame receipts it cannot read
- #13306 merged EIP-8141: revalidate the fork-gated frame checks when the head specification changes
- #13304 merged test(eip8141): tighten the frame transaction test fixtures
- #13301 merged docs(eip8141): correct the frame-mode caller and document the public frame API
- #13299 merged Merge master into eip8141-frame-txs-devnet7
- #13286 merged EIP-8141: address the P3 review round on the frame transaction tests
- #13284 merged test(eip8141): make four frame-transaction tests prove what they claim
- #13283 merged EIP-8141: correct four frame transaction admission and selection bounds
- #13276 merged test(eip8141): repoint the measured-pool-prefix case to 322,800
- #13273 merged Merge master into eip8141-frame-txs-devnet7
- #13271 merged test(eip8141): core-normalized F projection + 322,800 sweep point
- #13270 merged fix(eip8141): keep the block gas limit on the frame estimate's execution dimension
- #13265 merged test(eip8141): sweep attempts-per-head (M) alongside K_retry
- #13259 merged Merge master into eip8141-frame-txs-devnet7 (port EVM opcode gas API to #13189)
- #13245 merged EIP-8141: apply APPROVE during execution and journal its context
- #13244 merged test(eip8141): share frame-test setup and group independent assertions
- #13243 merged fix(eip8141): derive the frame signature decode guards from the block gas limit
- #13242 merged test(eip8141): own the flood generator's thread and wire the producer rig from production
- #13241 merged fix(eip8141): bound the frame-tx gas estimate per gas dimension
- #13237 merged fix(eip8141): stage empty return data when APPROVE is rejected
- #13236 merged Merge master into eip8141-frame-txs-devnet7
- #13231 merged fix(eip8141): close the flood-harness gaps flagged on #13041
- #13221 merged ci(eip8141): add the frame transaction-test lane
- #13220 merged test(eip8141): map the frame truncation wording to the format label
- #13213 merged Merge master into eip8141-frame-txs-devnet7
- #13212 merged fix(eip8141): guard the frame-tx warm-up gas write and close the nonce_keys sequence
- #13193 merged Merge master into eip8141-frame-txs-devnet7
- #13191 merged fix(eip8141): align the frame-tx gas estimate cap with the field validator
- #13157 merged Merge master into eip8141-frame-txs-devnet7
- #13143 merged test(eip8141): cover frame transactions through real block production
- #13134 merged test(eip8141): pin why the validation prefix walks deliberately disagree
- #13121 merged test(eip8141): pin payer exposure, the paymaster cap and the prefix trace rules
- #13120 merged fix(eip8141): reject a VERIFY frame behind an unrecognized validation prefix
- #13118 merged test(eip8141): cover the frame expiry filter and the reloaded deadline
- #13117 merged test(eip8141): pin the structural and ordering rules of frame transaction admission
- #13096 merged Merge master into eip8141-frame-txs-devnet7
- #13061 merged test(rlp): pin EIP-8141 decoder deviation caps (chain_id u64, 1024 sigs, 30MiB data)
- #13041 merged test(eip8141): add measurement harnesses for the MAX_VERIFY_GAS campaign
- #13040 merged Add EIP-8141 APPROVE authorization conformance tests
- #13039 merged test(eip8141): add a block-import lane for the frozen frame-transaction fixtures
- #13037 merged test(eip8141): close three gaps in the frame exception fragments
- #13030 merged test(eip8141): extract the shared frame tx payload skeleton
- #13029 merged test(eip8141): map the recent-root spec gate and drop the duplicated cap
- #13027 merged fix(eip8141): remove unreachable frame sender fallback
- #13022 merged Merge master into eip8141-frame-txs-devnet7
- #13009 merged test(eip8141): map the frame-transaction exceptions for engine tests
- #13001 merged Merge master into eip8141-frame-txs-devnet7
- #12997 merged Charge the EIP-8141 frame-entry account access before dispatch
- #12995 merged ci: add the EIP-8141 frame-fixture nethtest lane
- #12994 merged docs(eip8141): correct the pre-activation gap list
- #12989 merged Merge master into eip8141-frame-txs-devnet7 (brings EIP-7805)
- #12947 merged fix(eip8141): sweep expired frame txs from the persistent broadcast pool
- #12942 merged feat(frames): two-dimensional gas limits per EIP-8141 (devnet7)
- #12931 merged Merge master into eip8141-frame-txs-devnet7
- #12926 merged refactor(eip8141): drop the unread payer-resolution dependency snapshot
- #12921 merged chore(frames): cut EIP-8141 comments down and drop stale markers
- #12913 merged test(eip8141): pin frame tx blob presence
- #12912 merged test(eip8141): cover APPROVE return data
- #12911 merged test(eip8141): lock frame tx decode bounds and drop stale spec-gap markers
- #12903 merged EIP-8141: stop re-verifying frame signatures inside the validation-prefix simulator
- #12902 merged Merge master into eip8141-frame-txs-devnet7
- #12893 merged Merge master into eip8141-frame-txs-devnet7
- #12856 merged EIP-8141: charge a frame's entry gas and its target's delegation access
- #12855 merged feat(txpool): enforce the EIP-8141 VERIFY-after-prefix and expiry-frame placement rules
- #12788 merged test(eip8141): map the frame-format exception for transaction tests
- #12778 merged EIP-8141: revalidate dependency-affected frame transactions on a new head
- #12777 merged EIP-8141: bound validation-prefix simulation work at admission
- #12776 merged EIP-8141: price per-payer exposure with the shared max_cost helper
- #12774 merged EIP-8141: cap pending frame transactions per non-canonical paymaster
- #12770 merged feat(eip8141): complete blob-carrying frame tx production, serve, and RPC path
- #12758 merged feat(eip8141): implement type-6 blob network wrapper and proof validation
- #12709 merged EIP-8141: blob-pool routing, sidecar, and production budget for blob-carrying frame transactions
- #12703 merged EIP-8141: statically reject approval scope on atomic-batch frames
- #12701 merged EIP-8141: support blob-carrying frame transactions (validate correctly, produce conservatively)
- #12700 merged EIP-8141: align SIGPARAM copy operand order with CALLDATACOPY
- #12637 merged feat(txpool): enforce EIP-8141 MAX_VERIFY_GAS at mempool ingress
- #12624 merged EIP-8141: in-pool validation-prefix simulation for opaque frame transactions (Phase 2)
- #12617 merged EIP-8141: per-payer mempool exposure accounting for frame transactions
- #12610 merged EIP-8141: resolve frame-tx payer at mempool admission
- #12603 merged Evict expired EIP-8141 frame transactions on new head
- #12602 merged Align unrolled-batch frame logs with EIP-8141 #12008
- #12593 merged fix(eip8141): record zero-premium frame-tx beneficiary access in BAL
- #12526 merged feat(eip8141): implement frame transactions (EIP-8250 keyed nonces, EIP-8272 recent roots, blob support)
- #14423 open feat(eip7906): POST_TX_EXEMPT frame flag
- #15210 merged test(ethereum-tests): cover EIP-7906 assert frames in state tests
- #15033 merged refactor(eip7906): drop TXDIFF and move EVENTDATACOPY to 0xb7
- #14827 merged refactor(eip7906): rename the POST_TX frame mode to ASSERT
- #14469 merged fix: use EIP-7906's assigned opcode bytes
- #14422 merged fix(eip7906): read the true prestate of slots wiped by creation
- #14386 merged feat(specs): schedule EIP-8250, EIP-8272 and EIP-7906 from a geth-style genesis
- #14109 merged fix(eip7906): support per-topic TXDIFF views
- #13569 merged perf(eip7906): build the transaction diff view without intermediate collections
- #12759 merged feat(evm): add EIP-7906 TXTRACE/TXDIFF/EVENTDATACOPY opcodes
- #12661 merged feat(evm): add the EIP-7906 POST_TX frame mode
- #14791 merged feat(eip-8250): select the account nonce with empty nonce_keys and add single-use keys
- #14600 merged feat(eip-8250): charge the keyed nonce access cost
- #14527 merged fix(eip8250): report too many nonce keys with the shared RLP limit message
- #14438 merged feat(eip8250): deploy the nonce manager as an ordinary contract
- #14112 merged fix(eip8250): map frame tx nonce and key-count rejections to fixture exceptions
- #14070 merged fix(eip8250): keep a higher existing NONCE_MANAGER nonce at activation
- #14069 merged fix(eip8250): align TXPARAM keyed-nonce indices with the spec
- #13305 merged EIP-8250: read keyed sequences as their own nonce domain in the pool
- #13142 merged fix(eip8250): stop the block producer gating keyed frame transactions on the account nonce
- #12883 merged fix(eip8250): round-trip nonce keys through the frame tx RPC view
- #12829 merged Reject legacy scalar-nonce frame transaction after EIP-8250
- #12745 merged fix(evm): price the EIP-8250 nonce calldata as transaction data
- #12744 merged Admit EIP-8250 keyed-nonce transactions into the pool
- #12731 merged docs(core): drop the provisional note on the pinned EIP-8250 and EIP-8272 addresses
- #12662 merged feat(evm): expose the EIP-8250 keyed-nonce fields to executing code
- #12657 merged feat(evm): validate, consume and charge EIP-8250 keyed nonces
- #12653 merged feat(rlp): decode the EIP-8250 keyed-nonce frame transaction envelope
- #12558 merged feat(specs): EIP-8250 NONCE_MANAGER predeploy entry
- #12527 merged feat(evm): EIP-8250 nonce-set validity
- #12458 merged feat(evm): EIP-8250 keyed-nonce state helper
- #15252 merged feat(txpool): track EIP-8151 ecrecover signers as frame-tx code dependencies
- #15196 merged fix(evm): align EIP-8151 ecRecover with the updated spec
- #13959 merged EIP-8151: account-code restricted ecRecover
- #14437 merged feat(eip8272): deploy the recent root contract as an ordinary contract
- #14074 merged feat(eip8272): public mempool rules for the recent_root_verify frame
- #14071 merged fix(eip8272): verify recent roots with a canonical VERIFY frame
- #12940 merged refactor(evm): drop the unused EIP-8272 native recent-root write path
- #12732 merged fix(consensus): install the EIP-8272 recent-root predeploy at activation
- #12659 merged feat(evm): expose the EIP-8272 recent-root references to executing code
- #12656 merged feat(evm): validate and charge the EIP-8272 recent-root references of a frame transaction
- #12655 merged feat(rlp): decode the EIP-8272 recent-root references of a frame transaction
- #12572 merged refactor(eip-8272): derive recent-root usable window
- #12528 merged feat(evm): EIP-8272 reference-set validity
- #12457 merged feat(evm): EIP-8272 recent-root store helper
- #15198 merged EIP-8298: halt SETCODEFROM in system contracts
- #12536 merged feat: implement EIP-8298 SETCODEFROM opcode
- #15010 merged test(specs): exclude Eip4758Prototype from the geth blob schedule parity check
- #12231 merged feat(evm): EIP-4758 deactivate SELFDESTRUCT (SENDALL)
- #15175 merged EIP-8253: read the targeted account list from the chain configuration
- #13943 merged feat: EIP-8253 bump nonce of zero-nonce storage accounts
All 307 tests for this EIP passed on v2.0.0. The EIP text changed 1 time since the version EELS implements. For each change, a spec with the change undone fails 1 case in EELS, and those cases pass here.
Three checks
dc5d5fa6 2026-11-01 Update EIP-8141: Transaction nonce check boundary proventest_invalid_tx_fields[fork_Bogota-blockchain_test_engine_from_state_test-nonce_overflow]
ca8c6094python -m eipproof.cli prove 8141 dc5d5fa6 --eels <execution-specs at tests-bogota-devnet@v2.0.0> --tests tests/bogota/eip8141_frame_transactions --mutant proofs/8141-dc5d5fa6.patch -n 8Open EIP PRs 21 not merged, not counted
- EIPs#12617 Update EIP-8141: exclude calldata cost from MAX_VERIFY_GAS
- EIPs#12616 Update EIP-8141: add lean sphincs
- EIPs#12596 Update EIP-8141: clarify EXTCODEHASH restrictions for precompiles
- EIPs#12506 Update EIP-8141: set code from the default code in SENDER mode
- EIPs#12588 Update EIP-8141: charge the EIP-8037 legacy share as extra execution gas
- EIPs#12559 Update EIP-8141: price frame and signature entries at the floor
- EIPs#12321 Update EIP-8141: define early rejection and payer revalidation rules
- EIPs#12537 Update EIP-8141: explain gas refunds and block limits
- EIPs#12505 Update EIP-8141: Check signer key authority
- EIPs#12494 Update EIP-8141: clarify transient storage and deploy targets in trace rules
- EIPs#12301 Update EIP-8141: define MAX_VERIFY_GAS as a shared mempool floor
- EIPs#12041 Update EIP-8141: assembled canonical paymaster reference bytecode
- EIPs#12252 Update EIP-8141: add valid_after to the expiry verifier frame
- execution-specs#3956 ✨ feat(tests): EIP-8141 extend secp r coverage
- execution-specs#3954 ✨ feat(tests): EIP-8141 Extend expiry flag coverage
- execution-specs#3947 feat(tests): add EIP-8141 APPROVE edge case and balance tests
- execution-specs#3936 feat(spec-specs,test-forks,tests): implement EIP-8141 frame transactions
- execution-specs#3902 refactor(tests): price EIP-8141 state slots through a StateSlot helper
- execution-specs#3900 refactor(tests): drop the EIP-8141 signature entries the helpers derive
- execution-specs#3899 refactor(tests): fold the EIP-8141 warmth probe into one object
- execution-specs#3856 feat(test-execution, test-forks, tests): add EIP-8141 public mempool tests
All 184 tests for this EIP passed on v2.0.0. The EIP text changed 1 time since the version EELS implements. For each change, a spec with the change undone fails 1 case in EELS, and those cases pass here.
Three checks
9099f412 2026-10-27 Update EIP-7906: say where storage-kept nonce changes appear proventest_sender_nonce_change[fork_Bogota-blockchain_test_engine_from_state_test-keyed_nonce]
ca8c6094python -m eipproof.cli prove 7906 9099f412 --eels <execution-specs at tests-bogota-devnet@v2.0.0> --tests tests/bogota/eip7906_transaction_assertions --mutant proofs/7906-9099f412.patch -n 8Open EIP PRs 7 not merged, not counted
- EIPs#12304 Update EIP-7906: add ASSERT_EXEMPT frame flag
- EIPs#11199 Update EIP-7906: correct CALL opcode
- EIPs#11072 Update EIP-7906: fix CALL opcode value
- EIPs#10972 Update EIP-7906: correct CALL opcode value from 0xFA to 0xF1
- EIPs#10899 Update EIP-7906: correct CALL opcode
- EIPs#11267 Update EIP-7906: fix typos
- execution-specs#3923 feat(test-forks,tests): list the EIP-7906 instructions as valid opcodes from Bogota
All 134 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
Open EIP PRs 1 not merged, not counted
- EIPs#12039 Update EIP-8250: Define keyed mempool concurrency
All 374 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
Open EIP PRs 1 not merged, not counted
- EIPs#12605 Update EIP-8151: treat the 0xef0200 opt-out marker as an eligible EOA
All 80 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
Open EIP PRs 1 not merged, not counted
- EIPs#12310 Update EIP-8272: clarify public mempool scope
All 274 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
All 68 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
Open EIP PRs 1 not merged, not counted
- EIPs#12492 Update EIP-4758: Move to Draft
All 82 tests for this EIP passed on v2.0.0, and EELS implements the current EIP text.
Three checks
EELS implements the current EIP text: no change to prove.
Open EIP PRs 1 not merged, not counted
- execution-specs#3535 feat(spec-specs, tests): implement EIP-8253, bump nonce of zero-nonce storage accounts