Skip to content

State diff comparator #51

@poplexity

Description

@poplexity

Should compare all aspects of account and account state changes between tevm and revm.

  • Compare bytecode, currently reth seems to store it differently than tevm, possibly we can just use the code hash
  • Ensure rows from tevm have values which match in revm db
  • Ensure rows modified in revm are also reflected in tevm diffs
  • Properly account for removed rows from both sides
  • Ignore no-op changes from revm (code changes from None to Some(ZeroBytecode)
  • Properly account for accounts created in tevm using create and openwallet

Behavior when compare finds a difference should be configurable. One option would be a panic so the node shuts down, the other option would be to log a warning but proceed with sync.

If a difference is found, there should be verbose logging of the difference. This logging should include the block where the difference was found, the values from both tevm and revm side and any other information which would be valuable for debugging.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions