A cross-chain governance system (based on OpenZeppelin Governor). Allows a Governor contract on one chain to use governance votes to change state in contracts on other chains.
MyGovernor
contract on chain A (source chain): participants vote to alter state on another chainC3ProposalDispatch
contract on chain A: receives and processes the details of the cross-chain call- Target contract on chain B (destination chain): where the state gets altered
- Create
MyGovernor
, chain A - Create
TimelockController
, chain A - Create
VotesToken
, chain A - Create
C3ProposalDispatch
, chain A - Interface with Continuum Network
- Create Target, chain B
- Make proposal to Governor
- Votes, waiting periods, etc.
- When the proposal is passed, instead of executing on source chain, it executes the tx as a C3Call on the same chain as voted on.