pallet-skip-feeless-payment 9.0.0

Pallet to skip payments for calls annotated with `feeless_if` if the respective conditions are satisfied. (polkadot v1.12.0)
Documentation

Skip Feeless Payment Pallet

This pallet allows runtimes that include it to skip payment of transaction fees for dispatchables marked by [#[pallet::feeless_if]](macro@ frame_support::pallet_prelude::feeless_if).

Overview

It does this by wrapping an existing [SignedExtension] implementation (e.g. [pallet-transaction-payment]) and checking if the dispatchable is feeless before applying the wrapped extension. If the dispatchable is indeed feeless, the extension is skipped and a custom event is emitted instead. Otherwise, the extension is applied as usual.

Integration

This pallet wraps an existing transaction payment pallet. This means you should both pallets in your construct_runtime macro and include this pallet's [SignedExtension] ([SkipCheckIfFeeless]) that would accept the existing one as an argument.