reth_optimism_flashblocks/lib.rs
1//! A downstream integration of Flashblocks.
2
3pub use payload::{
4 ExecutionPayloadBaseV1, ExecutionPayloadFlashblockDeltaV1, FlashBlock, FlashBlockDecoder,
5 Metadata,
6};
7pub use service::{FlashBlockBuildInfo, FlashBlockService};
8pub use ws::{WsConnect, WsFlashBlockStream};
9
10mod consensus;
11pub use consensus::FlashBlockConsensusClient;
12mod payload;
13pub use payload::PendingFlashBlock;
14mod sequence;
15pub use sequence::FlashBlockCompleteSequence;
16
17mod service;
18mod worker;
19mod ws;
20
21/// Receiver of the most recent [`PendingFlashBlock`] built out of [`FlashBlock`]s.
22///
23/// [`FlashBlock`]: crate::FlashBlock
24pub type PendingBlockRx<N> = tokio::sync::watch::Receiver<Option<PendingFlashBlock<N>>>;
25
26/// Receiver of the sequences of [`FlashBlock`]s built.
27///
28/// [`FlashBlock`]: crate::FlashBlock
29pub type FlashBlockCompleteSequenceRx =
30 tokio::sync::broadcast::Receiver<FlashBlockCompleteSequence>;
31
32/// Receiver that signals whether a [`FlashBlock`] is currently being built.
33pub type InProgressFlashBlockRx = tokio::sync::watch::Receiver<Option<FlashBlockBuildInfo>>;