Dandelion Template

September 2, 2020 ยท View on GitHub

An organization template intended to enable organizations to form and dissolve quickly.

๐Ÿšจ Security review status: Contracts audited

Overview

1Hive's Dandelion Organization template is intended to help facilitate collaboration by providing an organization structure that makes it easy for contributors easily part ways when disagreements occur. By guaranteeing that participants can exit if they disagree with the decisions other members are making, dandelion organizations are more easily able to attract capital investment.

The dandelion organization template consists of the Agent (optional), Finance, and Token Manager apps maintained by Aragon One. As well as the following applications developed and maintained by 1Hive:

  • Redemptions: Allows users to manage a list of eligible assets held within an organizations Vault and allow members of the organization to redeem (burn) organization token in exchange for a proportional amount of the eligible assets.
  • Token Request: Allows users to propose minting tokens in exchange for a payment to the organization, subject to the approval of existing members.
  • Time Lock: Allows an organization to require users to lock a configure amount of tokens for a configurable amount of time in order to forward an intent.
  • Dandelion Voting An enhanced version of Aragon One's voting app which implements an ACL Oracle which allows an organization to configure permissions that restrict actions based on whether an address has recently voted Yes.

Permissions

AppPermissionGranteeManagerACL Oracle
KernelAPP_MANAGERDandelion VotingDandelion VotingNone
ACLCREATE_PERMISSIONSDandelion VotingDandelion VotingNone
EVMScriptRegistryREGISTRY_MANAGERDandelion VotingDandelion VotingNone
EVMScriptRegistryREGISTRY_ADD_EXECUTORDandelion VotingDandelion VotingNone
Dandelion VotingCREATE_VOTESTime LockDandelion VotingNone
Dandelion VotingMODIFY_QUORUMDandelion VotingDandelion VotingNone
Dandelion VotingMODIFY_SUPPORTDandelion VotingDandelion VotingNone
Dandelion VotingMODIFY_BUFFERDandelion VotingDandelion VotingNone
Dandelion VotingMODIFY_EXECUTION_DELAYDandelion VotingDandelion VotingNone
Agent or VaultTRANSFERFinance and RedemptionsDandelion VotingNone
FinanceCREATE_PAYMENTSDandelion VotingDandelion VotingNone
FinanceEXECUTE_PAYMENTSDandelion VotingDandelion VotingNone
FinanceMANAGE_PAYMENTSDandelion VotingDandelion VotingNone
Token ManagerMINTToken RequestDandelion VotingNone
Token ManagerBURNRedemptionsDandelion VotingNone
RedemptionsADD_TOKENDandelion VotingDandelion VotingNone
RedemptionsREMOVE_TOKENDandelion VotingDandelion VotingNone
RedemptionsREDEEMANY ENTITYDandelion VotingDandelion Voting
Token RequestSET_TOKEN_MANAGERDandelion VotingDandelion VotingNone
Token RequestSET_VAULTDandelion VotingDandelion VotingNone
Token RequestMODIFY_TOKENSDandelion VotingDandelion VotingNone
Token RequestFINALISE_TOKEN_REQUESTDandelion VotingDandelion VotingNone
Time LockCHANGE_DURATIONDandelion VotingDandelion VotingNone
Time LockCHANGE_AMOUNTDandelion VotingDandelion VotingNone
Time LockCHANGE_SPAM_PENALTYDandelion VotingDandelion VotingNone
Time LockLOCK_TOKENS_ROLEANY ENTITYDandelion VotingToken Oracle
Token OracleSET_TOKENDandelion VotingDandelion VotingNone
Token OracleSET_MIN_BALANCEDandelion VotingDandelion VotingNone

Additional permissions if the Agent app is installed

AppPermissionGranteeManager
AgentRUN_SCRIPTDandelion VotingDandelion Voting
AgentEXECUTEDandelion VotingDandelion Voting

Testing

  • On a separate terminal, run the aragon devchain
aragon devchain --network-id 15
  • Run tests
npm run test

| Note that you will need to have all dandelion apps published to the devchain before running tests.

Contributing

We welcome community contributions!

Please check out our open Issues to get started.

If you discover something that could potentially impact security, please notify us immediately. The quickest way to reach us is via the #dev channel in our team Keybase chat. Just say hi and that you discovered a potential security vulnerability and we'll DM you to discuss details.