[][src]Trait sp_runtime::traits::Applyable

pub trait Applyable: Sized + Send + Sync {
    type Call;
    type DispatchInfo: Clone;
    fn validate<V: ValidateUnsigned<Call = Self::Call>>(
        &self,
        info: Self::DispatchInfo,
        len: usize
    ) -> TransactionValidity;
fn apply<V: ValidateUnsigned<Call = Self::Call>>(
        self,
        info: Self::DispatchInfo,
        len: usize
    ) -> ApplyExtrinsicResult; }

An "executable" piece of information, used by the standard Substrate Executive in order to enact a piece of extrinsic information by marshalling and dispatching to a named function call.

Also provides information on to whom this information is attributable and an index that allows each piece of attributable information to be disambiguated.

Associated Types

type Call

Type by which we can dispatch. Restricts the UnsignedValidator type.

type DispatchInfo: Clone

An opaque set of information attached to the transaction.

Loading content...

Required methods

fn validate<V: ValidateUnsigned<Call = Self::Call>>(
    &self,
    info: Self::DispatchInfo,
    len: usize
) -> TransactionValidity

Checks to see if this is a valid transaction. It returns information on it if so.

fn apply<V: ValidateUnsigned<Call = Self::Call>>(
    self,
    info: Self::DispatchInfo,
    len: usize
) -> ApplyExtrinsicResult

Executes all necessary logic needed prior to dispatch and deconstructs into function call, index and sender.

Loading content...

Implementors

impl<AccountId, Call, Extra, Origin, Info> Applyable for CheckedExtrinsic<AccountId, Call, Extra> where
    AccountId: Member + MaybeDisplay,
    Call: Member + Dispatchable<Origin = Origin>,
    Extra: SignedExtension<AccountId = AccountId, Call = Call, DispatchInfo = Info>,
    Origin: From<Option<AccountId>>,
    Info: Clone
[src]

type Call = Call

type DispatchInfo = Info

impl<Origin, Call, Extra, Info> Applyable for TestXt<Call, Extra> where
    Call: 'static + Sized + Send + Sync + Clone + Eq + Codec + Debug + Dispatchable<Origin = Origin>,
    Extra: SignedExtension<AccountId = u64, Call = Call, DispatchInfo = Info>,
    Origin: From<Option<u64>>,
    Info: Clone
[src]

type Call = Call

type DispatchInfo = Info

fn validate<U: ValidateUnsigned<Call = Self::Call>>(
    &self,
    _info: Self::DispatchInfo,
    _len: usize
) -> TransactionValidity
[src]

Checks to see if this is a valid transaction. It returns information on it if so.

fn apply<U: ValidateUnsigned<Call = Self::Call>>(
    self,
    info: Self::DispatchInfo,
    len: usize
) -> ApplyExtrinsicResult
[src]

Executes all necessary logic needed prior to dispatch and deconstructs into function call, index and sender.

Loading content...