Evaluated on: · Spec revision: 2026-10-07 · 6dac5e7491 · EIP-8081 list: CFI
Scope at the cutoff. EIP-7906 adds three opcodes: TXTRACE (0xb6), TXDIFF (0xb7) and EVENTDATACOPY (0xb8). Together they expose the transaction's net state diff (balances, storage, newly deployed code, account change flags), the logs it emitted, the gas pre-charge and the gas payer. It also amends the EIP-8141 frame transaction with a new frame mode, POST_TX (3). POST_TX frames must form a contiguous trailing suffix, execute read-only as STATICCALLs, and cannot carry the atomic-batch flag; the frame directly before them cannot carry it either. If a POST_TX frame reverts or halts, the whole execution body is unconditionally rolled back, the validation prefix and gas payment stay committed, the remaining POST_TX frames are skipped with status 2, and the receipts of the reverted body frames lose their logs and state gas. The opcodes halt exceptionally outside POST_TX frames. TXDIFF is priced with EIP-2929 cold/warm costs and records accesses in the EIP-2929 access lists and the EIP-7928 block-level access list (BAL).
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 6 criteria affected
- Plausible range
- 26–34 (High)
- Snapshot
- 2026-10-07 · EIP revision
6dac5e7491(2026-10-07)
Score bands · Checklist revision 3
- Low <12
- Medium 12–22
- High ≥23
28 criteria scored 0–3 (4 in exceptional cases; cross-EIP interactions is uncapped); nominal maximum 84.
Complexity profile
Each segment is one criterion's contribution to the LLM total. Hover or focus a segment for its score and rationale.
Top complexity drivers
Under-specified at assessment cutoff: Yes
The EIP text available at the assessment cutoff left material behavior unresolved. The affected criteria and the plausible total range record that uncertainty.
Why: Several observable outputs are ambiguous: gas_pre_charge contradicts the max_cost that EIP-8141 actually collects, and it is unclear whether remote storage queries warm the account and what codehash_before is for nonexistent accounts. Handling of the refund counter, warm/cold sets and approval context on a whole-body revert is not stated.
Plausible total
26–34
recorded score 27 · plausible tiers High
Unresolved questions at the cutoff (6)
- Does gas_pre_charge use standard_gas_limit or max_gas, and max_fee_per_gas or the effective price, to match the amount EIP-8141 actually deducts?
- Does a TXDIFF storage query (0x00/0x01) also warm the account, or record it in the BAL separately?
- What does TXDIFF codehash_before/after return for a nonexistent account: the empty-code hash or 0?
- On POST_TX failure, are the body's EIP-3529 refund-counter contributions and warm/cold additions discarded?
- If a VERIFY frame after the payer is set (for example only_verify after pay) is part of the execution body, is its APPROVE_EXECUTION rolled back?
- Does an out-of-gas TXDIFF record its target in the BAL?
Notable ambiguities noted by the assessor (4)
- The gas_pre_charge formula (gas_limit × gas_price) does not match EIP-8141's max_cost collection.
- Remote storage reads were left unpriced by EIP-2929 Note 2. TXDIFF defines only slot pricing, not account pricing.
- The 'execution body' boundary relative to the validation prefix when SENDER or VERIFY frames are interleaved around payment approval.
- Storage wipes of never-written slots are excluded, so account_change_flags==0 is not a full invariant.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 4 | The target couples EIP-8141 frame execution with EIP-2929 access pricing, EIP-7928 BAL recording, EIP-7708 log semantics, EIP-6780 deletion timing and EIP-7702 designators. Coordinated scenarios across these interactions are needed, so this is level 3. |
Confidence: High Uncertainty: Interactions with EIP-8037, EIP-3529 and EIP-7819 are referenced through EIP-8141 but not supplied. Interacting EIPs: EIP-8141, EIP-2929, EIP-7928, EIP-7708, EIP-6780, EIP-7702, EIP-4844, EIP-1559 |
| Added opcodes | 3 | Three instructions are added, and at least two are complex because their gas is dynamic. This is level 3. |
Confidence: High |
| Edge/boundary conditions | 3 | There are many independent boundary-sensitive rules: index bounds, topic counts, reserved operands, copy bounds, suffix rules, cold/warm, and net-change inclusion. Two are elevated matrices. First, POST_TX failure × frame position × atomic-batch state × number of POST_TX frames × validation-prefix boundary, which changes receipts and committed state. Second, diff-entry inclusion × create/selfdestruct/delegation × write-then-restore. This is level 3. |
Confidence: High |
| EVM Gas rule changesUnder-specified | 2 | The EIP adds new accounting: remote storage-read pricing (cold SLOAD on any address, with no account-access charge), the gas schedules of the new opcodes, and gas settlement after a POST_TX-triggered body revert. Baseline operations keep their expected gas results, so this is level 2. |
Confidence: Medium Uncertainty: Two points are unspecified and could alter baseline-like settlement expectations: whether the EIP-3529 refund counter accumulated by the body is discarded on POST_TX failure, and whether a cold storage query also warms the account. |
| State-access ordering within opcode execution | 2 | TXDIFF is a new state-accessing operation that needs its own ordering and BAL-recording rule (cold/warm, live-state fallback versus diff-only answers, out-of-gas before access). No existing opcode class changes, so this is level 2. |
Confidence: Medium Uncertainty: The text does not say whether an out-of-gas TXDIFF records the access in the BAL, or whether a storage query also records or warms the account. |
| State gas accounting changesUnder-specified | 2 | The existing EIP-8141 state-gas rollback mechanism is applied at a new site: a whole-body rollback spanning several frames and batches, triggered by a later frame. No new charging mechanism is added, so this is level 2. |
Confidence: Medium Uncertainty: Interplay of the body rollback with refills of charges owned by validation-prefix frames (for example a deploy frame) is not detailed. |
| New or modified transaction validity mechanisms | 2 | New static validity rules need dedicated cases, but they fit EIP-8141's existing static-constraint sequencing. This is level 2. |
Confidence: Medium |
| New test-framework primitives | 2 | The target's suite needs a new expectation abstraction: a model computing the expected net diff and its sorted indices, event and topic views, and receipt transformations after a POST_TX failure. The frame builder also needs a local extension for the new mode. Other families are unaffected, so this is level 2. |
Confidence: Medium |
| Security risksUnder-specified | 2 | The change alters EIP-8141's rollback and commit boundaries: which frames revert, payer charging, receipts, logs and state gas. Targeted adversarial integration cases are needed, for example payment approval placed after SENDER frames, atomic batches before POST_TX, and griefing through gas exhaustion. The interaction is bounded to frame execution, so this is level 2. |
Confidence: Medium Uncertainty: It could be judged 3 if the body-revert boundary is considered to change trust invariants shared by mempool, settlement and BAL components. |
| Performance risks | 2 | Targeted integrated benchmarks are needed for a bounded interaction. The worst case is a full-gas execution body that maximizes touched slots and logs, followed by POST_TX frames using TXTRACE/TXDIFF topic and address views, and possibly a whole-body revert. These check that index construction and flat 100-gas pricing hold. This is level 2. |
Confidence: Medium |
| Unspecified behavior requiring cross-client consensus | 2 | Several localized observable outcomes have competing interpretations: the gas_pre_charge value, codehash for nonexistent accounts, warming side effects, and refund-counter and access-set handling on body revert. Clients must agree on these before expected results can be fixed, so this is level 2. |
Confidence: Medium Uncertainty: Could reach 3 if the net-diff view is considered to make previously unobservable intra-transaction bookkeeping consensus-visible across families. |
| Patterns affecting pre-existing tests | 1 | Rework is confined to boundary cases of frame-mode static validation (mode value 3) and to any undefined-opcode cases using 0xb6–0xb8, which still halt outside POST_TX. This is level 1. |
Confidence: Medium |
Show 16 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodesUnder-specified | 0 | Existing instructions (APPROVE, FRAMEPARAM, ORIGIN) apply their existing rules in the new frame context. FRAMEPARAM can return mode 3, but that is a new value, not a new selector. No instruction's specified semantics change. |
Uncertainty: Treating APPROVE's halt in POST_TX as a change of its availability, rather than inherited STATICCALL behavior, would make this 3. |
| Added precompiles | 0 | None added. |
|
| Modified precompiles | 0 | None modified. |
|
| Added system contracts | 0 | No protocol-designated contract is introduced. |
|
| Modified system contracts | 0 | No existing system contract is affected. |
|
| Blob gas accounting changes | 0 | No blob-gas charging, pricing or limit rule changes. The blob fee is only exposed for reading. |
|
| New EVM gas refundUnder-specified | 0 | Returning unused gas from skipped frames reuses the existing EIP-8141 settlement. No new protocol refund mechanism is introduced. |
Uncertainty: Discarding the body's EIP-3529 refund-counter contributions on POST_TX failure is implied, not stated. |
| New transaction types | 0 | No new EIP-2718 type. |
|
| New block / header fields | 0 | None. |
|
| Encoding changes (RLP/SSZ) | 0 | Only new values within unchanged schemas. |
|
| Block syncing changes | 0 | No block decoding or structural rule changes. |
|
| New fork activation mechanism | 0 | Only rule selection at activation. |
|
| Engine API changes | 0 | No Engine API field or endpoint changes. |
|
| Transition-tool interface changesUnder-specified | 0 | No new transition-tool field or mechanism is needed. Frame mode values and receipts use existing EIP-8141 schemas. |
Uncertainty: No transition-tool evidence was supplied. If tools need to expose the computed diff or the payer separately for debugging, this could be level 1. |
| New invariant on pre-existing tests | 0 | Baseline tests gain no new output to assert. |
|
| Cryptography | 0 | No cryptographic verification, signing or hashing rule changes. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@6dac5e7491EIPS/eip-7906.md committed 2026-10-07 · information cutoff 2026-10-07T22:23:55Z- Rubric
- Checklist revision 3 ·
ethspecs/pm@fe2f793b03 - Evaluator
- Opus 5.5 (
claude-opus-5-5) at high effort, one tool-less call per EIP · isolationbubblewrap_claude_p_no_tools_v1 - Source record
- Frozen research record
research/tasks/10-opus-v3-reassessment/prospective/outputs/assessments/hegota-2026-10-08/eip-7906.yaml· sha256344daa0d677d - Supporting documents supplied with the EIP
supporting/eip-20.md,supporting/eip-721.md,supporting/eip-1155.md,supporting/eip-1559.md,supporting/eip-2929.md,supporting/eip-4844.md,supporting/eip-6780.md,supporting/eip-7702.md,supporting/eip-7708.md,supporting/eip-7928.md,supporting/eip-8141.md