In #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:
- 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.
- 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.
In #2394, in order to have sequencer restarts work well, we modified the first call to
forkChoiceUpdatedV3in theExecuteTxsEVM 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:
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.