Struct BlockHeader

Source
pub struct BlockHeader {
    pub rollupChainId: U256,
    pub hostBlockNumber: U256,
    pub gasLimit: U256,
    pub rewardAddress: Address,
    pub blockDataHash: FixedBytes<32>,
}
Expand description
struct BlockHeader { uint256 rollupChainId; uint256 hostBlockNumber; uint256 gasLimit; address rewardAddress; bytes32 blockDataHash; }

Fields§

§rollupChainId: U256§hostBlockNumber: U256§gasLimit: U256§rewardAddress: Address§blockDataHash: FixedBytes<32>

Implementations§

Source§

impl BlockHeader

Source

pub const fn from_block_submitted( host_block_submitted: BlockSubmitted, host_block_number: U256, ) -> BlockHeader

Create a BlockHeader from a BlockSubmitted event with the given host block number

Source

pub const fn host_block_number(&self) -> u64

Get the host block number of the block

Source

pub const fn chain_id(&self) -> u64

Get the chain ID of the block (discarding high bytes).

Source

pub const fn gas_limit(&self) -> u64

Get the gas limit of the block (discarding high bytes).

Source

pub const fn reward_address(&self) -> Address

Get the reward address of the block.

Source

pub const fn block_data_hash(&self) -> FixedBytes<32>

Get the block data hash, i.e. the committment to the data of the block.

Trait Implementations§

Source§

impl Clone for BlockHeader

Source§

fn clone(&self) -> BlockHeader

Returns a duplicate 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 BlockHeader

Source§

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

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

impl<'de> Deserialize<'de> for BlockHeader

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 EventTopic for BlockHeader

Source§

fn topic_preimage_length(rust: &Self::RustType) -> usize

The number of bytes this type occupies in another topic’s preimage, usually a multiple of 32. Read more
Source§

fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)

Encodes this type as preimage bytes which are then hashed in complex types’ encode_topic. Read more
Source§

fn encode_topic(rust: &Self::RustType) -> WordToken

Indexed event parameter encoding. Read more
Source§

impl PartialEq for BlockHeader

Source§

fn eq(&self, other: &BlockHeader) -> 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 BlockHeader

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 SolStruct for BlockHeader

Source§

const NAME: &'static str = "BlockHeader"

The struct name. Read more
Source§

fn eip712_root_type() -> Cow<'static, str>

Return the root EIP-712 type. This type is used to construct the encodeType string.
Source§

fn eip712_components() -> Vec<Cow<'static, str>>

Returns component EIP-712 types. These types are used to construct the encodeType string. These are the types of the struct’s fields, and should not include the root type.
Source§

fn eip712_encode_type() -> Cow<'static, str>

The EIP-712-encoded type string. Read more
Source§

fn eip712_encode_data(&self) -> Vec<u8>

Encodes this domain using EIP-712 encodeData.
Source§

fn eip712_type_hash(&self) -> FixedBytes<32>

Calculates the EIP-712 typeHash for this struct. Read more
Source§

fn eip712_hash_struct(&self) -> FixedBytes<32>

Hashes this struct according to EIP-712 hashStruct.
Source§

fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>

Does something. Read more
Source§

impl SolType for BlockHeader

Source§

const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME

The name of this type in Solidity.
Source§

const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE

The statically-known ABI-encoded size of the type. Read more
Source§

const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE

The statically-known Non-standard Packed Mode ABI-encoded size of the type. Read more
Source§

type RustType = BlockHeader

The corresponding Rust type.
Source§

type Token<'a> = <(Uint<256>, Uint<256>, Uint<256>, Address, FixedBytes<32>) as SolType>::Token<'a>

The corresponding ABI token type. Read more
Source§

