evstack / evstack/ev-node

EVM: Set FinalizedHash correctly in `forkChoiceUpdatedV3` call in ExecuteTxs

Open
#2,402 4 comments 0 reactions 0 assignees View on GitHub
C:evm T:code-hygiene
Dominant language
Go
Stars
361
Forks
280
Avg merge
2d 14h
Merged PRs (30d)
10

Description

In https://github.com/rollkit/rollkit/pull/2394, in order to have sequencer restarts work well, we modified the first call to `forkChoiceUpdatedV3` in the `ExecuteTxs` EVM implementation to assign the previous block hash to HeadBlockHash, SafeBlockHash, and FinalizedBlockHash.

We should revisit this and take one or more of the following approaches:
1. Set the FinalizedBlockHash based on the DA Included Height from the Rollkit Store. For the Head and Safe block hashes, use the Rollkit height which should be the same as the reth block height but it might be good to actually sanity check that on startup and set them in engineClient correctly on start.
2. Persist the current versions of head, safe, and finalizedBlockHashes somewhere so on restarts they can be loaded back easily.

The concrete consequences of setting finalizedHash incorrectly are unknown currently but it'll likely be at least an issue in indexers and block explorers showing inconsistent finalized block hashes for a small period of time.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.