-
Notifications
You must be signed in to change notification settings - Fork 0
designDoc
This document explains the details related to LaunchPools. Feel free to contribute.
Access: Deals are negotiated with a small set of trusted parties. Launchpools allow us to run an open process that provides time to build trust.
Speed and cost: Launchpools allow fundraisers to validate investor interest early, before spending money on compliance structures.
- Non stable coins. (We only allow stablecoins and interest-earning dollar coins for now).
- Giving rewards out to investors.
Initially, a launchpool is created by a beneficiary. It specifies a min and max commitment
amount, a set of allowed tokens, an expiration time and a number of days offer are
available for. With the pool created, and before the expiration time is reached, investors
are allowed to stake their coins (transfer to the LaunchPool contract from their balance).
The order in which stakes are received is important, as it will determine eventual participation
and rewards.
An offer is made to a pool by a sponsor, and it contains the terms and conditions
for investors' participation on funding. Pools have only one active offer at any point in time.
Investors are then given the opportunity to commit their stakes to the offer based in the
order in which they were added. If the offer doesn't have the minimum commitment after
some time, it uncommits all amounts. For hot deals, not everyone who staked will have the chance
to participate.
After the commited amount has reached minCommitment, all the committed funds are
available to be transfered to the beneficiary. Once these transfer happens, all
unused stakes are returned, and the LaunchPool closes. If no proposal ever obtains
the minCommitment, all stakes are returned and the LaunchPool is closed as well.
We need to be able to provide yield on stakes. That is important. An easy way to do this is to allow staking of coins like aUSDC which earn interest, and return a dollar value. We will have a way to update our stake value with a new value.
The system administrator and contract administrator have limited permissions that will make the system safer and more reliable:
- They can close a launchpool and return all stakes
- They can mark a launchpool as hidden
- They can trigger actions like updating values
An investor can add stakes, remove his own stakes, or commit his own stakes
- Contract might be buggy and trap peoples moneys.
- Contract admin misplaces their private key
- Contract admin has their private key stoken
- Ethereum gets hacked.
- User's metamaks or wallet gets hacked.
- Our backend server gets hacked.