Trait sp_runtime::traits::Applyable
source · [−]pub trait Applyable: Sized + Send + Sync {
type Call: Dispatchable;
fn validate<V: ValidateUnsigned<Call = Self::Call>>(
&self,
source: TransactionSource,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity;
fn apply<V: ValidateUnsigned<Call = Self::Call>>(
self,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Self::Call>>;
}
Expand description
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: Dispatchable
type Call: Dispatchable
Type by which we can dispatch. Restricts the UnsignedValidator
type.
Required methods
fn validate<V: ValidateUnsigned<Call = Self::Call>>(
&self,
source: TransactionSource,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> TransactionValidity
fn validate<V: ValidateUnsigned<Call = Self::Call>>(
&self,
source: TransactionSource,
info: &DispatchInfoOf<Self::Call>,
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: &DispatchInfoOf<Self::Call>,
len: usize
) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Self::Call>>
fn apply<V: ValidateUnsigned<Call = Self::Call>>(
self,
info: &DispatchInfoOf<Self::Call>,
len: usize
) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Self::Call>>
Executes all necessary logic needed prior to dispatch and deconstructs into function call, index and sender.