ETH Price: $3,277.59 (-5.68%)

Contract

0xC26677571D41ff2CFfC1775f259E54827a1e162b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Tokens52553262018-03-14 19:01:372502 days ago1521054097IN
0xC2667757...27a1e162b
0 ETH0.000205615
Withdraw Tokens52428672018-03-12 15:50:402504 days ago1520869840IN
0xC2667757...27a1e162b
0 ETH0.00011162
Set Advisor Fee51910872018-03-03 21:02:282513 days ago1520110948IN
0xC2667757...27a1e162b
0 ETH0.000068315
Set Advisor Fee51349002018-02-22 7:28:272522 days ago1519284507IN
0xC2667757...27a1e162b
0 ETH0.000169554
Set Advisor Addr...51348942018-02-22 7:26:492522 days ago1519284409IN
0xC2667757...27a1e162b
0 ETH0.000114644
Set Wallet Addre...51297802018-02-21 10:49:442523 days ago1519210184IN
0xC2667757...27a1e162b
0 ETH0.000231568

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
52194242018-03-08 16:16:222508 days ago1520525782
0xC2667757...27a1e162b
0.17 ETH
52194242018-03-08 16:16:222508 days ago1520525782
0xC2667757...27a1e162b
0.17 ETH
52191802018-03-08 15:18:332508 days ago1520522313
0xC2667757...27a1e162b
0.3 ETH
52191802018-03-08 15:18:332508 days ago1520522313
0xC2667757...27a1e162b
0.3 ETH
52190192018-03-08 14:35:172508 days ago1520519717
0xC2667757...27a1e162b
0.1 ETH
52190192018-03-08 14:35:172508 days ago1520519717
0xC2667757...27a1e162b
0.1 ETH
52189622018-03-08 14:21:572508 days ago1520518917
0xC2667757...27a1e162b
0.29946889 ETH
52189622018-03-08 14:21:572508 days ago1520518917
0xC2667757...27a1e162b
0.29946889 ETH
52188102018-03-08 13:47:272508 days ago1520516847
0xC2667757...27a1e162b
0.95 ETH
52188102018-03-08 13:47:272508 days ago1520516847
0xC2667757...27a1e162b
0.95 ETH
52185772018-03-08 12:56:452508 days ago1520513805
0xC2667757...27a1e162b
1 ETH
52185772018-03-08 12:56:452508 days ago1520513805
0xC2667757...27a1e162b
1 ETH
52185032018-03-08 12:40:252508 days ago1520512825
0xC2667757...27a1e162b
0.39 ETH
52185032018-03-08 12:40:252508 days ago1520512825
0xC2667757...27a1e162b
0.39 ETH
52182702018-03-08 11:42:472508 days ago1520509367
0xC2667757...27a1e162b
0.105 ETH
52182702018-03-08 11:42:472508 days ago1520509367
0xC2667757...27a1e162b
0.105 ETH
52173872018-03-08 8:01:062508 days ago1520496066
0xC2667757...27a1e162b
2 ETH
52173872018-03-08 8:01:062508 days ago1520496066
0xC2667757...27a1e162b
2 ETH
52173862018-03-08 8:00:522508 days ago1520496052
0xC2667757...27a1e162b
0.48 ETH
52173862018-03-08 8:00:522508 days ago1520496052
0xC2667757...27a1e162b
0.48 ETH
52171012018-03-08 6:51:462508 days ago1520491906
0xC2667757...27a1e162b
0.12049707 ETH
52171012018-03-08 6:51:462508 days ago1520491906
0xC2667757...27a1e162b
0.12049707 ETH
52167162018-03-08 5:20:152508 days ago1520486415
0xC2667757...27a1e162b
0.1 ETH
52167162018-03-08 5:20:152508 days ago1520486415
0xC2667757...27a1e162b
0.1 ETH
52157612018-03-08 1:27:142508 days ago1520472434
0xC2667757...27a1e162b
0.102 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenSale

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-20
*/

pragma solidity ^0.4.19;

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

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  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) {
    uint256 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;
  
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() internal {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

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

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

contract RC {
    using SafeMath for uint256;
    TokenSale tokenSaleContract;
    uint256 public startTime;
    uint256 public endTime;
    
    uint256 public soldTokens;
    uint256 public remainingTokens;
    
    uint256 public oneTokenInUsdWei;

    function RC(address _tokenSaleContract, uint256 _oneTokenInUsdWei, uint256 _remainingTokens,  uint256 _startTime , uint256 _endTime ) public {
        require ( _tokenSaleContract != 0 );
        require ( _oneTokenInUsdWei != 0 );
        require( _remainingTokens != 0 );
        
        tokenSaleContract = TokenSale(_tokenSaleContract);
        
        tokenSaleContract.addMeByRC();
        
        soldTokens = 0;
        remainingTokens = _remainingTokens;
        oneTokenInUsdWei = _oneTokenInUsdWei;
        
        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() );
        _;
    }
    
    function setTime(uint256 _newStart, uint256 _newEnd) public onlyTokenSaleOwner {
        if ( _newStart != 0 ) startTime = _newStart;
        if ( _newEnd != 0 ) endTime = _newEnd;
    }
    
    event BuyRC(address indexed buyer, bytes trackID, uint256 value, uint256 soldToken, uint256 valueTokenInUsdWei );
    
    function () public payable {
        require( now > startTime );
        require( now < endTime );
        require( msg.value >= 1*10**18); //1 Ether
        require( remainingTokens > 0 );
        
        uint256 tokenAmount = tokenSaleContract.buyFromRC.value(msg.value)(msg.sender, oneTokenInUsdWei, remainingTokens);
        
        remainingTokens = remainingTokens.sub(tokenAmount);
        soldTokens = soldTokens.add(tokenAmount);
        
        BuyRC( msg.sender, msg.data, msg.value, tokenAmount, oneTokenInUsdWei );
    }
}

contract CardSale {
    using SafeMath for uint256;
    TokenSale tokenSaleContract;
    
    uint256 public startTime;
    uint256 public endTime;
    
    uint256 public soldTokens;
    uint256 public remainingTokens;    
    
    mapping(address => bool) public rc;
    
    function CardSale(address _tokenSaleContract, uint256 _remainingTokens,  uint256 _startTime , uint256 _endTime ) public {
        require ( _tokenSaleContract != 0 );
        require( _remainingTokens != 0 );
        
        tokenSaleContract = TokenSale(_tokenSaleContract);
        
        tokenSaleContract.addMeByRC();
        
        soldTokens = 0;
        remainingTokens = _remainingTokens;
        
        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;
        }
    }

    function owner() view public returns (address) {
        return tokenSaleContract.owner();
    }
    
    modifier onlyTokenSaleOwner() {
        require(msg.sender == owner() );
        _;
    }
    
    function setTime(uint256 _newStart, uint256 _newEnd) public onlyTokenSaleOwner {
        if ( _newStart != 0 ) startTime = _newStart;
        if ( _newEnd != 0 ) endTime = _newEnd;
    }
    
    event NewRC(address contr);
    
    function addMeByRC() public {
        require(tx.origin == owner() );
        
        rc[ msg.sender ]  = true;
        
        NewRC(msg.sender);
    }
    
    function newCard(uint256 _oneTokenInUsdWei) onlyTokenSaleOwner public {
        new RC(this, _oneTokenInUsdWei, remainingTokens, 0, 0 );
    }
    
    function () public payable {
        revert();
    }
    
    modifier onlyRC() {
        require( rc[msg.sender] ); //check if is an authorized rcContract
        _;
    }
    
    function buyFromRC(address _buyer, uint256 _rcTokenValue, uint256 ) onlyRC public payable returns(uint256) {
        uint256 tokenAmount = tokenSaleContract.buyFromRC.value(msg.value)(_buyer, _rcTokenValue, remainingTokens);
        remainingTokens = remainingTokens.sub(tokenAmount);
        soldTokens = soldTokens.add(tokenAmount);
        return tokenAmount;
    }
}

