Ready to see the code?
Click the link to go to the GitHub Repository
Today Intelliblock just released the TEROS smart contract code online on GitHub for the first day of Public Scrutiny. Intelliblock is also offering €200 as Bug Bounty.
Teros Smart Contracts
Teros is a turnkey ICO platform which allows the quick set up and management of ICOs that run on the Ethereum blockchain. ICOs created using Teros will issue ERC20-compliant tokens to investors and the issuing process is controlled using a set Ethereum smart contracts.
The smart contracts deployed by Teros can be found in this repository. In particular, Teros will deploy the following for each ICO:
PhasedICO: An ICO coordinator smart contract which specifies when an ICO starts and ends.
Token: An ERC20-compliant token contract where the ICO will eventually issue tokens to investors.
- Participation contracts: These various contracts are the entry points for investors who want to participate in the ICO. For example, an investor who wants to purchase tokens using ether will send ether to the
EtherParticipationcontract which will decide the applicable rate for each token and hold the tokens in escrow.
Note: the ICO manager will release tokens or refund the initial escrow after the investor's identity has passed any KYC process in place externally
Compiling and testing the smart contracts require
truffle. Please check the Truffle Framework's website for information on installing Truffle. Once
truffle is installed, compile the smart contracts with the command,
To run the tests, use
Intelliblock are running a bug bounty with the aim of finding and fixing bugs in the published smart contracts. Anyone who reports a bug according to the rules below will receive a reward of €200. Please read the rules below to make sure you are eligible for the bug bounty.
If you find a bug, please send an e-mail to Intelliblock describing a scenario that can be used to reproduce the bug using the smart contracts. To be eligible for the reward, you need to submit a bug which violates any invariants or functional requirements of the ICO. We must also be able to pay you using a SEPA bank transfer. Valid bugs include:
- Purchasing tokens outside the ICO's start and end timestamps (where the block timestamp is the current time).
- Withdrawing ether which does not belong to the user.
- Issuing the wrong number of tokens.
- Issuing more tokens than the ICO's hard cap.
- Transitioning to the
FAILEDstate if the ICO issued more tokens than the minimum cap.
- A user somehow getting more tokens than escrowed when they are released.
- Minting tokens before the ICO is complete.
- Distributing ether incorrectly to the ICO beneficiaries.
- An account somehow performing an unauthorized action on the ICO (eg. changing states or the token price while the ICO is running).
Please note that the manager account used throughout the ICO is a trusted account and will never contain a smart contract.
Note that we reserve the right to refuse paying a bug bounty if your report is inaccurate, irrelevant, incorrect or not a bug.