Evaluated on: · Spec revision: 2026-01-18 · e43e899bb1
Scope at the cutoff. At the information cutoff, EIP-7954 proposed raising the maximum deployed contract code size from 24,576 to 32,768 bytes and the maximum initcode size from 49,152 to 65,536 bytes. This changes the EIP-170 contract-creation result threshold and the EIP-3860 create-transaction and CREATE/CREATE2 initcode thresholds, while the proposal states that only the size limits change. Activation requires a network upgrade, and the proposal identifies a marginal denial-of-service risk from permitting larger contracts.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- No
- Plausible range
- 14–14 (Medium)
- Assessment cutoff
- 2026-01-20 · EIP revision
e43e899bb1(2026-01-18)
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: No
The EIP text available at the assessment cutoff left material behavior unresolved. The affected criteria and the plausible total range record that uncertainty.
The assessor found no material behavior left unresolved by the EIP text at the cutoff.
Notable ambiguities noted by the assessor (2)
- The increased initcode maximum lets the unchanged EIP-3860 metering formula apply over a larger admissible range. This assessment treats that as a validity and opcode-behavior change, not an EVM gas-accounting rule change, because no cost or formula is modified.
- The supporting EIP-3860 text mentions CREATE2's EIP-1014 hash-cost mechanism, but EIP-7954 neither identifies EIP-1014 as a requirement nor changes that gas mechanism; therefore only EIPs 170 and 3860 are recorded as interacting EIPs.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 3 | At least CREATE and CREATE2 have non-gas behavior modified for initcode in the newly admitted range. The rubric assigns score 3 whenever any pre-existing opcode behavior changes apart from gas changes. |
Confidence: High |
| New or modified transaction validity mechanisms | 2 | The validity threshold of an existing create transaction is modified and its boundary tests must change, but updates are localized and require no testing infrastructure redesign. This matches score 2. |
Confidence: High |
| Security risks | 2 | The larger caps slightly relax existing denial-of-service bounds and touch a limited set of code-loading, preprocessing, proof, and initcode-analysis components. That alters existing security assumptions enough for targeted review or fuzzing but is not the broad critical interaction of score 3, so the score is 2. |
Confidence: Medium Uncertainty: The proposal calls the increase marginal but provides no quantitative security analysis of the proposed thresholds. |
| Performance risks | 2 | Raising both caps expands worst-case inputs across several existing performance paths, so validation is not confined to a new isolated mechanism. The EIP describes the increment as marginal and conservative, supporting the limited-impact score-2 anchor rather than substantial score 3. |
Confidence: Medium Uncertainty: The package supplies qualitative risk statements and the prior mechanisms' scaling rationale, but no benchmark of the proposed new limits. |
| Edge/boundary conditions | 2 | Two boundary-prone mechanisms must be covered, and the initcode threshold has three execution or validation paths. These are multiple boundary conditions, but none requires the elevated combinatorial case count of score 3, so the score is 2. |
Confidence: High |
| Cross-EIP interactions | 2 | The proposal directly modifies two prior EIPs and their related transaction and opcode boundary tests. Coordination is required, but the interactions are limited to two size constants and their existing failure paths, matching score 2. |
Confidence: High Interacting EIPs: EIP-170, EIP-3860 |
| Patterns affecting pre-existing tests | 1 | Existing tests at and around the old code and initcode limits need updated inputs or expectations. This is a minor, narrow subset of creation tests, so score 1 fits better than the considerable-subset anchor. |
Confidence: High Uncertainty: The package does not enumerate the full pre-existing test corpus, but it does identify the boundary cases that necessarily change. |
Show 21 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | No opcode is added, matching score 0. |
|
| Added precompiles | 0 | No new precompile is introduced, so the score is 0. |
|
| Modified precompiles | 0 | No pre-existing precompile is modified, matching score 0. |
|
| Added system contracts | 0 | No system contract is added, so the score is 0. |
|
| Modified system contracts | 0 | There is no direct or identified indirect system-contract modification, so the score-0 anchor applies. |
|
| EVM Gas rule changes | 0 | Raising an admissibility threshold allows the existing metering formula to cover larger inputs, but it neither updates nor introduces a gas-accounting rule. This matches the score-0 anchor. |
|
| State-access ordering within opcode execution | 0 | No state-access site or within-opcode ordering rule is changed, so the score-0 anchor applies. |
|
| Blob gas accounting changes | 0 | There is no blob gas accounting change, satisfying the score-0 anchor. |
|
| State gas accounting changes | 0 | A code-size admission cap is not a state-gas charging rule, and none of the state-gas mechanisms named by this anchor changes. The score is 0. |
|
| New EVM gas refund | 0 | No gas-refund mechanism is introduced or modified, matching score 0. |
|
| New transaction types | 0 | No transaction type is introduced, so the score-0 anchor applies. |
|
| New block / header fields | 0 | No block or header field is added, matching score 0. |
|
| Encoding changes (RLP/SSZ) | 0 | Permitting a larger payload within an existing representation is not an RLP, SSZ, or interface encoding change. The score is 0. |
|
| Block syncing changes | 0 | Although create-transaction validity changes, block encoding and RLP validation do not. Under this anchor's RLP-specific definition, the score is 0. |
|
| New fork activation mechanism | 0 | A normal hard-fork rule change is not itself the activation mechanism scored here. No state or internal variable is modified at activation, so the score is 0. |
|
| Engine API changes | 0 | No Engine API change is introduced, matching score 0. |
|
| Transition-tool interface changes | 0 | Ordinary fork selection can select the constants; no transition-tool interface field or mechanism is required. The score is 0. |
|
| New invariant on pre-existing tests | 0 | Boundary tests change their expected result, but pre-existing tests do not gain an additional invariant to assert. This is the score-0 case. |
|
| New test-framework primitives | 0 | Existing transaction and opcode test primitives suffice for updated boundary cases, so no new framework primitive is required and the score is 0. |
|
| Cryptography | 0 | Existing hashing may process a larger admissible initcode input, but no cryptographic mechanism changes. The score-0 anchor applies. |
|
| Unspecified behavior requiring cross-client consensus | 0 | Substituting the two exact constants into the linked rules determines equality and over-limit behavior for transaction and opcode paths. No constructible case in the described scope requires a new cross-client agreement, so the score is 0. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@e43e899bb1EIPS/eip-7954.md committed 2026-01-18 · information cutoff 2026-01-20T14:22:47Z- 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/amsterdam/eip-7954.yaml· sha256a66e9938499f - Supporting documents in the sealed package
supporting/eip-170.md,supporting/eip-3860.md