diff --git a/crates/derive/src/online/mod.rs b/crates/derive/src/online/mod.rs index 5c4fdc90..03cc0dea 100644 --- a/crates/derive/src/online/mod.rs +++ b/crates/derive/src/online/mod.rs @@ -3,15 +3,35 @@ use crate::{ stages::{ AttributesQueue, BatchQueue, ChannelBank, ChannelReader, FrameQueue, L1Retrieval, - L1Traversal, NextAttributes, StatefulAttributesBuilder, + L1Traversal, StatefulAttributesBuilder, }, - traits::{DataAvailabilityProvider, ResettableStage}, + traits::DataAvailabilityProvider, types::RollupConfig, }; use alloc::sync::Arc; use alloy_provider::ReqwestProvider; use core::fmt::Debug; +/// An `online` payload attributes builder for the `AttributesQueue` stage of the derivation +/// pipeline. +pub type OnlineAttributesBuilder = StatefulAttributesBuilder< + AlloyChainProvider, + AlloyL2ChainProvider, +>; + +/// An `online` attributes queue for the derivation pipeline. +pub type OnlineAttributesQueue = AttributesQueue< + BatchQueue< + ChannelReader< + ChannelBank< + FrameQueue>>>, + >, + >, + AlloyL2ChainProvider, + >, + OnlineAttributesBuilder, +>; + /// Creates a new online stack. #[cfg(feature = "online")] pub fn new_online_stack( @@ -19,11 +39,8 @@ pub fn new_online_stack( chain_provider: AlloyChainProvider, dap_source: DAP, fetcher: AlloyL2ChainProvider, - builder: StatefulAttributesBuilder< - AlloyChainProvider, - AlloyL2ChainProvider, - >, -) -> impl NextAttributes + ResettableStage + Debug + Send + builder: OnlineAttributesBuilder, +) -> OnlineAttributesQueue where DAP: DataAvailabilityProvider + Debug + Send, {