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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions