-2

I am trying to write a rust function that will call the transfer extrinsic function from pallet orml_xtokens. I am looking for help in translating the destination described in the image below. dest: XcmVersionedMultiLocation = V1 V1: XcmV1MultiLocation = junction of parents 1 interior X1 X1 Junction = AccountID Network = Any AccountID32 = an address

enter image description here

2
  • Where do you actually want to transfer your KSM to? Commented May 4, 2022 at 23:12
  • The destination is the account ID in the image (5ECMd...) on the parent chain. This might resolve into a different account on the local chain and is determined by the XCM configuration of the local chain (specifically the SovereignAccountOf type).
    – Gav
    Commented May 5, 2022 at 9:58

1 Answer 1

1

I figured out how to express the above call:

use crate::metadata::runtime_types::xcm::{
    v1::junction::Junction,
    v0::junction::NetworkId,
    v1::multilocation::Junctions::X1,
    v1::multilocation::MultiLocation as V1MultiLocation,
    VersionedMultiLocation as VersionedMultiLocation,
};

let dest : &VersionedMultiLocation = &VersionedMultiLocation::V1(
                V1MultiLocation {
                    parents: 1,
                    interior: X1(
                        Junction::AccountId32 {
                            network: NetworkId::Any,
                            id: dest_account.into(),
                        }
                    ),
                }
            ); 
1
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented May 6, 2022 at 23:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.