ETH Price: $2,426.05 (+0.08%)
 

Overview

Max Total Supply

120,000,000,000 QNTU

Holders

9,898 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,500 QNTU

Value
$0.00
0xe82c9c1c0d466df945e20c08f4d376abf1858125
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A blockchain-powered lottery for a blockchain-powered future

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
QNTU

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-04-05
*/

pragma solidity 0.4.18;

/**
 * @title ReceivingContract Interface
 * @dev ReceivingContract handle incoming token transfers.
 */
contract ReceivingContract {

    /**
     * @dev Handle incoming token transfers.
     * @param _from The token sender address.
     * @param _value The amount of tokens.
     */
    function tokenFallback(address _from, uint _value) public;

}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
     * @dev Multiplies two numbers, throws on overflow.
     */
    function mul(uint _a, uint _b)
        internal
        pure
        returns (uint)
    {
        if (_a == 0) {
            return 0;
        }
    
        uint c = _a * _b;
        assert(c / _a == _b);
        return c;
    }

    /**
     * @dev Integer division of two numbers, truncating the quotient.
     */
    function div(uint _a, uint _b)
        internal
        pure
        returns (uint)
    {
        // Solidity automatically throws when dividing by 0
        uint c = _a / _b;
        return c;
    }

    /**
     * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint _a, uint _b)
        internal
        pure
        returns (uint)
    {
        assert(_b <= _a);
        return _a - _b;
    }

    /**
     * @dev Adds two numbers, throws on overflow.
     */
    function add(uint _a, uint _b)
        internal
        pure
        returns (uint)
    {
        uint c = _a + _b;
        assert(c >= _a);
        return c;
    }

}

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

    address public owner;

    /**
     * Events
     */
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Constructor
     * Sets the original `owner` of the contract to the sender account.
     */
    function Ownable() public {
        owner = msg.sender;
        OwnershipTransferred(0, owner);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a new owner.
     * @param _newOwner The address to transfer ownership to.
     */
    function transferOwnership(address _newOwner)
        public
        onlyOwner
    {
        require(_newOwner != 0);

        OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

}

/**
 * @title Standard ERC20 token
 */
contract StandardToken is Ownable {

    using SafeMath for uint;

    string public name;
    string public symbol;
    uint8 public decimals;

    uint public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) internal allowed;

    /**
     * Events
     */
    event ChangeTokenInformation(string name, string symbol);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    /**
     * Owner can update token information here.
     *
     * It is often useful to conceal the actual token association, until
     * the token operations, like central issuance or reissuance have been completed.
     *
     * This function allows the token owner to rename the token after the operations
     * have been completed and then point the audience to use the token contract.
     */
    function changeTokenInformation(string _name, string _symbol)
        public
        onlyOwner
    {
        name = _name;
        symbol = _symbol;
        ChangeTokenInformation(_name, _symbol);
    }

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

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

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

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

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

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     *
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _addedValue)
        public
        returns (bool)
    {
        require(_addedValue > 0);

        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     *
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue)
        public
        returns (bool)
    {
        require(_subtractedValue > 0);

        uint oldValue = allowed[msg.sender][_spender];

        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;

        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }

        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

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

}

/**
 * @title Pausable token
 * @dev Token that can be freeze "Transfer" function
 */
