Retrospective LLM-Based Complexity Evaluations

EIP complexity assessment

EIP-7708: ETH transfers emit a log

Assessed in Amsterdam / Glamsterdam. The score describes the EIP text available at the assessment cutoff, not the EIP as it stands today.

RetrospectiveAmsterdam / GlamsterdamAssessment cutoff 2025-10-22Included by cutoffLayers: execution
LLM Completescore 19
Human Completescore 9 · Checklist revision 1· merged checklist

Evaluated on: · Spec revision: 2025-04-13 · 7466599174

Scope at the cutoff. At the information cutoff, EIP-7708 proposed automatically emitting an existing-style log for every nonzero-value transaction, CALL, and value-transferring SELFDESTRUCT. Each generated log would carry a MAGIC topic, sender and recipient topics, and a 32-byte transfer value, with the transaction log ordered before EVM-created logs and the other logs emitted when their transfers execute. The MAGIC value, treatment of withdrawals and fees, and test cases remained unresolved.

19MediumMedium
Evaluator
LLMChecklist v2
Confidence
Medium
Under-specified at assessment cutoff
Yes — 8 criteria affected
Plausible range
13–25 (Medium–High)
Assessment cutoff
2025-10-22 · EIP revision 7466599174 (2025-04-13)
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

  1. Modified opcodes3
  2. Patterns affecting pre-existing tests3
  3. Edge/boundary conditions3
  4. Unspecified behavior requiring cross-client consensus3

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: Material consensus-visible behavior is unresolved: MAGIC is TBD; fee and withdrawal coverage is open; the withdrawal sender is unspecified; and the generated log's emitter, gas treatment, and detailed success, failure, rollback, and creation semantics are not determined. Depending on those choices, the breadth of affected tests, invariants, edge cases, transaction validity, performance, and security review could shift, and charging LOG3-equivalent gas could introduce an EVM gas-rule score.

Unresolved questions at the cutoff (7)
  • What concrete value is assigned to MAGIC?
  • Do withdrawals emit logs, and what address is their sender topic?
  • Do fee payments emit logs?
  • Which account is the emitter/address of each generated log?
  • Are generated logs and any associated charge reverted on failed or reverted execution exactly like opcode-created logs?
  • Does "identical to a LOG3" imply a gas charge, and if so how is it charged for each of the three trigger paths?
  • How are creation transactions and other cases without an ordinary recipient address represented?
Notable ambiguities noted by the assessor (3)
  • "Identical to a LOG3" fixes topics and data in the next clause but does not identify the generated log's emitting address or say whether LOG3 gas is charged.
  • "At the time that the value transfer executes" does not fully define success, failure, and rollback behavior or exact ordering against surrounding opcode effects.
  • The stated goal of all ETH transfers conflicts with expressly unresolved fee and withdrawal coverage and leaves creation-recipient handling unstated.

Criterion breakdown

EIP-7708 Amsterdam / Glamsterdam: LLM criterion scores and rationale
CriterionScoreWhy this scoreEvidence / uncertainty
Modified opcodes3At least two pre-existing opcodes acquire a non-gas behavioral side effect. The rubric assigns score 3 whenever any pre-existing opcode behavior is modified.
  • eip.md · Abstract, lines 13-15 The abstract explicitly includes CALL and SELFDESTRUCT.
  • eip.md · Specification / Functionality, lines 29-31 A nonzero-value CALL or value-transferring SELFDESTRUCT now emits a log at the time its transfer executes.
Confidence: High
Patterns affecting pre-existing testsUnder-specified3Existing tests spanning transactions, CALL, and SELFDESTRUCT with nonzero value must have expected logs, ordering, blooms, or receipt commitments reworked. This is a major and diverse rather than contrived subset, meeting the score-3 anchor.
  • eip.md · Abstract and Motivation, lines 13-19 The new rule covers ordinary transactions as well as internal CALL and SELFDESTRUCT value transfers so that all such ETH transfers are logged.
  • eip.md · Specification / Functionality, lines 27-31 Existing execution paths gain new log contents and ordering, changing receipts for three common and technically distinct transfer categories.
Confidence: Medium
Uncertainty: The EIP supplies no test cases, so the exact fraction of the pre-existing corpus affected cannot be established from the package.
Edge/boundary conditionsUnder-specified3Transactions, CALL, and SELFDESTRUCT each introduce success, rollback, sender/recipient, value-boundary, and ordering cases. Their combined matrix requires an elevated number of cases, meeting the score-3 anchor.
  • eip.md · Specification / Functionality, lines 27-31 The rule has a zero/nonzero boundary, three distinct trigger paths, and path-dependent log placement and ordering.
  • eip.md · Rationale / Open questions, lines 37-40 Withdrawals and fee payments, including the withdrawal sender identity, remain explicit boundary questions.
Confidence: High
Uncertainty: The unresolved scope and absent tests obscure the exact case matrix, but they do not remove the multiple discernible boundary-prone mechanisms.
Unspecified behavior requiring cross-client consensusUnder-specified3Previously absent automatic transfer records become consensus-committed outputs while their selector, scope, identity, and edge semantics remain unsettled. Constructible cases cannot be baselined until clients agree, and amendments can change expected receipts, meeting the score-3 anchor.
  • eip.md · Specification / Parameters, lines 21-25 The consensus-visible MAGIC topic remains TBD.
  • eip.md · Rationale / Open questions, lines 37-40 Whether withdrawals and fee payments generate logs, and the withdrawal sender address if they do, are explicitly unresolved.
  • eip.md · Specification and Test Cases, lines 27-31 and 46-48 The proposal defines broad timing language but no cases for failure, rollback, contract creation, or the generated log's emitting address, and its entire test section is TODO.
Confidence: High
Uncertainty: Some missing execution details may have an obvious intended reading from ordinary log semantics, but MAGIC and transfer scope are expressly open.
New invariant on pre-existing testsUnder-specified2Tests not principally about this EIP but containing a covered value transfer gain a mechanically checkable log invariant. The category is broad, but zero-value tests and tests without these transfers do not gain it, so score 2 applies rather than score 3.
  • eip.md · Specification / Functionality, lines 29-31 Every covered nonzero transfer must now produce a log with fixed topics, data encoding, and a specified relative placement.
Confidence: Medium
Uncertainty: Unresolved fee and withdrawal scope prevents an exact boundary for the set of pre-existing tests that would gain the assertion.
Security risksUnder-specified2Correctness matters across the transaction, CALL, and SELFDESTRUCT paths because users may treat these consensus-committed records as transfer evidence. This touches a limited set of existing components and warrants targeted review and fuzzing, fitting score 2 rather than an extensive multi-component score 3.
  • eip.md · Motivation, lines 17-19 The generated records are intended to let exchanges and other consumers track ETH transfers that were not automatically logged before.
  • eip.md · Security Considerations, lines 50-52 The proposal analyzes log-volume safety, concluding no worse maximum but acknowledging a higher average log count.
