Sponsored Link:   BubbleTone - Blockchain in Telecom, directly connecting mobile operators and users globally, launches its unique ICO!
  Latest 25 txns from a total Of 22205 transactions View All

TxHash Age From To Value [TxFee]
0x046c34c0fbbc012844b2a053318b0a505167d3d4f0a7dca3ced4a3e8c71932f521 mins ago0xd16be1107970390845fd562d257565a6608fe79e  IN   CubeToken0 Ether0.0007957
0xb943d797f7cdd68074c44973f9032bb021de7fb178097c720c0ccb1d94f06bcc43 mins ago0x0567420762013b9fbe6db34f37ff766359a8388a  IN   CubeToken0 Ether0.003536332
0x283545685b139234b496e2ae948c690a368ce8e08000d8409b55e929328d62861 hr 18 mins ago0x674e62a50d7b36b64971fb8b18453961601a4909  IN   CubeToken0 Ether0.00125325
0xdc9fd3fa1a145f88a67cba77ff399ba691af8998f3ceabf56f8ecfa890e6014d1 hr 28 mins ago0x50b696941ce9bfd67025b7de9d5a30c0c27a5430  IN   CubeToken0 Ether0.0007957
0x59af314552bd4281b80fe22cf503c40c2189cf353d20861de35b97f0a4f1224f1 hr 32 mins ago0x674e62a50d7b36b64971fb8b18453961601a4909  IN   CubeToken0 Ether0.00125325
0x216a438f24003eee15101c069aa33ea8f2b9cece35fc0f1f980df0cc5ed619a31 hr 38 mins ago0x02c6da5eb96712d9dbadfa54a7221480d730ddfc  IN   CubeToken0 Ether0.004395588
0x6d9a020f401f5dc8412c66198bd8267dab24ae148735d09e81f0e7e84b329ac61 hr 54 mins ago0x02c6da5eb96712d9dbadfa54a7221480d730ddfc  IN   CubeToken0 Ether0.00108
0x88a0d319ff4f41d0286ca563fb757058d85bbf8b2105d47a29083b095c92ab8a2 hrs 35 mins ago0x4db06a70ca04317a82e67aa68979356c815b3536  IN   CubeToken0 Ether0.0007957
0x3e4575ed7a21303d392c8012b2fbece09bf0d2fb0589aa6dcb598ec3ee3237ec2 hrs 35 mins ago0xfdbfbecb365547dc54a436ae05b25203ca7b23c0  IN   CubeToken0 Ether0.001811292
0xc7b9d96ffb25ae4b8017110f9de9de5408e0e7c1a38a87e8b44e03a5a8db67482 hrs 43 mins ago0xab64f9d6849d06e173a4459f1fceeab97984f245  IN   CubeToken0 Ether0.000049186
0x687866e3bdc2b8febc69bd95ca52a3e1cdaa177b9b74b99cb33c0dca355d56802 hrs 44 mins ago0xfdbfbecb365547dc54a436ae05b25203ca7b23c0  IN   CubeToken0 Ether0.0021
0x06aadd08bd7046eb2ad6ebaf9470ef048ae1bb98f6c0fde94421db96ca7e8b932 hrs 47 mins ago0x674e62a50d7b36b64971fb8b18453961601a4909  IN   CubeToken0 Ether0.00125325
0x899941090e205499d5963dcbebeffdabc13ce1e814a50634c6768c18c9ed9b122 hrs 56 mins ago0xfdbfbecb365547dc54a436ae05b25203ca7b23c0  IN   CubeToken0 Ether0.001218
0xef03e6a925373a60df58476d282334e46e22d2e5cfb331ebc127b44dc7a6c02d3 hrs ago0xfdbfbecb365547dc54a436ae05b25203ca7b23c0  IN   CubeToken0 Ether0.000651
0xd7c081b7a432c78099af23cc0f82f6d8e603e2f93803fdeb0cde17a678de62313 hrs 3 mins ago0x674e62a50d7b36b64971fb8b18453961601a4909  IN   CubeToken0 Ether0.00125325
0xd025a0bfd522a17ece6d46b5804c01df721446816693628d1f1948205eb633e43 hrs 19 mins ago0x236f9f97e0e62388479bf9e5ba4889e46b0273c3  IN   CubeToken0 Ether0.0050594
0x687d774af746a871b39c63c62e4276de3c42b31d06c34328565cffe609af864e4 hrs 5 mins ago0x0d824212b6a08a0f0bd821b04aa925d9cfe7b99e  IN   CubeToken0 Ether0.0007957
0x63144706bb3c0e305f3f954461cb27789d4a72b873eeb73e83d72b8a7ffaaaa94 hrs 13 mins ago0xa7b0e838e46a753e29d536529b1ef4fb09beab2c  IN   CubeToken0 Ether0.000766351
0x3ce30a0c092237ec0a43cac9b9d6f812a9238e2584140fd6c21b63333fce71764 hrs 17 mins ago0x6d911f994b9804274b27f03e0bec860ade920f96  IN   CubeToken0 Ether0.00198925
0x21224f1aa4ac817ec973955f1ce62109598280e0df47c51df779181adce001514 hrs 17 mins ago0x674e62a50d7b36b64971fb8b18453961601a4909  IN   CubeToken0 Ether0.00125325
0x282c46054df3643662fd6e021f969bc2c23f05879c4c04b32afb289dd6c7535c4 hrs 18 mins ago0xead5206ea0ad801fc41afc4e480949a8b7c04812  IN   CubeToken0 Ether0.003536332
0x67dfde00f453784d2e2d47f027e18f44bb185e8ff8c31790ddbbf8da571491e24 hrs 19 mins ago0x12992c0d33d9a4948f623c9c7f5f2d09eb69043b  IN   CubeToken0 Ether0.003536332
0xe23816ab9a42000968733e0dd4cbfcee12ad2c3c72dd6a4c529139ee9d10fad14 hrs 22 mins ago0xa7b0e838e46a753e29d536529b1ef4fb09beab2c  IN   CubeToken0 Ether0.003136828
0x299799b1fa38ae418f4ab517365c83369d112aeff7d01604c7c39bc59641ab6d4 hrs 38 mins ago0xa7b0e838e46a753e29d536529b1ef4fb09beab2c  IN   CubeToken0 Ether0.000720936
0xe8cd7f1666d6e2a3554b4eb3601e8d408171a3fc82c913570776273fc0df12724 hrs 50 mins ago0xdc5d4226e2e0963e852b6ed305b2968fc8bda4e2  IN   CubeToken0 Ether0.0007957
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0x86803528e0769b63303baa51da852c61a425a447599edac43be48c8f8133163b517146955 days 19 hrs ago0x622dffcc4e83c64ba959530a5a5580687a57581b0xfa928c204a0a50a46de71c1d63e5e822c16fcd380.00000001 Ether
0x8e8ca54fb113aa5567649f07731c7e2d4ac64cc3b355ba0f7f6c617fa151340c515661258 days 8 hrs ago0x622dffcc4e83c64ba959530a5a5580687a57581b0x9b0599526b93ce08c46d4629d06d6faa512d83430.1 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: Token
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
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 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"}]

  Contract Creation Code Switch To Opcodes View
