ETH Price: $3,313.17 (-1.39%)

Token

CUBE (AUTO)
 

Overview

Max Total Supply

7,200,000,000 AUTO

Holders

11,198 ( 0.045%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
OKX
Balance
340,009,740.181222801255629733 AUTO

Value
$0.00
0x6cc5f688a315f3dc28a7781717a9a798a59fda7b
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

CUBE is an autonomous car security platform backed by blockchain technology.

ICO Information

ICO Start Date : Feb 16, 2018   
ICO End Date : Mar 15, 2018
ICO Price  : 0.001 ETH
Bonus : Presale: 20%
Country : UK / Korea 

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.18;

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

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

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

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

contract owned {
    address public owner;
    function owned() public {
        owner = msg.sender;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != 0x0);
        owner = newOwner;
    }
}

contract BasicToken is owned {
    using SafeMath for uint256;

    mapping (address => uint256) internal balance_of;
    mapping (address => mapping (address => uint256)) internal allowances;

    mapping (address => bool) private address_exist;
    address[] private address_list;

    bool public transfer_close = false;

    event Transfer(address indexed from, address indexed to, uint256 value);

    function BasicToken() public {
    }

    function balanceOf(address token_owner) public constant returns (uint balance) {
        return balance_of[token_owner];
    }

    function allowance(
        address _hoarder,
        address _spender
    ) public constant returns (uint256) {
        return allowances[_hoarder][_spender];
    }

    function superApprove(
        address _hoarder,
        address _spender,
        uint256 _value
    ) onlyOwner public returns(bool) {
        require(_hoarder != address(0));
        require(_spender != address(0));
        require(_value >= 0);
        allowances[_hoarder][_spender] = _value;
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        require(msg.sender != address(0));
        require(_spender != address(0));
        require(_value >= 0);
        allowances[msg.sender][_spender] = _value;
        return true;
    }

    function getAddressLength() onlyOwner public constant returns (uint) {
        return address_list.length;
    }

    function getAddressIndex(uint _address_index) onlyOwner public constant returns (address _address) {
        _address = address_list[_address_index];
    }

    function getAllAddress() onlyOwner public constant returns (address[]) {
        return address_list;
    }

    function getAddressExist(address _target) public constant returns (bool) {
        if (_target == address(0)) {
            return false;
        } else {
            return address_exist[_target];
        }
    }

    function addAddress(address _target) internal returns(bool) {
        if (_target == address(0)) {
            return false;
        } else if (address_exist[_target] == true) {
            return false;
        } else {
            address_exist[_target] = true;
            address_list[address_list.length++] = _target;
        }
    }

    function mintToken(
        address _to,
        uint256 token_amount,
        uint256 freeze_timestamp
    ) onlyOwner public returns (bool);

    function superMint(
        address _to,
        uint256 token_amount,
        uint256 freeze_timestamp) onlyOwner public returns(bool);

    function transfer(address to, uint256 value) public;
    function transferFrom(address _from, address _to, uint256 _amount) public;

    function transferOpen() onlyOwner public {
        transfer_close = false;
    }

    function transferClose() onlyOwner public {
        transfer_close = true;
    }
}

contract PreSale is owned{
    using SafeMath for uint256;

    struct Sale {
        uint sale_number;
        uint256 start_timestamp;
        uint256 end_timestamp;
        uint8 bonus_rate;
        uint256 sell_limit;
    }

    Sale[] private sale_list;
    uint256[] private sale_sold;

    function PreSale () public {

    }

    function getSaleLength() public constant returns(uint) {
        return sale_list.length;
    }

    function getSaleInfo(uint _index) public constant returns(
        uint sale_number,
        uint256 start_timestamp,
        uint256 end_timestamp,
        uint8 bonus_rate,
        uint256 sell_limit
    ) {
        sale_number = sale_list[_index].sale_number;
        start_timestamp = sale_list[_index].start_timestamp;
        end_timestamp = sale_list[_index].end_timestamp;
        bonus_rate = sale_list[_index].bonus_rate;
        sell_limit = sale_list[_index].sell_limit;
    }

    function getSaleSold(uint _index) public constant returns(uint256) {
        return sale_sold[_index];
    }


    function addBonus(
        uint256 _amount,
        uint8 _bonus
    ) internal pure returns(uint256) {
        return _amount.add((_amount.mul(_bonus)).div(100));
    }


    function newSale(
        uint256 start_timestamp,
        uint256 end_timestamp,
        uint8 bonus_rate,
        uint256 sell_token_limit
    ) onlyOwner public {
        require(start_timestamp > 0);
        require(end_timestamp > 0);
        require(sell_token_limit > 0);

        uint256 sale_number = sale_list.length;
        for (uint i=0; i < sale_list.length; i++) {
            require(sale_list[i].end_timestamp < start_timestamp);
        }

        sale_list[sale_list.length++] = Sale({
            sale_number: sale_number,
            start_timestamp: start_timestamp,
            end_timestamp: end_timestamp,
            bonus_rate: bonus_rate,
            sell_limit: sell_token_limit
        });
        sale_sold[sale_sold.length++] = 0;
    }

    function changeSaleInfo(
        uint256 _index,
        uint256 start_timestamp,
        uint256 end_timestamp,
        uint8 bonus_rate,
        uint256 sell_token_limit
    ) onlyOwner public returns(bool) {
        require(_index < sale_list.length);
        require(start_timestamp > 0);
        require(end_timestamp > 0);
        require(sell_token_limit > 0);

        sale_list[_index].start_timestamp = start_timestamp;
        sale_list[_index].end_timestamp = end_timestamp;
        sale_list[_index].bonus_rate = bonus_rate;
        sale_list[_index].sell_limit = sell_token_limit;
        return true;
    }

    function changeSaleStart(
        uint256 _index,
        uint256 start_timestamp
    ) onlyOwner public returns(bool) {
        require(_index < sale_list.length);
        require(start_timestamp > 0);
        sale_list[_index].start_timestamp = start_timestamp;
        return true;
    }

    function changeSaleEnd(
        uint256 _index,
        uint256 end_timestamp
    ) onlyOwner public returns(bool) {
        require(_index < sale_list.length);
        require(end_timestamp > 0);
        sale_list[_index].end_timestamp = end_timestamp;
        return true;
    }

    function changeSaleBonusRate(
        uint256 _index,
        uint8 bonus_rate
    ) onlyOwner public returns(bool) {
        require(_index < sale_list.length);
        sale_list[_index].bonus_rate = bonus_rate;
        return true;
    }

    function changeSaleTokenLimit(
        uint256 _index,
        uint256 sell_token_limit
    ) onlyOwner public returns(bool) {
        require(_index < sale_list.length);
        require(sell_token_limit > 0);
        sale_list[_index].sell_limit = sell_token_limit;
        return true;
    }


    function checkSaleCanSell(
        uint256 _index,
        uint256 _amount
    ) internal view returns(bool) {
        uint256 index_sold = sale_sold[_index];
        uint256 index_end_timestamp = sale_list[_index].end_timestamp;
        uint256 sell_limit = sale_list[_index].sell_limit;
        uint8 bonus_rate = sale_list[_index].bonus_rate;
        uint256 sell_limit_plus_bonus = addBonus(sell_limit, bonus_rate);

        if (now >= index_end_timestamp) {
            return false;
        } else if (index_sold.add(_amount) > sell_limit_plus_bonus) {
            return false;
        } else {
            return true;
        }
    }

    function addSaleSold(uint256 _index, uint256 amount) internal {
        require(amount > 0);
        require(_index < sale_sold.length);
        require(checkSaleCanSell(_index, amount) == true);
        sale_sold[_index] += amount;
    }

    function subSaleSold(uint256 _index, uint256 amount) internal {
        require(amount > 0);
        require(_index < sale_sold.length);
        require(sale_sold[_index].sub(amount) >= 0);
        sale_sold[_index] -= amount;
    }

    function canSaleInfo() public view returns(
        uint sale_number,
        uint256 start_timestamp,
        uint256 end_timestamp,
        uint8 bonus_rate,
        uint256 sell_limit
    ) {
        var(sale_info, isSale) = nowSaleInfo();
        require(isSale == true);
        sale_number = sale_info.sale_number;
        start_timestamp = sale_info.start_timestamp;
        end_timestamp = sale_info.end_timestamp;
        bonus_rate = sale_info.bonus_rate;
        sell_limit = sale_info.sell_limit;
    }

    function nowSaleInfo() internal view returns(Sale sale_info, bool isSale) {
        isSale = false;
        for (uint i=0; i < sale_list.length; i++) {
            uint256 end_timestamp = sale_list[i].end_timestamp;
            uint256 sell_limit = sale_list[i].sell_limit;
            uint8 bonus_rate = sale_list[i].bonus_rate;
            uint256 sell_limit_plus_bonus = addBonus(sell_limit, bonus_rate);
            uint256 temp_sold_token = sale_sold[i];
            if ((now <= end_timestamp) && (temp_sold_token < sell_limit_plus_bonus)) {
                sale_info = Sale({
                    sale_number: sale_list[i].sale_number,
                    start_timestamp: sale_list[i].start_timestamp,
                    end_timestamp: sale_list[i].end_timestamp,
                    bonus_rate: sale_list[i].bonus_rate,
                    sell_limit: sale_list[i].sell_limit
                });
                isSale = true;
                break;
            } else {
                isSale = false;
                continue;
            }
        }
    }
}

