Module traits

Source
Expand description

Traits and associated utilities for use in the FRAME environment.

NOTE: If you’re looking for parameter_types, it has moved in to the top-level module.

Re-exports§

pub use tokens::currency::ActiveIssuanceOf;
pub use tokens::currency::Currency;
pub use tokens::currency::InspectLockableCurrency;
pub use tokens::currency::LockIdentifier;
pub use tokens::currency::LockableCurrency;
pub use tokens::currency::NamedReservableCurrency;
pub use tokens::currency::ReservableCurrency;
pub use tokens::currency::TotalIssuanceOf;
pub use tokens::currency::VestedTransfer;
pub use tokens::currency::VestingSchedule;
pub use tokens::fungible;
pub use tokens::fungibles;
pub use tokens::imbalance::Imbalance;
pub use tokens::imbalance::OnUnbalanced;
pub use tokens::imbalance::SignedImbalance;
pub use tokens::nonfungible;
pub use tokens::nonfungible_v2;
pub use tokens::nonfungibles;
pub use tokens::nonfungibles_v2;
pub use tokens::BalanceStatus;
pub use tokens::ExistenceRequirement;
pub use tokens::Locker;
pub use tokens::WithdrawReasons;
pub use tasks::Task;

Modules§

base2
Types for a base-2 merkle tree used for checking and generating proofs within the runtime. The binary-merkle-tree crate exposes all of these same functionality (and more), but this library is designed to work more easily with runtime native types, which simply need to implement Encode/Decode.
base16
Types for a compact base-16 merkle trie used for checking and generating proofs within the runtime. The sp-trie crate exposes all of these same functionality (and more), but this library is designed to work more easily with runtime native types, which simply need to implement Encode/Decode. It also exposes a runtime friendly TrieError type which can be use inside of a FRAME Pallet.
defensive_prelude
Prelude module for all defensive traits to be imported at once.
dynamic_params
Types and traits for dynamic parameters.
schedule
Traits and associated utilities for scheduling dispatchables in FRAME.
tasks
Contains the Task trait, which defines a general-purpose way for defining and executing service work, and supporting types.
tokens
Traits for working with tokens and their associated datastructures.

Structs§