Confidence: Medium
Uncertainty: The Security Considerations discuss capacity but not spoofing, rollback, emitter identity, or inconsistent-log risks, leaving the precise review surface uncertain.
Performance risksUnder-specified2Average receipt/log construction, commitment, storage, and indexing impact depends on workload and cannot be fully benchmarked as an isolated opcode, but the text bounds worst-case log throughput and characterizes the average increase as limited. This matches score 2.
  • eip.md · Security Considerations, lines 50-52 The authors reason that worst-case log count does not increase because a transfer already costs more than LOG3, but acknowledge an increase in the average number of logs.
  • eip.md · Motivation and Specification, lines 17-31 Automatic logs are added across external transactions and two EVM transfer paths, tying overhead to real block workloads.
Confidence: Medium
Uncertainty: Whether fees and withdrawals are included could materially change log volume, and no benchmark results are packaged.
Cross-EIP interactions1Compatibility with EIP-20 is an identified but limited interaction: the new ETH log can be tested mostly independently and does not modify or depend on EIP-20 behavior. This meets score 1.
  • eip.md · Motivation and Rationale, lines 17-19 and 33-35 EIP-7708 explicitly compares ETH tracking with ERC-20 logs and designs its log type for ERC-20 compatibility while avoiding ERC-20-specific ABI features.
  • supporting/eip-20.md · Front matter and notice, lines 1-7 The packaged linked document identifies the referenced proposal as EIP-20 and records that its content had moved.
Confidence: High
Uncertainty: The packaged EIP-20 file contains only a move notice, but EIP-7708 itself clearly identifies the intended compatibility relationship.
Interacting EIPs: EIP-20
Show 20 zero-score criteria
Zero-score criteria (Checklist revision 2)
CriterionScoreWhy this scoreEvidence / uncertainty
Added opcodes0No opcode is added, matching score 0.
  • eip.md · Specification / Functionality, lines 27-31 The proposal refers to existing CALL, SELFDESTRUCT, and LOG3 behavior and assigns no new opcode.
Added precompiles0No precompile is introduced, matching score 0.
  • eip.md · Abstract and Specification, lines 13-31 The described logging feature adds no precompile.
Modified precompiles0No pre-existing precompile is modified.
  • eip.md · Abstract and Specification, lines 13-31 No precompile behavior or gas schedule is mentioned or changed.
Added system contracts0No system contract is introduced.
  • eip.md · Abstract and Specification, lines 13-31 The feature is implemented as automatic protocol logs for existing transfer paths; no contract address, code, deployment, or state is added.
Modified system contracts0No direct or package-established indirect system-contract modification is introduced, so score 0 applies.
  • eip.md · Abstract and Specification, lines 13-31 The proposal names transaction, CALL, and SELFDESTRUCT transfer behavior but identifies no pre-existing system contract or contract transition.
EVM Gas rule changesUnder-specified0No gas-accounting change is specified, so the score follows the zero anchor rather than inferring a charge for the generated log.
  • eip.md · Specification / Functionality, lines 27-31 The specification adds generated logs and their ordering but states no gas charge, schedule, or accounting rule.
  • eip.md · Security Considerations, lines 50-52 The text compares the pre-existing minimum transfer cost with LOG3 cost only to reason about maximum log throughput.
Uncertainty: The phrase "identical to a LOG3" and the gas-cost comparison do not say whether any LOG3 gas is charged; a future clarification could change this score.
State-access ordering within opcode execution0Log placement alone is not a change to state-access or gas-charge ordering inside an opcode, satisfying the zero anchor.
  • eip.md · Specification / Functionality, lines 29-31 The proposal places generated logs at transfer execution time but does not move a state access or a gas charge relative to an access.
Uncertainty: Exact failure and rollback timing is not specified, but the text still proposes no change to when state is accessed.
Blob gas accounting changes0No blob gas accounting changes are introduced, matching score 0.
  • eip.md · Abstract and Specification, lines 13-31 The proposal is confined to logs for ETH transfers and contains no blob mechanism or blob-gas rule.
State gas accounting changes0No state gas accounting mechanism or charging site is changed.
  • eip.md · Specification / Functionality, lines 27-31 The specified effect is receipt-log generation; it does not define a state-writing gas cost, state-byte rate, budget, reservoir, or spill path.
New EVM gas refund0No new EVM gas-refund mechanism is introduced, matching score 0.
  • eip.md · Specification / Functionality, lines 27-31 The log-generation rule contains no refund behavior.
New transaction types0No transaction type is introduced.
  • eip.md · Specification / Functionality, lines 29-31 The rule applies to nonzero-value-transferring transactions without defining a new transaction envelope or type.
New or modified transaction validity mechanismsUnder-specified0Receipt behavior changes without any specified transaction-validity or intrinsic-gas change, so the score is 0.
  • eip.md · Specification / Functionality, lines 29-31 A qualifying transaction gains an output log, but the proposal states no new acceptance rule or intrinsic-gas calculation.
Uncertainty: Gas treatment for the generated transaction log is unstated, but the text does not establish a change to intrinsic gas or validity.
New block / header fields0No block or block-header field is introduced.
  • eip.md · Rationale, lines 33-35 The proposal relies on logs already reachable through node RPCs or the existing block-root commitment and adds no block or header field.
Encoding changes (RLP/SSZ)0New log contents within the existing log representation are not an RLP/SSZ encoding change at the rubric's transaction, block, or interface levels.
  • eip.md · Specification / Functionality, lines 29-31 Generated entries use an existing LOG3-style structure and a specified 32-byte big-endian data value; no transaction, block, or interface encoding format is replaced or extended.
Block syncing changes0No RLP validation mechanism requiring client syncing is introduced.
  • eip.md · Specification / Functionality, lines 27-31 The proposal changes generated logs and contains no block RLP field or validation rule.
New fork activation mechanism0No new fork-activation mechanism is specified, matching score 0.
  • eip.md · Specification, lines 21-31 The specification defines ongoing transfer behavior and no activation- block state transition, migration, or internal-variable modification.
Engine API changes0No Engine API communication change is specified, matching score 0.
  • eip.md · Specification / Functionality, lines 27-31 The specification introduces no Engine API field or endpoint.
