This set of contracts is used to run Ape Swap's version of initial farm offerings. This set of offering contracts provides for vesting periods. These vesting periods divide the offering tokens into equal parts and allows for the release of each part after each harvest period ends.
- Each IAO raises a predefined
stakeTokenamount in exchange for a predefinedofferingTokenamount - Once the
startBlockarrives, users can supply as much of the raising token as they would like - Once the
endBlockarrives, users can withdraw their first harvest and obtain a refund
IAOLinearVesting.sol
25% of tokens are released at the endBlock of this IAO and the other 75% are distributed linearly between the endBlock and vestingEndBlock.
vestingEndBlockis set to define when all of the offering tokens will be 100% unlocked.- A refund of
stakeTokenswhen there is an oversubscription of the IAO will be given on the first harvest offeringTokensare sent to users based on the number of vesting blocks that have passed since the end of the IAO. 25% is released on the first harvest along with a refund for over-subscriptions
harvestPeriodsset the block when new vesting tokens may be unlocked. After enough time elapses, a user will be able to withdraw the next harvest until there are no more- A refund of
stakeTokenswhen there is an oversubscription of the IAO will be given on the first harvest of any period offeringTokensare sent to the users based on the percentage of their allocation divided by the number of harvest periods
The following assumes the use of node@>=12.
yarn
yarn compile
Create a file named .env in the root project directory and copy in the variables from .env.example. Provide variables for each relevant item.
To deploy to BSC mainnet:
yarn migrate:bsc
To deploy to BSC Testnet:
yarn migrate:testnet
yarn test