ETH Price: $2,163.90 (+4.00%)

Token

Zeus Token (ZST)
 

Overview

Max Total Supply

268,607,682.28817646 ZST

Holders

59 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A hybrid trading platform fit for the financial industry of tomorrow.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ZeusToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-09-14
*/

pragma solidity ^ 0.4.13;

contract MigrationAgent {
    function migrateFrom(address _from, uint256 _value);
}

contract PreZeusToken {
    function balanceOf(address _owner) constant returns(uint256 balance);
}

contract Owned {

    address public owner;
    address public newOwner;
    address public oracle;
    address public btcOracle;

    function Owned() payable {
        owner = msg.sender;
    }

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

    modifier onlyOwnerOrOracle {
        require(owner == msg.sender || oracle == msg.sender);
        _;
    }

    modifier onlyOwnerOrBtcOracle {
        require(owner == msg.sender || btcOracle == msg.sender);
        _;
    }

    function changeOwner(address _owner) onlyOwner external {
        require(_owner != 0);
        newOwner = _owner;
    }

    function confirmOwner() external {
        require(newOwner == msg.sender);
        owner = newOwner;
        delete newOwner;
    }

    function changeOracle(address _oracle) onlyOwner external {
        require(_oracle != 0);
        oracle = _oracle;
    }

    function changeBtcOracle(address _btcOracle) onlyOwner external {
        require(_btcOracle != 0);
        btcOracle = _btcOracle;
    }
}

contract KnownContract {
    function transfered(address _sender, uint256 _value, bytes32[] _data) external;
}

