pub trait Dispatchable {
    type RuntimeOrigin: Debug;
    type Config;
    type Info;
    type PostInfo: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable;

    // Required method
    fn dispatch(
        self,
        origin: Self::RuntimeOrigin
    ) -> DispatchResultWithInfo<Self::PostInfo>;
}
Expand description

A lazy call (module function and argument values) that can be executed via its dispatch method.

Required Associated Types§

source

type RuntimeOrigin: Debug

Every function call from your runtime has an origin, which specifies where the extrinsic was generated from. In the case of a signed extrinsic (transaction), the origin contains an identifier for the caller. The origin can be empty in the case of an inherent extrinsic.

source

type Config

…

source

type Info

An opaque set of information attached to the transaction. This could be constructed anywhere down the line in a runtime. The current Substrate runtime uses a struct with the same name to represent the dispatch class and weight.

source

type PostInfo: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable

Additional information that is returned by dispatch. Can be used to supply the caller with information about a Dispatchable that is only known post dispatch.

Required Methods§

source

fn dispatch( self, origin: Self::RuntimeOrigin ) -> DispatchResultWithInfo<Self::PostInfo>

Actually dispatch this call and return the result of it.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Dispatchable for ()

§

type RuntimeOrigin = ()

§

type Config = ()

§

type Info = ()

§

type PostInfo = ()

source§

fn dispatch( self, _origin: Self::RuntimeOrigin ) -> DispatchResultWithInfo<Self::PostInfo>

Implementors§