Skip to content

Commit

Permalink
Add upgrade proposal description (#55)
Browse files Browse the repository at this point in the history
* Add upgrade proposal description

* Remove TODO comment

* Update script/ProposeUpgradeBravoToCompoundGovernor.s.sol

---------

Co-authored-by: Ed Mazurek <[email protected]>
  • Loading branch information
garyghayrat and wildmolasses authored Nov 4, 2024
1 parent 5b55d5d commit 1910691
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions script/ProposeUpgradeBravoToCompoundGovernor.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,12 @@ contract ProposeUpgradeBravoToCompoundGovernor is Script, CompoundGovernorConsta
_signatures[2] = "__acceptAdmin()";
_calldatas[2] = "";

// TODO: Update the proposal description
return GOVERNOR_BRAVO.propose(
_targets, _values, _signatures, _calldatas, "Upgrade GovernorBravo to CompoundGovernor"
_targets,
_values,
_signatures,
_calldatas,
"This proposal will upgrade Compound's GovernorBravoDelegator and GovernorBravoDelegate contracts. We'll use the latest contracts from OpenZeppelin(OZ) library with some modifications to preserve many of the existing features of the Governors including:\n\nEnumerable Proposal IDs: Unlike out of the box OZ governors, where proposalIds are calculated from hashing the contents of a proposal, we will keep the incrementing proposalId pattern of Governor Bravo. To implement this, we will use the GovernorStorage extension with some modifications to incorporate enumerability of proposalIds.\n\nProposal Guardian, Whitelist Guardian, and whitelisted proposers: Current Governor Bravo's flow of cancelling a proposal will be preserved. The DAO will have control over the management of the roles mentioned above.\n\nThe upgrade comes with a number of advantages outlined in the original upgrade proposal 5 and also additional benefits such as:\n\nUpdatable Governor Settings: Proposal threshold, Voting Delay, and Voting Period will be adjustable through the governance process without min and max bounds.\n\nUpdatable Quorum: The DAO will also be able to set the quorum, which will be a non-fractional, updatable value using a simple, customized extension contract.\n\nExtended quorum when it is reached late: As a way to help protect against various Governance attacks, we will implement OZ's extension that automatically extends quorum if it is reached late in the voting cycle.\n\nNo Limits: There will be no limits on the number of operations a proposal can have.\n\nFlexible Voting: Flexible Voting is an extension to the OZ Governor developed by ScopeLift. It allows for the integration of novel voting schemes without changing or compromising the core security model of the DAO. Examples include voting with tokens while earning yield in DeFi, cross chain voting, shielded voting, and more. Flexible Voting is supported by Tally. It's been audited and is now an OZ governor extension.\n\nUpgradeability: We will use the upgradeable versions of the OZ contracts, and any future upgrades can be done through the upgradeable proxy functionality."
);
}

Expand Down

0 comments on commit 1910691

Please sign in to comment.