pub struct ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance> {
    pub domain_block_number: DomainNumber,
    pub domain_block_hash: DomainHash,
    pub domain_block_extrinsic_root: DomainHash,
    pub parent_domain_block_receipt_hash: DomainHash,
    pub consensus_block_number: Number,
    pub consensus_block_hash: Hash,
    pub inboxed_bundles: Vec<InboxedBundle<DomainHash>>,
    pub final_state_root: DomainHash,
    pub execution_trace: Vec<DomainHash>,
    pub execution_trace_root: H256,
    pub block_fees: BlockFees<Balance>,
    pub transfers: Transfers<Balance>,
}Expand description
Receipt V0 of a domain block execution.
Fields§
§domain_block_number: DomainNumberThe index of the current domain block that forms the basis of this ER.
domain_block_hash: DomainHashThe block hash corresponding to domain_block_number.
domain_block_extrinsic_root: DomainHashExtrinsic root field of the header of domain block referenced by this ER.
parent_domain_block_receipt_hash: DomainHashThe hash of the ER for the last domain block.
consensus_block_number: NumberA pointer to the consensus block index which contains all of the bundles that were used to derive and order all extrinsics executed by the current domain block for this ER.
consensus_block_hash: HashThe block hash corresponding to consensus_block_number.
inboxed_bundles: Vec<InboxedBundle<DomainHash>>All the bundles that being included in the consensus block.
final_state_root: DomainHashThe final state root for the current domain block reflected by this ER.
Used for verifying storage proofs for domains.
execution_trace: Vec<DomainHash>List of storage roots collected during the domain block execution.
execution_trace_root: H256The Merkle root of the execution trace for the current domain block.
Used for verifying fraud proofs.
block_fees: BlockFees<Balance>Compute and Domain storage fees are shared across operators and Consensus storage fees are given to the consensus block author.
transfers: Transfers<Balance>List of transfers from this Domain to other chains
Implementations§
Source§impl<Number, Hash, DomainNumber, DomainHash, Balance> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
 
impl<Number, Hash, DomainNumber, DomainHash, Balance> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
pub fn bundles_extrinsics_roots(&self) -> Vec<&DomainHash>
pub fn valid_bundle_digest_at(&self, index: usize) -> Option<DomainHash>where
    DomainHash: Copy,
pub fn valid_bundle_digests(&self) -> Vec<DomainHash>where
    DomainHash: Copy,
pub fn valid_bundle_indexes(&self) -> Vec<u32>
Source§impl<Number, Hash, DomainNumber, DomainHash, Balance> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    Number: Encode,
    Hash: Encode,
    DomainNumber: Encode,
    DomainHash: Encode,
    Balance: Encode,
 
impl<Number, Hash, DomainNumber, DomainHash, Balance> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    Number: Encode,
    Hash: Encode,
    DomainNumber: Encode,
    DomainHash: Encode,
    Balance: Encode,
Trait Implementations§
Source§impl<Number: Clone, Hash: Clone, DomainNumber: Clone, DomainHash: Clone, Balance: Clone> Clone for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
 
impl<Number: Clone, Hash: Clone, DomainNumber: Clone, DomainHash: Clone, Balance: Clone> Clone for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
Source§fn clone(
    &self,
) -> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
 
fn clone( &self, ) -> ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Number: Debug, Hash: Debug, DomainNumber: Debug, DomainHash: Debug, Balance: Debug> Debug for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
 
impl<Number: Debug, Hash: Debug, DomainNumber: Debug, DomainHash: Debug, Balance: Debug> Debug for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
Source§impl<Number, Hash, DomainNumber, DomainHash, Balance> Decode for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: Decode,
    DomainHash: Decode,
    Number: Decode,
    Hash: Decode,
    Vec<InboxedBundle<DomainHash>>: Decode,
    Vec<DomainHash>: Decode,
    BlockFees<Balance>: Decode,
    Transfers<Balance>: Decode,
 
impl<Number, Hash, DomainNumber, DomainHash, Balance> Decode for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: Decode,
    DomainHash: Decode,
    Number: Decode,
    Hash: Decode,
    Vec<InboxedBundle<DomainHash>>: Decode,
    Vec<DomainHash>: Decode,
    BlockFees<Balance>: Decode,
    Transfers<Balance>: Decode,
