Skip to content

Tests update 11: Merge PoS

Compare
Choose a tag to compare
@winsvega winsvega released this 13 Jul 13:16
· 576 commits to develop since this release

The recent tests changes:

Regenerate all tests using PoS evm rules
Gray Glacier (EIP-5133) Difficulty Bomb tests
PoW to PoS transition tests (BlockchainTests/TransitionTests/bcArrowGlacierToMerge)

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/v10.4

Test format

Support "Merge" forkname for PoS block headers.
Support "ArrowGlacierToMergeAtDiffC0000" forkname for bc transition tests.
Old blocks headers/env are auto-corrected to PoS format when filling old tests in Merge mode.
(difficulty becomes 0x00, mixHash becomes the existed difficulty value)

Tests Fillers

        "currentRandom: 0x1500000000000000000000000000000000000000000000000000000000000000"

New field support in state tests env section, indicating random for PoS block. (both fillers and filled state tests)

GeneralStateTests/BlockchainTests Filled

            "difficulty" : "0x00"

must be defined to 0x00 in blockHeader, so that block is recognized as PoS block.

Test Regeneration

Update all:
PR #1045
PR #1030

  • Documentation
    PR #1036
    PR #1038
    PR #1046
    PR #1048
    PR #1053

  • Gray Glacier (EIP-5133) Difficulty Bomb tests
    PR #1043

  • Merge tests example
    PR #1019

  • Quick fix for test names
    PR #1035

  • Unit tests for env section correction (retesteth only)
    PR #1034

  • Update blockchain tests to Merge PoS
    PR #1049
    PR #1047
    PR #1045 (regenerate all)
    PR #1052 (allow incorrect timestamp)
    PR #1058 (revoke incorrect timestamp)

Upcoming changes:

Implement more PoS/Merge tests
Implement malicious rlp tests in StateTest or BlockchainTest format (need more debugging with t8n)
Besu retesteth RPC support (web vmtracing support)
Random state test script