fn valid_token(token: &Self::Token<'_>) -> bool

Returns true if the given token can be detokenized with this type.
Source§

fn detokenize(token: Self::Token<'_>) -> Self::RustType

Detokenize this type’s value from the given token. Read more
Source§

const DYNAMIC: bool = _

Whether the ABI-encoded size is dynamic. Read more
Source§

fn sol_type_name() -> Cow<'static, str>

👎Deprecated since 0.6.3: use SOL_NAME instead
Returns the name of this type in Solidity.
Source§

fn abi_encoded_size<E>(rust: &E) -> usize
where E: SolTypeValue<Self> + ?Sized,

Calculate the ABI-encoded size of the data, counting both head and tail words. For a single-word type this will always be 32.
Source§

fn type_check(token: &Self::Token<'_>) -> Result<(), Error>

Returns an error if the given token cannot be detokenized with this type.
Source§

fn tokenize<E>(rust: &E) -> Self::Token<'_>
where E: SolTypeValue<Self> + ?Sized,

Tokenizes the given value into this type’s token. Read more
Source§

fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>
where E: SolTypeValue<Self> + ?Sized,

Encode this data according to EIP-712 encodeData rules, and hash it if necessary. Read more
Source§

fn abi_packed_encoded_size<E>(rust: &E) -> usize
where E: SolTypeValue<Self> + ?Sized,

Returns the length of this value when ABI-encoded in Non-standard Packed Mode. Read more
Source§

fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)
where E: SolTypeValue<Self> + ?Sized,

Non-standard Packed Mode ABI encoding. Read more
Source§

fn abi_encode_packed<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized,

Non-standard Packed Mode ABI encoding. Read more
Source§

fn abi_encode<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized,

Tokenizes and ABI-encodes the given value by wrapping it in a single-element sequence. Read more
Source§

fn abi_encode_params<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized, Self::Token<'a>: for<'a> TokenSeq<'a>,

Tokenizes and ABI-encodes the given value as function parameters. Read more
Source§

fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized, Self::Token<'a>: for<'a> TokenSeq<'a>,

Tokenizes and ABI-encodes the given value as a sequence. Read more
Source§

fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>

Decodes this type’s value from an ABI blob by interpreting it as a single-element sequence. Read more
Source§

fn abi_decode_params<'de>( data: &'de [u8], validate: bool, ) -> Result<Self::RustType, Error>
where Self::Token<'de>: TokenSeq<'de>,

Decodes this type’s value from an ABI blob by interpreting it as function parameters. Read more
Source§

fn abi_decode_sequence<'de>( data: &'de [u8], validate: bool, ) -> Result<Self::RustType, Error>
where Self::Token<'de>: TokenSeq<'de>,

Decodes this type’s value from an ABI blob by interpreting it as a sequence. Read more
Source§

impl SolTypeValue<BlockHeader> for BlockHeader

Source§

impl SolValue for BlockHeader

Source§

type SolType = BlockHeader

The Solidity type that this type corresponds to.
Source§

fn sol_name(&self) -> &'static str

The name of the associated Solidity type. Read more
Source§

fn sol_type_name(&self) -> Cow<'static, str>

👎Deprecated since 0.6.3: use sol_name instead
The name of the associated Solidity type. Read more
Source§

fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>

Tokenizes the given value into this type’s token. Read more
Source§

fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
where Self: From<<Self::SolType as SolType>::RustType>,

Detokenize a value from the given token. Read more
Source§

fn abi_encoded_size(&self) -> usize

Calculate the ABI-encoded size of the data. Read more
Source§

fn eip712_data_word(&self) -> FixedBytes<32>

Encode this data according to EIP-712 encodeData rules, and hash it if necessary. Read more
Source§

fn abi_encode_packed_to(&self, out: &mut Vec<u8>)

Non-standard Packed Mode ABI encoding. Read more
Source§

fn abi_encode_packed(&self) -> Vec<u8>

Non-standard Packed Mode ABI encoding. Read more
Source§

fn abi_encode(&self) -> Vec<u8>

ABI-encodes the value. Read more
Source§

fn abi_encode_sequence(&self) -> Vec<u8>
where <Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,

Encodes an ABI sequence. Read more
Source§

fn abi_encode_params(&self) -> Vec<u8>
where <Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,

Encodes an ABI sequence suitable for function parameters. Read more
Source§

fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>,

ABI-decode this type from the given data. Read more
Source§

fn abi_decode_params<'de>( data: &'de [u8], validate: bool, ) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>, <Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,

ABI-decode this type from the given data. Read more
Source§

fn abi_decode_sequence<'de>( data: &'de [u8], validate: bool, ) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>, <Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,

ABI-decode this type from the given data. Read more
Source§

impl Copy for BlockHeader

Source§

impl Eq for BlockHeader

Source§

impl StructuralPartialEq for BlockHeader

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> AsOut<T> for T
where T: Copy,

Source§

fn as_out(&mut self) -> Out<'_, T>

Returns an out reference to self.
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, dest: *mut u8)

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

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

Source§

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

Compare self to key and return true if they are equal.
Source§

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

Source§

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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> TryClone for T
where T: Clone,

Source§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<'de, T> BorrowedRpcObject<'de> for T
where T: RpcBorrow<'de> + RpcSend,

Source§

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<'de, T> RpcBorrow<'de> for T
where T: Deserialize<'de> + Debug + Send + Sync + Unpin,

Source§

impl<T> RpcObject for T
where T: RpcSend + RpcRecv,

Source§

impl<T> RpcRecv for T
where T: DeserializeOwned + Debug + Send + Sync + Unpin + 'static,

Source§

impl<T> RpcSend for T
where T: Serialize + Clone + Debug + Send + Sync + Unpin,