Questions tagged [xcm]

XCM (Cross-Consensus Message Format) is a communication format between consensus systems

Filter by
Sorted by
Tagged with
0 votes
1 answer
20 views

What is the purpose of Sovereign account? How is the balance of Soverign for a Parachain decided or calculated?

I think that balance of Sovereign account on Relay chain should be total token supply for that parachain? Basically what's the relation between soverign account balance and parachain? How does it ...
0 votes
0 answers
17 views

How does the XCVM architecture ensure the absoluteness principle described

Very early on in this specification it says that "XCM is designed around four 'A's:" One if which is "Absolute: XCM messages are guaranteed to be delivered and interpreted accurately, ...
  • 35
1 vote
1 answer
46 views

How to use ClaimAssets after assets got trapped

If Alice sends some amount of native relaychain assets to Alice on a parachain and those assets got trapped in some reason, for example lack of amount to execute a message. For AssetTrap and ...
  • 21
5 votes
1 answer
50 views

I want to enable Teleport Asset functionality in XCM between two parachains. How should I do it? Also, how do I teleport asset from Para1 to Para2?

My aim is to teleport an asset on parachain1 to parachain2. But I saw in parachain code, that teleport is disable. How do I enable it? I am confused about Teleport in XCM. Basically, how do I make it ...
0 votes
0 answers
49 views

How long should it take for an xcm message to reach its destination

Given normal conditions, how long would should each of the XCM protocols [HMP, DMP, UMP] take for a message to reach its destination. For example if i was a parachain and wanted to call a smart ...
  • 35
0 votes
1 answer
34 views

limitedReserveTransferAssets WeightNotComputable error

I’m running a local network with two parachain using zombienet. When I try to transferAsset from one parachain to another using ReserveAssetTransfers I always get WeightNotComputable error. zombienet ...
0 votes
1 answer
94 views

XCM: How to send assets from the local chain to another via democracy?

I am looking into XCMv2 and given the standard XcmOriginToCallOrigin configs on both chains: and environment: HydraDX runtime & Acala runtime. I was able to construct a polkadotXcm.send call to ...
  • 21
1 vote
1 answer
52 views

I want to send Transact XCM Message with TransferReserveAsset XCM Message from Relay Chain to Parachain

