Type Alias limited_reserve_transfer_assets limited_ reserve_ transfer_ assets : TxDescriptor < { assets : Enum < { V3 : { fun : XcmV3MultiassetFungibility ; id : XcmV3MultiassetAssetId ; } [] ; V4 : { fun : XcmV3MultiassetFungibility ; id : { interior : XcmV3Junctions ; parents : number ; } ; } [] ; V5 : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < { Here : undefined ; X1 : Enum < { AccountId32 : ...
; AccountIndex64 : ...
; AccountKey20 : ...
; GeneralIndex : ...
; GeneralKey : ...
; GlobalConsensus : ...
; OnlyChild : ...
; PalletInstance : ...
; Parachain : ...
; Plurality : ...
; } > ; X2 : FixedSizeArray < 2 , Enum < ( ...
) > > ; X3 : FixedSizeArray < 3 , Enum < ( ...
) > > ; X4 : FixedSizeArray < 4 , Enum < ( ...
) > > ; X5 : FixedSizeArray < 5 , Enum < ( ...
) > > ; X6 : FixedSizeArray < 6 , Enum < ( ...
) > > ; X7 : FixedSizeArray < 7 , Enum < ( ...
) > > ; X8 : FixedSizeArray < 8 , Enum < ( ...
) > > ; } > ; parents : number ; } ; } [] ; } > ; beneficiary : Enum < { V3 : { interior : XcmV3Junctions ; parents : number ; } ; V4 : { interior : XcmV3Junctions ; parents : number ; } ; V5 : { interior : Enum < { Here : undefined ; X1 : Enum < { AccountId32 : { id : FixedSizeBinary < ( ...
) > ; network ?: ( ...
) | ( ...
) ; } ; AccountIndex64 : { index : bigint ; network ?: ( ...
) | ( ...
) ; } ; AccountKey20 : { key : FixedSizeBinary < ( ...
) > ; network ?: ( ...
) | ( ...
) ; } ; GeneralIndex : bigint ; GeneralKey : { data : FixedSizeBinary < ( ...
) > ; length : number ; } ; GlobalConsensus : Enum < { BitcoinCash : ...
; BitcoinCore : ...
; ByFork : ...
; ByGenesis : ...
; Ethereum : ...
; Kusama : ...
; Polkadot : ...
; PolkadotBulletin : ...
; } > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : XcmV3JunctionBodyId ; part : XcmV2JunctionBodyPart ; } ; } > ; X2 : FixedSizeArray < 2 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X3 : FixedSizeArray < 3 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X4 : FixedSizeArray < 4 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X5 : FixedSizeArray < 5 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X6 : FixedSizeArray < 6 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X7 : FixedSizeArray < 7 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X8 : FixedSizeArray < 8 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; } > ; parents : number ; } ; } > ; dest : Enum < { V3 : { interior : XcmV3Junctions ; parents : number ; } ; V4 : { interior : XcmV3Junctions ; parents : number ; } ; V5 : { interior : Enum < { Here : undefined ; X1 : Enum < { AccountId32 : { id : FixedSizeBinary < ( ...
) > ; network ?: ( ...
) | ( ...
) ; } ; AccountIndex64 : { index : bigint ; network ?: ( ...
) | ( ...
) ; } ; AccountKey20 : { key : FixedSizeBinary < ( ...
) > ; network ?: ( ...
) | ( ...
) ; } ; GeneralIndex : bigint ; GeneralKey : { data : FixedSizeBinary < ( ...
) > ; length : number ; } ; GlobalConsensus : Enum < { BitcoinCash : ...
; BitcoinCore : ...
; ByFork : ...
; ByGenesis : ...
; Ethereum : ...
; Kusama : ...
; Polkadot : ...
; PolkadotBulletin : ...
; } > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : XcmV3JunctionBodyId ; part : XcmV2JunctionBodyPart ; } ; } > ; X2 : FixedSizeArray < 2 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X3 : FixedSizeArray < 3 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X4 : FixedSizeArray < 4 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X5 : FixedSizeArray < 5 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X6 : FixedSizeArray < 6 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X7 : FixedSizeArray < 7 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; X8 : FixedSizeArray < 8 , Enum < { AccountId32 : { id : ...
; network ?: ...
; } ; AccountIndex64 : { index : ...
; network ?: ...
; } ; AccountKey20 : { key : ...
; network ?: ...
; } ; GeneralIndex : bigint ; GeneralKey : { data : ...
; length : ...
; } ; GlobalConsensus : Enum < ( ...
) > ; OnlyChild : undefined ; PalletInstance : number ; Parachain : number ; Plurality : { id : ...
; part : ...
; } ; } > > ; } > ; parents : number ; } ; } > ; fee_asset_item : number ; weight_limit : XcmV3WeightLimit ; } > Defined in Transactions/PolkadotXcm.ts:187
Transfer some assets from the local chain to the destination chain through their local, destination or remote reserve.
assets
must have same reserve location and may not be teleportable todest
.assets
have local reserve: transfer assets to sovereign account of destination chain and forward a notification XCM todest
to mint and deposit reserve-based assets tobeneficiary
.assets
have destination reserve: burn local assets and forward a notification todest
chain to withdraw the reserve assets from this chain's sovereign account and deposit them tobeneficiary
.assets
have remote reserve: burn local assets, forward XCM to reserve chain to move reserves from this chain's SA todest
chain's SA, and forward another XCM todest
to mint and deposit reserve-based assets tobeneficiary
.Fee payment on the destination side is made from the asset in the
assets
vector of indexfee_asset_item
, 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.origin
: Must be capable of withdrawing theassets
and executing XCM.dest
: Destination context for the assets. Will typically be[Parent, Parachain(..)]
to send from parachain to parachain, or[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.