Transition-tool interface changes0No transition-tool interface modification is required by the text.
  • eip.md · Specification / Functionality, lines 27-31 The change produces ordinary-style logs and does not specify a new input, output field, or activation indicator for a transition tool.
New test-framework primitives0The described outputs can be checked with existing log expectations; the text does not require a new framework-level expectation or modifier.
  • eip.md · Specification / Functionality, lines 29-31 Expected behavior is expressed as a LOG3-compatible log with topics, byte data, and ordering, all conventional log properties.
  • eip.md · Test Cases, lines 46-48 The historical proposal contains only a TODO for test cases.
Uncertainty: With no test cases, the package cannot demonstrate whether convenience helpers would later be desirable, though no new primitive is required by the specification.
Cryptography0No cryptography mechanism is introduced, matching score 0.
  • eip.md · Specification / Functionality, lines 29-31 The mechanism only constructs log topics and a big-endian value encoding; it introduces no cryptographic primitive or modification.
Assessment provenance
Assessed EIP revision
ethereum/EIPs@7466599174 EIPS/eip-7708.md committed 2025-04-13 · information cutoff 2025-10-22T20:52:23Z
Current master · File history · blob a0758eccab · sha256 87520fb55cfb
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-7708.yaml · sha256 0151b8078c38
Supporting documents in the sealed package
supporting/eip-20.md

Evaluated on: · Spec revision: 2025-04-13 · 7466599174

Scope at the cutoff. At the sealed revision, EIP-7708 specifies automatically generated LOG3-shaped records for nonzero ETH transfers made by transactions, CALL, and SELFDESTRUCT, with path-specific placement. MAGIC remains TBD, test cases are TODO, and withdrawal and fee-payment coverage are open questions.

13MediumMedium
Evaluator
LLMChecklist v1
Confidence
Medium
Under-specified at assessment cutoff
Yes — 6 criteria affected
Plausible range
8–18 (Low–Medium)
Assessment cutoff
2025-10-22 · EIP revision 7466599174 (2025-04-13)
Score bands · Checklist revision 1
  • Low <10
  • Medium 10–19
  • High ≥20

24 criteria scored 0–3 (4 in exceptional cases; cross-EIP interactions is uncapped); nominal maximum 72.

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

  1. Modified opcodes3
  2. Edge/boundary conditions3
  3. Patterns affecting pre-existing tests2
  4. Security risks2

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 historical proposal leaves the log-signature MAGIC value undefined, supplies no test cases, does not resolve withdrawal or fee-payment logging, and does not normatively specify gas charging or failure/reversion treatment for generated logs. These omissions chiefly affect regression breadth, edge-case coverage, and performance/security confidence.

Unresolved questions at the cutoff (4)
  • What concrete value replaces the MAGIC parameter?
  • Should withdrawals and fee payments emit logs, and what sender address applies to a withdrawal?
  • Do generated logs consume execution or intrinsic gas, and what happens when gas is insufficient?
  • Are generated logs retained or reverted for failed or reverted transactions, CALLs, and SELFDESTRUCT paths, and what exact ordering vectors are normative?
Notable ambiguities noted by the assessor (4)
  • The checklist includes Engine API encoding changes but supplies no dedicated definition; that row is conservatively scored from its label with low confidence.
  • The abstract says all ETH transfers, while the normative functionality enumerates transactions, CALL, and SELFDESTRUCT and separately leaves withdrawals and fees open.
  • The phrase identical to a LOG3 defines record shape, but the proposal does not say whether automatic emission inherits LOG3 gas charging or execution-failure behavior.
  • MAGIC is TBD and Test Cases is TODO, leaving both a consensus constant and the intended conformance vectors unspecified.

Criterion breakdown

EIP-7708 Amsterdam / Glamsterdam: LLM criterion scores and rationale
CriterionScoreWhy this scoreEvidence / uncertainty
Modified opcodes3The non-gas behavior of the pre-existing CALL and SELFDESTRUCT opcodes is modified, so the binary historical anchor requires score 3.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Specification > Functionality A nonzero-value CALL and a value-transferring SELFDESTRUCT must now emit a generated log at the time the transfer executes.
Confidence: High
Uncertainty: The exact handling of failed or reverted opcode execution is not specified, but the behavioral modification itself is explicit.
Edge/boundary conditionsUnder-specified3The zero/nonzero boundary, three distinct transfer paths, and path-dependent log timing create multiple edge-prone mechanisms; ordering and execution-outcome combinations require an elevated case matrix, matching score 3.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Specification > Functionality Emission is conditional on nonzero value across three transfer paths; transaction logs precede execution logs, while CALL and SELFDESTRUCT logs occur when their transfers execute.
  • eip.md · Rationale > Open questions Withdrawal inclusion, its sender address, and fee-payment inclusion remain unresolved.
Confidence: Medium
Uncertainty: Failure and reversion semantics, exact CALL-family scope, and the unresolved withdrawal and fee paths are not specified.
Patterns affecting pre-existing testsUnder-specified2Expected logs and receipts change across a considerable set of existing value-transfer tests, but the affected cases remain a bounded category rather than the diverse major subset required for score 3.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Specification > Functionality Every nonzero-value CALL, value-transferring SELFDESTRUCT, and value-transferring transaction gains an additional log with prescribed topics, data, and placement.
  • eip.md · Test Cases The historical proposal supplies no test cases and marks the section TODO.
Confidence: Medium
Uncertainty: No test inventory is provided, so the exact number and diversity of pre-existing vectors needing updates cannot be established from the package.
Security risksUnder-specified2The mechanism touches a limited set of existing execution and receipt-production components and slightly changes their correctness assumptions, warranting targeted review or fuzzing but not the extensive multi-critical-component review of score 3.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Specification > Functionality Consensus-generated logs are inserted across transaction, CALL, and SELFDESTRUCT paths with explicit topic, data, and ordering requirements.
  • eip.md · Security Considerations The proposal considers log-volume denial-of-service exposure and argues the existing minimum transfer cost bounds worst-case log count.
Confidence: Medium
Uncertainty: The text does not analyze client divergence, reversion, receipt-root, or indexer-consistency failure modes, and its security section addresses only log volume.
Performance risksUnder-specified2Workload-wide receipt and log-volume effects cannot be fully benchmarked in isolation, while the proposal's existing transfer-cost bound indicates limited rather than substantial worst-case impact, matching score 2.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Security Considerations The proposal says worst-case logs per block do not increase because ETH transfers already cost more than LOG3, but the average number of logs will increase.
  • eip.md · Specification > Functionality Log creation is integrated into transaction, CALL, and SELFDESTRUCT transfer processing rather than being a standalone operation.
