pub struct RollupConfig {Show 25 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 isthmus_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.
isthmus_time: Option<u64>
isthmus_time
sets the activation time for the Isthmus network upgrade.
Active if isthmus_time
!= None && L2 block timestamp >= Some(isthmus_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_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_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) -> HardForkConfiguration
pub const fn hardfork_config(&self) -> HardForkConfiguration
Returns the HardForkConfiguration 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§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more