ETH Price: $3,353.50 (-0.63%)
Gas: 10 Gwei

Contract

0xE6766297571F8693adec94e5f8ef363D323e211D
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer49184542018-01-16 14:19:142386 days ago1516112354IN
0xE6766297...D323e211D
0.29 ETH0.001713280
Transfer49184542018-01-16 14:19:142386 days ago1516112354IN
0xE6766297...D323e211D
0.29 ETH0.001713280
Add Whitelist Ad...47309262017-12-14 11:28:202420 days ago1513250900IN
0xE6766297...D323e211D
0 ETH0.0014057532.01
Add Whitelist Ad...47154482017-12-11 18:11:192422 days ago1513015879IN
0xE6766297...D323e211D
0 ETH0.0015370635
Transfer47138512017-12-11 11:45:212423 days ago1512992721IN
0xE6766297...D323e211D
0.49 ETH0.0006488730.3
Add Whitelist Ad...47096642017-12-10 18:20:242423 days ago1512930024IN
0xE6766297...D323e211D
0 ETH0.0019366944.10003
Add Whitelist Ad...47007712017-12-09 5:32:222425 days ago1512797542IN
0xE6766297...D323e211D
0 ETH0.0025032157
Add Whitelist Ad...46952792017-12-08 6:41:222426 days ago1512715282IN
0xE6766297...D323e211D
0 ETH0.0015903855
Add Whitelist Ad...46949472017-12-08 5:23:252426 days ago1512710605IN
0xE6766297...D323e211D
0 ETH0.0014747151
Add Whitelist Ad...46877132017-12-06 23:20:102427 days ago1512602410IN
0xE6766297...D323e211D
0 ETH0.0018444742
Add Whitelist Ad...46876692017-12-06 23:08:292427 days ago1512601709IN
0xE6766297...D323e211D
0 ETH0.0012144742
Add Whitelist Ad...46638662017-12-02 18:52:132431 days ago1512240733IN
0xE6766297...D323e211D
0 ETH0.0004391610
Add Whitelist Ad...46632092017-12-02 16:16:052431 days ago1512231365IN
0xE6766297...D323e211D
0 ETH0.000219585
Transfer46509562017-11-30 16:21:542433 days ago1512058914IN
0xE6766297...D323e211D
0.4 ETH0.0010182440
Add Special Bonu...46504272017-11-30 14:13:382433 days ago1512051218IN
0xE6766297...D323e211D
0 ETH0.000695520
Add Whitelist Ad...46497062017-11-30 11:26:462434 days ago1512041206IN
0xE6766297...D323e211D
0 ETH0.0008783220
Add Whitelist Ad...46476912017-11-30 3:25:172434 days ago1512012317IN
0xE6766297...D323e211D
0 ETH0.000351328
Add Whitelist Ad...46456062017-11-29 19:22:322434 days ago1511983352IN
0xE6766297...D323e211D
0 ETH0.000263496
Add Whitelist Ad...46453992017-11-29 18:33:532434 days ago1511980433IN
0xE6766297...D323e211D
0 ETH0.000175664
Transfer46451192017-11-29 17:23:262434 days ago1511976206IN
0xE6766297...D323e211D
0.925 ETH0.001272850
Transfer46449992017-11-29 16:53:112434 days ago1511974391IN
0xE6766297...D323e211D
0.924 ETH0.001272850
Transfer46449982017-11-29 16:52:182434 days ago1511974338IN
0xE6766297...D323e211D
0.924 ETH0.001272850
Transfer46449062017-11-29 16:27:382434 days ago1511972858IN
0xE6766297...D323e211D
0.944324 ETH0.0002545610
Add Whitelist Ad...46447902017-11-29 15:57:212434 days ago1511971041IN
0xE6766297...D323e211D
0 ETH0.0008770420
Add Whitelist Ad...46447642017-11-29 15:50:312434 days ago1511970631IN
0xE6766297...D323e211D
0 ETH0.0008783220
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
46440162017-11-29 12:59:222434 days ago1511960362
0xE6766297...D323e211D
0.35 ETH
46439912017-11-29 12:53:212435 days ago1511960001
0xE6766297...D323e211D
5 ETH
46439852017-11-29 12:52:342435 days ago1511959954
0xE6766297...D323e211D
0.3 ETH
46439702017-11-29 12:49:122435 days ago1511959752
0xE6766297...D323e211D
0.6 ETH
46439682017-11-29 12:48:492435 days ago1511959729
0xE6766297...D323e211D
1.25 ETH
46439632017-11-29 12:47:242435 days ago1511959644
0xE6766297...D323e211D
3 ETH
46439452017-11-29 12:43:292435 days ago1511959409
0xE6766297...D323e211D
2 ETH
46439292017-11-29 12:39:522435 days ago1511959192
0xE6766297...D323e211D
0.3 ETH
46439282017-11-29 12:39:202435 days ago1511959160
0xE6766297...D323e211D
0.4 ETH
46439222017-11-29 12:37:352435 days ago1511959055
0xE6766297...D323e211D
5 ETH
46438692017-11-29 12:25:062435 days ago1511958306
0xE6766297...D323e211D
0.3 ETH
46438482017-11-29 12:20:432435 days ago1511958043
0xE6766297...D323e211D
0.42 ETH
46438352017-11-29 12:18:552435 days ago1511957935
0xE6766297...D323e211D
2.28173043 ETH
46438212017-11-29 12:14:432435 days ago1511957683
0xE6766297...D323e211D
12 ETH
46438162017-11-29 12:13:132435 days ago1511957593
0xE6766297...D323e211D
1.35382398 ETH
46437942017-11-29 12:07:562435 days ago1511957276
0xE6766297...D323e211D
4.99958 ETH
46437762017-11-29 12:02:422435 days ago1511956962
0xE6766297...D323e211D
0.325 ETH
46437692017-11-29 12:00:362435 days ago1511956836
0xE6766297...D323e211D
1.03497768 ETH
46437532017-11-29 11:58:072435 days ago1511956687
0xE6766297...D323e211D
1 ETH
46437512017-11-29 11:57:462435 days ago1511956666
0xE6766297...D323e211D
4.2 ETH
46437072017-11-29 11:47:092435 days ago1511956029
0xE6766297...D323e211D
1 ETH
46436832017-11-29 11:41:392435 days ago1511955699
0xE6766297...D323e211D
0.3 ETH
46436752017-11-29 11:39:402435 days ago1511955580
0xE6766297...D323e211D
1.5 ETH
46436582017-11-29 11:36:072435 days ago1511955367
0xE6766297...D323e211D
0.49849677 ETH
46436412017-11-29 11:33:472435 days ago1511955227
0xE6766297...D323e211D
0.36814827 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DatumTokenSale

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-10-29
*/