contract PausableToken is StandardToken {

    bool public isTradable = true;

    /**
     * Events
     */
    event FreezeTransfer();
    event UnfreezeTransfer();

    modifier canTransfer() {
        require(isTradable);
        _;
    }

    /**
     * Disallow to transfer token from an address to other address
     */
    function freezeTransfer()
        public
        onlyOwner
    {
        isTradable = false;
        FreezeTransfer();
    }

    /**
     * Allow to transfer token from an address to other address
     */
    function unfreezeTransfer()
        public
        onlyOwner
    {
        isTradable = true;
        UnfreezeTransfer();
    }

    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */
    function transfer(address _to, uint _value)
        public
        canTransfer
        returns (bool)
    {
        return super.transfer(_to, _value);
    }

    /**
     * @dev Transfer tokens from one address to another
     * @param _from The address which you want to send tokens from
     * @param _to The address which you want to transfer to
     * @param _value The amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint _value)
        public
        canTransfer
        returns (bool)
    {
        return super.transferFrom(_from, _to, _value);
    }

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

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     *
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _addedValue)
        public
        canTransfer
        returns (bool)
    {
        return super.increaseApproval(_spender, _addedValue);
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     *
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue)
        public
        canTransfer
        returns (bool)
    {
        return super.decreaseApproval(_spender, _subtractedValue);
    }

}

/**
 * @title UpgradeAgent Interface
 * @dev Upgrade agent transfers tokens to a new contract. Upgrade agent itself can be the
 * token contract, or just a middle man contract doing the heavy lifting.
 */
contract UpgradeAgent {

    bool public isUpgradeAgent = true;

    function upgradeFrom(address _from, uint _value) public;

}

/**
 * @title Upgradable token
 */
contract UpgradableToken is StandardToken {

    address public upgradeMaster;

    // The next contract where the tokens will be migrated.
    UpgradeAgent public upgradeAgent;

    bool public isUpgradable = false;

    // How many tokens we have upgraded by now.
    uint public totalUpgraded;

    /**
     * Events
     */
    event ChangeUpgradeMaster(address newMaster);
    event ChangeUpgradeAgent(address newAgent);
    event FreezeUpgrade();
    event UnfreezeUpgrade();
    event Upgrade(address indexed from, address indexed to, uint value);

    modifier onlyUpgradeMaster() {
        require(msg.sender == upgradeMaster);
        _;
    }

    modifier canUpgrade() {
        require(isUpgradable);
        _;
    }

    /**
     * Change the upgrade master.
     * @param _newMaster New upgrade master.
     */
    function changeUpgradeMaster(address _newMaster)
        public
        onlyOwner
    {
        require(_newMaster != 0);

        upgradeMaster = _newMaster;
        ChangeUpgradeMaster(_newMaster);
    }

    /**
     * Change the upgrade agent.
     * @param _newAgent New upgrade agent.
     */
    function changeUpgradeAgent(address _newAgent)
        public
        onlyOwner
    {
        require(totalUpgraded == 0);

        upgradeAgent = UpgradeAgent(_newAgent);

        require(upgradeAgent.isUpgradeAgent());

        ChangeUpgradeAgent(_newAgent);
    }

    /**
     * Disallow to upgrade token to new smart contract
     */
    function freezeUpgrade()
        public
        onlyOwner
    {
        isUpgradable = false;
        FreezeUpgrade();
    }

    /**
     * Allow to upgrade token to new smart contract
     */
    function unfreezeUpgrade()
        public
        onlyOwner
    {
        isUpgradable = true;
        UnfreezeUpgrade();
    }

    /**
     * Token holder upgrade their tokens to a new smart contract.
     */
    function upgrade()
        public
        canUpgrade
    {
        uint amount = balanceOf[msg.sender];

        require(amount > 0);

        processUpgrade(msg.sender, amount);
    }

    /**
     * Upgrader upgrade tokens of holder to a new smart contract.
     * @param _holders List of token holder.
     */
    function forceUpgrade(address[] _holders)
        public
        onlyUpgradeMaster
        canUpgrade
    {
        uint amount;

        for (uint i = 0; i < _holders.length; i++) {
            amount = balanceOf[_holders[i]];

            if (amount == 0) {
                continue;
            }

            processUpgrade(_holders[i], amount);
        }
    }

    function processUpgrade(address _holder, uint _amount)
        private
    {
        balanceOf[_holder] = balanceOf[_holder].sub(_amount);

        // Take tokens out from circulation
        totalSupply = totalSupply.sub(_amount);
        totalUpgraded = totalUpgraded.add(_amount);

        // Upgrade agent reissues the tokens
        upgradeAgent.upgradeFrom(_holder, _amount);
        Upgrade(_holder, upgradeAgent, _amount);
    }

}

/**
 * @title QNTU 1.0 token
 */
contract QNTU is UpgradableToken, PausableToken {

    /**
     * @dev Constructor
     */
    function QNTU(address[] _wallets, uint[] _amount)
        public
    {
        require(_wallets.length == _amount.length);

        symbol = "QNTU";
        name = "QNTU Token";
        decimals = 18;

        uint num = 0;
        uint length = _wallets.length;
        uint multiplier = 10 ** uint(decimals);

        for (uint i = 0; i < length; i++) {
            num = _amount[i] * multiplier;

            balanceOf[_wallets[i]] = num;
            Transfer(0, _wallets[i], num);

            totalSupply += num;
        }
    }

    /**
     * @dev Transfer token for a specified contract
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */
    function transferToContract(address _to, uint _value)
        public
        canTransfer
        returns (bool)
    {
        require(_value > 0);

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);

        ReceivingContract receiver = ReceivingContract(_to);
        receiver.tokenFallback(msg.sender, _value);

        Transfer(msg.sender, _to, _value);
        return true;
    }

}

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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holders","type":"address[]"}],"name":"forceUpgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isTradable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isUpgradable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"name":"changeTokenInformation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferToContract","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"freezeTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAgent","type":"address"}],"name":"changeUpgradeAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"freezeUpgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newMaster","type":"address"}],"name":"changeUpgradeMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeUpgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_wallets","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"FreezeTransfer","type":"event"},{"anonymous":false,"inputs":[],"name":"UnfreezeTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newMaster","type":"address"}],"name":"ChangeUpgradeMaster","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAgent","type":"address"}],"name":"ChangeUpgradeAgent","type":"event"},{"anonymous":false,"inputs":[],"name":"FreezeUpgrade","type":"event"},{"anonymous":false,"inputs":[],"name":"UnfreezeUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"symbol","type":"string"}],"name":"ChangeTokenInformation","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526008805460a060020a60ff0219169055600a805460ff1916600117905534156200002d57600080fd5b60405162001861380380620018618339810160405280805182019190602001805160008054600160a060020a03191633600160a060020a0390811691909117808355949092019390925082918291829116817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38451865114620000ba57600080fd5b60408051908101604052600481527f514e545500000000000000000000000000000000000000000000000000000000602082015260029080516200010392916020019062000240565b5060408051908101604052600a81527f514e545520546f6b656e00000000000000000000000000000000000000000000602082015260019080516200014d92916020019062000240565b506003805460ff1916601217905560009350855160035490935060ff16600a0a9150600090505b828110156200023457818582815181106200018b57fe5b906020019060200201510293508360056000888481518110620001aa57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055858181518110620001db57fe5b90602001906020020151600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600480548501905560010162000174565b505050505050620002e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028357805160ff1916838001178555620002b3565b82800160010185558215620002b3579182015b82811115620002b357825182559160200191906001019062000296565b50620002c1929150620002c5565b5090565b620002e291905b80821115620002c15760008155600101620002cc565b90565b61156c80620002f56000396000f3006060604052600436106101505763ffffffff60e060020a60003504166306fdde038114610155578063095ea7b3146101df57806318160ddd1461021557806323b872dd1461023a578063313ce567146102625780633c3ad0161461028b5780635074449d146102dc5780635479d940146102ef5780635de4ccb014610302578063600440cb1461033157806366188463146103445780636e5320d11461036657806370a08231146103f957806380cecea914610418578063875606a11461043a5780638da5cb5b1461044d57806395d89b4114610460578063a104dcd414610473578063a9059cbb14610492578063b662a73c146104b4578063c752ff62146104c7578063d445cc78146104da578063d55ec697146104ed578063d73dd62314610500578063dd62ed3e14610522578063ea56a44d14610547578063f2fde38b14610566578063f950db2b14610585575b600080fd5b341561016057600080fd5b610168610598565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a457808201518382015260200161018c565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57600080fd5b610201600160a060020a0360043516602435610636565b604051901515815260200160405180910390f35b341561022057600080fd5b61022861065b565b60405190815260200160405180910390f35b341561024557600080fd5b610201600160a060020a0360043581169060243516604435610661565b341561026d57600080fd5b610275610688565b60405160ff909116815260200160405180910390f35b341561029657600080fd5b6102da600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061069195505050505050565b005b34156102e757600080fd5b610201610744565b34156102fa57600080fd5b61020161074d565b341561030d57600080fd5b61031561075d565b604051600160a060020a03909116815260200160405180910390f35b341561033c57600080fd5b61031561076c565b341561034f57600080fd5b610201600160a060020a036004351660243561077b565b341561037157600080fd5b6102da60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061079995505050505050565b341561040457600080fd5b610228600160a060020a03600435166108e3565b341561042357600080fd5b610201600160a060020a03600435166024356108f5565b341561044557600080fd5b6102da610a48565b341561045857600080fd5b610315610a9b565b341561046b57600080fd5b610168610aaa565b341561047e57600080fd5b6102da600160a060020a0360043516610b15565b341561049d57600080fd5b610201600160a060020a0360043516602435610c0e565b34156104bf57600080fd5b6102da610c2c565b34156104d257600080fd5b610228610c93565b34156104e557600080fd5b6102da610c99565b34156104f857600080fd5b6102da610cef565b341561050b57600080fd5b610201600160a060020a0360043516602435610d3d565b341561052d57600080fd5b610228600160a060020a0360043581169060243516610d5b565b341561055257600080fd5b6102da600160a060020a0360043516610d86565b341561057157600080fd5b6102da600160a060020a0360043516610e1e565b341561059057600080fd5b6102da610eb9565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561062e5780601f106106035761010080835404028352916020019161062e565b820191906000526020600020905b81548152906001019060200180831161061157829003601f168201915b505050505081565b600a5460009060ff16151561064a57600080fd5b6106548383610f26565b9392505050565b60045481565b600a5460009060ff16151561067557600080fd5b610680848484610f92565b949350505050565b60035460ff1681565b600754600090819033600160a060020a039081169116146106b157600080fd5b60085460a060020a900460ff1615156106c957600080fd5b5060005b825181101561073f57600560008483815181106106e657fe5b90602001906020020151600160a060020a03168152602081019190915260400160002054915081151561071857610737565b61073783828151811061072757fe5b90602001906020020151836110c9565b6001016106cd565b505050565b600a5460ff1681565b60085460a060020a900460ff1681565b600854600160a060020a031681565b600754600160a060020a031681565b600a5460009060ff16151561078f57600080fd5b61065483836111e9565b60005433600160a060020a039081169116146107b457600080fd5b60018280516107c79291602001906114a5565b5060028180516107db9291602001906114a5565b507ff97bb93f16c08265c9826aa07a56cf41728df50b0093d6ad5d0215621bdbf6d08282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610840578082015183820152602001610828565b50505050905090810190601f16801561086d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156108a357808201518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60056020526000908152604090205481565b600a54600090819060ff16151561090b57600080fd5b6000831161091857600080fd5b600160a060020a033316600090815260056020526040902054610941908463ffffffff6112f116565b600160a060020a033381166000908152600560205260408082209390935590861681522054610976908463ffffffff61130316565b600160a060020a038516600081815260056020526040908190209290925585925090633b66d02b90339086905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156109e357600080fd5b6102c65a03f115156109f457600080fd5b50505083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b60005433600160a060020a03908116911614610a6357600080fd5b600a805460ff191690557fb4dbbcf33046b7ccb818025ea4914bb345d8025fef300942afe93e9d8b73e6f960405160405180910390a1565b600054600160a060020a031681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561062e5780601f106106035761010080835404028352916020019161062e565b60005433600160a060020a03908116911614610b3057600080fd5b60095415610b3d57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055166361d3d7a66000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba857600080fd5b6102c65a03f11515610bb957600080fd5b505050604051805190501515610bce57600080fd5b7f9120de04043d2b48750b029e0af279f60251553365aa3fc23ee8d2161ed02bc081604051600160a060020a03909116815260200160405180910390a150565b600a5460009060ff161515610c2257600080fd5b6106548383611312565b60005433600160a060020a03908116911614610c4757600080fd5b6008805474ff0000000000000000000000000000000000000000191690557ff16e551f33451711621830fd6c7873a4d7fb065b97e0f1519599a4559cf5e5a560405160405180910390a1565b60095481565b60005433600160a060020a03908116911614610cb457600080fd5b600a805460ff191660011790557f6b28a9ea65b0490a70c326753837660974732ce02a120ef66e0a0ee1e91ba51360405160405180910390a1565b60085460009060a060020a900460ff161515610d0a57600080fd5b50600160a060020a033316600090815260056020526040812054908111610d3057600080fd5b610d3a33826110c9565b50565b600a5460009060ff161515610d5157600080fd5b61065483836113f5565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610da157600080fd5b600160a060020a0381161515610db657600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790557f8f3956a45b725a7c48b08fdff733c3b1c95502c2d7537b685557b0279b85381d81604051600160a060020a03909116815260200160405180910390a150565b60005433600160a060020a03908116911614610e3957600080fd5b600160a060020a0381161515610e4e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610ed457600080fd5b6008805474ff0000000000000000000000000000000000000000191660a060020a1790557f1180ded4e87fc2487b12b01ab13e067f1d4df53b2a226e7aaac784c4d6717dae60405160405180910390a1565b600160a060020a03338116600081815260066020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610fa957600080fd5b60008211610fb657600080fd5b600160a060020a038416600090815260056020526040902054610fdf908363ffffffff6112f116565b600160a060020a038086166000908152600560205260408082209390935590851681522054611014908363ffffffff61130316565b600160a060020a0380851660009081526005602090815260408083209490945587831682526006815283822033909316825291909152205461105c908363ffffffff6112f116565b600160a060020a03808616600081815260066020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0382166000908152600560205260409020546110f2908263ffffffff6112f116565b600160a060020a03831660009081526005602052604090205560045461111e908263ffffffff6112f116565b600455600954611134908263ffffffff61130316565b600955600854600160a060020a031663753e88e5838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561118d57600080fd5b6102c65a03f1151561119e57600080fd5b5050600854600160a060020a03908116915083167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a35050565b6000808083116111f857600080fd5b50600160a060020a033381166000908152600660209081526040808320938716835292905220548083111561125457600160a060020a03338116600090815260066020908152604080832093881683529290529081205561128b565b611264818463ffffffff6112f116565b600160a060020a033381166000908152600660209081526040808320938916835292905220555b600160a060020a0333811660008181526006602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b6000828211156112fd57fe5b50900390565b60008282018381101561065457fe5b6000600160a060020a038316151561132957600080fd5b6000821161133657600080fd5b600160a060020a03331660009081526005602052604090205461135f908363ffffffff6112f116565b600160a060020a033381166000908152600560205260408082209390935590851681522054611394908363ffffffff61130316565b600160a060020a0380851660008181526005602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600080821161140357600080fd5b600160a060020a03338116600090815260066020908152604080832093871683529290522054611439908363ffffffff61130316565b600160a060020a0333811660008181526006602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114e657805160ff1916838001178555611513565b82800160010185558215611513579182015b828111156115135782518255916020019190600101906114f8565b5061151f929150611523565b5090565b61153d91905b8082111561151f5760008155600101611529565b905600a165627a7a723058207b2322c984aba8e3e0ec830a52d277a41c06b6784a66d81856018224b990ea68002900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000d83ef0076580e595b3be39d654da97184623b9b5000000000000000000000000d4e40860b41f666fbc6c3007f3d1434e353063d800000000000000000000000084dd4187a87055495d0c08fe260ca9cc9e02f09e0000000000000000000000000556620d12c38babd0461e366b433682a5000fae0000000000000000000000000f363f18f49aa350ba8fcf233cdd155a7b77af990000000000000000000000001a38292d3f685cd79bcdfc19fad7447ae762aa4c000000000000000000000000b262d04ee29ad9ebacb1ab9da99398916f425d84000000000000000000000000d8c2d6f12baf10258eb390be4377e460c1d033e20000000000000000000000001ca70fd8433ec97fa0777830a152d028d71b88fa00000000000000000000000057be4b8c57c0bb061e05fdf85843503fba673394000000000000000000000000b6ff15b634571cb56532022fe00f96fee51322b3000000000000000000000000631c87278de77902e762ba0ab57d55c10716e0b60000000000000000000000007fe443391d9a3eb0c401181c46a44eb6106bba2e00000000000000000000000094905c20fa2596fdc7d37bab6dd67b52e23351220000000000000000000000006ad8038f53ae2800d45a31d8261b062a0b55d63b000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd65000

