Prague support v16.0
The recent tests changes:
Generate all ethereum/tests on Prague devnet 6 using evmone t8n https://github.com/ethereum/evmone/releases/tag/v0.14.0
From now on there would be no new test vectors in this repository and existing ones will slowly be converted into https://github.com/ethereum/execution-spec-tests.
NOTE: Pyspecs doesn't cover all the vectors from this repo, but has many new vectors that are not covered in ethereum/tests
Eventually there will be only ethereum/legacytests repo with all .json tests from Frontier to Cancun.
And ethereum/execution-spec-tests will handle all the official ethereum testing vectors for all the froks.
Announcement
New docker instructions for all t8n supported clients: https://github.com/ethereum/retesteth/tree/develop#docker-instructions
The test process diagram: https://tinyurl.com/y525ezs7
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/v15.0
Test format
Tests Fillers
GeneralStateTests/BlockchainTests Filled
new field in filled state tests/blockchain test:
"config" : {
"blobSchedule" : {
"Cancun" : {
"baseFeeUpdateFraction" : "0x32f0ed",
"max" : "0x06",
"target" : "0x03"
},
"Prague" : {
"baseFeeUpdateFraction" : "0x4c6964",
"max" : "0x09",
"target" : "0x06"
}
},
"chainid" : "0x01"
},
contains Cancun or Prague or both or none schedules depending if test is filled with this forks.
in blockchain test this config field contains also network field
new field in filled state tests:
"post" : {
"Cancun" : [
{
"hash" : ...,
"indexes" : ...,
"logs" : ...,
"state" : {
`post state after transaction execution`
}
...
}
}
basically exports the post state in each test. following the new test format.
On blockchain tests a system block history address inserted into the pre state according to Prague rules.
Test Regeneration
Update all:
-
Refill using Prague:
PR #1416 -
Documentation
TESTS
Converted to python Tests
-
delete converted EOF prefix tests
PR #1450 -
delete converted EOF "no type section" tests
PR #1445 -
delete covered tests for DUPN, SWAPN, EXCHANGE
PR #1453 -
delete converted EOF "multiple type sections" tests
PR #1452 -
delete converted EOF "no code section" tests
PR #1451 -
delete converted EOF RJUMP tests
PR #1455 -
delete converted EOFCREATE validation tests
PR #1454 -
delete converted EOF RJUMPI tests
PR #1457 -
Remove migrated ID Precompile tests
PR #1444
Cosmetic
Upcoming changes:
Convert .json .yml yo .py
Pyspecs filling support