Skip to content

Commit efd4a2d

Browse files
committed
Add some IDs
1 parent e2dc4ae commit efd4a2d

File tree

1 file changed

+40
-39
lines changed

1 file changed

+40
-39
lines changed

docs/checklist_templates/eip_testing_checklist_template.md

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,26 @@ Depending on the changes introduced by an EIP, the following template is the min
1010
- [ ] Fuzzing
1111
- [ ] TBD
1212

13-
## New Opcode
13+
## <!-- id:new_opcode --> New Opcode
1414

1515
The EIP introduces one or more new opcodes to the EVM.
1616

17-
### Test Vectors
18-
19-
- [ ] Memory expansion
20-
- [ ] Verify that the opcode execution results in the correct memory expansion, being by offset or size or interaction of both parameters (Size of zero should never result in memory expansion, regardless of offset value). Test at least the following memory expansion sizes
21-
- [ ] Zero bytes expansion
22-
- [ ] Single byte expansion
23-
- [ ] 31 bytes expansion
24-
- [ ] 32 bytes expansion
25-
- [ ] 33 bytes expansion
26-
- [ ] 64 bytes expansion
27-
- [ ] 2**32-1 bytes expansion
28-
- [ ] 2**32 bytes expansion
29-
- [ ] 2**64-1 bytes expansion
30-
- [ ] 2**64 bytes expansion
31-
- [ ] 2**256-1 bytes expansion
17+
### <!-- id:new_opcode/test --> Test Vectors
18+
19+
- [ ] <!-- id:new_opcode/test/mem_exp --> Memory expansion: Verify that the opcode execution results in the correct memory expansion, being by offset or size or interaction of both parameters (Size of zero should never result in memory expansion, regardless of offset value). Test at least the following memory expansion sizes:
20+
- [ ] <!-- id:new_opcode/test/mem_exp/zero_bytes --> Zero bytes expansion
21+
- [ ] <!-- id:new_opcode/test/mem_exp/zero_bytes/zero_offset --> Zero-offset
22+
- [ ] <!-- id:new_opcode/test/mem_exp/zero_bytes/2_256_minus_one_offset --> 2**256-1 offset
23+
- [ ] Single byte expansion
24+
- [ ] 31 bytes expansion
25+
- [ ] 32 bytes expansion
26+
- [ ] 33 bytes expansion
27+
- [ ] 64 bytes expansion
28+
- [ ] 2**32-1 bytes expansion
29+
- [ ] 2**32 bytes expansion
30+
- [ ] 2**64-1 bytes expansion
31+
- [ ] 2**64 bytes expansion
32+
- [ ] 2**256-1 bytes expansion
3233
- [ ] Stack
3334
- [ ] Overflows/Underflows
3435
- [ ] If the opcode pushes one or more items to the stack, and the opcode pushes more elements than it pops, verify that the opcode execution results in exeptional abort when pushing elements to the stack would result in the stack having more than 1024 elements.
@@ -97,14 +98,14 @@ The EIP introduces one or more new opcodes to the EVM.
9798
- [ ] Verify that the opcode results in invalid EOF container if attempted to deploy before its activation fork.
9899
- [ ] Verify correct opcode behavior at transition block, in the case of opcodes which behavior depends on current or parent block information.
99100

100-
### Framework Changes
101+
### <!-- id:new_opcode/framework --> Framework Changes
101102

102-
- [ ] Add opcode to `src/ethereum_test_vm/opcode.py`
103-
- [ ] Add opcode to relevant methods in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
103+
- [ ] <!-- id:new_opcode/framework/opcode.py --> Add opcode to `src/ethereum_test_vm/opcode.py`
104+
- [ ] <!-- id:new_opcode/framework/forks.py --> Add opcode to relevant methods in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
104105

105-
## New Precompile
106+
## <!-- id:new_precompile --> New Precompile
106107

107-
### Test Vectors
108+
### <!-- id:new_precompile/test --> Test Vectors
108109

109110
- [ ] Call contexts
110111
- [ ] Normal call to precompile from contract
@@ -151,13 +152,13 @@ The EIP introduces one or more new opcodes to the EVM.
151152
- [ ] Verify precompile address becomes warm on and after the fork activation block, but not prior.
152153

153154

154-
### Framework Changes
155+
### <!-- id:new_precompile/framework --> Framework Changes
155156

156157
- [ ] Add precompile address to relevant methods in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
157158

158-
## New System Contract
159+
## <!-- id:new_system_contract --> New System Contract
159160