Confidence: Medium
Uncertainty: No benchmarks or quantitative estimate of the average increase are supplied, and resolving fee-payment logging could materially change volume.
Cross-EIP interactionsUnder-specified1There is a limited, non-critical compatibility interaction with EIP-20's logging model, but EIP-7708 does not normatively depend on or modify EIP-20 and can largely be tested independently, matching score 1.

Exceptional score: Not applicable; the score is not 4.

  • eip.md · Motivation The proposal contrasts missing ETH transfer logs with ERC-20 token logs and links EIP-20 as the comparison.
  • eip.md · Rationale The proposed log type is described as compatible with the ERC-20 token standard while intentionally omitting ERC-20-specific ABI features.
  • supporting/eip-20.md · Body The allowlisted EIP-20 snapshot contains only a notice that the document moved, so it supplies no further interaction details.
Confidence: Medium
Uncertainty: The sealed supporting EIP-20 file contains no standard text, and unresolved withdrawal and fee-payment scope could add interactions not specified in this revision.
Show 18 zero-score criteria
Zero-score criteria (Checklist revision 1)
CriterionScoreWhy this scoreEvidence / uncertainty
Added opcodes0No new opcode is introduced, matching score 0.
  • eip.md · Specification > Functionality The specification refers to existing CALL, SELFDESTRUCT, and LOG3 behavior and assigns no new opcode.
Uncertainty: The generated log is described as identical to LOG3, not as a new instruction.
Added precompiles0No new precompile is introduced, matching score 0.
  • eip.md · Specification > Functionality The feature is implemented as automatic transfer logs and does not introduce a precompile.
Uncertainty: No precompile address, input, output, or gas schedule appears in the proposal.
Modified precompiles0No pre-existing precompile is modified, matching score 0.
  • eip.md · Specification > Functionality The specified transfer-log rule names no precompile and changes no precompile logic or gas schedule.
Uncertainty: Precompiles are not discussed in the sealed proposal.
Added system contracts0No new system contract is introduced, matching score 0.
  • eip.md · Specification > Functionality Automatic log generation is specified directly in transaction, CALL, and SELFDESTRUCT processing; no contract is added.
Uncertainty: The proposal identifies no system-contract address, code, state, or system action.
Modified system contracts0There is no evidenced direct or indirect modification of a pre-existing system contract, matching score 0.
  • eip.md · Specification > Functionality The proposal modifies general ETH-transfer execution behavior and names no pre-existing system contract or system-contract transition.
Uncertainty: The universal CALL and SELFDESTRUCT rule could apply when an unspecified system contract transfers value, but the package identifies no such contract or effect.
EVM Gas rule changesUnder-specified0No existing gas-accounting mechanism is explicitly updated and no new gas-accounting mechanism is specified, matching score 0.
  • eip.md · Specification > Functionality The normative change is automatic log emission for three nonzero-value transfer paths; it specifies no gas-accounting rule.
  • eip.md · Security Considerations The proposal compares the existing minimum transfer cost with LOG3 cost to bound log volume, without normatively changing either cost.
Uncertainty: The proposal does not state whether generated logs consume gas or how any charge would be applied; that omission is recorded as under-specification rather than scored as a gas change.
Blob gas accounting changes0No blob gas accounting change is introduced, matching score 0.
  • eip.md · Specification > Functionality The feature is confined to logs generated by ETH transfers and contains no blob-gas mechanism.
Uncertainty: Blob gas is not mentioned anywhere in the sealed proposal.
New EVM gas refund0No new EVM gas-refund mechanism is introduced, matching score 0.
  • eip.md · Specification > Functionality The specified behavior emits logs for value transfers and does not define a refund.
Uncertainty: The sealed proposal contains no gas-refund discussion.
New transaction types0No new transaction type is introduced, matching score 0.
  • eip.md · Specification > Functionality Existing value-transferring transactions gain an automatic log; no distinct transaction envelope or type is defined.
Uncertainty: The proposal applies to value-transferring transactions generically and does not enumerate transaction-type-specific behavior.
New or modified transaction validity mechanisms0Transaction validity rules and intrinsic gas calculations are not modified, matching score 0.
  • eip.md · Specification > Functionality The proposal adds a log when an existing nonzero-value transaction takes place and states no validity condition or intrinsic-gas calculation change.
Uncertainty: Gas treatment for the generated transaction log is unspecified, but no normative validity or intrinsic-gas rule can be inferred from that omission.
New block / header fields0No new block or block-header field is introduced, matching score 0.
  • eip.md · Rationale The proposal relies on logs being accessible through node RPCs or proofs tied to the existing block root and does not define a new block or header field.
Uncertainty: Generated logs alter committed receipt-derived values, but no field is added.
Encoding changes (RLP/SSZ)0Specifying log payload bytes is not an RLP/SSZ-level transaction, block, or interface encoding change under this anchor, so the binary score is 0.
  • eip.md · Specification > Functionality The generated record is identical to an existing LOG3, with a specified 32-byte big-endian data payload; no transaction, block, or interface encoding is replaced or altered.
Uncertainty: Receipt contents change because logs are added, but the sealed text specifies no change to their protocol encoding.
Block syncing changes0Because no new block RLP validation mechanism is introduced, the block-syncing anchor scores 0.
  • eip.md · Specification > Functionality The specification changes generated log contents and ordering but defines no block RLP validation mechanism.
Uncertainty: Generated logs will change derived receipt data, but the proposal does not describe syncing or alter an RLP validation rule.
New fork activation mechanism0No new fork-activation mechanism meeting the binary anchor is introduced, so the score is 0.
  • eip.md · Specification The specification defines transfer-time log emission and no activation-block state modification, internal-variable modification, or special transition.
Uncertainty: The historical proposal does not describe activation handling; absence of such text is not treated as evidence of a special activation transition.
Engine API changes0No Engine API field or endpoint is introduced, matching score 0.
  • eip.md · Specification > Functionality The complete normative functionality adds transfer logs and identifies no Engine API endpoint, field, or communication mechanism.
Uncertainty: Engine API integration is not discussed in the sealed proposal.
Engine API encoding changes0Scored conservatively from the row label: the proposal specifies no Engine API encoding change, so score 0 is the closest allowed value.
  • eip.md · Specification > Functionality The proposal specifies only generated log topics, data, and placement, with no Engine API encoding change.
  • rubric.md · Testing > Checklist > Engine API encoding changes The checklist contains this row, but the rubric provides no dedicated scoring definition for it.
