This repo conatins the code for the Optimism On-Chain Governance system.
Optimism is moving towards on-chain governance process. The initial version on the governance system is used for signling purposes only and is designed to be upgraded in the future.
The governance contract is deployed behind an upgradeable proxy. The proxy is owned by the admin address, which is currently the Optimism multisig. The admin address can upgrade the implementation to a new version, and transfer ownership to a new address.
The core governor implementation is based on OpenZeppelin's Governor contract.
The contract has been modified to support the following features:
- Quorum is calculation includes
for
,against
, andabstain
votes - When executed, proposals don't perform any on-chain actions
- A special manager address has certain superpowers (see below)
The contracts in this repo are designed to be used by the following roles:
-
admin is the top-level owner of the governance system. The admin address can only do the following:
- Upgrade implementation to a new version
- Transfer admin role to a new address (inlcuding renouncing ownership)
- Can't have any other roles (i.e. can't be a manager and can't interact with the governance system in any other way)
-
manager address used in day-to-day operations of the governance system. The manager address has the following superpowers:
- Create proposals
- Mark passed proposals as executed (without performing on-chain actions)
- Update any proposal's
endBlock
(to extend the voting period) - Update voting delay (number of blocks before a proposal can be voted on)
- Update voting period (number of blocks a proposal can be voted on)
- Update proposal threshold (number of votes required to create a proposal)
- Update quorum (number of votes required to pass a proposal, snapshotted at the time of proposal creation)
-
voter is any address that has OP tokens delegated to it
- Vote on proposals
- Delegate votes to another address (via OP token contract)
0xcDF27F107725988f2261Ce2256bDfCdE8B382B10
- Optimism Governance Proxy0x9d66365f4910c522f937c9e6dd4a192f6de89636
- Implementation (v1)