ETH Price: $2,724.50 (+0.80%)

Contract

0xDAcA97CB18b2cC71C151d15Ac85Ff9D4c2156939
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer58828902018-06-30 21:33:432425 days ago1530394423IN
0xDAcA97CB...4c2156939
0.1 ETH0.0008882641
Transfer58521522018-06-25 14:06:162430 days ago1529935576IN
0xDAcA97CB...4c2156939
0.10012855 ETH0.000824610
Transfer57775822018-06-12 19:27:552443 days ago1528831675IN
0xDAcA97CB...4c2156939
0.000918 ETH0.000611857.42
Transfer57477792018-06-07 13:01:522448 days ago1528376512IN
0xDAcA97CB...4c2156939
0.0165361 ETH0.000974610
Transfer57420052018-06-06 12:13:092450 days ago1528287189IN
0xDAcA97CB...4c2156939
1.5 ETH0.000824610
Transfer57410872018-06-06 8:25:022450 days ago1528273502IN
0xDAcA97CB...4c2156939
0.008 ETH0.000742149
Transfer57320052018-06-04 17:38:312451 days ago1528133911IN
0xDAcA97CB...4c2156939
0.017329 ETH0.0017316621
Transfer57258342018-06-03 15:28:462452 days ago1528039726IN
0xDAcA97CB...4c2156939
0.03 ETH0.000742149
Transfer57248742018-06-03 11:20:332453 days ago1528024833IN
0xDAcA97CB...4c2156939
0.12 ETH0.000750389.1
Transfer57248662018-06-03 11:18:562453 days ago1528024736IN
0xDAcA97CB...4c2156939
0.8245 ETH0.000742149
Transfer57188602018-06-02 9:44:112454 days ago1527932651IN
0xDAcA97CB...4c2156939
0.98602794 ETH0.000824610
Transfer57188322018-06-02 9:38:242454 days ago1527932304IN
0xDAcA97CB...4c2156939
0.013 ETH0.000974610
Transfer57186972018-06-02 9:03:062454 days ago1527930186IN
0xDAcA97CB...4c2156939
0.012 ETH0.0010720611
Transfer57145372018-06-01 15:29:052454 days ago1527866945IN
0xDAcA97CB...4c2156939
0.0799206 ETH0.0024243229.4
Transfer57137842018-06-01 12:09:422455 days ago1527854982IN
0xDAcA97CB...4c2156939
0.47 ETH0.0014018217
Transfer57137802018-06-01 12:08:272455 days ago1527854907IN
0xDAcA97CB...4c2156939
0.01 ETH0.0009895212
Transfer57137462018-06-01 11:59:572455 days ago1527854397IN
0xDAcA97CB...4c2156939
0.519 ETH0.0009895212
Transfer57137072018-06-01 11:46:492455 days ago1527853609IN
0xDAcA97CB...4c2156939
0.01 ETH0.0010391610.6625
Transfer57137042018-06-01 11:45:552455 days ago1527853555IN
0xDAcA97CB...4c2156939
1.8944 ETH0.0009895212
Transfer57129022018-06-01 8:24:452455 days ago1527841485IN
0xDAcA97CB...4c2156939
0.387 ETH0.001649220
Transfer57104322018-05-31 21:43:392455 days ago1527803019IN
0xDAcA97CB...4c2156939
0.397 ETH0.001461915
Transfer57082762018-05-31 12:31:092455 days ago1527769869IN
0xDAcA97CB...4c2156939
0.406 ETH0.0013193616
Transfer57082302018-05-31 12:21:362456 days ago1527769296IN
0xDAcA97CB...4c2156939
3.927 ETH0.0020466621
Transfer57082222018-05-31 12:19:122456 days ago1527769152IN
0xDAcA97CB...4c2156939
0.01 ETH0.001949220
Transfer57035262018-05-30 16:26:202456 days ago1527697580IN
0xDAcA97CB...4c2156939
0.0000337 ETH0.0012451415.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
58521522018-06-25 14:06:162430 days ago1529935576
0xDAcA97CB...4c2156939
0.10012855 ETH
57775822018-06-12 19:27:552443 days ago1528831675
0xDAcA97CB...4c2156939
0.000918 ETH
57477792018-06-07 13:01:522448 days ago1528376512
0xDAcA97CB...4c2156939
0.0165361 ETH
57420052018-06-06 12:13:092450 days ago1528287189
0xDAcA97CB...4c2156939
1.5 ETH
57410872018-06-06 8:25:022450 days ago1528273502
0xDAcA97CB...4c2156939
0.008 ETH
57320052018-06-04 17:38:312451 days ago1528133911
0xDAcA97CB...4c2156939
0.017329 ETH
57258342018-06-03 15:28:462452 days ago1528039726
0xDAcA97CB...4c2156939
0.03 ETH
57248742018-06-03 11:20:332453 days ago1528024833
0xDAcA97CB...4c2156939
0.12 ETH
57248662018-06-03 11:18:562453 days ago1528024736
0xDAcA97CB...4c2156939
0.8245 ETH
57188602018-06-02 9:44:112454 days ago1527932651
0xDAcA97CB...4c2156939
0.98602794 ETH
57188322018-06-02 9:38:242454 days ago1527932304
0xDAcA97CB...4c2156939
0.013 ETH
57186972018-06-02 9:03:062454 days ago1527930186
0xDAcA97CB...4c2156939
0.012 ETH
57145372018-06-01 15:29:052454 days ago1527866945
0xDAcA97CB...4c2156939
0.0799206 ETH
57137842018-06-01 12:09:422455 days ago1527854982
0xDAcA97CB...4c2156939
0.47 ETH
57137802018-06-01 12:08:272455 days ago1527854907
0xDAcA97CB...4c2156939
0.01 ETH
57137462018-06-01 11:59:572455 days ago1527854397
0xDAcA97CB...4c2156939
0.519 ETH
57137072018-06-01 11:46:492455 days ago1527853609
0xDAcA97CB...4c2156939
0.01 ETH
57137042018-06-01 11:45:552455 days ago1527853555
0xDAcA97CB...4c2156939
1.8944 ETH
57129022018-06-01 8:24:452455 days ago1527841485
0xDAcA97CB...4c2156939
0.387 ETH
57104322018-05-31 21:43:392455 days ago1527803019
0xDAcA97CB...4c2156939
0.397 ETH
57082762018-05-31 12:31:092455 days ago1527769869
0xDAcA97CB...4c2156939
0.406 ETH
57082302018-05-31 12:21:362456 days ago1527769296
0xDAcA97CB...4c2156939
3.927 ETH
57082222018-05-31 12:19:122456 days ago1527769152
0xDAcA97CB...4c2156939
0.01 ETH
57035262018-05-30 16:26:202456 days ago1527697580
0xDAcA97CB...4c2156939
0.0000337 ETH
57035142018-05-30 16:24:072456 days ago1527697447
0xDAcA97CB...4c2156939
0.0927021 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x2C8d4C15...a13B83a64
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
RC

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-17
*/

