General Governance Updates
Last updated
Last updated
Snowbridge has several governance APIs that can only be executed using a democratic process via Polkadot OpenGov.
These APIs include:
Updating the Gateway contract on Ethereum
Updating pricing parameters for fee calculations
These APIs are available on the EthereumSystem
pallet on BridgeHub. We have also developed a for generating calls to these APIs.
As an example, we will show how to upgrade the Gateway contract on Ethereum.
Deploy the new gateway contract, and then generate a preimage for calling EthereumSystem.upgrade
The snowbridge-preimage
tool will also generate a helper script chopsticks-execute-upgrade.js
to execute the update in simulated chopsticks environment.
Run chopsticks and fork Polkadot, AssetHub, and BridgeHub, using these
Once the chopsticks environment has been initialized, connect to BridgeHub in Polkadot-JS, and execute the contents of chopsticks-execute-upgrade.js
in the Polkadot-JS Javascript console.
The next step involves submitting the proposal to the Whitelisted Caller track in OpenGov.
This actually involves two referendums:
A referendum on the Collectives chain where the technical fellowship vote to whitelist the preimage.
A public referendum on Polkadot where the general public vote to execute the whitelisted preimage.
A more testing scenario would involve having to upgrade BridgeHub with new code, and then calling a governance API.
We use the tool to generate the various calls required to setup these referendums.