The XCM v3 implementation of BuyExecution
does not make use of the newly introduced JIT fees withdrawal. (e.g. used via take_fee
here in ExportMessage
)
Why is that?
The XCM v3 implementation of BuyExecution
does not make use of the newly introduced JIT fees withdrawal. (e.g. used via take_fee
here in ExportMessage
)
Why is that?
Because the one responsible for paying the fees isn't always necessarily the origin.
Recall that you can fill up the holding register with assets via a couple of instructions, they are:
WithdrawAsset
ReceiveTeleportedAsset
ReserveAssetDeposited
ClaimAsset
Of which the only instruction that takes fees from the origin is WithdrawAsset
. For all the other instructions listed, it is most often not the case that the asset being put into the holding register belongs to the origin.