Trait frame_system::pallet::Config
source · [−]pub trait Config: 'static + Eq + Clone {
Show 23 associated items
type BaseCallFilter: Contains<Self::Call>;
type BlockWeights: Get<BlockWeights>;
type BlockLength: Get<BlockLength>;
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 + MaybeSerializeDeserialize + Debug + Default + MaybeDisplay + AtLeast32Bit + Copy;
type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + AtLeast32BitUnsigned + Default + Bounded + Copy + Hash + FromStr + MaybeMallocSizeOf + MaxEncodedLen + TypeInfo;
type Hash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf + MaxEncodedLen;
type Hashing: Hash<Output = Self::Hash> + TypeInfo;
type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + Default + MaxEncodedLen;
type Lookup: StaticLookup<Target = Self::AccountId>;
type Header: Parameter + Header<Number = Self::BlockNumber, Hash = Self::Hash>;
type Event: Parameter + Member + From<Event<Self>> + Debug + IsType<<Self as Config>::Event>;
type BlockHashCount: Get<Self::BlockNumber>;
type DbWeight: Get<RuntimeDbWeight>;
type Version: Get<RuntimeVersion>;
type PalletInfo: PalletInfo;
type AccountData: Member + FullCodec + Clone + Default + TypeInfo;
type OnNewAccount: OnNewAccount<Self::AccountId>;
type OnKilledAccount: OnKilledAccount<Self::AccountId>;
type SystemWeightInfo: WeightInfo;
type SS58Prefix: Get<u16>;
type OnSetCode: SetCode<Self>;
}
Expand description
System configuration trait. Implemented by runtime.
Associated Types
type BaseCallFilter: Contains<Self::Call>
type BaseCallFilter: Contains<Self::Call>
The basic call filter to use in Origin. All origins are built with this filter as base, except Root.
type BlockWeights: Get<BlockWeights>
type BlockWeights: Get<BlockWeights>
Block & extrinsics weights: base values and limits.
type BlockLength: Get<BlockLength>
type BlockLength: Get<BlockLength>
The maximum length of a block (in bytes).
The Origin
type used by dispatchable calls.
type Call: Dispatchable + Debug
type Call: Dispatchable + Debug
The aggregated Call
type.
type Index: Parameter + Member + MaybeSerializeDeserialize + Debug + Default + MaybeDisplay + AtLeast32Bit + Copy
type Index: Parameter + Member + MaybeSerializeDeserialize + Debug + Default + MaybeDisplay + AtLeast32Bit + Copy
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 + MaxEncodedLen + TypeInfo
type BlockNumber: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + AtLeast32BitUnsigned + Default + Bounded + Copy + Hash + FromStr + MaybeMallocSizeOf + MaxEncodedLen + TypeInfo
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 + MaxEncodedLen
type Hash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf + MaxEncodedLen
The output of the Hashing
function.
The hashing system (algorithm) being used in the runtime (e.g. Blake2).
type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + Default + MaxEncodedLen
type AccountId: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + Ord + Default + MaxEncodedLen
The user account identifier type for the runtime.
type Lookup: StaticLookup<Target = Self::AccountId>
type Lookup: StaticLookup<Target = Self::AccountId>
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 pallets (e.g. Indices pallet) may provide more
functional/efficient alternatives.
The block header.
The aggregated event type of the runtime.
type BlockHashCount: Get<Self::BlockNumber>
type BlockHashCount: Get<Self::BlockNumber>
Maximum number of block number to block hash mappings to keep (oldest pruned first).
type DbWeight: Get<RuntimeDbWeight>
type DbWeight: Get<RuntimeDbWeight>
The weight of runtime database operations the runtime can invoke.
type Version: Get<RuntimeVersion>
type Version: Get<RuntimeVersion>
Get the chain’s current version.
type PalletInfo: PalletInfo
type PalletInfo: PalletInfo
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.
Data to be associated with an account (other than nonce/transaction counter, which this pallet does regardless).
type OnNewAccount: OnNewAccount<Self::AccountId>
type OnNewAccount: OnNewAccount<Self::AccountId>
Handler for when a new account has just been created.
type OnKilledAccount: OnKilledAccount<Self::AccountId>
type OnKilledAccount: OnKilledAccount<Self::AccountId>
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 SS58Prefix: Get<u16>
type SS58Prefix: Get<u16>
The designated SS85 prefix of this chain.
This replaces the “ss58Format” property declared in the chain spec. Reason is that the runtime should know about the prefix in order to make use of it as an identifier of the chain.
What to do if the runtime wants to change the code to something new.
The default (()
) implementation is responsible for setting the correct storage
entry and emitting corresponding event and log item. (see
Pallet::update_code_in_storage
).
It’s unlikely that this needs to be customized, unless you are writing a parachain using
Cumulus
, where the actual code change is deferred.