We have local testnet with our parachain and we successfully sent KSM from relay to parachain. We have however the problem when we want to withdraw KSM back from parachain to relay chain. We always receive the error UntrustedReserveLocation
Steps: On the relay chain we set the default xcm version to 1.
xcmPallet -> forceDefaultXcmVersion, set the maybeXcmVersion field to 1
We construct the extrinsic in this form
const hexAccount = api.createType('AccountId32', 'some address here').toHex()
const dest = {
V1: {
parents: 1,
interior: 'Here',
},
}
const beneficiary = {
V1: {
parents: 1,
interior: {
X1: {
AccountId32: {
network: 'Any',
id: hexAccount,
},
},
},
},
}
const assets = {
V1: [
{
id: {
Concrete: {
parents: 1,
interior: 'Here',
},
},
fun: {
Fungible: HERE_IS_THE_AMOUNT,
},
},
],
}
and then we execute tx
api.tx.polkadotXcm
.reserveTransferAssets(dest, beneficiary, assets, '0')
.signAndSend('some address here')
Can someone tells what could be the problem ? Thanks
xcm_executor
config in yourxcm_config
for both runtimes, para and relay, please. Although, consider teleporting for "moving" the relay's native token to a parachain and back.