contract Vote is owned {
    event ProposalAdd(uint vote_id, address generator, string descript);
    event ProposalEnd(uint vote_id, string descript);

    struct Proposal {
        address generator;
        string descript;
        uint256 start_timestamp;
        uint256 end_timestamp;
        bool executed;
        uint256 voting_cut;
        uint256 threshold;

        uint256 voting_count;
        uint256 total_weight;
        mapping (address => uint256) voteWeightOf;
        mapping (address => bool) votedOf;
        address[] voter_address;
    }

    uint private vote_id = 0;
    Proposal[] private Proposals;

    function getProposalLength() public constant returns (uint) {
        return Proposals.length;
    }

    function getProposalIndex(uint _proposal_index) public constant returns (
        address generator,
        string descript,
        uint256 start_timestamp,
        uint256 end_timestamp,
        bool executed,
        uint256 voting_count,
        uint256 total_weight,
        uint256 voting_cut,
        uint256 threshold
    ) {
        generator = Proposals[_proposal_index].generator;
        descript = Proposals[_proposal_index].descript;
        start_timestamp = Proposals[_proposal_index].start_timestamp;
        end_timestamp = Proposals[_proposal_index].end_timestamp;
        executed = Proposals[_proposal_index].executed;
        voting_count = Proposals[_proposal_index].voting_count;
        total_weight = Proposals[_proposal_index].total_weight;
        voting_cut = Proposals[_proposal_index].voting_cut;
        threshold = Proposals[_proposal_index].threshold;
    }

    function getProposalVoterList(uint _proposal_index) public constant returns (address[]) {
        return Proposals[_proposal_index].voter_address;
    }

    function newVote(
        address who,
        string descript,
        uint256 start_timestamp,
        uint256 end_timestamp,
        uint256 voting_cut,
        uint256 threshold
    ) onlyOwner public returns (uint256) {
        if (Proposals.length >= 1) {
            require(Proposals[vote_id].end_timestamp < start_timestamp);
            require(Proposals[vote_id].executed == true);
        }

        vote_id = Proposals.length;
        Proposal storage p = Proposals[Proposals.length++];
        p.generator = who;
        p.descript = descript;
        p.start_timestamp = start_timestamp;
        p.end_timestamp = end_timestamp;
        p.executed = false;
        p.voting_cut = voting_cut;
        p.threshold = threshold;

        p.voting_count = 0;
        delete p.voter_address;
        ProposalAdd(vote_id, who, descript);
        return vote_id;
    }

    function voting(address _voter, uint256 _weight) internal returns(bool) {
        if (Proposals[vote_id].end_timestamp < now) {
            Proposals[vote_id].executed = true;
        }

        require(Proposals[vote_id].executed == false);
        require(Proposals[vote_id].end_timestamp > now);
        require(Proposals[vote_id].start_timestamp <= now);
        require(Proposals[vote_id].votedOf[_voter] == false);
        require(Proposals[vote_id].voting_cut <= _weight);

        Proposals[vote_id].votedOf[_voter] = true;
        Proposals[vote_id].voting_count += 1;
        Proposals[vote_id].voteWeightOf[_voter] = _weight;
        Proposals[vote_id].total_weight += _weight;
        Proposals[vote_id].voter_address[Proposals[vote_id].voter_address.length++] = _voter;

        if (Proposals[vote_id].total_weight >= Proposals[vote_id].threshold) {
            Proposals[vote_id].executed = true;
        }
        return true;
    }

    function voteClose() onlyOwner public {
        if (Proposals.length >= 1) {
            Proposals[vote_id].executed = true;
            ProposalEnd(vote_id, Proposals[vote_id].descript);
        }
    }

    function checkVote() onlyOwner public {
        if ((Proposals.length >= 1) &&
            (Proposals[vote_id].end_timestamp < now)) {
            voteClose();
        }
    }
}

contract FreezeToken is owned {
    mapping (address => uint256) public freezeDateOf;

    event Freeze(address indexed _who, uint256 _date);
    event Melt(address indexed _who);

    function checkFreeze(address _sender) public constant returns (bool) {
        if (now >= freezeDateOf[_sender]) {
            return false;
        } else {
            return true;
        }
    }

    function freezeTo(address _who, uint256 _date) internal {
        freezeDateOf[_who] = _date;
        Freeze(_who, _date);
    }

    function meltNow(address _who) internal onlyOwner {
        freezeDateOf[_who] = now;
        Melt(_who);
    }
}

contract TokenInfo is owned {
    using SafeMath for uint256;

    address public token_wallet_address;

    string public name = "CUBE";
    string public symbol = "AUTO";
    uint256 public decimals = 18;
    uint256 public total_supply = 7200000000 * (10 ** uint256(decimals));

    // 1 ether : 100,000 token
    uint256 public conversion_rate = 100000;

    event ChangeTokenName(address indexed who);
    event ChangeTokenSymbol(address indexed who);
    event ChangeTokenWalletAddress(address indexed from, address indexed to);
    event ChangeTotalSupply(uint256 indexed from, uint256 indexed to);
    event ChangeConversionRate(uint256 indexed from, uint256 indexed to);
    event ChangeFreezeTime(uint256 indexed from, uint256 indexed to);

    function totalSupply() public constant returns (uint) {
        return total_supply;
    }

    function changeTokenName(string newName) onlyOwner public {
        name = newName;
        ChangeTokenName(msg.sender);
    }

    function changeTokenSymbol(string newSymbol) onlyOwner public {
        symbol = newSymbol;
        ChangeTokenSymbol(msg.sender);
    }

    function changeTokenWallet(address newTokenWallet) onlyOwner internal {
        require(newTokenWallet != address(0));
        address pre_address = token_wallet_address;
        token_wallet_address = newTokenWallet;
        ChangeTokenWalletAddress(pre_address, token_wallet_address);
    }

    function changeTotalSupply(uint256 _total_supply) onlyOwner internal {
        require(_total_supply > 0);
        uint256 pre_total_supply = total_supply;
        total_supply = _total_supply;
        ChangeTotalSupply(pre_total_supply, total_supply);
    }

    function changeConversionRate(uint256 _conversion_rate) onlyOwner public {
        require(_conversion_rate > 0);
        uint256 pre_conversion_rate = conversion_rate;
        conversion_rate = _conversion_rate;
        ChangeConversionRate(pre_conversion_rate, conversion_rate);
    }
}

contract Token is owned, PreSale, FreezeToken, TokenInfo, Vote, BasicToken {
    using SafeMath for uint256;

    bool public open_free = false;

    event Payable(address indexed who, uint256 eth_amount);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed from, uint256 value);
    event Mint(address indexed to, uint256 value);

    function Token (address _owner_address, address _token_wallet_address) public {
        require(_token_wallet_address != address(0));

        if (_owner_address != address(0)) {
            owner = _owner_address;
            balance_of[owner] = 0;
        } else {
            owner = msg.sender;
            balance_of[owner] = 0;
        }

        token_wallet_address = _token_wallet_address;
        balance_of[token_wallet_address] = total_supply;
    }

    function mintToken(
        address to,
        uint256 token_amount,
        uint256 freeze_timestamp
    ) onlyOwner public returns (bool) {
        require(token_amount > 0);
        require(balance_of[token_wallet_address] >= token_amount);
        require(balance_of[to] + token_amount > balance_of[to]);
        uint256 token_plus_bonus = 0;
        uint sale_number = 0;

        var(sale_info, isSale) = nowSaleInfo();
        if (isSale) {
            sale_number = sale_info.sale_number;
            uint8 bonus_rate = sale_info.bonus_rate;
            token_plus_bonus = addBonus(token_amount, bonus_rate);
            require(checkSaleCanSell(sale_number, token_plus_bonus) == true);
            addSaleSold(sale_number, token_plus_bonus);
        } else if (open_free) {
            token_plus_bonus = token_amount;
        } else {
            require(open_free == true);
        }

        balance_of[token_wallet_address] -= token_plus_bonus;
        balance_of[to] += token_plus_bonus;

        uint256 _freeze = 0;
        if (freeze_timestamp >= 0) {
            _freeze = freeze_timestamp;
        }

        freezeTo(to, now + _freeze); // FreezeToken.sol
        Transfer(0x0, to, token_plus_bonus);
        addAddress(to);
        return true;
    }

    function mintTokenBulk(address[] _tos, uint256[] _amounts) onlyOwner public {
        require(_tos.length == _amounts.length);
        for (uint i=0; i < _tos.length; i++) {
            mintToken(_tos[i], _amounts[i], 0);
        }
    }

    function superMint(
        address to,
        uint256 token_amount,
        uint256 freeze_timestamp
    ) onlyOwner public returns(bool) {
        require(token_amount > 0);
        require(balance_of[token_wallet_address] >= token_amount);
        require(balance_of[to] + token_amount > balance_of[to]);

        balance_of[token_wallet_address] -= token_amount;
        balance_of[to] += token_amount;

        uint256 _freeze = 0;
        if (freeze_timestamp >= 0) {
            _freeze = freeze_timestamp;
        }

        freezeTo(to, now + _freeze);
        Transfer(0x0, to, token_amount);
        Mint(to, token_amount);
        addAddress(to);
        return true;
    }

    function superMintBulk(address[] _tos, uint256[] _amounts) onlyOwner public {
        require(_tos.length == _amounts.length);
        for (uint i=0; i < _tos.length; i++) {
            superMint(_tos[i], _amounts[i], 0);
        }
    }

    function transfer(address to, uint256 value) public {
        _transfer(msg.sender, to, value);
    }

    function transferBulk(address[] tos, uint256[] values) public {
        require(tos.length == values.length);
        for (uint i=0; i < tos.length; i++) {
            transfer(tos[i], values[i]);
        }
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _amount
    ) public {
        require(msg.sender != address(0));
        require(_from != address(0));
        require(_amount <= allowances[_from][msg.sender]);
        _transfer(_from, _to, _amount);
        allowances[_from][msg.sender] -= _amount;
    }

    function _transfer(
        address _from,
        address _to,
        uint256 _amount
    ) private {
        require(_from != address(0));
        require(_to != address(0));
        require(balance_of[_from] >= _amount);
        require(balance_of[_to].add(_amount) >= balance_of[_to]);
        require(transfer_close == false);
        require(checkFreeze(_from) == false);

        uint256 prevBalance = balance_of[_from] + balance_of[_to];
        balance_of[_from] -= _amount;
        balance_of[_to] += _amount;
        assert(balance_of[_from] + balance_of[_to] == prevBalance);
        addAddress(_to);
        Transfer(_from, _to, _amount);
    }

    function burn(address _who, uint256 _amount) onlyOwner public returns(bool) {
        require(_amount > 0);
        require(balanceOf(_who) >= _amount);
        balance_of[_who] -= _amount;
        total_supply -= _amount;
        Burn(_who, _amount);
        return true;
    }

    function additionalTotalSupply(uint256 _addition) onlyOwner public returns(bool) {
        require(_addition > 0);
        uint256 change_total_supply = total_supply.add(_addition);
        balance_of[token_wallet_address] += _addition;
        changeTotalSupply(change_total_supply);
    }

    function tokenWalletChange(address newTokenWallet) onlyOwner public returns(bool) {
        require(newTokenWallet != address(0));
        uint256 token_wallet_amount = balance_of[token_wallet_address];
        balance_of[newTokenWallet] = token_wallet_amount;
        balance_of[token_wallet_address] = 0;
        changeTokenWallet(newTokenWallet);
    }

    function () payable public {
        uint256 eth_amount = msg.value;
        msg.sender.transfer(eth_amount);
        Payable(msg.sender, eth_amount);
    }

    function tokenOpen() onlyOwner public {
        open_free = true;
    }

    function tokenClose() onlyOwner public {
        open_free = false;
    }

    function freezeAddress(
        address _who,
        uint256 _addTimestamp
    ) onlyOwner public returns(bool) {
        freezeTo(_who, _addTimestamp);
        return true;
    }

    function meltAddress(
        address _who
    ) onlyOwner public returns(bool) {
        meltNow(_who);
        return true;
    }

    // call a voting in Vote.sol
    function voteAgree() public returns (bool) {
        address _voter = msg.sender;
        uint256 _balance = balanceOf(_voter);
        require(_balance > 0);
        return voting(_voter, _balance);
    }

    function superVoteAgree(address who) onlyOwner public returns(bool) {
        require(who != address(0));
        uint256 _balance = balanceOf(who);
        require(_balance > 0);
        return voting(who, _balance);
    }
}

