Skip to content

Comments

Update database and block replayer to handle payload envelopes#8886

Open
michaelsproul wants to merge 6 commits intosigp:unstablefrom
michaelsproul:gloas-replay-blocks
Open

Update database and block replayer to handle payload envelopes#8886
michaelsproul wants to merge 6 commits intosigp:unstablefrom
michaelsproul:gloas-replay-blocks

Conversation

@michaelsproul
Copy link
Member

@michaelsproul michaelsproul commented Feb 23, 2026

Issue Addressed

Closes:

Proposed Changes

  • Update BlockReplayer to support replay of execution payload envelopes.
  • Update HotColdDB to load payload envelopes and feed them to the BlockReplayer for both hot + cold states.
  • Add StatePayloadStatus to allow callers to specify whether they want a state with a payload applied, or not.

Additional Info

Still need to thread StatePayloadStatus through some of the get_state methods. Will look at this tomorrow and try to minimise the number of APIs changed.

We need to decide how to handle the last payload when replaying. For intermediate payloads we are leaning hard on is_parent_block_full, but for the last block in the chain we do not know its child to determine if it is full. We probably need the caller of the block replayer to specify whether they want/expect to replay the payload for the last block in the chain.

Testing this PR is a little tricky, because block production in the test harness isn't implemented yet (see #8844). It's slightly circular, where we can't test until we have the feature implemented, but we would also ideally like to test the feature before merging it. I think it might be OK to merge this PR first untested, then layer on a second PR (possibly #8844) for the test harness updates. Some of those updates were also made in: #8878.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant