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

pub trait Applyable: Sized + Send + Sync {
    type AccountId: Member + MaybeDisplay;
    type Call;
    type DispatchInfo: Clone;
    fn sender(&self) -> Option<&Self::AccountId>;
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 AccountId: Member + MaybeDisplay

ID of the account that is responsible for this piece of information (sender).

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 sender(&self) -> Option<&Self::AccountId>

Returns a reference to the sender if any.

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 AccountId = AccountId

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 AccountId = u64

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