Contract Security Audit

Contract ABI

[{"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":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"meltAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"}],"name":"superVoteAgree","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"voteAgree","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hoarder","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"superApprove","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"open_free","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"token_amount","type":"uint256"},{"name":"freeze_timestamp","type":"uint256"}],"name":"mintToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"},{"name":"bonus_rate","type":"uint8"}],"name":"changeSaleBonusRate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_proposal_index","type":"uint256"}],"name":"getProposalVoterList","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"total_supply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAddressLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"token_amount","type":"uint256"},{"name":"freeze_timestamp","type":"uint256"}],"name":"superMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_proposal_index","type":"uint256"}],"name":"getProposalIndex","outputs":[{"name":"generator","type":"address"},{"name":"descript","type":"string"},{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"executed","type":"bool"},{"name":"voting_count","type":"uint256"},{"name":"total_weight","type":"uint256"},{"name":"voting_cut","type":"uint256"},{"name":"threshold","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"},{"name":"sell_token_limit","type":"uint256"}],"name":"changeSaleTokenLimit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getSaleSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tos","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"mintTokenBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address_index","type":"uint256"}],"name":"getAddressIndex","outputs":[{"name":"_address","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getSaleInfo","outputs":[{"name":"sale_number","type":"uint256"},{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"bonus_rate","type":"uint8"},{"name":"sell_limit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTokenWallet","type":"address"}],"name":"tokenWalletChange","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAllAddress","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"}],"name":"checkFreeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"},{"name":"end_timestamp","type":"uint256"}],"name":"changeSaleEnd","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"tokenOpen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getProposalLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"},{"name":"descript","type":"string"},{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"voting_cut","type":"uint256"},{"name":"threshold","type":"uint256"}],"name":"newVote","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"},{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"bonus_rate","type":"uint8"},{"name":"sell_token_limit","type":"uint256"}],"name":"changeSaleInfo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tos","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"transferBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token_wallet_address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"getAddressExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"transferClose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"canSaleInfo","outputs":[{"name":"sale_number","type":"uint256"},{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"bonus_rate","type":"uint8"},{"name":"sell_limit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newName","type":"string"}],"name":"changeTokenName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"checkVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"tokenClose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfer_close","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"start_timestamp","type":"uint256"},{"name":"end_timestamp","type":"uint256"},{"name":"bonus_rate","type":"uint8"},{"name":"sell_token_limit","type":"uint256"}],"name":"newSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_addTimestamp","type":"uint256"}],"name":"freezeAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"voteClose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newSymbol","type":"string"}],"name":"changeTokenSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"transferOpen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezeDateOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_conversion_rate","type":"uint256"}],"name":"changeConversionRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"},{"name":"start_timestamp","type":"uint256"}],"name":"changeSaleStart","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"conversion_rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_hoarder","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSaleLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addition","type":"uint256"}],"name":"additionalTotalSupply","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tos","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"superMintBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner_address","type":"address"},{"name":"_token_wallet_address","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"},{"indexed":false,"name":"eth_amount","type":"uint256"}],"name":"Payable","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":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"vote_id","type":"uint256"},{"indexed":false,"name":"generator","type":"address"},{"indexed":false,"name":"descript","type":"string"}],"name":"ProposalAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"vote_id","type":"uint256"},{"indexed":false,"name":"descript","type":"string"}],"name":"ProposalEnd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"}],"name":"ChangeTokenName","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"}],"name":"ChangeTokenSymbol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"}],"name":"ChangeTokenWalletAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint256"},{"indexed":true,"name":"to","type":"uint256"}],"name":"ChangeTotalSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint256"},{"indexed":true,"name":"to","type":"uint256"}],"name":"ChangeConversionRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint256"},{"indexed":true,"name":"to","type":"uint256"}],"name":"ChangeFreezeTime","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_who","type":"address"},{"indexed":false,"name":"_date","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_who","type":"address"}],"name":"Melt","type":"event"}]

