Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull in new L1 blocks from client state in block assembly #132

Closed
delbonis opened this issue Jul 15, 2024 · 1 comment · Fixed by #116
Closed

Pull in new L1 blocks from client state in block assembly #132

delbonis opened this issue Jul 15, 2024 · 1 comment · Fixed by #116
Assignees
Labels
consensus Consensus-critical, high-sensitivity required enhancement New feature or request

Comments

@delbonis
Copy link
Contributor

When producing a new block we need to include new L1 blocks that we have that aren't present in the chainstate's maturation queue. We should take any blocks ahead of the current chainstate in our client state and include them in the block body to extend the maturation queue (and possibly trigger maturation of deeply buried blocks). This implementation should be fairly modularized so we can compute at a glance based on the chainstate and client state which blocks will be included and which blocks will be matured as a result (so we can prepare prover resources, etc.). This may also include extending the client state to explicitly track these local blocks.

The most important part is that this logic should check for and handle reorgs, ie when we have blocks locally that would reorg immature blocks in the chainstate. This is the harder part, since it requires having some very basic PoW checking in chainstate computing the accumulated work differential.

Don't concern ourselves too much with the contents of the blocks, like the DA proofs and deposit state update txs. That can all fit into this system when we work on those components.

@delbonis delbonis added enhancement New feature or request consensus Consensus-critical, high-sensitivity required labels Jul 15, 2024
@bewakes bewakes assigned bewakes and unassigned bewakes Jul 17, 2024
@john-light
Copy link
Contributor

Should have this merged by end of current sprint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus Consensus-critical, high-sensitivity required enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants