ETH Price: $3,388.95 (+1.48%)

Contract

0xEC203Ddb210458Df139D02A62baf49CA36a0B8d9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Token T...70757152019-01-16 11:38:162173 days ago1547638696IN
Privatix: Token Sale
0 ETH0.0005969220
Transfer45780162017-11-18 20:52:342597 days ago1511038354IN
Privatix: Token Sale
0.024 ETH0.000215910
Transfer45780132017-11-18 20:50:282597 days ago1511038228IN
Privatix: Token Sale
0.0245 ETH0.000215910
Buy Tokens45670382017-11-17 2:24:322599 days ago1510885472IN
Privatix: Token Sale
0.994 ETH0.0004809620
Finish Crowdsale45638682017-11-16 14:12:312599 days ago1510841551IN
Privatix: Token Sale
0 ETH0.0059176531
Withdraw45638662017-11-16 14:12:092599 days ago1510841529IN
Privatix: Token Sale
0 ETH0.0010120231
Transfer45638062017-11-16 14:00:122599 days ago1510840812IN
Privatix: Token Sale
3.7 ETH0.0001899
Transfer45638052017-11-16 14:00:032599 days ago1510840803IN
Privatix: Token Sale
0.04 ETH0.0004533921
Transfer45638052017-11-16 14:00:032599 days ago1510840803IN
Privatix: Token Sale
300 ETH0.001295460
Transfer45637982017-11-16 13:59:152599 days ago1510840755IN
Privatix: Token Sale
6.4657618 ETH0.0013849221
Transfer45637972017-11-16 13:57:512599 days ago1510840671IN
Privatix: Token Sale
1 ETH0.003231549
Transfer45637942017-11-16 13:57:292599 days ago1510840649IN
Privatix: Token Sale
0.1 ETH0.0006594910
Transfer45637942017-11-16 13:57:292599 days ago1510840649IN
Privatix: Token Sale
3 ETH0.0013849221
Transfer45637942017-11-16 13:57:292599 days ago1510840649IN
Privatix: Token Sale
1.3 ETH0.0020378230.9
Transfer45637922017-11-16 13:56:392599 days ago1510840599IN
Privatix: Token Sale
2 ETH0.000484019.5
Transfer45637912017-11-16 13:56:262599 days ago1510840586IN
Privatix: Token Sale
5 ETH0.0019784730
Transfer45637892017-11-16 13:56:162599 days ago1510840576IN
Privatix: Token Sale
1 ETH0.000329745
Transfer45637872017-11-16 13:55:512599 days ago1510840551IN
Privatix: Token Sale
0.46 ETH0.0008963413.5915625
Transfer45637872017-11-16 13:55:512599 days ago1510840551IN
Privatix: Token Sale
4 ETH0.0013189820
Transfer45637872017-11-16 13:55:512599 days ago1510840551IN
Privatix: Token Sale
2.083 ETH0.0013849221
Transfer45637872017-11-16 13:55:512599 days ago1510840551IN
Privatix: Token Sale
5 ETH0.0010699221
Transfer45637842017-11-16 13:55:202599 days ago1510840520IN
Privatix: Token Sale
0.6 ETH0.0013849221
Transfer45637842017-11-16 13:55:202599 days ago1510840520IN
Privatix: Token Sale
0.08216065 ETH0.0013849221
Transfer45637842017-11-16 13:55:202599 days ago1510840520IN
Privatix: Token Sale
1 ETH0.0014508722
Transfer45637842017-11-16 13:55:202599 days ago1510840520IN
Privatix: Token Sale
2 ETH0.0015284730
View all transactions

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
45638662017-11-16 14:12:092599 days ago1510841529
Privatix: Token Sale
1,380.18370015 ETH
44389732017-10-27 11:21:192619 days ago1509103279
Privatix: Token Sale
997.1860273 ETH
43965552017-10-20 16:09:282626 days ago1508515768
Privatix: Token Sale
3,397.07424286 ETH
43790832017-10-17 20:42:172629 days ago1508272937
Privatix: Token Sale
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Sale

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-10-17
*/

pragma solidity ^0.4.15;

