Struct pallet_transaction_payment::pallet::Pallet [−][src]
pub struct Pallet<T>(_);
Expand description
The pallet implementing the on-chain logic.
Implementations
impl<T: Config> Pallet<T> where
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
impl<T: Config> Pallet<T> where
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
pub fn query_info<Extrinsic: GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
pub fn query_info<Extrinsic: GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
Query the data that we know about the fee of a given call
.
This pallet is not and cannot be aware of the internals of a signed extension, for example a tip. It only interprets the extrinsic as some encoded value and accounts for its weight and length, the runtime’s extrinsic base weight, and the current fee multiplier.
All dispatchables must be annotated with weight and will have some fee info. This function always returns.
pub fn query_fee_details<Extrinsic: GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
pub fn query_fee_details<Extrinsic: GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
Query the detailed fee of a given call
.
pub fn compute_fee(
len: u32,
info: &DispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance where
T::Call: Dispatchable<Info = DispatchInfo>,
pub fn compute_fee(
len: u32,
info: &DispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance where
T::Call: Dispatchable<Info = DispatchInfo>,
Compute the final fee value for a particular transaction.
pub fn compute_fee_details(
len: u32,
info: &DispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
pub fn compute_fee_details(
len: u32,
info: &DispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo>,
Compute the fee details for a particular transaction.
pub fn compute_actual_fee(
len: u32,
info: &DispatchInfoOf<T::Call>,
post_info: &PostDispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
pub fn compute_actual_fee(
len: u32,
info: &DispatchInfoOf<T::Call>,
post_info: &PostDispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
Compute the actual post dispatch fee for a particular transaction.
Identical to compute_fee
with the only difference that the post dispatch corrected
weight is used for the weight fee calculation.
pub fn compute_actual_fee_details(
len: u32,
info: &DispatchInfoOf<T::Call>,
post_info: &PostDispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
pub fn compute_actual_fee_details(
len: u32,
info: &DispatchInfoOf<T::Call>,
post_info: &PostDispatchInfoOf<T::Call>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> where
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
Compute the actual post dispatch fee details for a particular transaction.
Trait Implementations
impl<T> Convert<u64, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T> where
T: Config,
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
impl<T> Convert<u64, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T> where
T: Config,
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
fn convert(
weight: Weight
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
fn convert(
weight: Weight
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
Compute the fee for the specified weight.
This fee is already adjusted by the per block fee adjustment factor and is therefore the share that the weight contributes to the overall fee of a transaction. It is mainly for informational purposes and not used in the actual fee calculation.
impl<T: Config, AnyCall: GetDispatchInfo + Encode> EstimateCallFee<AnyCall, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T> where
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
impl<T: Config, AnyCall: GetDispatchInfo + Encode> EstimateCallFee<AnyCall, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T> where
<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: FixedPointOperand,
T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
fn estimate_call_fee(
call: &AnyCall,
post_info: PostDispatchInfo
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
fn estimate_call_fee(
call: &AnyCall,
post_info: PostDispatchInfo
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
Estimate the fee of this call. Read more
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
The block is being finalized. Implement to have something happen.
Run integrity test. Read more
This will be run when the block is being finalized (before on_finalize
).
Implement to have something happen using the remaining weight.
Will not fire if the remaining weight is 0.
Return the weight used, the hook will subtract it from current weight used
and pass the result to the next on_idle
hook if it exists. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Execute some pre-checks prior to a runtime upgrade. Read more
Execute some post-checks after a runtime upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being finalized.
Implement to have something happen in case there is leftover weight.
Check the passed remaining_weight
to make sure it is high enough to allow for
your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Pallet<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Pallet<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Generate a storage key unique to this runtime upgrade. Read more
Get temporary storage data written by Self::set_temp_storage
. Read more
Write some temporary data to a specific storage that can be read (potentially in
post-upgrade hook) via Self::get_temp_storage
. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,