op_alloy_genesis::rollup

Struct RollupConfig

source
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

source

pub fn is_regolith_active(&self, timestamp: u64) -> bool

Returns true if Regolith is active at the given timestamp.

source

pub fn is_canyon_active(&self, timestamp: u64) -> bool

Returns true if Canyon is active at the given timestamp.

source

pub fn is_delta_active(&self, timestamp: u64) -> bool

Returns true if Delta is active at the given timestamp.

source

pub fn is_ecotone_active(&self, timestamp: u64) -> bool

Returns true if Ecotone is active at the given timestamp.

source

pub fn is_fjord_active(&self, timestamp: u64) -> bool

Returns true if Fjord is active at the given timestamp.

source

pub fn is_granite_active(&self, timestamp: u64) -> bool

Returns true if Granite is active at the given timestamp.

source

pub fn is_holocene_active(&self, timestamp: u64) -> bool

Returns true if Holocene is active at the given timestamp.

source

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.

source

pub fn max_sequencer_drift(&self, timestamp: u64) -> u64

Returns the max sequencer drift for the given timestamp.

source

pub fn max_rlp_bytes_per_channel(&self, timestamp: u64) -> u64

Returns the max rlp bytes per channel for the given timestamp.

source

pub fn channel_timeout(&self, timestamp: u64) -> u64

Returns the channel timeout for the given timestamp.

source

pub fn check_ecotone_l1_system_config_scalar( scalar: [u8; 32], ) -> Result<(), &'static str>

Checks the scalar value in Ecotone.

source

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

source§

fn clone(&self) -> RollupConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RollupConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RollupConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RollupConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for RollupConfig

source§

fn eq(&self, other: &RollupConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for RollupConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<u64> for RollupConfig

source§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(chain_id: u64) -> Result<Self, &'static str>

Performs the conversion.
source§

impl Eq for RollupConfig

source§

impl StructuralPartialEq for RollupConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 608 bytes