606060405260408051908101604052600481527f4355424500000000000000000000000000000000000000000000000000000000602082015260059080516200004d929160200190620001ca565b5060408051908101604052600481527f4155544f000000000000000000000000000000000000000000000000000000006020820152600690805162000097929160200190620001ca565b5060126007556b1743b34e18439b5020000000600855620186a06009556000600a556010805461ffff191690553415620000d057600080fd5b604051604080620035cd833981016040528080519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508216151590506200011f57600080fd5b600160a060020a03821615620001625760008054600160a060020a031916600160a060020a0384811691909117808355168152600c602052604081205562000191565b60008054600160a060020a03191633600160a060020a0390811691909117808355168152600c60205260408120555b60048054600160a060020a031916600160a060020a03928316179081905560085491166000908152600c6020526040902055506200026f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020d57805160ff19168380011785556200023d565b828001600101855582156200023d579182015b828111156200023d57825182559160200191906001019062000220565b506200024b9291506200024f565b5090565b6200026c91905b808211156200024b576000815560010162000256565b90565b61334e806200027f6000396000f3006060604052600436106102b35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610325578063095ea7b3146103af5780630d33cfa0146103e55780630e05a512146104045780631725b8471461042357806318160ddd1461043657806318ece6321461045b578063191ad1901461048357806323a36d2b1461049657806323b872dd146104bb578063313ce567146104e5578063349c3d75146104f857806337f2beed146105145780633940e9ee1461057d5780633b3672bd146105905780633f6c0696146105a35780635c61c853146105c857806360734859146106a457806361840c69146106bd57806362fca3fa146106d357806363c1b7531461076257806364b3b844146107945780636eedc46d146107de57806370a08231146107fd578063715b208b1461081c57806372e2f8f51461082f5780637720e74c1461084e5780637e87cf30146108675780638263a9381461087a5780638820e2d61461088d5780638da5cb5b146108ff578063913918a6146109125780639316c3e71461093757806395d89b41146109c65780639acf603b146109d95780639dc29fac146109ec578063a7cdc2ad14610a0e578063a9059cbb14610a2d578063aae3d02514610a4f578063acb74e7314610a62578063b0018bfc14610a75578063b0417e9814610ac6578063b3a844ae14610ad9578063b6abd4e714610aec578063b9bd4f7614610aff578063bd9934f114610b21578063c6279ab114610b43578063c6d3ab9d14610b56578063c8a73eca14610ba7578063d28e88bd14610bba578063d3895c9114610bd9578063d4b0e96614610bef578063da73f0f914610c08578063dd62ed3e14610c1b578063e5926ddc14610c40578063e8992d4014610c53578063eba2a91b14610c69578063f2fde38b14610cf8575b34600160a060020a03331681156108fc0282604051600060405180830381858888f1935050505015156102e557600080fd5b33600160a060020a03167f9b29a2957f5f631926547e5cbadee5b66cbd705ebbf2c26eb7583f04b4f04ab58260405190815260200160405180910390a250005b341561033057600080fd5b610338610d17565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037457808201518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ba57600080fd5b6103d1600160a060020a0360043516602435610db5565b604051901515815260200160405180910390f35b34156103f057600080fd5b6103d1600160a060020a0360043516610e20565b341561040f57600080fd5b6103d1600160a060020a0360043516610e4e565b341561042e57600080fd5b6103d1610eac565b341561044157600080fd5b610449610ed9565b60405190815260200160405180910390f35b341561046657600080fd5b6103d1600160a060020a0360043581169060243516604435610ee0565b341561048e57600080fd5b6103d1610f64565b34156104a157600080fd5b6103d1600160a060020a0360043516602435604435610f72565b34156104c657600080fd5b6104e3600160a060020a0360043581169060243516604435611126565b005b34156104f057600080fd5b6104496111c3565b341561050357600080fd5b6103d160043560ff602435166111c9565b341561051f57600080fd5b61052a600435611236565b60405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610569578082015183820152602001610551565b505050509050019250505060405180910390f35b341561058857600080fd5b6104496112bd565b341561059b57600080fd5b6104496112c3565b34156105ae57600080fd5b6103d1600160a060020a03600435166024356044356112e6565b34156105d357600080fd5b6105de600435611439565b604051808a600160a060020a0316600160a060020a03168152602001806020018981526020018881526020018715151515815260200186815260200185815260200184815260200183815260200182810382528a818151815260200191508051906020019080838360005b83811015610661578082015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156106af57600080fd5b6103d160043560243561163f565b34156106c857600080fd5b6104496004356116a3565b34156106de57600080fd5b6104e36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506116c795505050505050565b341561076d57600080fd5b610778600435611742565b604051600160a060020a03909116815260200160405180910390f35b341561079f57600080fd5b6107aa600435611787565b604051948552602085019390935260408085019290925260ff166060840152608083019190915260a0909101905180910390f35b34156107e957600080fd5b6103d1600160a060020a036004351661184e565b341561080857600080fd5b610449600160a060020a03600435166118c0565b341561082757600080fd5b61052a6118db565b341561083a57600080fd5b6103d1600160a060020a036004351661195e565b341561085957600080fd5b6103d160043560243561198d565b341561087257600080fd5b6104e36119f1565b341561088557600080fd5b610449611a1d565b341561089857600080fd5b61044960048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606001359150611a239050565b341561090a57600080fd5b610778611c21565b341561091d57600080fd5b6103d160043560243560443560ff60643516608435611c30565b341561094257600080fd5b6104e3600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650611d3495505050505050565b34156109d157600080fd5b610338611d8d565b34156109e457600080fd5b610778611df8565b34156109f757600080fd5b6103d1600160a060020a0360043516602435611e07565b3415610a1957600080fd5b6103d1600160a060020a0360043516611eab565b3415610a3857600080fd5b6104e3600160a060020a0360043516602435611ee7565b3415610a5a57600080fd5b6104e3611ef6565b3415610a6d57600080fd5b6107aa611f20565b3415610a8057600080fd5b6104e360046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611f7795505050505050565b3415610ad157600080fd5b6104e3611fdf565b3415610ae457600080fd5b6104e361203e565b3415610af757600080fd5b6103d1612066565b3415610b0a57600080fd5b6104e360043560243560ff6044351660643561206f565b3415610b2c57600080fd5b6103d1600160a060020a03600435166024356121c5565b3415610b4e57600080fd5b6104e36121f4565b3415610b6157600080fd5b6104e360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061232b95505050505050565b3415610bb257600080fd5b6104e3612393565b3415610bc557600080fd5b610449600160a060020a03600435166123ba565b3415610be457600080fd5b6104e36004356123cc565b3415610bfa57600080fd5b6103d1600435602435612430565b3415610c1357600080fd5b610449612496565b3415610c2657600080fd5b610449600160a060020a036004358116906024351661249c565b3415610c4b57600080fd5b6104496124c7565b3415610c5e57600080fd5b6103d16004356124cd565b3415610c7457600080fd5b6104e360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061253695505050505050565b3415610d0357600080fd5b6104e3600160a060020a03600435166125ac565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b820191906000526020600020905b815481529060010190602001808311610d9057829003601f168201915b505050505081565b600033600160a060020a03161515610dcc57600080fd5b600160a060020a0383161515610de157600080fd5b6000821015610def57600080fd5b50600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b6000805433600160a060020a03908116911614610e3c57600080fd5b610e458261260b565b5060015b919050565b60008054819033600160a060020a03908116911614610e6c57600080fd5b600160a060020a0383161515610e8157600080fd5b610e8a836118c0565b905060008111610e9957600080fd5b610ea38382612671565b91505b50919050565b60003381610eb9826118c0565b905060008111610ec857600080fd5b610ed28282612671565b9250505090565b6008545b90565b6000805433600160a060020a03908116911614610efc57600080fd5b600160a060020a0384161515610f1157600080fd5b600160a060020a0383161515610f2657600080fd5b6000821015610f3457600080fd5b50600160a060020a039283166000908152600d602090815260408083209490951682529290925291902055600190565b601054610100900460ff1681565b6000806000610f7f6130a3565b600080548190819033600160a060020a03908116911614610f9f57600080fd5b60008911610fac57600080fd5b600454600160a060020a03166000908152600c602052604090205489901015610fd457600080fd5b600160a060020a038a166000908152600c602052604090205489810111610ffa57600080fd5b600095506000945061100a6129d7565b9350935082156110525783519450836060015191506110298983612b8f565b95506110358587612bcc565b151560011461104357600080fd5b61104d8587612cad565b611084565b601054610100900460ff161561106a57889550611084565b60105460ff61010090910416151560011461108457600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548990039055918b1681529081208054870190558088106110c15750865b6110cd8a824201612d06565b89600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8860405190815260200160405180910390a36111158a612d5a565b5060019a9950505050505050505050565b33600160a060020a0316151561113b57600080fd5b600160a060020a038316151561115057600080fd5b600160a060020a038084166000908152600d60209081526040808320339094168352929052205481111561118357600080fd5b61118e838383612e20565b600160a060020a039283166000908152600d602090815260408083203390961683529490529290922080549290920390915550565b60075481565b6000805433600160a060020a039081169116146111e557600080fd5b60015483106111f357600080fd5b8160018481548110151561120357fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff1602179055506001905092915050565b61123e6130d6565b600b80548390811061124c57fe5b90600052602060002090600c0201600b018054806020026020016040519081016040528092919081815260200182805480156112b157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611293575b50505050509050919050565b60085481565b6000805433600160a060020a039081169116146112df57600080fd5b50600f5490565b60008054819033600160a060020a0390811691161461130457600080fd5b6000841161131157600080fd5b600454600160a060020a03166000908152600c60205260409020548490101561133957600080fd5b600160a060020a0385166000908152600c60205260409020548481011161135f57600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548790039055918616815290812080548501905580831061139c5750815b6113a885824201612d06565b84600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858560405190815260200160405180910390a261142d85612d5a565b50600195945050505050565b60006114436130d6565b6000806000806000806000600b8a81548110151561145d57fe5b60009182526020909120600c9091020154600b8054600160a060020a039092169a50908b90811061148a57fe5b90600052602060002090600c02016001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b50505050509750600b8a81548110151561154557fe5b90600052602060002090600c0201600201549650600b8a81548110151561156857fe5b90600052602060002090600c0201600301549550600b8a81548110151561158b57fe5b600091825260209091206004600c909202010154600b805460ff9092169650908b9081106115b557fe5b90600052602060002090600c0201600701549350600b8a8154811015156115d857fe5b90600052602060002090600c0201600801549250600b8a8154811015156115fb57fe5b90600052602060002090600c0201600501549150600b8a81548110151561161e57fe5b90600052602060002090600c02016006015490509193959799909294969850565b6000805433600160a060020a0390811691161461165b57600080fd5b600154831061166957600080fd5b6000821161167657600080fd5b8160018481548110151561168657fe5b600091825260209091206004600590920201015550600192915050565b60006002828154811015156116b457fe5b9060005260206000209001549050919050565b6000805433600160a060020a039081169116146116e357600080fd5b81518351146116f157600080fd5b5060005b825181101561173d5761173483828151811061170d57fe5b9060200190602002015183838151811061172357fe5b906020019060200201516000610f72565b506001016116f5565b505050565b6000805433600160a060020a0390811691161461175e57600080fd5b600f80548390811061176c57fe5b600091825260209091200154600160a060020a031692915050565b600080600080600060018681548110151561179e57fe5b90600052602060002090600502016000015494506001868154811015156117c157fe5b90600052602060002090600502016001015493506001868154811015156117e457fe5b906000526020600020906005020160020154925060018681548110151561180757fe5b60009182526020909120600360059092020101546001805460ff9092169350908790811061183157fe5b906000526020600020906005020160040154905091939590929450565b60008054819033600160a060020a0390811691161461186c57600080fd5b600160a060020a038316151561188157600080fd5b5060048054600160a060020a039081166000908152600c60205260408082205486841683528183208190559354909216815290812055610ea683612f61565b600160a060020a03166000908152600c602052604090205490565b6118e36130d6565b60005433600160a060020a039081169116146118fe57600080fd5b600f80548060200260200160405190810160405280929190818152602001828054801561195457602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611936575b5050505050905090565b600160a060020a038116600090815260036020526040812054421061198557506000610e49565b506001610e49565b6000805433600160a060020a039081169116146119a957600080fd5b60015483106119b757600080fd5b600082116119c457600080fd5b816001848154811015156119d457fe5b600091825260209091206002600590920201015550600192915050565b60005433600160a060020a03908116911614611a0c57600080fd5b6010805461ff001916610100179055565b600b5490565b60008054819033600160a060020a03908116911614611a4157600080fd5b600b5460019010611ab25785600b600a54815481101515611a5e57fe5b90600052602060002090600c020160030154101515611a7c57600080fd5b600b600a54815481101515611a8d57fe5b600091825260209091206004600c90920201015460ff161515600114611ab257600080fd5b600b8054600a819055611ac882600183016130e8565b81548110611ad257fe5b60009182526020909120600c90910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a16178155905060018101878051611b1f929160200190613114565b50600281018690556003810185905560048101805460ff191690556005810184905560068101839055600060078201819055611b5f90600b830190613192565b7f43668efaa788fb6b06a31e91bec501787611092634a0b8e767b3483242f0644f600a548989604051838152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b83811015611bd6578082015183820152602001611bbe565b50505050905090810190601f168015611c035780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050600a549695505050505050565b600054600160a060020a031681565b6000805433600160a060020a03908116911614611c4c57600080fd5b6001548610611c5a57600080fd5b60008511611c6757600080fd5b60008411611c7457600080fd5b60008211611c8157600080fd5b84600187815481101515611c9157fe5b90600052602060002090600502016001018190555083600187815481101515611cb657fe5b90600052602060002090600502016002018190555082600187815481101515611cdb57fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff16021790555081600187815481101515611d1457fe5b600091825260209091206004600590920201015550600195945050505050565b60008151835114611d4457600080fd5b5060005b825181101561173d57611d85838281518110611d6057fe5b90602001906020020151838381518110611d7657fe5b90602001906020020151611ee7565b600101611d48565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b600454600160a060020a031681565b6000805433600160a060020a03908116911614611e2357600080fd5b60008211611e3057600080fd5b81611e3a846118c0565b1015611e4557600080fd5b600160a060020a0383166000818152600c602052604090819020805485900390556008805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000600160a060020a0382161515611ec557506000610e49565b50600160a060020a0381166000908152600e602052604090205460ff16610e49565b611ef2338383612e20565b5050565b60005433600160a060020a03908116911614611f1157600080fd5b6010805460ff19166001179055565b6000806000806000611f306130a3565b6000611f3a6129d7565b9092509050600181151514611f4e57600080fd5b815196508160200151955081604001519450816060015193508160800151925050509091929394565b60005433600160a060020a03908116911614611f9257600080fd5b6005818051611fa5929160200190613114565b5033600160a060020a03167fdadb20be9d77ea17b31d336da02f73cacca8a15e298fd22d8771fd605a22b55760405160405180910390a250565b60005433600160a060020a03908116911614611ffa57600080fd5b600b546001901080159061202f575042600b600a5481548110151561201b57fe5b90600052602060002090600c020160030154105b1561203c5761203c6121f4565b565b60005433600160a060020a0390811691161461205957600080fd5b6010805461ff0019169055565b60105460ff1681565b60008054819033600160a060020a0390811691161461208d57600080fd5b6000861161209a57600080fd5b600085116120a757600080fd5b600083116120b457600080fd5b505060015460005b6001548110156120fc57856001828154811015156120d657fe5b9060005260206000209060050201600201541015156120f457600080fd5b6001016120bc565b60a0604051908101604090815283825260208201889052810186905260ff851660608201526080810184905260018054612138828281016131b3565b8154811061214257fe5b9060005260206000209060050201600082015181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516004909101555060028054600091906121a782600183016131df565b815481106121b157fe5b600091825260209091200155505050505050565b6000805433600160a060020a039081169116146121e157600080fd5b6121eb8383612d06565b50600192915050565b60005433600160a060020a0390811691161461220f57600080fd5b600b546001901061203c576001600b600a5481548110151561222d57fe5b90600052602060002090600c020160040160006101000a81548160ff0219169083151502179055507fc37991e3c775e6b1801058fdaf62ba55bd74756854d9ac3b11ba4de5f982f99e600a54600b600a5481548110151561228a57fe5b90600052602060002090600c02016001016040518281526040602082018181528354600260001961010060018416150201909116049183018290529060608301908490801561231a5780601f106122ef5761010080835404028352916020019161231a565b820191906000526020600020905b8154815290600101906020018083116122fd57829003601f168201915b5050935050505060405180910390a1565b60005433600160a060020a0390811691161461234657600080fd5b6006818051612359929160200190613114565b5033600160a060020a03167f66a857f48884758bc7cdb4ed42437ead131a3b8206a03f877ccce37c6e54c71e60405160405180910390a250565b60005433600160a060020a039081169116146123ae57600080fd5b6010805460ff19169055565b60036020526000908152604090205481565b6000805433600160a060020a039081169116146123e857600080fd5b600082116123f557600080fd5b50600980549082905581817f9af003bd4853b99f968563a4b5b828f1cea45068f8d0d6f53f017fc1a8e0354b60405160405180910390a35050565b6000805433600160a060020a0390811691161461244c57600080fd5b600154831061245a57600080fd5b6000821161246757600080fd5b8160018481548110151561247757fe5b9060005260206000209060050201600101819055506001905092915050565b60095481565b600160a060020a039182166000908152600d6020908152604080832093909416825291909152205490565b60015490565b60008054819033600160a060020a039081169116146124eb57600080fd5b600083116124f857600080fd5b60085461250b908463ffffffff612ff516565b600454600160a060020a03166000908152600c602052604090208054850190559050610ea681613004565b6000805433600160a060020a0390811691161461255257600080fd5b815183511461256057600080fd5b5060005b825181101561173d576125a383828151811061257c57fe5b9060200190602002015183838151811061259257fe5b9060200190602002015160006112e6565b50600101612564565b60005433600160a060020a039081169116146125c757600080fd5b600160a060020a03811615156125dc57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161461262657600080fd5b600160a060020a038116600081815260036020526040908190204290557f33d0a56b2045491e09850aff553970a014517abe73114e055855b96c69005720905160405180910390a250565b600042600b600a5481548110151561268557fe5b90600052602060002090600c02016003015410156126d3576001600b600a548154811015156126b057fe5b60009182526020909120600c90910201600401805460ff19169115159190911790555b600b600a548154811015156126e457fe5b600091825260209091206004600c90920201015460ff161561270557600080fd5b42600b600a5481548110151561271757fe5b90600052602060002090600c02016003015411151561273557600080fd5b42600b600a5481548110151561274757fe5b90600052602060002090600c0201600201541115151561276657600080fd5b600b600a5481548110151561277757fe5b60009182526020808320600160a060020a0387168452600a600c90930201919091019052604090205460ff16156127ad57600080fd5b81600b600a548154811015156127bf57fe5b90600052602060002090600c020160050154111515156127de57600080fd5b6001600b600a548154811015156127f157fe5b60009182526020808320600160a060020a0388168452600a600c90930201820190526040909120805492151560ff199093169290921790915554600b805460019290811061283b57fe5b600091825260209091206007600c909202010180549091019055600a54600b8054849290811061286757fe5b60009182526020808320600160a060020a03881684526009600c909302019190910190526040902055600a54600b805484929081106128a257fe5b600091825260209091206008600c909202010180549091019055600a54600b805485929081106128ce57fe5b90600052602060002090600c0201600b01600b600a548154811015156128f057fe5b90600052602060002090600c0201600b01805480919060010161291391906131df565b8154811061291d57fe5b906000526020600020900160006101000a815481600160a060020a030219169083600160a060020a03160217905550600b600a5481548110151561295d57fe5b90600052602060002090600c020160060154600b600a5481548110151561298057fe5b90600052602060002090600c0201600801541015156121eb576001600b600a548154811015156129ac57fe5b60009182526020909120600c90910201600401805460ff191691151591909117905550600192915050565b6129df6130a3565b60008080808080805b600154861015612b85576001805487908110612a0057fe5b9060005260206000209060050201600201549450600186815481101515612a2357fe5b9060005260206000209060050201600401549350600186815481101515612a4657fe5b600091825260209091206003600590920201015460ff169250612a698484612b8f565b9150600286815481101515612a7a57fe5b9060005260206000209001549050844211158015612a9757508181105b15612b765760a060405190810160405280600188815481101515612ab757fe5b9060005260206000209060050201600001548152602001600188815481101515612add57fe5b9060005260206000209060050201600101548152602001600188815481101515612b0357fe5b9060005260206000209060050201600201548152602001600188815481101515612b2957fe5b60009182526020918290206003600590920201015460ff16825260018054929091019189908110612b5657fe5b906000526020600020906005020160040154815250975060019650612b85565b600096506001909501946129e8565b5050505050509091565b6000612bc5612bb86064612bac8660ff871663ffffffff61306816565b9063ffffffff61308c16565b849063ffffffff612ff516565b9392505050565b600080600080600080600288815481101515612be457fe5b9060005260206000209001549450600188815481101515612c0157fe5b9060005260206000209060050201600201549350600188815481101515612c2457fe5b9060005260206000209060050201600401549250600188815481101515612c4757fe5b600091825260209091206003600590920201015460ff169150612c6a8383612b8f565b905042849010612c7d5760009550612ca2565b80612c8e868963ffffffff612ff516565b1115612c9d5760009550612ca2565b600195505b505050505092915050565b60008111612cba57600080fd5b6002548210612cc857600080fd5b612cd28282612bcc565b1515600114612ce057600080fd5b80600283815481101515612cf057fe5b6000918252602090912001805490910190555050565b600160a060020a038216600081815260036020526040908190208390557ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e09083905190815260200160405180910390a25050565b6000600160a060020a0382161515612d7457506000610e49565b600160a060020a0382166000908152600e602052604090205460ff16151560011415612da257506000610e49565b600160a060020a0382166000908152600e60205260409020805460ff19166001908117909155600f80548492612ddb90839083016131df565b81548110612de557fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055919050565b6000600160a060020a0384161515612e3757600080fd5b600160a060020a0383161515612e4c57600080fd5b600160a060020a0384166000908152600c602052604090205482901015612e7257600080fd5b600160a060020a0383166000908152600c6020526040902054612e9b818463ffffffff612ff516565b1015612ea657600080fd5b60105460ff1615612eb657600080fd5b612ebf8461195e565b15612ec957600080fd5b50600160a060020a038281166000908152600c60205260408082208054938716835291208054848103825582548501928390559054920191018114612f0a57fe5b612f1383612d5a565b5082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b6000805433600160a060020a03908116911614612f7d57600080fd5b600160a060020a0382161515612f9257600080fd5b5060048054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831617928390559081169116817f737d8c8e31e545dc1c6678164ab5d755d0f47df46c8154c71a492d6745e27c3160405160405180910390a35050565b600082820183811015612bc557fe5b6000805433600160a060020a0390811691161461302057600080fd5b6000821161302d57600080fd5b50600880549082905581817f9a2b4bdfe09e60fd8f8f7601c8eb426298255a1983acbe31a88ea6675abd02e360405160405180910390a35050565b6000828202831580613084575082848281151561308157fe5b04145b1515612bc557fe5b600080828481151561309a57fe5b04949350505050565b60a060405190810160405280600081526020016000815260200160008152602001600060ff168152602001600081525090565b60206040519081016040526000815290565b81548183558181151161173d57600c0281600c02836000526020600020918201910161173d9190613203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061315557805160ff1916838001178555613182565b82800160010185558215613182579182015b82811115613182578251825591602001919060010190613167565b5061318e92915061328a565b5090565b50805460008255906000526020600020908101906131b0919061328a565b50565b81548183558181151161173d5760050281600502836000526020600020918201910161173d91906132a4565b81548183558181151161173d5760008381526020902061173d91810190830161328a565b610edd91905b8082111561318e57805473ffffffffffffffffffffffffffffffffffffffff19168155600061323b60018301826132de565b6000600283018190556003830181905560048301805460ff191690556005830181905560068301819055600783018190556008830181905561328190600b840190613192565b50600c01613209565b610edd91905b8082111561318e5760008155600101613290565b610edd91905b8082111561318e576000808255600182018190556002820181905560038201805460ff1916905560048201556005016132aa565b50805460018160011615610100020316600290046000825580601f1061330457506131b0565b601f0160209004906000526020600020908101906131b0919061328a5600a165627a7a72305820a152bb982067594bc83ca41a8541d51dac8baa2c8e8bbedcf368e76aebe73eb10029000000000000000000000000d686d295fda81676b92d4d612228714a903e13700000000000000000000000001e67b711fa854199adacaaee5b39380250db7ec1

