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 UMP UpwardMessageSender implementation. Thus this essentially adapts an UpwardMessageSender trait impl into a SendXcm trait impl.
  • Provides an implementation of [WeightTrader] to charge for weight using the first asset specified in the payment 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 specific ParaId (e.g. to open an HRMP channel) if needed.
  • XCM fee depositor to which we implement the TakeRevenue trait. It receives a Transact implemented argument and a 32 byte convertible AccountId, and the fee receiver account’s FungiblesMutateAdapter should be identical to that implemented by WithdrawAsset.

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