Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Execution-layer assessment of the sealed EIP-7645 snapshot. The proposal changes the existing ORIGIN opcode (0x32) to return the current execution frame's SENDER/CALLER value in all contexts, while leaving transaction structure, validation, and processing otherwise unchanged. The package's supporting evidence is used only for the explicitly linked account- abstraction interactions.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 4 criteria affected
- Plausible range
- 9–14 (Low–Medium)
- Snapshot
- 2026-08-25 · EIP revision
ac450a4ab2(2026-08-25)
Score bands · Checklist revision 2
- 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: The normative opcode result is precise, but the package does not inventory affected pre-existing tests or deployed security patterns, contains inconsistent backwards-compatibility statements, provides no implementation or devnet/open-question evidence, and does not identify the additional account-abstraction proposals covered by its broad interaction claim.
Plausible total
9–14
recorded score 11 · plausible tiers Low, Medium
Unresolved questions at the cutoff (4)
- Which pre-existing execution test vectors exercise ORIGIN in nested call contexts and therefore require changed expected results?
- Which existing contract authorization, sandwich-protection, or reentrancy patterns materially rely on ORIGIN differing from SENDER?
- Have clients or devnets exposed any constructible case not resolved by the as-if-SENDER rule? The sealed package provides no such process evidence.
- Which additional account-abstraction EIPs are included in the phrase "all or most account abstraction proposals," and how many require coordinated cases?
Notable ambiguities noted by the assessor (3)
- Backwards Compatibility first says the change is not fully backwards compatible and affects contracts relying on the ORIGIN/SENDER distinction, then ends with "No backward compatibility issues found."
- Security Considerations acknowledges possible harm to existing ORIGIN use but states that a clear negative example had not yet been identified, leaving the affected security population unquantified.
- The EIP's broad reference to all or most account-abstraction proposals exceeds the three proposals identified by number in the sealed evidence.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 3 | A pre-existing opcode's non-gas behavior and observable result are directly modified, which maps to the row's score-3 anchor. Exceptional score: Not applicable; the score is not 4. |
Confidence: High Uncertainty: None; this is the proposal's explicit normative change. |
| Security risksUnder-specified | 3 | Taken together, the sealed evidence shows that making ORIGIN equal CALLER in all call frames substantially changes a security-critical identity invariant across multiple call mechanisms and ORIGIN-dependent authorization patterns. Incorrect implementation or incomplete compatibility analysis therefore warrants extensive security review and fuzzing. Exceptional score: Not applicable; the score is not 4. |
Confidence: Medium Uncertainty: The EIP supplies no affected-contract inventory and concedes that a clear negative legacy example had not been identified, so practical prevalence is unresolved even though the altered invariant is explicit. |
| Edge/boundary conditions | 2 | Multiple call-context boundaries must be covered because sender propagation differs across the four call mechanisms and across nested frames. The EIP identifies these cases directly, and none is shown to need an elevated case count beyond that bounded matrix. Exceptional score: Not applicable; the score is not 4. |
Confidence: High Uncertainty: Creation and other less common execution contexts are covered normatively by "all contexts" but are not enumerated in the supplied test cases. |
| Cross-EIP interactionsUnder-specified | 2 | Three identified account-abstraction proposals require coordinated consideration and interaction cases, but the interaction is localized to the ORIGIN/CALLER identity axis rather than a broad redesign of each proposal's other mechanisms. Exceptional score: Not applicable; the score is not 4. |
Confidence: Medium Uncertainty: The EIP refers more broadly to all or most account-abstraction proposals, but names only three; the packaged EIP-4337 body is unavailable because the snapshot file only records that it moved. Interacting EIPs: EIP-3074, EIP-4337, EIP-7377 |
| Patterns affecting pre-existing testsUnder-specified | 1 | Existing ORIGIN expected-result tests in nested call contexts must be updated, but this is a localized subset centered on one opcode rather than a broad reworking of unrelated test categories. Exceptional score: Not applicable; the score is not 4. |
Confidence: Medium Uncertainty: The package contains no inventory of pre-existing vectors, so the size of the affected subset cannot be established precisely. |
Show 23 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added. |
Uncertainty: None; both opcodes are presented as existing instructions. |
| Added precompiles | 0 | No precompile is introduced. |
Uncertainty: None; no precompile surface appears in the specification. |
| Modified precompiles | 0 | No existing precompile is modified. |
Uncertainty: None; no precompile is identified by the proposal. |
| Added system contracts | 0 | No system contract is created. |
Uncertainty: None; the proposal's complete mechanism is an opcode alias. |
| Modified system contracts | 0 | The package provides no direct modification or package-grounded indirect effect on a pre-existing system contract. |
Uncertainty: Arbitrary contracts that execute ORIGIN can be affected, but no such system contract is identified in the sealed evidence and none is inferred. |
| EVM Gas rule changes | 0 | The proposal changes an opcode result but specifies no gas cost, schedule, charging site, or accounting mechanism change. |
Uncertainty: The package supplies no gas schedule text for ORIGIN, but the normative change is expressly limited to the pushed value. |
| State-access ordering within opcode execution | 0 | No state access is introduced or moved, and no gas charge is repositioned relative to a state access within the modified opcode. |
Uncertainty: No state-access pseudocode is provided, but the specified operation has no state-access step to order. |
| Blob gas accounting changes | 0 | The proposal neither introduces nor modifies blob gas accounting. |
Uncertainty: Blob gas is not discussed; the stated transaction-processing scope excludes such a change. |
| State gas accounting changes | 0 | No state write, state-gas charging site, state-gas rate, budget, reservoir, or spill behavior is changed. |
Uncertainty: State gas is not mentioned, consistently with the proposal's value-only opcode change. |
| New EVM gas refund | 0 | No refund mechanism is introduced or modified. |
Uncertainty: Refunds are not discussed, and none is implied by the specified stack-value substitution. |
| New transaction types | 0 | No transaction type is introduced. |
Uncertainty: None; unchanged transaction structure is explicit. |
| New or modified transaction validity mechanisms | 0 | Existing transaction validity rules and intrinsic gas calculation are expressly unchanged. |
Uncertainty: None; the absence of a validity change is normative. |
| New block / header fields | 0 | No block or header field is introduced. |
Uncertainty: None; no block-level data is required by the mechanism. |
| Encoding changes (RLP/SSZ) | 0 | No transaction, block, or interface encoding changes are introduced. |
Uncertainty: Encoding formats are not discussed because the proposal changes no encoded object. |
| Block syncing changes | 0 | No block RLP validation or syncing mechanism is introduced. |
Uncertainty: Block synchronization is not discussed because no block encoding or validation surface changes. |
| New fork activation mechanism | 0 | Ordinary activation of the new opcode rule does not add the state or internal-variable modification required by this anchor. |
Uncertainty: The EIP does not name an activation block, but it also specifies no special activation-block action. |
| Engine API changes | 0 | No Engine API field, endpoint, or communication mechanism is introduced. |
Uncertainty: The Engine API is not named, and the specified change requires no new consensus-to-execution input. |
| Transition-tool interface changes | 0 | No transition-tool field or interface mechanism is required by the proposal. |
Uncertainty: Transition tooling is not discussed, but the normative inputs and outputs do not change. |
| New invariant on pre-existing tests | 0 | The package does not require tests unrelated to EIP-7645 to assert a new block-wide or transaction-wide artifact; the equality is the behavior under test in feature-specific cases. |
Uncertainty: The package does not describe the existing test suite, but it specifies no new invariant output that every pre-existing test must gain. |
| New test-framework primitives | 0 | The described tests require no new expectation type, modifier, helper, or framework-level abstraction. |
Uncertainty: The package does not document a specific framework, so this conclusion is limited to the primitives demanded by the EIP text. |
| Performance risks | 0 | The package identifies no new mechanism requiring performance validation or interaction with existing performance behavior. |
Uncertainty: No benchmarks are supplied, but the normative operation remains a single environmental-value push. |
| Cryptography | 0 | No cryptographic primitive or cryptographic behavior is introduced or modified. |
Uncertainty: None; the complete specification contains no cryptographic operation. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 0 | The as-if-SENDER rule determines the observable result for constructible execution contexts without requiring clients to select a new value or precedence rule. |
Uncertainty: The package has no implementation, devnet, or open-question record, and the EIP is marked Stagnant; however, no specific unresolved consensus behavior appears in the normative text. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-7645.md committed 2026-08-25 · information cutoff 2026-08-25T11:56:58Z- Rubric
- Checklist revision 2 ·
ethspecs/pm@3d8c0128c5 - Evaluator
- gpt-5.6-sol at xhigh reasoning effort · isolation
bubblewrap_one_eip_capsule_v1 - Source record
- Frozen research record
research/tasks/08-hegota-prospective-complexity-assessment/outputs/assessments/hegota-pfi-2026-08-26/eip-7645.yaml· sha2560808da455469 - Supporting documents in the sealed package
supporting/eip-3074.md,supporting/eip-4337.md,supporting/eip-7377.md