London update 9.0.0: EIP1559
The recent tests changes:
Merge PRs with London EIP1559 tests.
Update test format to support EIP1559 transaction format (+change in test RPC json object)
Regenerate all tests using London rules.
Announcement
The test process diagram: http://tinyurl.com/2ctak8yn
Reminder of a brand new web interface for test debugging: http://retesteth.ethdevops.io/web/
Tests stats on latest builds: http://retesteth.ethdevops.io/
(implement test RPC support or t8ntool protocol to apply for the page. https://ethereum-tests.readthedocs.io/en/latest/t8ntool-ref.html)
Previous release link: https://github.com/ethereum/tests/releases/tag/8.0.5
Test format
State Tests
Treat legacy blockheader as 1559 with baseFee 10 on London
Tests are recalculated with transaction gasPrice set to 10
Blockchain Tests
Tests are recalculated with transaction gasPrice set to 1000
Tests with gasPrice 0 are not included in London (as minimum baseFee is 7)
State Tests | BlockchainTests | TransitionTests
- the env section now could have
currentBaseFee: 0x3B9ACA00
indicating a eip1559 genesis.
- transaction section eip1559 support could now have
maxFeePerGas: '0x12A05F200' maxPriorityFeePerGas: '2'
instead of
gasPrice
PR example: #826
BlockchainTests | TransitionTests
- the blockHeader now could have
baseFee: 0x3B9ACA00
indicating a eip1559 block.
In blockchain fillers blocks section, the blockHeader (overwrite) section has a new field"blockHeader" : { "gasLimit" : "600000", "remove" : [ "baseFee" ] },
"remove" that indicates an array of fields to be removed from the client returned structure. making it possible to switch mined block into legacy and eip1559 back and forth. see transition test example.
Test Regeneration
Update all:
Regenerate all tests using London rules.
Treat legacy blockheader as 1559 with baseFee 10 on London rules
GStateTests transaction gasPrice set to 10
BCTests transaction gasPrice set to 1000
PR #857
-
EIP1559 coverage
Blockchain tests, gasTarget, gasPrice, transaction rules
PR #837 -
EIP1559 tests example
PR #826 -
EIP 3541 coverage
Check that contracts creation starting with 0xef is rejected
PR #835
PR #852 -
Enable BaseFee opcode support check in all opcodes test
PR #841 -
EIP 3529 additional coverage
refund gas reduction
PR #850
Upcoming changes:
Deprecate "transaction" section in filled GeneralStateTests #828
London EIP tests
Besu retesteth RPC support (web vmtracing support)
Move legacy tests into separate repo (too much space used)
OE wrapper support on retesteth.ethdevops.io. FAILED