We made a contract that can return investment during ICO.
This is done so that people are not afraid of the scum.
The issue of tokens is unlimited, in order to be able to generate a return procedure and, upon return, to burn tokens.
Contract Functions
Fallback functionfunction() external payableFallback function calls createTokensForEth(address _investor, uint256 _aidValue) function to create tokens when investor sends ETH directly to ICO smart contract address.
setRatefunction setRate(uint256 _RateEth) external oracleOnlySet ETH/USD exchange rate and update token price.
startPreIcofunction startPreIco() external managerOnlySet ICO status to PreIcoStarted.
pausePreIcofunction pausePreIco() external managerOnlySet Ico status to PreIcoPaused.
finishPreIcofunction finishPreIco() external managerOnlySet ICO status to PreIcoFinished.
startIcofunction startIco() external managerOnlySet ICO status to IcoStarted.
pauseIcofunction startIco() external managerOnlySet ICO status to IcoPaused.
finishIcofunction finishIco() external managerOnly
Finish ICO and allocate tokens for bounty company, partners and team pools.
enableTokensTransferfunction enableTokensTransfer() external managerOnlyUnfreezes tokens (enable token transfers).
rememberEtherfunction rememberEther(uint256 _value, address _investor) internalStores amount invested from specific address.
rememberTokensEthfunction rememberTokensEth(uint256 _value, address _investor) internalStores amount of AID tokens investor received (for ETH purchases).
rememberTokensOtherCryptofunction rememberTokensOtherCrypto(uint256 _value, address _investor) internalStores amount of AID tokens investor received (for purchases in BTC, LTC, BCC).
buyForInvestorfunction buyForInvestor(address _investor,uint256 _aidValue,string _txHash) external controllersOnlybuyForInvestor function is called by one of controllers createTokensForOtherCrypto(address _investor, uint256 _aidValue)
function to allocate tokens to investors who make a deposit in non-ETH currencies.
createTokensForOtherCryptofunction createTokensForOtherCrypto(address _investor, uint256 _aidValue) internalIssue tokens for investors who paid in other cryptocurrencies.
createTokensForEth
function createTokensForEth(address _investor, uint256 _aidValue) internalIssue tokens for investors who paid in ETH.
getBonus
function getBonus(uint256 _value) public constant returns(uint256)get current bonus
daysFromIcoStart
function daysFromIcoStart() public constant returns(uint256)Count days from Ico start day.
returnEtherfunction returnEther() publicAllows investors to return their investments(in ETH) if preICO or ICO_RETURN_DURATION is not over yet and burns tokens.
returnOtherCryptofunction returnOtherCrypto(address _investor, string _logString) external refundManagerOnlyThis method is called by refund manager to burn tokens of investors who want to revoke their investments in other cryptocurrencies.
withdrawEtherfunction withdrawEther(uint256 _value) external managerOnlyAllows Company withdrawing investments when ICO_RETURN_DURATION is over
AidaIco EventsLogStartICOevent LogStartICO();LogPauseICOevent LogPauseICO();LogFinishICOevent LogFinishICO(address bountyFund, address partnersFund, address teamFund);LogBuyForInvestorevent LogBuyForInvestor(address investor, uint256 aidValue, string txHash);LogReturnEthevent LogReturnEth(address investor, uint256 eth);LogReturnOtherCryptoevent LogReturnOtherCrypto(address investor, string logString);What do you think about contract?
If you want more, please get to
Github