AsContains
Adapter struct for turning an OrderedMembership impl into a Contains impl.
AsEnsureOriginWithArg
Backing
Some amount of backing from a group. The precise definition of what it means to “back” something is left flexible.
BinaryMerkleTreeProver
Implements VerifyExistenceProof using a binary merkle tree.
CallMetadata
The function and pallet name of the Call.
ClassCountOf
ClearFilterGuard
Guard type for clearing all pushed constraints from a FilterStack and reinstating them when dropped.
ConstBool
Const getter for a basic type.
ConstI8
Const getter for a basic type.
ConstI16
Const getter for a basic type.
ConstI32
Const getter for a basic type.
ConstI64
Const getter for a basic type.
ConstI128
Const getter for a basic type.
ConstInt
Const getter for signed integers.
ConstU8
Const getter for a basic type.
ConstU16
Const getter for a basic type.
ConstU32
Const getter for a basic type.
ConstU64
Const getter for a basic type.
ConstU128
Const getter for a basic type.
ConstUint
Const getter for unsigned integers.
ConstantStoragePrice
Constant Price regardless of the given Footprint.
CrateVersion
The version of a crate.
Disabled
Placeholder marking functionality disabled. Useful for disabling various (sub)features.
EitherOf
“OR gate” implementation of EnsureOrigin, Success type for both L and R must be equal.
EitherOfDiverse
“OR gate” implementation of EnsureOrigin allowing for different Success types for L and R, with them combined using an Either type.
EnqueueWithOrigin
Adapter type to transform an EnqueueMessage with an origin into a HandleMessage impl.
EnsureOriginEqualOrHigherPrivilege
EnsureOrigin implementation that checks that an origin has equal or higher privilege compared to the expected Origin.
EqualPrivilegeOnly
Implementation of PrivilegeCmp that only checks for equal origins.
Equals
An implementation of Contains which contains only equal members to T.
EverythingBut
A Contains implementation that contains everything except the values in Exclude.
FilterStackGuard
Guard type for pushing a constraint to a FilterStack and popping when dropped.
Footprint
The resource footprint of a bunch of blobs. We assume only the number of blobs and their total size in bytes matter.
FromContains
A ContainsPair implementation that has a Contains implementation for each member of the pair.
FromContainsPair
Converter struct to use a ContainsPair implementation for a Contains bound.
GetDefault
Implement Get by returning Default for any type that implements Default.
InsideBoth
A Contains implementation which contains all members of These which are also members of Those.
IsInVec
Trivial utility for implementing Contains/OrderedMembership with a Vec.
LinearStoragePrice
A storage price that increases linearly with the number of elements and their size.
MapSuccess
A derivative EnsureOrigin implementation. It mutates the Success result of an Original implementation with a given Mutator.
NeverEnsureOrigin
EnsureOrigin implementation that always fails.
NoOpPoll
NoOp polling is required if pallet-referenda functionality not needed.
NoStorageVersionSet
Special marker struct used when storage_version is not defined for a pallet.
NoopServiceQueues
Services queues by doing nothing.
PalletInfoData
Information regarding an instance of a pallet.
QueueFootprint
The resource footprint of a queue.
SixteenPatriciaMerkleTreeExistenceProof
Proof used by SixteenPatriciaMerkleTreeProver for VerifyExistenceProof.
SixteenPatriciaMerkleTreeProver
Implements VerifyExistenceProof using a 16-patricia merkle tree.
StorageInfo
Metadata about storage from the runtime.
StorageMapShim
A shim for placing around a storage item in order to use it as a StoredValue. Ideally this wouldn’t be needed as StorageValues should blanket implement StoredValues, however this would break the ability to have custom impls of StoredValue. The other workaround is to implement it directly in the macro.
StorageVersion
The storage version of a pallet.
TheseExcept
A Contains implementation that contains all members of These excepting any members in Except.
TrackedStorageKey
Storage key with read/write tracking information.
TransformOrigin
Transform the origin of an EnqueueMessage via C::convert.
TryMapSuccess
A derivative EnsureOrigin implementation. It mutates the Success result of an Original implementation with a given Mutator, allowing the possibility of an error to be returned from the mutator.
TryWithMorphedArg
VariantCountOf
Adapter for Get<u32> to access VARIANT_COUNT from trait pub trait VariantCount {.
WrapperKeepOpaque
A wrapper for any type T which implement encode/decode in a way compatible with Vec<u8>.
WrapperOpaque
A wrapper for any type T which implement encode/decode in a way compatible with Vec<u8>.

Enums§

Bounded
Everything
A Contains implementation that contains every value.
ExecuteOverweightError
Errors that can happen when attempting to execute an overweight message with ServiceQueues::execute_overweight().
Nothing
A Contains implementation that contains no value.
PollStatus
ProcessMessageError
Errors that can happen when attempting to process a message with ProcessMessage::process_message().
SafeModeError
The error type for SafeMode.
SameOrOther
Return type used when we need to return one of two items, each of the opposite direction or sign, with one (Same) being of the same type as the self or primary argument of the function that returned it.
TransactionPauseError
The error type for TransactionPause.
TrieError
A runtime friendly error type for tries.

Constants§

STORAGE_VERSION_STORAGE_KEY_POSTFIX
The storage key postfix that is used to store the StorageVersion per pallet.

Traits§

AccountTouch
Trait for touching/creating an asset account with a deposit taken from a designated depositor specified by the client.
BeforeAllRuntimeMigrations
Implemented by pallets, allows defining logic to run prior to any OnRuntimeUpgrade logic.
BuildGenesisConfig
A trait to define the build function of a genesis config for both runtime and pallets.
CallerTrait
The trait implemented by the overarching enumeration of the different pallets’ origins. Unlike OriginTrait impls, this does not include any kind of dispatch/call filter. Also, this trait is more flexible in terms of how it can be used: it is a Parameter and Member, so it can be used as dispatchable parameters as well as in storage items.
ChangeMembers
Trait for type that can handle incremental changes to a set of account IDs.
Consideration
Some sort of cost taken from account temporarily in order to offset the cost to the chain of holding some data Footprint in state.
Contains
A trait for querying whether a type can be said to “contain” a value.
ContainsLengthBound
A trait for querying bound for the length of an implementation of Contains
ContainsPair
A trait for querying whether a type can be said to “contain” a pair-value.
Defensive
A trait to handle errors and options when you are really sure that a condition must hold, but not brave enough to expect on it, or a default fallback value makes more sense.
DefensiveMax
Defensively calculates the maximum of two values.
DefensiveMin
Defensively calculates the minimum of two values.
DefensiveOption
Subset of methods similar to Defensive that can only work for a Option.
DefensiveResult
Subset of methods similar to Defensive that can only work for a Result.
DefensiveSaturating
A variant of Defensive with the same rationale, for the arithmetic operations where in case an infallible operation fails, it saturates.
DefensiveTruncateFrom
Construct an object by defensively truncating an input if the TryFrom conversion fails.
DisabledValidators
Trait used to check whether a given validator is currently disabled and should not be participating in consensus (e.g. because they equivocated).
EnqueueMessage
Can enqueue messages for multiple origins.
EnsureInherentsAreFirst
A trait to ensure the inherent are before non-inherent in a block.
EnsureOrigin
Some sort of check on the origin is performed by this object.
EnsureOriginWithArg
Some sort of check on the origin is performed by this object.
EstimateCallFee
Something that can estimate the fee of a (frame-based) call.
EstimateNextNewSession
Something that can estimate at which block scheduling of the next session will happen (i.e when we will try to fetch new validators).
EstimateNextSessionRotation
Something that can estimate at which block the next session rotation will happen (i.e. a new session starts).
ExecuteBlock
Something that can execute a given block.
ExtrinsicCall
An extrinsic on which we can get access to call.
FilterDeprecated
FilterStack
Trait to add a constraint onto the filter.
FindAuthor
A trait for finding the author of a block header based on the PreRuntime digests contained within it.
GenesisBuildDeprecated
A trait to define the build function of a genesis config, T and I are placeholder for pallet trait and pallet instance.
Get
A trait for querying a single value from a type.
GetBacking
Retrieve the backing from an object’s ref.
GetCallIndex
Gets the function index of the Call.
GetCallMetadata
Gets the metadata for the Call - function name and pallet name.
GetCallName
Gets the function name of the Call.
GetStorageVersion
Provides information about a pallet’s storage versions.
HandleLifetime
A simple, generic one-parameter event notifier/handler.
HandleMessage
Handles incoming messages for a single origin.
Hooks
The pallet hooks trait. This is merely an umbrella trait for:
Incrementable
A trait representing an incrementable type.
InherentBuilder
Interface for types capable of constructing an inherent extrinsic.
InitializeMembers
Trait for type that can handle the initialization of account IDs at genesis.
Instance
An instance of a pallet in the storage.
InstanceFilter
Simple trait for providing a filter over a reference to some type, given an instance of itself.
IntegrityTest
See Hooks::integrity_test.
IsInherent
A trait to check if an extrinsic is an inherent.
IsSubType
Something that can be checked to be a of sub type T.
IsType
Trait to be used when types are exactly same.
KeyOwnerProofSystem
Something which can compute and check proofs of a historical key owner and return full identification data of that key owner.
Lateness
Trait to be used by block producing consensus engine modules to determine how late the current block is (e.g. in a slot-based proposal mechanism how many slots were skipped since the previous block).
Len
Anything that can have a ::len() method.
OffchainWorker
Off-chain computation trait.
OnFinalize
See Hooks::on_finalize.
OnGenesis
A trait that will be called at genesis.
OnIdle
See Hooks::on_idle.
OnInitialize
See Hooks::on_initialize.
OnKilledAccount
The account with the given id was reaped.
OnNewAccount
Handler for when a new account has been created.
OnPoll
Periodically executes logic. Is not guaranteed to run within a specific timeframe and should only be used on logic that has no deadline.
OnRuntimeUpgrade
See Hooks::on_runtime_upgrade.
OnTimestampSet
A trait which is called when the timestamp is set in the runtime.
OneSessionHandler
A session handler for specific key type.
OriginTrait
Methods available on frame_system::Config::RuntimeOrigin.
PalletError
Trait indicating that the implementing type is going to be included as a field in a variant of the #[pallet::error] enum type.
PalletInfo
Provides information about the pallet itself and its setup in the runtime.
PalletInfoAccess
Provides information about the pallet itself and its setup in the runtime.
PalletsInfoAccess
Provide information about a bunch of pallets.
PartialStorageInfoTrait
Similar to StorageInfoTrait, a trait to give partial information about storage.
Polling
PostInherents
Provides a callback to execute logic after the all inherents.
PostTransactions
Provides a callback to execute logic before the all transactions.
PreInherents
Provides a callback to execute logic before the all inherents.
PreimageProvider
A interface for looking up preimages from their hash on chain.
PreimageRecipient
A interface for managing preimages to hashes on chain.
PrivilegeCmp
Something that can compare privileges of two origins.
ProcessMessage
Can process messages from a specific origin.
ProofToHashes
This trait is one strategy that can be used to benchmark a trie proof verification for the runtime. This strategy assumes that the majority complexity of verifying a merkle proof comes from computing hashes to recreate the merkle root. This trait converts the the proof, some bytes, to the number of hashes we expect to execute to verify that proof.
ProvingTrie
An interface for creating, interacting with, and creating proofs in a merkle trie.
QueryPreimage
A interface for looking up preimages from their hash on chain.
QueuePausedQuery
Provides information on paused queues.
Randomness
A trait that is able to provide randomness.
RankedMembers
Ranked membership data structure.
RankedMembersSwapHandler
Handler that can deal with the swap of two members.
SafeMode
Can put the runtime into a safe mode.
SafeModeNotify
A trait to notify when the runtime enters or exits safe mode.
ServiceQueues
Can service queues and execute overweight messages.
SignedTransactionBuilder
Interface for types capable of constructing a signed transaction.
SortedMembers
A trait for a set which can enumerate its members in order.
StorageInfoTrait
A trait to give information about storage.
StorageInstance
An instance of a storage in a pallet.
StorePreimage
A interface for managing preimages to hashes on chain.
StoredMap
An abstraction of a value stored within storage, but possibly as part of a larger composite item.
Time
TransactionPause
Can pause specific transactions from being processed.
TryCollect
Try and collect into a collection C.
TryDrop
A type for which some values make sense to be able to drop without further consideration.
TypedGet
A trait for querying a single value from a type defined in the trait.
UncheckedOnRuntimeUpgrade
This trait is intended for use within VersionedMigration to execute storage migrations without automatic version checks. Implementations should ensure migration logic is safe and idempotent.
UnfilteredDispatchable
Type that can be dispatched with an origin but without checking the origin filter.
UnixTime
Trait to deal with unix time.
ValidatorRegistration
Implementors of this trait provide information about whether or not some validator has been registered with them. The Session module is an implementor.
ValidatorSet
A trait for online node inspection in a session.
ValidatorSetWithIdentification
ValidatorSet combined with an identification.
VariantCount
Trait to get the number of variants in any enum.
VerifyExistenceProof
Something that can verify the existence of some data in a given proof.
VerifySeal
A trait for verifying the seal of a header and returning the author.
VoteTally
WhitelistedStorageKeys
Allows a pallet to specify storage keys to whitelist during benchmarking. This means those keys will be excluded from the benchmarking performance calculation.

Type Aliases§

AllowAllDeprecated
BoundedInline
DenyAllDeprecated
EnsureOneOfDeprecated
“OR gate” implementation of EnsureOrigin allowing for different Success types for L and R, with them combined using an Either type.
FetchResult