Skip to content

Prague support v16.0

Compare
Choose a tag to compare
@winsvega winsvega released this 26 Feb 11:03
· 32 commits to develop since this release

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