Evaluated on: · Spec revision: 2024-05-09 · ad9ecb077c
Scope at the cutoff. The historical draft introduces a new EIP-2718 typed transaction, derived from EIP-2930, that carries an array of contract-code blobs and ECDSA authorization tuples. Before transaction execution, the client recovers each signer, requires that signer to have empty code, temporarily installs the authorized code, and warms the signer under EIP-2929; after execution, it clears each signer's code. The transaction origin may differ from every code signer, enabling EOA batching, sponsorship, and privilege de-escalation without adding opcodes.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 11 criteria affected
- Plausible range
- 26–36 (High)
- Assessment cutoff
- 2024-05-23 · EIP revision
ad9ecb077c(2024-05-09)
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
- Cross-EIP interactions4
- New transaction types3
- New or modified transaction validity mechanisms3
- Encoding changes (RLP/SSZ)3
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 draft gives a high-level transaction shape and setup/cleanup loop but leaves transaction validity, authorization failure and atomicity, duplicate ordering, signature domain/canonicality, outer signing, receipt encoding, code limits, and exceptional cleanup unresolved. Distinct client choices would change accepted transactions, gas, observable code, or final state.
Plausible total
26–36
recorded score 33 · plausible tiers High
Affected criteria (11)
- EVM Gas rule changes (2)
- New or modified transaction validity mechanisms (3)
- Encoding changes (RLP/SSZ) (3)
- Transition-tool interface changes (3)
- Patterns affecting pre-existing tests (0)
- New test-framework primitives (2)
- Security risks (3)
- Performance risks (3)
- Edge/boundary conditions (3)
- Cryptography (1)
- Unspecified behavior requiring cross-client consensus (3)
Unresolved questions at the cutoff (7)
- What payload does the outer signature cover, and what receipt payload and typed signature-domain rules apply?
- Does failed recovery, non-empty signer code, malformed signature data, or a malformed entry invalidate the transaction, skip the entry, or do something else, and are earlier mutations rolled back?
- How are duplicate signers ordered after the first entry makes code non-empty, and are repeated or empty code blobs valid?
- What code-size, code-format, entry-count, and intrinsic-gas overflow rules constrain the authorization list?
- How is temporary code restored after top-level failure, nested reverts, SELFDESTRUCT, CREATE/CREATE2 collisions, or other signer-account changes?
- Is omission of value intentional zero-value semantics, and which typed-transaction validity rules are inherited beyond intrinsic cost?
- Do the code read and write affect warming or incur gas before step 4 explicitly adds the signer to accessed_addresses?
Notable ambiguities noted by the assessor (4)
- MAGIC, TX_TYPE, and the fork block remain TBD; this prevents executable vectors but is separate from the more consequential missing behavioral rules.
- The intrinsic-cost sentence calls code bytes calldata bytes and does not say how remaining encoded authorization-signature bytes are charged.
- The empty-code verification has no failure mode, so a two-entry duplicate-signer vector has no determined outcome.
- End-of-transaction code clearing does not define restoration semantics after execution changes or destroys a signer account.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Cross-EIP interactionsExceptional | 4 | EIPs 2718, 2929, and 2930 are strong protocol dependencies needing coordinated transaction, gas, and warm-access tests. EIPs 3074, 4337, and 5003 add workflow, security, integration, and migration axes. Six interactions give base 3 plus one point for the first three beyond the initial three. Exceptional score: This row is uncapped. Six interacting EIPs yield score 4 under the explicit +1-for-every-three-additional-EIPs formula. |
Confidence: Medium Uncertainty: Relationships with 3074, 4337, and 5003 lack full conformance boundaries or test plans. Interacting EIPs: EIP-2718, EIP-2929, EIP-2930, EIP-3074, EIP-4337, EIP-5003 |
| New transaction types | 3 | The rubric assigns score 3 for introduction of a new transaction type. |
Confidence: High Uncertainty: The numerical TX_TYPE value remains TBD at the cutoff. |
| New or modified transaction validity mechanismsUnder-specified | 3 | Per-entry signatures, account-state preconditions, variable-length structural validity, and costs require extensive combinations and new typed-transaction support, matching score 3. |
Confidence: Medium Uncertainty: Authorization failure outcome, outer signature preimage, and receipt definition are not specified. |
| Encoding changes (RLP/SSZ)Under-specified | 3 | The rubric assigns score 3 for any transaction-level encoding change; this new RLP schema directly meets the anchor. |
Confidence: High Uncertainty: Receipt encoding and detailed nested-array RLP validity constraints are omitted. |
| Transition-tool interface changesUnder-specified | 3 | A transition tool needs multiple new nested fields and a new authorization-array processing mechanism, matching score 3. |
Confidence: Medium Uncertainty: The concrete transition-tool schema and whether it accepts decoded entries or raw typed bytes are not specified. |
| Security risksUnder-specified | 3 | Arbitrary temporary EOA code and separated origin/authority roles alter critical account, balance, execution, mempool, relayer, and application assumptions, requiring extensive review and fuzzing, matching score 3. |
Confidence: High Uncertainty: The sparse section imports EIP-3074 concerns without specifying which mitigations or signature-domain protections this design adopts. |
| Performance risksUnder-specified | 3 | Temporary code interacts with account/code caching, state snapshots, access warming, arbitrary execution, and cleanup, so end-to-end impact cannot be fully benchmarked in isolation and has complex existing interactions, matching score 3. |
Confidence: Medium Uncertainty: No performance analysis, explicit code-size limit, authorization-count limit beyond gas, or caching guidance is included. |
| Edge/boundary conditionsUnder-specified | 3 | Empty/malformed arrays, invalid signatures, pre-existing code, repeated signers, gas thresholds, success/revert, cleanup, and address aliasing combine into an elevated stateful test matrix, matching score 3. |
Confidence: High Uncertainty: Several boundary outcomes first require consensus interpretation because the draft does not define them. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 3 | Temporary EOA code becomes consensus-observable while constructible failure and lifecycle outcomes remain unanswered. Clients must agree before vectors can be baselined, matching score 3. |
Confidence: High Uncertainty: No packaged test cases or more detailed specification resolves these questions at the cutoff. |
| EVM Gas rule changesUnder-specified | 2 | This is a new intrinsic-gas mechanism scoped to the new transaction type. It composes with existing intrinsic accounting without changing pre-existing transaction types, matching score 2. |
Confidence: Medium Uncertainty: Malformed-entry, arithmetic-overflow, and non-code authorization-byte charging rules are not fully specified. |
| New test-framework primitivesUnder-specified | 2 | Reusable transaction builders/signers and temporary-code expectations are needed within this EIP's suite, matching score 2; permanent use by other EIPs is not established. |
Confidence: Medium Uncertainty: No test design shows the exact boundary between existing helper extensions and wholly new primitives. |
| CryptographyUnder-specified | 1 | This is another use of well-known, protocol-used keccak and secp256k1 recovery, not a novel cryptographic primitive, matching score 1. |
Confidence: High Uncertainty: Signature canonicality and invalid-recovery rules for authorizations are omitted. |
Show 16 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is introduced. |
|
| Modified opcodes | 0 | Opcodes observe changed state, but their own behavior is not modified, so this is not an opcode modification under the criterion. |
|
| Added precompiles | 0 | No precompile is introduced. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified. |
|
| Added system contracts | 0 | No system contract is introduced. |
|
| Modified system contracts | 0 | No system contract is directly or indirectly modified. |
|
| State-access ordering within opcode execution | 0 | The change is at transaction boundaries, not inside an opcode's execution, so no opcode-level state-access or gas-charge ordering changes. |
|
| Blob gas accounting changes | 0 | The proposal contains no blob gas accounting change. |
|
| State gas accounting changes | 0 | Temporary account-code writes do not by themselves introduce the state-gas accounting mechanism defined by this criterion. |
|
| New EVM gas refund | 0 | No new gas-refund mechanism is introduced. |
|
| New block / header fields | 0 | No new block or header field is introduced. |
|
| Block syncing changes | 0 | Sync clients must recognize the type, but no block-level RLP validation mechanism changes; EIP-2718 already makes typed payloads opaque at that layer. |
|
| New fork activation mechanism | 0 | Ordinary fork gating is not an activation-block transition under the anchor. |
Uncertainty: The fork block remains TBD, but that does not alter the score. |
| Engine API changes | 0 | No Engine API field or communication mechanism is introduced. |
|
| Patterns affecting pre-existing testsUnder-specified | 0 | A new feature test family is required, but the historical text does not establish a rule forcing pre-existing tests to be reworked. |
Uncertainty: Incomplete failure and cleanup semantics could later expose broader regressions, but they are not established at the cutoff. |
| New invariant on pre-existing tests | 0 | The invariant break needs targeted regression tests, not a new mechanically applicable assertion on tests that are not about this EIP. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ad9ecb077cEIPS/eip-7702.md committed 2024-05-09 · information cutoff 2024-05-23- 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/05-retrospective-complexity-assignment/outputs/fork-eips/prague/eip-7702.yaml· sha256b2d810a2047d - Supporting documents in the sealed package
supporting/eip-20.md,supporting/eip-2718.md,supporting/eip-2929.md,supporting/eip-2930.md,supporting/eip-3074.md,supporting/eip-4337.md,supporting/eip-5003.md