#pallet #payment #extension #skip #polkadot #events #feeless

no-std pallet-skip-feeless-payment

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

8 releases (major breaking)

7.0.0 Apr 8, 2024
6.0.0 Mar 18, 2024
5.0.0 Feb 26, 2024
4.0.0 Feb 13, 2024
0.0.0 Nov 14, 2023

#2225 in Magic Beans

Download history 8/week @ 2024-01-19 14/week @ 2024-02-09 85/week @ 2024-02-16 115/week @ 2024-02-23 53/week @ 2024-03-01 4/week @ 2024-03-08 94/week @ 2024-03-15 16/week @ 2024-03-22 10/week @ 2024-03-29 87/week @ 2024-04-05

207 downloads per month

GPL-3.0-only

2MB
34K SLoC

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.

Dependencies

~17–31MB
~495K SLoC