Uncertainty: The historical rubric omits a dedicated definition for this row; no definition has been invented or imported.
Transition-tool interface changes0No modification to the transition-tool interface is required by the text, matching score 0.
  • eip.md · Specification > Functionality The proposal changes execution-produced logs but specifies no new transition-tool input or output field and no interface mechanism.
Uncertainty: Transition-tool integration is not discussed; the score therefore reflects the absence of any specified interface field rather than implementation evidence.
Cryptography0No cryptography mechanism is introduced or changed, matching score 0.
  • eip.md · Specification > Functionality The change reuses log topics and a 32-byte value encoding; it introduces no cryptographic primitive or modification.
Uncertainty: The proposal contains no cryptography-specific behavior.
Assessment provenance
Assessed EIP revision
ethereum/EIPs@7466599174 EIPS/eip-7708.md committed 2025-04-13 · information cutoff 2025-10-22T20:52:23Z
Current master · File history · blob a0758eccab · sha256 87520fb55cfb
Rubric
Checklist revision 1 · ethspecs/pm@d936bcb349
Evaluator
gpt-5.6-sol at xhigh reasoning effort · isolation bubblewrap_one_eip_capsule_v1
Source record
Frozen research record research/tasks/05c-amsterdam-human-assessment-alignment/outputs/automated/eip-7708.yaml · sha256 fff459214997
Supporting documents in the sealed package
supporting/eip-20.md

Evaluated on: Not recorded · Spec revision: 2025-04-13 · 7466599174

9LowLow
Evaluator
HumanChecklist v1
Confidence
Not recorded
Under-specified at assessment cutoff
Not recorded in the checklist
Checklist published
2025-11-05 · EIP at 7466599174
Score bands · Checklist revision 1
  • Low <10
  • Medium 10–19
  • High ≥20

24 criteria scored 0–3 (4 in exceptional cases; cross-EIP interactions is uncapped); nominal maximum 72.

Complexity profile

Each segment is one criterion's contribution to the Human total. Hover or focus a segment for its score and rationale.

Top complexity drivers

  1. Modified system contracts2
  2. Performance risks2
  3. Edge/boundary conditions2
  4. Modified opcodes1

Criterion breakdown

EIP-7708 Amsterdam / Glamsterdam: Human criterion scores and rationale
CriterionScoreWhy this scoreNotes
Modified system contracts2Some system contracts do receive/transfer Eth, and while existing tests might be sufficient, we need to double check that this change does not break current behavior (particularly the beacon deposit contract).
Performance risks2Test worst-case scenario of a transaction/block transfering Eth in multiple ways.
Edge/boundary conditions2All 0->1 boundaries have to be tested in all possible scenarios where Eth is transfered.
Modified opcodes1*CALL opcodes and SELFDESTRUCT/SENDALL behavior is slightly modified.
Transition-tool interface changes1Rather than a change to the T8N interface, we have to enhance execution-specs testing framework to verify the logs returned from T8N, because at the moment we just pass along the log list that was received from T8N to the test to be compared against the clients.
Patterns affecting pre-existing tests1All tests will now issue Eth-transfer logs, which might be a non-issue but does touch basically every single test.
Show 18 zero-score criteria
Zero-score criteria (Checklist revision 1)
CriterionScoreWhy this scoreNotes
Added opcodes0No rationale recorded.
Added precompiles0No rationale recorded.
Modified precompiles0No rationale recorded.
Added system contracts0No rationale recorded.
EVM Gas rule changes0No rationale recorded.
Blob gas accounting changes0No rationale recorded.
New EVM gas refund0No rationale recorded.
New transaction types0No rationale recorded.
New or modified transaction validity mechanisms0No rationale recorded.
New block / header fields0No rationale recorded.
Encoding changes (RLP/SSZ)0No rationale recorded.
Block syncing changes0No rationale recorded.
New fork activation mechanism0No rationale recorded.
Engine API changes0No rationale recorded.
Engine API encoding changes0No rationale recorded.
Security risks0No rationale recorded.
Cryptography0No rationale recorded.
Cross-EIP interactions0No rationale recorded.
Assessment provenance
Assessed EIP revision
ethereum/EIPs@7466599174 EIPS/eip-7708.md committed 2025-04-13
EIP master revision at the time of the human checklist commit; the checklist itself does not pin an EIP revision.
Current master · File history · blob a0758eccab · sha256 87520fb55cfb
Rubric
Checklist revision 1 · ethspecs/pm@d936bcb349
Evaluator
STEEL team · ethspecs/pm complexity_assessments
Source record
Merged checklist ethspecs/pm@72a1fc653d complexity_assessments/EIPs/EIP-7708.md · committed 2025-11-05
blob 092e5bab2a · sha256 a2652b18c2cf
Research record
research/tasks/05c-amsterdam-human-assessment-alignment/inputs/human/eip-7708.yaml · sha256 4e334dac152a

Both assessments applied Checklist revision 1 (24 criteria) to EIP-7708 in Amsterdam / Glamsterdam. Δ is LLM minus Human.

LLM13Medium
Human9Low
Δ total+4Tiers differ: Medium vs Low
Criteria17/24agree exactly · 4 differ by 1 · 3 differ by 2+
Clean same-rubric comparison. The human checklist evaluated the EIP as it stood when the checklist was written; the LLM evaluated the sealed historical revision. Input alignment: exact blob; human hindsight exposure: high exposure. The study's primary LLM score under checklist revision 2 is 19; it uses a different criterion inventory and thresholds and is not directly comparable to either total here.
Exposure evidence

The rationale describes the then-current execution-specs test-framework handling of transition-tool logs and a required enhancement.

The human-time and approved Task 04 EIP commits resolve to the same Git blob.

Complexity profiles side by side

LLM
Human

Largest disagreements: Modified system contracts (−2), Modified opcodes (+2), Security risks (+2), Patterns affecting pre-existing tests (+1), Transition-tool interface changes (−1)

Per-criterion scores, Human versus LLM, ordered by the size of the difference
CriterionLLMHumanΔAgreementRationale from each source
Modified opcodes31+2Differ by 2+
Show rationale

LLM The non-gas behavior of the pre-existing CALL and SELFDESTRUCT opcodes is modified, so the binary historical anchor requires score 3.

Human *CALL opcodes and SELFDESTRUCT/SENDALL behavior is slightly modified.

Modified system contracts02−2Differ by 2+
Show rationale

LLM There is no evidenced direct or indirect modification of a pre-existing system contract, matching score 0.

Human Some system contracts do receive/transfer Eth, and while existing tests might be sufficient, we need to double check that this change does not break current behavior (particularly the beacon deposit contract).

Security risks20+2Differ by 2+
Show rationale

