TL;DR
This is a proposal to activate the bridge pallet on Moonbeam, a required step toward the ultimate goal of enabling a trustless, native bridge between Moonriver and Moonbeam.
The proposal is actually a batch of several actions including:
-
Register foreign assets on Moonbeam
-
Set a temporary owner on the “Bridge Grandpa” and “Bridge Messages” pallets which can later be used to initialize them.
The bridge will not be active until the entire process is completed. See below for details.
Details
With the enactment of RT3800 on both Moonriver and Moonbeam, it is now possible to begin the process to enable the trustless, native bridge between Moonriver and Moonbeam.
Although RT3800 contains the necessary components for the bridge, it was deployed with the Bridge pallet deactivated on both networks.
This referendum represents the second step in the process to activate the bridge. Specifically, this referenda will do the following:
-
Register foreign assets on Moonbeam: MOVR
-
Register these assets in the weight trader so they can be used to pay fees for x-chain transfers
-
Set 0x2591f420517162A17563aeD3E1046EdaB4405f06 as the temporary owner on the “Bridge Grandpa” and “Bridge Messages” pallets
At a later stage (see below), the owner account will be used to initialize these pallets and enable outbound messages. At the end of the entire process (once the bridge is fully operational and has been active with no issues for some amount of time), the “owner” of these pallets will be set to the burn address.
Overall Bridge Activation Process
-
PROPOSAL MR86: Pass a Governance proposal on Moonriver that assigns an “owner” account to the “Bridge Messages” and “Bridge Grandpa” pallets and registers foreign assets that may be transferred from Moonbeam to Moonriver (GLMR, xcUSDC, xcUSDT, wormhole USDC).
-
THIS PROPOSAL: Pass a Governance proposal on Moonbeam that assigns an “owner” account to the “Bridge Messages” and “Bridge Grandpa” pallets and registers foreign assets that may be transferred from Moonriver to Moonbeam (MOVR).
-
Using the “owner” key, initialize the “Bridge Grandpa” pallet on both sides of the bridge with a genesis state for synchronizing finality proofs.
-
Start the relayers and ensure that finality headers, para headers and messages are relayed correctly. (There are 2 finality relays: Grandpa MR/Kusama to MB and MB/Polkadot to MR. There is also a relay to handle parachain headers and messages.)
-
Using the “owner” key, enable outbound messages on the “Bridge Messages” pallet on both Moonriver and Moonbeam and test asset transfers in both directions.
-
If there are any issues, the owner account can be used to pause bridge operations and the technical team can then troubleshoot. If all tests pass, the “owner” account can be removed after a few weeks of normal operation.