pub struct RollupConfig {Show 24 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 base_fee_params: BaseFeeParams,
pub canyon_base_fee_params: BaseFeeParams,
pub regolith_time: Option<u64>,
pub canyon_time: Option<u64>,
pub delta_time: Option<u64>,
pub ecotone_time: Option<u64>,
pub fjord_time: Option<u64>,
pub granite_time: Option<u64>,
pub holocene_time: Option<u64>,
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>,
}
Expand description
The Rollup configuration.
Fields§
§genesis: ChainGenesis
The genesis state of the rollup.
block_time: u64
The block time of the L2, in seconds.
max_sequencer_drift: u64
Sequencer 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: u64
The sequencer window size.
channel_timeout: u64
Number of L1 blocks between when a channel can be opened and when it can be closed.
granite_channel_timeout: u64
The channel timeout after the Granite hardfork.
l1_chain_id: u64
The L1 chain ID
l2_chain_id: u64
The L2 chain ID
base_fee_params: BaseFeeParams
Base Fee Params
canyon_base_fee_params: BaseFeeParams
Base fee params post-canyon hardfork
regolith_time: Option<u64>
regolith_time
sets the activation time of the Regolith network-upgrade:
a pre-mainnet Bedrock change that addresses findings of the Sherlock contest related to
deposit attributes. “Regolith” is the loose deposited rock that sits on top of Bedrock.
Active if regolith_time != None && L2 block timestamp >= Some(regolith_time), inactive
otherwise.
canyon_time: Option<u64>
canyon_time
sets the activation time of the Canyon network upgrade.
Active if canyon_time
!= None && L2 block timestamp >= Some(canyon_time), inactive
otherwise.
delta_time: Option<u64>
delta_time
sets the activation time of the Delta network upgrade.
Active if delta_time
!= None && L2 block timestamp >= Some(delta_time), inactive
otherwise.
ecotone_time: Option<u64>
ecotone_time
sets the activation time of the Ecotone network upgrade.
Active if ecotone_time
!= None && L2 block timestamp >= Some(ecotone_time), inactive
otherwise.
fjord_time: Option<u64>
fjord_time
sets the activation time of the Fjord network upgrade.
Active if fjord_time
!= None && L2 block timestamp >= Some(fjord_time), inactive
otherwise.
granite_time: Option<u64>
granite_time
sets the activation time for the Granite network upgrade.
Active if granite_time
!= None && L2 block timestamp >= Some(granite_time), inactive
otherwise.
holocene_time: Option<u64>
holocene_time
sets the activation time for the Holocene network upgrade.
Active if holocene_time
!= None && L2 block timestamp >= Some(holocene_time), inactive
otherwise.
batch_inbox_address: Address
batch_inbox_address
is the L1 address that batches are sent to.
deposit_contract_address: Address
deposit_contract_address
is the L1 address that deposits are sent to.
l1_system_config_address: Address
l1_system_config_address
is the L1 address that the system config is stored at.
protocol_versions_address: Address
protocol_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.
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_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 fn check_ecotone_l1_system_config_scalar(
scalar: [u8; 32],
) -> Result<(), &'static str>
pub fn check_ecotone_l1_system_config_scalar( scalar: [u8; 32], ) -> Result<(), &'static str>
Checks the scalar value in Ecotone.
Sourcepub const fn from_l2_chain_id(l2_chain_id: u64) -> Option<Self>
pub const fn from_l2_chain_id(l2_chain_id: u64) -> Option<Self>
Returns the RollupConfig for the given L2 chain ID.
Trait Implementations§
Source§impl Clone for RollupConfig
impl Clone for RollupConfig
Source§fn clone(&self) -> RollupConfig
fn clone(&self) -> RollupConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
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§impl<'de> Deserialize<'de> for RollupConfig
impl<'de> Deserialize<'de> for RollupConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RollupConfig
impl PartialEq for RollupConfig
Source§impl Serialize for RollupConfig
impl Serialize for RollupConfig
Source§impl TryFrom<u64> for RollupConfig
impl TryFrom<u64> for RollupConfig
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)