160-
### Test Vectors
161+
### <!-- id:new_system_contract/test --> Test Vectors
161162

162163
- [ ] Call contexts
163164
- [ ] Normal call to system contract from contract
@@ -202,14 +203,14 @@ The EIP introduces one or more new opcodes to the EVM.
202203
- [ ] Fork transition
203204
- [ ] Verify calling the system contract before its activation fork results in correct behavior (depends on the system contract implementation).
204205

205-
### Framework Changes
206+
### <!-- id:new_system_contract_framework --> Framework Changes
206207

207208
- [ ] Add system contract address to relevant methods in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
208209
- [ ] Add system contract bytecode to the returned value of `pre_allocation_blockchain` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
209210

210-
## New Transaction Type
211+
## <!-- id:new_transaction_type --> New Transaction Type
211212

212-
### Test Vectors
213+
### <!-- id:new_transaction_type/test --> Test Vectors
213214

214215
- [ ] Intrinsic Validity
215216
- [ ] Gas Limit: For each new field that affects the intrinsic gas cost of the transaction:
@@ -289,15 +290,15 @@ The EIP introduces one or more new opcodes to the EVM.
289290

290291
* Tests must be added to [`execution-apis`](https://github.com/ethereum/execution-apis) repository.
291292

292-
### Framework Changes
293+
### <!-- id:new_transaction_type/framework --> Framework Changes
293294

294295
- [ ] Modify `transaction_intrinsic_cost_calculator` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`, adding the appropriate new fields that the transaction introduced and the logic to the intrinsic gas cost calculation, if any.
295296
- [ ] Add the transaction type number to `tx_types` response in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py` (If applicable add also to `contract_creating_tx_types`).
296297

297298

298-
## New Block Header Field
299+
## <!-- id:new_block_header_field --> New Block Header Field
299300

300-
### Test Vectors
301+
### <!-- id:new_block_header_field/test --> Test Vectors
301302

302303
- [ ] Genesis value
303304
- [ ] Verify, if possible, that the value can be set at genesis if the network starting fork is the activation fork, and that clients can consume such genesis.
@@ -310,11 +311,11 @@ The EIP introduces one or more new opcodes to the EVM.
310311
- [ ] Verify that a block lacking the new header field at the activation of the fork is invalid.
311312

312313

313-
### Framework Changes
314+
### <!-- id:new_block_header/framework --> Framework Changes
314315

315316
**TBD**
316317

317-
## New Block Body Field
318+
## <!-- id:new_block_body_field --> New Block Body Field
318319

319320
### Test Vectors
320321

@@ -324,7 +325,7 @@ The EIP introduces one or more new opcodes to the EVM.
324325

325326
**TBD**
326327

327-
## Gas Cost Changes
328+
## <!-- id:gas_cost_changes --> Gas Cost Changes
328329

329330
### Test Vectors
330331

@@ -337,23 +338,23 @@ The EIP introduces one or more new opcodes to the EVM.
337338
- [ ] Modify `memory_expansion_gas_calculator` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py` if the EIP affects memory expansion gas cost calculation.
338339
- [ ] Modify `gas_costs` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py` if the EIP affects specific opcode gas costs.
339340

340-
## Blob Count Changes
341+
## <!-- id:blob_count_changes --> Blob Count Changes
341342

342-
### Test Vectors
343+
### <!-- id:blob_count_changes_test --> Test Vectors
343344

344345
- [ ] Verify tests in `tests/cancun/eip4844_blobs` were correctly and automatically updated to take into account the new blob count values at the new fork activation block.
345346

346-
### Framework Changes
347+
### <!-- id:blob_count_changes_framework --> Framework Changes
347348

348349
- [ ] Modify `blob_base_fee_update_fraction`, `target_blobs_per_block`, `max_blobs_per_block` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py` if the EIP affects any of the values returned by each function.
349350

350-
## New Execution Layer Request
351+
## <!-- id:new_execution_layer_request --> New Execution Layer Request
351352

352-
### Test Vectors
353+
### <!-- id:new_execution_layer_request_test --> Test Vectors
353354

354355
- [ ] Cross-Request-Type Interaction
355356
- [ ] Update `tests/prague/eip7685_general_purpose_el_requests` tests to include the new request type in the tests combinations
356357

357-
### Framework Changes
358+
### <!-- id:new_execution_layer_request_framework --> Framework Changes
358359

359360
- [ ] Increment `max_request_type` in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py` to the new maximum request type number after the EIP is activated.

0 commit comments

Comments
 (0)