contract ERC20 {
    uint public totalSupply;

    function balanceOf(address who) constant returns(uint);

    function transfer(address to, uint value);

    function allowance(address owner, address spender) constant returns(uint);

    function transferFrom(address from, address to, uint value);

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

contract Stateful {
    enum State {
        Initial,
        PrivateSale,
        PreSale,
        WaitingForSale,
        Sale,
        CrowdsaleCompleted,
        SaleFailed
    }
    State public state = State.Initial;

    event StateChanged(State oldState, State newState);

    function setState(State newState) internal {
        State oldState = state;
        state = newState;
        StateChanged(oldState, newState);
    }
}

contract Crowdsale is Owned, Stateful {

    uint public etherPriceUSDWEI;
    address public beneficiary;
    uint public totalLimitUSDWEI;
    uint public minimalSuccessUSDWEI;
    uint public collectedUSDWEI;

    uint public crowdsaleStartTime;
    uint public crowdsaleFinishTime;

    struct Investor {
        uint amountTokens;
        uint amountWei;
    }

    struct BtcDeposit {
        uint amountBTCWEI;
        uint btcPriceUSDWEI;
        address investor;
    }

    mapping(bytes32 => BtcDeposit) public btcDeposits;

    mapping(address => Investor) public investors;
    mapping(uint => address) public investorsIter;
    uint public numberOfInvestors;

    mapping(uint => address) public investorsToWithdrawIter;
    uint public numberOfInvestorsToWithdraw;

    function Crowdsale() payable Owned() {}

    //abstract methods
    function emitTokens(address _investor, uint _tokenPriceUSDWEI, uint _usdwei) internal returns(uint tokensToEmit);

    function emitAdditionalTokens() internal;

    function burnTokens(address _address, uint _amount) internal;

    function() payable crowdsaleState limitNotExceeded {
        uint valueWEI = msg.value;
        uint valueUSDWEI = valueWEI * etherPriceUSDWEI / 1 ether;
        uint tokenPriceUSDWEI = getTokenPriceUSDWEI(valueUSDWEI);

        if (collectedUSDWEI + valueUSDWEI > totalLimitUSDWEI) { // don't need so much ether
            valueUSDWEI = totalLimitUSDWEI - collectedUSDWEI;
            valueWEI = valueUSDWEI * 1 ether / etherPriceUSDWEI;
            uint weiToReturn = msg.value - valueWEI;
            bool isSent = msg.sender.call.gas(3000000).value(weiToReturn)();
            require(isSent);
            collectedUSDWEI = totalLimitUSDWEI; // to be sure!                                                   
        } else {
            collectedUSDWEI += valueUSDWEI;
        }
        emitTokensFor(msg.sender, tokenPriceUSDWEI, valueUSDWEI, valueWEI);

    }

    function depositUSD(address _to, uint _amountUSDWEI) external onlyOwner crowdsaleState limitNotExceeded {
        uint tokenPriceUSDWEI = getTokenPriceUSDWEI(_amountUSDWEI);
        collectedUSDWEI += _amountUSDWEI;
        emitTokensFor(_to, tokenPriceUSDWEI, _amountUSDWEI, 0);
    }

    function depositBTC(address _to, uint _amountBTCWEI, uint _btcPriceUSDWEI, bytes32 _btcTxId) external onlyOwnerOrBtcOracle crowdsaleState limitNotExceeded {
        uint valueUSDWEI = _amountBTCWEI * _btcPriceUSDWEI / 1 ether;
        uint tokenPriceUSDWEI = getTokenPriceUSDWEI(valueUSDWEI);
        BtcDeposit storage btcDep = btcDeposits[_btcTxId];
        require(btcDep.amountBTCWEI == 0);
        btcDep.amountBTCWEI = _amountBTCWEI;
        btcDep.btcPriceUSDWEI = _btcPriceUSDWEI;
        btcDep.investor = _to;
        collectedUSDWEI += valueUSDWEI;
        emitTokensFor(_to, tokenPriceUSDWEI, valueUSDWEI, 0);
    }

    function emitTokensFor(address _investor, uint _tokenPriceUSDWEI, uint _valueUSDWEI, uint _valueWEI) internal {
        var emittedTokens = emitTokens(_investor, _tokenPriceUSDWEI, _valueUSDWEI);
        Investor storage inv = investors[_investor];
        if (inv.amountTokens == 0) { // new investor
            investorsIter[numberOfInvestors++] = _investor;
        }
        inv.amountTokens += emittedTokens;
        if (state == State.Sale) {
            inv.amountWei += _valueWEI;
        }
    }

    function getTokenPriceUSDWEI(uint _valueUSDWEI) internal returns(uint tokenPriceUSDWEI) {
        tokenPriceUSDWEI = 0;
        if (state == State.PrivateSale) {
            tokenPriceUSDWEI = 6000000000000000;
        }
        if (state == State.PreSale) {
            require(now < crowdsaleFinishTime);
            tokenPriceUSDWEI = 7000000000000000;
        }
        if (state == State.Sale) {
            require(now < crowdsaleFinishTime);
            if (now < crowdsaleStartTime + 1 days) {
                if (_valueUSDWEI > 30000 * 1 ether) {
                    tokenPriceUSDWEI = 7500000000000000;
                } else {
                    tokenPriceUSDWEI = 8500000000000000;
                }
            } else if (now < crowdsaleStartTime + 1 weeks) {
                tokenPriceUSDWEI = 9000000000000000;
            } else if (now < crowdsaleStartTime + 2 weeks) {
                tokenPriceUSDWEI = 9500000000000000;
            } else {
                tokenPriceUSDWEI = 10000000000000000;
            }
        }
    }

    function startPrivateSale(address _beneficiary, uint _etherPriceUSDWEI, uint _totalLimitUSDWEI) external onlyOwner {
        require(state == State.Initial);
        beneficiary = _beneficiary;
        etherPriceUSDWEI = _etherPriceUSDWEI;
        totalLimitUSDWEI = _totalLimitUSDWEI;
        crowdsaleStartTime = now;
        setState(State.PrivateSale);
    }

    function finishPrivateSaleAndStartPreSale(
        address _beneficiary,
        uint _etherPriceUSDWEI,
        uint _totalLimitUSDWEI,
        uint _crowdsaleDurationDays) public onlyOwner {
        require(state == State.PrivateSale);

        bool isSent = beneficiary.call.gas(3000000).value(this.balance)();
        require(isSent);

        crowdsaleStartTime = now;
        beneficiary = _beneficiary;
        etherPriceUSDWEI = _etherPriceUSDWEI;
        totalLimitUSDWEI = _totalLimitUSDWEI;
        crowdsaleFinishTime = now + _crowdsaleDurationDays * 1 days;
        collectedUSDWEI = 0;
        setState(State.PreSale);
    }


    function finishPreSale() public onlyOwner {
        require(state == State.PreSale);
        bool isSent = beneficiary.call.gas(3000000).value(this.balance)();
        require(isSent);
        setState(State.WaitingForSale);
    }

    function startSale(
        address _beneficiary,
        uint _etherPriceUSDWEI,
        uint _totalLimitUSDWEI,
        uint _crowdsaleDurationDays,
        uint _minimalSuccessUSDWEI) external onlyOwner {

        require(state == State.WaitingForSale);
        crowdsaleStartTime = now;
        beneficiary = _beneficiary;
        etherPriceUSDWEI = _etherPriceUSDWEI;
        totalLimitUSDWEI = _totalLimitUSDWEI;
        crowdsaleFinishTime = now + _crowdsaleDurationDays * 1 days;
        minimalSuccessUSDWEI = _minimalSuccessUSDWEI;
        collectedUSDWEI = 0;
        setState(State.Sale);
    }

    function failSale(uint _investorsToProcess) public {
        require(state == State.Sale);
        require(now >= crowdsaleFinishTime && collectedUSDWEI < minimalSuccessUSDWEI);
        while (_investorsToProcess > 0 && numberOfInvestors > 0) {
            address addr = investorsIter[--numberOfInvestors];
            Investor memory inv = investors[addr];
            burnTokens(addr, inv.amountTokens);
            --_investorsToProcess;
            delete investorsIter[numberOfInvestors];

            investorsToWithdrawIter[numberOfInvestorsToWithdraw] = addr;
            numberOfInvestorsToWithdraw++;
        }
        if (numberOfInvestors > 0) {
            return;
        }
        setState(State.SaleFailed);
    }

    function completeSale(uint _investorsToProcess) public onlyOwner {
        require(state == State.Sale);
        require(collectedUSDWEI >= minimalSuccessUSDWEI);

        while (_investorsToProcess > 0 && numberOfInvestors > 0) {
            --numberOfInvestors;
            --_investorsToProcess;
            delete investors[investorsIter[numberOfInvestors]];
            delete investorsIter[numberOfInvestors];
        }

        if (numberOfInvestors > 0) {
            return;
        }

        emitAdditionalTokens();

        bool isSent = beneficiary.call.gas(3000000).value(this.balance)();
        require(isSent);
        setState(State.CrowdsaleCompleted);
    }


    function setEtherPriceUSDWEI(uint _etherPriceUSDWEI) external onlyOwnerOrOracle {
        etherPriceUSDWEI = _etherPriceUSDWEI;
    }

    function setBeneficiary(address _beneficiary) external onlyOwner {
        require(_beneficiary != 0);
        beneficiary = _beneficiary;
    }

    // This function must be called by token holder in case of crowdsale failed
    function withdrawBack() external saleFailedState {
        returnInvestmentsToInternal(msg.sender);
    }

    function returnInvestments(uint _investorsToProcess) public saleFailedState {
        while (_investorsToProcess > 0 && numberOfInvestorsToWithdraw > 0) {
            address addr = investorsToWithdrawIter[--numberOfInvestorsToWithdraw];
            delete investorsToWithdrawIter[numberOfInvestorsToWithdraw];
            --_investorsToProcess;
            returnInvestmentsToInternal(addr);
        }
    }

    function returnInvestmentsTo(address _to) public saleFailedState {
        returnInvestmentsToInternal(_to);
    }

    function returnInvestmentsToInternal(address _to) internal {
        Investor memory inv = investors[_to];
        uint value = inv.amountWei;
        if (value > 0) {
            delete investors[_to];
            require(_to.call.gas(3000000).value(value)());
        }
    }

    function withdrawFunds(uint _value) public onlyOwner {
        require(state == State.PrivateSale || state == State.PreSale || (state == State.Sale && collectedUSDWEI > minimalSuccessUSDWEI));
        if (_value == 0) {
            _value = this.balance;
        }
        bool isSent = beneficiary.call.gas(3000000).value(_value)();
        require(isSent);
    }

    modifier limitNotExceeded {
        require(collectedUSDWEI < totalLimitUSDWEI);
        _;
    }

    modifier crowdsaleState {
        require(state == State.PrivateSale || state == State.PreSale || state == State.Sale);
        _;
    }

    modifier saleFailedState {
        require(state == State.SaleFailed);
        _;
    }

    modifier completedSaleState {
        require(state == State.CrowdsaleCompleted);
        _;
    }
}

contract Token is Crowdsale, ERC20 {

    mapping(address => uint) internal balances;
    mapping(address => mapping(address => uint)) public allowed;
    uint8 public constant decimals = 8;

    function Token() payable Crowdsale() {}

    function balanceOf(address who) constant returns(uint) {
        return balances[who];
    }

    function transfer(address _to, uint _value) public completedSaleState onlyPayloadSize(2 * 32) {
        require(balances[msg.sender] >= _value);
        require(balances[_to] + _value >= balances[_to]); // overflow
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
    }

    function transferFrom(address _from, address _to, uint _value) public completedSaleState onlyPayloadSize(3 * 32) {
        require(balances[_from] >= _value);
        require(balances[_to] + _value >= balances[_to]); // overflow
        require(allowed[_from][msg.sender] >= _value);
        balances[_from] -= _value;
        balances[_to] += _value;
        allowed[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
    }

    function approve(address _spender, uint _value) public completedSaleState {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
    }

    function allowance(address _owner, address _spender) public constant completedSaleState returns(uint remaining) {
        return allowed[_owner][_spender];
    }

    modifier onlyPayloadSize(uint size) {
        require(msg.data.length >= size + 4);
        _;
    }
}

contract MigratableToken is Token {

    function MigratableToken() payable Token() {}

    address public migrationAgent;
    uint public totalMigrated;
    address public migrationHost;
    mapping(address => bool) migratedInvestors;

    event Migrated(address indexed from, address indexed to, uint value);

    function setMigrationHost(address _address) external onlyOwner {
        require(_address != 0);
        migrationHost = _address;
    }

    //manual migration by owner
    function migrateInvestorFromHost(address _address) external onlyOwner {
        require(migrationHost != 0 && state != State.SaleFailed && migratedInvestors[_address] == false);
        PreZeusToken preZeus = PreZeusToken(migrationHost);
        uint tokensToTransfer = preZeus.balanceOf(_address);
        require(tokensToTransfer > 0);

        balances[_address] = tokensToTransfer;
        totalSupply += tokensToTransfer;
        migratedInvestors[_address] = true;

        if (state != State.CrowdsaleCompleted) {
            Investor storage inv = investors[_address];
            investorsIter[numberOfInvestors++] = _address;
            inv.amountTokens += tokensToTransfer;
        }

        Transfer(this, _address, tokensToTransfer);
    }

    //migration by investor
    function migrate() external {
        require(migrationAgent != 0);
        uint value = balances[msg.sender];
        balances[msg.sender] -= value;
        Transfer(msg.sender, this, value);
        totalSupply -= value;
        totalMigrated += value;
        MigrationAgent(migrationAgent).migrateFrom(msg.sender, value);
        Migrated(msg.sender, migrationAgent, value);
    }

    function setMigrationAgent(address _agent) external onlyOwner {
        require(migrationAgent == 0);
        migrationAgent = _agent;
    }
}

contract ZeusToken is MigratableToken {

    string public constant symbol = "ZST";

    string public constant name = "Zeus Token";

    mapping(address => bool) public allowedContracts;

    function ZeusToken() payable MigratableToken() {}

    function emitTokens(address _investor, uint _tokenPriceUSDWEI, uint _valueUSDWEI) internal returns(uint tokensToEmit) {
        tokensToEmit = (_valueUSDWEI * (10 ** uint(decimals))) / _tokenPriceUSDWEI;
        require(balances[_investor] + tokensToEmit > balances[_investor]); // overflow
        require(tokensToEmit > 0);
        balances[_investor] += tokensToEmit;
        totalSupply += tokensToEmit;
        Transfer(this, _investor, tokensToEmit);
    }

    function emitAdditionalTokens() internal {
        uint tokensToEmit = totalSupply * 1000 / 705 - totalSupply;
        require(balances[beneficiary] + tokensToEmit > balances[beneficiary]); // overflow
        require(tokensToEmit > 0);
        balances[beneficiary] += tokensToEmit;
        totalSupply += tokensToEmit;
        Transfer(this, beneficiary, tokensToEmit);
    }

    function burnTokens(address _address, uint _amount) internal {
        balances[_address] -= _amount;
        totalSupply -= _amount;
        Transfer(_address, this, _amount);
    }

    function addAllowedContract(address _address) external onlyOwner {
        require(_address != 0);
        allowedContracts[_address] = true;
    }

    function removeAllowedContract(address _address) external onlyOwner {
        require(_address != 0);
        delete allowedContracts[_address];
    }

    function transferToKnownContract(address _to, uint256 _value, bytes32[] _data) external onlyAllowedContracts(_to) {
        var knownContract = KnownContract(_to);
        transfer(_to, _value);
        knownContract.transfered(msg.sender, _value, _data);
    }

    modifier onlyAllowedContracts(address _address) {
        require(allowedContracts[_address] == true);
        _;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_etherPriceUSDWEI","type":"uint256"},{"name":"_totalLimitUSDWEI","type":"uint256"},{"name":"_crowdsaleDurationDays","type":"uint256"},{"name":"_minimalSuccessUSDWEI","type":"uint256"}],"name":"startSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"investorsIter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investorsToProcess","type":"uint256"}],"name":"failSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_etherPriceUSDWEI","type":"uint256"}],"name":"setEtherPriceUSDWEI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minimalSuccessUSDWEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdrawFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_btcOracle","type":"address"}],"name":"changeBtcOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfInvestors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"btcOracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_etherPriceUSDWEI","type":"uint256"},{"name":"_totalLimitUSDWEI","type":"uint256"}],"name":"startPrivateSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addAllowedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"returnInvestmentsTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collectedUSDWEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishPreSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountBTCWEI","type":"uint256"},{"name":"_btcPriceUSDWEI","type":"uint256"},{"name":"_btcTxId","type":"bytes32"}],"name":"depositBTC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oracle","type":"address"}],"name":"changeOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allowedContracts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"investors","outputs":[{"name":"amountTokens","type":"uint256"},{"name":"amountWei","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investorsToProcess","type":"uint256"}],"name":"completeSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setMigrationHost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investorsToProcess","type":"uint256"}],"name":"returnInvestments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","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":false,"inputs":[],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalMigrated","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleFinishTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeAllowedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfInvestorsToWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"btcDeposits","outputs":[{"name":"amountBTCWEI","type":"uint256"},{"name":"btcPriceUSDWEI","type":"uint256"},{"name":"investor","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"migrateInvestorFromHost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"etherPriceUSDWEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationHost","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"investorsToWithdrawIter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"confirmOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amountUSDWEI","type":"uint256"}],"name":"depositUSD","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes32[]"}],"name":"transferToKnownContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalLimitUSDWEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_etherPriceUSDWEI","type":"uint256"},{"name":"_totalLimitUSDWEI","type":"uint256"},{"name":"_crowdsaleDurationDays","type":"uint256"}],"name":"finishPrivateSaleAndStartPreSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Migrated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldState","type":"uint8"},{"indexed":false,"name":"newState","type":"uint8"}],"name":"StateChanged","type":"event"}]

6060604052600380546000919060a060020a60ff02191674010000000000000000000000000000000000000000835b02179055505b5b5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b5b5b5b5b612691806100686000396000f3006060604052361561028d5763ffffffff60e060020a60003504166304d6db0581146103c4578063052deec5146103f157806306fdde0314610423578063095ea7b3146104ae5780630a692347146104d25780630afd21d2146104e75780630ee21ddc146104ff57806313de214e14610517578063155dd5ee1461053c578063173ea2381461055457806318160ddd146105755780631af2c9fd1461059a5780631c31f710146105bf57806322a15848146105e057806323b872dd1461060f5780632c29eedd146106395780632c56462f146106605780632d7b8c9814610681578063313ce567146106a2578063366bc401146106cb57806338af3eed146106f057806339885b231461071f57806347b4e2721461073457806347c421b51461075e57806351e0e26b1461077f5780635c658165146107b25780636f7bc9be146107e957806370a0823114610820578063750225d01461085157806375e2ff65146108695780637bd6c0e41461088a5780637dc0d1d0146108ab5780638032751b146108da5780638328dbcd146108f25780638da5cb5b146109215780638fd3ab801461095057806395a0f5eb1461096557806395d89b411461098a5780639789f9da14610a155780639800fc1614610a3a57806399d6708414610a5b5780639aa0a50e14610a805780639e8af7e914610ac3578063a387588314610ae4578063a4a8f8ea14610b09578063a6f9dae114610b38578063a9059cbb14610b59578063acc3c02014610b7d578063bd9b6d8614610baf578063c19d93fb14610bc4578063d4ee1d9014610bfb578063dd15f99314610c2a578063dd62ed3e14610c4e578063e1bf34e914610c85578063e2fc421d14610cb6578063e63d495714610cdb578063f575c81014610d00575b5b60008080808060015b60035460a060020a900460ff1660068111156102af57fe5b14806102d3575060025b60035460a060020a900460ff1660068111156102d157fe5b145b806102f6575060045b60035460a060020a900460ff1660068111156102f457fe5b145b151561030157600080fd5b6006546008541061031157600080fd5b600454349550670de0b6b3a76400009086025b04935061033084610d2a565b9250600654846008540111156103a55760085460065403935060045484670de0b6b3a76400000281151561036057fe5b049450843403915033600160a060020a0316622dc6c083604051600060405180830381858888f19350505050905080151561039a57600080fd5b6006546008556103ae565b60088054850190555b6103ba33848688610e4a565b5b5b5b5050505050005b34156103cf57600080fd5b6103ef600160a060020a0360043516602435604435606435608435610eeb565b005b34156103fc57600080fd5b610407600435610f7e565b604051600160a060020a03909116815260200160405180910390f35b341561042e57600080fd5b610436610f99565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104735780820151818401525b60200161045a565b50505050905090810190601f1680156104a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b957600080fd5b6103ef600160a060020a0360043516602435610fd0565b005b34156104dd57600080fd5b6103ef61105b565b005b34156104f257600080fd5b6103ef60043561108d565b005b341561050a57600080fd5b6103ef6004356111c8565b005b341561052257600080fd5b61052a611208565b60405190815260200160405180910390f35b341561054757600080fd5b6103ef60043561120e565b005b341561055f57600080fd5b6103ef600160a060020a03600435166112f5565b005b341561058057600080fd5b61052a611345565b60405190815260200160405180910390f35b34156105a557600080fd5b61052a61134b565b60405190815260200160405180910390f35b34156105ca57600080fd5b6103ef600160a060020a0360043516611351565b005b34156105eb57600080fd5b6104076113a1565b604051600160a060020a03909116815260200160405180910390f35b341561061a57600080fd5b6103ef600160a060020a03600435811690602435166044356113b0565b005b341561064457600080fd5b6103ef600160a060020a03600435166024356044356114e1565b005b341561066b57600080fd5b6103ef600160a060020a036004351661155b565b005b341561068c57600080fd5b6103ef600160a060020a03600435166115b3565b005b34156106ad57600080fd5b6106b56115e6565b60405160ff909116815260200160405180910390f35b34156106d657600080fd5b61052a6115eb565b60405190815260200160405180910390f35b34156106fb57600080fd5b6104076115f1565b604051600160a060020a03909116815260200160405180910390f35b341561072a57600080fd5b6103ef611600565b005b341561073f57600080fd5b6103ef600160a060020a036004351660243560443560643561168a565b005b341561076957600080fd5b6103ef600160a060020a03600435166117c3565b005b341561078a57600080fd5b61079e600160a060020a0360043516611813565b604051901515815260200160405180910390f35b34156107bd57600080fd5b61052a600160a060020a0360043581169060243516611828565b60405190815260200160405180910390f35b34156107f457600080fd5b610808600160a060020a0360043516611845565b60405191825260208201526040908101905180910390f35b341561082b57600080fd5b61052a600160a060020a036004351661185e565b60405190815260200160405180910390f35b341561085c57600080fd5b6103ef60043561187d565b005b341561087457600080fd5b6103ef600160a060020a03600435166119a4565b005b341561089557600080fd5b6103ef600160a060020a03600435166119f5565b005b34156108b657600080fd5b610407611a45565b604051600160a060020a03909116815260200160405180910390f35b34156108e557600080fd5b6103ef600435611a54565b005b34156108fd57600080fd5b610407611ae1565b604051600160a060020a03909116815260200160405180910390f35b341561092c57600080fd5b610407611af0565b604051600160a060020a03909116815260200160405180910390f35b341561095b57600080fd5b6103ef611aff565b005b341561097057600080fd5b61052a611c23565b60405190815260200160405180910390f35b341561099557600080fd5b610436611c29565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104735780820151818401525b60200161045a565b50505050905090810190601f1680156104a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a2057600080fd5b61052a611c60565b60405190815260200160405180910390f35b3415610a4557600080fd5b6103ef600160a060020a0360043516611c66565b005b3415610a6657600080fd5b61052a611cbb565b60405190815260200160405180910390f35b3415610a8b57600080fd5b610a96600435611cc1565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b3415610ace57600080fd5b6103ef600160a060020a0360043516611ceb565b005b3415610aef57600080fd5b61052a611ed2565b60405190815260200160405180910390f35b3415610b1457600080fd5b610407611ed8565b604051600160a060020a03909116815260200160405180910390f35b3415610b4357600080fd5b6103ef600160a060020a0360043516611ee7565b005b3415610b6457600080fd5b6103ef600160a060020a0360043516602435611f37565b005b3415610b8857600080fd5b610407600435612014565b604051600160a060020a03909116815260200160405180910390f35b3415610bba57600080fd5b6103ef61202f565b005b3415610bcf57600080fd5b610bd7612072565b60405180826006811115610be757fe5b60ff16815260200191505060405180910390f35b3415610c0657600080fd5b610407612082565b604051600160a060020a03909116815260200160405180910390f35b3415610c3557600080fd5b6103ef600160a060020a0360043516602435612091565b005b3415610c5957600080fd5b61052a600160a060020a0360043581169060243516612153565b60405190815260200160405180910390f35b3415610c9057600080fd5b6103ef60048035600160a060020a03169060248035916044359182019101356121a9565b005b3415610cc157600080fd5b61052a612280565b60405190815260200160405180910390f35b3415610ce657600080fd5b61052a612286565b60405190815260200160405180910390f35b3415610d0b57600080fd5b6103ef600160a060020a036004351660243560443560643561228c565b005b600060015b60035460a060020a900460ff166006811115610d4757fe5b1415610d575750661550f7dca700005b60025b60035460a060020a900460ff166006811115610d7257fe5b1415610d9057600a544210610d8657600080fd5b506618de76816d80005b60045b60035460a060020a900460ff166006811115610dab57fe5b1415610e4157600a544210610dbf57600080fd5b6009546201518001421015610dfd5769065a4da25d3016c00000821115610dee5750661aa535d3d0c000610df8565b50661e32b4789740005b610e41565b60095462093a8001421015610e1a5750661ff973cafa8000610e41565b6009546212750001421015610e3757506621c0331d5dc000610e41565b50662386f26fc100005b5b5b5b5b919050565b600080610e58868686612354565b600160a060020a0387166000908152600c60205260409020805491935091501515610eb057600e8054600181019091556000908152600d602052604090208054600160a060020a031916600160a060020a0388161790555b80548201815560045b60035460a060020a900460ff166006811115610ed157fe5b1415610ee257600181018054840190555b5b505050505050565b60005433600160a060020a03908116911614610f0657600080fd5b60035b60035460a060020a900460ff166006811115610f2157fe5b14610f2b57600080fd5b42600981905560058054600160a060020a031916600160a060020a03881617905560048581556006859055620151808402909101600a5560078290556000600855610f75906123f6565b5b5b5050505050565b600d60205260009081526040902054600160a060020a031681565b60408051908101604052600a81527f5a65757320546f6b656e00000000000000000000000000000000000000000000602082015281565b60055b60035460a060020a900460ff166006811115610feb57fe5b14610ff557600080fd5b600160a060020a03338116600081815260136020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35b5b5050565b60065b60035460a060020a900460ff16600681111561107657fe5b1461108057600080fd5b61108933612496565b5b5b565b600061109761262e565b60045b60035460a060020a900460ff1660068111156110b257fe5b146110bc57600080fd5b600a5442101580156110d15750600754600854105b15156110dc57600080fd5b5b6000831180156110ef57506000600e54115b156111a857600e805460001901908190556000908152600d6020908152604080832054600160a060020a0316808452600c90925291829020909350908051908101604052815481526001909101546020820152905061114f82825161252f565b600e546000908152600d602090815260408083208054600160a060020a0319908116909155601080548552600f90935292208054909216600160a060020a038516179091558054600101905560001992909201916110dc565b6000600e5411156111b8576111c2565b6111c260066123f6565b5b505050565b60005433600160a060020a03908116911614806111f3575060025433600160a060020a039081169116145b15156111fe57600080fd5b60048190555b5b50565b60075481565b6000805433600160a060020a0390811691161461122a57600080fd5b60015b60035460a060020a900460ff16600681111561124557fe5b1480611269575060025b60035460a060020a900460ff16600681111561126757fe5b145b8061129a575060045b60035460a060020a900460ff16600681111561128a57fe5b14801561129a5750600754600854115b5b15156112a657600080fd5b8115156112bb5730600160a060020a03163191505b600554600160a060020a0316622dc6c083604051600060405180830381858888f19350505050905080151561105657600080fd5b5b5b5050565b60005433600160a060020a0390811691161461131057600080fd5b600160a060020a038116151561132557600080fd5b60038054600160a060020a031916600160a060020a0383161790555b5b50565b60115481565b600e5481565b60005433600160a060020a0390811691161461136c57600080fd5b600160a060020a038116151561138157600080fd5b60058054600160a060020a031916600160a060020a0383161790555b5b50565b600354600160a060020a031681565b60055b60035460a060020a900460ff1660068111156113cb57fe5b146113d557600080fd5b606060643610156113e557600080fd5b600160a060020a0384166000908152601260205260409020548290101561140b57600080fd5b600160a060020a038316600090815260126020526040902054828101101561143257600080fd5b600160a060020a03808516600090815260136020908152604080832033909416835292905220548290101561146657600080fd5b600160a060020a03808516600081815260126020908152604080832080548890039055878516808452818420805489019055848452601383528184203390961684529490915290819020805486900390556000805160206126468339815191529085905190815260200160405180910390a35b5b505b505050565b60005433600160a060020a039081169116146114fc57600080fd5b60005b60035460a060020a900460ff16600681111561151757fe5b1461152157600080fd5b60058054600160a060020a031916600160a060020a03851617905560048290556006819055426009556111c260016123f6565b5b5b505050565b60005433600160a060020a0390811691161461157657600080fd5b600160a060020a038116151561158b57600080fd5b600160a060020a0381166000908152601860205260409020805460ff191660011790555b5b50565b60065b60035460a060020a900460ff1660068111156115ce57fe5b146115d857600080fd5b61120481612496565b5b5b50565b600881565b60085481565b600554600160a060020a031681565b6000805433600160a060020a0390811691161461161c57600080fd5b60025b60035460a060020a900460ff16600681111561163757fe5b1461164157600080fd5b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561167b57600080fd5b61120460036123f6565b5b5b50565b600080548190819033600160a060020a03908116911614806116ba575060035433600160a060020a039081169116145b15156116c557600080fd5b60015b60035460a060020a900460ff1660068111156116e057fe5b1480611704575060025b60035460a060020a900460ff16600681111561170257fe5b145b80611727575060045b60035460a060020a900460ff16600681111561172557fe5b145b151561173257600080fd5b6006546008541061174257600080fd5b670de0b6b3a76400008686025b04925061175b83610d2a565b6000858152600b60205260409020805491935091501561177a57600080fd5b85815560018101859055600281018054600160a060020a031916600160a060020a03891617905560088054840190556117b68783856000610e4a565b5b5b5b5b50505050505050565b60005433600160a060020a039081169116146117de57600080fd5b600160a060020a03811615156117f357600080fd5b60028054600160a060020a031916600160a060020a0383161790555b5b50565b60186020526000908152604090205460ff1681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460019091015482565b600160a060020a0381166000908152601260205260409020545b919050565b6000805433600160a060020a0390811691161461189957600080fd5b60045b60035460a060020a900460ff1660068111156118b457fe5b146118be57600080fd5b60075460085410156118cf57600080fd5b5b6000821180156118e257506000600e54115b1561194257600e80546000199081018083556000908152600d6020818152604080842054600160a060020a03168452600c82528084208481556001018490559454835252919091208054600160a060020a031916905591909101906118d0565b6000600e54111561195257611056565b61195a612585565b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561199457600080fd5b61105660056123f6565b5b5b5050565b60005433600160a060020a039081169116146119bf57600080fd5b601454600160a060020a0316156119d557600080fd5b60148054600160a060020a031916600160a060020a0383161790555b5b50565b60005433600160a060020a03908116911614611a1057600080fd5b600160a060020a0381161515611a2557600080fd5b60168054600160a060020a031916600160a060020a0383161790555b5b50565b600254600160a060020a031681565b600060065b60035460a060020a900460ff166006811115611a7157fe5b14611a7b57600080fd5b5b600082118015611a8e57506000601054115b15611056575060108054600019908101918290556000918252600f60205260409091208054600160a060020a03198116909155910190600160a060020a0316611ad681612496565b611a7b565b5b5b5050565b601454600160a060020a031681565b600054600160a060020a031681565b601454600090600160a060020a03161515611b1957600080fd5b50600160a060020a0333811660008181526012602052604080822080549290559092301691906000805160206126468339815191529084905190815260200160405180910390a36011805482900390556015805482019055601454600160a060020a0316637a3130e3338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bc757600080fd5b6102c65a03f11515611bd857600080fd5b5050601454600160a060020a03908116915033167f928fd5531324ee87d76cc5307dc37580174da76b85cd546da631b2670bc266b58360405190815260200160405180910390a35b50565b60155481565b60408051908101604052600381527f5a53540000000000000000000000000000000000000000000000000000000000602082015281565b600a5481565b60005433600160a060020a03908116911614611c8157600080fd5b600160a060020a0381161515611c9657600080fd5b600160a060020a0381166000908152601860205260409020805460ff191690555b5b50565b60105481565b600b60205260009081526040902080546001820154600290920154909190600160a060020a031683565b600080548190819033600160a060020a03908116911614611d0b57600080fd5b601654600160a060020a031615801590611d3e575060065b60035460a060020a900460ff166006811115611d3b57fe5b14155b8015611d635750600160a060020a03841660009081526017602052604090205460ff16155b1515611d6e57600080fd5b601654600160a060020a03169250826370a082318560006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611dca57600080fd5b6102c65a03f11515611ddb57600080fd5b505050604051805192505060008211611df357600080fd5b600160a060020a0384166000908152601260209081526040808320859055601180548601905560179091529020805460ff1916600117905560055b60035460a060020a900460ff166006811115611e4657fe5b14611e955750600160a060020a0383166000818152600c60209081526040808320600e8054600181019091558452600d9092529091208054600160a060020a0319169092179091558054820181555b83600160a060020a031630600160a060020a03166000805160206126468339815191528460405190815260200160405180910390a35b5b50505050565b60045481565b601654600160a060020a031681565b60005433600160a060020a03908116911614611f0257600080fd5b600160a060020a0381161515611f1757600080fd5b60018054600160a060020a031916600160a060020a0383161790555b5b50565b60055b60035460a060020a900460ff166006811115611f5257fe5b14611f5c57600080fd5b60406044361015611f6c57600080fd5b600160a060020a03331660009081526012602052604090205482901015611f9257600080fd5b600160a060020a0383166000908152601260205260409020548281011015611fb957600080fd5b600160a060020a033381166000818152601260205260408082208054879003905592861680825290839020805486019055916000805160206126468339815191529085905190815260200160405180910390a35b5b505b5050565b600f60205260009081526040902054600160a060020a031681565b60015433600160a060020a0390811691161461204a57600080fd5b6001805460008054600160a060020a0319908116600160a060020a038416179091551690555b565b60035460a060020a900460ff1681565b600154600160a060020a031681565b6000805433600160a060020a039081169116146120ad57600080fd5b60015b60035460a060020a900460ff1660068111156120c857fe5b14806120ec575060025b60035460a060020a900460ff1660068111156120ea57fe5b145b8061210f575060045b60035460a060020a900460ff16600681111561210d57fe5b145b151561211a57600080fd5b6006546008541061212a57600080fd5b61213382610d2a565b600880548401905590506111c28382846000610e4a565b5b5b5b5b505050565b600060055b60035460a060020a900460ff16600681111561217057fe5b1461217a57600080fd5b50600160a060020a038083166000908152601360209081526040808320938516835292905220545b5b92915050565b600160a060020a038416600090815260186020526040812054859060ff1615156001146121d557600080fd5b8591506121e28686611f37565b81600160a060020a03166312cd21013387878760405160e060020a63ffffffff8716028152600160a060020a0385166004820190815260248201859052606060448301908152606483018490529091608401846020850280828437820191505095505050505050600060405180830381600087803b151561226257600080fd5b6102c65a03f1151561227357600080fd5b5050505b5b505050505050565b60095481565b60065481565b6000805433600160a060020a039081169116146122a857600080fd5b60015b60035460a060020a900460ff1660068111156122c357fe5b146122cd57600080fd5b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561230757600080fd5b42600981905560058054600160a060020a031916600160a060020a0388161790556004859055600684905562015180830201600a556000600855610f7560026123f6565b5b5b5050505050565b6000826305f5e100830281151561236757fe5b600160a060020a03861660009081526012602052604090205491900491508082011161239257600080fd5b6000811161239f57600080fd5b600160a060020a0380851660008181526012602052604090819020805485019055601180548501905590913016906000805160206126468339815191529084905190815260200160405180910390a35b9392505050565b6003805460a060020a80820460ff16928492909174ff0000000000000000000000000000000000000000199091169083600681111561243157fe5b02179055507fe8a97ea87e4388fa22d496b95a8ed5ced6717f49790318de2b928aaf37a021d881836040518083600681111561246957fe5b60ff16815260200182600681111561247d57fe5b60ff1681526020019250505060405180910390a15b5050565b61249e61262e565b600160a060020a0382166000908152600c6020526040808220908051908101604052815481526001909101546020820190815290925051905060008111156111c257600160a060020a0383166000818152600c602052604080822082815560010191909155622dc6c090839051600060405180830381858888f1935050505015156111c257600080fd5b5b5b505050565b600160a060020a03808316600081815260126020526040908190208054859003905560118054859003905530909216916000805160206126468339815191529084905190815260200160405180910390a35b5050565b6011546000906102c16103e882025b600554600160a060020a0316600090815260126020526040902054919004919091039150808201116125c557600080fd5b600081116125d257600080fd5b60058054600160a060020a03908116600090815260126020526040908190208054850190556011805485019055915481169130909116906000805160206126468339815191529084905190815260200160405180910390a35b50565b6040805190810160405260008082526020820152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582055bc755028b4f72823e1318437a1b032609655fc4c0b137982d3579405e12b550029

