You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/checklist_templates/eip_testing_checklist_template.md
+40-39Lines changed: 40 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -10,25 +10,26 @@ Depending on the changes introduced by an EIP, the following template is the min
10
10
-[ ] Fuzzing
11
11
-[ ] TBD
12
12
13
-
## New Opcode
13
+
## <!-- id:new_opcode -->New Opcode
14
14
15
15
The EIP introduces one or more new opcodes to the EVM.
16
16
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
- [] 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.
97
98
-[ ] Verify that the opcode results in invalid EOF container if attempted to deploy before its activation fork.
98
99
-[ ] Verify correct opcode behavior at transition block, in the case of opcodes which behavior depends on current or parent block information.
-[ ] 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`
104
105
105
-
## New Precompile
106
+
## <!-- id:new_precompile -->New Precompile
106
107
107
-
### Test Vectors
108
+
### <!-- id:new_precompile/test -->Test Vectors
108
109
109
110
-[ ] Call contexts
110
111
-[ ] Normal call to precompile from contract
@@ -151,13 +152,13 @@ The EIP introduces one or more new opcodes to the EVM.
151
152
-[ ] Verify precompile address becomes warm on and after the fork activation block, but not prior.
-[ ] Add system contract address to relevant methods in the fork where the EIP is introduced in `src/ethereum_test_forks/forks/forks.py`
208
209
-[ ] 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`
209
210
210
-
## New Transaction Type
211
+
## <!-- id:new_transaction_type -->New Transaction Type
-[ ] 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.
295
296
-[ ] 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`).
296
297
297
298
298
-
## New Block Header Field
299
+
## <!-- id:new_block_header_field -->New Block Header Field
-[ ] 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.
310
311
-[ ] Verify that a block lacking the new header field at the activation of the fork is invalid.
## <!-- id:new_block_body_field -->New Block Body Field
318
319
319
320
### Test Vectors
320
321
@@ -324,7 +325,7 @@ The EIP introduces one or more new opcodes to the EVM.
324
325
325
326
**TBD**
326
327
327
-
## Gas Cost Changes
328
+
## <!-- id:gas_cost_changes -->Gas Cost Changes
328
329
329
330
### Test Vectors
330
331
@@ -337,23 +338,23 @@ The EIP introduces one or more new opcodes to the EVM.
337
338
-[ ] 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.
338
339
-[ ] 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.
-[ ] 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.
-[ ] 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.
-[ ] 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