Source§fn decode<__CodecInputEdqy: Input>(
    __codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
 
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
§fn decode_into<I>(
    input: &mut I,
    dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
    I: Input,
 
fn decode_into<I>(
    input: &mut I,
    dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
    I: Input,
§fn skip<I>(input: &mut I) -> Result<(), Error>where
    I: Input,
 
fn skip<I>(input: &mut I) -> Result<(), Error>where
    I: Input,
§fn encoded_fixed_size() -> Option<usize>
 
fn encoded_fixed_size() -> Option<usize>
Source§impl<Number, Hash, DomainNumber, DomainHash, Balance> Encode for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: Encode,
    DomainHash: Encode,
    Number: Encode,
    Hash: Encode,
    Vec<InboxedBundle<DomainHash>>: Encode,
    Vec<DomainHash>: Encode,
    BlockFees<Balance>: Encode,
    Transfers<Balance>: Encode,
 
impl<Number, Hash, DomainNumber, DomainHash, Balance> Encode for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: Encode,
    DomainHash: Encode,
    Number: Encode,
    Hash: Encode,
    Vec<InboxedBundle<DomainHash>>: Encode,
    Vec<DomainHash>: Encode,
    BlockFees<Balance>: Encode,
    Transfers<Balance>: Encode,
Source§fn size_hint(&self) -> usize
 
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
    &self,
    __codec_dest_edqy: &mut __CodecOutputEdqy,
)
 
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
§fn using_encoded<R, F>(&self, f: F) -> R
 
fn using_encoded<R, F>(&self, f: F) -> R
§fn encoded_size(&self) -> usize
 
fn encoded_size(&self) -> usize
Source§impl<Number: PartialEq, Hash: PartialEq, DomainNumber: PartialEq, DomainHash: PartialEq, Balance: PartialEq> PartialEq for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
 
impl<Number: PartialEq, Hash: PartialEq, DomainNumber: PartialEq, DomainHash: PartialEq, Balance: PartialEq> PartialEq for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
Source§fn eq(
    &self,
    other: &ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>,
) -> bool
 
fn eq( &self, other: &ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>, ) -> bool
self and other values to be equal, and is used by ==.Source§impl<Number, Hash, DomainNumber, DomainHash, Balance> TypeInfo for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: TypeInfo + 'static,
    DomainHash: TypeInfo + 'static,
    Number: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Vec<InboxedBundle<DomainHash>>: TypeInfo + 'static,
    Vec<DomainHash>: TypeInfo + 'static,
    BlockFees<Balance>: TypeInfo + 'static,
    Transfers<Balance>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
 
impl<Number, Hash, DomainNumber, DomainHash, Balance> TypeInfo for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: TypeInfo + 'static,
    DomainHash: TypeInfo + 'static,
    Number: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Vec<InboxedBundle<DomainHash>>: TypeInfo + 'static,
    Vec<DomainHash>: TypeInfo + 'static,
    BlockFees<Balance>: TypeInfo + 'static,
    Transfers<Balance>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
impl<Number, Hash, DomainNumber, DomainHash, Balance> EncodeLike for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: Encode,
    DomainHash: Encode,
    Number: Encode,
    Hash: Encode,
    Vec<InboxedBundle<DomainHash>>: Encode,
    Vec<DomainHash>: Encode,
    BlockFees<Balance>: Encode,
    Transfers<Balance>: Encode,
impl<Number: Eq, Hash: Eq, DomainNumber: Eq, DomainHash: Eq, Balance: Eq> Eq for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
impl<Number, Hash, DomainNumber, DomainHash, Balance> StructuralPartialEq for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
Auto Trait Implementations§
impl<Number, Hash, DomainNumber, DomainHash, Balance> Freeze for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
impl<Number, Hash, DomainNumber, DomainHash, Balance> RefUnwindSafe for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: RefUnwindSafe,
    DomainHash: RefUnwindSafe,
    Number: RefUnwindSafe,
    Hash: RefUnwindSafe,
    Balance: RefUnwindSafe,
impl<Number, Hash, DomainNumber, DomainHash, Balance> Send for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
impl<Number, Hash, DomainNumber, DomainHash, Balance> Sync for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
impl<Number, Hash, DomainNumber, DomainHash, Balance> Unpin for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>
impl<Number, Hash, DomainNumber, DomainHash, Balance> UnwindSafe for ExecutionReceiptV0<Number, Hash, DomainNumber, DomainHash, Balance>where
    DomainNumber: UnwindSafe,
    DomainHash: UnwindSafe,
    Number: UnwindSafe,
    Hash: UnwindSafe,
    Balance: UnwindSafe + RefUnwindSafe,
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
§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
 
fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
 
fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> DecodeAll for Twhere
    T: Decode,
 
impl<T> DecodeAll for Twhere
    T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
 
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
    T: Decode,
 
impl<T> DecodeLimit for Twhere
    T: Decode,
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
§impl<T> Hashable for Twhere
    T: Codec,
 
impl<T> Hashable for Twhere
    T: Codec,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
    Dest: FromTuple<Src>,
 
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
    Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T> IsType<T> for T
 
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
 
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> KeyedVec for Twhere
    T: Codec,
 
impl<T> KeyedVec for Twhere
    T: Codec,
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
T. Read more§impl<T, U> TryIntoKey<U> for Twhere
    U: TryFromKey<T>,
 
impl<T, U> TryIntoKey<U> for Twhere
    U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
 
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
T.