Title: OriginTrail Parachain Proposal Open/Accept HRMP channel and Register Asset xcOTP
[OriginTrail Parachain] XCM Disclosures
TL:DR
This batched proposal is to Accept/Open an HRMP channel with OriginTrail Parachain and Register Asset xcOTP.
Summary
We propose to open a bi-directional channel between Moonbeam and OriginTrail Parachain. Initially, the main use case will be to transfer OTP between the two chains, but it can be further expanded to other use cases. The proposal also includes the OTP asset registration as xcOTP, with the following details:
- Multilocation: {“parents”:1,“interior”:{“X1”:{“Parachain”:2043}}}
- Decimals: 12
- Name: OriginTrail Parachain Token
- Symbol: xcOTP
xcOTP will have the following asset ID and XC-20 address:
- Asset ID: 132111472138656038406190173677435574472
- XC-20 address: 0xffffffff6363be7805a7c03f5fb2957bdd8558c8
On-Chain Proposal Reference
On-Chain Proposal #[TBD] with the associated hash: TBD
Technical details:
The procedure for opening the channels is as follows:
- OriginTrail Parachain will propose to open an HRMP channel to Moonbeam
- Moonbeam: democracy batched proposal:
- Accept HRMP channel from OriginTrail Parachain to Moonbeam
- Open Moonbeam to OriginTrail Parachain HRMP channel
- Register OTP asset as an XC-20
- OriginTrail Parachain: democracy proposal to accept Moonbeam to OriginTrail Parachain HRMP channel
Once the HRMP channels are ready, XCM based cross-chain transfer will be possible. The extrinsics that need to be executed on the relay chain, are:
- To accept the HRMP channel to Moonbeam: hrmp.hrmpAcceptOpenChannel(sender: 2043), which hex-encoded call data is TBD
- To open the HRMP channel from Moonbeam: hrmp.hrmpInitOpenChannel(recipient: 2043, proposedMaxCapacity: 1000, proposedMaxMessageSize: 102400), which its hex-encoded call data is TBD
The *proposedMaxCapacity *and proposedMaxMessageSize are set to the values of Polkadot configuration.activeConfig.hrmpChannelMaxCapacity and configuration.activeConfig.hrmpChannelMaxMessageSize values, respectively.
These extrinsics need to be called from the parachain’s sovereign account as origin, via a democracy proposal. The proposal will use polkadotXcm pallet to send XCM message to the Relay Chain with the following items:
- Withdraw asset: take funds out of the Sovereign Account of the origin parachain (in the relay chain) to a holding state
- Buy execution: buys execution time from the relay chain, to execute the XCM message
- Transact: provides the call data to be executed
- Deposit asset (optional): refunds the leftover funds after the execution. If this is not provided, no refunds will be carried out
The asset will be registered with the metadata described in the summary. The setAssetUnitsPerSecond is 447142602271573.
If you are interested, the hex-encoded call data for this proposal in Moonbeam is:
TBD
As a prerequisite, the parachain’s sovereign account must contain at least 20 DOT to be locked as collateral (10 for each channel direction), plus some DOT to pay for XCM execution fees.