State of the Hatch and Beyond
This forum post is a summary of the hatch sync between Sem and YGG that happened on March 12th 2021. The sync is recorded and is a great supplement to this summary:
SEM REVEALS ALL
First off, make sure you have read The Hatch TL;DR so you know what’s going on.
Phase 1 of The Token Engineering Commons, The Hatch DAO is almost ready to launch.
Before launching, we need to freeze the contracts so that they can be formally audited for security vulnerabilities. The commons swarm is now working on the final touches before freezing the contracts. As hatchers, we have the power to help them out! Read the docs, run the tests, ask the questions, or simply show your moral support to the dev team as they work around the clock to run the final checks and tests needed for blast off!
Needed for the freeze:
- Test Migration Tools
- Documentation on the migration tools
- Tests on the hatch template
The Migration Tools
This is a custom contract written by commons swarm that will be used to upgrade from the Hatch DAO to the TEC DAO (Phase 1 to Phase 2). We need to get it right before launching phase 1. On Friday March 12th Shawn and Sem went through the logic carefully and it seems to make sense. The more eyeballs on this contract, the better. The more formal testing, the better. The more documentation, the better.
The Commons swarm team is currently developing tests for this file. Once they have a few good example tests, it will be easy for others in the community to expand them and consider the coverage.
Hatch Template Tests
This is the repository that will launch the Hatch DAO (Phase 1). Hatch params will be plugged into packages/hardhat/scripts/new-hatch.ts.
An example of such a test is the following:
- Open The Hatch
- Let’s Contribute
- Let’s Claim the impact hours
- Let’s close the hatch
- Now we all have TEC tokens and the funds are in the vaults.
- Now let’s migrate.
For the Commons Upgrade (Phase 2)
This is the base DAO template that will become commons-template
These contracts are the base of the commons swarm. The contracts will be modified in two primary ways:
- scripts/new-dao.js will be modified (Commons Upgrade Params!)
- External components will be swapped and added
a. Dynamic Issuance Policy (used for HNY) will be swapped by a Bonding Curve
b. BrightID Registry will be removed
c. Migration Tools will be added
The template already includes a Disputable Voting and Disputable Conviction Voting that work altogether with Celeste.
Commons Upgrade Params - new-dao.js
Honey Template parameters
This repository will be forked into commons-template and the parameters will be updated.
Commons Swarm Components
This is the honey issuance component. We will turn this into a bonding curve.
TECommons Marketplace App. This is the terribly named Aragon bonding curve application! We are going to combine the contracts from here into the honey-template above to form the commons-template.
The marketplace-app has 4 components:
This is a (black box) formula that computes the minting and unminting amounts given the of the bonding curve. It works. It’s audited. We don’t have to worry about it. We will use it in phase 2 of the hatch.
- bancor market maker
This is the juicy bonding curve. Sweet sweet liquidity.
Because we are not using the presale in the new-dao, we should be able to just use the market maker directly and forget about the controller.
We are not doing a presale. Reserve funds from phase 1 will be sent directly to the reserve of phase 2.
You can read more about the above mechanism in the Aragon Black docs.
To see the parameters in action at mainnet.aragon.org → New Organization → New Fundraising App.
The commons swarm team is currently combining all of the components as mentioned above into a single repository called commons-swarm. After these components are combined, we need tests, tests, and more tests.
Summary: What needs to be done:
For the Hatch
Migration Tools - Tests and Documentation
Hatch Template - Tests and Documentation
- Commons Template with the Bonding Curve
Marketplace App → Honey Template
- Parameters from the bonding curve into params modelling
a. Entry Tribute
b. Exit Tribute
c. Reserve Ratio
d. Virtual Supply
e. Virtual Balance
Thanks everyone for your hard work!