Deployed Bytecode

0x6060604052600436106101505763ffffffff60e060020a60003504166306fdde038114610155578063095ea7b3146101df57806318160ddd1461021557806323b872dd1461023a578063313ce567146102625780633c3ad0161461028b5780635074449d146102dc5780635479d940146102ef5780635de4ccb014610302578063600440cb1461033157806366188463146103445780636e5320d11461036657806370a08231146103f957806380cecea914610418578063875606a11461043a5780638da5cb5b1461044d57806395d89b4114610460578063a104dcd414610473578063a9059cbb14610492578063b662a73c146104b4578063c752ff62146104c7578063d445cc78146104da578063d55ec697146104ed578063d73dd62314610500578063dd62ed3e14610522578063ea56a44d14610547578063f2fde38b14610566578063f950db2b14610585575b600080fd5b341561016057600080fd5b610168610598565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a457808201518382015260200161018c565b50505050905090810190601f1680156101d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57600080fd5b610201600160a060020a0360043516602435610636565b604051901515815260200160405180910390f35b341561022057600080fd5b61022861065b565b60405190815260200160405180910390f35b341561024557600080fd5b610201600160a060020a0360043581169060243516604435610661565b341561026d57600080fd5b610275610688565b60405160ff909116815260200160405180910390f35b341561029657600080fd5b6102da600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061069195505050505050565b005b34156102e757600080fd5b610201610744565b34156102fa57600080fd5b61020161074d565b341561030d57600080fd5b61031561075d565b604051600160a060020a03909116815260200160405180910390f35b341561033c57600080fd5b61031561076c565b341561034f57600080fd5b610201600160a060020a036004351660243561077b565b341561037157600080fd5b6102da60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061079995505050505050565b341561040457600080fd5b610228600160a060020a03600435166108e3565b341561042357600080fd5b610201600160a060020a03600435166024356108f5565b341561044557600080fd5b6102da610a48565b341561045857600080fd5b610315610a9b565b341561046b57600080fd5b610168610aaa565b341561047e57600080fd5b6102da600160a060020a0360043516610b15565b341561049d57600080fd5b610201600160a060020a0360043516602435610c0e565b34156104bf57600080fd5b6102da610c2c565b34156104d257600080fd5b610228610c93565b34156104e557600080fd5b6102da610c99565b34156104f857600080fd5b6102da610cef565b341561050b57600080fd5b610201600160a060020a0360043516602435610d3d565b341561052d57600080fd5b610228600160a060020a0360043581169060243516610d5b565b341561055257600080fd5b6102da600160a060020a0360043516610d86565b341561057157600080fd5b6102da600160a060020a0360043516610e1e565b341561059057600080fd5b6102da610eb9565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561062e5780601f106106035761010080835404028352916020019161062e565b820191906000526020600020905b81548152906001019060200180831161061157829003601f168201915b505050505081565b600a5460009060ff16151561064a57600080fd5b6106548383610f26565b9392505050565b60045481565b600a5460009060ff16151561067557600080fd5b610680848484610f92565b949350505050565b60035460ff1681565b600754600090819033600160a060020a039081169116146106b157600080fd5b60085460a060020a900460ff1615156106c957600080fd5b5060005b825181101561073f57600560008483815181106106e657fe5b90602001906020020151600160a060020a03168152602081019190915260400160002054915081151561071857610737565b61073783828151811061072757fe5b90602001906020020151836110c9565b6001016106cd565b505050565b600a5460ff1681565b60085460a060020a900460ff1681565b600854600160a060020a031681565b600754600160a060020a031681565b600a5460009060ff16151561078f57600080fd5b61065483836111e9565b60005433600160a060020a039081169116146107b457600080fd5b60018280516107c79291602001906114a5565b5060028180516107db9291602001906114a5565b507ff97bb93f16c08265c9826aa07a56cf41728df50b0093d6ad5d0215621bdbf6d08282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610840578082015183820152602001610828565b50505050905090810190601f16801561086d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156108a357808201518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60056020526000908152604090205481565b600a54600090819060ff16151561090b57600080fd5b6000831161091857600080fd5b600160a060020a033316600090815260056020526040902054610941908463ffffffff6112f116565b600160a060020a033381166000908152600560205260408082209390935590861681522054610976908463ffffffff61130316565b600160a060020a038516600081815260056020526040908190209290925585925090633b66d02b90339086905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156109e357600080fd5b6102c65a03f115156109f457600080fd5b50505083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b60005433600160a060020a03908116911614610a6357600080fd5b600a805460ff191690557fb4dbbcf33046b7ccb818025ea4914bb345d8025fef300942afe93e9d8b73e6f960405160405180910390a1565b600054600160a060020a031681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561062e5780601f106106035761010080835404028352916020019161062e565b60005433600160a060020a03908116911614610b3057600080fd5b60095415610b3d57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055166361d3d7a66000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba857600080fd5b6102c65a03f11515610bb957600080fd5b505050604051805190501515610bce57600080fd5b7f9120de04043d2b48750b029e0af279f60251553365aa3fc23ee8d2161ed02bc081604051600160a060020a03909116815260200160405180910390a150565b600a5460009060ff161515610c2257600080fd5b6106548383611312565b60005433600160a060020a03908116911614610c4757600080fd5b6008805474ff0000000000000000000000000000000000000000191690557ff16e551f33451711621830fd6c7873a4d7fb065b97e0f1519599a4559cf5e5a560405160405180910390a1565b60095481565b60005433600160a060020a03908116911614610cb457600080fd5b600a805460ff191660011790557f6b28a9ea65b0490a70c326753837660974732ce02a120ef66e0a0ee1e91ba51360405160405180910390a1565b60085460009060a060020a900460ff161515610d0a57600080fd5b50600160a060020a033316600090815260056020526040812054908111610d3057600080fd5b610d3a33826110c9565b50565b600a5460009060ff161515610d5157600080fd5b61065483836113f5565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610da157600080fd5b600160a060020a0381161515610db657600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790557f8f3956a45b725a7c48b08fdff733c3b1c95502c2d7537b685557b0279b85381d81604051600160a060020a03909116815260200160405180910390a150565b60005433600160a060020a03908116911614610e3957600080fd5b600160a060020a0381161515610e4e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610ed457600080fd5b6008805474ff0000000000000000000000000000000000000000191660a060020a1790557f1180ded4e87fc2487b12b01ab13e067f1d4df53b2a226e7aaac784c4d6717dae60405160405180910390a1565b600160a060020a03338116600081815260066020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610fa957600080fd5b60008211610fb657600080fd5b600160a060020a038416600090815260056020526040902054610fdf908363ffffffff6112f116565b600160a060020a038086166000908152600560205260408082209390935590851681522054611014908363ffffffff61130316565b600160a060020a0380851660009081526005602090815260408083209490945587831682526006815283822033909316825291909152205461105c908363ffffffff6112f116565b600160a060020a03808616600081815260066020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0382166000908152600560205260409020546110f2908263ffffffff6112f116565b600160a060020a03831660009081526005602052604090205560045461111e908263ffffffff6112f116565b600455600954611134908263ffffffff61130316565b600955600854600160a060020a031663753e88e5838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561118d57600080fd5b6102c65a03f1151561119e57600080fd5b5050600854600160a060020a03908116915083167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a35050565b6000808083116111f857600080fd5b50600160a060020a033381166000908152600660209081526040808320938716835292905220548083111561125457600160a060020a03338116600090815260066020908152604080832093881683529290529081205561128b565b611264818463ffffffff6112f116565b600160a060020a033381166000908152600660209081526040808320938916835292905220555b600160a060020a0333811660008181526006602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b6000828211156112fd57fe5b50900390565b60008282018381101561065457fe5b6000600160a060020a038316151561132957600080fd5b6000821161133657600080fd5b600160a060020a03331660009081526005602052604090205461135f908363ffffffff6112f116565b600160a060020a033381166000908152600560205260408082209390935590851681522054611394908363ffffffff61130316565b600160a060020a0380851660008181526005602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600080821161140357600080fd5b600160a060020a03338116600090815260066020908152604080832093871683529290522054611439908363ffffffff61130316565b600160a060020a0333811660008181526006602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114e657805160ff1916838001178555611513565b82800160010185558215611513579182015b828111156115135782518255916020019190600101906114f8565b5061151f929150611523565b5090565b61153d91905b8082111561151f5760008155600101611529565b905600a165627a7a723058207b2322c984aba8e3e0ec830a52d277a41c06b6784a66d81856018224b990ea680029

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000d83ef0076580e595b3be39d654da97184623b9b5000000000000000000000000d4e40860b41f666fbc6c3007f3d1434e353063d800000000000000000000000084dd4187a87055495d0c08fe260ca9cc9e02f09e0000000000000000000000000556620d12c38babd0461e366b433682a5000fae0000000000000000000000000f363f18f49aa350ba8fcf233cdd155a7b77af990000000000000000000000001a38292d3f685cd79bcdfc19fad7447ae762aa4c000000000000000000000000b262d04ee29ad9ebacb1ab9da99398916f425d84000000000000000000000000d8c2d6f12baf10258eb390be4377e460c1d033e20000000000000000000000001ca70fd8433ec97fa0777830a152d028d71b88fa00000000000000000000000057be4b8c57c0bb061e05fdf85843503fba673394000000000000000000000000b6ff15b634571cb56532022fe00f96fee51322b3000000000000000000000000631c87278de77902e762ba0ab57d55c10716e0b60000000000000000000000007fe443391d9a3eb0c401181c46a44eb6106bba2e00000000000000000000000094905c20fa2596fdc7d37bab6dd67b52e23351220000000000000000000000006ad8038f53ae2800d45a31d8261b062a0b55d63b000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd6500000000000000000000000000000000000000000000000000000000001dcd65000

