Skip to content

feat(optimism): Add FlashBlockService that builds blocks from FlashBlocks#18009

Merged
RomanHodulak merged 9 commits intomainfrom
reth-flashblocks-service
Aug 25, 2025
Merged

feat(optimism): Add FlashBlockService that builds blocks from FlashBlocks#18009
RomanHodulak merged 9 commits intomainfrom
reth-flashblocks-service

Conversation

@RomanHodulak
Copy link
Contributor

@RomanHodulak RomanHodulak commented Aug 22, 2025

Part of #17858

Adds a service that receives FlashBlocks and builds ExecutedBlocks.

The add_flash_block part of the implementation implements the FlashBlocks accumulation logic inspired by the base/node-reth.

Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some suggestions but I like the direction

@github-project-automation github-project-automation bot moved this from Backlog to In Progress in Reth Tracker Aug 22, 2025
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from 89d336a to cd5b3ea Compare August 22, 2025 16:29
@RomanHodulak RomanHodulak requested a review from mattsse August 22, 2025 16:31
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from cd5b3ea to 8f38a1d Compare August 22, 2025 16:44
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from 7330dba to c0360b4 Compare August 22, 2025 16:57
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from 12565cd to ca1219f Compare August 22, 2025 17:53
Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a few more nits

match this.rx.poll_next_unpin(cx) {
Poll::Ready(Some(flashblock)) => this.add_flash_block(flashblock),
Poll::Ready(None) => return Poll::Ready(None),
Poll::Pending => return Poll::Ready(Some(this.execute())),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how this part will actually work we'll need to figure out we actually wire this to the rpc part, so make this doesn't need to be a stream entirely and could manage the pending block internally entirely

but we can figure this part out later

@mattsse mattsse added A-rpc Related to the RPC implementation A-op-reth Related to Optimism and op-reth labels Aug 25, 2025
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from 943816d to e9e3d22 Compare August 25, 2025 13:23
@RomanHodulak RomanHodulak force-pushed the reth-flashblocks-service branch from 6c0217d to 7289ccb Compare August 25, 2025 13:33
@RomanHodulak RomanHodulak requested a review from mattsse August 25, 2025 13:33
@mattsse mattsse added the A-sdk Related to reth's use as a library label Aug 25, 2025
Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm,

we can do fine tuning as followups

@RomanHodulak RomanHodulak added this pull request to the merge queue Aug 25, 2025
Merged via the queue into main with commit 23cfd1b Aug 25, 2025
41 checks passed
@RomanHodulak RomanHodulak deleted the reth-flashblocks-service branch August 25, 2025 15:31
@github-project-automation github-project-automation bot moved this from In Progress to Done in Reth Tracker Aug 25, 2025
lwedge99 pushed a commit to sentioxyz/reth that referenced this pull request Sep 16, 2025
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Jan 22, 2026
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-op-reth Related to Optimism and op-reth A-rpc Related to the RPC implementation A-sdk Related to reth's use as a library

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants