ETH Price: $1,972.64 (+0.53%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer55733532018-05-07 18:02:482847 days ago1525716168IN
LPesa: Token Sale
0.26502281 ETH0.0004369420
Transfer55378012018-05-01 12:39:262853 days ago1525178366IN
LPesa: Token Sale
0.25 ETH0.0004369420
Transfer55326802018-04-30 14:56:222854 days ago1525100182IN
LPesa: Token Sale
0.25 ETH0.0004369420
Transfer55294252018-04-30 1:09:272855 days ago1525050567IN
LPesa: Token Sale
0.25 ETH0.0004369420
Transfer55089672018-04-26 12:01:252858 days ago1524744085IN
LPesa: Token Sale
1.5 ETH0.000109235
Transfer55026782018-04-25 10:09:252859 days ago1524650965IN
LPesa: Token Sale
0.8 ETH0.0004369420
Transfer55024202018-04-25 9:10:542859 days ago1524647454IN
LPesa: Token Sale
0.8 ETH0.0008738840
Transfer55023472018-04-25 8:53:362859 days ago1524646416IN
LPesa: Token Sale
0.8 ETH0.000087384
Finalize54984962018-04-24 17:02:472860 days ago1524589367IN
LPesa: Token Sale
0 ETH0.0007811620
Adjust Duration54982782018-04-24 16:09:512860 days ago1524586191IN
LPesa: Token Sale
0 ETH0.0005757220
Adjust Duration54982542018-04-24 16:02:192860 days ago1524585739IN
LPesa: Token Sale
0 ETH0.0004683620
Adjust Duration54982342018-04-24 15:56:472860 days ago1524585407IN
LPesa: Token Sale
0 ETH0.0002341810
Transfer54756912018-04-20 18:53:532864 days ago1524250433IN
LPesa: Token Sale
1.5 ETH0.0029983220
Transfer54570232018-04-17 13:36:342867 days ago1523972194IN
LPesa: Token Sale
0.6 ETH0.0178116899
Advance Step54341532018-04-13 16:36:372871 days ago1523637397IN
LPesa: Token Sale
0 ETH0.000190284
Transfer54264612018-04-12 9:13:432872 days ago1523524423IN
LPesa: Token Sale
0.5 ETH0.0029948620
Transfer54107992018-04-09 18:53:032875 days ago1523299983IN
LPesa: Token Sale
0.5 ETH0.000049192
Transfer54094132018-04-09 13:17:182875 days ago1523279838IN
LPesa: Token Sale
0.5 ETH0.003144621
Transfer54045252018-04-08 17:42:452876 days ago1523209365IN
LPesa: Token Sale
0.4 ETH0.0010933144
Transfer54039432018-04-08 15:22:002876 days ago1523200920IN
LPesa: Token Sale
0.5 ETH0.000073783
Transfer53982702018-04-07 16:47:502877 days ago1523119670IN
LPesa: Token Sale
0.525 ETH0.0023958816
Transfer53750682018-04-03 20:45:382881 days ago1522788338IN
LPesa: Token Sale
0.299 ETH0.0000211
Transfer53737622018-04-03 15:26:522881 days ago1522769212IN
LPesa: Token Sale
0.5 ETH0.0029948620
Transfer53687662018-04-02 19:34:422882 days ago1522697682IN
LPesa: Token Sale
0.632 ETH0.0004919220
Transfer53686002018-04-02 18:57:152882 days ago1522695435IN
LPesa: Token Sale
0.5 ETH0.0004919220
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer54756912018-04-20 18:53:532864 days ago1524250433
LPesa: Token Sale
1.5 ETH
Transfer54570232018-04-17 13:36:342867 days ago1523972194
LPesa: Token Sale
0.6 ETH
Transfer54264612018-04-12 9:13:432872 days ago1523524423
LPesa: Token Sale
0.5 ETH
Transfer54094132018-04-09 13:17:182875 days ago1523279838
LPesa: Token Sale
0.5 ETH
Transfer53982702018-04-07 16:47:502877 days ago1523119670
LPesa: Token Sale
0.525 ETH
Transfer53737622018-04-03 15:26:522881 days ago1522769212
LPesa: Token Sale
0.5 ETH
Transfer53669452018-04-02 12:12:222882 days ago1522671142
LPesa: Token Sale
0.51 ETH
Transfer53561482018-03-31 17:27:402884 days ago1522517260
LPesa: Token Sale
0.52 ETH
Transfer53522322018-03-31 2:05:312885 days ago1522461931
LPesa: Token Sale
0.5 ETH
Transfer53429142018-03-29 12:22:032886 days ago1522326123
LPesa: Token Sale
0.5 ETH
Transfer53363752018-03-28 9:53:212887 days ago1522230801
LPesa: Token Sale
0.5 ETH
Transfer53278352018-03-26 23:07:422889 days ago1522105662
LPesa: Token Sale
0.57326625 ETH
Transfer53241122018-03-26 8:05:132889 days ago1522051513
LPesa: Token Sale
0.5 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Crowdsale

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-26
*/

pragma solidity 0.4.21;


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

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

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


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

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

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

    /**
    * @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 {
        require(address(0) != _newOwner);
        newOwner = _newOwner;
    }

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

}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

    /**
    * @dev Modifier to make a function callable only when the contract is not paused.
    */
    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    /**
    * @dev Modifier to make a function callable only when the contract is paused.
    */
    modifier whenPaused() {
        require(paused);
        _;
    }

    /**
    * @dev called by the owner to pause, triggers stopped state
    */
    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    /**
    * @dev called by the owner to unpause, returns to normal state
    */
    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}


// Crowdsale Smart Contract
// This smart contract collects ETH and in return sends tokens to contributors
contract Crowdsale is Pausable {

    using SafeMath for uint;

    struct Backer {
        uint weiReceived; // amount of ETH contributed
        uint tokensToSend; // amount of tokens  sent
        bool refunded;
    }

    Token public token; // Token contract reference
    address public multisig; // Multisig contract that will receive the ETH
    address public team; // Address at which the team tokens will be sent
    uint public ethReceivedPresale; // Number of ETH received in presale
    uint public ethReceivedMain; // Number of ETH received in public sale
    uint public tokensSentPresale; // Tokens sent during presale
    uint public tokensSentMain; // Tokens sent during public ICO
    uint public totalTokensSent; // Total number of tokens sent to contributors
    uint public startBlock; // Crowdsale start block
    uint public endBlock; // Crowdsale end block
    uint public maxCap; // Maximum number of tokens to sell
    uint public minInvestETH; // Minimum amount to invest
    bool public crowdsaleClosed; // Is crowdsale still in progress
    Step public currentStep;  // To allow for controlled steps of the campaign
    uint public refundCount;  // Number of refunds
    uint public totalRefunded; // Total amount of Eth refunded
    uint public numOfBlocksInMinute; // number of blocks in one minute * 100. eg.
    WhiteList public whiteList;     // whitelist contract
    uint public tokenPriceWei;      // Price of token in wei

    mapping(address => Backer) public backers; // contributors list
    address[] public backersIndex; // to be able to iterate through backers for verification.
    uint public priorTokensSent;
    uint public presaleCap;


    // @notice to verify if action is not performed out of the campaign range
    modifier respectTimeFrame() {
        require(block.number >= startBlock && block.number <= endBlock);
        _;
    }

    // @notice to set and determine steps of crowdsale
    enum Step {
        FundingPreSale,     // presale mode
        FundingPublicSale,  // public mode
        Refunding  // in case campaign failed during this step contributors will be able to receive refunds
    }

    // Events
    event ReceivedETH(address indexed backer, uint amount, uint tokenAmount);
    event RefundETH(address indexed backer, uint amount);

    // Crowdsale  {constructor}
    // @notice fired when contract is crated. Initializes all constant and initial values.
    // @param _dollarToEtherRatio {uint} how many dollars are in one eth.  $333.44/ETH would be passed as 33344
    function Crowdsale(WhiteList _whiteList) public {

        require(_whiteList != address(0));
        multisig = 0x10f78f2a70B52e6c3b490113c72Ba9A90ff1b5CA;
        team = 0x10f78f2a70B52e6c3b490113c72Ba9A90ff1b5CA;
        maxCap = 1510000000e8;
        minInvestETH = 1 ether/2;
        currentStep = Step.FundingPreSale;
        numOfBlocksInMinute = 408;          // E.g. 4.38 block/per minute wold be entered as 438
        priorTokensSent = 4365098999e7;     //tokens distributed in private sale and airdrops
        whiteList = _whiteList;             // white list address
        presaleCap = 160000000e8;           // max for sell in presale
        tokenPriceWei = 57142857142857;     // 17500 tokens per ether
    }

    // @notice Specify address of token contract
    // @param _tokenAddress {address} address of token contract
    // @return res {bool}
    function setTokenAddress(Token _tokenAddress) external onlyOwner() returns(bool res) {
        require(token == address(0));
        token = _tokenAddress;
        return true;
    }

    // @notice set the step of the campaign from presale to public sale
    // contract is deployed in presale mode
    // WARNING: there is no way to go back
    function advanceStep() public onlyOwner() {
        require(Step.FundingPreSale == currentStep);
        currentStep = Step.FundingPublicSale;
        minInvestETH = 1 ether/4;
    }

    // @notice in case refunds are needed, money can be returned to the contract
    // and contract switched to mode refunding
    function prepareRefund() public payable onlyOwner() {

        require(crowdsaleClosed);
        require(msg.value == ethReceivedPresale.add(ethReceivedMain)); // make sure that proper amount of ether is sent
        currentStep = Step.Refunding;
    }

    // @notice return number of contributors
    // @return  {uint} number of contributors
    function numberOfBackers() public view returns(uint) {
        return backersIndex.length;
    }

    // {fallback function}
    // @notice It will call internal function which handles allocation of Ether and calculates tokens.
    // Contributor will be instructed to specify sufficient amount of gas. e.g. 250,000
    function () external payable {
        contribute(msg.sender);
    }

    // @notice It will be called by owner to start the sale
    function start(uint _block) external onlyOwner() {

        require(startBlock == 0);
        require(_block <= (numOfBlocksInMinute * 60 * 24 * 54)/100);  // allow max 54 days for campaign
        startBlock = block.number;
        endBlock = startBlock.add(_block);
    }

    // @notice Due to changing average of block time
    // this function will allow on adjusting duration of campaign closer to the end
    function adjustDuration(uint _block) external onlyOwner() {

        require(startBlock > 0);
        require(_block < (numOfBlocksInMinute * 60 * 24 * 60)/100); // allow for max of 60 days for campaign
        require(_block > block.number.sub(startBlock)); // ensure that endBlock is not set in the past
        endBlock = startBlock.add(_block);
    }

    // @notice It will be called by fallback function whenever ether is sent to it
    // @param  _backer {address} address of contributor
    // @return res {bool} true if transaction was successful
    function contribute(address _backer) internal whenNotPaused() respectTimeFrame() returns(bool res) {
        require(!crowdsaleClosed);
        require(whiteList.isWhiteListed(_backer));      // ensure that user is whitelisted

        uint tokensToSend = determinePurchase();

        Backer storage backer = backers[_backer];

        if (backer.weiReceived == 0)
            backersIndex.push(_backer);

        backer.tokensToSend += tokensToSend; // save contributor's total tokens sent
        backer.weiReceived = backer.weiReceived.add(msg.value);  // save contributor's total ether contributed

        if (Step.FundingPublicSale == currentStep) { // Update the total Ether received and tokens sent during public sale
            ethReceivedMain = ethReceivedMain.add(msg.value);
            tokensSentMain += tokensToSend;
        }else {                                                 // Update the total Ether recived and tokens sent during presale
            ethReceivedPresale = ethReceivedPresale.add(msg.value);
            tokensSentPresale += tokensToSend;
        }

        totalTokensSent += tokensToSend;     // update the total amount of tokens sent
        multisig.transfer(address(this).balance);   // transfer funds to multisignature wallet

        require(token.transfer(_backer, tokensToSend));   // Transfer tokens

        emit ReceivedETH(_backer, msg.value, tokensToSend); // Register event
        return true;
    }

    // @notice determine if purchase is valid and return proper number of tokens
    // @return tokensToSend {uint} proper number of tokens based on the timline
    function determinePurchase() internal view  returns (uint) {

        require(msg.value >= minInvestETH);   // ensure that min contributions amount is met

        uint tokensToSend = msg.value.mul(1e8) / tokenPriceWei;   //1e8 ensures that token gets 8 decimal values

        if (Step.FundingPublicSale == currentStep) {  // calculate price of token in public sale
            require(totalTokensSent + tokensToSend + priorTokensSent <= maxCap); // Ensure that max cap hasn't been reached
        }else {
            tokensToSend += (tokensToSend * 50) / 100;
            require(totalTokensSent + tokensToSend <= presaleCap); // Ensure that max cap hasn't been reached for presale
        }
        return tokensToSend;
    }


    // @notice This function will finalize the sale.
    // It will only execute if predetermined sale time passed or all tokens are sold.
    // it will fail if minimum cap is not reached
    function finalize() external onlyOwner() {

        require(!crowdsaleClosed);
        // purchasing precise number of tokens might be impractical, thus subtract 1000
        // tokens so finalization is possible near the end
        require(block.number >= endBlock || totalTokensSent + priorTokensSent >= maxCap - 1000);
        crowdsaleClosed = true;

        require(token.transfer(team, token.balanceOf(this))); // transfer all remaining tokens to team address
        token.unlock();
    }

    // @notice Fail-safe drain
    function drain() external onlyOwner() {
        multisig.transfer(address(this).balance);
    }

    // @notice Fail-safe token transfer
    function tokenDrain() external onlyOwner() {
        if (block.number > endBlock) {
            require(token.transfer(multisig, token.balanceOf(this)));
        }
    }

    // @notice it will allow contributors to get refund in case campaign failed
    // @return {bool} true if successful
    function refund() external whenNotPaused() returns (bool) {

        require(currentStep == Step.Refunding);

        Backer storage backer = backers[msg.sender];

        require(backer.weiReceived > 0);  // ensure that user has sent contribution
        require(!backer.refunded);        // ensure that user hasn't been refunded yet

        backer.refunded = true;  // save refund status to true
        refundCount++;
        totalRefunded = totalRefunded + backer.weiReceived;

        require(token.transfer(msg.sender, backer.tokensToSend)); // return allocated tokens
        msg.sender.transfer(backer.weiReceived);  // send back the contribution
        emit RefundETH(msg.sender, backer.weiReceived);
        return true;
    }



}


