pub struct L2BlockHeader {
pub version: u32,
pub network_id: [u8; 32],
pub epoch: u64,
pub prev_block_root: [u8; 32],
pub body_root: [u8; 32],
pub data_count: u32,
pub emissions_count: u32,
pub proposer_pubkey: [u8; 48],
}Expand description
Header for an L2 block.
Fields§
§version: u32Block version; must match network consensus version.
network_id: [u8; 32]Network ID (32 bytes), serialized as 0x hex.
epoch: u64Epoch number.
prev_block_root: [u8; 32]Previous block root (32 bytes), serialized as 0x hex.
body_root: [u8; 32]Body root (32 bytes), serialized as 0x hex.
data_count: u32Count of data items (bytes) in the body.
emissions_count: u32Count of emissions in the body.
proposer_pubkey: [u8; 48]Proposer public key (48 bytes), serialized as 0x hex.
Implementations§
Source§impl L2BlockHeader
impl L2BlockHeader
Sourcepub fn calculate_root(&self) -> Hash32
pub fn calculate_root(&self) -> Hash32
Calculates the HEADER_ROOT using the spec function.
Sourcepub fn validate_version(&self, expected_version: u32) -> Result<(), HeaderError>
pub fn validate_version(&self, expected_version: u32) -> Result<(), HeaderError>
Validates that the header version matches the expected consensus version.
Sourcepub fn validate_counts(
&self,
data_len: usize,
emissions_len: usize,
) -> Result<(), HeaderError>
pub fn validate_counts( &self, data_len: usize, emissions_len: usize, ) -> Result<(), HeaderError>
Validates that data_count and emissions_count match the provided body lengths.
Trait Implementations§
Source§impl Clone for L2BlockHeader
impl Clone for L2BlockHeader
Source§fn clone(&self) -> L2BlockHeader
fn clone(&self) -> L2BlockHeader
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for L2BlockHeader
impl Debug for L2BlockHeader
Source§impl<'de> Deserialize<'de> for L2BlockHeader
impl<'de> Deserialize<'de> for L2BlockHeader
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for L2BlockHeader
impl PartialEq for L2BlockHeader
Source§impl Serialize for L2BlockHeader
impl Serialize for L2BlockHeader
impl Eq for L2BlockHeader
impl StructuralPartialEq for L2BlockHeader
Auto Trait Implementations§
impl Freeze for L2BlockHeader
impl RefUnwindSafe for L2BlockHeader
impl Send for L2BlockHeader
impl Sync for L2BlockHeader
impl Unpin for L2BlockHeader
impl UnwindSafe for L2BlockHeader
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
Mutably borrows from an owned value. Read more