pub trait Pipeline<Call: Dispatchable>:
Encode
+ DecodeWithVersion
+ DecodeWithVersionWithMemTracking
+ Debug
+ StaticTypeInfo
+ Send
+ Sync
+ Clone
+ PipelineVersion {
// Required methods
fn build_metadata(builder: &mut PipelineMetadataBuilder);
fn validate_only(
&self,
origin: DispatchOriginOf<Call>,
call: &Call,
info: &DispatchInfoOf<Call>,
len: usize,
source: TransactionSource,
) -> Result<ValidTransaction, TransactionValidityError>;
fn dispatch_transaction(
self,
origin: DispatchOriginOf<Call>,
call: Call,
info: &DispatchInfoOf<Call>,
len: usize,
) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Call>>;
fn weight(&self, call: &Call) -> Weight;
}Expand description
A versioned transaction extension pipeline.
This defines multiple version of a transaction extensions pipeline.
(type name is short for versioned (Vers) Pipeline).
Required Methods§
Sourcefn build_metadata(builder: &mut PipelineMetadataBuilder)
fn build_metadata(builder: &mut PipelineMetadataBuilder)
Build the metadata for the versioned transaction extension pipeline.
Sourcefn validate_only(
&self,
origin: DispatchOriginOf<Call>,
call: &Call,
info: &DispatchInfoOf<Call>,
len: usize,
source: TransactionSource,
) -> Result<ValidTransaction, TransactionValidityError>
fn validate_only( &self, origin: DispatchOriginOf<Call>, call: &Call, info: &DispatchInfoOf<Call>, len: usize, source: TransactionSource, ) -> Result<ValidTransaction, TransactionValidityError>
Validate a transaction.
Sourcefn dispatch_transaction(
self,
origin: DispatchOriginOf<Call>,
call: Call,
info: &DispatchInfoOf<Call>,
len: usize,
) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Call>>
fn dispatch_transaction( self, origin: DispatchOriginOf<Call>, call: Call, info: &DispatchInfoOf<Call>, len: usize, ) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Call>>
Dispatch a transaction.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.