pragma solidity ^0.4.23;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
     return a / b;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
	address public owner;
	address public newOwner;

	event OwnershipTransferred(address indexed oldOwner, address indexed newOwner);

	constructor() public {
		owner = msg.sender;
		newOwner = address(0);
	}

	modifier onlyOwner() {
		require(msg.sender == owner, "msg.sender == owner");
		_;
	}

	function transferOwnership(address _newOwner) public onlyOwner {
		require(address(0) != _newOwner, "address(0) != _newOwner");
		newOwner = _newOwner;
	}

	function acceptOwnership() public {
		require(msg.sender == newOwner, "msg.sender == newOwner");
		emit OwnershipTransferred(owner, msg.sender);
		owner = msg.sender;
		newOwner = address(0);
	}
}

contract tokenInterface {
	function balanceOf(address _owner) public constant returns (uint256 balance);
	function transfer(address _to, uint256 _value) public returns (bool);
	function burn(uint256 _value) public returns(bool);
	uint256 public totalSupply;
	uint256 public decimals;
}

contract rateInterface {
    function readRate(string _currency) public view returns (uint256 oneEtherValue);
}

contract RC {
    using SafeMath for uint256;
    DaicoCoinCrowd tokenSaleContract;
    uint256 public startTime;
    uint256 public endTime;
    
    uint256 public etherMinimum;
    uint256 public soldTokens;
    uint256 public remainingTokens;
    
    uint256 public oneTokenInFiatWei;

    constructor(address _tokenSaleContract, uint256 _oneTokenInFiatWei, uint256 _remainingTokens, uint256 _etherMinimum, uint256 _startTime , uint256 _endTime) public {
        require ( _tokenSaleContract != 0, "Token Sale Contract can not be 0" );
        require ( _oneTokenInFiatWei != 0, "Token price can no be 0" );
        require( _remainingTokens != 0, "Remaining tokens can no be 0");
       
        
        
        tokenSaleContract = DaicoCoinCrowd(_tokenSaleContract);
        
        soldTokens = 0;
        remainingTokens = _remainingTokens;
        oneTokenInFiatWei = _oneTokenInFiatWei;
        etherMinimum = _etherMinimum;
        
        setTimeRC( _startTime, _endTime );
    }
    
    function setTimeRC(uint256 _startTime, uint256 _endTime ) internal {
        if( _startTime == 0 ) {
            startTime = tokenSaleContract.startTime();
        } else {
            startTime = _startTime;
        }
        if( _endTime == 0 ) {
            endTime = tokenSaleContract.endTime();
        } else {
            endTime = _endTime;
        }
    }
    
    modifier onlyTokenSaleOwner() {
        require(msg.sender == tokenSaleContract.owner(), "msg.sender == tokenSaleContract.owner()" );
        _;
    }
    
    function setTime(uint256 _newStart, uint256 _newEnd) public onlyTokenSaleOwner {
        if ( _newStart != 0 ) startTime = _newStart;
        if ( _newEnd != 0 ) endTime = _newEnd;
    }
    
    function changeMinimum(uint256 _newEtherMinimum) public onlyTokenSaleOwner {
        etherMinimum = _newEtherMinimum;
    }
    
    function started() public view returns(bool) {
        return now > startTime || remainingTokens == 0;
    }
    
    function ended() public view returns(bool) {
        return now > endTime || remainingTokens == 0;
    }
    
    function startTime() public view returns(uint) {
        return startTime;
    }
    
    function endTime() public view returns(uint) {
        return endTime;
    }
    
    function totalTokens() public view returns(uint) {
        return remainingTokens.add(soldTokens);
    }
    
    function remainingTokens() public view returns(uint) {
        return remainingTokens;
    }
    
    function price() public view returns(uint) {
        uint256 oneEther = 1 ether;
        return oneEther.mul(10**18).div( tokenSaleContract.tokenValueInEther(oneTokenInFiatWei) );
    }
    
    event BuyRC(address indexed buyer, bytes trackID, uint256 value, uint256 soldToken, uint256 valueTokenInUsdWei );
	
    function () public payable {
        require( now > startTime, "now > startTime" );
        require( now < endTime, "now < endTime" );
        require( msg.value >= etherMinimum, "msg.value >= etherMinimum"); 
        require( remainingTokens > 0, "remainingTokens > 0" );
        
        uint256 tokenAmount = tokenSaleContract.buyFromRC.value(msg.value)(msg.sender, oneTokenInFiatWei, remainingTokens);
        
        remainingTokens = remainingTokens.sub(tokenAmount);
        soldTokens = soldTokens.add(tokenAmount);
        
        emit BuyRC( msg.sender, msg.data, msg.value, tokenAmount, oneTokenInFiatWei );
    }
}

contract DaicoCoinCrowd is Ownable {
    using SafeMath for uint256;
    tokenInterface public tokenContract;
    rateInterface public rateContract;
    
    address public wallet;
    
	uint256 public decimals;
    
    uint256 public endTime;  // seconds from 1970-01-01T00:00:00Z
    uint256 public startTime;  // seconds from 1970-01-01T00:00:00Z
    
    uint256 public oneTokenInEur;

    mapping(address => bool) public rc;

    constructor(address _tokenAddress, address _rateAddress, uint256 _startTime, uint256 _endTime, uint256[] _time, uint256[] _funds, uint256 _oneTokenInEur, uint256 _activeSupply) public {
        tokenContract = tokenInterface(_tokenAddress);
        rateContract = rateInterface(_rateAddress);
        setTime(_startTime, _endTime); 
        decimals = tokenContract.decimals();
        oneTokenInEur = _oneTokenInEur;
        wallet = new MilestoneSystem(_tokenAddress, _time, _funds, _oneTokenInEur, _activeSupply);
    }
    
    function tokenValueInEther(uint256 _oneTokenInFiatWei) public view returns(uint256 tknValue) {
        uint256 oneEtherPrice = rateContract.readRate("eur");
        tknValue = _oneTokenInFiatWei.mul(10 ** uint256(decimals)).div(oneEtherPrice);
        return tknValue;
    } 
    
    modifier isBuyable() {
        require( wallet != address(0), "wallet != address(0)" );
        require( now > startTime, "now > startTime" ); // check if started
        require( now < endTime, "now < endTime"); // check if ended
        require( msg.value > 0, "msg.value > 0" );
		
		uint256 remainingTokens = tokenContract.balanceOf(this);
        require( remainingTokens > 0, "remainingTokens > 0" ); // Check if there are any remaining tokens 
        _;
    }
    
    event Buy(address buyer, uint256 value, address indexed ambassador);
    
    modifier onlyRC() {
        require( rc[msg.sender], "rc[msg.sender]" ); //check if is an authorized rcContract
        _;
    }
    
    function buyFromRC(address _buyer, uint256 _rcTokenValue, uint256 _remainingTokens) onlyRC isBuyable public payable returns(uint256) {
        uint256 oneToken = 10 ** uint256(decimals);
        uint256 tokenValue = tokenValueInEther(_rcTokenValue);
        uint256 tokenAmount = msg.value.mul(oneToken).div(tokenValue);
        address _ambassador = msg.sender;
        
        uint256 remainingTokens = tokenContract.balanceOf(this);
        if ( _remainingTokens < remainingTokens ) {
            remainingTokens = _remainingTokens;
        }
        
        if ( remainingTokens < tokenAmount ) {
            uint256 refund = tokenAmount.sub(remainingTokens).mul(tokenValue).div(oneToken);
            tokenAmount = remainingTokens;
            forward(msg.value.sub(refund));
			remainingTokens = 0; // set remaining token to 0
             _buyer.transfer(refund);
        } else {
			remainingTokens = remainingTokens.sub(tokenAmount); // update remaining token without bonus
            forward(msg.value);
        }
        
        tokenContract.transfer(_buyer, tokenAmount);
        emit Buy(_buyer, tokenAmount, _ambassador);
		
        return tokenAmount; 
    }
    
    function forward(uint256 _amount) internal {
        wallet.transfer(_amount);
    }

    event NewRC(address contr);
    
    function addRC(address _rc) onlyOwner public {
        rc[ _rc ]  = true;
        emit NewRC(_rc);
    }
    
    function setTime(uint256 _newStart, uint256 _newEnd) public onlyOwner {
        if ( _newStart != 0 ) startTime = _newStart;
        if ( _newEnd != 0 ) endTime = _newEnd;
    }
    
    function withdrawTokens(address to, uint256 value) public onlyOwner returns (bool) {
        return tokenContract.transfer(to, value);
    }
    
    function setTokenContract(address _tokenContract) public onlyOwner {
        tokenContract = tokenInterface(_tokenContract);
    }
    
    function setRateContract(address _rateAddress) public onlyOwner {
        rateContract = rateInterface(_rateAddress);
    }
	
	function claim(address _buyer, uint256 _amount) onlyRC public returns(bool) {
        return tokenContract.transfer(_buyer, _amount);
    }

    function () public payable {
        revert();
    }
}