Deployed Bytecode

0x6060604052600436106102b35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610325578063095ea7b3146103af5780630d33cfa0146103e55780630e05a512146104045780631725b8471461042357806318160ddd1461043657806318ece6321461045b578063191ad1901461048357806323a36d2b1461049657806323b872dd146104bb578063313ce567146104e5578063349c3d75146104f857806337f2beed146105145780633940e9ee1461057d5780633b3672bd146105905780633f6c0696146105a35780635c61c853146105c857806360734859146106a457806361840c69146106bd57806362fca3fa146106d357806363c1b7531461076257806364b3b844146107945780636eedc46d146107de57806370a08231146107fd578063715b208b1461081c57806372e2f8f51461082f5780637720e74c1461084e5780637e87cf30146108675780638263a9381461087a5780638820e2d61461088d5780638da5cb5b146108ff578063913918a6146109125780639316c3e71461093757806395d89b41146109c65780639acf603b146109d95780639dc29fac146109ec578063a7cdc2ad14610a0e578063a9059cbb14610a2d578063aae3d02514610a4f578063acb74e7314610a62578063b0018bfc14610a75578063b0417e9814610ac6578063b3a844ae14610ad9578063b6abd4e714610aec578063b9bd4f7614610aff578063bd9934f114610b21578063c6279ab114610b43578063c6d3ab9d14610b56578063c8a73eca14610ba7578063d28e88bd14610bba578063d3895c9114610bd9578063d4b0e96614610bef578063da73f0f914610c08578063dd62ed3e14610c1b578063e5926ddc14610c40578063e8992d4014610c53578063eba2a91b14610c69578063f2fde38b14610cf8575b34600160a060020a03331681156108fc0282604051600060405180830381858888f1935050505015156102e557600080fd5b33600160a060020a03167f9b29a2957f5f631926547e5cbadee5b66cbd705ebbf2c26eb7583f04b4f04ab58260405190815260200160405180910390a250005b341561033057600080fd5b610338610d17565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037457808201518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ba57600080fd5b6103d1600160a060020a0360043516602435610db5565b604051901515815260200160405180910390f35b34156103f057600080fd5b6103d1600160a060020a0360043516610e20565b341561040f57600080fd5b6103d1600160a060020a0360043516610e4e565b341561042e57600080fd5b6103d1610eac565b341561044157600080fd5b610449610ed9565b60405190815260200160405180910390f35b341561046657600080fd5b6103d1600160a060020a0360043581169060243516604435610ee0565b341561048e57600080fd5b6103d1610f64565b34156104a157600080fd5b6103d1600160a060020a0360043516602435604435610f72565b34156104c657600080fd5b6104e3600160a060020a0360043581169060243516604435611126565b005b34156104f057600080fd5b6104496111c3565b341561050357600080fd5b6103d160043560ff602435166111c9565b341561051f57600080fd5b61052a600435611236565b60405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610569578082015183820152602001610551565b505050509050019250505060405180910390f35b341561058857600080fd5b6104496112bd565b341561059b57600080fd5b6104496112c3565b34156105ae57600080fd5b6103d1600160a060020a03600435166024356044356112e6565b34156105d357600080fd5b6105de600435611439565b604051808a600160a060020a0316600160a060020a03168152602001806020018981526020018881526020018715151515815260200186815260200185815260200184815260200183815260200182810382528a818151815260200191508051906020019080838360005b83811015610661578082015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156106af57600080fd5b6103d160043560243561163f565b34156106c857600080fd5b6104496004356116a3565b34156106de57600080fd5b6104e36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506116c795505050505050565b341561076d57600080fd5b610778600435611742565b604051600160a060020a03909116815260200160405180910390f35b341561079f57600080fd5b6107aa600435611787565b604051948552602085019390935260408085019290925260ff166060840152608083019190915260a0909101905180910390f35b34156107e957600080fd5b6103d1600160a060020a036004351661184e565b341561080857600080fd5b610449600160a060020a03600435166118c0565b341561082757600080fd5b61052a6118db565b341561083a57600080fd5b6103d1600160a060020a036004351661195e565b341561085957600080fd5b6103d160043560243561198d565b341561087257600080fd5b6104e36119f1565b341561088557600080fd5b610449611a1d565b341561089857600080fd5b61044960048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606001359150611a239050565b341561090a57600080fd5b610778611c21565b341561091d57600080fd5b6103d160043560243560443560ff60643516608435611c30565b341561094257600080fd5b6104e3600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650611d3495505050505050565b34156109d157600080fd5b610338611d8d565b34156109e457600080fd5b610778611df8565b34156109f757600080fd5b6103d1600160a060020a0360043516602435611e07565b3415610a1957600080fd5b6103d1600160a060020a0360043516611eab565b3415610a3857600080fd5b6104e3600160a060020a0360043516602435611ee7565b3415610a5a57600080fd5b6104e3611ef6565b3415610a6d57600080fd5b6107aa611f20565b3415610a8057600080fd5b6104e360046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611f7795505050505050565b3415610ad157600080fd5b6104e3611fdf565b3415610ae457600080fd5b6104e361203e565b3415610af757600080fd5b6103d1612066565b3415610b0a57600080fd5b6104e360043560243560ff6044351660643561206f565b3415610b2c57600080fd5b6103d1600160a060020a03600435166024356121c5565b3415610b4e57600080fd5b6104e36121f4565b3415610b6157600080fd5b6104e360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061232b95505050505050565b3415610bb257600080fd5b6104e3612393565b3415610bc557600080fd5b610449600160a060020a03600435166123ba565b3415610be457600080fd5b6104e36004356123cc565b3415610bfa57600080fd5b6103d1600435602435612430565b3415610c1357600080fd5b610449612496565b3415610c2657600080fd5b610449600160a060020a036004358116906024351661249c565b3415610c4b57600080fd5b6104496124c7565b3415610c5e57600080fd5b6103d16004356124cd565b3415610c7457600080fd5b6104e360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061253695505050505050565b3415610d0357600080fd5b6104e3600160a060020a03600435166125ac565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b820191906000526020600020905b815481529060010190602001808311610d9057829003601f168201915b505050505081565b600033600160a060020a03161515610dcc57600080fd5b600160a060020a0383161515610de157600080fd5b6000821015610def57600080fd5b50600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b6000805433600160a060020a03908116911614610e3c57600080fd5b610e458261260b565b5060015b919050565b60008054819033600160a060020a03908116911614610e6c57600080fd5b600160a060020a0383161515610e8157600080fd5b610e8a836118c0565b905060008111610e9957600080fd5b610ea38382612671565b91505b50919050565b60003381610eb9826118c0565b905060008111610ec857600080fd5b610ed28282612671565b9250505090565b6008545b90565b6000805433600160a060020a03908116911614610efc57600080fd5b600160a060020a0384161515610f1157600080fd5b600160a060020a0383161515610f2657600080fd5b6000821015610f3457600080fd5b50600160a060020a039283166000908152600d602090815260408083209490951682529290925291902055600190565b601054610100900460ff1681565b6000806000610f7f6130a3565b600080548190819033600160a060020a03908116911614610f9f57600080fd5b60008911610fac57600080fd5b600454600160a060020a03166000908152600c602052604090205489901015610fd457600080fd5b600160a060020a038a166000908152600c602052604090205489810111610ffa57600080fd5b600095506000945061100a6129d7565b9350935082156110525783519450836060015191506110298983612b8f565b95506110358587612bcc565b151560011461104357600080fd5b61104d8587612cad565b611084565b601054610100900460ff161561106a57889550611084565b60105460ff61010090910416151560011461108457600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548990039055918b1681529081208054870190558088106110c15750865b6110cd8a824201612d06565b89600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8860405190815260200160405180910390a36111158a612d5a565b5060019a9950505050505050505050565b33600160a060020a0316151561113b57600080fd5b600160a060020a038316151561115057600080fd5b600160a060020a038084166000908152600d60209081526040808320339094168352929052205481111561118357600080fd5b61118e838383612e20565b600160a060020a039283166000908152600d602090815260408083203390961683529490529290922080549290920390915550565b60075481565b6000805433600160a060020a039081169116146111e557600080fd5b60015483106111f357600080fd5b8160018481548110151561120357fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff1602179055506001905092915050565b61123e6130d6565b600b80548390811061124c57fe5b90600052602060002090600c0201600b018054806020026020016040519081016040528092919081815260200182805480156112b157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611293575b50505050509050919050565b60085481565b6000805433600160a060020a039081169116146112df57600080fd5b50600f5490565b60008054819033600160a060020a0390811691161461130457600080fd5b6000841161131157600080fd5b600454600160a060020a03166000908152600c60205260409020548490101561133957600080fd5b600160a060020a0385166000908152600c60205260409020548481011161135f57600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548790039055918616815290812080548501905580831061139c5750815b6113a885824201612d06565b84600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858560405190815260200160405180910390a261142d85612d5a565b50600195945050505050565b60006114436130d6565b6000806000806000806000600b8a81548110151561145d57fe5b60009182526020909120600c9091020154600b8054600160a060020a039092169a50908b90811061148a57fe5b90600052602060002090600c02016001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b50505050509750600b8a81548110151561154557fe5b90600052602060002090600c0201600201549650600b8a81548110151561156857fe5b90600052602060002090600c0201600301549550600b8a81548110151561158b57fe5b600091825260209091206004600c909202010154600b805460ff9092169650908b9081106115b557fe5b90600052602060002090600c0201600701549350600b8a8154811015156115d857fe5b90600052602060002090600c0201600801549250600b8a8154811015156115fb57fe5b90600052602060002090600c0201600501549150600b8a81548110151561161e57fe5b90600052602060002090600c02016006015490509193959799909294969850565b6000805433600160a060020a0390811691161461165b57600080fd5b600154831061166957600080fd5b6000821161167657600080fd5b8160018481548110151561168657fe5b600091825260209091206004600590920201015550600192915050565b60006002828154811015156116b457fe5b9060005260206000209001549050919050565b6000805433600160a060020a039081169116146116e357600080fd5b81518351146116f157600080fd5b5060005b825181101561173d5761173483828151811061170d57fe5b9060200190602002015183838151811061172357fe5b906020019060200201516000610f72565b506001016116f5565b505050565b6000805433600160a060020a0390811691161461175e57600080fd5b600f80548390811061176c57fe5b600091825260209091200154600160a060020a031692915050565b600080600080600060018681548110151561179e57fe5b90600052602060002090600502016000015494506001868154811015156117c157fe5b90600052602060002090600502016001015493506001868154811015156117e457fe5b906000526020600020906005020160020154925060018681548110151561180757fe5b60009182526020909120600360059092020101546001805460ff9092169350908790811061183157fe5b906000526020600020906005020160040154905091939590929450565b60008054819033600160a060020a0390811691161461186c57600080fd5b600160a060020a038316151561188157600080fd5b5060048054600160a060020a039081166000908152600c60205260408082205486841683528183208190559354909216815290812055610ea683612f61565b600160a060020a03166000908152600c602052604090205490565b6118e36130d6565b60005433600160a060020a039081169116146118fe57600080fd5b600f80548060200260200160405190810160405280929190818152602001828054801561195457602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611936575b5050505050905090565b600160a060020a038116600090815260036020526040812054421061198557506000610e49565b506001610e49565b6000805433600160a060020a039081169116146119a957600080fd5b60015483106119b757600080fd5b600082116119c457600080fd5b816001848154811015156119d457fe5b600091825260209091206002600590920201015550600192915050565b60005433600160a060020a03908116911614611a0c57600080fd5b6010805461ff001916610100179055565b600b5490565b60008054819033600160a060020a03908116911614611a4157600080fd5b600b5460019010611ab25785600b600a54815481101515611a5e57fe5b90600052602060002090600c020160030154101515611a7c57600080fd5b600b600a54815481101515611a8d57fe5b600091825260209091206004600c90920201015460ff161515600114611ab257600080fd5b600b8054600a819055611ac882600183016130e8565b81548110611ad257fe5b60009182526020909120600c90910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a16178155905060018101878051611b1f929160200190613114565b50600281018690556003810185905560048101805460ff191690556005810184905560068101839055600060078201819055611b5f90600b830190613192565b7f43668efaa788fb6b06a31e91bec501787611092634a0b8e767b3483242f0644f600a548989604051838152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b83811015611bd6578082015183820152602001611bbe565b50505050905090810190601f168015611c035780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050600a549695505050505050565b600054600160a060020a031681565b6000805433600160a060020a03908116911614611c4c57600080fd5b6001548610611c5a57600080fd5b60008511611c6757600080fd5b60008411611c7457600080fd5b60008211611c8157600080fd5b84600187815481101515611c9157fe5b90600052602060002090600502016001018190555083600187815481101515611cb657fe5b90600052602060002090600502016002018190555082600187815481101515611cdb57fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff16021790555081600187815481101515611d1457fe5b600091825260209091206004600590920201015550600195945050505050565b60008151835114611d4457600080fd5b5060005b825181101561173d57611d85838281518110611d6057fe5b90602001906020020151838381518110611d7657fe5b90602001906020020151611ee7565b600101611d48565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b600454600160a060020a031681565b6000805433600160a060020a03908116911614611e2357600080fd5b60008211611e3057600080fd5b81611e3a846118c0565b1015611e4557600080fd5b600160a060020a0383166000818152600c602052604090819020805485900390556008805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000600160a060020a0382161515611ec557506000610e49565b50600160a060020a0381166000908152600e602052604090205460ff16610e49565b611ef2338383612e20565b5050565b60005433600160a060020a03908116911614611f1157600080fd5b6010805460ff19166001179055565b6000806000806000611f306130a3565b6000611f3a6129d7565b9092509050600181151514611f4e57600080fd5b815196508160200151955081604001519450816060015193508160800151925050509091929394565b60005433600160a060020a03908116911614611f9257600080fd5b6005818051611fa5929160200190613114565b5033600160a060020a03167fdadb20be9d77ea17b31d336da02f73cacca8a15e298fd22d8771fd605a22b55760405160405180910390a250565b60005433600160a060020a03908116911614611ffa57600080fd5b600b546001901080159061202f575042600b600a5481548110151561201b57fe5b90600052602060002090600c020160030154105b1561203c5761203c6121f4565b565b60005433600160a060020a0390811691161461205957600080fd5b6010805461ff0019169055565b60105460ff1681565b60008054819033600160a060020a0390811691161461208d57600080fd5b6000861161209a57600080fd5b600085116120a757600080fd5b600083116120b457600080fd5b505060015460005b6001548110156120fc57856001828154811015156120d657fe5b9060005260206000209060050201600201541015156120f457600080fd5b6001016120bc565b60a0604051908101604090815283825260208201889052810186905260ff851660608201526080810184905260018054612138828281016131b3565b8154811061214257fe5b9060005260206000209060050201600082015181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516004909101555060028054600091906121a782600183016131df565b815481106121b157fe5b600091825260209091200155505050505050565b6000805433600160a060020a039081169116146121e157600080fd5b6121eb8383612d06565b50600192915050565b60005433600160a060020a0390811691161461220f57600080fd5b600b546001901061203c576001600b600a5481548110151561222d57fe5b90600052602060002090600c020160040160006101000a81548160ff0219169083151502179055507fc37991e3c775e6b1801058fdaf62ba55bd74756854d9ac3b11ba4de5f982f99e600a54600b600a5481548110151561228a57fe5b90600052602060002090600c02016001016040518281526040602082018181528354600260001961010060018416150201909116049183018290529060608301908490801561231a5780601f106122ef5761010080835404028352916020019161231a565b820191906000526020600020905b8154815290600101906020018083116122fd57829003601f168201915b5050935050505060405180910390a1565b60005433600160a060020a0390811691161461234657600080fd5b6006818051612359929160200190613114565b5033600160a060020a03167f66a857f48884758bc7cdb4ed42437ead131a3b8206a03f877ccce37c6e54c71e60405160405180910390a250565b60005433600160a060020a039081169116146123ae57600080fd5b6010805460ff19169055565b60036020526000908152604090205481565b6000805433600160a060020a039081169116146123e857600080fd5b600082116123f557600080fd5b50600980549082905581817f9af003bd4853b99f968563a4b5b828f1cea45068f8d0d6f53f017fc1a8e0354b60405160405180910390a35050565b6000805433600160a060020a0390811691161461244c57600080fd5b600154831061245a57600080fd5b6000821161246757600080fd5b8160018481548110151561247757fe5b9060005260206000209060050201600101819055506001905092915050565b60095481565b600160a060020a039182166000908152600d6020908152604080832093909416825291909152205490565b60015490565b60008054819033600160a060020a039081169116146124eb57600080fd5b600083116124f857600080fd5b60085461250b908463ffffffff612ff516565b600454600160a060020a03166000908152600c602052604090208054850190559050610ea681613004565b6000805433600160a060020a0390811691161461255257600080fd5b815183511461256057600080fd5b5060005b825181101561173d576125a383828151811061257c57fe5b9060200190602002015183838151811061259257fe5b9060200190602002015160006112e6565b50600101612564565b60005433600160a060020a039081169116146125c757600080fd5b600160a060020a03811615156125dc57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161461262657600080fd5b600160a060020a038116600081815260036020526040908190204290557f33d0a56b2045491e09850aff553970a014517abe73114e055855b96c69005720905160405180910390a250565b600042600b600a5481548110151561268557fe5b90600052602060002090600c02016003015410156126d3576001600b600a548154811015156126b057fe5b60009182526020909120600c90910201600401805460ff19169115159190911790555b600b600a548154811015156126e457fe5b600091825260209091206004600c90920201015460ff161561270557600080fd5b42600b600a5481548110151561271757fe5b90600052602060002090600c02016003015411151561273557600080fd5b42600b600a5481548110151561274757fe5b90600052602060002090600c0201600201541115151561276657600080fd5b600b600a5481548110151561277757fe5b60009182526020808320600160a060020a0387168452600a600c90930201919091019052604090205460ff16156127ad57600080fd5b81600b600a548154811015156127bf57fe5b90600052602060002090600c020160050154111515156127de57600080fd5b6001600b600a548154811015156127f157fe5b60009182526020808320600160a060020a0388168452600a600c90930201820190526040909120805492151560ff199093169290921790915554600b805460019290811061283b57fe5b600091825260209091206007600c909202010180549091019055600a54600b8054849290811061286757fe5b60009182526020808320600160a060020a03881684526009600c909302019190910190526040902055600a54600b805484929081106128a257fe5b600091825260209091206008600c909202010180549091019055600a54600b805485929081106128ce57fe5b90600052602060002090600c0201600b01600b600a548154811015156128f057fe5b90600052602060002090600c0201600b01805480919060010161291391906131df565b8154811061291d57fe5b906000526020600020900160006101000a815481600160a060020a030219169083600160a060020a03160217905550600b600a5481548110151561295d57fe5b90600052602060002090600c020160060154600b600a5481548110151561298057fe5b90600052602060002090600c0201600801541015156121eb576001600b600a548154811015156129ac57fe5b60009182526020909120600c90910201600401805460ff191691151591909117905550600192915050565b6129df6130a3565b60008080808080805b600154861015612b85576001805487908110612a0057fe5b9060005260206000209060050201600201549450600186815481101515612a2357fe5b9060005260206000209060050201600401549350600186815481101515612a4657fe5b600091825260209091206003600590920201015460ff169250612a698484612b8f565b9150600286815481101515612a7a57fe5b9060005260206000209001549050844211158015612a9757508181105b15612b765760a060405190810160405280600188815481101515612ab757fe5b9060005260206000209060050201600001548152602001600188815481101515612add57fe5b9060005260206000209060050201600101548152602001600188815481101515612b0357fe5b9060005260206000209060050201600201548152602001600188815481101515612b2957fe5b60009182526020918290206003600590920201015460ff16825260018054929091019189908110612b5657fe5b906000526020600020906005020160040154815250975060019650612b85565b600096506001909501946129e8565b5050505050509091565b6000612bc5612bb86064612bac8660ff871663ffffffff61306816565b9063ffffffff61308c16565b849063ffffffff612ff516565b9392505050565b600080600080600080600288815481101515612be457fe5b9060005260206000209001549450600188815481101515612c0157fe5b9060005260206000209060050201600201549350600188815481101515612c2457fe5b9060005260206000209060050201600401549250600188815481101515612c4757fe5b600091825260209091206003600590920201015460ff169150612c6a8383612b8f565b905042849010612c7d5760009550612ca2565b80612c8e868963ffffffff612ff516565b1115612c9d5760009550612ca2565b600195505b505050505092915050565b60008111612cba57600080fd5b6002548210612cc857600080fd5b612cd28282612bcc565b1515600114612ce057600080fd5b80600283815481101515612cf057fe5b6000918252602090912001805490910190555050565b600160a060020a038216600081815260036020526040908190208390557ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e09083905190815260200160405180910390a25050565b6000600160a060020a0382161515612d7457506000610e49565b600160a060020a0382166000908152600e602052604090205460ff16151560011415612da257506000610e49565b600160a060020a0382166000908152600e60205260409020805460ff19166001908117909155600f80548492612ddb90839083016131df565b81548110612de557fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055919050565b6000600160a060020a0384161515612e3757600080fd5b600160a060020a0383161515612e4c57600080fd5b600160a060020a0384166000908152600c602052604090205482901015612e7257600080fd5b600160a060020a0383166000908152600c6020526040902054612e9b818463ffffffff612ff516565b1015612ea657600080fd5b60105460ff1615612eb657600080fd5b612ebf8461195e565b15612ec957600080fd5b50600160a060020a038281166000908152600c60205260408082208054938716835291208054848103825582548501928390559054920191018114612f0a57fe5b612f1383612d5a565b5082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b6000805433600160a060020a03908116911614612f7d57600080fd5b600160a060020a0382161515612f9257600080fd5b5060048054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831617928390559081169116817f737d8c8e31e545dc1c6678164ab5d755d0f47df46c8154c71a492d6745e27c3160405160405180910390a35050565b600082820183811015612bc557fe5b6000805433600160a060020a0390811691161461302057600080fd5b6000821161302d57600080fd5b50600880549082905581817f9a2b4bdfe09e60fd8f8f7601c8eb426298255a1983acbe31a88ea6675abd02e360405160405180910390a35050565b6000828202831580613084575082848281151561308157fe5b04145b1515612bc557fe5b600080828481151561309a57fe5b04949350505050565b60a060405190810160405280600081526020016000815260200160008152602001600060ff168152602001600081525090565b60206040519081016040526000815290565b81548183558181151161173d57600c0281600c02836000526020600020918201910161173d9190613203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061315557805160ff1916838001178555613182565b82800160010185558215613182579182015b82811115613182578251825591602001919060010190613167565b5061318e92915061328a565b5090565b50805460008255906000526020600020908101906131b0919061328a565b50565b81548183558181151161173d5760050281600502836000526020600020918201910161173d91906132a4565b81548183558181151161173d5760008381526020902061173d91810190830161328a565b610edd91905b8082111561318e57805473ffffffffffffffffffffffffffffffffffffffff19168155600061323b60018301826132de565b6000600283018190556003830181905560048301805460ff191690556005830181905560068301819055600783018190556008830181905561328190600b840190613192565b50600c01613209565b610edd91905b8082111561318e5760008155600101613290565b610edd91905b8082111561318e576000808255600182018190556002820181905560038201805460ff1916905560048201556005016132aa565b50805460018160011615610100020316600290046000825580601f1061330457506131b0565b601f0160209004906000526020600020908101906131b0919061328a5600a165627a7a72305820a152bb982067594bc83ca41a8541d51dac8baa2c8e8bbedcf368e76aebe73eb10029

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

000000000000000000000000d686d295fda81676b92d4d612228714a903e13700000000000000000000000001e67b711fa854199adacaaee5b39380250db7ec1

-----Decoded View---------------
Arg [0] : _owner_address (address): 0xD686D295fda81676b92D4d612228714A903e1370
Arg [1] : _token_wallet_address (address): 0x1E67b711fa854199AdAcAAee5B39380250db7ec1

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d686d295fda81676b92d4d612228714a903e1370
Arg [1] : 0000000000000000000000001e67b711fa854199adacaaee5b39380250db7ec1


Swarm Source

bzzr://a152bb982067594bc83ca41a8541d51dac8baa2c8e8bbedcf368e76aebe73eb1
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.