Skip to content

revme statetest doesn't check post-state root hash in all tests #3270

@chfast

Description

@chfast

Expected behaviour

revme statetest should fail a state test having an invalid transaction and post-state root hash mismatch.

Actual behaviour

revme statetest correctly computes the post-state root hash of a state test with invalid transaction but doesn't check it against the test expected value.

Steps to reproduce the behaviour

  1. Example of such test: https://github.com/ethereum/legacytests/blob/master/Cancun/GeneralStateTests/stTransactionTest/HighGasPrice.json
  2. revme statetest --json Cancun/GeneralStateTests/stTransactionTest/HighGasPrice.json

Output

Running tests in Cancun/GeneralStateTests/stTransactionTest/HighGasPrice.json...
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"FRONTIER","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"HOMESTEAD","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"TANGERINE","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"SPURIOUS_DRAGON","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"BYZANTIUM","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"PETERSBURG","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"ISTANBUL","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"BERLIN","test":"HighGasPrice","d":0,"g":0,"v":0}
{"stateRoot":"0x1751725d1aad5298768fbcf64069b2c1b85aeaffcc561146067d6beedd08052a","logsRoot":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","output":"0x","gasUsed":0,"pass":true,"errorMsg":"","evmResult":"transaction validation error: overflow payment in transaction","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","fork":"LONDON","test":"HighGasPrice","d":0,"g":0,"v":0}
███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 1/1Finished execution. Total CPU time: 0.000078s
All tests passed!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions