ZivoeITO.sol
ITO -> Initial Tranche Offering
Introduction
This contract will facilitate the Zivoe ITO ("Initial Tranche Offering").
This contract has the following responsibilities:
Permissioned by $zJTT and $zSTT to call mint() when an account deposits.
Escrow $zJTT and $zSTT until the ITO concludes.
Facilitate claiming of $zJTT and $zSTT when the ITO concludes.
Vest $ZVE simulatenously during claiming (based on $pZVE credits).
Migrate deposits to ZivoeDAO after the ITO concludes.
State Variables
Type | Name | Description |
---|---|---|
address | GBL | The ZivoeGlobals contract. |
address[] | stablecoins | Stablecoin(s) allowed for |
uint256 | end | The unix when the ITO ends (airdrop is claimable). |
uint256 | snapshotSTT | Snapshot of senior tranche token supply after migrateDeposits(). |
uint256 | snapshotJTT | Snapshot of junior tranche token supply after migrateDeposits(). |
bool | migrated | Triggers (true) when ITO concludes and assets migrate to ZivoeDAO. |
mapping(address => bool) | airdropClaimed | Tracks if an account has claimed their airdrop. |
mapping(address => uint256) | juniorCredits | Tracks $pZVE (credits) from |
mapping(address => uint256) | seniorCredits | Tracks $pZVE (credits) from |
uint256 | BIPS | Private constant, |
Sections
commence() - Starts the ITO.
claimAirdrop() - Claim $zSTT, $zJTT, and begin a vesting schedule for $ZVE.
depositJunior() - Deposit stablecoins, mint Zivoe Junior Tranche ($zJTT) tokens and increase airdrop credits.
depositSenior() - Deposit stablecoins, mint Zivoe Senior Tranche ($zSTT) tokens and increase airdrop credits.
migrateDeposits() - Migrate tokens to ZivoeDAO.
Write Functions
commence()
commence()
Starts the ITO.
Emits the ITOCommenced() event.
claimAirdrop()
claimAirdrop()
Claim $zSTT, $zJTT, and begin a vesting schedule for $ZVE.
Type | Name | Description |
---|---|---|
address | depositor | The address to claim for, generally |
Returns
Type | Name | Description |
---|---|---|
uint256 | zSTTClaimed | Amount of $zSTT airdropped. |
uint256 | zJTTClaimed | Amount of $zJTT airdropped. |
uint256 | ZVEVested | Amount of $ZVE vested. |
Emits the AirdropClaimed() event.
depositJunior()
depositJunior()
Deposit stablecoins, mint Zivoe Junior Tranche ($zJTT) tokens and increase airdrop credits.
Type | Name | Description |
---|---|---|
uint256 | amount | The amount to deposit. |
uint256 | asset | The asset to deposit. |
Emits the JuniorDeposit() event.
depositSenior()
depositSenior()
Deposit stablecoins, mint Zivoe Senior Tranche ($zSTT) tokens and increase airdrop credits.
Type | Name | Description |
---|---|---|
uint256 | amount | The amount to deposit. |
uint256 | asset | The asset to deposit. |
Emits the SeniorDeposit() event.
migrateDeposits()
migrateDeposits()
Migrate tokens to ZivoeDAO.
Emits the DepositsMigrated() event.
Events
AirdropClaimed()
AirdropClaimed()
Emitted during claimAirdrop()
Type | Indexed | Name | Description |
---|---|---|---|
address | True | account | The account claiming their airdrop. |
uint256 | False | zSTTClaimed | The amount of Zivoe Senior Tranche ($zSTT) tokens received. |
uint256 | False | zJTTClaimed | The amount of Zivoe Junior Tranche ($zJTT) tokens received. |
uint256 | False | ZVEVested | The amount of Zivoe ($ZVE) tokens received. |
DepositsMigrated()
DepositsMigrated()
Emitted during migrateDeposits()
Type | Indexed | Name | Description |
---|---|---|---|
uint256 | False | DAI | Total amount of DAI migrated from the ITO to ZivoeDAO and ZVL. |
uint256 | False | FRAX | Total amount of FRAX migrated from the ITO to ZivoeDAO and ZVL. |
uint256 | False | USDC | Total amount of USDC migrated from the ITO to ZivoeDAO and ZVL. |
uint256 | False | USDT | Total amount of USDT migrated from the ITO to ZivoeDAO and ZVL. |
ITOCommenced()
ITOCommenced()
Emitted during commence()
Type | Indexed | Name | Description |
---|---|---|---|
uint256 | False | start | The unix when the ITO starts. |
uint256 | False | end | The unix when the ITO ends (airdrop is claimable). |
JuniorDeposit()
JuniorDeposit()
Emitted during depositJunior()
Type | Indexed | Name | Description |
---|---|---|---|
address | True | account | The account depositing stablecoins to senior tranche. |
address | True | asset | The stablecoin deposited. |
uint256 | False | amount | The amount of stablecoins deposited. |
uint256 | False | credits | The amount of credits earned. |
uint256 | False | trancheTokens | The amount of Zivoe Junior Tranche ($zJTT) tokens minted. |
SeniorDeposit()
SeniorDeposit()
Emitted during depositSenior()
Type | Indexed | Name | Description |
---|---|---|---|
address | True | account | The account depositing stablecoins to senior tranche. |
address | True | asset | The stablecoin deposited. |
uint256 | False | amount | The amount of stablecoins deposited. |
uint256 | False | credits | The amount of credits earned. |
uint256 | False | trancheTokens | The amount of Zivoe Senior Tranche ($zSTT) tokens minted. |
Last updated