Trait TransactionPaymentApi

Source
pub trait TransactionPaymentApi: RuntimeApi {
    type FeeDetails;
    type RuntimeDispatchInfo;
    type Balance;
    type Weight;

    // Required methods
    fn query_fee_details<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>(
        &'life0 self,
        extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
        length: u32,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::FeeDetails>> + 'async_trait>>
       where Address: Encode + 'async_trait,
             Call: Encode + 'async_trait,
             Signature: Encode + 'async_trait,
             TransactionExtension: Encode + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait;
    fn query_fee_details_opaque<'life0, 'async_trait>(
        &'life0 self,
        extrinsic: Vec<u8>,
        length: u32,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::FeeDetails>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_info<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>(
        &'life0 self,
        extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
        length: u32,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::RuntimeDispatchInfo>> + 'async_trait>>
       where Address: Encode + 'async_trait,
             Call: Encode + 'async_trait,
             Signature: Encode + 'async_trait,
             TransactionExtension: Encode + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait;
    fn query_info_opaque<'life0, 'async_trait>(
        &'life0 self,
        extrinsic: Vec<u8>,
        length: u32,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::RuntimeDispatchInfo>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_length_to_fee<'life0, 'async_trait>(
        &'life0 self,
        length: u32,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::Balance>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn query_weight_to_fee<'life0, 'async_trait>(
        &'life0 self,
        weight: Self::Weight,
        at_block: Option<Self::Hash>,
    ) -> Pin<Box<dyn Future<Output = Result<Self::Balance>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Associated Types§

Required Methods§

Source

fn query_fee_details<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, length: u32, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::FeeDetails>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Query the transaction fee details.

Source

fn query_fee_details_opaque<'life0, 'async_trait>( &'life0 self, extrinsic: Vec<u8>, length: u32, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::FeeDetails>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query the transaction fee details of opaque extrinsic.

Source

fn query_info<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, length: u32, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::RuntimeDispatchInfo>> + 'async_trait>>
where Address: Encode + 'async_trait, Call: Encode + 'async_trait, Signature: Encode + 'async_trait, TransactionExtension: Encode + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

Query the transaction fee info.

Source

fn query_info_opaque<'life0, 'async_trait>( &'life0 self, extrinsic: Vec<u8>, length: u32, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::RuntimeDispatchInfo>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query the transaction info of opaque extrinsic.

Source

fn query_length_to_fee<'life0, 'async_trait>( &'life0 self, length: u32, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::Balance>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query the output of the current LengthToFee given some input.

Source

fn query_weight_to_fee<'life0, 'async_trait>( &'life0 self, weight: Self::Weight, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::Balance>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query the output of the current WeightToFee given some input.

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.

Implementors§