Struct sp_runtime::generic::Header [−][src]
pub struct Header<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> { pub parent_hash: Hash::Output, pub number: Number, pub state_root: Hash::Output, pub extrinsics_root: Hash::Output, pub digest: Digest<Hash::Output>, }
Abstraction over a block header for a substrate chain.
Fields
parent_hash: Hash::Output
The parent hash.
number: Number
The block number.
state_root: Hash::Output
The state trie merkle root
extrinsics_root: Hash::Output
The merkle root of the extrinsics.
digest: Digest<Hash::Output>
A chain-specific digest of data useful for light clients or referencing auxiliary data.
Implementations
impl<Number, Hash> Header<Number, Hash> where
Number: Member + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Default + Hash + Copy + Member + MaybeDisplay + SimpleBitOps + Codec,
[src]
impl<Number, Hash> Header<Number, Hash> where
Number: Member + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Default + Hash + Copy + Member + MaybeDisplay + SimpleBitOps + Codec,
[src]impl Header<u64, BlakeTwo256>
[src]
impl Header<u64, BlakeTwo256>
[src]pub fn new_from_number(number: Self::Number) -> Self
[src]
A new header with the given number and default hash for all other fields.
Trait Implementations
impl<Number: Clone + Copy + Into<U256> + TryFrom<U256>, Hash: Clone + HashT> Clone for Header<Number, Hash> where
Hash::Output: Clone,
Hash::Output: Clone,
Hash::Output: Clone,
Hash::Output: Clone,
[src]
impl<Number: Clone + Copy + Into<U256> + TryFrom<U256>, Hash: Clone + HashT> Clone for Header<Number, Hash> where
Hash::Output: Clone,
Hash::Output: Clone,
Hash::Output: Clone,
Hash::Output: Clone,
[src]impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Debug for Header<Number, Hash> where
Number: Debug,
Hash: Debug,
[src]
impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Debug for Header<Number, Hash> where
Number: Debug,
Hash: Debug,
[src]impl<Number, Hash> Decode for Header<Number, Hash> where
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Decode,
[src]
impl<Number, Hash> Decode for Header<Number, Hash> where
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Decode,
[src]impl<'de, Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Deserialize<'de> for Header<Number, Hash> where
Hash::Output: Deserialize<'de>,
Hash::Output: Deserialize<'de>,
Hash::Output: Deserialize<'de>,
[src]
impl<'de, Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Deserialize<'de> for Header<Number, Hash> where
Hash::Output: Deserialize<'de>,
Hash::Output: Deserialize<'de>,
Hash::Output: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<Number, Hash> Encode for Header<Number, Hash> where
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Encode,
[src]
impl<Number, Hash> Encode for Header<Number, Hash> where
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Encode,
[src]impl<Number, Hash> Header for Header<Number, Hash> where
Number: Member + MaybeSerializeDeserialize + Debug + Hash + MaybeDisplay + AtLeast32BitUnsigned + Codec + Copy + Into<U256> + TryFrom<U256> + FromStr + MaybeMallocSizeOf,
Hash: HashT,
Hash::Output: Default + Hash + Copy + Member + Ord + MaybeSerialize + Debug + MaybeDisplay + SimpleBitOps + Codec + MaybeMallocSizeOf,
[src]
impl<Number, Hash> Header for Header<Number, Hash> where
Number: Member + MaybeSerializeDeserialize + Debug + Hash + MaybeDisplay + AtLeast32BitUnsigned + Codec + Copy + Into<U256> + TryFrom<U256> + FromStr + MaybeMallocSizeOf,
Hash: HashT,
Hash::Output: Default + Hash + Copy + Member + Ord + MaybeSerialize + Debug + MaybeDisplay + SimpleBitOps + Codec + MaybeMallocSizeOf,
[src]type Number = Number
Header number.
type Hash = <Hash as HashT>::Output
Header hash type
type Hashing = Hash
Hashing algorithm
fn number(&self) -> &Self::Number
[src]
fn set_number(&mut self, num: Self::Number)
[src]
fn extrinsics_root(&self) -> &Self::Hash
[src]
fn set_extrinsics_root(&mut self, root: Self::Hash)
[src]
fn state_root(&self) -> &Self::Hash
[src]
fn set_state_root(&mut self, root: Self::Hash)
[src]
fn parent_hash(&self) -> &Self::Hash
[src]
fn set_parent_hash(&mut self, hash: Self::Hash)
[src]
fn digest(&self) -> &Digest<Self::Hash>
[src]
fn digest_mut(&mut self) -> &mut Digest<Self::Hash>
[src]
fn new(
number: Self::Number,
extrinsics_root: Self::Hash,
state_root: Self::Hash,
parent_hash: Self::Hash,
digest: Digest<Self::Hash>
) -> Self
[src]
number: Self::Number,
extrinsics_root: Self::Hash,
state_root: Self::Hash,
parent_hash: Self::Hash,
digest: Digest<Self::Hash>
) -> Self
fn hash(&self) -> Self::Hash
[src]
impl<Number, Hash> MallocSizeOf for Header<Number, Hash> where
Number: Copy + Into<U256> + TryFrom<U256> + MallocSizeOf,
Hash: HashT,
Hash::Output: MallocSizeOf,
[src]
impl<Number, Hash> MallocSizeOf for Header<Number, Hash> where
Number: Copy + Into<U256> + TryFrom<U256> + MallocSizeOf,
Hash: HashT,
Hash::Output: MallocSizeOf,
[src]fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[src]
pub fn constant_size() -> Option<usize>
[src]
impl<Number: PartialEq + Copy + Into<U256> + TryFrom<U256>, Hash: PartialEq + HashT> PartialEq<Header<Number, Hash>> for Header<Number, Hash> where
Hash::Output: PartialEq,
Hash::Output: PartialEq,
Hash::Output: PartialEq,
Hash::Output: PartialEq,
[src]
impl<Number: PartialEq + Copy + Into<U256> + TryFrom<U256>, Hash: PartialEq + HashT> PartialEq<Header<Number, Hash>> for Header<Number, Hash> where
Hash::Output: PartialEq,
Hash::Output: PartialEq,
Hash::Output: PartialEq,
Hash::Output: PartialEq,
[src]impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Serialize for Header<Number, Hash> where
Hash::Output: Serialize,
Hash::Output: Serialize,
Hash::Output: Serialize,
[src]
impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> Serialize for Header<Number, Hash> where
Hash::Output: Serialize,
Hash::Output: Serialize,
Hash::Output: Serialize,
[src]impl<Number, Hash> EncodeLike<Header<Number, Hash>> for Header<Number, Hash> where
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Encode,
[src]
Number: HasCompact + Copy + Into<U256> + TryFrom<U256>,
Hash: HashT,
Hash::Output: Encode,
impl<Number: Eq + Copy + Into<U256> + TryFrom<U256>, Hash: Eq + HashT> Eq for Header<Number, Hash> where
Hash::Output: Eq,
Hash::Output: Eq,
Hash::Output: Eq,
Hash::Output: Eq,
[src]
Hash::Output: Eq,
Hash::Output: Eq,
Hash::Output: Eq,
Hash::Output: Eq,
impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> StructuralEq for Header<Number, Hash>
[src]
impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> StructuralPartialEq for Header<Number, Hash>
[src]
Auto Trait Implementations
impl<Number, Hash> RefUnwindSafe for Header<Number, Hash> where
Number: RefUnwindSafe,
<Hash as Hash>::Output: RefUnwindSafe,
Number: RefUnwindSafe,
<Hash as Hash>::Output: RefUnwindSafe,
impl<Number, Hash> Send for Header<Number, Hash> where
Number: Send,
Number: Send,
impl<Number, Hash> Sync for Header<Number, Hash> where
Number: Sync,
Number: Sync,
impl<Number, Hash> Unpin for Header<Number, Hash> where
Number: Unpin,
<Hash as Hash>::Output: Unpin,
Number: Unpin,
<Hash as Hash>::Output: Unpin,
impl<Number, Hash> UnwindSafe for Header<Number, Hash> where
Number: UnwindSafe,
<Hash as Hash>::Output: UnwindSafe,
Number: UnwindSafe,
<Hash as Hash>::Output: UnwindSafe,
Blanket Implementations
impl<T> CheckedConversion for T
[src]
impl<T> CheckedConversion for T
[src]fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> DecodeLimit for T where
T: Decode,
[src]
impl<T> DecodeLimit for T where
T: Decode,
[src]impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]impl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
[src]
impl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
[src]pub fn malloc_size_of(&self) -> usize
[src]
impl<T> SaturatedConversion for T
[src]
impl<T> SaturatedConversion for T
[src]pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]pub fn unique_saturated_into(self) -> T
[src]
impl<S> Codec for S where
S: Decode + Encode,
[src]
S: Decode + Encode,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: ToOwned + Encode,
[src]
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeMallocSizeOf for T where
T: MallocSizeOf,
[src]
T: MallocSizeOf,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> MaybeSerialize for T where
T: Serialize,
[src]
T: Serialize,
impl<T> MaybeSerializeDeserialize for T where
T: DeserializeOwned + Serialize,
[src]
T: DeserializeOwned + Serialize,
impl<T> Member for T where
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,
[src]
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,