LLM The mechanism touches a limited set of existing execution and receipt-production components and slightly changes their correctness assumptions, warranting targeted review or fuzzing but not the extensive multi-critical-component review of score 3.

Human No rationale recorded.

Transition-tool interface changes01−1Differ by 1
Show rationale

LLM No modification to the transition-tool interface is required by the text, matching score 0.

Human Rather than a change to the T8N interface, we have to enhance execution-specs testing framework to verify the logs returned from T8N, because at the moment we just pass along the log list that was received from T8N to the test to be compared against the clients.

Patterns affecting pre-existing tests21+1Differ by 1
Show rationale

LLM Expected logs and receipts change across a considerable set of existing value-transfer tests, but the affected cases remain a bounded category rather than the diverse major subset required for score 3.

Human All tests will now issue Eth-transfer logs, which might be a non-issue but does touch basically every single test.

Edge/boundary conditions32+1Differ by 1
Show rationale

LLM The zero/nonzero boundary, three distinct transfer paths, and path-dependent log timing create multiple edge-prone mechanisms; ordering and execution-outcome combinations require an elevated case matrix, matching score 3.

Human All 0->1 boundaries have to be tested in all possible scenarios where Eth is transfered.

Cross-EIP interactions10+1Differ by 1
Show rationale

LLM There is a limited, non-critical compatibility interaction with EIP-20's logging model, but EIP-7708 does not normatively depend on or modify EIP-20 and can largely be tested independently, matching score 1.

Human No rationale recorded.

Added opcodes000Agree
Show rationale

LLM No new opcode is introduced, matching score 0.

Human No rationale recorded.

Added precompiles000Agree
Show rationale

LLM No new precompile is introduced, matching score 0.

Human No rationale recorded.

Modified precompiles000Agree
Show rationale

LLM No pre-existing precompile is modified, matching score 0.

Human No rationale recorded.

Added system contracts000Agree
Show rationale

LLM No new system contract is introduced, matching score 0.

Human No rationale recorded.

EVM Gas rule changes000Agree
Show rationale

LLM No existing gas-accounting mechanism is explicitly updated and no new gas-accounting mechanism is specified, matching score 0.

Human No rationale recorded.

Blob gas accounting changes000Agree
Show rationale

LLM No blob gas accounting change is introduced, matching score 0.

Human No rationale recorded.

New EVM gas refund000Agree
Show rationale

LLM No new EVM gas-refund mechanism is introduced, matching score 0.

Human No rationale recorded.

New transaction types000Agree
Show rationale

LLM No new transaction type is introduced, matching score 0.

Human No rationale recorded.

New or modified transaction validity mechanisms000Agree
Show rationale

LLM Transaction validity rules and intrinsic gas calculations are not modified, matching score 0.

Human No rationale recorded.

New block / header fields000Agree
Show rationale

LLM No new block or block-header field is introduced, matching score 0.

Human No rationale recorded.

Encoding changes (RLP/SSZ)000Agree
Show rationale

LLM Specifying log payload bytes is not an RLP/SSZ-level transaction, block, or interface encoding change under this anchor, so the binary score is 0.

Human No rationale recorded.

Block syncing changes000Agree
Show rationale

LLM Because no new block RLP validation mechanism is introduced, the block-syncing anchor scores 0.

Human No rationale recorded.

New fork activation mechanism000Agree
Show rationale

LLM No new fork-activation mechanism meeting the binary anchor is introduced, so the score is 0.

Human No rationale recorded.

Engine API changes000Agree
Show rationale

LLM No Engine API field or endpoint is introduced, matching score 0.

Human No rationale recorded.

Engine API encoding changes000Agree
Show rationale

LLM Scored conservatively from the row label: the proposal specifies no Engine API encoding change, so score 0 is the closest allowed value.

Human No rationale recorded.

Performance risks220Agree
Show rationale

LLM Workload-wide receipt and log-volume effects cannot be fully benchmarked in isolation, while the proposal's existing transfer-cost bound indicates limited rather than substantial worst-case impact, matching score 2.

Human Test worst-case scenario of a transaction/block transfering Eth in multiple ways.

Cryptography000Agree
Show rationale

LLM No cryptography mechanism is introduced or changed, matching score 0.

Human No rationale recorded.

Criterion legend and glossary

Every stacked bar, comparison matrix, and criterion table on this site uses the same criterion colours, abbreviations, and order. Colour marks the criterion group; the abbreviation and name identify the criterion. Scores are 0–3 per criterion (4 is exceptional; cross-EIP interactions is uncapped).

EVM surface

Opcodes, precompiles, and system contracts that are added or modified.

  • Added opcodes
    Introduces new opcodes
    Score anchors
    0
    No new opcodes are introduced.
    1
    A new simple opcode is introduced (no data portion, no complex stack mechanics, and a constant gas cost).
    2
    Multiple new simple opcodes are introduced, or a single new complex opcode is introduced (has data portion, or complex stack mechanics, or a dynamic gas cost).
    3
    Multiple new opcodes are introduced, and at least one of them is complex (has data portion, or complex stack mechanics, or a dynamic gas cost).
    • Cryptography opcodes are not considered complex by default. Refer to the "Cryptography" section for a separate assessment.
  • Modified opcodes
    Modifies pre-existing opcodes
    Score anchors
    0
    No pre-existing opcode modifications are introduced.
    3
    At least one pre-existing opcode's behavior is modified (not including gas changes) or a pre-existing opcode is deprecated.
  • Added precompiles
    Introduces new precompiles
    Score anchors
    0
    No new precompiles are introduced.
    1
    A new simple precompile is introduced (constant input length, constant gas cost).
    2
    Multiple new simple precompiles are introduced, or a single new complex precompile is introduced (dynamic input length or dynamic gas cost).
    3
    Multiple new precompiles are introduced, and at least one of them is complex (dynamic input length or dynamic gas cost).
    • Cryptography precompiles are not considered complex by default. Refer to the "Cryptography" for a separate assessment.
  • Modified precompiles
    Modifies pre-existing precompiles logic or gas-accounting
    Score anchors
    0
    No pre-existing precompiles are modified.
    1
    At least one pre-existing precompile has its gas schedule modified.
    2
    Multiple pre-existing precompiles have their gas schedule modified, or a single pre-existing precompile has its behavior modified.
    3
    The behavior of multiple pre-existing precompiles, or a single complex pre-existing precompile modified.
  • Added system contracts
    Introduces new system contract, stateful or not
    Score anchors
    0
    No new system contracts are introduced.
    1
    A new system contract is introduced that is not stateful nor does it trigger a new system action (e.g. requests to the consensus layer).
    2
    Multiple new system contracts are introduced or a single new system contract that is either stateful or triggers a new system action (e.g. requests to the consensus layer).
    3
    Multiple new system contracts are introduced and at least one of them is either stateful or triggers a new system action (e.g. requests to the consensus layer).
  • Modified system contracts
    Modifies pre-existing system contracts
    Score anchors
    0
    No modifications to pre-existing system contracts are introduced, directly or indirectly.
    1
    Does not directly modify any system contract, but its behavior has minor indirect effects on one or more system contracts.
    2
    Does not directly modify any system contract, but its behavior has major indirect effects on one or more system contracts.
    3
    At least one pre-existing system contract code or state is modified, which would involve irregular state transition or a similarly complex transition methodology.

