Transfer some assets from the local chain to the destination chain through their local,
destination or remote reserve, or through teleports.
Fee payment on the destination side is made from the asset in the assets vector of
index fee_asset_item (hence referred to as fees), up to enough to pay for
weight_limit of weight. If more weight is needed than weight_limit, then the
operation will fail and the sent assets may be at risk.
assets (excluding fees) must have same reserve location or otherwise be teleportable
to dest, no limitations imposed on fees.
for local reserve: transfer assets to sovereign account of destination chain and
forward a notification XCM to dest to mint and deposit reserve-based assets to
beneficiary.
for destination reserve: burn local assets and forward a notification to dest chain
to withdraw the reserve assets from this chain's sovereign account and deposit them
to beneficiary.
for remote reserve: burn local assets, forward XCM to reserve chain to move reserves
from this chain's SA to dest chain's SA, and forward another XCM to dest to mint
and deposit reserve-based assets to beneficiary.
for teleports: burn local assets and forward XCM to dest chain to mint/teleport
assets and deposit them to beneficiary.
origin: Must be capable of withdrawing the assets and executing XCM.
dest: Destination context for the assets. Will typically be X2(Parent, Parachain(..)) to send from parachain to parachain, or X1(Parachain(..)) to send
from relay to parachain.
beneficiary: A beneficiary location for the assets in the context of dest. Will
generally be an AccountId32 value.
assets: The assets to be withdrawn. This should include the assets used to pay the
fee on the dest (and possibly reserve) chains.
fee_asset_item: The index into assets of the item which should be used to pay
fees.
weight_limit: The remote-side weight limit, if any, for the XCM fee purchase.
Transfer some assets from the local chain to the destination chain through their local, destination or remote reserve, or through teleports.
Fee payment on the destination side is made from the asset in the
assets
vector of indexfee_asset_item
(hence referred to asfees
), up to enough to pay forweight_limit
of weight. If more weight is needed thanweight_limit
, then the operation will fail and the sent assets may be at risk.assets
(excludingfees
) must have same reserve location or otherwise be teleportable todest
, no limitations imposed onfees
.for local reserve: transfer assets to sovereign account of destination chain and forward a notification XCM to
dest
to mint and deposit reserve-based assets tobeneficiary
.for destination reserve: burn local assets and forward a notification to
dest
chain to withdraw the reserve assets from this chain's sovereign account and deposit them tobeneficiary
.for remote reserve: burn local assets, forward XCM to reserve chain to move reserves from this chain's SA to
dest
chain's SA, and forward another XCM todest
to mint and deposit reserve-based assets tobeneficiary
.for teleports: burn local assets and forward XCM to
dest
chain to mint/teleport assets and deposit them tobeneficiary
.origin
: Must be capable of withdrawing theassets
and executing XCM.dest
: Destination context for the assets. Will typically beX2(Parent, Parachain(..))
to send from parachain to parachain, orX1(Parachain(..))
to send from relay to parachain.beneficiary
: A beneficiary location for the assets in the context ofdest
. Will generally be anAccountId32
value.assets
: The assets to be withdrawn. This should include the assets used to pay the fee on thedest
(and possibly reserve) chains.fee_asset_item
: The index intoassets
of the item which should be used to pay fees.weight_limit
: The remote-side weight limit, if any, for the XCM fee purchase.