-----Decoded View---------------
Arg [0] : _wallets (address[]): 0xd83ef0076580E595b3Be39D654Da97184623b9b5,0xd4e40860B41F666FbC6C3007f3D1434E353063d8,0x84Dd4187a87055495d0c08fe260CA9CC9E02F09E,0x0556620d12C38BabD0461E366b433682A5000faE,0x0F363f18f49Aa350ba8fCF233cdD155a7B77AF99,0x1A38292D3F685CD79BCdfC19fAD7447Ae762Aa4C,0xB262D04EE29ad9EbACB1aB9dA99398916F425D84,0xD8C2D6F12bAf10258eb390BE4377e460c1d033E2,0x1CA70fD8433Ec97Fa0777830a152d028D71B88FA,0x57Be4B8c57c0bb061e05FDf85843503Fba673394,0xB6ff15B634571cB56532022Fe00F96fEE51322B3,0x631C87278dE77902E762BA0ab57D55c10716E0B6,0x7Fe443391D9a3Eb0c401181c46a44Eb6106Bba2E,0x94905c20fa2596fdC7d37bab6Dd67B52e2335122,0x6Ad8038F53ae2800d45a31d8261b062A0B55d63B
Arg [1] : _amount (uint256[]): 8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000,8000000000

-----Encoded View---------------
34 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000240
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [3] : 000000000000000000000000d83ef0076580e595b3be39d654da97184623b9b5
Arg [4] : 000000000000000000000000d4e40860b41f666fbc6c3007f3d1434e353063d8
Arg [5] : 00000000000000000000000084dd4187a87055495d0c08fe260ca9cc9e02f09e
Arg [6] : 0000000000000000000000000556620d12c38babd0461e366b433682a5000fae
Arg [7] : 0000000000000000000000000f363f18f49aa350ba8fcf233cdd155a7b77af99
Arg [8] : 0000000000000000000000001a38292d3f685cd79bcdfc19fad7447ae762aa4c
Arg [9] : 000000000000000000000000b262d04ee29ad9ebacb1ab9da99398916f425d84
Arg [10] : 000000000000000000000000d8c2d6f12baf10258eb390be4377e460c1d033e2
Arg [11] : 0000000000000000000000001ca70fd8433ec97fa0777830a152d028d71b88fa
Arg [12] : 00000000000000000000000057be4b8c57c0bb061e05fdf85843503fba673394
Arg [13] : 000000000000000000000000b6ff15b634571cb56532022fe00f96fee51322b3
Arg [14] : 000000000000000000000000631c87278de77902e762ba0ab57d55c10716e0b6
Arg [15] : 0000000000000000000000007fe443391d9a3eb0c401181c46a44eb6106bba2e
Arg [16] : 00000000000000000000000094905c20fa2596fdc7d37bab6dd67b52e2335122
Arg [17] : 0000000000000000000000006ad8038f53ae2800d45a31d8261b062a0b55d63b
Arg [18] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [19] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [20] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [21] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [22] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [23] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [24] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [25] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [26] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [27] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [28] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [29] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [30] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [31] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [32] : 00000000000000000000000000000000000000000000000000000001dcd65000
Arg [33] : 00000000000000000000000000000000000000000000000000000001dcd65000


Swarm Source

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