For the past few weeks, Blurr and I have been working on preparing a Governor Bravo implementation based on community feedback over the past few months. The start of the conversation from Governor Bravo began in this post and has inspired some of the changes we’ve made so far. I’ll summarize the changes made along with their inspiration, and include a tentative timeline. Any feedback or recommendations for changes are greatly appreciated!
- Upgradable Implementation - Like the Comptroller, Governance will now be upgradable to allow for incremental changes without breaking infrastructure built around it. The implementation is governed by Compound Governance.
- Abstain option on voting - This allows for users to abstain to votes on chain. It is a necessary feature for a future project involving COMP staking.
- Voting reason string - Users are able to send a string along with their vote explaining their voting reasoning. This is stored along with the vote receipt.
- Settable governance parameters (voting period, voting delay, proposal threshold) - Having these fields be settable by governance allows for changes to the governance process without the requiring new contracts to be deployed.
- Allowing proposer to cancel their own proposals - Currently, the only way for a proposal to be cancelled is for the proposer to lose delegations and fall below the proposal threshold. Allowing the proposer of the proposal to cancel their proposal at any point makes it possible for an erroneous proposal to be canceled if needed.
- Removal of the Guardian - the guardian logic was used for the initial setup of Governance but is no longer needed. The logic around it has been removed.
- Continuous Proposal Id Count - I have added logic to GovernorBravo which will set the initial proposal ID to the number after the final GovernorAlpha proposal ID.
- Admin Logic - the settable parameters and implementation are governed by the admin, which will be set to the compound timelock.
We are approaching completion of the GovernorBravo implementation with the above features. Over the next few days we hope to complete testing and refactoring the code. After, we get the code audited which may take a while due to the current crypto environment. Shortly after the audit comes back, assuming all is well, we will post an autonomous proposal with the changes.
You can follow along with the development effort here.