pragma solidity ^0.4.15;

/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }
}


/**
 * @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;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    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) public onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}




/**
 * @title  
 * @dev DatTokenSale is a contract for managing a token crowdsale.
 * DatTokenSale have a start and end date, where investors can make
 * token purchases and the crowdsale will assign them tokens based
 * on a token per ETH rate. Funds collected are forwarded to a refundable valut 
 * as they arrive.
 */
contract DatumTokenSale is  Ownable {

  using SafeMath for uint256;

  address public whiteListControllerAddress;

  //lookup addresses for whitelist
  mapping (address => bool) public whiteListAddresses;

  //lookup addresses for special bonuses
  mapping (address => uint) public bonusAddresses;

  //loopup for max token amount per user allowed
  mapping(address => uint256) public maxAmountAddresses;

  //loopup for balances
  mapping(address => uint256) public balances;

  // start and end date where investments are allowed (both inclusive)
  uint256 public startDate = 1509282000;//29 Oct 2017 13:00:00 +00:00 UTC
  //uint256 public startDate = 1509210891;//29 Oct 2017 13:00:00 +00:00 UTC
  
  uint256 public endDate = 1511960400; //29 Nov 2017 13:00:00 +00:00 UTC

  // Minimum amount to participate (wei for internal usage)
  uint256 public minimumParticipationAmount = 300000000000000000 wei; //0.1 ether

  // Maximum amount to participate
  uint256 public maximalParticipationAmount = 1000 ether; //1000 ether

  // address where funds are collected
  address wallet;

  // how many token units a buyer gets per ether
  uint256 rate = 25000;

  // amount of raised money in wei
  uint256 private weiRaised;

  //flag for final of crowdsale
  bool public isFinalized = false;

  //cap for the sale in ether
  uint256 public cap = 61200 ether; //61200 ether

  //total tokenSupply
  uint256 public totalTokenSupply = 1530000000 ether;

  // amount of tokens sold
  uint256 public tokensInWeiSold;

  uint private bonus1Rate = 28750;
  uint private bonus2Rate = 28375;
  uint private bonus3Rate = 28000;
  uint private bonus4Rate = 27625;
  uint private bonus5Rate = 27250;
  uint private bonus6Rate = 26875;
  uint private bonus7Rate = 26500;
  uint private bonus8Rate = 26125;
  uint private bonus9Rate = 25750;
  uint private bonus10Rate = 25375;
   
  event Finalized();
  /**
  * @notice Log an event for each funding contributed during the public phase
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogParticipation(address indexed sender, uint256 value);
  

  /**
  * @notice Log an event for each funding contributed converted to earned tokens
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogTokenReceiver(address indexed sender, uint256 value);


  /**
  * @notice Log an event for each funding contributed converted to earned tokens
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogTokenRemover(address indexed sender, uint256 value);
  
  function DatumTokenSale(address _wallet) payable {
    wallet = _wallet;
  }

  function () payable {
    require(whiteListAddresses[msg.sender]);
    require(validPurchase());

    buyTokens(msg.value);
  }

  // low level token purchase function
  function buyTokens(uint256 amount) internal {
    //get ammount in wei
    uint256 weiAmount = amount;

    // update state
    weiRaised = weiRaised.add(weiAmount);

    // get token amount
    uint256 tokens = getTokenAmount(weiAmount);
    tokensInWeiSold = tokensInWeiSold.add(tokens);

    //fire token receive event
    LogTokenReceiver(msg.sender, tokens);

    //update balances for user
    balances[msg.sender] = balances[msg.sender].add(tokens);

    //fire eth purchase event
    LogParticipation(msg.sender,msg.value);

    //forward funds to wallet
    forwardFunds(amount);
  }


  // manually update the tokens sold count to reserve tokens or update stats if other way bought
  function reserveTokens(address _address, uint256 amount)
  {
    require(msg.sender == whiteListControllerAddress);

    //update balances for user
    balances[_address] = balances[_address].add(amount);

    //fire event
    LogTokenReceiver(_address, amount);

    tokensInWeiSold = tokensInWeiSold.add(amount);
  }

  //release tokens from sold statistist, used if the account was not verified with KYC
  function releaseTokens(address _address, uint256 amount)
  {
    require(msg.sender == whiteListControllerAddress);

    balances[_address] = balances[_address].sub(amount);

    //fire event
    LogTokenRemover(_address, amount);

    tokensInWeiSold = tokensInWeiSold.sub(amount);
  }

  // send ether to the fund collection wallet
  // override to create custom fund forwarding mechanisms
  function forwardFunds(uint256 amount) internal {
    wallet.transfer(amount);
  }

  // should be called after crowdsale ends or to emergency stop the sale
  function finalize() onlyOwner {
    require(!isFinalized);
    Finalized();
    isFinalized = true;
  }

  function setWhitelistControllerAddress(address _controller) onlyOwner
  {
     whiteListControllerAddress = _controller;
  }

  function addWhitelistAddress(address _addressToAdd)
  {
      require(msg.sender == whiteListControllerAddress);
      whiteListAddresses[_addressToAdd] = true;
  }

  function addSpecialBonusConditions(address _address, uint _bonusPercent, uint256 _maxAmount) 
  {
      require(msg.sender == whiteListControllerAddress);

      bonusAddresses[_address] = _bonusPercent;
      maxAmountAddresses[_address] = _maxAmount;
  }

  function removeSpecialBonusConditions(address _address) 
  {
      require(msg.sender == whiteListControllerAddress);

      delete bonusAddresses[_address];
      delete maxAmountAddresses[_address];
  }

  function addWhitelistAddresArray(address[] _addressesToAdd)
  {
      require(msg.sender == whiteListControllerAddress);

      for (uint256 i = 0; i < _addressesToAdd.length;i++) 
      {
        whiteListAddresses[_addressesToAdd[i]] = true;
      }
      
  }

  function removeWhitelistAddress(address _addressToAdd)
  {
      require(msg.sender == whiteListControllerAddress);

      delete whiteListAddresses[_addressToAdd];
  }


    function getTokenAmount(uint256 weiAmount) internal returns (uint256 tokens){
        //add bonus
        uint256 bonusRate = getBonus();

        //check for special bonus and override rate if exists
        if(bonusAddresses[msg.sender] != 0)
        {
            uint bonus = bonusAddresses[msg.sender];
            //TODO: CALUC SHCHECK
            bonusRate = rate.add((rate.mul(bonus)).div(100));
        } 

        // calculate token amount to be created
        uint256 weiTokenAmount = weiAmount.mul(bonusRate);
        return weiTokenAmount;
    }


    //When a user buys our token they will recieve a bonus depedning on time:,
    function getBonus() internal constant returns (uint256 amount){
        uint diffInSeconds = now - startDate;
        uint diffInHours = (diffInSeconds/60)/60;
        
        // 10/29/2017 - 11/1/2017
        if(diffInHours < 72){
            return bonus1Rate;
        }

        // 11/1/2017 - 11/4/2017
        if(diffInHours >= 72 && diffInHours < 144){
            return bonus2Rate;
        }

        // 11/4/2017 - 11/7/2017
        if(diffInHours >= 144 && diffInHours < 216){
            return bonus3Rate;
        }

        // 11/7/2017 - 11/10/2017
        if(diffInHours >= 216 && diffInHours < 288){
            return bonus4Rate;
        }

         // 11/10/2017 - 11/13/2017
        if(diffInHours >= 288 && diffInHours < 360){
            return bonus5Rate;
        }

         // 11/13/2017 - 11/16/2017
        if(diffInHours >= 360 && diffInHours < 432){
            return bonus6Rate;
        }

         // 11/16/2017 - 11/19/2017
        if(diffInHours >= 432 && diffInHours < 504){
            return bonus7Rate;
        }

         // 11/19/2017 - 11/22/2017
        if(diffInHours >= 504 && diffInHours < 576){
            return bonus8Rate;
        }

          // 11/22/2017 - 11/25/2017
        if(diffInHours >= 576 && diffInHours < 648){
            return bonus9Rate;
        }

          // 11/25/2017 - 11/28/2017
        if(diffInHours >= 648 && diffInHours < 720){
            return bonus10Rate;
        }

        return rate; 
    }

  // @return true if the transaction can buy tokens
  // check for valid time period, min amount and within cap
  function validPurchase() internal constant returns (bool) {
    uint256 tokenAmount = getTokenAmount(msg.value);
    bool withinPeriod = startDate <= now && endDate >= now;
    bool nonZeroPurchase = msg.value != 0;
    bool minAmount = msg.value >= minimumParticipationAmount;
    bool maxAmount = msg.value <= maximalParticipationAmount;
    bool withTokensSupply = tokensInWeiSold.add(tokenAmount) <= totalTokenSupply;
    //bool withinCap = weiRaised.add(msg.value) <= cap;
    bool withMaxAmountForAddress = maxAmountAddresses[msg.sender] == 0 || balances[msg.sender].add(tokenAmount) <= maxAmountAddresses[msg.sender];

    if(maxAmountAddresses[msg.sender] != 0)
    {
      maxAmount = balances[msg.sender].add(tokenAmount) <= maxAmountAddresses[msg.sender];
    }

    return withinPeriod && nonZeroPurchase && minAmount && !isFinalized && withTokensSupply && withMaxAmountForAddress && maxAmount;
  }

    // @return true if the goal is reached
  function capReached() public constant returns (bool) {
    return tokensInWeiSold >= totalTokenSupply;
  }

  // @return true if crowdsale event has ended
  function hasEnded() public constant returns (bool) {
    return isFinalized;
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"maximalParticipationAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_controller","type":"address"}],"name":"setWhitelistControllerAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minimumParticipationAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalTokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"capReached","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeSpecialBonusConditions","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"whiteListControllerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressesToAdd","type":"address[]"}],"name":"addWhitelistAddresArray","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"amount","type":"uint256"}],"name":"reserveTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whiteListAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressToAdd","type":"address"}],"name":"addWhitelistAddress","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressToAdd","type":"address"}],"name":"removeWhitelistAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"maxAmountAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"bonusAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_bonusPercent","type":"uint256"},{"name":"_maxAmount","type":"uint256"}],"name":"addSpecialBonusConditions","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"amount","type":"uint256"}],"name":"releaseTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensInWeiSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":true,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogParticipation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogTokenReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogTokenRemover","type":"event"}]

606060409081526359f5d0d0600655635a1eaf50600755670429d069189e0000600855683635c9adc5dea000006009556161a8600b55600d805460ff19169055690cf5a89d2480d2400000600e556b04f1961a31f4c4343a000000600f5561704e601155616ed7601255616d60601355616be9601455616a726015556168fb60165561678460175561660d60185561649660195561631f601a555160208061109b833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b600a8054600160a060020a031916600160a060020a0383161790555b505b610fa3806100f86000396000f300606060405236156101515763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663032c05aa8114610198578063041257ef146101bd5780630683d56a146101de5780630b97bc86146102035780631ca8b6cb1461022857806327e235e31461024d578063355274ea1461027e5780634bb278f3146102a35780634f935945146102b85780635456d8d2146102df5780635cf3508a1461030057806361d3ba8a1461032f57806378cf19e9146103805780638d4e4083146103a45780638da5cb5b146103cb578063920674dc146103fa57806394a7ef151461042d578063b7ecbaae1461044e578063c24a0f8b1461046f578063c4b2eccb14610494578063dbf675c9146104c5578063ecb70fb7146104f6578063f2fde38b1461051d578063f33ffc161461053e578063f40d71f114610565578063ff4dddc414610589575b5b600160a060020a03331660009081526002602052604090205460ff16151561017957600080fd5b6101816105ae565b151561018c57600080fd5b6101953461070d565b5b005b34156101a357600080fd5b6101ab610811565b60405190815260200160405180910390f35b34156101c857600080fd5b610195600160a060020a0360043516610817565b005b34156101e957600080fd5b6101ab61085f565b60405190815260200160405180910390f35b341561020e57600080fd5b6101ab610865565b60405190815260200160405180910390f35b341561023357600080fd5b6101ab61086b565b60405190815260200160405180910390f35b341561025857600080fd5b6101ab600160a060020a0360043516610871565b60405190815260200160405180910390f35b341561028957600080fd5b6101ab610883565b60405190815260200160405180910390f35b34156102ae57600080fd5b610195610889565b005b34156102c357600080fd5b6102cb6108f1565b604051901515815260200160405180910390f35b34156102ea57600080fd5b610195600160a060020a03600435166108fd565b005b341561030b57600080fd5b610313610942565b604051600160a060020a03909116815260200160405180910390f35b341561033a57600080fd5b610195600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061095195505050505050565b005b341561038b57600080fd5b610195600160a060020a03600435166024356109ce565b005b34156103af57600080fd5b6102cb610a7f565b604051901515815260200160405180910390f35b34156103d657600080fd5b610313610a88565b604051600160a060020a03909116815260200160405180910390f35b341561040557600080fd5b6102cb600160a060020a0360043516610a97565b604051901515815260200160405180910390f35b341561043857600080fd5b610195600160a060020a0360043516610aac565b005b341561045957600080fd5b610195600160a060020a0360043516610aee565b005b341561047a57600080fd5b6101ab610b2d565b60405190815260200160405180910390f35b341561049f57600080fd5b6101ab600160a060020a0360043516610b33565b60405190815260200160405180910390f35b34156104d057600080fd5b6101ab600160a060020a0360043516610b45565b60405190815260200160405180910390f35b341561050157600080fd5b6102cb610b57565b604051901515815260200160405180910390f35b341561052857600080fd5b610195600160a060020a0360043516610b61565b005b341561054957600080fd5b610195600160a060020a0360043516602435604435610bb9565b005b341561057057600080fd5b610195600160a060020a0360043516602435610c02565b005b341561059457600080fd5b6101ab610cb3565b60405190815260200160405180910390f35b6000806000806000806000806105c334610cb9565b965042600654111580156105d957504260075410155b95503460001415945060085434101593506009543411159250600f5461060a88601054610d5e90919063ffffffff16565b600160a060020a03331660009081526004602052604090205491901115925015806106685750600160a060020a033316600090815260046020908152604080832054600590925290912054610665908963ffffffff610d5e16565b11155b600160a060020a033316600090815260046020526040902054909150156106c357600160a060020a0333166000908152600460209081526040808320546005909252909120546106be908963ffffffff610d5e16565b111592505b8580156106cd5750845b80156106d65750835b80156106e55750600d5460ff16155b80156106ee5750815b80156106f75750805b80156107005750825b97505b5050505050505090565b600c548190600090610725908363ffffffff610d5e16565b600c5561073182610cb9565b601054909150610747908263ffffffff610d5e16565b601055600160a060020a0333167fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf8260405190815260200160405180910390a2600160a060020a0333166000908152600560205260409020546107b0908263ffffffff610d5e16565b600160a060020a0333166000818152600560205260409081902092909255907f87c849333123ec338107397b71001d77ec70480108d12660d2f0700e14aef3d79034905190815260200160405180910390a261080b83610d78565b5b505050565b60095481565b60005433600160a060020a0390811691161461083257600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60085481565b60065481565b600f5481565b60056020526000908152604090205481565b600e5481565b60005433600160a060020a039081169116146108a457600080fd5b600d5460ff16156108b457600080fd5b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a1600d805460ff191660011790555b5b565b600f5460105410155b90565b60015433600160a060020a0390811691161461091857600080fd5b600160a060020a038116600090815260036020908152604080832083905560049091528120555b50565b600154600160a060020a031681565b60015460009033600160a060020a0390811691161461096f57600080fd5b5060005b81518110156109c95760016002600084848151811061098e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790555b600101610973565b5b5050565b60015433600160a060020a039081169116146109e957600080fd5b600160a060020a038216600090815260056020526040902054610a12908263ffffffff610d5e16565b600160a060020a0383166000818152600560205260409081902092909255907fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf9083905190815260200160405180910390a2601054610a77908263ffffffff610d5e16565b6010555b5050565b600d5460ff1681565b600054600160a060020a031681565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610ac757600080fd5b600160a060020a0381166000908152600260205260409020805460ff191660011790555b50565b60015433600160a060020a03908116911614610b0957600080fd5b600160a060020a0381166000908152600260205260409020805460ff191690555b50565b60075481565b60046020526000908152604090205481565b60036020526000908152604090205481565b600d5460ff165b90565b60005433600160a060020a03908116911614610b7c57600080fd5b600160a060020a0381161561085b576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60015433600160a060020a03908116911614610bd457600080fd5b600160a060020a0383166000908152600360209081526040808320859055600490915290208190555b505050565b60015433600160a060020a03908116911614610c1d57600080fd5b600160a060020a038216600090815260056020526040902054610c46908263ffffffff610daf16565b600160a060020a0383166000818152600560205260409081902092909255907fdff7990534ee26d271160e47a3a4976c37a1e41904bfdf62f8f114e1c31007979083905190815260200160405180910390a2601054610a77908263ffffffff610daf16565b6010555b5050565b60105481565b600080600080610cc7610dc6565b600160a060020a03331660009081526003602052604090205490935015610d4057600160a060020a033316600090815260036020526040902054600b54909250610d3d90610d2e90606490610d22908663ffffffff610f2c16565b9063ffffffff610f5b16565b600b549063ffffffff610d5e16565b92505b610d50858463ffffffff610f2c16565b90508093505b505050919050565b600082820183811015610d6d57fe5b8091505b5092915050565b600a54600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561085b57600080fd5b5b50565b600082821115610dbb57fe5b508082035b92915050565b600654600090420381603c80835b04811515610dde57fe5b0490506048811015610df4576011549250610f27565b60488110158015610e055750609081105b15610e14576012549250610f27565b60908110158015610e25575060d881105b15610e34576013549250610f27565b60d88110158015610e46575061012081105b15610e55576014549250610f27565b6101208110158015610e68575061016881105b15610e77576015549250610f27565b6101688110158015610e8a57506101b081105b15610e99576016549250610f27565b6101b08110158015610eac57506101f881105b15610ebb576017549250610f27565b6101f88110158015610ece575061024081105b15610edd576018549250610f27565b6102408110158015610ef0575061028881105b15610eff576019549250610f27565b6102888110158015610f1257506102d081105b15610f2157601a549250610f27565b600b5492505b505090565b6000828202831580610f485750828482811515610f4557fe5b04145b1515610d6d57fe5b8091505b5092915050565b6000808284811515610f6957fe5b0490508091505b50929150505600a165627a7a7230582052c79d315b54b4d9e071b82f3f6e3813431bdc645812728e974b1e2d670d74a90029000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97

Deployed Bytecode

0x606060405236156101515763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663032c05aa8114610198578063041257ef146101bd5780630683d56a146101de5780630b97bc86146102035780631ca8b6cb1461022857806327e235e31461024d578063355274ea1461027e5780634bb278f3146102a35780634f935945146102b85780635456d8d2146102df5780635cf3508a1461030057806361d3ba8a1461032f57806378cf19e9146103805780638d4e4083146103a45780638da5cb5b146103cb578063920674dc146103fa57806394a7ef151461042d578063b7ecbaae1461044e578063c24a0f8b1461046f578063c4b2eccb14610494578063dbf675c9146104c5578063ecb70fb7146104f6578063f2fde38b1461051d578063f33ffc161461053e578063f40d71f114610565578063ff4dddc414610589575b5b600160a060020a03331660009081526002602052604090205460ff16151561017957600080fd5b6101816105ae565b151561018c57600080fd5b6101953461070d565b5b005b34156101a357600080fd5b6101ab610811565b60405190815260200160405180910390f35b34156101c857600080fd5b610195600160a060020a0360043516610817565b005b34156101e957600080fd5b6101ab61085f565b60405190815260200160405180910390f35b341561020e57600080fd5b6101ab610865565b60405190815260200160405180910390f35b341561023357600080fd5b6101ab61086b565b60405190815260200160405180910390f35b341561025857600080fd5b6101ab600160a060020a0360043516610871565b60405190815260200160405180910390f35b341561028957600080fd5b6101ab610883565b60405190815260200160405180910390f35b34156102ae57600080fd5b610195610889565b005b34156102c357600080fd5b6102cb6108f1565b604051901515815260200160405180910390f35b34156102ea57600080fd5b610195600160a060020a03600435166108fd565b005b341561030b57600080fd5b610313610942565b604051600160a060020a03909116815260200160405180910390f35b341561033a57600080fd5b610195600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061095195505050505050565b005b341561038b57600080fd5b610195600160a060020a03600435166024356109ce565b005b34156103af57600080fd5b6102cb610a7f565b604051901515815260200160405180910390f35b34156103d657600080fd5b610313610a88565b604051600160a060020a03909116815260200160405180910390f35b341561040557600080fd5b6102cb600160a060020a0360043516610a97565b604051901515815260200160405180910390f35b341561043857600080fd5b610195600160a060020a0360043516610aac565b005b341561045957600080fd5b610195600160a060020a0360043516610aee565b005b341561047a57600080fd5b6101ab610b2d565b60405190815260200160405180910390f35b341561049f57600080fd5b6101ab600160a060020a0360043516610b33565b60405190815260200160405180910390f35b34156104d057600080fd5b6101ab600160a060020a0360043516610b45565b60405190815260200160405180910390f35b341561050157600080fd5b6102cb610b57565b604051901515815260200160405180910390f35b341561052857600080fd5b610195600160a060020a0360043516610b61565b005b341561054957600080fd5b610195600160a060020a0360043516602435604435610bb9565b005b341561057057600080fd5b610195600160a060020a0360043516602435610c02565b005b341561059457600080fd5b6101ab610cb3565b60405190815260200160405180910390f35b6000806000806000806000806105c334610cb9565b965042600654111580156105d957504260075410155b95503460001415945060085434101593506009543411159250600f5461060a88601054610d5e90919063ffffffff16565b600160a060020a03331660009081526004602052604090205491901115925015806106685750600160a060020a033316600090815260046020908152604080832054600590925290912054610665908963ffffffff610d5e16565b11155b600160a060020a033316600090815260046020526040902054909150156106c357600160a060020a0333166000908152600460209081526040808320546005909252909120546106be908963ffffffff610d5e16565b111592505b8580156106cd5750845b80156106d65750835b80156106e55750600d5460ff16155b80156106ee5750815b80156106f75750805b80156107005750825b97505b5050505050505090565b600c548190600090610725908363ffffffff610d5e16565b600c5561073182610cb9565b601054909150610747908263ffffffff610d5e16565b601055600160a060020a0333167fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf8260405190815260200160405180910390a2600160a060020a0333166000908152600560205260409020546107b0908263ffffffff610d5e16565b600160a060020a0333166000818152600560205260409081902092909255907f87c849333123ec338107397b71001d77ec70480108d12660d2f0700e14aef3d79034905190815260200160405180910390a261080b83610d78565b5b505050565b60095481565b60005433600160a060020a0390811691161461083257600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60085481565b60065481565b600f5481565b60056020526000908152604090205481565b600e5481565b60005433600160a060020a039081169116146108a457600080fd5b600d5460ff16156108b457600080fd5b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a1600d805460ff191660011790555b5b565b600f5460105410155b90565b60015433600160a060020a0390811691161461091857600080fd5b600160a060020a038116600090815260036020908152604080832083905560049091528120555b50565b600154600160a060020a031681565b60015460009033600160a060020a0390811691161461096f57600080fd5b5060005b81518110156109c95760016002600084848151811061098e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790555b600101610973565b5b5050565b60015433600160a060020a039081169116146109e957600080fd5b600160a060020a038216600090815260056020526040902054610a12908263ffffffff610d5e16565b600160a060020a0383166000818152600560205260409081902092909255907fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf9083905190815260200160405180910390a2601054610a77908263ffffffff610d5e16565b6010555b5050565b600d5460ff1681565b600054600160a060020a031681565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610ac757600080fd5b600160a060020a0381166000908152600260205260409020805460ff191660011790555b50565b60015433600160a060020a03908116911614610b0957600080fd5b600160a060020a0381166000908152600260205260409020805460ff191690555b50565b60075481565b60046020526000908152604090205481565b60036020526000908152604090205481565b600d5460ff165b90565b60005433600160a060020a03908116911614610b7c57600080fd5b600160a060020a0381161561085b576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60015433600160a060020a03908116911614610bd457600080fd5b600160a060020a0383166000908152600360209081526040808320859055600490915290208190555b505050565b60015433600160a060020a03908116911614610c1d57600080fd5b600160a060020a038216600090815260056020526040902054610c46908263ffffffff610daf16565b600160a060020a0383166000818152600560205260409081902092909255907fdff7990534ee26d271160e47a3a4976c37a1e41904bfdf62f8f114e1c31007979083905190815260200160405180910390a2601054610a77908263ffffffff610daf16565b6010555b5050565b60105481565b600080600080610cc7610dc6565b600160a060020a03331660009081526003602052604090205490935015610d4057600160a060020a033316600090815260036020526040902054600b54909250610d3d90610d2e90606490610d22908663ffffffff610f2c16565b9063ffffffff610f5b16565b600b549063ffffffff610d5e16565b92505b610d50858463ffffffff610f2c16565b90508093505b505050919050565b600082820183811015610d6d57fe5b8091505b5092915050565b600a54600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561085b57600080fd5b5b50565b600082821115610dbb57fe5b508082035b92915050565b600654600090420381603c80835b04811515610dde57fe5b0490506048811015610df4576011549250610f27565b60488110158015610e055750609081105b15610e14576012549250610f27565b60908110158015610e25575060d881105b15610e34576013549250610f27565b60d88110158015610e46575061012081105b15610e55576014549250610f27565b6101208110158015610e68575061016881105b15610e77576015549250610f27565b6101688110158015610e8a57506101b081105b15610e99576016549250610f27565b6101b08110158015610eac57506101f881105b15610ebb576017549250610f27565b6101f88110158015610ece575061024081105b15610edd576018549250610f27565b6102408110158015610ef0575061028881105b15610eff576019549250610f27565b6102888110158015610f1257506102d081105b15610f2157601a549250610f27565b600b5492505b505090565b6000828202831580610f485750828482811515610f4557fe5b04145b1515610d6d57fe5b8091505b5092915050565b6000808284811515610f6957fe5b0490508091505b50929150505600a165627a7a7230582052c79d315b54b4d9e071b82f3f6e3813431bdc645812728e974b1e2d670d74a90029

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

000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97

-----Decoded View---------------
Arg [0] : _wallet (address): 0xA899df9e9CF14A7C5b87744b1EdC6890a712cb97

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97


Swarm Source

bzzr://52c79d315b54b4d9e071b82f3f6e3813431bdc645812728e974b1e2d670d74a9

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.