Type Alias transfer_assets_using_type_and_then transfer_ assets_ using_ type_ and_ then : 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 ; } ; } [] ; } > ; assets_transfer_type : Enum < { DestinationReserve : undefined ; LocalReserve : undefined ; RemoteReserve : Enum < { V3 : { interior : XcmV3Junctions ; parents : number ; } ; V4 : { interior : XcmV3Junctions ; parents : number ; } ; V5 : { 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 ; } ; } > ; Teleport : undefined ; } > ; custom_xcm_on_dest : Enum < { V3 : XcmV3Instruction [] ; V4 : XcmV4Instruction [] ; V5 : Enum < { AliasOrigin : { interior : Enum < { Here : undefined ; X1 : Enum < ( ...
) > ; X2 : FixedSizeArray < ( ...
) , ( ...
) > ; X3 : FixedSizeArray < ( ...
) , ( ...
) > ; X4 : FixedSizeArray < ( ...
) , ( ...
) > ; X5 : FixedSizeArray < ( ...
) , ( ...
) > ; X6 : FixedSizeArray < ( ...
) , ( ...
) > ; X7 : FixedSizeArray < ( ...
) , ( ...
) > ; X8 : FixedSizeArray < ( ...
) , ( ...
) > ; } > ; parents : number ; } ; BurnAsset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } [] ; BuyExecution : { fees : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; weight_limit : XcmV3WeightLimit ; } ; ClaimAsset : { assets : { fun : XcmV3MultiassetFungibility ; id : { interior : ...
; parents : ...
; } ; } [] ; ticket : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; ClearError : undefined ; ClearOrigin : undefined ; ClearTopic : undefined ; ClearTransactStatus : undefined ; DepositAsset : { assets : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; beneficiary : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; DepositReserveAsset : { assets : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; dest : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; xcm : __Circular ; } ; DescendOrigin : 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 < ( ...
) > > ; } > ; ExchangeAsset : { give : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; maximal : boolean ; want : { fun : XcmV3MultiassetFungibility ; id : { interior : ...
; parents : ...
; } ; } [] ; } ; ExecuteWithOrigin : { descendant_origin ?: Enum < ( ...
) > ; xcm : __Circular ; } ; ExpectAsset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } [] ; ExpectError ?: [ number , Enum < ( ...
) > ] ; ExpectOrigin ?: { interior : Enum < ( ...
) > ; parents : number ; } ; ExpectPallet : { crate_major : number ; index : number ; min_crate_minor : number ; module_name : Binary ; name : Binary ; } ; ExpectTransactStatus : XcmV3MaybeErrorCode ; ExportMessage : { destination : Enum < { Here : undefined ; X1 : Enum < ( ...
) > ; X2 : FixedSizeArray < ( ...
) , ( ...
) > ; X3 : FixedSizeArray < ( ...
) , ( ...
) > ; X4 : FixedSizeArray < ( ...
) , ( ...
) > ; X5 : FixedSizeArray < ( ...
) , ( ...
) > ; X6 : FixedSizeArray < ( ...
) , ( ...
) > ; X7 : FixedSizeArray < ( ...
) , ( ...
) > ; X8 : FixedSizeArray < ( ...
) , ( ...
) > ; } > ; network : Enum < { BitcoinCash : undefined ; BitcoinCore : undefined ; ByFork : { block_hash : ...
; block_number : ...
; } ; ByGenesis : FixedSizeBinary < ( ...
) > ; Ethereum : { chain_id : ...
; } ; Kusama : undefined ; Polkadot : undefined ; PolkadotBulletin : undefined ; } > ; xcm : __Circular ; } ; HrmpChannelAccepted : { recipient : number ; } ; HrmpChannelClosing : { initiator : number ; recipient : number ; sender : number ; } ; HrmpNewChannelOpenRequest : { max_capacity : number ; max_message_size : number ; sender : number ; } ; InitiateReserveWithdraw : { assets : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; reserve : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; xcm : __Circular ; } ; InitiateTeleport : { assets : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; dest : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; xcm : __Circular ; } ; InitiateTransfer : { assets : Enum < { ReserveDeposit : ...
; ReserveWithdraw : ...
; Teleport : ...
; } > [] ; destination : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; preserve_origin : boolean ; remote_fees ?: Enum < ( ...
) > ; remote_xcm : __Circular ; } ; LockAsset : { asset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; unlocker : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; NoteUnlockable : { asset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; owner : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; PayFees : { asset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; } ; QueryPallet : { module_name : Binary ; response_info : { destination : { interior : Enum < ( ...
) > ; parents : number ; } ; max_weight : { proof_size : bigint ; ref_time : bigint ; } ; query_id : bigint ; } ; } ; QueryResponse : { max_weight : { proof_size : bigint ; ref_time : bigint ; } ; querier ?: { interior : ...
; parents : ...
; } ; query_id : bigint ; response : Enum < { Assets : ( ...
) [] ; DispatchResult : XcmV3MaybeErrorCode ; ExecutionResult ?: ( ...
) | ( ...
) ; Null : undefined ; PalletsInfo : ( ...
) [] ; Version : number ; } > ; } ; ReceiveTeleportedAsset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } [] ; RefundSurplus : undefined ; ReportError : { destination : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; max_weight : { proof_size : bigint ; ref_time : bigint ; } ; query_id : bigint ; } ; ReportHolding : { assets : Enum < { Definite : ( ...
) [] ; Wild : Enum < ( ...
) > ; } > ; response_info : { destination : { interior : Enum < ( ...
) > ; parents : number ; } ; max_weight : { proof_size : bigint ; ref_time : bigint ; } ; query_id : bigint ; } ; } ; ReportTransactStatus : { destination : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; max_weight : { proof_size : bigint ; ref_time : bigint ; } ; query_id : bigint ; } ; RequestUnlock : { asset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; locker : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; ReserveAssetDeposited : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } [] ; SetAppendix : __Circular ; SetAssetClaimer : { location : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; SetErrorHandler : __Circular ; SetFeesMode : { jit_withdraw : boolean ; } ; SetTopic : FixedSizeBinary < 32 > ; SubscribeVersion : { max_response_weight : { proof_size : bigint ; ref_time : bigint ; } ; query_id : bigint ; } ; Transact : { call : Binary ; origin_kind : XcmV2OriginKind ; } ; TransferAsset : { assets : { fun : XcmV3MultiassetFungibility ; id : { interior : ...
; parents : ...
; } ; } [] ; beneficiary : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; TransferReserveAsset : { assets : { fun : XcmV3MultiassetFungibility ; id : { interior : ...
; parents : ...
; } ; } [] ; dest : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; xcm : __Circular ; } ; Trap : bigint ; UniversalOrigin : 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 ; } ; } > ; UnlockAsset : { asset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; parents : number ; } ; } ; target : { interior : Enum < { Here : ...
; X1 : ...
; X2 : ...
; X3 : ...
; X4 : ...
; X5 : ...
; X6 : ...
; X7 : ...
; X8 : ...
; } > ; parents : number ; } ; } ; UnpaidExecution : { check_origin ?: { interior : ...
; parents : ...
; } ; weight_limit : XcmV3WeightLimit ; } ; UnsubscribeVersion : undefined ; WithdrawAsset : { fun : XcmV3MultiassetFungibility ; id : { interior : Enum < ( ...
) > ; 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 ; } ; } > ; fees_transfer_type : Enum < { DestinationReserve : undefined ; LocalReserve : undefined ; RemoteReserve : Enum < { V3 : { interior : XcmV3Junctions ; parents : number ; } ; V4 : { interior : XcmV3Junctions ; parents : number ; } ; V5 : { 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 ; } ; } > ; Teleport : undefined ; } > ; remote_fees_id : Enum < { V3 : XcmV3MultiassetAssetId ; 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 ; } ; } > ; weight_limit : XcmV3WeightLimit ; } > Defined in Transactions/XcmPallet.ts:321
Transfer assets from the local chain to the destination chain using explicit transfer types for assets and fees.
assets
must have same reserve location or may be teleportable todest
. Caller must provide theassets_transfer_type
to be used forassets
:TransferType::LocalReserve
: transfer assets to sovereign account of destination chain and forward a notification XCM todest
to mint and deposit reserve-based assets tobeneficiary
.TransferType::DestinationReserve
: burn local assets and forward a notification todest
chain to withdraw the reserve assets from this chain's sovereign account and deposit them tobeneficiary
.TransferType::RemoteReserve(reserve)
: burn local assets, forward XCM toreserve
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
. Typically the remotereserve
is Asset Hub.TransferType::Teleport
: burn local assets and forward XCM todest
chain to mint/teleport assets and deposit them tobeneficiary
.On the destination chain, as well as any intermediary hops,
BuyExecution
is used to buy execution using transferredassets
identified byremote_fees_id
. Make sure enough of the specifiedremote_fees_id
asset is included in the given list ofassets
.remote_fees_id
should be enough to pay forweight_limit
. If more weight is needed thanweight_limit
, then the operation will fail and the sent assets may be at risk.remote_fees_id
may use different transfer type than rest ofassets
and can be specified throughfees_transfer_type
.The caller needs to specify what should happen to the transferred assets once they reach the
dest
chain. This is done through thecustom_xcm_on_dest
parameter, which contains the instructions to execute ondest
as a final step. This is usually as simple as:Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])
, but could be something more exotic like sending theassets
even further.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, or(parents: 2, (GlobalConsensus(..), ..))
to send from parachain across a bridge to another ecosystem destination.assets
: The assets to be withdrawn. This should include the assets used to pay the fee on thedest
(and possibly reserve) chains.assets_transfer_type
: The XCMTransferType
used to transfer theassets
.remote_fees_id
: One of the includedassets
to be used to pay fees.fees_transfer_type
: The XCMTransferType
used to transfer thefees
assets.custom_xcm_on_dest
: The XCM to be executed ondest
chain as the last step of the transfer, which also determines what happens to the assets on the destination chain.weight_limit
: The remote-side weight limit, if any, for the XCM fee purchase.