pub struct L1BlockInfoEcotone {
pub number: u64,
pub time: u64,
pub base_fee: u64,
pub block_hash: FixedBytes<32>,
pub sequence_number: u64,
pub batcher_address: Address,
pub blob_base_fee: u128,
pub blob_base_fee_scalar: u32,
pub base_fee_scalar: u32,
pub empty_scalars: bool,
pub l1_fee_overhead: Uint<256, 4>,
}
Expand description
Represents the fields within an Ecotone L1 block info transaction.
Ecotone Binary Format +———+–––––––––––––+ | Bytes | Field | +———+–––––––––––––+ | 4 | Function signature | | 4 | BaseFeeScalar | | 4 | BlobBaseFeeScalar | | 8 | SequenceNumber | | 8 | Timestamp | | 8 | L1BlockNumber | | 32 | BaseFee | | 32 | BlobBaseFee | | 32 | BlockHash | | 32 | BatcherHash | +———+–––––––––––––+
Fields§
§number: u64
The current L1 origin block number
time: u64
The current L1 origin block’s timestamp
base_fee: u64
The current L1 origin block’s basefee
block_hash: FixedBytes<32>
The current L1 origin block’s hash
sequence_number: u64
The current sequence number
batcher_address: Address
The address of the batch submitter
blob_base_fee: u128
The current blob base fee on L1
blob_base_fee_scalar: u32
The fee scalar for L1 blobspace data
base_fee_scalar: u32
The fee scalar for L1 data
empty_scalars: bool
Indicates that the scalars are empty. This is an edge case where the first block in ecotone has no scalars, so the bedrock tx l1 cost function needs to be used.
l1_fee_overhead: Uint<256, 4>
The l1 fee overhead used along with the empty_scalars
field for the
bedrock tx l1 cost function.
This field is deprecated in the Ecotone Hardfork.
Implementations§
Source§impl L1BlockInfoEcotone
impl L1BlockInfoEcotone
Sourcepub const L1_INFO_TX_LEN: usize = 164usize
pub const L1_INFO_TX_LEN: usize = 164usize
The length of an L1 info transaction in Ecotone.
Sourcepub const L1_INFO_TX_SELECTOR: [u8; 4]
pub const L1_INFO_TX_SELECTOR: [u8; 4]
The 4 byte selector of “setL1BlockValuesEcotone()”
Sourcepub fn encode_calldata(&self) -> Bytes
pub fn encode_calldata(&self) -> Bytes
Encodes the L1BlockInfoEcotone object into Ethereum transaction calldata.
Sourcepub fn decode_calldata(r: &[u8]) -> Result<L1BlockInfoEcotone, DecodeError>
pub fn decode_calldata(r: &[u8]) -> Result<L1BlockInfoEcotone, DecodeError>
Decodes the L1BlockInfoEcotone object from ethereum transaction calldata.
Trait Implementations§
Source§impl Clone for L1BlockInfoEcotone
impl Clone for L1BlockInfoEcotone
Source§fn clone(&self) -> L1BlockInfoEcotone
fn clone(&self) -> L1BlockInfoEcotone
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for L1BlockInfoEcotone
impl Debug for L1BlockInfoEcotone
Source§impl Default for L1BlockInfoEcotone
impl Default for L1BlockInfoEcotone
Source§fn default() -> L1BlockInfoEcotone
fn default() -> L1BlockInfoEcotone
Source§impl Hash for L1BlockInfoEcotone
impl Hash for L1BlockInfoEcotone
Source§impl PartialEq for L1BlockInfoEcotone
impl PartialEq for L1BlockInfoEcotone
impl Copy for L1BlockInfoEcotone
impl Eq for L1BlockInfoEcotone
impl StructuralPartialEq for L1BlockInfoEcotone
Auto Trait Implementations§
impl Freeze for L1BlockInfoEcotone
impl RefUnwindSafe for L1BlockInfoEcotone
impl Send for L1BlockInfoEcotone
impl Sync for L1BlockInfoEcotone
impl Unpin for L1BlockInfoEcotone
impl UnwindSafe for L1BlockInfoEcotone
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