PoolTogether’s onchain governance is based on Compound’s “Governor Alpha” contracts. Compound itself moved on from these contracts years ago, as have most major DAOs. Today, the best practice is to use some variant of the OpenZeppelin implementation.
The outdated governance contracts come with a number of specific risks and downsides:
The DAO treasury holds 30.41 ETH (~$56,000) that cannot be transferred
The DAO is limited to proposals that execute 10 onchain actions at a time
The DAO’s governance parameters cannot be updated by the DAO
The contracts are incompatible with tooling providers, who increasingly eschew support for Governor Alpha
The DAO cannot take advantage of the growing ecosystem of Governance integrations being built with Flexible voting (DeFi Voting, L2 Voting, etc…)
Upgrading the DAO’s Governor contract to an OpenZeppelin variant, with ScopeLift’s Flexible Voting extension, will solve all the aforementioned problems. To learn even more about the advantages of Governor Bravo compatible contracts, check out this blog post.
Specification
The PoolTogether DAO’s timelock has an admin role that is currently owned by the Alpha Governor. The proposal will update the timelock admin to the new Governor. After this proposal executes, all future proposals will route through the updated Governor. The upgrade has been extensively tested and simulated by ScopeLift.
Technical Specification
The script that will be used to put this proposal onchain can be viewed here. The proposal will call setPendingAdmin(0x22C0260E31B3a38bA719C0caDCA3AF5A03110821) on the Timelock and __acceptAdmin() on the new Governor.
Poll
Upgrade the PoolTogether Governor
Approve
Reject
Abstain
0voters
Edit: Removed some parts of the template left in by accident
First of all, big THX to the ScopeLift Team for the great work!
Also THX to Brendan for checking out the code, if people missed it, here the comment from the PTBR-1 .
Ben linked the Repo and the Readme there as well, so everyone else can also check out the code too if they want ofc!
Also, yes, the plan is to keep period and threshhold the same and make the voting delay 1 day!
As info for everyone, this param can be changed later by Governance if wished!
Only the quorum is a fixed param, that one will stay at the current 100k POOL.
We redployed the candidate PoolTogether Governor with the requested change to the voting delay parameter. Everything else remains the same. The new candidate Governor is located at 0x8a907De47E00830a2b742db65e938a3ea1070A2E
Hi all, the upgrade proposal has now been executed. Tally is configured to work with the new Governor here: Tally | PoolTogether
I just want to say thank you one more time to the PoolTogether community for entrusting ScopeLift with this work. We are looking forward to possibility of future collaboration with the DAO.