contract ERC20 {
    uint public totalSupply;

    function balanceOf(address who) public view returns(uint);

    function allowance(address owner, address spender) public view returns(uint);

    function transfer(address to, uint value) public returns(bool ok);

    function transferFrom(address from, address to, uint value) public returns(bool ok);

    function approve(address spender, uint value) public returns(bool ok);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}


// The token
contract Token is ERC20, Ownable {

    using SafeMath for uint;

    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals; // How many decimals to show.
    string public version = "v0.1";
    uint public totalSupply;
    bool public locked;
    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;
    address public crowdSaleAddress;


    // Lock transfer for contributors during the ICO
    modifier onlyUnlocked() {
        if (msg.sender != crowdSaleAddress && msg.sender != owner && locked)
            revert();
        _;
    }

    modifier onlyAuthorized() {
        if (msg.sender != owner && msg.sender != crowdSaleAddress)
            revert();
        _;
    }

    // @notice The Token contract
    function Token(address _crowdsaleAddress) public {

        require(_crowdsaleAddress != address(0));
        locked = true; // Lock the transfer of tokens during the crowdsale
        totalSupply = 2600000000e8;
        name = "Kripton";                           // Set the name for display purposes
        symbol = "LPK";                             // Set the symbol for display purposes
        decimals = 8;                               // Amount of decimals
        crowdSaleAddress = _crowdsaleAddress;
        balances[_crowdsaleAddress] = totalSupply;
    }

    // @notice unlock token for trading
    function unlock() public onlyAuthorized {
        locked = false;
    }

    // @lock token from trading during ICO
    function lock() public onlyAuthorized {
        locked = true;
    }

    // @notice transfer tokens to given address
    // @param _to {address} address or recipient
    // @param _value {uint} amount to transfer
    // @return  {bool} true if successful
    function transfer(address _to, uint _value) public onlyUnlocked returns(bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    // @notice transfer tokens from given address to another address
    // @param _from {address} from whom tokens are transferred
    // @param _to {address} to whom tokens are transferred
    // @parm _value {uint} amount of tokens to transfer
    // @return  {bool} true if successful
    function transferFrom(address _from, address _to, uint256 _value) public onlyUnlocked returns(bool success) {
        require(balances[_from] >= _value); // Check if the sender has enough
        require(_value <= allowed[_from][msg.sender]); // Check if allowed is greater or equal
        balances[_from] = balances[_from].sub(_value); // Subtract from the sender
        balances[_to] = balances[_to].add(_value); // Add the same to the recipient
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    // @notice to query balance of account
    // @return _owner {address} address of user to query balance
    function balanceOf(address _owner) public view returns(uint balance) {
        return balances[_owner];
    }

    /**
    * @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, uint _value) public returns(bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // @notice to query of allowance of one user to the other
    // @param _owner {address} of the owner of the account
    // @param _spender {address} of the spender of the account
    // @return remaining {uint} amount of remaining allowance
    function allowance(address _owner, address _spender) public view returns(uint 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) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }


    function decreaseApproval (address _spender, uint _subtractedValue) public 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);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

// Whitelist smart contract
// This smart contract keeps list of addresses to whitelist
contract WhiteList is Ownable {


    mapping(address => bool) public whiteList;
    uint public totalWhiteListed; //white listed users number

    event LogWhiteListed(address indexed user, uint whiteListedNum);
    event LogWhiteListedMultiple(uint whiteListedNum);
    event LogRemoveWhiteListed(address indexed user);

    // @notice it will return status of white listing
    // @return true if user is white listed and false if is not
    function isWhiteListed(address _user) external view returns (bool) {

        return whiteList[_user];
    }

    // @notice it will remove whitelisted user
    // @param _contributor {address} of user to unwhitelist
    function removeFromWhiteList(address _user) external onlyOwner() {

        require(whiteList[_user] == true);
        whiteList[_user] = false;
        totalWhiteListed--;
        emit LogRemoveWhiteListed(_user);
    }

    // @notice it will white list one member
    // @param _user {address} of user to whitelist
    // @return true if successful
    function addToWhiteList(address _user) external onlyOwner() {

        if (whiteList[_user] != true) {
            whiteList[_user] = true;
            totalWhiteListed++;
            emit LogWhiteListed(_user, totalWhiteListed);
        }else

            revert();
    }

    // @notice it will white list multiple members
    // @param _user {address[]} of users to whitelist
    // @return true if successful
    function addToWhiteListMultiple(address[] _users) external onlyOwner() {

        for (uint i = 0; i < _users.length; ++i) {

            if (whiteList[_users[i]] != true) {
                whiteList[_users[i]] = true;
                totalWhiteListed++;
            }
        }
        emit LogWhiteListedMultiple(totalWhiteListed);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"tokenPriceWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"refundCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfBackers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whiteList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minInvestETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"advanceStep","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"multisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"prepareRefund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentStep","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priorTokensSent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"tokenDrain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presaleCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"team","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethReceivedMain","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_block","type":"uint256"}],"name":"adjustDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_block","type":"uint256"}],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethReceivedPresale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numOfBlocksInMinute","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensSent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSentPresale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"backers","outputs":[{"name":"weiReceived","type":"uint256"},{"name":"tokensToSend","type":"uint256"},{"name":"refunded","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRefunded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSentMain","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"backersIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_whiteList","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"backer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"ReceivedETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"backer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"RefundETH","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526000600160146101000a81548160ff021916908315150217905550341561002a57600080fd5b60405160208061249d83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561010457600080fd5b7310f78f2a70b52e6c3b490113c72ba9a90ff1b5ca600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507310f78f2a70b52e6c3b490113c72ba9a90ff1b5ca600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067021875b331158000600c819055506706f05b59d3b20000600d819055506000600e60016101000a81548160ff021916908360028111156101eb57fe5b0217905550610198601181905550669b14581872b58060168190555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506638d7ea4c6800006017819055506533f89bb392496013819055505061222a806102736000396000f3006060604052600436106101ee576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d0f15b146101fa578063083c6323146102235780630bda4dbf1461024c5780630dbd52701461027557806323548b8b1461029e57806326a4e8d2146102c75780633544a8641461031857806335c2d49d1461036d5780633cac38e4146103965780633f4ba83a146103ab5780634783c35b146103c057806348cd4cb1146104155780634bb278f31461043e5780634e3b33d414610453578063590e1ae31461045d5780635bc34f711461048a5780635c56afa3146104c15780635c975abb146104ea578063618407e51461051757806363d5502f1461052c57806379ba5097146105555780638456cb591461056a57806385f2aef21461057f5780638da5cb5b146105d45780639263b5591461062957806394465bf61461065257806395805dad146106755780639890220b14610698578063a5cf56f2146106ad578063ab9a81c3146106d6578063ac1559d2146106ff578063b630aa4814610728578063b85dfb8014610751578063ccb07cef146107b0578063d4ee1d90146107dd578063d908296214610832578063ed810d021461085b578063f2fde38b14610884578063fc0c546a146108bd578063fdbdc11214610912575b6101f733610975565b50005b341561020557600080fd5b61020d610df6565b6040518082815260200191505060405180910390f35b341561022e57600080fd5b610236610dfc565b6040518082815260200191505060405180910390f35b341561025757600080fd5b61025f610e02565b6040518082815260200191505060405180910390f35b341561028057600080fd5b610288610e08565b6040518082815260200191505060405180910390f35b34156102a957600080fd5b6102b1610e15565b6040518082815260200191505060405180910390f35b34156102d257600080fd5b6102fe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e1b565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610f1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037857600080fd5b610380610f45565b6040518082815260200191505060405180910390f35b34156103a157600080fd5b6103a9610f4b565b005b34156103b657600080fd5b6103be61100f565b005b34156103cb57600080fd5b6103d36110ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561042057600080fd5b6104286110f4565b6040518082815260200191505060405180910390f35b341561044957600080fd5b6104516110fa565b005b61045b611425565b005b341561046857600080fd5b6104706114e5565b604051808215151515815260200191505060405180910390f35b341561049557600080fd5b61049d61176f565b604051808260028111156104ad57fe5b60ff16815260200191505060405180910390f35b34156104cc57600080fd5b6104d4611782565b6040518082815260200191505060405180910390f35b34156104f557600080fd5b6104fd611788565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61052a61179b565b005b341561053757600080fd5b61053f6119dd565b6040518082815260200191505060405180910390f35b341561056057600080fd5b6105686119e3565b005b341561057557600080fd5b61057d611b3e565b005b341561058a57600080fd5b610592611bfd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105df57600080fd5b6105e7611c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561063457600080fd5b61063c611c48565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106736004808035906020019091905050611c4e565b005b341561068057600080fd5b6106966004808035906020019091905050611d1f565b005b34156106a357600080fd5b6106ab611dd6565b005b34156106b857600080fd5b6106c0611eac565b6040518082815260200191505060405180910390f35b34156106e157600080fd5b6106e9611eb2565b6040518082815260200191505060405180910390f35b341561070a57600080fd5b610712611eb8565b6040518082815260200191505060405180910390f35b341561073357600080fd5b61073b611ebe565b6040518082815260200191505060405180910390f35b341561075c57600080fd5b610788600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ec4565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34156107bb57600080fd5b6107c3611efb565b604051808215151515815260200191505060405180910390f35b34156107e857600080fd5b6107f0611f0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083d57600080fd5b610845611f34565b6040518082815260200191505060405180910390f35b341561086657600080fd5b61086e611f3a565b6040518082815260200191505060405180910390f35b341561088f57600080fd5b6108bb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f40565b005b34156108c857600080fd5b6108d061201b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561091d57600080fd5b6109336004808035906020019091905050612041565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000600160149054906101000a900460ff1615151561099657600080fd5b600a5443101580156109aa5750600b544311155b15156109b557600080fd5b600e60009054906101000a900460ff161515156109d157600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f9170f6856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610a8d57600080fd5b5af11515610a9a57600080fd5b505050604051805190501515610aaf57600080fd5b610ab7612080565b9150601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415610b6b5760158054806001018281610b1b91906121ad565b9160005260206000209001600086909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b818160010160008282540192505081905550610b9434826000015461213790919063ffffffff16565b8160000181905550600e60019054906101000a900460ff166002811115610bb757fe5b60016002811115610bc457fe5b1415610bfa57610bdf3460065461213790919063ffffffff16565b60068190555081600860008282540192505081905550610c26565b610c0f3460055461213790919063ffffffff16565b600581905550816007600082825401925050819055505b81600960008282540192505081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610caf57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d7357600080fd5b5af11515610d8057600080fd5b505050604051805190501515610d9557600080fd5b8373ffffffffffffffffffffffffffffffffffffffff167f81e2ef3ab008d32268f605e85c227e20ef36880e0c4367d2d68966822cd92c6e3484604051808381526020018281526020019250505060405180910390a2600192505050919050565b60135481565b600b5481565b600f5481565b6000601580549050905090565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e7857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fa657600080fd5b600e60019054906101000a900460ff166002811115610fc157fe5b60006002811115610fce57fe5b141515610fda57600080fd5b6001600e60016101000a81548160ff02191690836002811115610ff957fe5b02179055506703782dace9d90000600d81905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106a57600080fd5b600160149054906101000a900460ff16151561108557600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115557600080fd5b600e60009054906101000a900460ff1615151561117157600080fd5b600b544310158061118e57506103e8600c54036016546009540110155b151561119957600080fd5b6001600e60006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156112d157600080fd5b5af115156112de57600080fd5b505050604051805190506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561136c57600080fd5b5af1151561137957600080fd5b50505060405180519050151561138e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148057600080fd5b600e60009054906101000a900460ff16151561149b57600080fd5b6114b260065460055461213790919063ffffffff16565b341415156114bf57600080fd5b6002600e60016101000a81548160ff021916908360028111156114de57fe5b0217905550565b600080600160149054906101000a900460ff1615151561150457600080fd5b60028081111561151057fe5b600e60019054906101000a900460ff16600281111561152b57fe5b14151561153757600080fd5b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411151561158b57600080fd5b8060020160009054906101000a900460ff161515156115a957600080fd5b60018160020160006101000a81548160ff021916908315150217905550600f60008154809291906001019190505550806000015460105401601081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156116af57600080fd5b5af115156116bc57600080fd5b5050506040518051905015156116d157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc82600001549081150290604051600060405180830381858888f19350505050151561171557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e782600001546040518082815260200191505060405180910390a2600191505090565b600e60019054906101000a900460ff1681565b60165481565b600160149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f657600080fd5b600b544311156119db57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561191d57600080fd5b5af1151561192a57600080fd5b505050604051805190506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119b857600080fd5b5af115156119c557600080fd5b5050506040518051905015156119da57600080fd5b5b565b60175481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9957600080fd5b600160149054906101000a900460ff16151515611bb557600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ca957600080fd5b6000600a54111515611cba57600080fd5b6064603c6018603c601154020202811515611cd157fe5b0481101515611cdf57600080fd5b611cf4600a544361216190919063ffffffff16565b81111515611d0157600080fd5b611d1681600a5461213790919063ffffffff16565b600b8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d7a57600080fd5b6000600a54141515611d8b57600080fd5b606460366018603c601154020202811515611da257fe5b048111151515611db157600080fd5b43600a81905550611dcd81600a5461213790919063ffffffff16565b600b8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611eaa57600080fd5b565b60055481565b60115481565b60095481565b60075481565b60146020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600e60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1614151515611fd757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60158181548110151561205057fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600d54341015151561209457600080fd5b6013546120ae6305f5e1003461217a90919063ffffffff16565b8115156120b757fe5b049050600e60019054906101000a900460ff1660028111156120d557fe5b600160028111156120e257fe5b141561210657600c546016548260095401011115151561210157600080fd5b612130565b60646032820281151561211557fe5b048101905060175481600954011115151561212f57600080fd5b5b8091505090565b600080828401905083811015801561214f5750828110155b151561215757fe5b8091505092915050565b600082821115151561216f57fe5b818303905092915050565b6000808284029050600084148061219b575082848281151561219857fe5b04145b15156121a357fe5b8091505092915050565b8154818355818115116121d4578183600052602060002091820191016121d391906121d9565b5b505050565b6121fb91905b808211156121f75760008160009055506001016121df565b5090565b905600a165627a7a72305820dcd77f946318d59971d3811a3cdebd9a6e5c19f2e529062fa8e091a14857ce2a0029000000000000000000000000ced4eb91efe1b708782afd33aa529a6a9ace6671

Deployed Bytecode

0x6060604052600436106101ee576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d0f15b146101fa578063083c6323146102235780630bda4dbf1461024c5780630dbd52701461027557806323548b8b1461029e57806326a4e8d2146102c75780633544a8641461031857806335c2d49d1461036d5780633cac38e4146103965780633f4ba83a146103ab5780634783c35b146103c057806348cd4cb1146104155780634bb278f31461043e5780634e3b33d414610453578063590e1ae31461045d5780635bc34f711461048a5780635c56afa3146104c15780635c975abb146104ea578063618407e51461051757806363d5502f1461052c57806379ba5097146105555780638456cb591461056a57806385f2aef21461057f5780638da5cb5b146105d45780639263b5591461062957806394465bf61461065257806395805dad146106755780639890220b14610698578063a5cf56f2146106ad578063ab9a81c3146106d6578063ac1559d2146106ff578063b630aa4814610728578063b85dfb8014610751578063ccb07cef146107b0578063d4ee1d90146107dd578063d908296214610832578063ed810d021461085b578063f2fde38b14610884578063fc0c546a146108bd578063fdbdc11214610912575b6101f733610975565b50005b341561020557600080fd5b61020d610df6565b6040518082815260200191505060405180910390f35b341561022e57600080fd5b610236610dfc565b6040518082815260200191505060405180910390f35b341561025757600080fd5b61025f610e02565b6040518082815260200191505060405180910390f35b341561028057600080fd5b610288610e08565b6040518082815260200191505060405180910390f35b34156102a957600080fd5b6102b1610e15565b6040518082815260200191505060405180910390f35b34156102d257600080fd5b6102fe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e1b565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610f1f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561037857600080fd5b610380610f45565b6040518082815260200191505060405180910390f35b34156103a157600080fd5b6103a9610f4b565b005b34156103b657600080fd5b6103be61100f565b005b34156103cb57600080fd5b6103d36110ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561042057600080fd5b6104286110f4565b6040518082815260200191505060405180910390f35b341561044957600080fd5b6104516110fa565b005b61045b611425565b005b341561046857600080fd5b6104706114e5565b604051808215151515815260200191505060405180910390f35b341561049557600080fd5b61049d61176f565b604051808260028111156104ad57fe5b60ff16815260200191505060405180910390f35b34156104cc57600080fd5b6104d4611782565b6040518082815260200191505060405180910390f35b34156104f557600080fd5b6104fd611788565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61052a61179b565b005b341561053757600080fd5b61053f6119dd565b6040518082815260200191505060405180910390f35b341561056057600080fd5b6105686119e3565b005b341561057557600080fd5b61057d611b3e565b005b341561058a57600080fd5b610592611bfd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105df57600080fd5b6105e7611c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561063457600080fd5b61063c611c48565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106736004808035906020019091905050611c4e565b005b341561068057600080fd5b6106966004808035906020019091905050611d1f565b005b34156106a357600080fd5b6106ab611dd6565b005b34156106b857600080fd5b6106c0611eac565b6040518082815260200191505060405180910390f35b34156106e157600080fd5b6106e9611eb2565b6040518082815260200191505060405180910390f35b341561070a57600080fd5b610712611eb8565b6040518082815260200191505060405180910390f35b341561073357600080fd5b61073b611ebe565b6040518082815260200191505060405180910390f35b341561075c57600080fd5b610788600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ec4565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34156107bb57600080fd5b6107c3611efb565b604051808215151515815260200191505060405180910390f35b34156107e857600080fd5b6107f0611f0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083d57600080fd5b610845611f34565b6040518082815260200191505060405180910390f35b341561086657600080fd5b61086e611f3a565b6040518082815260200191505060405180910390f35b341561088f57600080fd5b6108bb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f40565b005b34156108c857600080fd5b6108d061201b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561091d57600080fd5b6109336004808035906020019091905050612041565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000600160149054906101000a900460ff1615151561099657600080fd5b600a5443101580156109aa5750600b544311155b15156109b557600080fd5b600e60009054906101000a900460ff161515156109d157600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f9170f6856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610a8d57600080fd5b5af11515610a9a57600080fd5b505050604051805190501515610aaf57600080fd5b610ab7612080565b9150601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415610b6b5760158054806001018281610b1b91906121ad565b9160005260206000209001600086909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b818160010160008282540192505081905550610b9434826000015461213790919063ffffffff16565b8160000181905550600e60019054906101000a900460ff166002811115610bb757fe5b60016002811115610bc457fe5b1415610bfa57610bdf3460065461213790919063ffffffff16565b60068190555081600860008282540192505081905550610c26565b610c0f3460055461213790919063ffffffff16565b600581905550816007600082825401925050819055505b81600960008282540192505081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610caf57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d7357600080fd5b5af11515610d8057600080fd5b505050604051805190501515610d9557600080fd5b8373ffffffffffffffffffffffffffffffffffffffff167f81e2ef3ab008d32268f605e85c227e20ef36880e0c4367d2d68966822cd92c6e3484604051808381526020018281526020019250505060405180910390a2600192505050919050565b60135481565b600b5481565b600f5481565b6000601580549050905090565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e7857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fa657600080fd5b600e60019054906101000a900460ff166002811115610fc157fe5b60006002811115610fce57fe5b141515610fda57600080fd5b6001600e60016101000a81548160ff02191690836002811115610ff957fe5b02179055506703782dace9d90000600d81905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106a57600080fd5b600160149054906101000a900460ff16151561108557600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115557600080fd5b600e60009054906101000a900460ff1615151561117157600080fd5b600b544310158061118e57506103e8600c54036016546009540110155b151561119957600080fd5b6001600e60006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156112d157600080fd5b5af115156112de57600080fd5b505050604051805190506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561136c57600080fd5b5af1151561137957600080fd5b50505060405180519050151561138e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151561141357600080fd5b5af1151561142057600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148057600080fd5b600e60009054906101000a900460ff16151561149b57600080fd5b6114b260065460055461213790919063ffffffff16565b341415156114bf57600080fd5b6002600e60016101000a81548160ff021916908360028111156114de57fe5b0217905550565b600080600160149054906101000a900460ff1615151561150457600080fd5b60028081111561151057fe5b600e60019054906101000a900460ff16600281111561152b57fe5b14151561153757600080fd5b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411151561158b57600080fd5b8060020160009054906101000a900460ff161515156115a957600080fd5b60018160020160006101000a81548160ff021916908315150217905550600f60008154809291906001019190505550806000015460105401601081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156116af57600080fd5b5af115156116bc57600080fd5b5050506040518051905015156116d157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc82600001549081150290604051600060405180830381858888f19350505050151561171557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e782600001546040518082815260200191505060405180910390a2600191505090565b600e60019054906101000a900460ff1681565b60165481565b600160149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f657600080fd5b600b544311156119db57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561191d57600080fd5b5af1151561192a57600080fd5b505050604051805190506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119b857600080fd5b5af115156119c557600080fd5b5050506040518051905015156119da57600080fd5b5b565b60175481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b9957600080fd5b600160149054906101000a900460ff16151515611bb557600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ca957600080fd5b6000600a54111515611cba57600080fd5b6064603c6018603c601154020202811515611cd157fe5b0481101515611cdf57600080fd5b611cf4600a544361216190919063ffffffff16565b81111515611d0157600080fd5b611d1681600a5461213790919063ffffffff16565b600b8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d7a57600080fd5b6000600a54141515611d8b57600080fd5b606460366018603c601154020202811515611da257fe5b048111151515611db157600080fd5b43600a81905550611dcd81600a5461213790919063ffffffff16565b600b8190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611eaa57600080fd5b565b60055481565b60115481565b60095481565b60075481565b60146020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600e60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1614151515611fd757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60158181548110151561205057fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600d54341015151561209457600080fd5b6013546120ae6305f5e1003461217a90919063ffffffff16565b8115156120b757fe5b049050600e60019054906101000a900460ff1660028111156120d557fe5b600160028111156120e257fe5b141561210657600c546016548260095401011115151561210157600080fd5b612130565b60646032820281151561211557fe5b048101905060175481600954011115151561212f57600080fd5b5b8091505090565b600080828401905083811015801561214f5750828110155b151561215757fe5b8091505092915050565b600082821115151561216f57fe5b818303905092915050565b6000808284029050600084148061219b575082848281151561219857fe5b04145b15156121a357fe5b8091505092915050565b8154818355818115116121d4578183600052602060002091820191016121d391906121d9565b5b505050565b6121fb91905b808211156121f75760008160009055506001016121df565b5090565b905600a165627a7a72305820dcd77f946318d59971d3811a3cdebd9a6e5c19f2e529062fa8e091a14857ce2a0029

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

000000000000000000000000ced4eb91efe1b708782afd33aa529a6a9ace6671

-----Decoded View---------------
Arg [0] : _whiteList (address): 0xcEd4eB91Efe1B708782AfD33AA529a6A9ACe6671

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


Swarm Source

bzzr://dcd77f946318d59971d3811a3cdebd9a6e5c19f2e529062fa8e091a14857ce2a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.