Crate frame_support
source ·Expand description
Support code for the runtime.
Note on Tuple Traits
Many of the traits defined in traits
have auto-implementations on tuples as well. Usually,
the tuple is a function of number of pallets in the runtime. By default, the traits are
implemented for tuples of up to 64 items.
Re-exports
pub use serde;
pub use self::storage::storage_noop_guard::StorageNoopGuard;
pub use self::dispatch::Callable;
pub use self::dispatch::Parameter;
pub use self::storage::migration;
pub use self::storage::IterableStorageDoubleMap;
pub use self::storage::IterableStorageMap;
pub use self::storage::IterableStorageNMap;
pub use self::storage::StorageDoubleMap;
pub use self::storage::StorageMap;
pub use self::storage::StorageNMap;
pub use self::storage::StoragePrefixedMap;
pub use self::storage::StorageValue;
pub use sp_runtime;
Modules
Utilities for dealing with crypto primitives. Sometimes we need to use these from inside WASM
contracts, where crypto calculations have weak performance.
Dispatch system. Contains a macro for defining runtime modules and
generating values representing lazy module function calls.
Macro for declaring a module error.
Macros that define an Event types. Events can be used to easily report changes or conditions
in your runtime to external entities like users, chain explorers, or dApps.
Some instance placeholder to be used in
frame_support::pallet
attribute macro.Prelude to be used alongside pallet macro, for ease of use.
Stuff to do with the runtime’s storage.
Traits and associated utilities for use in the FRAME environment.
Primitives for transaction weighting.
Macros
Assert an expression returns an error specified.
Assert an expression returns an error specified.
Assert an expression returns error with the given weight.
Assert that the maximum encoding size does not exceed the value defined in
MAX_MODULE_ERROR_ENCODED_SIZE
during compilation.Evaluate an expression, assert it returns an expected
Err
value and that
runtime storage has not been mutated (i.e. expression is a no-operation).Panic if an expression doesn’t evaluate to
Ok
.Evaluate any expression and assert that runtime storage has not been mutated
(i.e. expression is a storage no-operation).
Construct a runtime, with the given name and the given pallets.
Convert the current crate version into a
CrateVersion
.Declare an error type for a runtime module.
Implement the
Event
for a module.Declares a
Module
struct and a Call
enum, which implements the dispatch logic.Declares strongly-typed wrappers around codec-compatible types in storage.
Generic function to mark an execution path as ONLY defensive.
Evaluate
$x:expr
and if not true return Err($y:expr)
.Return Err of the expression:
return Err($expression);
.Macro that inserts some tokens after the first match of some pattern.
match_typeDeprecated
Create a type which implements the
Contains
trait for a particular type with syntax similar
to matches!
.Create a type which implements the
Contains
trait for a particular type with syntax similar
to matches!
.Macro for easily creating a new implementation of both the
Get
and Contains
traits. Use
exactly as with parameter_types
, only the type must be Ord
.Create new implementations of the
Get
trait.Print out a formatted message.
Structs
Hash storage keys with blake2 128
Hash storage keys with
concat(blake2_128(key), key)
Hash storage keys with blake2 256
A bounded map based on a B-Tree.
A bounded set based on a B-Tree.
A bounded slice.
A bounded vector.
Store the key directly.
A pallet identifier. These are per pallet and should be stored in a registry somewhere.
Hash storage keys with
concat(twox64(key), key)
Hash storage keys with twox 128
Hash storage keys with twox 256
A weakly bounded vector.
Enums
Constants
A unified log target for support operations.
The number of bytes of the module-specific
error
field defined in ModuleError
.
In FRAME, this is the maximum encoded size of a pallet error type.Traits
Trait for things which can be printed from the runtime.
Hasher to use to hash keys to insert to storage.
Hasher to use to hash keys to insert to storage.
Functions
Type Definitions
Consensus engine unique ID.
Attribute Macros
pallet
attribute macro allows to define a pallet to be used in construct_runtime!
.Assert the annotated function is executed within a storage transaction.
Generate a new type alias for
storage::types::StorageValue
,
storage::types::StorageMap
, storage::types::StorageDoubleMap
and storage::types::StorageNMap
.Execute the annotated function in a new storage transaction.
Derive Macros
Derive
Clone
but do not bound any generic.Derive
Debug
but do not bound any generic.Derive
Default
but do not bound any generic.Derive
PartialEq
but do not bound any generic.Derive
Debug
, if std
is enabled it uses frame_support::DebugNoBound
, if std
is not
enabled it just returns "<stripped>"
.
This behaviour is useful to prevent bloating the runtime WASM blob from unneeded code.