The compound governor code has lived in the v2 protocol repo since it came to exist which has historically brought about a significant amount of friction related to updating anything related to governance–such as the tests. Additionally, it adds confusion being housed in a relatively unrelated repo now that we are deprecating V2. I’ve created a new repo and wrote a few simple upgrades for the governor contract. The code remains mostly the same and new functionality has been audited by OZ. The new features are outlined below:
- Vote with reason by sig (previously votes by sig couldn’t include reasons)
- Propose by sig. Delegates with sufficient votes delegated will be able to create a proposal by sig. (comp.vote API will support this functionality)
Any feedback or code review would be greatly appreciated.
Compound Governance Repo
After review from community members, I have deployed the new governor contract here. I plan to propose the upgrade in the coming days. Please take a look at the contract before the proposal.
I’ve added the hardhat match tool to the repo so anyone can go and ensure that the contract deployed matches the latest commit in the github repo. Please follow the following steps to match the contract:
- Clone the repo from here.
git clone https://github.com/compound-finance/compound-governance/
- Install dependencies
- Build the contracts
npm run build
- Match the contract
RPC_URL=<MAINNET_RPC> npx hardhat match 0x3d11b5b86e137827633decf793bc241dd552b213 --network mainnet
You should get verification that the contract matches the code for
The proposal to update Governor Bravo is now live! Go vote here or use Comp.Vote to vote without gas.
Governance has spoken! Governor Bravo will remain as is for the time being.
I hope this proposal can be re-submitted and passed in the near future. It doesn’t appear that there were any community concerns or No votes about the proposal, it simply failed to reached quorum.
The improvements introduced, while minor in scope, are important for improving DAO engagement by sponsoring more gasless governance actions. The repo clean-up and solidity version upgrade are also important for code transparency, readability and making future upgrades to the Governor contract.
OpenZeppelin has audited the changes and consider them secure. On a personal level, I support and encourage the community to vote in support of this proposal in the future, should it be re-submitted.