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

    // Required method
    fn dispatch(
        self,
        origin: Self::RuntimeOrigin
    ) -> Result<Self::PostInfo, DispatchErrorWithPostInfo<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

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<Self::PostInfo> + 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 ownly known post dispatch.

Required Methods§

source

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

Actually dispatch this call and return the result of it.

Implementations on Foreign Types§

source§

impl Dispatchable for ()

Implementors§