606060405260408051908101604052600481527f4355424500000000000000000000000000000000000000000000000000000000602082015260059080516200004d929160200190620001ca565b5060408051908101604052600481527f4155544f000000000000000000000000000000000000000000000000000000006020820152600690805162000097929160200190620001ca565b5060126007556b1743b34e18439b5020000000600855620186a06009556000600a556010805461ffff191690553415620000d057600080fd5b604051604080620035cd833981016040528080519190602001805160008054600160a060020a03191633600160a060020a03908116919091179091559092508216151590506200011f57600080fd5b600160a060020a03821615620001625760008054600160a060020a031916600160a060020a0384811691909117808355168152600c602052604081205562000191565b60008054600160a060020a03191633600160a060020a0390811691909117808355168152600c60205260408120555b60048054600160a060020a031916600160a060020a03928316179081905560085491166000908152600c6020526040902055506200026f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020d57805160ff19168380011785556200023d565b828001600101855582156200023d579182015b828111156200023d57825182559160200191906001019062000220565b506200024b9291506200024f565b5090565b6200026c91905b808211156200024b576000815560010162000256565b90565b61334e806200027f6000396000f3006060604052600436106102b35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610325578063095ea7b3146103af5780630d33cfa0146103e55780630e05a512146104045780631725b8471461042357806318160ddd1461043657806318ece6321461045b578063191ad1901461048357806323a36d2b1461049657806323b872dd146104bb578063313ce567146104e5578063349c3d75146104f857806337f2beed146105145780633940e9ee1461057d5780633b3672bd146105905780633f6c0696146105a35780635c61c853146105c857806360734859146106a457806361840c69146106bd57806362fca3fa146106d357806363c1b7531461076257806364b3b844146107945780636eedc46d146107de57806370a08231146107fd578063715b208b1461081c57806372e2f8f51461082f5780637720e74c1461084e5780637e87cf30146108675780638263a9381461087a5780638820e2d61461088d5780638da5cb5b146108ff578063913918a6146109125780639316c3e71461093757806395d89b41146109c65780639acf603b146109d95780639dc29fac146109ec578063a7cdc2ad14610a0e578063a9059cbb14610a2d578063aae3d02514610a4f578063acb74e7314610a62578063b0018bfc14610a75578063b0417e9814610ac6578063b3a844ae14610ad9578063b6abd4e714610aec578063b9bd4f7614610aff578063bd9934f114610b21578063c6279ab114610b43578063c6d3ab9d14610b56578063c8a73eca14610ba7578063d28e88bd14610bba578063d3895c9114610bd9578063d4b0e96614610bef578063da73f0f914610c08578063dd62ed3e14610c1b578063e5926ddc14610c40578063e8992d4014610c53578063eba2a91b14610c69578063f2fde38b14610cf8575b34600160a060020a03331681156108fc0282604051600060405180830381858888f1935050505015156102e557600080fd5b33600160a060020a03167f9b29a2957f5f631926547e5cbadee5b66cbd705ebbf2c26eb7583f04b4f04ab58260405190815260200160405180910390a250005b341561033057600080fd5b610338610d17565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037457808201518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ba57600080fd5b6103d1600160a060020a0360043516602435610db5565b604051901515815260200160405180910390f35b34156103f057600080fd5b6103d1600160a060020a0360043516610e20565b341561040f57600080fd5b6103d1600160a060020a0360043516610e4e565b341561042e57600080fd5b6103d1610eac565b341561044157600080fd5b610449610ed9565b60405190815260200160405180910390f35b341561046657600080fd5b6103d1600160a060020a0360043581169060243516604435610ee0565b341561048e57600080fd5b6103d1610f64565b34156104a157600080fd5b6103d1600160a060020a0360043516602435604435610f72565b34156104c657600080fd5b6104e3600160a060020a0360043581169060243516604435611126565b005b34156104f057600080fd5b6104496111c3565b341561050357600080fd5b6103d160043560ff602435166111c9565b341561051f57600080fd5b61052a600435611236565b60405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610569578082015183820152602001610551565b505050509050019250505060405180910390f35b341561058857600080fd5b6104496112bd565b341561059b57600080fd5b6104496112c3565b34156105ae57600080fd5b6103d1600160a060020a03600435166024356044356112e6565b34156105d357600080fd5b6105de600435611439565b604051808a600160a060020a0316600160a060020a03168152602001806020018981526020018881526020018715151515815260200186815260200185815260200184815260200183815260200182810382528a818151815260200191508051906020019080838360005b83811015610661578082015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34156106af57600080fd5b6103d160043560243561163f565b34156106c857600080fd5b6104496004356116a3565b34156106de57600080fd5b6104e36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506116c795505050505050565b341561076d57600080fd5b610778600435611742565b604051600160a060020a03909116815260200160405180910390f35b341561079f57600080fd5b6107aa600435611787565b604051948552602085019390935260408085019290925260ff166060840152608083019190915260a0909101905180910390f35b34156107e957600080fd5b6103d1600160a060020a036004351661184e565b341561080857600080fd5b610449600160a060020a03600435166118c0565b341561082757600080fd5b61052a6118db565b341561083a57600080fd5b6103d1600160a060020a036004351661195e565b341561085957600080fd5b6103d160043560243561198d565b341561087257600080fd5b6104e36119f1565b341561088557600080fd5b610449611a1d565b341561089857600080fd5b61044960048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606001359150611a239050565b341561090a57600080fd5b610778611c21565b341561091d57600080fd5b6103d160043560243560443560ff60643516608435611c30565b341561094257600080fd5b6104e3600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650611d3495505050505050565b34156109d157600080fd5b610338611d8d565b34156109e457600080fd5b610778611df8565b34156109f757600080fd5b6103d1600160a060020a0360043516602435611e07565b3415610a1957600080fd5b6103d1600160a060020a0360043516611eab565b3415610a3857600080fd5b6104e3600160a060020a0360043516602435611ee7565b3415610a5a57600080fd5b6104e3611ef6565b3415610a6d57600080fd5b6107aa611f20565b3415610a8057600080fd5b6104e360046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650611f7795505050505050565b3415610ad157600080fd5b6104e3611fdf565b3415610ae457600080fd5b6104e361203e565b3415610af757600080fd5b6103d1612066565b3415610b0a57600080fd5b6104e360043560243560ff6044351660643561206f565b3415610b2c57600080fd5b6103d1600160a060020a03600435166024356121c5565b3415610b4e57600080fd5b6104e36121f4565b3415610b6157600080fd5b6104e360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061232b95505050505050565b3415610bb257600080fd5b6104e3612393565b3415610bc557600080fd5b610449600160a060020a03600435166123ba565b3415610be457600080fd5b6104e36004356123cc565b3415610bfa57600080fd5b6103d1600435602435612430565b3415610c1357600080fd5b610449612496565b3415610c2657600080fd5b610449600160a060020a036004358116906024351661249c565b3415610c4b57600080fd5b6104496124c7565b3415610c5e57600080fd5b6103d16004356124cd565b3415610c7457600080fd5b6104e360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061253695505050505050565b3415610d0357600080fd5b6104e3600160a060020a03600435166125ac565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b820191906000526020600020905b815481529060010190602001808311610d9057829003601f168201915b505050505081565b600033600160a060020a03161515610dcc57600080fd5b600160a060020a0383161515610de157600080fd5b6000821015610def57600080fd5b50600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b6000805433600160a060020a03908116911614610e3c57600080fd5b610e458261260b565b5060015b919050565b60008054819033600160a060020a03908116911614610e6c57600080fd5b600160a060020a0383161515610e8157600080fd5b610e8a836118c0565b905060008111610e9957600080fd5b610ea38382612671565b91505b50919050565b60003381610eb9826118c0565b905060008111610ec857600080fd5b610ed28282612671565b9250505090565b6008545b90565b6000805433600160a060020a03908116911614610efc57600080fd5b600160a060020a0384161515610f1157600080fd5b600160a060020a0383161515610f2657600080fd5b6000821015610f3457600080fd5b50600160a060020a039283166000908152600d602090815260408083209490951682529290925291902055600190565b601054610100900460ff1681565b6000806000610f7f6130a3565b600080548190819033600160a060020a03908116911614610f9f57600080fd5b60008911610fac57600080fd5b600454600160a060020a03166000908152600c602052604090205489901015610fd457600080fd5b600160a060020a038a166000908152600c602052604090205489810111610ffa57600080fd5b600095506000945061100a6129d7565b9350935082156110525783519450836060015191506110298983612b8f565b95506110358587612bcc565b151560011461104357600080fd5b61104d8587612cad565b611084565b601054610100900460ff161561106a57889550611084565b60105460ff61010090910416151560011461108457600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548990039055918b1681529081208054870190558088106110c15750865b6110cd8a824201612d06565b89600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8860405190815260200160405180910390a36111158a612d5a565b5060019a9950505050505050505050565b33600160a060020a0316151561113b57600080fd5b600160a060020a038316151561115057600080fd5b600160a060020a038084166000908152600d60209081526040808320339094168352929052205481111561118357600080fd5b61118e838383612e20565b600160a060020a039283166000908152600d602090815260408083203390961683529490529290922080549290920390915550565b60075481565b6000805433600160a060020a039081169116146111e557600080fd5b60015483106111f357600080fd5b8160018481548110151561120357fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff1602179055506001905092915050565b61123e6130d6565b600b80548390811061124c57fe5b90600052602060002090600c0201600b018054806020026020016040519081016040528092919081815260200182805480156112b157602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611293575b50505050509050919050565b60085481565b6000805433600160a060020a039081169116146112df57600080fd5b50600f5490565b60008054819033600160a060020a0390811691161461130457600080fd5b6000841161131157600080fd5b600454600160a060020a03166000908152600c60205260409020548490101561133957600080fd5b600160a060020a0385166000908152600c60205260409020548481011161135f57600080fd5b50600454600160a060020a039081166000908152600c602052604080822080548790039055918616815290812080548501905580831061139c5750815b6113a885824201612d06565b84600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858560405190815260200160405180910390a261142d85612d5a565b50600195945050505050565b60006114436130d6565b6000806000806000806000600b8a81548110151561145d57fe5b60009182526020909120600c9091020154600b8054600160a060020a039092169a50908b90811061148a57fe5b90600052602060002090600c02016001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b50505050509750600b8a81548110151561154557fe5b90600052602060002090600c0201600201549650600b8a81548110151561156857fe5b90600052602060002090600c0201600301549550600b8a81548110151561158b57fe5b600091825260209091206004600c909202010154600b805460ff9092169650908b9081106115b557fe5b90600052602060002090600c0201600701549350600b8a8154811015156115d857fe5b90600052602060002090600c0201600801549250600b8a8154811015156115fb57fe5b90600052602060002090600c0201600501549150600b8a81548110151561161e57fe5b90600052602060002090600c02016006015490509193959799909294969850565b6000805433600160a060020a0390811691161461165b57600080fd5b600154831061166957600080fd5b6000821161167657600080fd5b8160018481548110151561168657fe5b600091825260209091206004600590920201015550600192915050565b60006002828154811015156116b457fe5b9060005260206000209001549050919050565b6000805433600160a060020a039081169116146116e357600080fd5b81518351146116f157600080fd5b5060005b825181101561173d5761173483828151811061170d57fe5b9060200190602002015183838151811061172357fe5b906020019060200201516000610f72565b506001016116f5565b505050565b6000805433600160a060020a0390811691161461175e57600080fd5b600f80548390811061176c57fe5b600091825260209091200154600160a060020a031692915050565b600080600080600060018681548110151561179e57fe5b90600052602060002090600502016000015494506001868154811015156117c157fe5b90600052602060002090600502016001015493506001868154811015156117e457fe5b906000526020600020906005020160020154925060018681548110151561180757fe5b60009182526020909120600360059092020101546001805460ff9092169350908790811061183157fe5b906000526020600020906005020160040154905091939590929450565b60008054819033600160a060020a0390811691161461186c57600080fd5b600160a060020a038316151561188157600080fd5b5060048054600160a060020a039081166000908152600c60205260408082205486841683528183208190559354909216815290812055610ea683612f61565b600160a060020a03166000908152600c602052604090205490565b6118e36130d6565b60005433600160a060020a039081169116146118fe57600080fd5b600f80548060200260200160405190810160405280929190818152602001828054801561195457602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611936575b5050505050905090565b600160a060020a038116600090815260036020526040812054421061198557506000610e49565b506001610e49565b6000805433600160a060020a039081169116146119a957600080fd5b60015483106119b757600080fd5b600082116119c457600080fd5b816001848154811015156119d457fe5b600091825260209091206002600590920201015550600192915050565b60005433600160a060020a03908116911614611a0c57600080fd5b6010805461ff001916610100179055565b600b5490565b60008054819033600160a060020a03908116911614611a4157600080fd5b600b5460019010611ab25785600b600a54815481101515611a5e57fe5b90600052602060002090600c020160030154101515611a7c57600080fd5b600b600a54815481101515611a8d57fe5b600091825260209091206004600c90920201015460ff161515600114611ab257600080fd5b600b8054600a819055611ac882600183016130e8565b81548110611ad257fe5b60009182526020909120600c90910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a16178155905060018101878051611b1f929160200190613114565b50600281018690556003810185905560048101805460ff191690556005810184905560068101839055600060078201819055611b5f90600b830190613192565b7f43668efaa788fb6b06a31e91bec501787611092634a0b8e767b3483242f0644f600a548989604051838152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b83811015611bd6578082015183820152602001611bbe565b50505050905090810190601f168015611c035780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050600a549695505050505050565b600054600160a060020a031681565b6000805433600160a060020a03908116911614611c4c57600080fd5b6001548610611c5a57600080fd5b60008511611c6757600080fd5b60008411611c7457600080fd5b60008211611c8157600080fd5b84600187815481101515611c9157fe5b90600052602060002090600502016001018190555083600187815481101515611cb657fe5b90600052602060002090600502016002018190555082600187815481101515611cdb57fe5b906000526020600020906005020160030160006101000a81548160ff021916908360ff16021790555081600187815481101515611d1457fe5b600091825260209091206004600590920201015550600195945050505050565b60008151835114611d4457600080fd5b5060005b825181101561173d57611d85838281518110611d6057fe5b90602001906020020151838381518110611d7657fe5b90602001906020020151611ee7565b600101611d48565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dad5780601f10610d8257610100808354040283529160200191610dad565b600454600160a060020a031681565b6000805433600160a060020a03908116911614611e2357600080fd5b60008211611e3057600080fd5b81611e3a846118c0565b1015611e4557600080fd5b600160a060020a0383166000818152600c602052604090819020805485900390556008805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000600160a060020a0382161515611ec557506000610e49565b50600160a060020a0381166000908152600e602052604090205460ff16610e49565b611ef2338383612e20565b5050565b60005433600160a060020a03908116911614611f1157600080fd5b6010805460ff19166001179055565b6000806000806000611f306130a3565b6000611f3a6129d7565b9092509050600181151514611f4e57600080fd5b815196508160200151955081604001519450816060015193508160800151925050509091929394565b60005433600160a060020a03908116911614611f9257600080fd5b6005818051611fa5929160200190613114565b5033600160a060020a03167fdadb20be9d77ea17b31d336da02f73cacca8a15e298fd22d8771fd605a22b55760405160405180910390a250565b60005433600160a060020a03908116911614611ffa57600080fd5b600b546001901080159061202f575042600b600a5481548110151561201b57fe5b90600052602060002090600c020160030154105b1561203c5761203c6121f4565b565b60005433600160a060020a0390811691161461205957600080fd5b6010805461ff0019169055565b60105460ff1681565b60008054819033600160a060020a0390811691161461208d57600080fd5b6000861161209a57600080fd5b600085116120a757600080fd5b600083116120b457600080fd5b505060015460005b6001548110156120fc57856001828154811015156120d657fe5b9060005260206000209060050201600201541015156120f457600080fd5b6001016120bc565b60a0604051908101604090815283825260208201889052810186905260ff851660608201526080810184905260018054612138828281016131b3565b8154811061214257fe5b9060005260206000209060050201600082015181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516004909101555060028054600091906121a782600183016131df565b815481106121b157fe5b600091825260209091200155505050505050565b6000805433600160a060020a039081169116146121e157600080fd5b6121eb8383612d06565b50600192915050565b60005433600160a060020a0390811691161461220f57600080fd5b600b546001901061203c576001600b600a5481548110151561222d57fe5b90600052602060002090600c020160040160006101000a81548160ff0219169083151502179055507fc37991e3c775e6b1801058fdaf62ba55bd74756854d9ac3b11ba4de5f982f99e600a54600b600a5481548110151561228a57fe5b90600052602060002090600c02016001016040518281526040602082018181528354600260001961010060018416150201909116049183018290529060608301908490801561231a5780601f106122ef5761010080835404028352916020019161231a565b820191906000526020600020905b8154815290600101906020018083116122fd57829003601f168201915b5050935050505060405180910390a1565b60005433600160a060020a0390811691161461234657600080fd5b6006818051612359929160200190613114565b5033600160a060020a03167f66a857f48884758bc7cdb4ed42437ead131a3b8206a03f877ccce37c6e54c71e60405160405180910390a250565b60005433600160a060020a039081169116146123ae57600080fd5b6010805460ff19169055565b60036020526000908152604090205481565b6000805433600160a060020a039081169116146123e857600080fd5b600082116123f557600080fd5b50600980549082905581817f9af003bd4853b99f968563a4b5b828f1cea45068f8d0d6f53f017fc1a8e0354b60405160405180910390a35050565b6000805433600160a060020a0390811691161461244c57600080fd5b600154831061245a57600080fd5b6000821161246757600080fd5b8160018481548110151561247757fe5b9060005260206000209060050201600101819055506001905092915050565b60095481565b600160a060020a039182166000908152600d6020908152604080832093909416825291909152205490565b60015490565b60008054819033600160a060020a039081169116146124eb57600080fd5b600083116124f857600080fd5b60085461250b908463ffffffff612ff516565b600454600160a060020a03166000908152600c602052604090208054850190559050610ea681613004565b6000805433600160a060020a0390811691161461255257600080fd5b815183511461256057600080fd5b5060005b825181101561173d576125a383828151811061257c57fe5b9060200190602002015183838151811061259257fe5b9060200190602002015160006112e6565b50600101612564565b60005433600160a060020a039081169116146125c757600080fd5b600160a060020a03811615156125dc57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a0390811691161461262657600080fd5b600160a060020a038116600081815260036020526040908190204290557f33d0a56b2045491e09850aff553970a014517abe73114e055855b96c69005720905160405180910390a250565b600042600b600a5481548110151561268557fe5b90600052602060002090600c02016003015410156126d3576001600b600a548154811015156126b057fe5b60009182526020909120600c90910201600401805460ff19169115159190911790555b600b600a548154811015156126e457fe5b600091825260209091206004600c90920201015460ff161561270557600080fd5b42600b600a5481548110151561271757fe5b90600052602060002090600c02016003015411151561273557600080fd5b42600b600a5481548110151561274757fe5b90600052602060002090600c0201600201541115151561276657600080fd5b600b600a5481548110151561277757fe5b60009182526020808320600160a060020a0387168452600a600c90930201919091019052604090205460ff16156127ad57600080fd5b81600b600a548154811015156127bf57fe5b90600052602060002090600c020160050154111515156127de57600080fd5b6001600b600a548154811015156127f157fe5b60009182526020808320600160a060020a0388168452600a600c90930201820190526040909120805492151560ff199093169290921790915554600b805460019290811061283b57fe5b600091825260209091206007600c909202010180549091019055600a54600b8054849290811061286757fe5b60009182526020808320600160a060020a03881684526009600c909302019190910190526040902055600a54600b805484929081106128a257fe5b600091825260209091206008600c909202010180549091019055600a54600b805485929081106128ce57fe5b90600052602060002090600c0201600b01600b600a548154811015156128f057fe5b90600052602060002090600c0201600b01805480919060010161291391906131df565b8154811061291d57fe5b906000526020600020900160006101000a815481600160a060020a030219169083600160a060020a03160217905550600b600a5481548110151561295d57fe5b90600052602060002090600c020160060154600b600a5481548110151561298057fe5b90600052602060002090600c0201600801541015156121eb576001600b600a548154811015156129ac57fe5b60009182526020909120600c90910201600401805460ff191691151591909117905550600192915050565b6129df6130a3565b60008080808080805b600154861015612b85576001805487908110612a0057fe5b9060005260206000209060050201600201549450600186815481101515612a2357fe5b9060005260206000209060050201600401549350600186815481101515612a4657fe5b600091825260209091206003600590920201015460ff169250612a698484612b8f565b9150600286815481101515612a7a57fe5b9060005260206000209001549050844211158015612a9757508181105b15612b765760a060405190810160405280600188815481101515612ab757fe5b9060005260206000209060050201600001548152602001600188815481101515612add57fe5b9060005260206000209060050201600101548152602001600188815481101515612b0357fe5b9060005260206000209060050201600201548152602001600188815481101515612b2957fe5b60009182526020918290206003600590920201015460ff16825260018054929091019189908110612b5657fe5b906000526020600020906005020160040154815250975060019650612b85565b600096506001909501946129e8565b5050505050509091565b6000612bc5612bb86064612bac8660ff871663ffffffff61306816565b9063ffffffff61308c16565b849063ffffffff612ff516565b9392505050565b600080600080600080600288815481101515612be457fe5b9060005260206000209001549450600188815481101515612c0157fe5b9060005260206000209060050201600201549350600188815481101515612c2457fe5b9060005260206000209060050201600401549250600188815481101515612c4757fe5b600091825260209091206003600590920201015460ff169150612c6a8383612b8f565b905042849010612c7d5760009550612ca2565b80612c8e868963ffffffff612ff516565b1115612c9d5760009550612ca2565b600195505b505050505092915050565b60008111612cba57600080fd5b6002548210612cc857600080fd5b612cd28282612bcc565b1515600114612ce057600080fd5b80600283815481101515612cf057fe5b6000918252602090912001805490910190555050565b600160a060020a038216600081815260036020526040908190208390557ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e09083905190815260200160405180910390a25050565b6000600160a060020a0382161515612d7457506000610e49565b600160a060020a0382166000908152600e602052604090205460ff16151560011415612da257506000610e49565b600160a060020a0382166000908152600e60205260409020805460ff19166001908117909155600f80548492612ddb90839083016131df565b81548110612de557fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055919050565b6000600160a060020a0384161515612e3757600080fd5b600160a060020a0383161515612e4c57600080fd5b600160a060020a0384166000908152600c602052604090205482901015612e7257600080fd5b600160a060020a0383166000908152600c6020526040902054612e9b818463ffffffff612ff516565b1015612ea657600080fd5b60105460ff1615612eb657600080fd5b612ebf8461195e565b15612ec957600080fd5b50600160a060020a038281166000908152600c60205260408082208054938716835291208054848103825582548501928390559054920191018114612f0a57fe5b612f1383612d5a565b5082600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b6000805433600160a060020a03908116911614612f7d57600080fd5b600160a060020a0382161515612f9257600080fd5b5060048054600160a060020a0383811673ffffffffffffffffffffffffffffffffffffffff19831617928390559081169116817f737d8c8e31e545dc1c6678164ab5d755d0f47df46c8154c71a492d6745e27c3160405160405180910390a35050565b600082820183811015612bc557fe5b6000805433600160a060020a0390811691161461302057600080fd5b6000821161302d57600080fd5b50600880549082905581817f9a2b4bdfe09e60fd8f8f7601c8eb426298255a1983acbe31a88ea6675abd02e360405160405180910390a35050565b6000828202831580613084575082848281151561308157fe5b04145b1515612bc557fe5b600080828481151561309a57fe5b04949350505050565b60a060405190810160405280600081526020016000815260200160008152602001600060ff168152602001600081525090565b60206040519081016040526000815290565b81548183558181151161173d57600c0281600c02836000526020600020918201910161173d9190613203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061315557805160ff1916838001178555613182565b82800160010185558215613182579182015b82811115613182578251825591602001919060010190613167565b5061318e92915061328a565b5090565b50805460008255906000526020600020908101906131b0919061328a565b50565b81548183558181151161173d5760050281600502836000526020600020918201910161173d91906132a4565b81548183558181151161173d5760008381526020902061173d91810190830161328a565b610edd91905b8082111561318e57805473ffffffffffffffffffffffffffffffffffffffff19168155600061323b60018301826132de565b6000600283018190556003830181905560048301805460ff191690556005830181905560068301819055600783018190556008830181905561328190600b840190613192565b50600c01613209565b610edd91905b8082111561318e5760008155600101613290565b610edd91905b8082111561318e576000808255600182018190556002820181905560038201805460ff1916905560048201556005016132aa565b50805460018160011615610100020316600290046000825580601f1061330457506131b0565b601f0160209004906000526020600020908101906131b0919061328a5600a165627a7a72305820a152bb982067594bc83ca41a8541d51dac8baa2c8e8bbedcf368e76aebe73eb10029000000000000000000000000d686d295fda81676b92d4d612228714a903e13700000000000000000000000001e67b711fa854199adacaaee5b39380250db7ec1

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

-----Decoded View---------------
Found 2 constructor arguments :
Arg [0] : 000000000000000000000000d686d295fda81676b92d4d612228714a903e1370
Arg [1] : 0000000000000000000000001e67b711fa854199adacaaee5b39380250db7ec1


   Swarm Source:
bzzr://a152bb982067594bc83ca41a8541d51dac8baa2c8e8bbedcf368e76aebe73eb1

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.