Module frame_support::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§

Modules§

  • 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.
  • 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.
  • Prelude module for all defensive traits to be imported at once.
  • Types and traits for dynamic parameters.
  • Traits and associated utilities for scheduling dispatchables in FRAME.
  • Contains the Task trait, which defines a general-purpose way for defining and executing service work, and supporting types.
  • Traits for working with tokens and their associated datastructures.

Structs§

Enums§

Constants§

Traits§

  • Trait for touching/creating an asset account with a deposit taken from a designated depositor specified by the client.
  • Implemented by pallets, allows defining logic to run prior to any OnRuntimeUpgrade logic.
  • A trait to define the build function of a genesis config for both runtime and pallets.
  • 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.
  • Trait for type that can handle incremental changes to a set of account IDs.
  • Some sort of cost taken from account temporarily in order to offset the cost to the chain of holding some data Footprint in state.
  • A trait for querying whether a type can be said to “contain” a value.
  • A trait for querying bound for the length of an implementation of Contains
  • A trait for querying whether a type can be said to “contain” a pair-value.
  • 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.
  • Defensively calculates the maximum of two values.
  • Defensively calculates the minimum of two values.
  • Subset of methods similar to Defensive that can only work for a Option.
  • Subset of methods similar to Defensive that can only work for a Result.
  • A variant of Defensive with the same rationale, for the arithmetic operations where in case an infallible operation fails, it saturates.
  • Construct an object by defensively truncating an input if the TryFrom conversion fails.
  • Trait used to check whether a given validator is currently disabled and should not be participating in consensus (e.g. because they equivocated).
  • Can enqueue messages for multiple origins.
  • A trait to ensure the inherent are before non-inherent in a block.
  • Some sort of check on the origin is performed by this object.
  • Some sort of check on the origin is performed by this object.
  • Something that can estimate the fee of a (frame-based) call.
  • Something that can estimate at which block scheduling of the next session will happen (i.e when we will try to fetch new validators).
  • Something that can estimate at which block the next session rotation will happen (i.e. a new session starts).
  • Something that can execute a given block.
  • An extrinsic on which we can get access to call.
  • FilterDeprecated
  • Trait to add a constraint onto the filter.
  • 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.
  • A trait for querying a single value from a type.
  • Retrieve the backing from an object’s ref.
  • Gets the function index of the Call.
  • Gets the metadata for the Call - function name and pallet name.
  • Gets the function name of the Call.
  • Provides information about a pallet’s storage versions.
  • A simple, generic one-parameter event notifier/handler.
  • Handles incoming messages for a single origin.
  • The pallet hooks trait. This is merely an umbrella trait for:
  • A trait representing an incrementable type.
  • Trait for type that can handle the initialization of account IDs at genesis.
  • An instance of a pallet in the storage.
  • Simple trait for providing a filter over a reference to some type, given an instance of itself.
  • A trait to check if an extrinsic is an inherent.
  • Something that can be checked to be a of sub type T.
  • Trait to be used when types are exactly same.
  • Something which can compute and check proofs of a historical key owner and return full identification data of that key owner.
  • 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).
  • Anything that can have a ::len() method.
  • Off-chain computation trait.
  • A trait that will be called at genesis.
  • The account with the given id was reaped.
  • Handler for when a new account has been created.
  • Periodically executes logic. Is not guaranteed to run within a specific timeframe and should only be used on logic that has no deadline.
  • A trait which is called when the timestamp is set in the runtime.
  • A session handler for specific key type.
  • Methods available on frame_system::Config::RuntimeOrigin.
  • Trait indicating that the implementing type is going to be included as a field in a variant of the #[pallet::error] enum type.
  • Provides information about the pallet itself and its setup in the runtime.
  • Provides information about the pallet itself and its setup in the runtime.
  • Provide information about a bunch of pallets.
  • Similar to StorageInfoTrait, a trait to give partial information about storage.
  • Provides a callback to execute logic after the all inherents.
  • Provides a callback to execute logic before the all transactions.
  • Provides a callback to execute logic before the all inherents.
  • A interface for looking up preimages from their hash on chain.
  • A interface for managing preimages to hashes on chain.
  • Something that can compare privileges of two origins.
  • Can process messages from a specific origin.
  • 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.
  • An interface for creating, interacting with, and creating proofs in a merkle trie.
  • A interface for looking up preimages from their hash on chain.
  • Provides information on paused queues.
  • A trait that is able to provide randomness.
  • Ranked membership data structure.
  • Handler that can deal with the swap of two members.
  • Can put the runtime into a safe mode.
  • A trait to notify when the runtime enters or exits safe mode.
  • Can service queues and execute overweight messages.
  • A trait for a set which can enumerate its members in order.
  • A trait to give information about storage.
  • An instance of a storage in a pallet.
  • A interface for managing preimages to hashes on chain.
  • An abstraction of a value stored within storage, but possibly as part of a larger composite item.
  • Can pause specific transactions from being processed.
  • Try and collect into a collection C.
  • Decode the entire data under the given storage type.
  • A type for which some values make sense to be able to drop without further consideration.
  • Execute some checks to ensure the internal state of a pallet is consistent.
  • A trait for querying a single value from a type defined in the trait.
  • 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.
  • Type that can be dispatched with an origin but without checking the origin filter.
  • Trait to deal with unix time.
  • Implementors of this trait provide information about whether or not some validator has been registered with them. The Session module is an implementor.
  • A trait for online node inspection in a session.
  • ValidatorSet combined with an identification.
  • Trait to get the number of variants in any enum.
  • Something that can verify the existence of some data in a given proof.
  • A trait for verifying the seal of a header and returning the author.
  • 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§