We are happy to announce that the Dandelion Organization template and component Aragon Apps have been audited by Consensys Diligence and are now available on Ethereum mainnet.
Members of the 1Hive community have embarked on a mission to create an aragonOS based implementation of Moloch DAO because we loved the idea of providing users with a guaranteed right to exit before any decision they disagreed with was acted upon. However, we also loved the flexibility and composability of Aragon Apps. Rather than create yet another fork of Moloch and attempt to add functionality that is provided by Aragon apps like Agent, Finance, and Rewards we decided to bring Moloch-style functionality into the Aragon Ecosystem.
Those efforts have resulted in a number of new, fully audited Aragon Apps: Token Request, Redemptions, Dandelion Voting, Time Lock, Delay and Token Balance Oracle. Adding to the growing library of Aragon Apps a.k.a DAO legos that can be combined and composed to create novel DAOs without writing any code.
If you are interested in creating a custom organization using any of these components please get in touch and we can help you launch your DAO. If you just want an easy to deploy out of the box template you can deploy by yourself with a few clicks, keep reading!
Deploying a Dandelion Organization
The Dandelion Organization template and onboarding flow helps users deploy an Aragon Organization that includes the necessary applications and permissions to provide a Moloch style workflow.
In Brief, The Token Request app allows people to request non-transferable membership tokens in exchange for a tribute. The Dandelion Voting app processes proposals in a sequential fashion and keeps track of whether a member is eligible to “rage quit” using the Redemptions app. The Time Lock and Token Balance Oracles restrict proposal creation to members and requires proposers to lock up ERC20 token (eg DAI) with each proposal they submit in order to prevent members from spamming the proposal queue.
You can create your own mainnet org here, or create a test organization on rinkeby here. You’ll be prompted to make some configuration choices which are outlined in our deployment guide, which is part of our larger documentation portal.
Making proposals in an Dandelion Organization
If you have never used an Aragon organization before you may not know how you go about submitting a proposal. The way it works is actually fairly simple, just try to perform the action you want the organization perform yourself, and the Aragon Client will evaluate the path required to eventually perform the action and prompt you to submit the first transaction in that path. For example if you try and add or remove membership tokens using the Tokens app, you won’t be able to directly because an individual member shouldnt be able to adjust token balances but you will be prompted to lock tokens (in the Time Lock app) in order to submit a proposal (in the Dandelion Voting app) to perform the action instead. Make sure you have enough tokens to lock in your account or the client will tell you that you do not have permissions to perform the action.
This pattern is also true for using the Agent app to interact with arbitrary external web3 applications like Sablier, Uniswap, or Maker’s Oasis, you try and perform the action using Agent via Frame or AragonCLI using an account which has permission to submit proposals, then a proposal will be created and added to the proposal queue to perform the desired action.
Onboarding new members via Token Request
When you are ready to onboard additional members into your organization you can direct them to the Token Request app to submit a request.
The Token Request flow allows anyone to propose a contribution in exchange for membership tokens, but only existing members have permission to submit that proposal to the proposal queue so that members can vote to approve it. This two step flow allows the user to deposit payment tokens in escrow which will be swapped for membership tokens if their request is approved, but prevents the need to allow anyone to submit proposals to the proposal queue.
Until a request has been approved it will show up as Pending. The user who submitted the request can invalidate the request and withdraw their payment anytime before the request is Approved.
In the future we intend to improve the UX of the token request app to indicate if a request has been submitted or rejected, but this improvement is dependent on coordination with Aragon One and Autark to get changes to AragonSDK merged.
Exiting via Redemptions
Members can exit the organization unilaterally by using the Redemptions app to burn their membership tokens in exchange for a proportional share of eligible assets. However, each time a member votes `yes` on a proposal they will temporarily forfeit their ability to redeem tokens until after the proposal they voted on has had a chance to be fully processed.
This means as a member if there is a proposal in the queue that would cause you to exit if it were to be approved, you should never vote yes on subsequent proposal until after the controversial proposal has been resolved as you would end up locking yourself into the org. As an example, if the other members of an organization were to propose kicking you out of the organization by burning your membership tokens via a vote, you will be able to redeem your tokens before that vote is executed so long as you have not voted yes on a subsequent proposal further down the processing queue.
Feedback and Support
We really appreciate any feedback on the functionality and user experience of Dandelion Organizations as well as any of the specific Aragon applications included in the template. To help us keep this feedback organized and respond appropriately please submit an issue in the Dandelion Orgs repo on github.