library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

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() {
    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 ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    uint256 _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  /**
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   */
  function increaseApproval (address _spender, uint _addedValue)
    returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval (address _spender, uint _subtractedValue)
    returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(0x0, _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract MultiOwners {

    event AccessGrant(address indexed owner);
    event AccessRevoke(address indexed owner);
    
    mapping(address => bool) owners;

    function MultiOwners() {
        owners[msg.sender] = true;
    }

    modifier onlyOwner() { 
        require(owners[msg.sender] == true);
        _; 
    }

    function isOwner() constant returns (bool) {
        return owners[msg.sender] ? true : false;
    }

    function checkOwner(address maybe_owner) constant returns (bool) {
        return owners[maybe_owner] ? true : false;
    }


    function grant(address _owner) onlyOwner {
        owners[_owner] = true;
        AccessGrant(_owner);
    }

    function revoke(address _owner) onlyOwner {
        require(msg.sender != _owner);
        owners[_owner] = false;
        AccessRevoke(_owner);
    }
}

contract Sale is MultiOwners {
    // Minimal possible cap in ethers
    uint256 public softCap;

    // Maximum possible cap in ethers
    uint256 public hardCap;

    // totalEthers received
    uint256 public totalEthers;

    // Ssale token
    Token public token;

    // Withdraw wallet
    address public wallet;

    // Maximum available to sell tokens
    uint256 public maximumTokens;

    // Minimal ether
    uint256 public minimalEther;

    // Token per ether
    uint256 public weiPerToken;

    // start and end timestamp where investments are allowed (both inclusive)
    uint256 public startTime;
    uint256 public endTime;

    // refund if softCap is not reached
    bool public refundAllowed;

    // 
    mapping(address => uint256) public etherBalances;

    // 
    mapping(address => uint256) public whitelist;

    // bounty tokens
    uint256 public bountyReward;

    // team tokens
    uint256 public teamReward;

    // founder tokens
    uint256 public founderReward;


    event TokenPurchase(address indexed beneficiary, uint256 value, uint256 amount);
    event Whitelist(address indexed beneficiary, uint256 value);

    modifier validPurchase(address contributor) {
        bool withinPeriod = ((now >= startTime || checkWhitelist(contributor, msg.value)) && now <= endTime);
        bool nonZeroPurchase = msg.value != 0;
        require(withinPeriod && nonZeroPurchase);

        _;        
    }

    modifier isStarted() {
        require(now >= startTime);

        _;        
    }

    modifier isExpired() {
        require(now > endTime);

        _;        
    }

    function Sale(uint256 _startTime, address _wallet) {
        require(_startTime >=  now);
        require(_wallet != 0x0);

        token = new Token();

        wallet = _wallet;
        startTime = _startTime;

        minimalEther = 1e16; // 0.01 ether
        endTime = _startTime + 28 days;
        weiPerToken = 1e18 / 100e8; // token price
        hardCap = 57142e18;
        softCap = 3350e18;

    
        // We love our Pre-ITO backers
        token.mint(0x992066a964C241eD4996E750284d039B14A19fA5, 11199999999860);
        token.mint(0x1F4df63B8d32e54d94141EF8475c55dF4db2a02D, 9333333333170);
        token.mint(0xce192Be11DdE37630Ef842E3aF5fBD7bEA15C6f9, 2799999999930);
        token.mint(0x18D2AD9DFC0BA35E124E105E268ebC224323694a, 1120000000000);
        token.mint(0x4eD1db98a562594CbD42161354746eAafD1F9C44, 933333333310);
        token.mint(0x00FEbfc7be373f8088182850FeCA034DDA8b7a67, 896000000000);
        token.mint(0x86850f5f7D035dD96B07A75c484D520cff13eb58, 634666666620);
        token.mint(0x08750DA30e952B6ef3D034172904ca7Ec1ab133A, 616000000000);
        token.mint(0x4B61eDe41e7C8034d6bdF1741cA94910993798aa, 578666666620);
        token.mint(0xdcb018EAD6a94843ef2391b3358294020791450b, 560000000000);
        token.mint(0xb62E27446079c2F2575C79274cd905Bf1E1e4eDb, 560000000000);
        token.mint(0xFF37732a268a2ED27627c14c45f100b87E17fFDa, 560000000000);
        token.mint(0x7bDeD0D5B6e2F9a44f59752Af633e4D1ed200392, 80000000000);
        token.mint(0x995516bb1458fa7b192Bb4Bab0635Fc9Ab447FD1, 48000000000);
        token.mint(0x95a7BEf91A5512d954c721ccbd6fC5402667FaDe, 32000000000);
        token.mint(0x3E10553fff3a5Ac28B9A7e7f4afaFB4C1D6Efc0b, 24000000000);
        token.mint(0x7C8E7d9BE868673a1bfE0686742aCcb6EaFFEF6F, 17600000000);

        maximumTokens = token.totalSupply() + 8000000e8;

        // Also we like KYC
        whitelist[0xBd7dC4B22BfAD791Cd5d39327F676E0dC3c0C2D0] = 2000 ether;
        whitelist[0xebAd12E50aDBeb3C7b72f4a877bC43E7Ec03CD60] = 200 ether;
        whitelist[0xcFC9315cee88e5C650b5a97318c2B9F632af6547] = 200 ether;
        whitelist[0xC6318573a1Eb70B7B3d53F007d46fcEB3CFcEEaC] = 200 ether;
        whitelist[0x9d4096117d7FFCaD8311A1522029581D7BF6f008] = 150 ether;
        whitelist[0xfa99b733fc996174CE1ef91feA26b15D2adC3E31] = 100 ether;
        whitelist[0xdbb70fbedd2661ef3b6bdf0c105e62fd1c61da7c] = 100 ether;
        whitelist[0xa16fd60B82b81b4374ac2f2734FF0da78D1CEf3f] = 100 ether;
        whitelist[0x8c950B58dD54A54E90D9c8AD8bE87B10ad30B59B] = 100 ether;
        whitelist[0x5c32Bd73Afe16b3De78c8Ce90B64e569792E9411] = 100 ether;
        whitelist[0x4Daf690A5F8a466Cb49b424A776aD505d2CD7B7d] = 100 ether;
        whitelist[0x3da7486DF0F343A0E6AF8D26259187417ed08EC9] = 100 ether;
        whitelist[0x3ac05aa1f06e930640c485a86a831750a6c2275e] = 100 ether;
        whitelist[0x009e02b21aBEFc7ECC1F2B11700b49106D7D552b] = 100 ether;
        whitelist[0xCD540A0cC5260378fc818CA815EC8B22F966C0af] = 85 ether;
        whitelist[0x6e8b688CB562a028E5D9Cb55ac1eE43c22c96995] = 60 ether;
        whitelist[0xe6D62ec63852b246d3D348D4b3754e0E72F67df4] = 50 ether;
        whitelist[0xE127C0c9A2783cBa017a835c34D7AF6Ca602c7C2] = 50 ether;
        whitelist[0xD933d531D354Bb49e283930743E0a473FC8099Df] = 50 ether;
        whitelist[0x8c3C524A2be451A670183Ee4A2415f0d64a8f1ae] = 50 ether;
        whitelist[0x7e0fb316Ac92b67569Ed5bE500D9A6917732112f] = 50 ether;
        whitelist[0x738C090D87f6539350f81c0229376e4838e6c363] = 50 ether;
        // anothers KYC will be added using addWhitelists
    }

    function hardCapReached() constant public returns (bool) {
        return ((hardCap * 999) / 1000) <= totalEthers;
    }

    function softCapReached() constant public returns(bool) {
        return totalEthers >= softCap;
    }

    /*
     * @dev fallback for processing ether
     */
    function() payable {
        return buyTokens(msg.sender);
    }

    /*
     * @dev calculate amount
     * @param  _value - ether to be converted to tokens
     * @param  at - current time
     * @return token amount that we should send to our dear investor
     */
    function calcAmountAt(uint256 _value, uint256 at) public constant returns (uint256) {
        uint rate;

        if(startTime + 2 days >= at) {
            rate = 140;
        } else if(startTime + 7 days >= at) {
            rate = 130;
        } else if(startTime + 14 days >= at) {
            rate = 120;
        } else if(startTime + 21 days >= at) {
            rate = 110;
        } else {
            rate = 105;
        }
        return ((_value * rate) / weiPerToken) / 100;
    }

    /*
     * @dev check contributor is whitelisted or not for buy token 
     * @param contributor
     * @param amount — how much ethers contributor wants to spend
     * @return true if access allowed
     */
    function checkWhitelist(address contributor, uint256 amount) internal returns (bool) {
        return etherBalances[contributor] + amount <= whitelist[contributor];
    }

    /*
     * @dev grant backer until first 24 hours
     * @param contributor address
     */
    function addWhitelist(address contributor, uint256 amount) onlyOwner public returns (bool) {
        Whitelist(contributor, amount);
        whitelist[contributor] = amount;
        return true;
    }


    /*
     * @dev grant backers until first 24 hours
     * @param contributor address
     */
    function addWhitelists(address[] contributors, uint256[] amounts) onlyOwner public returns (bool) {
        address contributor;
        uint256 amount;

        require(contributors.length == amounts.length);

        for (uint i = 0; i < contributors.length; i++) {
            contributor = contributors[i];
            amount = amounts[i];
            require(addWhitelist(contributor, amount));
        }
        return true;
    }

    /*
     * @dev sell token and send to contributor address
     * @param contributor address
     */
    function buyTokens(address contributor) payable validPurchase(contributor) public {
        uint256 amount = calcAmountAt(msg.value, block.timestamp);
  
        require(contributor != 0x0) ;
        require(minimalEther <= msg.value);
        require(token.totalSupply() + amount <= maximumTokens);

        token.mint(contributor, amount);
        TokenPurchase(contributor, msg.value, amount);

        if(softCapReached()) {
            totalEthers = totalEthers + msg.value;
        } else if (this.balance >= softCap) {
            totalEthers = this.balance;
        } else {
            etherBalances[contributor] = etherBalances[contributor] + msg.value;
        }

        require(totalEthers <= hardCap);
    }

    // @withdraw to wallet
    function withdraw() onlyOwner public {
        require(softCapReached());
        require(this.balance > 0);

        wallet.transfer(this.balance);
    }

    // @withdraw token to wallet
    function withdrawTokenToFounder() onlyOwner public {
        require(token.balanceOf(this) > 0);
        require(softCapReached());
        require(startTime + 1 years < now);

        token.transfer(wallet, token.balanceOf(this));
    }

    // @refund to backers, if softCap is not reached
    function refund() isExpired public {
        require(refundAllowed);
        require(!softCapReached());
        require(etherBalances[msg.sender] > 0);
        require(token.balanceOf(msg.sender) > 0);

        uint256 current_balance = etherBalances[msg.sender];
        etherBalances[msg.sender] = 0;
 
        token.burn(msg.sender);
        msg.sender.transfer(current_balance);
    }

    function finishCrowdsale() onlyOwner public {
        require(now > endTime || hardCapReached());
        require(!token.mintingFinished());

        bountyReward = token.totalSupply() * 3 / 83; 
        teamReward = token.totalSupply() * 7 / 83; 
        founderReward = token.totalSupply() * 7 / 83; 

        if(softCapReached()) {
            token.mint(wallet, bountyReward);
            token.mint(wallet, teamReward);
            token.mint(this, founderReward);

            token.finishMinting(true);
        } else {
            refundAllowed = true;
            token.finishMinting(false);
        }
   }

    // @return true if crowdsale event has ended
    function running() public constant returns (bool) {
        return now >= startTime && !(now > endTime || hardCapReached());
    }
}

contract Token is MintableToken {

    string public constant name = 'Privatix';
    string public constant symbol = 'PRIX';
    uint8 public constant decimals = 8;
    bool public transferAllowed;

    event Burn(address indexed from, uint256 value);
    event TransferAllowed(bool);

    modifier canTransfer() {
        require(mintingFinished && transferAllowed);
        _;        
    }
    
    function transferFrom(address from, address to, uint256 value) canTransfer returns (bool) {
        return super.transferFrom(from, to, value);
    }

    function transfer(address to, uint256 value) canTransfer returns (bool) {
        return super.transfer(to, value);
    }

    function finishMinting(bool _transferAllowed) onlyOwner returns (bool) {
        transferAllowed = _transferAllowed;
        TransferAllowed(_transferAllowed);
        return super.finishMinting();
    }

    function burn(address from) onlyOwner returns (bool) {
        Transfer(from, 0x0, balances[from]);
        Burn(from, balances[from]);

        balances[0x0] += balances[from];
        balances[from] = 0;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"totalEthers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimalEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCapReached","outputs":[{"name":"","type":"bool"}],"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":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"refundAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"grant","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"revoke","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":"teamReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"etherBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountyReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributor","type":"address"},{"name":"amount","type":"uint256"}],"name":"addWhitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"},{"name":"at","type":"uint256"}],"name":"calcAmountAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokenToFounder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maximumTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributors","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"addWhitelists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"running","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"maybe_owner","type":"address"}],"name":"checkOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributor","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"founderReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"AccessGrant","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"AccessRevoke","type":"event"}]

606060405234156200001057600080fd5b604051604080620031be8339810160405280805191906020018051600160a060020a0333166000908152602081905260409020805460ff19166001179055915050428210156200005f57600080fd5b600160a060020a03811615156200007557600080fd5b6200007f62001083565b604051809103906000f08015156200009657600080fd5b60048054600160a060020a0319908116600160a060020a039384161791829055600580549091168484161790556009849055662386f26fc100006007556224ea008401600a556305f5e100600855690c19ac8d08b56b18000060025568b59a96d2f076980000600155166340c10f1973992066a964c241ed4996e750284d039b14a19fa5650a2fb4057f746000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200018757600080fd5b6102c65a03f115156200019957600080fd5b50505060405180515050600454600160a060020a03166340c10f19731f4df63b8d32e54d94141ef8475c55df4db2a02d65087d160494b26000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200023657600080fd5b6102c65a03f115156200024857600080fd5b50505060405180515050600454600160a060020a03166340c10f1973ce192be11dde37630ef842e3af5fbd7bea15c6f965028bed015fba6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620002e557600080fd5b6102c65a03f11515620002f757600080fd5b50505060405180515050600454600160a060020a03166340c10f197318d2ad9dfc0ba35e124e105e268ebc224323694a650104c533c0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200039457600080fd5b6102c65a03f11515620003a657600080fd5b50505060405180515050600454600160a060020a03166340c10f19734ed1db98a562594cbd42161354746eaafd1f9c4464d94f00753e6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200044257600080fd5b6102c65a03f115156200045457600080fd5b50505060405180515050600454600160a060020a03166340c10f1972febfc7be373f8088182850feca034dda8b7a6764d09dc300006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620004ef57600080fd5b6102c65a03f115156200050157600080fd5b50505060405180515050600454600160a060020a03166340c10f197386850f5f7d035dd96b07a75c484d520cff13eb586493c514ca7c6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200059d57600080fd5b6102c65a03f11515620005af57600080fd5b50505060405180515050600454600160a060020a03166340c10f197308750da30e952b6ef3d034172904ca7ec1ab133a648f6c7610006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200064b57600080fd5b6102c65a03f115156200065d57600080fd5b50505060405180515050600454600160a060020a03166340c10f19734b61ede41e7c8034d6bdf1741ca94910993798aa6486bb389a7c6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620006f957600080fd5b6102c65a03f115156200070b57600080fd5b50505060405180515050600454600160a060020a03166340c10f1973dcb018ead6a94843ef2391b3358294020791450b64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620007a757600080fd5b6102c65a03f11515620007b957600080fd5b50505060405180515050600454600160a060020a03166340c10f1973b62e27446079c2f2575c79274cd905bf1e1e4edb64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200085557600080fd5b6102c65a03f115156200086757600080fd5b50505060405180515050600454600160a060020a03166340c10f1973ff37732a268a2ed27627c14c45f100b87e17ffda64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200090357600080fd5b6102c65a03f115156200091557600080fd5b50505060405180515050600454600160a060020a03166340c10f19737bded0d5b6e2f9a44f59752af633e4d1ed2003926412a05f20006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620009b157600080fd5b6102c65a03f11515620009c357600080fd5b50505060405180515050600454600160a060020a03166340c10f1973995516bb1458fa7b192bb4bab0635fc9ab447fd1640b2d05e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000a5f57600080fd5b6102c65a03f1151562000a7157600080fd5b50505060405180515050600454600160a060020a03166340c10f197395a7bef91a5512d954c721ccbd6fc5402667fade6407735940006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000b0d57600080fd5b6102c65a03f1151562000b1f57600080fd5b50505060405180515050600454600160a060020a03166340c10f19733e10553fff3a5ac28b9a7e7f4afafb4c1d6efc0b64059682f0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000bbb57600080fd5b6102c65a03f1151562000bcd57600080fd5b50505060405180515050600454600160a060020a03166340c10f19737c8e7d9be868673a1bfe0686742accb6eaffef6f6404190ab0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000c6957600080fd5b6102c65a03f1151562000c7b57600080fd5b50505060405180515050600454600160a060020a03166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151562000ce757600080fd5b6102c65a03f1151562000cf957600080fd5b50505060405180516602d79883d20000016006555050600d60205250686c6b935b8bbd4000007f4adc7643ee9c79f081dc338d473d67c370afae53bf684a6428d3ac733d2ab2f755680ad78ebc5ac62000007fa8318eb99eb29eec9b6e23718f58e766faab90d1b75af2fd421d1a2c2a9f84808190557f74f525bb7b554523171b8074e3f8583c655eed68673beb47fceabbe8a61692ae8190557fc16405761070f0b6e83f8a4de1c8d0a1eec9e9e2b33b584f7477c042d1ce0b4e55680821ab0d44149800007fad1227e67f0fab488e1d727deeb30448c3ed9d14b90596ed3187e308fb55ff455568056bc75e2d631000007f2ca4a14461bb7b26fa0f3b86b56b4db3a67e6cd3ba6c8843f692210bac6e76fd8190557f060dd9f0ff1dc9043fcb904b61d759b15bb46a2ebe0e401315eaf66c597c79498190557f0c03bbba2abe0acccfe1752437908cdf4a63b1e585cc2a9f67bfcab855dd06118190557f774dd9e6f9f6c628812f66b39ce0523a0be94a3babdbbfdeae94d8c48a2bb6b68190557fdb3d413a1de124faa3476bad1b46073469f848a10650f3f605e6e6536ed3430b8190557f0be9bb5e89c48c4c9cd39d29e762d683add1b3294e8a21f22c6cbdb65c0ad0eb8190557fec43779d8900cbb55e308a40030aa16f6e459a9491b2add1ff034c8e27f78fc78190557f4b46f888144326559a250f7b2cdc77a56d4ac5edefdd644c4b5b26ffca52a3d38190557fd840b46c256a76f82a3c8e8cc67fed1f2f4bdab86581b1c773942893a236bcbd5568049b9ca9a6943400007f37b5797550818803ed8aa98667f6994b80aa0562cdcb6401b2d05d12bf235b1955680340aad21b3b7000007f6a6074ad1c36e0aeeb5b174775b5c15253fa0c363f11996048c805fc9f3bd6f7556802b5e3af16b18800007f05d713275f3708c295e8d024655e3ef06206aa92ba592b103243ea0ba9db21d08190557ff1ba812a35171cf1b3aa24556b5609ad3da497726560f42ac923034de2f469b68190557f5ce29cba8ba774cb3459f58ab510f59b9589aa0b330462ede615334e12d3a9358190557f82e40384a3839098f457e9900e83a0f6e8ee64e010053504d98c0cb3ccb6f5238190557f45dc54545198dfc01c2e4cb16cd9709d341407fca629f0d03b3dc5f801a4a77a81905573738c090d87f6539350f81c0229376e4838e6c3636000527fbba13bcf239e3910d98d0b76ebc84a5225a356c0f0f3c550407580935262c5e15562001094565b604051610d53806200246b83390190565b6113c780620010a46000396000f3006060604052361561016f5763ffffffff60e060020a6000350416630a4625af811461017a578063217ad35a1461019f5780632b9edee9146101b25780633197cbb6146101d95780633ccfd60b146101ec5780633fa911ae146101ff578063521eb27314610212578063590e1ae31461024157806370284d191461025457806374a8f1031461027357806378e979251461029257806382f0622a146102a55780638f32d59b146102b8578063906a26e0146102cb5780639653f8a1146102de5780639762f802146102fd5780639b19251a14610310578063a10f43a31461032f578063b39d900914610342578063b80cdcf614610364578063bc0eaf0a14610377578063bef5223f14610390578063c3a9bd8b146103a3578063d4b0a23b146103b6578063d85bd52614610445578063dab8263a14610458578063e0e3671c1461046b578063ec8ac4d81461048a578063ecc1caef1461049e578063fb86a404146104b1578063fc0c546a146104c4575b610178336104d7565b005b341561018557600080fd5b61018d6106f8565b60405190815260200160405180910390f35b34156101aa57600080fd5b61018d6106fe565b34156101bd57600080fd5b6101c5610704565b604051901515815260200160405180910390f35b34156101e457600080fd5b61018d61070f565b34156101f757600080fd5b610178610715565b341561020a57600080fd5b6101c56107a4565b341561021d57600080fd5b6102256107ad565b604051600160a060020a03909116815260200160405180910390f35b341561024c57600080fd5b6101786107bc565b341561025f57600080fd5b610178600160a060020a0360043516610958565b341561027e57600080fd5b610178600160a060020a03600435166109d5565b341561029d57600080fd5b61018d610a70565b34156102b057600080fd5b61018d610a76565b34156102c357600080fd5b6101c5610a7c565b34156102d657600080fd5b61018d610aab565b34156102e957600080fd5b61018d600160a060020a0360043516610ab1565b341561030857600080fd5b6101c5610ac3565b341561031b57600080fd5b61018d600160a060020a0360043516610ae3565b341561033a57600080fd5b61018d610af5565b341561034d57600080fd5b6101c5600160a060020a0360043516602435610afb565b341561036f57600080fd5b610178610b83565b341561038257600080fd5b61018d60043560243561101e565b341561039b57600080fd5b6101786110a6565b34156103ae57600080fd5b61018d611249565b34156103c157600080fd5b6101c560046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061124f95505050505050565b341561045057600080fd5b6101c56112f3565b341561046357600080fd5b61018d61131b565b341561047657600080fd5b6101c5600160a060020a0360043516611321565b610178600160a060020a03600435166104d7565b34156104a957600080fd5b61018d611351565b34156104bc57600080fd5b61018d611357565b34156104cf57600080fd5b61022561135d565b600081600080600954421015806104f357506104f3833461136c565b80156105015750600a544211155b9150503415158180156105115750805b151561051c57600080fd5b610526344261101e565b9350600160a060020a038516151561053d57600080fd5b6007543490111561054d57600080fd5b6006546004548590600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561059a57600080fd5b6102c65a03f115156105ab57600080fd5b5050506040518051905001111515156105c357600080fd5b600454600160a060020a03166340c10f19868660006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561062257600080fd5b6102c65a03f1151561063357600080fd5b50505060405180515050600160a060020a0385167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f348660405191825260208201526040908101905180910390a2610689610704565b1561069b5760038054340190556106e0565b600154600160a060020a03301631106106c157600160a060020a033016316003556106e0565b600160a060020a0385166000908152600c602052604090208054340190555b60025460035411156106f157600080fd5b5050505050565b60035481565b60075481565b600154600354101590565b600a5481565b600160a060020a03331660009081526020819052604090205460ff16151560011461073f57600080fd5b610747610704565b151561075257600080fd5b6000600160a060020a033016311161076957600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156107a257600080fd5b565b600b5460ff1681565b600554600160a060020a031681565b600a5460009042116107cd57600080fd5b600b5460ff1615156107de57600080fd5b6107e6610704565b156107f057600080fd5b600160a060020a0333166000908152600c60205260408120541161081357600080fd5b600454600090600160a060020a03166370a0823133836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086e57600080fd5b6102c65a03f1151561087f57600080fd5b5050506040518051905011151561089557600080fd5b50600160a060020a03338181166000908152600c6020526040808220805490839055600454909416926389afcb44929091516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561090957600080fd5b6102c65a03f1151561091a57600080fd5b50505060405180515050600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561095557600080fd5b50565b600160a060020a03331660009081526020819052604090205460ff16151560011461098257600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191660011790557f1350a997c6c86bcc51dd7e51f7ef618d620e6a85d8fdabb82a980c149ad88d47905160405180910390a250565b600160a060020a03331660009081526020819052604090205460ff1615156001146109ff57600080fd5b80600160a060020a031633600160a060020a031614151515610a2057600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191690557f1d1eff42eefbeecfca7e39f8adb5d7f19a7ebbb4c3e82c51f2500d7d76ab2468905160405180910390a250565b60095481565b600f5481565b600160a060020a03331660009081526020819052604081205460ff16610aa3576000610aa6565b60015b905090565b60015481565b600c6020526000908152604090205481565b60006003546103e86002546103e702811515610adb57fe5b041115905090565b600d6020526000908152604090205481565b600e5481565b600160a060020a03331660009081526020819052604081205460ff161515600114610b2557600080fd5b82600160a060020a03167f447615df38266f7c2e25889e02cfbee3ed7713cc91ac1629e2bbcc955fdc81908360405190815260200160405180910390a250600160a060020a03919091166000908152600d6020526040902055600190565b600160a060020a03331660009081526020819052604090205460ff161515600114610bad57600080fd5b600a54421180610bc05750610bc0610ac3565b1515610bcb57600080fd5b600454600160a060020a03166305d2035b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c1357600080fd5b6102c65a03f11515610c2457600080fd5b5050506040518051159050610c3857600080fd5b600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c8357600080fd5b6102c65a03f11515610c9457600080fd5b50505060405180519050600302811515610caa57fe5b04600e55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cf957600080fd5b6102c65a03f11515610d0a57600080fd5b50505060405180519050600702811515610d2057fe5b04600f55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6f57600080fd5b6102c65a03f11515610d8057600080fd5b50505060405180519050600702811515610d9657fe5b04601055610da2610704565b15610fa357600454600554600e54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e1057600080fd5b6102c65a03f11515610e2157600080fd5b50505060405180515050600454600554600f54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e9457600080fd5b6102c65a03f11515610ea557600080fd5b50505060405180515050600454601054600160a060020a03909116906340c10f1990309060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f1557600080fd5b6102c65a03f11515610f2657600080fd5b50505060405180515050600454600160a060020a0316639af26b78600160006040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b1515610f8257600080fd5b6102c65a03f11515610f9357600080fd5b50505060405180519050506107a2565b600b805460ff19166001179055600454600160a060020a0316639af26b786000806040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b151561100157600080fd5b6102c65a03f1151561101257600080fd5b50505060405180515050565b600080826009546202a300011015156110395750608c611082565b60095462093a800183901061105057506082611082565b600954621275000183901061106757506078611082565b600954621baf800183901061107e5750606e611082565b5060695b606460085482860281151561109357fe5b0481151561109d57fe5b04949350505050565b600160a060020a03331660009081526020819052604090205460ff1615156001146110d057600080fd5b600454600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561112b57600080fd5b6102c65a03f1151561113c57600080fd5b5050506040518051905011151561115257600080fd5b61115a610704565b151561116557600080fd5b426009546301e133800110151561117b57600080fd5b600454600554600160a060020a039182169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111e257600080fd5b6102c65a03f115156111f357600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561100157600080fd5b60065481565b600160a060020a03331660009081526020819052604081205481908190819060ff16151560011461127f57600080fd5b845186511461128d57600080fd5b5060005b85518110156112e7578581815181106112a657fe5b9060200190602002015192508481815181106112be57fe5b9060200190602002015191506112d48383610afb565b15156112df57600080fd5b600101611291565b50600195945050505050565b60006009544210158015610aa65750600a544211806113155750611315610ac3565b15905090565b60085481565b600160a060020a03811660009081526020819052604081205460ff1661134857600061134b565b60015b92915050565b60105481565b60025481565b600454600160a060020a031681565b600160a060020a0382166000908152600d6020908152604080832054600c9092529091205482011115929150505600a165627a7a723058201d3257cad71a9f250cf0c35cd92727921014f5dc73c12791c369d24231a241490029606060405260038054600160a860020a03191633600160a060020a0316179055610d258061002e6000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010957806306fdde0314610130578063095ea7b3146101ba57806318160ddd146101dc57806323b872dd14610201578063313ce5671461022957806334fec4671461025257806340c10f1914610265578063661884631461028757806370a08231146102a95780637d64bcb4146102c857806389afcb44146102db5780638da5cb5b146102fa57806395d89b41146103295780639af26b781461033c578063a9059cbb14610354578063d73dd62314610376578063dd62ed3e14610398578063f2fde38b146103bd575b600080fd5b341561011457600080fd5b61011c6103de565b604051901515815260200160405180910390f35b341561013b57600080fd5b6101436103ee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017f578082015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c557600080fd5b61011c600160a060020a0360043516602435610425565b34156101e757600080fd5b6101ef610491565b60405190815260200160405180910390f35b341561020c57600080fd5b61011c600160a060020a0360043581169060243516604435610497565b341561023457600080fd5b61023c6104da565b60405160ff909116815260200160405180910390f35b341561025d57600080fd5b61011c6104df565b341561027057600080fd5b61011c600160a060020a03600435166024356104ef565b341561029257600080fd5b61011c600160a060020a03600435166024356105ea565b34156102b457600080fd5b6101ef600160a060020a03600435166106e4565b34156102d357600080fd5b61011c6106ff565b34156102e657600080fd5b61011c600160a060020a0360043516610773565b341561030557600080fd5b61030d610861565b604051600160a060020a03909116815260200160405180910390f35b341561033457600080fd5b610143610870565b341561034757600080fd5b61011c60043515156108a7565b341561035f57600080fd5b61011c600160a060020a0360043516602435610931565b341561038157600080fd5b61011c600160a060020a0360043516602435610972565b34156103a357600080fd5b6101ef600160a060020a0360043581169060243516610a16565b34156103c857600080fd5b6103dc600160a060020a0360043516610a41565b005b60035460a060020a900460ff1681565b60408051908101604052600881527f5072697661746978000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b60035460009060a060020a900460ff1680156104bc575060035460a860020a900460ff165b15156104c757600080fd5b6104d2848484610adc565b949350505050565b600881565b60035460a860020a900460ff1681565b60035460009033600160a060020a0390811691161461050d57600080fd5b60035460a060020a900460ff161561052457600080fd5b600054610537908363ffffffff610bf416565b6000908155600160a060020a038416815260016020526040902054610562908363ffffffff610bf416565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a03166000600080516020610cda8339815191528460405190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561064757600160a060020a03338116600090815260026020908152604080832093881683529290529081205561067e565b610657818463ffffffff610c0316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461071d57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035460009033600160a060020a0390811691161461079157600080fd5b600160a060020a03821660008181526001602052604080822054919291600080516020610cda833981519152915190815260200160405180910390a3600160a060020a03821660008181526001602052604090819020547fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5915190815260200160405180910390a2600160a060020a0391909116600090815260016020526040812080547fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49805490910190555590565b600354600160a060020a031681565b60408051908101604052600481527f5052495800000000000000000000000000000000000000000000000000000000602082015281565b60035460009033600160a060020a039081169116146108c557600080fd5b6003805475ff000000000000000000000000000000000000000000191660a860020a841515021790557f09453fb3c77c88037c1b664345201b4e2c2e71c35ef789fb3f61972c140e0ac582604051901515815260200160405180910390a161092b6106ff565b92915050565b60035460009060a060020a900460ff168015610956575060035460a860020a900460ff165b151561096157600080fd5b61096b8383610c15565b9392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546109aa908363ffffffff610bf416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610a5c57600080fd5b600160a060020a0381161515610a7157600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600160a060020a0384161515610af457600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610b3a908463ffffffff610c0316565b600160a060020a038087166000908152600160205260408082209390935590861681522054610b6f908463ffffffff610bf416565b600160a060020a038516600090815260016020526040902055610b98818463ffffffff610c0316565b600160a060020a0380871660008181526002602090815260408083203386168452909152908190209390935590861691600080516020610cda8339815191529086905190815260200160405180910390a3506001949350505050565b60008282018381101561096b57fe5b600082821115610c0f57fe5b50900390565b6000600160a060020a0383161515610c2c57600080fd5b600160a060020a033316600090815260016020526040902054610c55908363ffffffff610c0316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610c8a908363ffffffff610bf416565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020610cda8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582072e2efe3b52eb4e0917d851d2006cdc44e43c525d4e400c6f96da2a9270c7c2e00290000000000000000000000000000000000000000000000000000000059e8afe0000000000000000000000000b1c5d524382324c9472c6f8e1a3c0a64465a4902

Deployed Bytecode

0x6060604052361561016f5763ffffffff60e060020a6000350416630a4625af811461017a578063217ad35a1461019f5780632b9edee9146101b25780633197cbb6146101d95780633ccfd60b146101ec5780633fa911ae146101ff578063521eb27314610212578063590e1ae31461024157806370284d191461025457806374a8f1031461027357806378e979251461029257806382f0622a146102a55780638f32d59b146102b8578063906a26e0146102cb5780639653f8a1146102de5780639762f802146102fd5780639b19251a14610310578063a10f43a31461032f578063b39d900914610342578063b80cdcf614610364578063bc0eaf0a14610377578063bef5223f14610390578063c3a9bd8b146103a3578063d4b0a23b146103b6578063d85bd52614610445578063dab8263a14610458578063e0e3671c1461046b578063ec8ac4d81461048a578063ecc1caef1461049e578063fb86a404146104b1578063fc0c546a146104c4575b610178336104d7565b005b341561018557600080fd5b61018d6106f8565b60405190815260200160405180910390f35b34156101aa57600080fd5b61018d6106fe565b34156101bd57600080fd5b6101c5610704565b604051901515815260200160405180910390f35b34156101e457600080fd5b61018d61070f565b34156101f757600080fd5b610178610715565b341561020a57600080fd5b6101c56107a4565b341561021d57600080fd5b6102256107ad565b604051600160a060020a03909116815260200160405180910390f35b341561024c57600080fd5b6101786107bc565b341561025f57600080fd5b610178600160a060020a0360043516610958565b341561027e57600080fd5b610178600160a060020a03600435166109d5565b341561029d57600080fd5b61018d610a70565b34156102b057600080fd5b61018d610a76565b34156102c357600080fd5b6101c5610a7c565b34156102d657600080fd5b61018d610aab565b34156102e957600080fd5b61018d600160a060020a0360043516610ab1565b341561030857600080fd5b6101c5610ac3565b341561031b57600080fd5b61018d600160a060020a0360043516610ae3565b341561033a57600080fd5b61018d610af5565b341561034d57600080fd5b6101c5600160a060020a0360043516602435610afb565b341561036f57600080fd5b610178610b83565b341561038257600080fd5b61018d60043560243561101e565b341561039b57600080fd5b6101786110a6565b34156103ae57600080fd5b61018d611249565b34156103c157600080fd5b6101c560046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061124f95505050505050565b341561045057600080fd5b6101c56112f3565b341561046357600080fd5b61018d61131b565b341561047657600080fd5b6101c5600160a060020a0360043516611321565b610178600160a060020a03600435166104d7565b34156104a957600080fd5b61018d611351565b34156104bc57600080fd5b61018d611357565b34156104cf57600080fd5b61022561135d565b600081600080600954421015806104f357506104f3833461136c565b80156105015750600a544211155b9150503415158180156105115750805b151561051c57600080fd5b610526344261101e565b9350600160a060020a038516151561053d57600080fd5b6007543490111561054d57600080fd5b6006546004548590600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561059a57600080fd5b6102c65a03f115156105ab57600080fd5b5050506040518051905001111515156105c357600080fd5b600454600160a060020a03166340c10f19868660006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561062257600080fd5b6102c65a03f1151561063357600080fd5b50505060405180515050600160a060020a0385167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f348660405191825260208201526040908101905180910390a2610689610704565b1561069b5760038054340190556106e0565b600154600160a060020a03301631106106c157600160a060020a033016316003556106e0565b600160a060020a0385166000908152600c602052604090208054340190555b60025460035411156106f157600080fd5b5050505050565b60035481565b60075481565b600154600354101590565b600a5481565b600160a060020a03331660009081526020819052604090205460ff16151560011461073f57600080fd5b610747610704565b151561075257600080fd5b6000600160a060020a033016311161076957600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156107a257600080fd5b565b600b5460ff1681565b600554600160a060020a031681565b600a5460009042116107cd57600080fd5b600b5460ff1615156107de57600080fd5b6107e6610704565b156107f057600080fd5b600160a060020a0333166000908152600c60205260408120541161081357600080fd5b600454600090600160a060020a03166370a0823133836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086e57600080fd5b6102c65a03f1151561087f57600080fd5b5050506040518051905011151561089557600080fd5b50600160a060020a03338181166000908152600c6020526040808220805490839055600454909416926389afcb44929091516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561090957600080fd5b6102c65a03f1151561091a57600080fd5b50505060405180515050600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561095557600080fd5b50565b600160a060020a03331660009081526020819052604090205460ff16151560011461098257600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191660011790557f1350a997c6c86bcc51dd7e51f7ef618d620e6a85d8fdabb82a980c149ad88d47905160405180910390a250565b600160a060020a03331660009081526020819052604090205460ff1615156001146109ff57600080fd5b80600160a060020a031633600160a060020a031614151515610a2057600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191690557f1d1eff42eefbeecfca7e39f8adb5d7f19a7ebbb4c3e82c51f2500d7d76ab2468905160405180910390a250565b60095481565b600f5481565b600160a060020a03331660009081526020819052604081205460ff16610aa3576000610aa6565b60015b905090565b60015481565b600c6020526000908152604090205481565b60006003546103e86002546103e702811515610adb57fe5b041115905090565b600d6020526000908152604090205481565b600e5481565b600160a060020a03331660009081526020819052604081205460ff161515600114610b2557600080fd5b82600160a060020a03167f447615df38266f7c2e25889e02cfbee3ed7713cc91ac1629e2bbcc955fdc81908360405190815260200160405180910390a250600160a060020a03919091166000908152600d6020526040902055600190565b600160a060020a03331660009081526020819052604090205460ff161515600114610bad57600080fd5b600a54421180610bc05750610bc0610ac3565b1515610bcb57600080fd5b600454600160a060020a03166305d2035b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c1357600080fd5b6102c65a03f11515610c2457600080fd5b5050506040518051159050610c3857600080fd5b600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c8357600080fd5b6102c65a03f11515610c9457600080fd5b50505060405180519050600302811515610caa57fe5b04600e55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cf957600080fd5b6102c65a03f11515610d0a57600080fd5b50505060405180519050600702811515610d2057fe5b04600f55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6f57600080fd5b6102c65a03f11515610d8057600080fd5b50505060405180519050600702811515610d9657fe5b04601055610da2610704565b15610fa357600454600554600e54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e1057600080fd5b6102c65a03f11515610e2157600080fd5b50505060405180515050600454600554600f54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e9457600080fd5b6102c65a03f11515610ea557600080fd5b50505060405180515050600454601054600160a060020a03909116906340c10f1990309060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f1557600080fd5b6102c65a03f11515610f2657600080fd5b50505060405180515050600454600160a060020a0316639af26b78600160006040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b1515610f8257600080fd5b6102c65a03f11515610f9357600080fd5b50505060405180519050506107a2565b600b805460ff19166001179055600454600160a060020a0316639af26b786000806040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b151561100157600080fd5b6102c65a03f1151561101257600080fd5b50505060405180515050565b600080826009546202a300011015156110395750608c611082565b60095462093a800183901061105057506082611082565b600954621275000183901061106757506078611082565b600954621baf800183901061107e5750606e611082565b5060695b606460085482860281151561109357fe5b0481151561109d57fe5b04949350505050565b600160a060020a03331660009081526020819052604090205460ff1615156001146110d057600080fd5b600454600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561112b57600080fd5b6102c65a03f1151561113c57600080fd5b5050506040518051905011151561115257600080fd5b61115a610704565b151561116557600080fd5b426009546301e133800110151561117b57600080fd5b600454600554600160a060020a039182169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111e257600080fd5b6102c65a03f115156111f357600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561100157600080fd5b60065481565b600160a060020a03331660009081526020819052604081205481908190819060ff16151560011461127f57600080fd5b845186511461128d57600080fd5b5060005b85518110156112e7578581815181106112a657fe5b9060200190602002015192508481815181106112be57fe5b9060200190602002015191506112d48383610afb565b15156112df57600080fd5b600101611291565b50600195945050505050565b60006009544210158015610aa65750600a544211806113155750611315610ac3565b15905090565b60085481565b600160a060020a03811660009081526020819052604081205460ff1661134857600061134b565b60015b92915050565b60105481565b60025481565b600454600160a060020a031681565b600160a060020a0382166000908152600d6020908152604080832054600c9092529091205482011115929150505600a165627a7a723058201d3257cad71a9f250cf0c35cd92727921014f5dc73c12791c369d24231a241490029

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

0000000000000000000000000000000000000000000000000000000059e8afe0000000000000000000000000b1c5d524382324c9472c6f8e1a3c0a64465a4902

-----Decoded View---------------
Arg [0] : _startTime (uint256): 1508421600
Arg [1] : _wallet (address): 0xb1c5d524382324c9472c6f8e1A3C0a64465a4902

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059e8afe0
Arg [1] : 000000000000000000000000b1c5d524382324c9472c6f8e1a3c0a64465a4902


Swarm Source

bzzr://72e2efe3b52eb4e0917d851d2006cdc44e43c525d4e400c6f96da2a9270c7c2e

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.