contract MilestoneSystem {
    using SafeMath for uint256;
    tokenInterface public tokenContract;
    DaicoCoinCrowd public tokenSaleContract;
    
    uint256[] public time;
    uint256[] public funds;
    
    bool public locked = false; 
    uint256 public endTimeToReturnTokens; 
    
    uint8 public step = 0;
    
    uint256 public constant timeframeMilestone = 3 days; 
    uint256 public constant timeframeDeath = 30 days; 
    
    uint256 public activeSupply;
    
    uint256 public oneTokenInEur;
    
    mapping(address => mapping(uint8 => uint256) ) public balance;
    mapping(uint8 => uint256) public tokenDistrusted;
    
    constructor(address _tokenAddress, uint256[] _time, uint256[] _funds, uint256 _oneTokenInEur, uint256 _activeSupply) public {
        require( _time.length != 0, "_time.length != 0" );
        require( _time.length == _funds.length, "_time.length == _funds.length" );
        
        tokenContract = tokenInterface(_tokenAddress);
        tokenSaleContract = DaicoCoinCrowd(msg.sender);
        
        time = _time;
        funds = _funds;
        
        activeSupply = _activeSupply;
        oneTokenInEur = _oneTokenInEur;
    }
    
    modifier onlyTokenSaleOwner() {
        require(msg.sender == tokenSaleContract.owner(), "msg.sender == tokenSaleContract.owner()" );
        _;
    }
    
    event Distrust(address sender, uint256 amount);
    event Locked();
    
    function distrust(address _from, uint _value, bytes _data) public {
        require(msg.sender == address(tokenContract), "msg.sender == address(tokenContract)");
        
        if ( !locked ) {
            
            uint256 startTimeMilestone = time[step].sub(timeframeMilestone);
            uint256 endTimeMilestone = time[step];
            uint256 startTimeProjectDeath = time[step].add(timeframeDeath);
            bool unclaimedFunds = funds[step] > 0;
            
            require( 
                ( now > startTimeMilestone && now < endTimeMilestone ) || 
                ( now > startTimeProjectDeath && unclaimedFunds ), 
                "( now > startTimeMilestone && now < endTimeMilestone ) || ( now > startTimeProjectDeath && unclaimedFunds )" 
            );
        } else {
            require( locked && now < endTimeToReturnTokens ); //a timeframePost to deposit all tokens and then claim the refundMe method
        }
        
        balance[_from][step] = balance[_from][step].add(_value);
        tokenDistrusted[step] = tokenDistrusted[step].add(_value);
        
        emit Distrust(msg.sender, _value);
        
        if( tokenDistrusted[step] > activeSupply && !locked ) {
            locked = true;
            endTimeToReturnTokens = now.add(timeframeDeath);
            emit Locked();
        }
    }
    
    function tokenFallback(address _from, uint _value, bytes _data) public {
        distrust( _from, _value, _data);
    }
	
	function receiveApproval( address _from, uint _value, bytes _data) public {
	    require(msg.sender == address(tokenContract), "msg.sender == address(tokenContract)");
		require(msg.sender.call(bytes4(keccak256("transferFrom(address,address,uint256)")), _from, this, _value));
        distrust( _from, _value, _data);
    }
    
    event Trust(address sender, uint256 amount);
    event Unlocked();
    
    function trust(uint8 _step) public {
        require( balance[msg.sender][_step] > 0 , "balance[msg.sender] > 0");
        
        uint256 amount = balance[msg.sender][_step];
        balance[msg.sender][_step] = 0;
        
        tokenDistrusted[_step] = tokenDistrusted[_step].sub(amount);
        tokenContract.transfer(msg.sender, amount);
        
        emit Trust(msg.sender, amount);
        
        if( tokenDistrusted[step] <= activeSupply && locked ) {
            locked = false;
            endTimeToReturnTokens = 0;
            emit Unlocked();
        }
    }
    
    event Refund(address sender, uint256 money);
    
    function refundMe() public {
        require(locked, "locked");
        require( now > endTimeToReturnTokens, "now > endTimeToReturnTokens" );
        
        uint256 ethTot = address(this).balance;
        require( ethTot > 0 , "ethTot > 0");
        
        uint256 tknAmount = balance[msg.sender][step];
        require( tknAmount > 0 , "tknAmount > 0");
        
        balance[msg.sender][step] = 0;
        
        tokenContract.burn(tknAmount);
        
        uint256 tknTot = tokenDistrusted[step];
        uint256 rate = tknAmount.mul(1 ether).div(tknTot);
        uint256 money = ethTot.mul(rate).div(1 ether);
        
        uint256 moneyMax = tknAmount.mul( tokenSaleContract.tokenValueInEther( oneTokenInEur )).div(1 ether) ;
        
        if ( money > moneyMax) { //This protects the project from the overvaluation of ether
            money = moneyMax;
        }
        
        if( money > address(this).balance ) {
		    money = address(this).balance;
		}
        msg.sender.transfer(money);
        
        emit Refund(msg.sender, money);
    }
    
    function OwnerWithdraw() public onlyTokenSaleOwner {
        require(!locked, "!locked");
        
        require(now > time[step], "now > time[step]");
        require(funds[step] > 0, "funds[step] > 0");
        
        uint256 amountApplied = funds[step];
        funds[step] = 0;
		step = step+1;
		
		uint256 value;
		if( amountApplied > address(this).balance || time.length == step+1)
		    value = address(this).balance;
		else {
		    value = amountApplied;
		}
		
        msg.sender.transfer(value);
    }
    
    function OwnerWithdrawTokens(address _tokenContract, address to, uint256 value) public onlyTokenSaleOwner returns (bool) { //for airdrop reason to distribute to CoinCrowd Token Holder
        require( _tokenContract != address(tokenContract), "_tokenContract != address(tokenContract)"); // the owner can withdraw tokens except CoinCrowd Tokens
        return tokenInterface(_tokenContract).transfer(to, value);
    }
    
    function () public payable {
        require(msg.sender == address(tokenSaleContract), "msg.sender == address(tokenSaleContract)");
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"oneTokenInFiatWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ended","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"started","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newEtherMinimum","type":"uint256"}],"name":"changeMinimum","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherMinimum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newStart","type":"uint256"},{"name":"_newEnd","type":"uint256"}],"name":"setTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"remainingTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenSaleContract","type":"address"},{"name":"_oneTokenInFiatWei","type":"uint256"},{"name":"_remainingTokens","type":"uint256"},{"name":"_etherMinimum","type":"uint256"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"trackID","type":"bytes"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"soldToken","type":"uint256"},{"indexed":false,"name":"valueTokenInUsdWei","type":"uint256"}],"name":"BuyRC","type":"event"}]