contract TokenSale is Ownable {
    using SafeMath for uint256;
    tokenInterface public tokenContract;
    rateInterface public rateContract;
    
    address public wallet;
    address public advisor;
    uint256 public advisorFee; // 1 = 0,1%
    
	uint256 public constant decimals = 18;
    
    uint256 public endTime;  // seconds from 1970-01-01T00:00:00Z
    uint256 public startTime;  // seconds from 1970-01-01T00:00:00Z

    mapping(address => bool) public rc;


    function TokenSale(address _tokenAddress, address _rateAddress, uint256 _startTime, uint256 _endTime) public {
        tokenContract = tokenInterface(_tokenAddress);
        rateContract = rateInterface(_rateAddress);
        setTime(_startTime, _endTime); 
        wallet = msg.sender;
        advisor = msg.sender;
        advisorFee = 0 * 10**3;
    }
    
    function tokenValueInEther(uint256 _oneTokenInUsdWei) public view returns(uint256 tknValue) {
        uint256 oneEtherInUsd = rateContract.readRate("usd");
        tknValue = _oneTokenInUsdWei.mul(10 ** uint256(decimals)).div(oneEtherInUsd);
        return tknValue;
    } 
    
    modifier isBuyable() {
        require( now > startTime ); // check if started
        require( now < endTime ); // check if ended
        require( msg.value > 0 );
		
		uint256 remainingTokens = tokenContract.balanceOf(this);
        require( remainingTokens > 0 ); // Check if there are any remaining tokens 
        _;
    }
    
    event Buy(address buyer, uint256 value, address indexed ambassador);
    
    modifier onlyRC() {
        require( 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 - remainingTokens).mul(tokenValue).div(oneToken);
            tokenAmount = remainingTokens;
            forward(msg.value-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);
        Buy(_buyer, tokenAmount, _ambassador);
		
        return tokenAmount; 
    }
    
    function forward(uint256 _amount) internal {
        uint256 advisorAmount = _amount.mul(advisorFee).div(10**3);
        uint256 walletAmount = _amount - advisorAmount;
        advisor.transfer(advisorAmount);
        wallet.transfer(walletAmount);
    }

    event NewRC(address contr);
    
    function addMeByRC() public {
        require(tx.origin == owner);
        
        rc[ msg.sender ]  = true;
        
        NewRC(msg.sender);
    }
    
    function setTime(uint256 _newStart, uint256 _newEnd) public onlyOwner {
        if ( _newStart != 0 ) startTime = _newStart;
        if ( _newEnd != 0 ) endTime = _newEnd;
    }

    function withdraw(address to, uint256 value) public onlyOwner {
        to.transfer(value);
    }
    
    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 setWalletAddress(address _wallet) public onlyOwner {
        wallet = _wallet;
    }
    
    function setAdvisorAddress(address _advisor) public onlyOwner {
            advisor = _advisor;
    }
    
    function setAdvisorFee(uint256 _advisorFee) public onlyOwner {
            advisorFee = _advisorFee;
    }
    
    function setRateContract(address _rateAddress) public onlyOwner {
        rateContract = rateInterface(_rateAddress);
    }

    function () public payable {
        revert();
    }
    
    function newRC(uint256 _oneTokenInUsdWei, uint256 _remainingTokens) onlyOwner public {
        new RC(this, _oneTokenInUsdWei, _remainingTokens, 0, 0 );
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"withdrawTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"advisor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_advisor","type":"address"}],"name":"setAdvisorAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_rcTokenValue","type":"uint256"},{"name":"_remainingTokens","type":"uint256"}],"name":"buyFromRC","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advisorFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rc","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"addMeByRC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rateAddress","type":"address"}],"name":"setRateContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oneTokenInUsdWei","type":"uint256"},{"name":"_remainingTokens","type":"uint256"}],"name":"newRC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_oneTokenInUsdWei","type":"uint256"}],"name":"tokenValueInEther","outputs":[{"name":"tknValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWalletAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"setTokenContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_advisorFee","type":"uint256"}],"name":"setAdvisorFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_rateAddress","type":"address"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"ambassador","type":"address"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"contr","type":"address"}],"name":"NewRC","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6060604052341561000f57600080fd5b6040516080806115458339810160405280805191906020018051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600180548984169083161790556002805492881692909116919091179055915061008f90508282640100000000610a656100c882021704565b505060038054600160a060020a033316600160a060020a03199182168117909255600480549091169091179055505060006005556100ff565b60005433600160a060020a039081169116146100e357600080fd5b81156100ef5760078290555b80156100fb5760068190555b5050565b6114378061010e6000396000f300606060405260043610620001315763ffffffff60e060020a60003504166306b091f98114620001365780631936e4be146200016f578063313ce56714620001a15780633197cbb614620001c95780633e6d6a6b14620001df5780634769ed8f1462000203578063521eb273146200021f57806352cfd41f146200023557806355a373d6146200024b5780635d4dcf12146200026157806366b52b9314620002835780636b96668f1462000299578063776676d614620002bb57806378e9792514620002d75780637b41398514620002ed5780638da5cb5b1462000306578063a0355eca146200031c578063ac1a386a1462000338578063bbcd5bbe146200035a578063cd1ce6d5146200037c578063eee242191462000395578063f2fde38b14620003ab578063f3fef3a314620003cd575b600080fd5b34156200014257600080fd5b6200015b600160a060020a0360043516602435620003f2565b604051901515815260200160405180910390f35b34156200017b57600080fd5b6200018562000491565b604051600160a060020a03909116815260200160405180910390f35b3415620001ad57600080fd5b620001b7620004a0565b60405190815260200160405180910390f35b3415620001d557600080fd5b620001b7620004a5565b3415620001eb57600080fd5b62000201600160a060020a0360043516620004ab565b005b620001b7600160a060020a0360043516602435604435620004f6565b34156200022b57600080fd5b620001856200080c565b34156200024157600080fd5b620001b76200081b565b34156200025757600080fd5b6200018562000821565b34156200026d57600080fd5b6200015b600160a060020a036004351662000830565b34156200028f57600080fd5b6200020162000845565b3415620002a557600080fd5b62000201600160a060020a0360043516620008c6565b3415620002c757600080fd5b6200020160043560243562000911565b3415620002e357600080fd5b620001b762000988565b3415620002f957600080fd5b620001b76004356200098e565b34156200031257600080fd5b6200018562000a56565b34156200032857600080fd5b6200020160043560243562000a65565b34156200034457600080fd5b62000201600160a060020a036004351662000a9f565b34156200036657600080fd5b62000201600160a060020a036004351662000aea565b34156200038857600080fd5b6200020160043562000b35565b3415620003a157600080fd5b6200018562000b56565b3415620003b757600080fd5b62000201600160a060020a036004351662000b65565b3415620003d957600080fd5b62000201600160a060020a036004351660243562000c02565b6000805433600160a060020a039081169116146200040f57600080fd5b600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200046f57600080fd5b6102c65a03f115156200048157600080fd5b5050506040518051949350505050565b600454600160a060020a031681565b601281565b60065481565b60005433600160a060020a03908116911614620004c757600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526008602052604081205481908190819081908190819060ff1615156200052a57600080fd5b60075460009042116200053c57600080fd5b60065442106200054b57600080fd5b600034116200055957600080fd5b600154600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620005b357600080fd5b6102c65a03f11515620005c557600080fd5b505050604051805191505060008111620005de57600080fd5b670de0b6b3a76400009650620005f48a6200098e565b95506200061a866200060d348a63ffffffff62000c5016565b9063ffffffff62000c7716565b600154909550339450600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200067a57600080fd5b6102c65a03f115156200068c57600080fd5b505050604051805193505082891015620006a4578892505b848310156200071457620006c6876200060d8588038963ffffffff62000c5016565b9150829450620006d882340362000c8f565b60009250600160a060020a038b1682156108fc0283604051600060405180830381858888f1935050505015156200070e57600080fd5b62000733565b62000726838663ffffffff62000d2016565b9250620007333462000c8f565b600154600160a060020a031663a9059cbb8c8760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200079357600080fd5b6102c65a03f11515620007a557600080fd5b50505060405180515050600160a060020a0384167f3319bb4966eaaeb523ecad57fa1daeb3bf6e5a6e559ac95bc4ed8d2042fcaf2c8c87604051600160a060020a03909216825260208201526040908101905180910390a250929998505050505050505050565b600354600160a060020a031681565b60055481565b600154600160a060020a031681565b60086020526000908152604090205460ff1681565b60005432600160a060020a039081169116146200086157600080fd5b600160a060020a033390811660009081526008602052604090819020805460ff191660011790557f5639d15217db4550671867b865ff218c0d7023a6a24b1f6d56d064a8611c0c8d919051600160a060020a03909116815260200160405180910390a1565b60005433600160a060020a03908116911614620008e257600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146200092d57600080fd5b3082826000806200093d62000d33565b600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a09091019051809103906000f08015156200098357600080fd5b505050565b60075481565b6002546000908190600160a060020a031663c97c1505826040516020015260405160e060020a63ffffffff8316028152602060048201819052600360248301527f7573640000000000000000000000000000000000000000000000000000000000604483015260649091019060405180830381600087803b151562000a1257600080fd5b6102c65a03f1151562000a2457600080fd5b5050506040518051915062000a4f9050816200060d85670de0b6b3a764000063ffffffff62000c5016565b9392505050565b600054600160a060020a031681565b60005433600160a060020a0390811691161462000a8157600080fd5b811562000a8e5760078290555b801562000a9b5760068190555b5050565b60005433600160a060020a0390811691161462000abb57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000b0657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000b5157600080fd5b600555565b600254600160a060020a031681565b60005433600160a060020a0390811691161462000b8157600080fd5b600160a060020a038116151562000b9757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000c1e57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151562000a9b57600080fd5b600082820283158062000c6e575082848281151562000c6b57fe5b04145b151562000a4f57fe5b600080828481151562000c8657fe5b04949350505050565b60008062000cb06103e86200060d6005548662000c5090919063ffffffff16565b6004549092508284039150600160a060020a031682156108fc0283604051600060405180830381858888f19350505050151562000cec57600080fd5b600354600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156200098357600080fd5b60008282111562000d2d57fe5b50900390565b6040516106c78062000d458339019056006060604052341561000f57600080fd5b60405160a0806106c78339810160405280805191906020018051919060200180519190602001805191906020018051915050600160a060020a038516151561005657600080fd5b83151561006257600080fd5b82151561006e57600080fd5b60008054600160a060020a031916600160a060020a038781169190911791829055166366b52b936040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156100dc57600080fd5b6102c65a03f115156100ed57600080fd5b505060006003555060048390556005849055610116828264010000000061035661012082021704565b5050505050610246565b8115156101ab5760008054600160a060020a0316906378e9792590604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561018957600080fd5b6102c65a03f1151561019a57600080fd5b5050506040518051600155506101b1565b60018290555b80151561023c5760008054600160a060020a031690633197cbb690604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561021a57600080fd5b6102c65a03f1151561022b57600080fd5b505050604051805160025550610242565b60028190555b5050565b610472806102556000396000f30060606040526004361061005e5763ffffffff60e060020a6000350416633197cbb681146101e55780635ed9ebfc1461020a57806378e979251461021d578063a0355eca14610230578063bf5839031461024b578063c0a99a831461025e575b600154600090421161006f57600080fd5b600254421061007d57600080fd5b670de0b6b3a764000034101561009257600080fd5b600454600090116100a257600080fd5b6000809054906101000a9004600160a060020a0316600160a060020a0316634769ed8f343360055460045460006040516020015260405160e060020a63ffffffff8716028152600160a060020a039093166004840152602483019190915260448201526064016020604051808303818588803b151561012057600080fd5b6125ee5a03f1151561013157600080fd5b50505050604051805160045490925061015191508263ffffffff61027116565b600455600354610167908263ffffffff61028316565b60038190555033600160a060020a03167f99d83b77a8a0fbdd924ad497f587bec4b963b71e8925e31a2baed1fbce2a16526000363485600554604051602081018490526040810183905260608101829052608080825281018590528060a081018787808284378201915050965050505050505060405180910390a250005b34156101f057600080fd5b6101f8610299565b60405190815260200160405180910390f35b341561021557600080fd5b6101f861029f565b341561022857600080fd5b6101f86102a5565b341561023b57600080fd5b6102496004356024356102ab565b005b341561025657600080fd5b6101f861034a565b341561026957600080fd5b6101f8610350565b60008282111561027d57fe5b50900390565b60008282018381101561029257fe5b9392505050565b60025481565b60035481565b60015481565b60008054600160a060020a031690638da5cb5b90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102f457600080fd5b6102c65a03f1151561030557600080fd5b50505060405180519050600160a060020a031633600160a060020a031614151561032e57600080fd5b811561033a5760018290555b80156103465760028190555b5050565b60045481565b60055481565b8115156103c85760008054600160a060020a0316906378e9792590604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156103a657600080fd5b6102c65a03f115156103b757600080fd5b5050506040518051600155506103ce565b60018290555b8015156104405760008054600160a060020a031690633197cbb690604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561041e57600080fd5b6102c65a03f1151561042f57600080fd5b505050604051805160025550610346565b600255505600a165627a7a72305820961d3c300d8f093bee74103fc7f63c46ce3f31f14354305e042a008d119bfdd00029a165627a7a7230582040b9df57d78528a215e3958f11e80bf2b30819195cdede1892f67d207e7412b500290000000000000000000000007025bab2ec90410de37f488d1298204cd4d6b29d000000000000000000000000af0e27602eaa73fdf4849806d75bdfc77fb95217000000000000000000000000000000000000000000000000000000005a8225cc000000000000000000000000000000000000000000000000000000005ab43570

Deployed Bytecode

0x606060405260043610620001315763ffffffff60e060020a60003504166306b091f98114620001365780631936e4be146200016f578063313ce56714620001a15780633197cbb614620001c95780633e6d6a6b14620001df5780634769ed8f1462000203578063521eb273146200021f57806352cfd41f146200023557806355a373d6146200024b5780635d4dcf12146200026157806366b52b9314620002835780636b96668f1462000299578063776676d614620002bb57806378e9792514620002d75780637b41398514620002ed5780638da5cb5b1462000306578063a0355eca146200031c578063ac1a386a1462000338578063bbcd5bbe146200035a578063cd1ce6d5146200037c578063eee242191462000395578063f2fde38b14620003ab578063f3fef3a314620003cd575b600080fd5b34156200014257600080fd5b6200015b600160a060020a0360043516602435620003f2565b604051901515815260200160405180910390f35b34156200017b57600080fd5b6200018562000491565b604051600160a060020a03909116815260200160405180910390f35b3415620001ad57600080fd5b620001b7620004a0565b60405190815260200160405180910390f35b3415620001d557600080fd5b620001b7620004a5565b3415620001eb57600080fd5b62000201600160a060020a0360043516620004ab565b005b620001b7600160a060020a0360043516602435604435620004f6565b34156200022b57600080fd5b620001856200080c565b34156200024157600080fd5b620001b76200081b565b34156200025757600080fd5b6200018562000821565b34156200026d57600080fd5b6200015b600160a060020a036004351662000830565b34156200028f57600080fd5b6200020162000845565b3415620002a557600080fd5b62000201600160a060020a0360043516620008c6565b3415620002c757600080fd5b6200020160043560243562000911565b3415620002e357600080fd5b620001b762000988565b3415620002f957600080fd5b620001b76004356200098e565b34156200031257600080fd5b6200018562000a56565b34156200032857600080fd5b6200020160043560243562000a65565b34156200034457600080fd5b62000201600160a060020a036004351662000a9f565b34156200036657600080fd5b62000201600160a060020a036004351662000aea565b34156200038857600080fd5b6200020160043562000b35565b3415620003a157600080fd5b6200018562000b56565b3415620003b757600080fd5b62000201600160a060020a036004351662000b65565b3415620003d957600080fd5b62000201600160a060020a036004351660243562000c02565b6000805433600160a060020a039081169116146200040f57600080fd5b600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200046f57600080fd5b6102c65a03f115156200048157600080fd5b5050506040518051949350505050565b600454600160a060020a031681565b601281565b60065481565b60005433600160a060020a03908116911614620004c757600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526008602052604081205481908190819081908190819060ff1615156200052a57600080fd5b60075460009042116200053c57600080fd5b60065442106200054b57600080fd5b600034116200055957600080fd5b600154600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620005b357600080fd5b6102c65a03f11515620005c557600080fd5b505050604051805191505060008111620005de57600080fd5b670de0b6b3a76400009650620005f48a6200098e565b95506200061a866200060d348a63ffffffff62000c5016565b9063ffffffff62000c7716565b600154909550339450600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156200067a57600080fd5b6102c65a03f115156200068c57600080fd5b505050604051805193505082891015620006a4578892505b848310156200071457620006c6876200060d8588038963ffffffff62000c5016565b9150829450620006d882340362000c8f565b60009250600160a060020a038b1682156108fc0283604051600060405180830381858888f1935050505015156200070e57600080fd5b62000733565b62000726838663ffffffff62000d2016565b9250620007333462000c8f565b600154600160a060020a031663a9059cbb8c8760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200079357600080fd5b6102c65a03f11515620007a557600080fd5b50505060405180515050600160a060020a0384167f3319bb4966eaaeb523ecad57fa1daeb3bf6e5a6e559ac95bc4ed8d2042fcaf2c8c87604051600160a060020a03909216825260208201526040908101905180910390a250929998505050505050505050565b600354600160a060020a031681565b60055481565b600154600160a060020a031681565b60086020526000908152604090205460ff1681565b60005432600160a060020a039081169116146200086157600080fd5b600160a060020a033390811660009081526008602052604090819020805460ff191660011790557f5639d15217db4550671867b865ff218c0d7023a6a24b1f6d56d064a8611c0c8d919051600160a060020a03909116815260200160405180910390a1565b60005433600160a060020a03908116911614620008e257600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146200092d57600080fd5b3082826000806200093d62000d33565b600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a09091019051809103906000f08015156200098357600080fd5b505050565b60075481565b6002546000908190600160a060020a031663c97c1505826040516020015260405160e060020a63ffffffff8316028152602060048201819052600360248301527f7573640000000000000000000000000000000000000000000000000000000000604483015260649091019060405180830381600087803b151562000a1257600080fd5b6102c65a03f1151562000a2457600080fd5b5050506040518051915062000a4f9050816200060d85670de0b6b3a764000063ffffffff62000c5016565b9392505050565b600054600160a060020a031681565b60005433600160a060020a0390811691161462000a8157600080fd5b811562000a8e5760078290555b801562000a9b5760068190555b5050565b60005433600160a060020a0390811691161462000abb57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000b0657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000b5157600080fd5b600555565b600254600160a060020a031681565b60005433600160a060020a0390811691161462000b8157600080fd5b600160a060020a038116151562000b9757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161462000c1e57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f19350505050151562000a9b57600080fd5b600082820283158062000c6e575082848281151562000c6b57fe5b04145b151562000a4f57fe5b600080828481151562000c8657fe5b04949350505050565b60008062000cb06103e86200060d6005548662000c5090919063ffffffff16565b6004549092508284039150600160a060020a031682156108fc0283604051600060405180830381858888f19350505050151562000cec57600080fd5b600354600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156200098357600080fd5b60008282111562000d2d57fe5b50900390565b6040516106c78062000d458339019056006060604052341561000f57600080fd5b60405160a0806106c78339810160405280805191906020018051919060200180519190602001805191906020018051915050600160a060020a038516151561005657600080fd5b83151561006257600080fd5b82151561006e57600080fd5b60008054600160a060020a031916600160a060020a038781169190911791829055166366b52b936040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156100dc57600080fd5b6102c65a03f115156100ed57600080fd5b505060006003555060048390556005849055610116828264010000000061035661012082021704565b5050505050610246565b8115156101ab5760008054600160a060020a0316906378e9792590604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561018957600080fd5b6102c65a03f1151561019a57600080fd5b5050506040518051600155506101b1565b60018290555b80151561023c5760008054600160a060020a031690633197cbb690604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561021a57600080fd5b6102c65a03f1151561022b57600080fd5b505050604051805160025550610242565b60028190555b5050565b610472806102556000396000f30060606040526004361061005e5763ffffffff60e060020a6000350416633197cbb681146101e55780635ed9ebfc1461020a57806378e979251461021d578063a0355eca14610230578063bf5839031461024b578063c0a99a831461025e575b600154600090421161006f57600080fd5b600254421061007d57600080fd5b670de0b6b3a764000034101561009257600080fd5b600454600090116100a257600080fd5b6000809054906101000a9004600160a060020a0316600160a060020a0316634769ed8f343360055460045460006040516020015260405160e060020a63ffffffff8716028152600160a060020a039093166004840152602483019190915260448201526064016020604051808303818588803b151561012057600080fd5b6125ee5a03f1151561013157600080fd5b50505050604051805160045490925061015191508263ffffffff61027116565b600455600354610167908263ffffffff61028316565b60038190555033600160a060020a03167f99d83b77a8a0fbdd924ad497f587bec4b963b71e8925e31a2baed1fbce2a16526000363485600554604051602081018490526040810183905260608101829052608080825281018590528060a081018787808284378201915050965050505050505060405180910390a250005b34156101f057600080fd5b6101f8610299565b60405190815260200160405180910390f35b341561021557600080fd5b6101f861029f565b341561022857600080fd5b6101f86102a5565b341561023b57600080fd5b6102496004356024356102ab565b005b341561025657600080fd5b6101f861034a565b341561026957600080fd5b6101f8610350565b60008282111561027d57fe5b50900390565b60008282018381101561029257fe5b9392505050565b60025481565b60035481565b60015481565b60008054600160a060020a031690638da5cb5b90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102f457600080fd5b6102c65a03f1151561030557600080fd5b50505060405180519050600160a060020a031633600160a060020a031614151561032e57600080fd5b811561033a5760018290555b80156103465760028190555b5050565b60045481565b60055481565b8115156103c85760008054600160a060020a0316906378e9792590604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156103a657600080fd5b6102c65a03f115156103b757600080fd5b5050506040518051600155506103ce565b60018290555b8015156104405760008054600160a060020a031690633197cbb690604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561041e57600080fd5b6102c65a03f1151561042f57600080fd5b505050604051805160025550610346565b600255505600a165627a7a72305820961d3c300d8f093bee74103fc7f63c46ce3f31f14354305e042a008d119bfdd00029a165627a7a7230582040b9df57d78528a215e3958f11e80bf2b30819195cdede1892f67d207e7412b50029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007025bab2ec90410de37f488d1298204cd4d6b29d000000000000000000000000af0e27602eaa73fdf4849806d75bdfc77fb95217000000000000000000000000000000000000000000000000000000005a8225cc000000000000000000000000000000000000000000000000000000005ab43570

-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0x7025baB2EC90410de37F488d1298204cd4D6b29d
Arg [1] : _rateAddress (address): 0xaf0e27602EaA73fdF4849806d75BDfC77fb95217
Arg [2] : _startTime (uint256): 1518478796
Arg [3] : _endTime (uint256): 1521759600

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007025bab2ec90410de37f488d1298204cd4d6b29d
Arg [1] : 000000000000000000000000af0e27602eaa73fdf4849806d75bdfc77fb95217
Arg [2] : 000000000000000000000000000000000000000000000000000000005a8225cc
Arg [3] : 000000000000000000000000000000000000000000000000000000005ab43570


Swarm Source

bzzr://40b9df57d78528a215e3958f11e80bf2b30819195cdede1892f67d207e7412b5

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.