Inspiration
We were inspired by the Governance DAO and were very interested in how it could be improved.
What it does
- Overriding delegated votes.
- Undelegated by delegators or automatically after 1 year.
We are developing Governance DAO for Aragon company. The user can delegate his(her) vote by Aragon Tokens (ERC20) on one's own or by signature, cast vote with some reason, parameters and by signature or in all ways together, for the correct decision, which he(she) considers necessary, as well as cancel the delegation of his(her) vote, for any reason. Delegates which have already stayed for a year are automatically canceled by Timelock.
How we built it
First, we studied what is under the hood of the DAO and in general what can be done with OpenZeppelin smart contracts. We made the DAO itself, and tokens for it. We wrote unit tests to check the performance of our DAO. And then they started to develop additional features.
The code is located here: https://github.com/r0ugeEngine/AragonDAO
Challenges we ran into
Initially, it was difficult to understand how it was implemented, but as everything became clear, the questions themselves disappeared.
Accomplishments that we're proud of
- Now users can easily override votes.
- Now users can undelegate his(her) votes.
What we learned
Advance planning needs to be improved. We are good developers and QA, but our task scheduling needs to be improved. It was flexible and good, but at some point it became clear that we were going to the wrong steppe, and we had to change everything that was already ready, which in total led to - one evening. We could do something tonight.
What's next for AragonDAO
1) Update AragonDAO so that it can delegate your ownership percentage, quorum settings, etc. to multiple addresses. 2) Come up with more ideas on how DAO can be improved. 3) When our ideas cease to be real, deploy contracts so that users can use the AragonDAO.
Built With
- chai
- ethers.js
- hardhat
- javascript
- mocha
- openzeppelin
- solidity
- waffle
Log in or sign up for Devpost to join the conversation.