polkadot-wiki
polkadot-wiki copied to clipboard
Clarify the difference between teleports and Cross-chain token transfers
From Joe:
teleported assets are still accounted for in a teleported pot. but the relay chain only designates teleports that it trusts, concretely that are under the same governance as the relay chain. you can only teleport with your TrustedTeleporters. if a parachain is not a trusted teleporter, the asset never goes there
So if you look at reserve_transfer_asset, it actually executing TransferReservedAsset, which includes the BuyExecution and WithdrawAsset instructions to send to the parachain.
The executor, on TransferReservedAsset, just transfers the KSM/DOT into the dest account, but note (the spec is handy here) that the destination is not some account on the destination chain, but rather the sovereign account of the destination chain on the relay chain.
Moving on, to get that back, this code is from Karura, it's sending an InitiateReserveWithdraw, and the spec is handy again. It specifies the reserve location of the asset (for KSM, Kusama Relay Chain), and sends an XCM there with instructions to transfer some of the asset (KSM) from the parachain's sovereign account on the Relay Chain to recipient.