This proposal aims to open the bi-directional HRMP channel between Robonomics and Statemine. It is based on similar processes for Karura, Moonriver, Basilisk, Parallel Heiko and Bifrost.
The proposal is to execute a batch transaction with two calls:
A force transfer (balances.forceTransfer
) of 11 KSM from Kusama Treasury (F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29
) to Statemine (F7fq1jSNVTPfJmaHaXCMtatT1EZefCUsa7rRiQVNR5efcah
) to pay for fees accepting the channel request. 10 KSM will be used for deposit to accept (5 KSM) and open (5 KSM) HRMP channel. 1 KSM will be used by Statemine parachain to pay for transaction execution fees on Kusama.
Sending XCM message (xcmPallet.send
) to Statemine to execute a transaction with superuser (root) permission.
Preimage design can be reviewed here.
Encoded call hash:
0x7d9b45ceab82d52ee5d04357225bcb9a5a7ce3ed04c01b926dec23f3c78f77aa
Encoded call data of this batch transaction, which can be decoded on Kusama:
0x1802080402006d6f646c70792f747273727900000000000000000000000000000000000000000070617261e80300000000000000000000000000000000000000000000000000000b00b01723010a630001000100a10f020406020300943577a9011f000101000214000400000000070010a5d4e81300000000070010a5d4e800060002286bee5c1802083c01000800003c0000080000e803000000900100140d01010000000004000101006d6f646c70792f74727372790000000000000000000000000000000000000000
The XCM message that is sent to Statemine looks like:
0x1f000101000214000400000000070010a5d4e81300000000070010a5d4e800060002286bee5c1802083c01000800003c0000080000e803000000900100140d01010000000004000101006d6f646c70792f74727372790000000000000000000000000000000000000000
The message can be decoded on Statemine. It consists polkadotXcm.send
, which sends a XCM message back to Kusama to perform Transact
of this call:
0x1802083c01000800003c0000080000e803000000900100
which can be decoded on Kusama. This call is a batch transaction with two calls: the first one accepts the open channel request (hrmp.hrmpAcceptOpenChannel
) from Robonomics (ParaId: 2048), and the second one to make a reciprocal open channel request (hrmp.hrmpInitOpenChannel
) to Robonomics.
After Transact, it follows up with RefundSurplus
, which refunds any unused weight from execution, and then DepositAsset
, which instructs the executor to deposit any KSM that wasn't used on transaction fees back into Kusama Treasury.
Preimage design of the XCM message can be reviewed here.
Preimage design of the a batch transaction for accepting/requesting can be reviewed here.