Trait bp_runtime::Chain

source ·
pub trait Chain: Send + Sync + 'static {
    type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Hash + Copy + Default + MaybeDisplay + AtLeast32BitUnsigned + FromStr + AsPrimitive<usize> + Saturating + MaxEncodedLen;
    type Hash: Parameter + Member + MaybeSerializeDeserialize + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + AsRef<[u8]> + AsMut<[u8]> + MaxEncodedLen;
    type Hasher: HashT<Output = Self::Hash>;
    type Header: Parameter + HeaderT<Number = Self::BlockNumber, Hash = Self::Hash> + HeaderIdProvider<Self::Header> + MaybeSerializeDeserialize;
    type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + MaxEncodedLen;
    type Balance: AtLeast32BitUnsigned + FixedPointOperand + Parameter + Member + MaybeSerializeDeserialize + Clone + Copy + Bounded + CheckedSub + PartialOrd + SaturatingAdd + Zero + TryFrom<U256> + MaxEncodedLen;
    type Nonce: Parameter + Member + MaybeSerialize + Debug + Default + MaybeDisplay + MaybeSerializeDeserialize + AtLeast32Bit + Copy + MaxEncodedLen;
    type Signature: Parameter + Verify;

    // Required methods
    fn max_extrinsic_size() -> u32;
    fn max_extrinsic_weight() -> Weight;
}
Expand description

Minimal Substrate-based chain representation that may be used from no_std environment.

Required Associated Types§

source

type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Hash + Copy + Default + MaybeDisplay + AtLeast32BitUnsigned + FromStr + AsPrimitive<usize> + Saturating + MaxEncodedLen

A type that fulfills the abstract idea of what a Substrate block number is.

source

type Hash: Parameter + Member + MaybeSerializeDeserialize + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + AsRef<[u8]> + AsMut<[u8]> + MaxEncodedLen

A type that fulfills the abstract idea of what a Substrate hash is.

source

type Hasher: HashT<Output = Self::Hash>

A type that fulfills the abstract idea of what a Substrate hasher (a type that produces hashes) is.

source

type Header: Parameter + HeaderT<Number = Self::BlockNumber, Hash = Self::Hash> + HeaderIdProvider<Self::Header> + MaybeSerializeDeserialize

A type that fulfills the abstract idea of what a Substrate header is.

source

type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + MaxEncodedLen

The user account identifier type for the runtime.

source

type Balance: AtLeast32BitUnsigned + FixedPointOperand + Parameter + Member + MaybeSerializeDeserialize + Clone + Copy + Bounded + CheckedSub + PartialOrd + SaturatingAdd + Zero + TryFrom<U256> + MaxEncodedLen

Balance of an account in native tokens.

The chain may support multiple tokens, but this particular type is for token that is used to pay for transaction dispatch, to reward different relayers (headers, messages), etc.

source

type Nonce: Parameter + Member + MaybeSerialize + Debug + Default + MaybeDisplay + MaybeSerializeDeserialize + AtLeast32Bit + Copy + MaxEncodedLen

Nonce of a transaction used by the chain.

source

type Signature: Parameter + Verify

Signature type, used on this chain.

Required Methods§

source

fn max_extrinsic_size() -> u32

Get the maximum size (in bytes) of a Normal extrinsic at this chain.

source

fn max_extrinsic_weight() -> Weight

Get the maximum weight (compute time) that a Normal extrinsic at this chain can use.

Object Safety§

This trait is not object safe.

Implementors§