Struct pallet_transaction_payment::pallet::Pallet
source · pub struct Pallet<T>(_);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn next_fee_multiplier() -> Multiplier
pub fn next_fee_multiplier() -> Multiplier
An auto-generated getter for NextFeeMultiplier
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn query_info<Extrinsic: Extrinsic + GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
pub fn query_info<Extrinsic: Extrinsic + GetDispatchInfo>( unchecked_extrinsic: Extrinsic, len: u32 ) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: 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.
sourcepub fn query_fee_details<Extrinsic: Extrinsic + GetDispatchInfo>(
unchecked_extrinsic: Extrinsic,
len: u32
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
pub fn query_fee_details<Extrinsic: Extrinsic + GetDispatchInfo>( unchecked_extrinsic: Extrinsic, len: u32 ) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
Query the detailed fee of a given call
.
sourcepub fn query_call_info(
call: T::RuntimeCall,
len: u32
) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo> + GetDispatchInfo,
pub fn query_call_info( call: T::RuntimeCall, len: u32 ) -> RuntimeDispatchInfo<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: Dispatchable<Info = DispatchInfo> + GetDispatchInfo,
Query information of a dispatch class, weight, and fee of a given encoded Call
.
sourcepub fn query_call_fee_details(
call: T::RuntimeCall,
len: u32
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo> + GetDispatchInfo,
pub fn query_call_fee_details( call: T::RuntimeCall, len: u32 ) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: Dispatchable<Info = DispatchInfo> + GetDispatchInfo,
Query fee details of a given encoded Call
.
sourcepub fn compute_fee(
len: u32,
info: &DispatchInfoOf<T::RuntimeCall>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balancewhere
T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
pub fn compute_fee( len: u32, info: &DispatchInfoOf<T::RuntimeCall>, tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance ) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balancewhere T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
Compute the final fee value for a particular transaction.
sourcepub fn compute_fee_details(
len: u32,
info: &DispatchInfoOf<T::RuntimeCall>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
pub fn compute_fee_details( len: u32, info: &DispatchInfoOf<T::RuntimeCall>, tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance ) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
Compute the fee details for a particular transaction.
sourcepub fn compute_actual_fee(
len: u32,
info: &DispatchInfoOf<T::RuntimeCall>,
post_info: &PostDispatchInfoOf<T::RuntimeCall>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balancewhere
T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
pub fn compute_actual_fee( len: u32, info: &DispatchInfoOf<T::RuntimeCall>, post_info: &PostDispatchInfoOf<T::RuntimeCall>, tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance ) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balancewhere T::RuntimeCall: 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.
sourcepub fn compute_actual_fee_details(
len: u32,
info: &DispatchInfoOf<T::RuntimeCall>,
post_info: &PostDispatchInfoOf<T::RuntimeCall>,
tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where
T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
pub fn compute_actual_fee_details( len: u32, info: &DispatchInfoOf<T::RuntimeCall>, post_info: &PostDispatchInfoOf<T::RuntimeCall>, tip: <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance ) -> FeeDetails<<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance>where T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
Compute the actual post dispatch fee details for a particular transaction.
sourcepub fn length_to_fee(
length: u32
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
pub fn length_to_fee( length: u32 ) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
Compute the length portion of a fee by invoking the configured LengthToFee
impl.
sourcepub fn weight_to_fee(
weight: Weight
) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
pub fn weight_to_fee( weight: Weight ) -> <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance
Compute the unadjusted portion of the weight fee by invoking the configured WeightToFee
impl. Note that the input weight
is capped by the maximum block weight before computation.
Trait Implementations§
source§impl<T> Convert<Weight, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T>where
T: Config,
impl<T> Convert<Weight, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T>where T: Config,
source§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.
source§impl<T: Config, AnyCall: GetDispatchInfo + Encode> EstimateCallFee<AnyCall, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance> for Pallet<T>where
T::RuntimeCall: 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::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
source§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
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_finalize(_: BlockNumberFor<T>)
fn on_finalize(_: BlockNumberFor<T>)
source§fn integrity_test()
fn integrity_test()
source§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moresource§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
fn try_state(_n: BlockNumber) -> Result<(), DispatchError>
source§fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
fn pre_upgrade() -> Result<Vec<u8, Global>, DispatchError>
source§fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
fn post_upgrade(_state: Vec<u8, Global>) -> Result<(), DispatchError>
source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
.source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_idle
.source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
.source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
fn pre_upgrade() -> Result<Vec<u8>, TryRuntimeError>
Hooks::pre_upgrade
.source§fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
fn post_upgrade(state: Vec<u8>) -> Result<(), TryRuntimeError>
Hooks::post_upgrade
.source§fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
fn try_on_runtime_upgrade(checks: bool) -> Result<Weight, DispatchError>
pre_upgrade
->
on_runtime_upgrade
-> post_upgrade
hooks for a migration. Read moresource§impl<T: Config> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T: Config> PalletsInfoAccess for Pallet<T>
impl<T: Config> PalletsInfoAccess for Pallet<T>
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> StorageInfoTrait for Pallet<T>
impl<T: Config> StorageInfoTrait for Pallet<T>
fn storage_info() -> Vec<StorageInfo>
source§impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> TryState<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn try_state(
n: BlockNumberFor<T>,
_s: TryStateSelect
) -> Result<(), TryRuntimeError>
fn try_state( n: BlockNumberFor<T>, _s: TryStateSelect ) -> Result<(), TryRuntimeError>
source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T> Eq for Pallet<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,
impl<T> Send for Pallet<T>where T: Send,
impl<T> Sync for Pallet<T>where T: Sync,
impl<T> Unpin for Pallet<T>where T: Unpin,
impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.