Gas and accounting

Execution, blob, and state gas rules, refunds, and where charges happen inside opcodes.

  • EVM Gas rule changes
    New EVM gas accounting rules
    Score anchors
    0
    No gas accounting changes.
    1
    Existing gas accounting mechanism is updated.
    2
    A new gas accounting mechanism is introduced but it does not affect existing mechanisms nor does it affect existing tests.
    3
    A new gas accounting mechanism is introduced and affects existing mechanisms which in turn affect existing tests.
  • State-access ordering within opcode execution · Checklist revision 2 only
    Changes *where inside an opcode's execution* state is accessed, or where gas is charged relative to that access. Because a state access is recorded in the block-level access list only if execution had enough gas to reach it, this ordering is consensus-critical: moving it changes the BAL at every gas boundary of every affected opcode.
    Score anchors
    0
    No change to where state is accessed, or to where gas is charged relative to a state access, within any opcode.
    1
    A single opcode's state-access or gas-charge ordering changes.
    2
    Multiple opcodes' ordering changes, or a new state-accessing operation is introduced whose position in the order must be settled.
    3
    The ordering rule changes for a whole class of state-accessing opcodes at once, or what counts as a recordable state access is redefined — requiring existing BAL vectors to be re-derived across opcodes and forks.
    • Distinct from "Modified opcodes", which asks whether an opcode's **result** changed. This row asks about the **path to the result**, which is observable even when the result is identical. An EIP can be 0 on that row and 3 on this one.
    • Score changes **to** the ordering. Do not score the fact that state accesses are observable — they always are.
    • Each boundary must be re-tested against every other dimension that can change the answer (cold/warm, static/non-static, delegated/direct, revert/success), so the case count grows multiplicatively rather than additively. Note this explicitly under Special Considerations.
  • Blob gas accounting changes
    New Blob gas accounting rules which potentially affect pre-existing tests
    Score anchors
    0
    No blob gas accounting changes.
    1
    Existing blob gas accounting mechanism is updated.
    2
    A new blob gas accounting mechanism is introduced but it does not affect existing mechanisms nor does it affect existing tests.
    3
    A new blob gas accounting mechanism is introduced and affects existing mechanisms which in turn affect existing tests.
  • State gas accounting changes · Checklist revision 2 only
    New state gas accounting rules. State gas is the cost of *writing* state, as opposed to accessing or executing it: `StateGasCosts`, `COST_PER_STATE_BYTE`, the block-level state gas budget, and the spill path into execution gas.
    Score anchors
    0
    No state gas accounting changes.
    1
    An existing state gas cost or `STATE_BYTES_PER_*` rate is adjusted.
    2
    A new state-gas-charging site is introduced, or the block-level state gas budget or reservoir allocation is modified.
    3
    A new state gas charging mechanism is introduced, or the spill interaction between state gas and execution gas is modified, affecting existing gas tests.
    • Harder to test than blob gas: the spill path means state gas cannot be metered independently of execution gas, and some costs (e.g. `NEW_ACCOUNT`) are state-dependent.
  • New EVM gas refund
    New gas-refund mechanism
    Score anchors
    0
    No new gas-refund mechanisms are introduced.
    1
    A new simple gas-refund mechanism is introduced that does not affect either existing tests or existing gas-refund mechanisms.
    2
    A new complex gas-refund mechanism is introduced or a simple mechanism that affects existing tests or existing gas-refund mechanisms.
    3
    A new complex gas-refund mechanism is introduced that affects existing tests or existing gas-refund mechanisms.

Blocks, transactions, and encoding

Transaction types and validity, block and header fields, encodings, syncing, and activation-time changes.

  • New transaction types
    Introduces a new transaction type
    Score anchors
    0
    No new transaction types are introduced.
    3
    A new transaction type is introduced.
  • New or modified transaction validity mechanisms
    Creates new or modifies pre-existing transaction types' validation mechanisms
    Score anchors
    0
    No changes are introduced to the validity rules of existing transaction types or to their intrinsic gas cost calculation.
    1
    Minor adjustments are introduced to validity rules or intrinsic gas cost calculation, but they do not significantly affect existing tests.
    2
    Changes to validity rules or intrinsic gas cost calculation affect existing tests, but require only limited updates to test cases and no redesign of the testing infrastructure.
    3
    Changes to validity rules or intrinsic gas cost calculation require extensive rework or redesign of the tests or testing infrastructure.
  • New block / header fields
    Introduces new block or block header fields
    Score anchors
    0
    No new block or header fields are introduced.
    3
    A new block or header field is introduced.
  • Encoding changes (RLP/SSZ)
    Introduces encoding changes at the transaction/block/interfaces level
    Score anchors
    0
    No encoding changes are introduced at the transaction, block, or interfaces levels.
    3
    An encoding change is introduced at transaction, block or interfaces level (e.g. RLP -> SSZ).
    • "Interfaces level" includes the Engine API. Score an Engine API encoding change (e.g. JSON -> SSZ) here.
  • Block syncing changes
    Modifies block RLP validation mechanisms that require test client syncing.
    Score anchors
    0
    No new RLP validation mechanism is introduced.
    1
    A single simple RLP validation mechanism is introduced.
    2
    Multiple simple RLP validation mechanisms are introduced or a single complex one.
    3
    Multiple RLP validation mechanisms are introduced and at least one of them is deemed complex.
  • New fork activation mechanism
    Modifies state, internal variables, or similar, at the fork activation block
    Score anchors
    0
    No state modifications, internal variables or similar are modified at the fork activation block.
    3
    Either a state modification or internal variables are modified at the fork activation block.
    • Initialization of new internal variable is not considered a modification.

Client interfaces