Deployed Bytecode

0x6060604052361561028d5763ffffffff60e060020a60003504166304d6db0581146103c4578063052deec5146103f157806306fdde0314610423578063095ea7b3146104ae5780630a692347146104d25780630afd21d2146104e75780630ee21ddc146104ff57806313de214e14610517578063155dd5ee1461053c578063173ea2381461055457806318160ddd146105755780631af2c9fd1461059a5780631c31f710146105bf57806322a15848146105e057806323b872dd1461060f5780632c29eedd146106395780632c56462f146106605780632d7b8c9814610681578063313ce567146106a2578063366bc401146106cb57806338af3eed146106f057806339885b231461071f57806347b4e2721461073457806347c421b51461075e57806351e0e26b1461077f5780635c658165146107b25780636f7bc9be146107e957806370a0823114610820578063750225d01461085157806375e2ff65146108695780637bd6c0e41461088a5780637dc0d1d0146108ab5780638032751b146108da5780638328dbcd146108f25780638da5cb5b146109215780638fd3ab801461095057806395a0f5eb1461096557806395d89b411461098a5780639789f9da14610a155780639800fc1614610a3a57806399d6708414610a5b5780639aa0a50e14610a805780639e8af7e914610ac3578063a387588314610ae4578063a4a8f8ea14610b09578063a6f9dae114610b38578063a9059cbb14610b59578063acc3c02014610b7d578063bd9b6d8614610baf578063c19d93fb14610bc4578063d4ee1d9014610bfb578063dd15f99314610c2a578063dd62ed3e14610c4e578063e1bf34e914610c85578063e2fc421d14610cb6578063e63d495714610cdb578063f575c81014610d00575b5b60008080808060015b60035460a060020a900460ff1660068111156102af57fe5b14806102d3575060025b60035460a060020a900460ff1660068111156102d157fe5b145b806102f6575060045b60035460a060020a900460ff1660068111156102f457fe5b145b151561030157600080fd5b6006546008541061031157600080fd5b600454349550670de0b6b3a76400009086025b04935061033084610d2a565b9250600654846008540111156103a55760085460065403935060045484670de0b6b3a76400000281151561036057fe5b049450843403915033600160a060020a0316622dc6c083604051600060405180830381858888f19350505050905080151561039a57600080fd5b6006546008556103ae565b60088054850190555b6103ba33848688610e4a565b5b5b5b5050505050005b34156103cf57600080fd5b6103ef600160a060020a0360043516602435604435606435608435610eeb565b005b34156103fc57600080fd5b610407600435610f7e565b604051600160a060020a03909116815260200160405180910390f35b341561042e57600080fd5b610436610f99565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104735780820151818401525b60200161045a565b50505050905090810190601f1680156104a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b957600080fd5b6103ef600160a060020a0360043516602435610fd0565b005b34156104dd57600080fd5b6103ef61105b565b005b34156104f257600080fd5b6103ef60043561108d565b005b341561050a57600080fd5b6103ef6004356111c8565b005b341561052257600080fd5b61052a611208565b60405190815260200160405180910390f35b341561054757600080fd5b6103ef60043561120e565b005b341561055f57600080fd5b6103ef600160a060020a03600435166112f5565b005b341561058057600080fd5b61052a611345565b60405190815260200160405180910390f35b34156105a557600080fd5b61052a61134b565b60405190815260200160405180910390f35b34156105ca57600080fd5b6103ef600160a060020a0360043516611351565b005b34156105eb57600080fd5b6104076113a1565b604051600160a060020a03909116815260200160405180910390f35b341561061a57600080fd5b6103ef600160a060020a03600435811690602435166044356113b0565b005b341561064457600080fd5b6103ef600160a060020a03600435166024356044356114e1565b005b341561066b57600080fd5b6103ef600160a060020a036004351661155b565b005b341561068c57600080fd5b6103ef600160a060020a03600435166115b3565b005b34156106ad57600080fd5b6106b56115e6565b60405160ff909116815260200160405180910390f35b34156106d657600080fd5b61052a6115eb565b60405190815260200160405180910390f35b34156106fb57600080fd5b6104076115f1565b604051600160a060020a03909116815260200160405180910390f35b341561072a57600080fd5b6103ef611600565b005b341561073f57600080fd5b6103ef600160a060020a036004351660243560443560643561168a565b005b341561076957600080fd5b6103ef600160a060020a03600435166117c3565b005b341561078a57600080fd5b61079e600160a060020a0360043516611813565b604051901515815260200160405180910390f35b34156107bd57600080fd5b61052a600160a060020a0360043581169060243516611828565b60405190815260200160405180910390f35b34156107f457600080fd5b610808600160a060020a0360043516611845565b60405191825260208201526040908101905180910390f35b341561082b57600080fd5b61052a600160a060020a036004351661185e565b60405190815260200160405180910390f35b341561085c57600080fd5b6103ef60043561187d565b005b341561087457600080fd5b6103ef600160a060020a03600435166119a4565b005b341561089557600080fd5b6103ef600160a060020a03600435166119f5565b005b34156108b657600080fd5b610407611a45565b604051600160a060020a03909116815260200160405180910390f35b34156108e557600080fd5b6103ef600435611a54565b005b34156108fd57600080fd5b610407611ae1565b604051600160a060020a03909116815260200160405180910390f35b341561092c57600080fd5b610407611af0565b604051600160a060020a03909116815260200160405180910390f35b341561095b57600080fd5b6103ef611aff565b005b341561097057600080fd5b61052a611c23565b60405190815260200160405180910390f35b341561099557600080fd5b610436611c29565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104735780820151818401525b60200161045a565b50505050905090810190601f1680156104a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a2057600080fd5b61052a611c60565b60405190815260200160405180910390f35b3415610a4557600080fd5b6103ef600160a060020a0360043516611c66565b005b3415610a6657600080fd5b61052a611cbb565b60405190815260200160405180910390f35b3415610a8b57600080fd5b610a96600435611cc1565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b3415610ace57600080fd5b6103ef600160a060020a0360043516611ceb565b005b3415610aef57600080fd5b61052a611ed2565b60405190815260200160405180910390f35b3415610b1457600080fd5b610407611ed8565b604051600160a060020a03909116815260200160405180910390f35b3415610b4357600080fd5b6103ef600160a060020a0360043516611ee7565b005b3415610b6457600080fd5b6103ef600160a060020a0360043516602435611f37565b005b3415610b8857600080fd5b610407600435612014565b604051600160a060020a03909116815260200160405180910390f35b3415610bba57600080fd5b6103ef61202f565b005b3415610bcf57600080fd5b610bd7612072565b60405180826006811115610be757fe5b60ff16815260200191505060405180910390f35b3415610c0657600080fd5b610407612082565b604051600160a060020a03909116815260200160405180910390f35b3415610c3557600080fd5b6103ef600160a060020a0360043516602435612091565b005b3415610c5957600080fd5b61052a600160a060020a0360043581169060243516612153565b60405190815260200160405180910390f35b3415610c9057600080fd5b6103ef60048035600160a060020a03169060248035916044359182019101356121a9565b005b3415610cc157600080fd5b61052a612280565b60405190815260200160405180910390f35b3415610ce657600080fd5b61052a612286565b60405190815260200160405180910390f35b3415610d0b57600080fd5b6103ef600160a060020a036004351660243560443560643561228c565b005b600060015b60035460a060020a900460ff166006811115610d4757fe5b1415610d575750661550f7dca700005b60025b60035460a060020a900460ff166006811115610d7257fe5b1415610d9057600a544210610d8657600080fd5b506618de76816d80005b60045b60035460a060020a900460ff166006811115610dab57fe5b1415610e4157600a544210610dbf57600080fd5b6009546201518001421015610dfd5769065a4da25d3016c00000821115610dee5750661aa535d3d0c000610df8565b50661e32b4789740005b610e41565b60095462093a8001421015610e1a5750661ff973cafa8000610e41565b6009546212750001421015610e3757506621c0331d5dc000610e41565b50662386f26fc100005b5b5b5b5b919050565b600080610e58868686612354565b600160a060020a0387166000908152600c60205260409020805491935091501515610eb057600e8054600181019091556000908152600d602052604090208054600160a060020a031916600160a060020a0388161790555b80548201815560045b60035460a060020a900460ff166006811115610ed157fe5b1415610ee257600181018054840190555b5b505050505050565b60005433600160a060020a03908116911614610f0657600080fd5b60035b60035460a060020a900460ff166006811115610f2157fe5b14610f2b57600080fd5b42600981905560058054600160a060020a031916600160a060020a03881617905560048581556006859055620151808402909101600a5560078290556000600855610f75906123f6565b5b5b5050505050565b600d60205260009081526040902054600160a060020a031681565b60408051908101604052600a81527f5a65757320546f6b656e00000000000000000000000000000000000000000000602082015281565b60055b60035460a060020a900460ff166006811115610feb57fe5b14610ff557600080fd5b600160a060020a03338116600081815260136020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35b5b5050565b60065b60035460a060020a900460ff16600681111561107657fe5b1461108057600080fd5b61108933612496565b5b5b565b600061109761262e565b60045b60035460a060020a900460ff1660068111156110b257fe5b146110bc57600080fd5b600a5442101580156110d15750600754600854105b15156110dc57600080fd5b5b6000831180156110ef57506000600e54115b156111a857600e805460001901908190556000908152600d6020908152604080832054600160a060020a0316808452600c90925291829020909350908051908101604052815481526001909101546020820152905061114f82825161252f565b600e546000908152600d602090815260408083208054600160a060020a0319908116909155601080548552600f90935292208054909216600160a060020a038516179091558054600101905560001992909201916110dc565b6000600e5411156111b8576111c2565b6111c260066123f6565b5b505050565b60005433600160a060020a03908116911614806111f3575060025433600160a060020a039081169116145b15156111fe57600080fd5b60048190555b5b50565b60075481565b6000805433600160a060020a0390811691161461122a57600080fd5b60015b60035460a060020a900460ff16600681111561124557fe5b1480611269575060025b60035460a060020a900460ff16600681111561126757fe5b145b8061129a575060045b60035460a060020a900460ff16600681111561128a57fe5b14801561129a5750600754600854115b5b15156112a657600080fd5b8115156112bb5730600160a060020a03163191505b600554600160a060020a0316622dc6c083604051600060405180830381858888f19350505050905080151561105657600080fd5b5b5b5050565b60005433600160a060020a0390811691161461131057600080fd5b600160a060020a038116151561132557600080fd5b60038054600160a060020a031916600160a060020a0383161790555b5b50565b60115481565b600e5481565b60005433600160a060020a0390811691161461136c57600080fd5b600160a060020a038116151561138157600080fd5b60058054600160a060020a031916600160a060020a0383161790555b5b50565b600354600160a060020a031681565b60055b60035460a060020a900460ff1660068111156113cb57fe5b146113d557600080fd5b606060643610156113e557600080fd5b600160a060020a0384166000908152601260205260409020548290101561140b57600080fd5b600160a060020a038316600090815260126020526040902054828101101561143257600080fd5b600160a060020a03808516600090815260136020908152604080832033909416835292905220548290101561146657600080fd5b600160a060020a03808516600081815260126020908152604080832080548890039055878516808452818420805489019055848452601383528184203390961684529490915290819020805486900390556000805160206126468339815191529085905190815260200160405180910390a35b5b505b505050565b60005433600160a060020a039081169116146114fc57600080fd5b60005b60035460a060020a900460ff16600681111561151757fe5b1461152157600080fd5b60058054600160a060020a031916600160a060020a03851617905560048290556006819055426009556111c260016123f6565b5b5b505050565b60005433600160a060020a0390811691161461157657600080fd5b600160a060020a038116151561158b57600080fd5b600160a060020a0381166000908152601860205260409020805460ff191660011790555b5b50565b60065b60035460a060020a900460ff1660068111156115ce57fe5b146115d857600080fd5b61120481612496565b5b5b50565b600881565b60085481565b600554600160a060020a031681565b6000805433600160a060020a0390811691161461161c57600080fd5b60025b60035460a060020a900460ff16600681111561163757fe5b1461164157600080fd5b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561167b57600080fd5b61120460036123f6565b5b5b50565b600080548190819033600160a060020a03908116911614806116ba575060035433600160a060020a039081169116145b15156116c557600080fd5b60015b60035460a060020a900460ff1660068111156116e057fe5b1480611704575060025b60035460a060020a900460ff16600681111561170257fe5b145b80611727575060045b60035460a060020a900460ff16600681111561172557fe5b145b151561173257600080fd5b6006546008541061174257600080fd5b670de0b6b3a76400008686025b04925061175b83610d2a565b6000858152600b60205260409020805491935091501561177a57600080fd5b85815560018101859055600281018054600160a060020a031916600160a060020a03891617905560088054840190556117b68783856000610e4a565b5b5b5b5b50505050505050565b60005433600160a060020a039081169116146117de57600080fd5b600160a060020a03811615156117f357600080fd5b60028054600160a060020a031916600160a060020a0383161790555b5b50565b60186020526000908152604090205460ff1681565b601360209081526000928352604080842090915290825290205481565b600c602052600090815260409020805460019091015482565b600160a060020a0381166000908152601260205260409020545b919050565b6000805433600160a060020a0390811691161461189957600080fd5b60045b60035460a060020a900460ff1660068111156118b457fe5b146118be57600080fd5b60075460085410156118cf57600080fd5b5b6000821180156118e257506000600e54115b1561194257600e80546000199081018083556000908152600d6020818152604080842054600160a060020a03168452600c82528084208481556001018490559454835252919091208054600160a060020a031916905591909101906118d0565b6000600e54111561195257611056565b61195a612585565b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561199457600080fd5b61105660056123f6565b5b5b5050565b60005433600160a060020a039081169116146119bf57600080fd5b601454600160a060020a0316156119d557600080fd5b60148054600160a060020a031916600160a060020a0383161790555b5b50565b60005433600160a060020a03908116911614611a1057600080fd5b600160a060020a0381161515611a2557600080fd5b60168054600160a060020a031916600160a060020a0383161790555b5b50565b600254600160a060020a031681565b600060065b60035460a060020a900460ff166006811115611a7157fe5b14611a7b57600080fd5b5b600082118015611a8e57506000601054115b15611056575060108054600019908101918290556000918252600f60205260409091208054600160a060020a03198116909155910190600160a060020a0316611ad681612496565b611a7b565b5b5b5050565b601454600160a060020a031681565b600054600160a060020a031681565b601454600090600160a060020a03161515611b1957600080fd5b50600160a060020a0333811660008181526012602052604080822080549290559092301691906000805160206126468339815191529084905190815260200160405180910390a36011805482900390556015805482019055601454600160a060020a0316637a3130e3338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bc757600080fd5b6102c65a03f11515611bd857600080fd5b5050601454600160a060020a03908116915033167f928fd5531324ee87d76cc5307dc37580174da76b85cd546da631b2670bc266b58360405190815260200160405180910390a35b50565b60155481565b60408051908101604052600381527f5a53540000000000000000000000000000000000000000000000000000000000602082015281565b600a5481565b60005433600160a060020a03908116911614611c8157600080fd5b600160a060020a0381161515611c9657600080fd5b600160a060020a0381166000908152601860205260409020805460ff191690555b5b50565b60105481565b600b60205260009081526040902080546001820154600290920154909190600160a060020a031683565b600080548190819033600160a060020a03908116911614611d0b57600080fd5b601654600160a060020a031615801590611d3e575060065b60035460a060020a900460ff166006811115611d3b57fe5b14155b8015611d635750600160a060020a03841660009081526017602052604090205460ff16155b1515611d6e57600080fd5b601654600160a060020a03169250826370a082318560006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611dca57600080fd5b6102c65a03f11515611ddb57600080fd5b505050604051805192505060008211611df357600080fd5b600160a060020a0384166000908152601260209081526040808320859055601180548601905560179091529020805460ff1916600117905560055b60035460a060020a900460ff166006811115611e4657fe5b14611e955750600160a060020a0383166000818152600c60209081526040808320600e8054600181019091558452600d9092529091208054600160a060020a0319169092179091558054820181555b83600160a060020a031630600160a060020a03166000805160206126468339815191528460405190815260200160405180910390a35b5b50505050565b60045481565b601654600160a060020a031681565b60005433600160a060020a03908116911614611f0257600080fd5b600160a060020a0381161515611f1757600080fd5b60018054600160a060020a031916600160a060020a0383161790555b5b50565b60055b60035460a060020a900460ff166006811115611f5257fe5b14611f5c57600080fd5b60406044361015611f6c57600080fd5b600160a060020a03331660009081526012602052604090205482901015611f9257600080fd5b600160a060020a0383166000908152601260205260409020548281011015611fb957600080fd5b600160a060020a033381166000818152601260205260408082208054879003905592861680825290839020805486019055916000805160206126468339815191529085905190815260200160405180910390a35b5b505b5050565b600f60205260009081526040902054600160a060020a031681565b60015433600160a060020a0390811691161461204a57600080fd5b6001805460008054600160a060020a0319908116600160a060020a038416179091551690555b565b60035460a060020a900460ff1681565b600154600160a060020a031681565b6000805433600160a060020a039081169116146120ad57600080fd5b60015b60035460a060020a900460ff1660068111156120c857fe5b14806120ec575060025b60035460a060020a900460ff1660068111156120ea57fe5b145b8061210f575060045b60035460a060020a900460ff16600681111561210d57fe5b145b151561211a57600080fd5b6006546008541061212a57600080fd5b61213382610d2a565b600880548401905590506111c28382846000610e4a565b5b5b5b5b505050565b600060055b60035460a060020a900460ff16600681111561217057fe5b1461217a57600080fd5b50600160a060020a038083166000908152601360209081526040808320938516835292905220545b5b92915050565b600160a060020a038416600090815260186020526040812054859060ff1615156001146121d557600080fd5b8591506121e28686611f37565b81600160a060020a03166312cd21013387878760405160e060020a63ffffffff8716028152600160a060020a0385166004820190815260248201859052606060448301908152606483018490529091608401846020850280828437820191505095505050505050600060405180830381600087803b151561226257600080fd5b6102c65a03f1151561227357600080fd5b5050505b5b505050505050565b60095481565b60065481565b6000805433600160a060020a039081169116146122a857600080fd5b60015b60035460a060020a900460ff1660068111156122c357fe5b146122cd57600080fd5b600554600160a060020a0390811690622dc6c090301631604051600060405180830381858888f19350505050905080151561230757600080fd5b42600981905560058054600160a060020a031916600160a060020a0388161790556004859055600684905562015180830201600a556000600855610f7560026123f6565b5b5b5050505050565b6000826305f5e100830281151561236757fe5b600160a060020a03861660009081526012602052604090205491900491508082011161239257600080fd5b6000811161239f57600080fd5b600160a060020a0380851660008181526012602052604090819020805485019055601180548501905590913016906000805160206126468339815191529084905190815260200160405180910390a35b9392505050565b6003805460a060020a80820460ff16928492909174ff0000000000000000000000000000000000000000199091169083600681111561243157fe5b02179055507fe8a97ea87e4388fa22d496b95a8ed5ced6717f49790318de2b928aaf37a021d881836040518083600681111561246957fe5b60ff16815260200182600681111561247d57fe5b60ff1681526020019250505060405180910390a15b5050565b61249e61262e565b600160a060020a0382166000908152600c6020526040808220908051908101604052815481526001909101546020820190815290925051905060008111156111c257600160a060020a0383166000818152600c602052604080822082815560010191909155622dc6c090839051600060405180830381858888f1935050505015156111c257600080fd5b5b5b505050565b600160a060020a03808316600081815260126020526040908190208054859003905560118054859003905530909216916000805160206126468339815191529084905190815260200160405180910390a35b5050565b6011546000906102c16103e882025b600554600160a060020a0316600090815260126020526040902054919004919091039150808201116125c557600080fd5b600081116125d257600080fd5b60058054600160a060020a03908116600090815260126020526040908190208054850190556011805485019055915481169130909116906000805160206126468339815191529084905190815260200160405180910390a35b50565b6040805190810160405260008082526020820152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582055bc755028b4f72823e1318437a1b032609655fc4c0b137982d3579405e12b550029

Swarm Source

bzzr://55bc755028b4f72823e1318437a1b032609655fc4c0b137982d3579405e12b55
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.