[][src]Trait frame_system::Trait

pub trait Trait: 'static + Eq + Clone {
    type BaseCallFilter: Filter<Self::Call>;
    type Origin: Into<Result<RawOrigin<Self::AccountId>, Self::Origin>> + From<RawOrigin<Self::AccountId>> + Clone + OriginTrait<Call = Self::Call>;
    type Call: Dispatchable + Debug;
    type Index: Parameter + Member + MaybeSerialize + Debug + Default + MaybeDisplay + AtLeast32Bit + Copy;
    type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + AtLeast32BitUnsigned + Default + Bounded + Copy + Hash + FromStr + MaybeMallocSizeOf;
    type Hash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf;
    type Hashing: Hash<Output = Self::Hash>;
    type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + Default;
    type Lookup: StaticLookup<Target = Self::AccountId>;
    type Header: Parameter + Header<Number = Self::BlockNumber, Hash = Self::Hash>;
    type Event: Parameter + Member + From<Event<Self>> + Debug;
    type BlockHashCount: Get<Self::BlockNumber>;
    type MaximumBlockWeight: Get<Weight>;
    type DbWeight: Get<RuntimeDbWeight>;
    type BlockExecutionWeight: Get<Weight>;
    type ExtrinsicBaseWeight: Get<Weight>;
    type MaximumExtrinsicWeight: Get<Weight>;
    type MaximumBlockLength: Get<u32>;
    type AvailableBlockRatio: Get<Perbill>;
    type Version: Get<RuntimeVersion>;
    type PalletInfo: PalletInfo;
    type AccountData: Member + FullCodec + Clone + Default;
    type OnNewAccount: OnNewAccount<Self::AccountId>;
    type OnKilledAccount: OnKilledAccount<Self::AccountId>;
    type SystemWeightInfo: WeightInfo;
}

Associated Types

type BaseCallFilter: Filter<Self::Call>[src]

The basic call filter to use in Origin. All origins are built with this filter as base, except Root.

type Origin: Into<Result<RawOrigin<Self::AccountId>, Self::Origin>> + From<RawOrigin<Self::AccountId>> + Clone + OriginTrait<Call = Self::Call>[src]

The Origin type used by dispatchable calls.

type Call: Dispatchable + Debug[src]

The aggregated Call type.

type Index: Parameter + Member + MaybeSerialize + Debug + Default + MaybeDisplay + AtLeast32Bit + Copy[src]

Account index (aka nonce) type. This stores the number of previous transactions associated with a sender account.

type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + AtLeast32BitUnsigned + Default + Bounded + Copy + Hash + FromStr + MaybeMallocSizeOf[src]

The block number type used by the runtime.

type Hash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf[src]

The output of the Hashing function.

type Hashing: Hash<Output = Self::Hash>[src]

The hashing system (algorithm) being used in the runtime (e.g. Blake2).

type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + Default[src]

The user account identifier type for the runtime.

type Lookup: StaticLookup<Target = Self::AccountId>[src]

Converting trait to take a source type and convert to AccountId.

Used to define the type and conversion mechanism for referencing accounts in transactions. It's perfectly reasonable for this to be an identity conversion (with the source type being AccountId), but other modules (e.g. Indices module) may provide more functional/efficient alternatives.

type Header: Parameter + Header<Number = Self::BlockNumber, Hash = Self::Hash>[src]

The block header.

type Event: Parameter + Member + From<Event<Self>> + Debug[src]

The aggregated event type of the runtime.

type BlockHashCount: Get<Self::BlockNumber>[src]

Maximum number of block number to block hash mappings to keep (oldest pruned first).

type MaximumBlockWeight: Get<Weight>[src]

The maximum weight of a block.

type DbWeight: Get<RuntimeDbWeight>[src]

The weight of runtime database operations the runtime can invoke.

type BlockExecutionWeight: Get<Weight>[src]

The base weight of executing a block, independent of the transactions in the block.

type ExtrinsicBaseWeight: Get<Weight>[src]

The base weight of an Extrinsic in the block, independent of the of extrinsic being executed.

type MaximumExtrinsicWeight: Get<Weight>[src]

The maximal weight of a single Extrinsic. This should be set to at most MaximumBlockWeight - AverageOnInitializeWeight. The limit only applies to extrinsics containing Normal dispatch class calls.

type MaximumBlockLength: Get<u32>[src]

The maximum length of a block (in bytes).

type AvailableBlockRatio: Get<Perbill>[src]

The portion of the block that is available to normal transaction. The rest can only be used by operational transactions. This can be applied to any resource limit managed by the system module, including weight and length.

type Version: Get<RuntimeVersion>[src]

Get the chain's current version.

type PalletInfo: PalletInfo[src]

Provides information about the pallet setup in the runtime.

Expects the PalletInfo type that is being generated by construct_runtime! in the runtime.

For tests it is okay to use () as type, however it will provide "useless" data.

type AccountData: Member + FullCodec + Clone + Default[src]

Data to be associated with an account (other than nonce/transaction counter, which this module does regardless).

type OnNewAccount: OnNewAccount<Self::AccountId>[src]

Handler for when a new account has just been created.

type OnKilledAccount: OnKilledAccount<Self::AccountId>[src]

A function that is invoked when an account has been determined to be dead.

All resources should be cleaned up associated with the given account.

type SystemWeightInfo: WeightInfo[src]

Loading content...

Implementors

Loading content...