Function pallet_xcm::pallet::dispatchables::transfer_assets
source · pub fn transfer_assets<T: Config>(
dest: Box<VersionedLocation>,
beneficiary: Box<VersionedLocation>,
assets: Box<VersionedAssets>,
fee_asset_item: u32,
weight_limit: WeightLimit,
)
Expand description
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 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.
§Warning: Doc-Only
This function is an automatically generated, and is doc-only, uncallable
stub. See the real version in
Pallet::transfer_assets
.