Trait sp_runtime::traits::Header [−][src]
pub trait Header: Clone + Send + Sync + Codec + Eq + MaybeSerialize + Debug + MaybeMallocSizeOf + 'static { type Number: Member + MaybeSerializeDeserialize + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + FromStr + MaybeMallocSizeOf; type Hash: Member + MaybeSerializeDeserialize + Debug + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + Codec + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf; type Hashing: Hash<Output = Self::Hash>; fn new(
number: Self::Number,
extrinsics_root: Self::Hash,
state_root: Self::Hash,
parent_hash: Self::Hash,
digest: Digest<Self::Hash>
) -> Self; fn number(&self) -> &Self::Number; fn set_number(&mut self, number: Self::Number); fn extrinsics_root(&self) -> &Self::Hash; fn set_extrinsics_root(&mut self, root: Self::Hash); fn state_root(&self) -> &Self::Hash; fn set_state_root(&mut self, root: Self::Hash); fn parent_hash(&self) -> &Self::Hash; fn set_parent_hash(&mut self, hash: Self::Hash); fn digest(&self) -> &Digest<Self::Hash>; fn digest_mut(&mut self) -> &mut Digest<Self::Hash>; fn hash(&self) -> Self::Hash { ... } }
Expand description
Something which fulfills the abstract idea of a Substrate header. It has types for a Number
,
a Hash
and a Hashing
. It provides access to an extrinsics_root
, state_root
and
parent_hash
, as well as a digest
and a block number
.
You can also create a new
one from those fields.
Associated Types
type Number: Member + MaybeSerializeDeserialize + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + FromStr + MaybeMallocSizeOf
type Number: Member + MaybeSerializeDeserialize + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + FromStr + MaybeMallocSizeOf
Header number.
type Hash: Member + MaybeSerializeDeserialize + Debug + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + Codec + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf
type Hash: Member + MaybeSerializeDeserialize + Debug + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + Codec + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf
Header hash type
Required methods
Creates new header.
fn set_number(&mut self, number: Self::Number)
fn set_number(&mut self, number: Self::Number)
Sets the header number.
fn extrinsics_root(&self) -> &Self::Hash
fn extrinsics_root(&self) -> &Self::Hash
Returns a reference to the extrinsics root.
fn set_extrinsics_root(&mut self, root: Self::Hash)
fn set_extrinsics_root(&mut self, root: Self::Hash)
Sets the extrinsic root.
fn state_root(&self) -> &Self::Hash
fn state_root(&self) -> &Self::Hash
Returns a reference to the state root.
fn set_state_root(&mut self, root: Self::Hash)
fn set_state_root(&mut self, root: Self::Hash)
Sets the state root.
fn parent_hash(&self) -> &Self::Hash
fn parent_hash(&self) -> &Self::Hash
Returns a reference to the parent hash.
fn set_parent_hash(&mut self, hash: Self::Hash)
fn set_parent_hash(&mut self, hash: Self::Hash)
Sets the parent hash.
fn digest_mut(&mut self) -> &mut Digest<Self::Hash>
fn digest_mut(&mut self) -> &mut Digest<Self::Hash>
Get a mutable reference to the digest.
Provided methods
Implementors
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,