* Remove Default, HasCompact, and TypeInfo trait bounds on AssetId * don't use default in benchmarking * add helper trait * add helper to assets tx payment test * docs fixes * i'm confused * aha, cargo * move affected dispatchable calls into new indices * Helper -> BenchmarkHelper * benchmark use of helper * actually, don't break every call interface * use into on AssetIdParameter * Remove From from AssetIdParameter and use it in BenchmarkHelper * include from Co-authored-by: parity-processbot <>
pallet-asset-tx-payment
Asset Transaction Payment Pallet
This pallet allows runtimes that include it to pay for transactions in assets other than the native token of the chain.
Overview
It does this by extending transactions to include an optional AssetId that specifies the asset
to be used for payment (defaulting to the native token on None). It expects an
[OnChargeAssetTransaction] implementation analogously to [pallet-transaction-payment]. The
included [FungiblesAdapter] (implementing [OnChargeAssetTransaction]) determines the fee
amount by converting the fee calculated by [pallet-transaction-payment] into the desired
asset.
Integration
This pallet wraps FRAME's transaction payment pallet and functions as a replacement. This means
you should include both pallets in your construct_runtime macro, but only include this
pallet's [SignedExtension] ([ChargeAssetTxPayment]).
License: Apache-2.0