Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved tests and deployment scripts for Tokenholder DAO #82

Merged
merged 23 commits into from
Feb 23, 2022
Merged

Conversation

cygnusv
Copy link
Member

@cygnusv cygnusv commented Feb 15, 2022

  • Adds tests for:
    • Full proposal lifecycle for Tokenholder DAO, including proposal phase, voting, queuing into Timelock and execution
    • Migration of TokenholderGovernor: in case we want to redeploy the Tokenholder DAO (since contracts are not upgradeable), the DAO can propose migration simply by updating who can propose to the Timelock (only the incumbent Tokenholder should be able to propose the Timelock)
    • Support for relying TXs to the Tokenholder DAO, in case we want to use it for example to retrieve tokens/ETH sent to the governor contract, instead that to the Timelock (which should be the one holding assets). See Add a relay mechanism in the governor OpenZeppelin/openzeppelin-contracts#2926
  • Updates OpenZeppelin dependencies to version 4.5, recently released, which has some bugfixes in the governance part
  • Deployment scripts for the Tokenholder DAO

cygnusv and others added 21 commits February 16, 2022 10:58
Also, let's create a more interesting proposal that can later go into execution
Also, a delay of 1 second was producing unexpected behavior. In any case, it didn't have sense :P
As long as the proposal is successful and the timelock delay pass, who cares who executes? Anyway, it was already permissionless if the call did it via the Tokenholder.execute() method, so this only makes this more consistent. It's also cheaper (like 60k cheaper)!!
This can be used, for example, to recover tokens or ETH sent to the Governor contract. See OpenZeppelin/openzeppelin-contracts#2926
For simplicity, let's add the zero address to executors at constructor time in tests, too
vzotova
vzotova previously approved these changes Feb 16, 2022
@cygnusv cygnusv merged commit 3a57079 into main Feb 23, 2022
@cygnusv cygnusv deleted the moar-dao branch February 23, 2022 10:08
@pdyraga pdyraga added this to the v1.2.0 milestone Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants