The Token Engineering Commons hopes to advance the field of token engineering by creating a purpose driven economy that will curate and fund TE projects with an aligned focus.
The intention is to launch first as the TEC Hatch DAO and potentially upgrade to a Commons which will include an Augmented Bonding Curve and Conviction Voting. However, this is up to the will of the TEC Hatch DAO and the Commons upgrade is not in the scope of this document. This specification is solely for the initial deployment of the TEC Hatch DAO.
The TEC Hatch DAO will have two main phases. First the Hatch where funds will be sent into the TEC Hatch DAO and TECH tokens will be minted. After the Hatch, the TEC Hatch DAO will be live and have the ability to vote on how to use these funds to best execute on their mission.
This implementation spec is for the TEC Hatch Rehearsal DAO, while real money was used, there is no expectation of anything happening with this DAO. This is simply a test.
Holders of Token Engineering Commons Hatch Rehearsal DAO Tokens control the funds sent to the Hatch collectively and individually and can take part in key governance decisions of the project.
The initial privileges:
- Using Dandelion Voting to control the funds in both the Redeemable and the Non-redeemable Agent applications.
- Using Dandelion Voting to upgrade the smart contract system that underlies the DAO.
- As long as they have not voted yes on a proposal yet to be executed, TESTTECH token holders can redeem their tokens and withdraw their proportional share of funds held by the Redeemable Agent application.
Hooked Token Manager controls the TESTTECH token.
- Token symbol: TESTTECH
- Token name: Token Engineering Commons TEST Hatch Token
- How divisible the base unit of the token can be. If the Decimals is 18, then you can divide 1 token by 10^18
- Transferable: No
Dandelion Voting is “god-mode” within the TEC Hatch DAO. It controls almost everything in the DAO. TESTTECH Token holders use this application to collectively decide how to use the funds within the DAO and can control the smart contract system that makes up the DAO.
Support Required: 88%
- Percentage of tokens need to vote yes (of the tokens that were used to vote) for a proposal to Pass
Minimum Quorum: 8%
- The percent of the total supply of the token that needs to vote yes in a vote in order for it to be able to be passed.
Vote Duration: 2.5 days
- This is the period of time it takes for a vote to pass or fail
Vote Proposal Buffer: 4 hours
- The amount of time that must pass between the start of subsequent votes.
Rage Quit Period: 16 hours
- The period of time after a vote passes before the vote can be executed. This gives hatchers that don’t approve of the vote an opportunity to leave the hatch before vote execution.
Tollgate controls the cost of creating a dandelion voting proposal.
Tollgate Fee: 1000 TDAI
- Requires a user to deposit this amount before creating a vote, this fee goes to the funding pool vault.
Hatch controls the initial funds of the DAO, it receives funds and mints TEC Hatch DAO Tokens (TECH).
Minimum Goal: 800,000 TDAI
- The minimum amount that needs to be collected during the Hatch to create the TEC HatchDAO, if less than this is collected, the funds will be sent back to the addresses that sent it.
Maximum Goal: 14,000,000 TDAI
- The maximum amount of TDai that can be sent to the Hatch
Target Goal: 300,0000 TDAI
- Total amount of funds raised or expected amount of funds raised. Theoretical number for the purpose of running the simulation.
Hatch period: 3.5 days
- How long the Hatch is open to collect funds
Hatch Minting Rate: 1 TESTTECH/TDAI
- The amount of TESTTECH that are obtained for 1 TDAI (wrapped xDAI).
Hatch Tribute: 2%
- Specifies what percentage of the funds raised by the Hatch go to the Non-redeemable Pool
Hatch oracle controls how much funds the hatch can receive from a specific address. The sending address needs to have a minimum amount of membership score tokens in order to send to the Hatch.
Score token address:
- The Hatchers have to hold these tokens to send TDAI to the Hatch
Score token decimals: 0
- How divisible the base unit of the Score token can be. If the Decimals is 0, then the token is not divisible.
Membership Ratio: 10 TDAI/CSTK
- The amount of TDAI (wrapped xDAI) each CSTK Token holder is able to send to the Hatch per CSTK they have. If the ratio is .005 TDAI/CSTK then the user has to have 200 CSTK to send 1 TDAI
Impact Hours determines how to distribute TECH tokens to the TEC Community that earned Impact Hours. Impact Hours are rewarded via the “Cultural Build Tribute” which is designed to mint TECH tokens to reward everyone inside the community that worked to build the culture and tech that made the TEC Hatch DAO possible.
Impact Hours Token:
- The token that controls the Impact Hours distribution.
Impact Hour Rate at Infinity: 226 TDAI/IH
- The theoretical maximum rate that Impact Hour token holders would be able to receive
Target Goal Impact Hour Rate: 77.07 TDAI/IH
- The parameter that effects the curvature of the Impact Hour graph, also the amount needed to be collected to reach 1/2 of the Max IH Rate divided by total IH.
Agent 1 can interact with smart contracts and controls the funds set aside to advance the field of Token Engineering. It is controlled by the Dandelion Voting App.
Agent 2 can interact with smart contracts and controls the funds set aside to create the economy of TE Commons. It is controlled by the Dandelion Voting App. The funds here can also be redeemed by the individual TESTTECH token holders on a pro rata basis.
Redemptions enables TESTTECH token holders to redeem their tokens for the tokens in Agent 2 (the Redeemable Pool) on a pro rata basis. These are the funds set aside to create the economy of TE Commons.
The permissions that will be set are (click to magnify):
|Kernel||APP_MANAGER||DV (TESTTECH)||DV (TESTTECH)|
|ACL||CREATE_PERMISSIONS||DV (TESTTECH)||DV (TESTTECH)|
|EVMScriptRegistry||REGISTRY_MANAGER||DV (TESTTECH)||DV (TESTTECH)|
|EVMScriptRegistry||REGISTRY_ADD_EXECUTOR||DV (TESTTECH)||DV (TESTTECH)|
|Agent 1||TRANSFER||Redemptions||DV (TESTTECH)|
|Agent 1||TRANSFER||Migration Tools||DV (TESTTECH)|
|Agent 1||EXECUTE||DV (TESTTECH)||DV (TESTTECH)|
|Agent 1||RUN_SCRIPT||DV (TESTTECH)||DV (TESTTECH)|
|Agent 2||TRANSFER||Migration Tools||DV (TESTTECH)|
|Agent 2||EXECUTE||DV (TESTTECH)||DV (TESTTECH)|
|Agent 2||RUN_SCRIPT||DV (TESTTECH)||DV (TESTTECH)|
|Hatch||OPEN||ANY ACCOUNT||DV (TESTTECH)|
|Hatch||CLOSE||Impact Hours||DV (TESTTECH)|
|Hatch||CONTRIBUTE(1)||ANY ACCOUNT||DV (TESTTECH)|
|Impact Hours||CLOSE_HATCH||ANY ACCOUNT||DV (TESTTECH)|
|Migration Tools||MIGRATE||DV (TESTTECH)||DV (TESTTECH)|
|Redemptions||REDEEM(2)||ANY ACCOUNT||DV (TESTTECH)|
|Redemptions||ADD_TOKEN||DV (TESTTECH)||DV (TESTTECH)|
|Redemptions||REMOVE_TOKEN||DV (TESTTECH)||DV (TESTTECH)|
|Tokens||MINT||Impact Hours||DV (TESTTECH)|
|Tollgate||CHANGE_DESTINATION||DV (TESTTECH)||DV (TESTTECH)|
|Tollgate||CHANGE_AMOUNT||DV (TESTTECH)||DV (TESTTECH)|
|DV (TESTTECH)||CREATE_VOTES(3)||Tollgate||DV (TESTTECH)|
|DV (TESTTECH)||MODIFY_SUPPORT||DV (TESTTECH)||DV (TESTTECH)|
|DV (TESTTECH)||MODIFY_QUORUM||DV (TESTTECH)||DV (TESTTECH)|
|DV (TESTTECH)||MODIFY_BUFFER_BLOCKS||DV (TESTTECH)||DV (TESTTECH)|
|DV (TESTTECH)||MODIFY_EXECUTION_DELAY||DV (TESTTECH)||DV (TESTTECH)|
(1) CONTRIBUTE role is behind the Hatch Oracle ACL Oracle. This prevents anyone from contributing more funds that what they are allowed based on their membership score.
(2) REDEEM role is behind the Dandelion Voting (DV) ACL Oracle. This prevents redeeming tokens that are blocked in a vote.
(3) CREATE_VOTES role is behind the Hatch ACL Oracle. This prevents creating new votes before the hatch token vesting complete period has passed, so anyone can redeem during the first vote.
Edit July 6th, 2021: Adrià and me have seen that Hatch doesn’t need Token’s MINT_ROLE, it is needed by Impact Hours instead.