cumulus
cumulus copied to clipboard
Burning fee allowed for system parachain?
https://github.com/paritytech/cumulus/blob/66887505e6c5ef89ce9f88fc4ec368eb858b1b92/parachains/runtimes/assets/statemint/src/xcm_config.rs#L314
To my understanding, this will burn all XCM fees.
Two questions:
- Shouldn't fee be sent to collator?
- Can system parachain allowed to burn relaychain tokens (without notifying relaychain)? Wouldn't this cause imbalances? i.e. balance mismatch between relaychain's checking account and parachain's total issuance.
Yes, I agree
Yes, when FeeManager is used, they would be better sent to a proper account.
Talking with Gav, it's best if the fees get accrued in the chain's treasury / a holding account rather than it going to collators. He said the only real question is the degree of aggregation:
-
No aggregation: use
AssetTransactordirectly inFeeManager. -
Aggregate over XCVM execution: accrue in an XCVM MultiAssets (Holding-like) register and use
AssetTransactorto disperse assets at the end of the XCVM execution. -
Aggregate over block: accrue in a temporary
MultiAssetsstorage item inpallet-xcmand place assets into accounts via a permissionless transaction (a "task", in the new lexicon) andAssetTransactor. -
Aggregate indefinitely: accrue in a permanent
MultiAssetsstorage item inpallet-xcmand allow a specific XCM origin to callClaimAssetto claim them.
Option 1 is the easiest to implement, so we will do that initially but the others should be implemented eventually.