Token Sale smart contracts with Tiers, Soft Cap, Hard Cap, KYC Whitelist & Blacklist
- Time-based tiers to incentivize the sale to close as fast as possible
- Equal distribution among contributors with a fixed personal firt day cap
- On-chain Whitelist and Blacklist to restrict to allowed contributor to avoid legal issues.
- Finalizable: Amdin super-power ante and post sale
- Flush tokens sent to smart contract address
- Clean: concise code, easy to read.
- Tested: Coverage > 90%, used in mainnet multiple times securing hundred of thousands ethers
- Careful: Two person approval process for small, focused pull requests.
- Secure: PGP signed releases
- Deploy
Token
contract withname
,symbol
,decimals
,initialSupply
- Deploy Crowdsale contract of choice (
FirstDayCappedCrowdsale
orTieredCrowdsale
) - Deploy
Airdrop
and transfer the presale supply - Call
transfer
inside Token with Crowdsale as recipient - Call
pause
inside Token - Call
transferOwnership
inside Token contract with Crowdsale as new owner - Call
updateWhitelist
inside Crowdsale Contract
After the sale
- Call
finalize
inside Crowdsale Contract
Install
npm install https://github.com/vulpemventures/token-sale-smart-contract
Require it
const CompiledTokenContract = require("token-sale-smart-contract/build/contracts/Token.json")
Use it
const { abi, bytecode } = CompiledTokenContract
const contractInstance = web3.eth.Contract(abi)
...
- Node/npm > 7.6
npm i
npm run test
npm run compile
npm run deploy
npm run flat