Crate frame_support[][src]

Expand description

Support code for the runtime.

Re-exports

pub use serde;
pub use self::dispatch::Callable;
pub use self::dispatch::Parameter;
pub use self::storage::bounded_vec::BoundedSlice;
pub use self::storage::bounded_vec::BoundedVec;
pub use self::storage::migration;
pub use self::storage::weak_bounded_vec::WeakBoundedVec;
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

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.

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.

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.

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

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

Enums

A type that cannot be instantiated.

The void type - it cannot exist.

Constants

A unified log target for support operations.

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

Print out the debuggable type.

Print something that implements Printable from the runtime.

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.

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 Eq 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.