- name
- assess-eip
- description
- Assess an EIP's implementation complexity and scope.
# Assess EIP
Structured assessment of EIP implementation complexity. When invoked with an EIP number or description, perform the following analysis.
## 1. Classify the Change Type(s)
- **New opcode** — requires: `vm/instructions/`, gas cost, `op_implementation` registration
- **New precompile** — requires: `vm/precompiled_contracts/`, address constant, mapping, gas cost
- **New transaction type** — requires: `transactions.py`, `fork.py` validation, exception types
- **System contract** — requires: contract deployment in genesis, state handling
- **Block header/body field** — requires: `blocks.py`, RLP encoding changes
- **Gas cost change** — requires: `vm/gas.py` constant updates, possibly interpreter changes
- **Execution layer request** — requires: request handling in `requests.py`
- **Constraint change** — requires: validation logic in `fork.py` or `blocks.py`
## 2. Estimate Scope
- **Small** (1-2 files in spec, 1 test file): gas repricing, simple constraint
- **Medium** (3-5 files in spec, 2-3 test files): new opcode, new precompile
- **Large** (5-10 files in spec, 5+ test files): new tx type, new system contract
- **XL** (10+ files, multi-EIP umbrella): VM overhaul (e.g., EOF)
## 3. Identify Required Test Categories
Map the change types to the relevant `EIPChecklist` categories (from `execution_testing.checklists.eip_checklist`). List the checklist items that need to be covered.
## 4. Identify Prior Art
Find similar completed EIPs in the repo to use as implementation reference:
- New opcode → check recent opcode additions in latest fork's `vm/instructions/`
- New precompile → `tests/osaka/eip7951_p256verify_precompiles/`
- New tx type → `tests/prague/eip7702_set_code_tx/`
- Gas changes → check `vm/gas.py` diffs between recent forks
## 5. Output Structured Assessment
Produce a summary with:
- Change types identified
- Estimated scope (Small / Medium / Large / XL)
- Spec files to modify (with paths)
- Test files to create
- EIPChecklist categories to cover
- Reference implementations to follow
Ver en GitHub