I want to send some extra information ("Call") with the TransferReserveAsset Message. As it has an extra field called xcm:- TransferReserveAsset { assets: MultiAssets, dest: MultiLocation, ...
  • 43
6 votes
1 answer
61 views

Xcm V2Traits Error UntrustedTeleportLocation

When Im sending assets from relay chain to a parachain by using Limited Teleport assets. I`m facing this issue
4 votes
0 answers
58 views

Transfer Assets with XCM

We have successfully created the HRMP channel between two parachains and a relay chain.We want to transfer assets from one parachain(p1) to another parachain(P2), the channel is created from P1 to P2 (...
1 vote
0 answers
35 views

Clarification needed in substrate xcm docs

I am trying to send funds from parachain B (1001) to parachain A, but the substrate docs do not show completely how to send to transfer to parachain A (1000) (or it could at least be clearer). In my ...
1 vote
1 answer
43 views

Get sender accountid when transfering assets from relaychain to parachain

I have a local rococo relay chain and my own parachain. For AssetTransactor type of xcm_executor I use my own implementation of TransactAsset trait. When I send tokens from relaychain to parachain ...
  • 21
4 votes
2 answers
95 views

Where to learn about XCM (docs)?

I am trying to learn about LocalAssetTransactor, but can't find much about xcm in general. I know there is a thorough blog post (https://polkadot.network/blog/xcm-the-cross-consensus-message-format/), ...
0 votes
1 answer
45 views

How to ensure the XCM callback is called by the pallet hook in the sending chain?

I am sending an XCM Transact message in on_finalize hook, which calls on_transact_received function on the receiving side. I would like to assure that this call was called by the hook (trusted data) ...
0 votes
0 answers
35 views

How to mock XCM origin in tests?

My custom pallet has a couple of XCM calls, for which I have to provide the Origin in mock.rs. It implements the #[pallet::config] pub trait Config: frame_system::Config { ... ...
1 vote
2 answers
57 views

What is GeneralKey used for in MultiLocation for XCM?

Could you explain what is GeneralKey is for in MultiLocation ? For example: Asset Name: Karura Native Token Asset Symbol: KAR Decimals: 12 existentialDeposit: 0.1 Multiloaction: { parents: 1, ...
3 votes
3 answers
138 views

"Account cannot be created" when trying to transfer statemine token to sibling parachain

Ran into an issue transferring a statemine token (ex: USDt) on a local testnet with rococo-local and statemine-local. I'm trying to transfer USDt to a sibling parachain, but it fails on the statemine ...
  • 324
2 votes
1 answer
38 views

Are there descriptions, explanations, examples of the different XCM origin types/XcmV0OriginKind?

When I select the Transact instruction, I can select an OriginKind (Native, SovereignAccount, Superuser, Xcm) but it isn't clear to me how these different origins are interpreted. I thought I saw ...
2 votes
1 answer
115 views

Parsing XCM Inbound Messages

A cross chain transfer generates several extrinsics depending on the number of hops. In this example: https://kusama.subscan.io/xcm_message/kusama-3c38ab02a51980022f63af373d4cad977cb9405b we have a ...
  • 21
0 votes
1 answer
38 views

whats the difference between the two different sovereign account addresses?

There are different sovereign account addresses here, what are the differences?
0 votes
1 answer
31 views

FailedToTransactAsset when trying to establish HRMP when using XCM

Getting error: FailedToTransactAsset Sender: 2113 Receiver: 2000 Sovereign account of 2113: 5Dt6dpkWPwLaH4BBCKJwjiWrFVAGyYk3tLUabvyn4v7KtESG (contains ~5 ROC) This is the call made to make the HRMP ...
3 votes
1 answer
46 views

Is a parachain sovereign account required to be the sender of XCM calls?

Is a parachain sovereign account required to be the sender of XCM calls or can other accounts send messages? Are there specific XCM instructions that require the use of the sovereign account?
1 vote
1 answer
37 views

How to determine which account sent an extrinsic from substrate block data?

Could anyone help me understand how one reads from a substrate chain the account that sent an extrinsic? For example take this Kusama xcmpallet.reserve_transfer_assets extrinsic sent by address ...
0 votes
3 answers
74 views

I can't open a HRMP channel between the parachains

I am testing XCM between parachain 2000 and parachain 2001 while referencing this link, How to open HRMP channels between parachains?. But I couldn't open a new HRMP channel, I faced the "Barrier&...
  • 37
0 votes
2 answers
68 views

XTransfer fail with error

I am trying to move relay native currency back to relay chain. But I got the error and can't figure out what is the problem? Hey is my call, xcm configuration setting and error.
  • 177
1 vote
1 answer
117 views

XCM between multiple parachains

I am gonna transfer the customized message which is actually the string in JSON format for representing some information from one parachain to another one. But I can't find the right functions or ...
  • 37
5 votes
1 answer
270 views

How to open HRMP channels between parachains?

I can see that many parachains have opened HRMP channels on Rococo and are beginning to experiment with XCM: Source: https://dotsama-channels.vercel.app I would like to open HRMP channels between ...
  • 5,644
0 votes
2 answers
89 views

Is teleport of ROC from Rockmine to my parachain should be used instead of reserve transfer?

I am trying to polkadotXcm.reserveTransferAssets of ROC on from Rockmine to Dali https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-rockmine-rpc.polkadot.io#/extrinsics/decode/...
1 vote
1 answer
66 views

how to operate the sovereign address's balance

If the "sovereign account" has some balance or vesting balance on a parachain, how to operate the sovereign address's balance? Example: para2000's sovereign account has 100Unit on para2001. ...
6 votes
1 answer
100 views

How are the costs of XCM messages designed?

after playing with the Substrate Cumulus Parachain Template and the ping-pallet to get an idea of how to use XCM, I built a local Rococo testnet connected to two parachains. In my code, at some point, ...
4 votes
1 answer
143 views

OriginKind in XCM's `Transact`

I've had a discussion with colleagues from Crust Shadow and Moonbeam(check here) about OriginKind usage in XCM's Transact instruction and thought it'd be best to ask here for further explanation. Let'...
  • 372
4 votes
1 answer
113 views

How to avoid impersonation when using DescendOrigin XCM

I'm using Transact to execute an extrinsic from one parachain to another. This extrinsic requires the origin to be a signed account which I'm verifying with ensure_signed. The way I'm getting a signed ...
2 votes
1 answer
74 views

XCM error. OverweightEnqueued event instead of opening HRMP channel

What is the reason of OverweightEnqueued event? There is the place of code where event OverweightEnqueued produced...
  • 177
2 votes
1 answer
47 views

AllowTopLevelPaidExecutionFrom not supporting DescendOrigin

I've noticed that ShouldExecute implementation for AllowTopLevelPaidExecutionFrom(here) doesn't allow execution of XCM if it starts with DescendOrigin instruction. This will always be the case when ...
  • 372
2 votes
1 answer
143 views

FailedToTransactAsset when sending USDt from Statemint to another parachain

Now that USDt is released on Statemint, we want to use this in our parachain 'Astar'. It was no problem to send USDt from Tether to Statemint but not possible to sent the asset to another parachain. ...
2 votes
1 answer
66 views

How to handle XCM encoding and building in JavaScript

Talisman and I are looking into building a simple JS module that helps developers build XCM for transactions and abstract common patterns like cross chain transfers into a simple JS function taking ...
  • 133
2 votes
1 answer
119 views

Invalid Incoming XCMP message data

Link to repo I'm trying to do a reserve-backed transfer from statemint to my own parachain of a token minted with the pallet_assets. I've been using the xcm-emulator that lets me plug in my own ...
5 votes
2 answers
151 views

Barrier error during initiating HRMP channel with Rockmine on Rococo

I want to open HRMP channel with Rockmine on rococo. But I got the Barrier error and can't understand what is wrong with my request. This is my encoded call data ...
  • 177
3 votes
2 answers
129 views

What's the meaning of `weightLimit: Unlimited` in `BuyExecution`?

What's the meaning of weightLimit: Unlimited in BuyExecution? When should I use a certain amount? Because I found that people always use Unlimited.
1 vote
1 answer
72 views

Is there anywhere simple parachain runtime example with XCM reserved transfer functionality from relay chain to parachain and back?

I wonder if there is some example of (parachain)runtime with xcm-pallet and orml-xtokens configuration for education purpose.
  • 177
4 votes
1 answer
80 views

Why does the Astar XC20 wrapper example use the ERC20 wrapper functionality?

I am working on an XC20 implementation of an existing ERC20. I am basing the contract off of the Astar here. I noticed there is some code inherited from the ERC20 contract via the ERC20Wrapper ...
0 votes
2 answers
66 views

How to open HRMP with Rococo chain?

hrmp.hrmpInitOpenChannel( recipient: 3000 //the other parachain you want to open the channel with proposedMaxCapacity: 1000 // specifies how many messages can be in ...
  • 177
1 vote
1 answer
73 views

Error when compiling a contract using the XCM chain extension

I'm trying to implement this xcm chain extension mvp to send a XCM call from a simple contract. The problem i'm facing is when i try to compile the contract with the given Cargo.toml, i get the ...
3 votes
2 answers
131 views

How to see account id origin when receiving an XCM message. Currently the origin contains the parachain id

Currently to process an XCM message in my own pallet call, I inherit the config of my pallet from frame_system + pallet_xcm to have a representable origin: #[pallet::config] pub trait Config: ...
3 votes
1 answer
39 views

How do i verify total token mint and total token reserved are the same after a transfer between kusama parachains?

Scenario: Transfer token A from parachain_1 to parachain_2 I can verify the amount of token A issued on parachain_2 by looking at token A's total issuance on parachain_2 but how can i find the total ...
  • 31
2 votes
1 answer
52 views

What is the best way to iteratively develop a XCM pallet?

Currently I have a local relay Rococo chain with 2 parachains (forked from the parachain template). I want to develop an XCM pallet that calls contract on another chain. cumulus-ping is working. ...
1 vote
1 answer
83 views

Runtime panic when teleporting dot from relay to parachain locally

I'm trying to enforce a "same native token" rule for the relay and all future parachains in my local environment. For this, I must first configure my parachain to accept teleports from a ...
6 votes
0 answers
90 views

How `parity-bridges-common` is intended to be used for development?

So there is a repo parity-bridges-common that contains "Useful Bridge Building Tools" and is currently under development. This repo uses XCMv3 branches of polkadot and substrate (which is ...
6 votes
1 answer
82 views

Why does Kusama allow executing arbitrary XCM programs but not sending them?

When looking at Kusamas's pallet_xcm::Config we can see that it allows only the council to use send arbitrary XCM messages while it allows everyone to execute arbitrary XCM messages. Why is sending a ...
0 votes
1 answer
78 views

Create hex encoded call (for XCM transact call) in javascript?

I'm trying to create the encoded element for an XCM V0 transact call such as: const message = { V0: { Transact: { originType: "Native", ...