pub struct RollupConfig {Show 19 fields
pub genesis: ChainGenesis,
pub block_time: u64,
pub max_sequencer_drift: u64,
pub seq_window_size: u64,
pub channel_timeout: u64,
pub granite_channel_timeout: u64,
pub l1_chain_id: u64,
pub l2_chain_id: u64,
pub hardforks: HardForkConfig,
pub batch_inbox_address: Address,
pub deposit_contract_address: Address,
pub l1_system_config_address: Address,
pub protocol_versions_address: Address,
pub superchain_config_address: Option<Address>,
pub blobs_enabled_l1_timestamp: Option<u64>,
pub da_challenge_address: Option<Address>,
pub interop_message_expiry_window: u64,
pub alt_da_config: Option<AltDAConfig>,
pub chain_op_config: BaseFeeConfig,
}Expand description
The Rollup configuration.
Fields§
§genesis: ChainGenesisThe genesis state of the rollup.
block_time: u64The block time of the L2, in seconds.
max_sequencer_drift: u64Sequencer batches may not be more than MaxSequencerDrift seconds after the L1 timestamp of the sequencing window end.
Note: When L1 has many 1 second consecutive blocks, and L2 grows at fixed 2 seconds, the L2 time may still grow beyond this difference.
Note: After the Fjord hardfork, this value becomes a constant of 1800.
seq_window_size: u64The sequencer window size.
channel_timeout: u64Number of L1 blocks between when a channel can be opened and when it can be closed.
granite_channel_timeout: u64The channel timeout after the Granite hardfork.
l1_chain_id: u64The L1 chain ID
l2_chain_id: u64The L2 chain ID
hardforks: HardForkConfigHardfork timestamps.
batch_inbox_address: Addressbatch_inbox_address is the L1 address that batches are sent to.
deposit_contract_address: Addressdeposit_contract_address is the L1 address that deposits are sent to.
l1_system_config_address: Addressl1_system_config_address is the L1 address that the system config is stored at.
protocol_versions_address: Addressprotocol_versions_address is the L1 address that the protocol versions are stored at.
superchain_config_address: Option<Address>The superchain config address.
blobs_enabled_l1_timestamp: Option<u64>blobs_enabled_l1_timestamp is the timestamp to start reading blobs as a batch data
source. Optional.
da_challenge_address: Option<Address>da_challenge_address is the L1 address that the data availability challenge contract is
stored at.
interop_message_expiry_window: u64interop_message_expiry_window is the maximum time (in seconds) that an initiating message
can be referenced on a remote chain before it expires.
alt_da_config: Option<AltDAConfig>alt_da_config is the chain-specific DA config for the rollup.
chain_op_config: BaseFeeConfigchain_op_config is the chain-specific EIP1559 config for the rollup.
Implementations§
Source§impl RollupConfig
impl RollupConfig
Sourcepub fn is_regolith_active(&self, timestamp: u64) -> bool
pub fn is_regolith_active(&self, timestamp: u64) -> bool
Returns true if Regolith is active at the given timestamp.
Sourcepub fn is_canyon_active(&self, timestamp: u64) -> bool
pub fn is_canyon_active(&self, timestamp: u64) -> bool
Returns true if Canyon is active at the given timestamp.
Sourcepub fn is_delta_active(&self, timestamp: u64) -> bool
pub fn is_delta_active(&self, timestamp: u64) -> bool
Returns true if Delta is active at the given timestamp.
Sourcepub fn is_ecotone_active(&self, timestamp: u64) -> bool
pub fn is_ecotone_active(&self, timestamp: u64) -> bool
Returns true if Ecotone is active at the given timestamp.
Sourcepub fn is_fjord_active(&self, timestamp: u64) -> bool
pub fn is_fjord_active(&self, timestamp: u64) -> bool
Returns true if Fjord is active at the given timestamp.
Sourcepub fn is_granite_active(&self, timestamp: u64) -> bool
pub fn is_granite_active(&self, timestamp: u64) -> bool
Returns true if Granite is active at the given timestamp.
Sourcepub fn is_holocene_active(&self, timestamp: u64) -> bool
pub fn is_holocene_active(&self, timestamp: u64) -> bool
Returns true if Holocene is active at the given timestamp.
Sourcepub fn is_pectra_blob_schedule_active(&self, timestamp: u64) -> bool
pub fn is_pectra_blob_schedule_active(&self, timestamp: u64) -> bool
Returns true if the pectra blob schedule is active at the given timestamp.
Sourcepub fn is_isthmus_active(&self, timestamp: u64) -> bool
pub fn is_isthmus_active(&self, timestamp: u64) -> bool
Returns true if Isthmus is active at the given timestamp.
Sourcepub fn is_interop_active(&self, timestamp: u64) -> bool
pub fn is_interop_active(&self, timestamp: u64) -> bool
Returns true if Interop is active at the given timestamp.
Sourcepub fn is_alt_da_enabled(&self) -> bool
pub fn is_alt_da_enabled(&self) -> bool
Returns true if a DA Challenge proxy Address is provided in the rollup config and the address is not zero.
Sourcepub fn max_sequencer_drift(&self, timestamp: u64) -> u64
pub fn max_sequencer_drift(&self, timestamp: u64) -> u64
Returns the max sequencer drift for the given timestamp.
Sourcepub fn max_rlp_bytes_per_channel(&self, timestamp: u64) -> u64
pub fn max_rlp_bytes_per_channel(&self, timestamp: u64) -> u64
Returns the max rlp bytes per channel for the given timestamp.
Sourcepub fn channel_timeout(&self, timestamp: u64) -> u64
pub fn channel_timeout(&self, timestamp: u64) -> u64
Returns the channel timeout for the given timestamp.
Sourcepub const fn hardfork_config(&self) -> HardForkConfig
👎Deprecated since 0.1.0: Use the hardforks field instead.
pub const fn hardfork_config(&self) -> HardForkConfig
hardforks field instead.Returns the HardForkConfig using RollupConfig timestamps.
Trait Implementations§
Source§impl Clone for RollupConfig
impl Clone for RollupConfig
Source§fn clone(&self) -> RollupConfig
fn clone(&self) -> RollupConfig
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RollupConfig
impl Debug for RollupConfig
Source§impl Default for RollupConfig
impl Default for RollupConfig
Source§fn default() -> RollupConfig
fn default() -> RollupConfig
Source§impl<'de> Deserialize<'de> for RollupConfig
impl<'de> Deserialize<'de> for RollupConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RollupConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RollupConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RollupConfig
impl PartialEq for RollupConfig
Source§impl Serialize for RollupConfig
impl Serialize for RollupConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for RollupConfig
impl StructuralPartialEq for RollupConfig
Auto Trait Implementations§
impl Freeze for RollupConfig
impl RefUnwindSafe for RollupConfig
impl Send for RollupConfig
impl Sync for RollupConfig
impl Unpin for RollupConfig
impl UnwindSafe for RollupConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more