Deployed Bytecode

0x6080604052600436106100a05763ffffffff60e060020a60003504166312ade015811461035b57806312fa6feb146103825780631f2698ab146103ab5780632a513dd9146103c05780633197cbb6146103da5780635ed9ebfc146103ef578063675cef141461040457806378e97925146104195780637e1c0c091461042e578063a0355eca14610443578063a035b1fe1461045e578063bf58390314610473575b60015460009042116100fc576040805160e560020a62461bcd02815260206004820152600f60248201527f6e6f77203e20737461727454696d650000000000000000000000000000000000604482015290519081900360640190fd5b6002544210610155576040805160e560020a62461bcd02815260206004820152600d60248201527f6e6f77203c20656e6454696d6500000000000000000000000000000000000000604482015290519081900360640190fd5b6003543410156101af576040805160e560020a62461bcd02815260206004820152601960248201527f6d73672e76616c7565203e3d2065746865724d696e696d756d00000000000000604482015290519081900360640190fd5b600554600010610209576040805160e560020a62461bcd02815260206004820152601360248201527f72656d61696e696e67546f6b656e73203e203000000000000000000000000000604482015290519081900360640190fd5b600054600654600554604080517f4769ed8f0000000000000000000000000000000000000000000000000000000081523360048201526024810193909352604483019190915251600160a060020a0390921691634769ed8f913491606480830192602092919082900301818588803b15801561028457600080fd5b505af1158015610298573d6000803e3d6000fd5b50505050506040513d60208110156102af57600080fd5b50516005549091506102c7908263ffffffff61048816565b6005556004546102dd908263ffffffff61049f16565b60048190555033600160a060020a03167f99d83b77a8a0fbdd924ad497f587bec4b963b71e8925e31a2baed1fbce2a165260003634856006546040518080602001858152602001848152602001838152602001828103825287878281815260200192508082843760405192018290039850909650505050505050a250005b34801561036757600080fd5b506103706104ac565b60408051918252519081900360200190f35b34801561038e57600080fd5b506103976104b2565b604080519115158252519081900360200190f35b3480156103b757600080fd5b506103976104c9565b3480156103cc57600080fd5b506103d86004356104de565b005b3480156103e657600080fd5b506103706105e6565b3480156103fb57600080fd5b506103706105ec565b34801561041057600080fd5b506103706105f2565b34801561042557600080fd5b506103706105f8565b34801561043a57600080fd5b506103706105fe565b34801561044f57600080fd5b506103d8600435602435610617565b34801561046a57600080fd5b50610370610736565b34801561047f57600080fd5b50610370610804565b60008282111561049457fe5b508082035b92915050565b8181018281101561049957fe5b60065481565b60006002544211806104c45750600554155b905090565b60006001544211806104c45750506005541590565b6000809054906101000a9004600160a060020a0316600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561053057600080fd5b505af1158015610544573d6000803e3d6000fd5b505050506040513d602081101561055a57600080fd5b5051600160a060020a031633146105e1576040805160e560020a62461bcd02815260206004820152602760248201527f6d73672e73656e646572203d3d20746f6b656e53616c65436f6e74726163742e60448201527f6f776e6572282900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600355565b60025490565b60045481565b60035481565b60015490565b60006104c460045460055461049f90919063ffffffff16565b6000809054906101000a9004600160a060020a0316600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561066957600080fd5b505af115801561067d573d6000803e3d6000fd5b505050506040513d602081101561069357600080fd5b5051600160a060020a0316331461071a576040805160e560020a62461bcd02815260206004820152602760248201527f6d73672e73656e646572203d3d20746f6b656e53616c65436f6e74726163742e60448201527f6f776e6572282900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b81156107265760018290555b80156107325760028190555b5050565b60008054600654604080517f7b413985000000000000000000000000000000000000000000000000000000008152600481019290925251670de0b6b3a7640000926107fe92600160a060020a0390911691637b4139859160248082019260209290919082900301818987803b1580156107ae57600080fd5b505af11580156107c2573d6000803e3d6000fd5b505050506040513d60208110156107d857600080fd5b50516107f283670de0b6b3a764000063ffffffff61080a16565b9063ffffffff61083316565b91505090565b60055490565b600082151561081b57506000610499565b5081810281838281151561082b57fe5b041461049957fe5b6000818381151561084057fe5b0493925050505600a165627a7a72305820c6da7fefbf2996fdb547b09edb091b1457d5fc68b4fa9b9f27455ad9455e70ce0029

Swarm Source

bzzr://c6da7fefbf2996fdb547b09edb091b1457d5fc68b4fa9b9f27455ad9455e70ce

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.