Engine API and transition-tool interface changes.

  • Engine API changes
    Introduces new fields to the Engine API directives
    Score anchors
    0
    No new fields or communication mechanisms are introduced to the Engine API.
    1
    A single new field is introduced in one of the Engine API endpoints.
    2
    Multiple fields are introduced to one or multiple Engine API end points, or a new Engine API end-point is introduced.
    3
    Multiple fields are introduced to one or multiple Engine API end points and a new Engine API end-point is introduced.
  • Engine API encoding changes · Checklist revision 1 only
    Engine API encoding changes (the revision-1 template defines no anchor text for this row).
  • Transition-tool interface changes
    Modifies or adds new fields to the transition tool interface.
    Score anchors
    0
    No modifications to the transition tool interface are required.
    1
    A single new field needs to be introduced to the transition tool interface.
    2
    Multiple new fields or a new mechanism has to be introduced to the transition tool interface.
    3
    Multiple new fields and a new mechanism has to be introduced to the transition tool interface.
    • Special consideration must be paid to this section if the EIP introduces a mechanism that requires the state transition tool to be aware whether the block it is processing is the fork-activation block.

Testing impact

Rework, new invariants, and new primitives required in the test framework.

  • Patterns affecting pre-existing tests
    Implements a new validation mechanism or rule that translates in reworking pre-existing tests
    Score anchors
    0
    No pre-existing tests are affected by this change.
    1
    Minor subset of existing tests are affected by this change.
    2
    Considerable subset of existing tests are affected by this change but involves only a contrived category of tests.
    3
    Major subset of existing tests are affected, including diverse category of tests (benchmarks, static, multiple forks, etc.).
  • New invariant on pre-existing tests · Checklist revision 2 only
    Tests that are **not about this EIP** must nonetheless assert something this EIP produces. Their logic does not change; they gain a new thing to check.
    Score anchors
    0
    Pre-existing tests assert nothing new.
    1
    A narrow, contrived category of pre-existing tests gains a new assertion.
    2
    A broad category gains a new assertion, applied mechanically.
    3
    Every test in the fork gains the assertion regardless of what it tests, and pre-fork vectors must be re-derived to satisfy it.
    • Paired with the row above, and easy to confuse with it. "Patterns affecting pre-existing tests" asks whether existing tests must be **reworked**; this row asks whether they must **additionally assert something new**. Score both — an EIP can be low on one and high on the other.
  • New test-framework primitives · Checklist revision 2 only
    Requires new abstractions in the test framework itself — expectation types, modifiers, helpers — beyond writing test functions with what already exists.
    Score anchors
    0
    Existing test primitives suffice.
    1
    Existing primitives need minor extension.
    2
    New expectation or modifier primitives are required, reusable within this EIP's own test suite.
    3
    New framework-level primitives are required that become a permanent part of the framework and are used by other EIPs' tests.

Risk and validation

Security, performance, boundary conditions, and cryptography that need validation.

  • Security risks
    Introduces or modifies mechanisms that could compromise the security of the chain, users, validators, or other stakeholders, if not implemented properly.
    Score anchors
    0
    No new mechanisms are introduced that could pose a security risk.
    1
    The introduced mechanisms are self-contained, can be validated in isolation, and do not alter existing invariants that could pose a security risk for any stakeholders.
    2
    The introduced mechanisms interact with a limited number of existing components, slightly altering their security assumptions and requiring a targeted security review or fuzzing.
    3
    The introduced mechanisms interact with multiple existing components, including critical ones, substantially altering their security assumptions and requiring an extensive security review and fuzzing.
  • Performance risks
    Introduces or modifies mechanisms and requires performance validation.
    Score anchors
    0
    No new mechanisms are introduced that require performance validation.
    1
    The introduced mechanisms can be benchmarked in isolation and do not affect existing performance behavior.
    2
    The introduced mechanisms cannot be fully benchmarked in isolation, but they only have a limited impact on the existing performance benchmarks.
    3
    The introduced mechanisms cannot be benchmarked in isolation and have a substantial impact on existing performance benchmarks or have complex interactions with existing mechanisms.
  • Edge/boundary conditions
    Feature contains edge/boundary conditions.
    Score anchors
    0
    No discernible edge cases or boundary conditions are introduced.
    1
    A single edge-case or boundary-condition prone mechanism is introduced.
    2
    Multiple edge-case or boundary-condition prone mechanisms are introduced, but none of them requires an elevated number of cases to test.
    3
    Multiple edge-case or boundary-condition prone mechanisms are introduced and at least one of them requires an elevated number of cases to test.
  • Cryptography
    Introduces new cryptography mechanisms or modifies existing functionality that involves cryptography
    Score anchors
    0
    No cryptography mechanisms are introduced.
    1
    A new cryptography mechanism is introduced but it is a well known mechanism that is known to have vast resources to aid on its testing.
    2
    Multiple new cryptography mechanisms are introduced that are well-known or a single but novel mechanism is introduced that is either untested or has limited resources.
    3
    Multiple new cryptography mechanisms are introduced and at least one of them is a novel mechanism.

Coordination

Cross-EIP interactions and behavior that clients must agree on before tests exist.

  • Cross-EIP interactions
    Introduces or modifies mechanisms that affect other EIPs in either the same or past forks.
    Score anchors
    0
    Fully self-contained EIP that does not depend on, modify, or conflict with any other EIP.
    1
    The EIP interacts with one or more other EIPs in a non-critical and limited way but can be tested independently for the most part.
    2
    The EIP depends on or modifies one or more other EIPs such that coordinated testing and consideration is required, but interactions are limited in scope and not complex.
    3
    The EIP has strong interdependencies with multiple EIPs, requiring extensive coordinated cross-EIP testing as well as potential re-design of existing test vectors.
    • +1 for every 3 additional interacting EIPs beyond the first 3, each of which requires its own coordinated test cases. List the EIPs in the rationale.
    • This row is intentionally uncapped, unlike every other anchor: each interacting EIP is another axis of the test matrix, so a ceiling would make a 12-EIP product indistinguishable from a 3-EIP one.
  • Unspecified behavior requiring cross-client consensus · Checklist revision 2 only
    The EIP text does not determine the answer for cases a test can construct. Clients must agree on a previously unspecified detail before tests can be baselined. The cost here is coordination and re-baselining, not test writing.
    Score anchors
    0
    The EIP text determines the answer for every case a test could construct.
    1
    A few details are unspecified but have an obvious intended reading.
    2
    Details require client agreement before tests can be written, but they are localized.
    3
    A previously unspecified *and previously unobservable* behavior becomes consensus-critical; expect tests to be re-baselined on each round of EIP amendment.
    • Score this from the EIP's state at assessment time: whether it has client implementations, whether it has been through a devnet, and how many open questions remain on its discussion thread.