Skip to main content

TransactionPayment

undefined## Storage

nextFeeMultiplier

Namespace

api.query.transactionPayment.nextFeeMultiplier

Type

function nextFeeMultiplier(

): u128

storageVersion

Namespace

api.query.transactionPayment.storageVersion

Type

function storageVersion(

): PalletTransactionPaymentReleases

Events

TransactionFeePaid

A transaction fee actual_fee, of which tip was added to the minimum inclusion fee, has been paid by who.

Namespace

api.events.transactionPayment.TransactionFeePaid

Type

type TransactionFeePaid = {
  who: SeedPrimitivesSignatureAccountId20,
  actual_fee: u128,
  tip: u128
}

undefined## Constants

operationalFeeMultiplier

A fee mulitplier for Operational extrinsics to compute "virtual tip" to boost their priority

This value is multipled by the final_fee to obtain a "virtual tip" that is later added to a tip component in regular priority calculations. It means that a Normal transaction can front-run a similarly-sized Operational extrinsic (with no tip), by including a tip value greater than the virtual tip.

```rust,ignore // For Normal let priority = priority_calc(tip);

// For Operational let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier; let priority = priority_calc(tip + virtual_tip); ```

Note that since we use final_fee the multiplier applies also to the regular tip sent with the transaction. So, not only does the transaction get a priority bump based on the inclusion_fee, but we also amplify the impact of tips applied to Operational transactions.

Namespace

api.consts.transactionPayment.operationalFeeMultiplier

Type

type operationalFeeMultiplier = u8