Crate cumulus_primitives_utility
source ·Expand description
Helper datatypes for cumulus. This includes the ParentAsUmp
routing type which will route
messages into an [UpwardMessageSender
] if the destination is Parent
.
Structs§
- Xcm router which recognises the
Parent
destination and handles it by sending the message into the given UMPUpwardMessageSender
implementation. Thus this essentially adapts anUpwardMessageSender
trait impl into aSendXcm
trait impl. - Provides an implementation of [
WeightTrader
] to charge for weight using the first asset specified in thepayment
argument. - Charges for execution in the first asset of those selected for fee payment Only succeeds for Concrete Fungible Assets First tries to convert the this Asset into a local assetId Then charges for this assetId as described by FeeCharger Weight, paid balance, local asset Id and the location is stored for later refund purposes Important: Errors if the Trader is being called twice by 2 BuyExecution instructions Alternatively we could just return payment in the aforementioned case
- Implementation of
xcm_builder::EnsureDelivery
which helps to ensure delivery to the parent relay chain. Deposits existential deposit for origin (if needed). Deposits estimated fee to the origin account (if needed). Allows triggering of additional logic for a specificParaId
(e.g. to open an HRMP channel) if needed. - XCM fee depositor to which we implement the
TakeRevenue
trait. It receives aTransact
implemented argument and a 32 byte convertibleAccountId
, and the fee receiver account’sFungiblesMutateAdapter
should be identical to that implemented byWithdrawAsset
.
Traits§
- ChargeWeightInFungibles trait, which converts a given amount of weight and an assetId, and it returns the balance amount that should be charged in such assetId for that amount of weight