ETH Price: $2,627.30 (-0.33%)
Gas: 2 Gwei

Token

Taiwan Digital Token (TWDT-ETH)
 

Overview

Max Total Supply

100,000,000,000 TWDT-ETH

Holders

116

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Filtered by Token Holder
Star Bit Ex
Balance
411.930694 TWDT-ETH

Value
$0.00
0x0681E844593A051E2882Ec897ecD5444eFE19FF2
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TWDTToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-07-20
*/

pragma solidity ^0.4.24;

//*************** SafeMath ***************

library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    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 a / b;
    }

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

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

//*************** Ownable *************** 

contract Ownable {
    address public owner;
    address public admin;

    constructor() public {
        owner = msg.sender;
    }

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

    modifier onlyOwnerAdmin() {
        require(msg.sender == owner || msg.sender == admin);
        _;
    }

    function transferOwnership(address newOwner)public onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
    function setAdmin(address _admin)public onlyOwner {
        admin = _admin;
    }

}

//************* ERC20 *************** 

contract ERC20 {
  
    function balanceOf(address who)public view returns (uint256);
    function transfer(address to, uint256 value)public returns (bool);
    function transferFrom(address from, address to, uint256 value)public returns (bool);
    function allowance(address owner, address spender)public view returns (uint256);
    function approve(address spender, uint256 value)public returns (bool);

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


//************* BlackList *************
contract BlackList is Ownable {

    function getBlackListStatus(address _address) external view returns (bool) {
        return isBlackListed[_address];
    }

    mapping (address => bool) public isBlackListed;
    
    function addBlackList(address _evilUser) public onlyOwnerAdmin {
        isBlackListed[_evilUser] = true;
        emit AddedBlackList(_evilUser);
    }

    function removeBlackList (address _clearedUser) public onlyOwnerAdmin {
        isBlackListed[_clearedUser] = false;
        emit RemovedBlackList(_clearedUser);
    }

    event AddedBlackList(address _user);
    event RemovedBlackList(address _user);

}

//************* WhiteList *************
// White list of free-of-fee.

contract WhiteList is Ownable {

    function getWhiteListStatus(address _address) external view returns (bool) {
        return isWhiteListed[_address];
    }

    mapping (address => bool) public isWhiteListed;
    
    function addWhiteList(address _User) public onlyOwnerAdmin {
        isWhiteListed[_User] = true;
        emit AddedWhiteList(_User);
    }

    function removeWhiteList(address _User) public onlyOwnerAdmin {
        isWhiteListed[_User] = false;
        emit RemovedWhiteList(_User);
    }

    event AddedWhiteList(address _user);
    event RemovedWhiteList(address _user);

}

//************* KYC ********************

contract KYC is Ownable {
    bool public needVerified = false;

    mapping (address => bool) public verifiedAccount;

    event VerifiedAccount(address target, bool Verified);
    event Error_No_Binding_Address(address _from, address _to);
    event OpenKYC();
    event CloseKYC();

    function openKYC() onlyOwnerAdmin public {
        needVerified = true;
        emit OpenKYC();
    }

    function closeKYC() onlyOwnerAdmin public {
        needVerified = false;
        emit CloseKYC();
    }

    function verifyAccount(address _target, bool _Verify) onlyOwnerAdmin public {
        require(_target != address(0));
        verifiedAccount[_target] = _Verify;
        emit VerifiedAccount(_target, _Verify);
    }

    function checkIsKYC(address _from, address _to)public view returns (bool) {
        return (!needVerified || (needVerified && verifiedAccount[_from] && verifiedAccount[_to]));
    }
}

//************* TWDT Token *************

contract TWDTToken is ERC20,Ownable,KYC,BlackList,WhiteList {
    using SafeMath for uint256;

	// Token Info.
    string public name;
    string public symbol;
    uint256 public totalSupply;
    uint256 public constant decimals = 6;

    //Wallet address.
    address public blackFundsWallet;
    address public redeemWallet;
    address public feeWallet;

    //Transaction fees.
    uint256 public feeRate = 0;
    uint256 public minimumFee = 0;
    uint256 public maximumFee = 0;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) allowed;
    mapping (address => bool) public frozenAccount;
    mapping (address => bool) public frozenAccountSend;

    event FrozenFunds(address target, bool frozen);
    event FrozenFundsSend(address target, bool frozen);
    event Logs(string log);

    event TransferredBlackFunds(address _blackListedUser, uint256 _balance);
    event Redeem(uint256 amount);

    event Fee(uint256 feeRate, uint256 minFee, uint256 maxFee);

    constructor() public {
        name = "Taiwan Digital Token";
        symbol = "TWDT-ETH";
        totalSupply = 100000000000*(10**decimals);
        balanceOf[msg.sender] = totalSupply;	
    }

    function balanceOf(address _who) public view returns (uint256 balance) {
        return balanceOf[_who];
    }

    function _transferFrom(address _from, address _to, uint256 _value) internal returns (bool) {
        require(_from != address(0));
        require(_to != address(0));
        // require(balanceOf[_from] >= _value);
        // require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(!frozenAccount[_from]);                  
        require(!frozenAccount[_to]); 
        require(!frozenAccountSend[_from]);
        require(!isBlackListed[_from]);
        if(checkIsKYC(_from, _to)){
            //Round down.
            uint256 fee = (((_value.mul(feeRate)).div(10000)).div(10**(decimals))).mul(10**(decimals));
            if(isWhiteListed[_from] || isWhiteListed[_to]){
                fee = 0;
            }else if(fee != 0){
                if (fee > maximumFee) {
                    fee = maximumFee;
                } else if (fee < minimumFee){
                    fee = minimumFee;
                }
            }
            
            //_value must be equal to or larger than minimumFee, otherwise it will fail.
            uint256 sendAmount = _value.sub(fee);
            balanceOf[_from] = balanceOf[_from].sub(_value);
            balanceOf[_to] = balanceOf[_to].add(sendAmount);
            if (fee > 0) {
                balanceOf[feeWallet] = balanceOf[feeWallet].add(fee);
                emit Transfer(_from, feeWallet, fee);
            }
            emit Transfer(_from, _to, sendAmount);
            return true;
        } else {
            //If not pass KYC, throw the event.
            emit Error_No_Binding_Address(_from, _to);
            return false;
        }
    }
	
    function transfer(address _to, uint256 _value) public returns (bool){	    
        return _transferFrom(msg.sender,_to,_value);
    }
    function transferLog(address _to, uint256 _value,string logs) public returns (bool){
        bool _status = _transferFrom(msg.sender,_to,_value);
        emit Logs(logs);
        return _status;
    }
	
    function () public {
        revert();
    }

    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        require(_spender != address(0));
        return allowed[_owner][_spender];
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        require(_spender != address(0));
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
	
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_from != address(0));
        require(_to != address(0));
        require(_value > 0);
        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require(allowed[_from][msg.sender] >= _value);
        // require(balanceOf[_from] >= _value);
        // require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(!frozenAccount[_from]);
        require(!frozenAccount[_to]);
        require(!frozenAccountSend[_from]);
        require(!isBlackListed[_from]); 
        if(checkIsKYC(_from, _to)){
            //Round down.
            uint256 fee = (((_value.mul(feeRate)).div(10000)).div(10**(decimals))).mul(10**(decimals));
            if(isWhiteListed[_from] || isWhiteListed[_to]){
                fee = 0;
            }else if(fee != 0){
                if (fee > maximumFee) {
                    fee = maximumFee;
                } else if (fee < minimumFee){
                    fee = minimumFee;
                }
            }
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
            //_value must be equal to or larger than minimumFee, otherwise it will fail.
            uint256 sendAmount = _value.sub(fee);

            balanceOf[_from] = balanceOf[_from].sub(_value);
            balanceOf[_to] = balanceOf[_to].add(sendAmount);
            if (fee > 0) {
                balanceOf[feeWallet] = balanceOf[feeWallet].add(fee);
                emit Transfer(_from, feeWallet, fee);
            }
            emit Transfer(_from, _to, sendAmount);
            return true;
        } else {
            // If not pass KYC, throw the event.
            emit Error_No_Binding_Address(_from, _to);
            return false;
        }
    }
        
    function freezeAccount(address _target, bool _freeze) onlyOwnerAdmin public {
        require(_target != address(0));
        frozenAccount[_target] = _freeze;
        emit FrozenFunds(_target, _freeze);
    }

    function freezeAccountSend(address _target, bool _freeze) onlyOwnerAdmin public {
        require(_target != address(0));
        frozenAccountSend[_target] = _freeze;
        emit FrozenFundsSend(_target, _freeze);
    }

    // Transfer of illegal funds.
    // It can transfer tokens to blackFundsWallet only.
    function transferBlackFunds(address _blackListedUser) public onlyOwnerAdmin {
        require(blackFundsWallet != address(0));
        require(isBlackListed[_blackListedUser]);
        uint256 dirtyFunds = balanceOf[_blackListedUser];
        balanceOf[_blackListedUser] = 0;
        balanceOf[blackFundsWallet] = balanceOf[blackFundsWallet].add(dirtyFunds);
        emit Transfer(_blackListedUser, blackFundsWallet, dirtyFunds);
        emit TransferredBlackFunds(_blackListedUser, dirtyFunds);
    }

    // Burn tokens when user stops rent.
    // It can burn tokens from redeemWallet only.
    function redeem(uint256 amount) public onlyOwnerAdmin {
        require(redeemWallet != address(0));
        require(totalSupply >= amount);
        require(balanceOf[redeemWallet] >= amount);

        totalSupply = totalSupply.sub(amount);
        balanceOf[redeemWallet] = balanceOf[redeemWallet].sub(amount);
        emit Transfer(redeemWallet, address(0), amount);
        emit Redeem(amount);
    }

    // Mint a new amount of tokens.
    function mintToken(address _target, uint256 _mintedAmount) onlyOwner public {
        require(_target != address(0));
        require(_mintedAmount > 0);
        require(!frozenAccount[_target]);
        // require(totalSupply + _mintedAmount > totalSupply);
        // require(balanceOf[_target] + _mintedAmount > balanceOf[_target]);
        balanceOf[_target] = balanceOf[_target].add(_mintedAmount);
        totalSupply = totalSupply.add(_mintedAmount);
        emit Transfer(address(0), this, _mintedAmount);
        emit Transfer(this, _target, _mintedAmount);
    }

    // Set the illegal fund wallet.
    function setBlackFundsWallet(address _target) onlyOwner public {
        blackFundsWallet = _target;
    }

    // Set the redeem wallet.
    function setRedeemWallet(address _target) onlyOwner public {
        redeemWallet = _target;
    }

    // Set the fee wallet.
    function setFeeWallet(address _target) onlyOwner public {
        feeWallet = _target;
    }

    // Set the token transfer fee.
    // The maximum of feeRate is 0.1%.
    // The maximum of fee is 100 TWDT.
    function setFee(uint256 _feeRate, uint256 _minimumFee, uint256 _maximumFee) onlyOwner public {
        require(_feeRate <= 10);
        require(_maximumFee <= 100);
        require(_minimumFee <= _maximumFee);

        feeRate = _feeRate;
        minimumFee = _minimumFee.mul(10**decimals);
        maximumFee = _maximumFee.mul(10**decimals);

        emit Fee(feeRate, minimumFee, maximumFee);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_freeze","type":"bool"}],"name":"freezeAccountSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"checkIsKYC","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"closeKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_User","type":"address"}],"name":"removeWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verifiedAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_feeRate","type":"uint256"},{"name":"_minimumFee","type":"uint256"},{"name":"_maximumFee","type":"uint256"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"logs","type":"string"}],"name":"transferLog","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getWhiteListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isWhiteListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"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":"_target","type":"address"}],"name":"setFeeWallet","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":"feeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"redeemWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"transferBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"needVerified","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"openKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccountSend","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_Verify","type":"bool"}],"name":"verifyAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"setRedeemWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"setBlackFundsWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_User","type":"address"}],"name":"addWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blackFundsWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFundsSend","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"log","type":"string"}],"name":"Logs","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"TransferredBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feeRate","type":"uint256"},{"indexed":false,"name":"minFee","type":"uint256"},{"indexed":false,"name":"maxFee","type":"uint256"}],"name":"Fee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"Verified","type":"bool"}],"name":"VerifiedAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"}],"name":"Error_No_Binding_Address","type":"event"},{"anonymous":false,"inputs":[],"name":"OpenKYC","type":"event"},{"anonymous":false,"inputs":[],"name":"CloseKYC","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"}]

60806040526001805460a060020a60ff02191690556000600b819055600c819055600d553480156200003057600080fd5b5060008054600160a060020a031916331790556040805180820190915260148082527f54616977616e204469676974616c20546f6b656e00000000000000000000000060209092019182526200008991600591620000f5565b506040805180820190915260088082527f545744542d4554480000000000000000000000000000000000000000000000006020909201918252620000d091600691620000f5565b5067016345785d8a00006007819055336000908152600e60205260409020556200019a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013857805160ff191683800117855562000168565b8280016001018555821562000168579182015b82811115620001685782518255916020019190600101906200014b565b50620001769291506200017a565b5090565b6200019791905b8082111562000176576000815560010162000181565b90565b611d4e80620001aa6000396000f3006080604052600436106102245763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663052f7d11811461023657806306d6e5131461025e57806306fdde0314610299578063095ea7b3146103235780630ecb93c01461034757806318160ddd146103685780631a7626e71461038f5780631bada3c0146103a45780632042e5c2146103b957806323b872dd146103da578063313ce5671461040457806335390714146104195780635448d4251461042e57806359bf1abe1461044f5780635b65b9ab146104705780635b66cc841461048e578063669b8f20146104f75780636f9170f614610518578063704b6c021461053957806370a082311461055a57806379c650681461057b5780638da5cb5b1461059f57806390d49b9d146105d057806395d89b41146105f1578063978bbdb914610606578063a9059cbb1461061b578063b06f8d341461063f578063b414d4b614610654578063b52ae3fc14610675578063c5c00ac614610696578063ce419871146106ab578063ce444209146106c0578063cf314b6a146106e1578063da42eea514610707578063db006a7514610728578063dd62ed3e14610740578063e0a2173914610767578063e47d606014610788578063e4997dc5146107a9578063e724529c146107ca578063e7cd4a04146107f0578063eb78a26d14610811578063f25f4b5614610826578063f2fde38b1461083b578063f851a4401461085c575b34801561023057600080fd5b50600080fd5b34801561024257600080fd5b5061025c600160a060020a03600435166024351515610871565b005b34801561026a57600080fd5b50610285600160a060020a0360043581169060243516610918565b604080519115158252519081900360200190f35b3480156102a557600080fd5b506102ae6109af565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e85781810151838201526020016102d0565b50505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032f57600080fd5b50610285600160a060020a0360043516602435610a3d565b34801561035357600080fd5b5061025c600160a060020a0360043516610abb565b34801561037457600080fd5b5061037d610b44565b60408051918252519081900360200190f35b34801561039b57600080fd5b5061037d610b4a565b3480156103b057600080fd5b5061025c610b50565b3480156103c557600080fd5b5061025c600160a060020a0360043516610bc7565b3480156103e657600080fd5b50610285600160a060020a0360043581169060243516604435610c4d565b34801561041057600080fd5b5061037d610fe6565b34801561042557600080fd5b5061037d610feb565b34801561043a57600080fd5b50610285600160a060020a0360043516610ff1565b34801561045b57600080fd5b50610285600160a060020a0360043516611006565b34801561047c57600080fd5b5061025c600435602435604435611024565b34801561049a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610285948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110e49650505050505050565b34801561050357600080fd5b50610285600160a060020a0360043516611195565b34801561052457600080fd5b50610285600160a060020a03600435166111b3565b34801561054557600080fd5b5061025c600160a060020a03600435166111c8565b34801561056657600080fd5b5061037d600160a060020a036004351661120e565b34801561058757600080fd5b5061025c600160a060020a0360043516602435611229565b3480156105ab57600080fd5b506105b4611338565b60408051600160a060020a039092168252519081900360200190f35b3480156105dc57600080fd5b5061025c600160a060020a0360043516611347565b3480156105fd57600080fd5b506102ae61138d565b34801561061257600080fd5b5061037d6113e8565b34801561062757600080fd5b50610285600160a060020a03600435166024356113ee565b34801561064b57600080fd5b506105b46113fb565b34801561066057600080fd5b50610285600160a060020a036004351661140a565b34801561068157600080fd5b5061025c600160a060020a036004351661141f565b3480156106a257600080fd5b5061028561155d565b3480156106b757600080fd5b5061025c61157e565b3480156106cc57600080fd5b50610285600160a060020a036004351661160c565b3480156106ed57600080fd5b5061025c600160a060020a03600435166024351515611621565b34801561071357600080fd5b5061025c600160a060020a03600435166116c8565b34801561073457600080fd5b5061025c60043561170e565b34801561074c57600080fd5b5061037d600160a060020a0360043581169060243516611848565b34801561077357600080fd5b5061025c600160a060020a036004351661188b565b34801561079457600080fd5b50610285600160a060020a03600435166118d1565b3480156107b557600080fd5b5061025c600160a060020a03600435166118e6565b3480156107d657600080fd5b5061025c600160a060020a0360043516602435151561196c565b3480156107fc57600080fd5b5061025c600160a060020a0360043516611a13565b34801561081d57600080fd5b506105b4611a9c565b34801561083257600080fd5b506105b4611aab565b34801561084757600080fd5b5061025c600160a060020a0360043516611aba565b34801561086857600080fd5b506105b4611b0c565b600054600160a060020a03163314806108945750600154600160a060020a031633145b151561089f57600080fd5b600160a060020a03821615156108b457600080fd5b600160a060020a038216600081815260116020908152604091829020805460ff191685151590811790915582519384529083015280517f0d9b56518d074f1c1ad130909f8ed3faec9e408271086b44553451122555c2789281900390910190a15050565b60015460009074010000000000000000000000000000000000000000900460ff1615806109a6575060015474010000000000000000000000000000000000000000900460ff1680156109825750600160a060020a03831660009081526002602052604090205460ff165b80156109a65750600160a060020a03821660009081526002602052604090205460ff165b90505b92915050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a355780601f10610a0a57610100808354040283529160200191610a35565b820191906000526020600020905b815481529060010190602001808311610a1857829003601f168201915b505050505081565b6000600160a060020a0383161515610a5457600080fd5b336000818152600f60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600054600160a060020a0316331480610ade5750600154600160a060020a031633145b1515610ae957600080fd5b600160a060020a038116600081815260036020908152604091829020805460ff19166001179055815192835290517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9281900390910190a150565b60075481565b600c5481565b600054600160a060020a0316331480610b735750600154600160a060020a031633145b1515610b7e57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f39856f31e246a68d332f4c60747159f18f8534ec5f86ab5a1272cfac9b320f5690600090a1565b600054600160a060020a0316331480610bea5750600154600160a060020a031633145b1515610bf557600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff19169055815192835290517f9ff0fe46bde692ffa123229beb5debd1c068a183c3b74be4f2d749f628203d3a9281900390910190a150565b60008080600160a060020a0386161515610c6657600080fd5b600160a060020a0385161515610c7b57600080fd5b60008411610c8857600080fd5b600160a060020a03861660009081526010602052604090205460ff1615610cae57600080fd5b600160a060020a03851660009081526010602052604090205460ff1615610cd457600080fd5b600160a060020a03861660009081526011602052604090205460ff1615610cfa57600080fd5b600160a060020a03861660009081526003602052604090205460ff1615610d2057600080fd5b610d2a8686610918565b15610f9357610d726006600a0a610d666006600a0a610d5a612710610d5a600b548b611b1b90919063ffffffff16565b9063ffffffff611b4416565b9063ffffffff611b1b16565b600160a060020a03871660009081526004602052604090205490925060ff1680610db45750600160a060020a03851660009081526004602052604090205460ff165b15610dc25760009150610dec565b8115610dec57600d54821115610ddc57600d549150610dec565b600c54821015610dec57600c5491505b600160a060020a0386166000908152600f60209081526040808320338452909152902054610e20908563ffffffff611b5916565b600160a060020a0387166000908152600f60209081526040808320338452909152902055610e54848363ffffffff611b5916565b600160a060020a0387166000908152600e6020526040902054909150610e80908563ffffffff611b5916565b600160a060020a038088166000908152600e60205260408082209390935590871681522054610eb5908263ffffffff611b6b16565b600160a060020a0386166000908152600e6020526040812091909155821115610f5157600a54600160a060020a03166000908152600e6020526040902054610f03908363ffffffff611b6b16565b600a8054600160a060020a039081166000908152600e60209081526040918290209490945591548251868152925190821693918a1692600080516020611d0383398151915292908290030190a35b84600160a060020a031686600160a060020a0316600080516020611d03833981519152836040518082815260200191505060405180910390a360019250610fdd565b60408051600160a060020a0380891682528716602082015281517f9e8c7c8abb0b6e040ca463b93c5dfed433d5fdee0f4e4029a975d3e36053f23a929181900390910190a1600092505b50509392505050565b600681565b600d5481565b60026020526000908152604090205460ff1681565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a0316331461103b57600080fd5b600a83111561104957600080fd5b606481111561105757600080fd5b8082111561106457600080fd5b600b83905561107c82620f424063ffffffff611b1b16565b600c5561109281620f424063ffffffff611b1b16565b600d819055600b54600c546040805192835260208301919091528181019290925290517f7db2709f6e7adf14b75ac6a4bc01b5f3ff9000017f9648c2b70f6ca8616d8f579181900360600190a1505050565b6000806110f2338686611b78565b90507fdf615b3983b7b70e51c03bc3d383f109d6e0c31b6feac9342844de59386c382e836040518080602001828103825283818151815260200191508051906020019080838360005b8381101561115357818101518382015260200161113b565b50505050905090810190601f1680156111805780820380516001836020036101000a031916815260200191505b509250505060405180910390a1949350505050565b600160a060020a031660009081526004602052604090205460ff1690565b60046020526000908152604090205460ff1681565b600054600160a060020a031633146111df57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03166000908152600e602052604090205490565b600054600160a060020a0316331461124057600080fd5b600160a060020a038216151561125557600080fd5b6000811161126257600080fd5b600160a060020a03821660009081526010602052604090205460ff161561128857600080fd5b600160a060020a0382166000908152600e60205260409020546112b1908263ffffffff611b6b16565b600160a060020a0383166000908152600e60205260409020556007546112dd908263ffffffff611b6b16565b6007556040805182815290513091600091600080516020611d038339815191529181900360200190a3604080518281529051600160a060020a038416913091600080516020611d038339815191529181900360200190a35050565b600054600160a060020a031681565b600054600160a060020a0316331461135e57600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a355780601f10610a0a57610100808354040283529160200191610a35565b600b5481565b60006109a6338484611b78565b600954600160a060020a031681565b60106020526000908152604090205460ff1681565b60008054600160a060020a03163314806114435750600154600160a060020a031633145b151561144e57600080fd5b600854600160a060020a0316151561146557600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561148c57600080fd5b50600160a060020a038082166000908152600e602052604080822080549083905560085490931682529020546114c8908263ffffffff611b6b16565b60088054600160a060020a039081166000908152600e6020908152604091829020949094559154825185815292519082169391861692600080516020611d0383398151915292908290030190a360408051600160a060020a03841681526020810183905281517f1be32549cb14b0867ff723f714178de68308243dafe73ab66d06cb6de4f38f10929181900390910190a15050565b60015474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a03163314806115a15750600154600160a060020a031633145b15156115ac57600080fd5b6001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f2b7c9e8bd3e70076d2cf0d3ec392eee80b102aa839d1c225aae1d24909b0b50290600090a1565b60116020526000908152604090205460ff1681565b600054600160a060020a03163314806116445750600154600160a060020a031633145b151561164f57600080fd5b600160a060020a038216151561166457600080fd5b600160a060020a038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517fddd6e175a3eca755bcade367a228d9a3251ee99ffa78881c924f8696dc5e14a99281900390910190a15050565b600054600160a060020a031633146116df57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314806117315750600154600160a060020a031633145b151561173c57600080fd5b600954600160a060020a0316151561175357600080fd5b60075481111561176257600080fd5b600954600160a060020a03166000908152600e602052604090205481111561178957600080fd5b60075461179c908263ffffffff611b5916565b600755600954600160a060020a03166000908152600e60205260409020546117ca908263ffffffff611b5916565b60098054600160a060020a039081166000908152600e60209081526040808320959095559254845186815294519194921692600080516020611d03833981519152928290030190a36040805182815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a449181900360200190a150565b6000600160a060020a038216151561185f57600080fd5b50600160a060020a039182166000908152600f6020908152604080832093909416825291909152205490565b600054600160a060020a031633146118a257600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60036020526000908152604090205460ff1681565b600054600160a060020a03163314806119095750600154600160a060020a031633145b151561191457600080fd5b600160a060020a038116600081815260036020908152604091829020805460ff19169055815192835290517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9281900390910190a150565b600054600160a060020a031633148061198f5750600154600160a060020a031633145b151561199a57600080fd5b600160a060020a03821615156119af57600080fd5b600160a060020a038216600081815260106020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600054600160a060020a0316331480611a365750600154600160a060020a031633145b1515611a4157600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff19166001179055815192835290517f64fd21439447139bed5a374a0f62ecc0fbd38cf2687d4ed5d587cb55dfbd42589281900390910190a150565b600854600160a060020a031681565b600a54600160a060020a031681565b600054600160a060020a03163314611ad157600080fd5b600160a060020a03811615611b09576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600154600160a060020a031681565b6000821515611b2c575060006109a9565b50818102818382811515611b3c57fe5b04146109a957fe5b60008183811515611b5157fe5b049392505050565b600082821115611b6557fe5b50900390565b818101828110156109a957fe5b60008080600160a060020a0386161515611b9157600080fd5b600160a060020a0385161515611ba657600080fd5b600160a060020a03861660009081526010602052604090205460ff1615611bcc57600080fd5b600160a060020a03851660009081526010602052604090205460ff1615611bf257600080fd5b600160a060020a03861660009081526011602052604090205460ff1615611c1857600080fd5b600160a060020a03861660009081526003602052604090205460ff1615611c3e57600080fd5b611c488686610918565b15610f9357611c786006600a0a610d666006600a0a610d5a612710610d5a600b548b611b1b90919063ffffffff16565b600160a060020a03871660009081526004602052604090205490925060ff1680611cba5750600160a060020a03851660009081526004602052604090205460ff165b15611cc85760009150611cf2565b8115611cf257600d54821115611ce257600d549150611cf2565b600c54821015611cf257600c5491505b610e54848363ffffffff611b59165600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ee25078d89444bd96ae8cb975024c3637df74256ab0d304974a1290d6c8093690029

Deployed Bytecode

0x6080604052600436106102245763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663052f7d11811461023657806306d6e5131461025e57806306fdde0314610299578063095ea7b3146103235780630ecb93c01461034757806318160ddd146103685780631a7626e71461038f5780631bada3c0146103a45780632042e5c2146103b957806323b872dd146103da578063313ce5671461040457806335390714146104195780635448d4251461042e57806359bf1abe1461044f5780635b65b9ab146104705780635b66cc841461048e578063669b8f20146104f75780636f9170f614610518578063704b6c021461053957806370a082311461055a57806379c650681461057b5780638da5cb5b1461059f57806390d49b9d146105d057806395d89b41146105f1578063978bbdb914610606578063a9059cbb1461061b578063b06f8d341461063f578063b414d4b614610654578063b52ae3fc14610675578063c5c00ac614610696578063ce419871146106ab578063ce444209146106c0578063cf314b6a146106e1578063da42eea514610707578063db006a7514610728578063dd62ed3e14610740578063e0a2173914610767578063e47d606014610788578063e4997dc5146107a9578063e724529c146107ca578063e7cd4a04146107f0578063eb78a26d14610811578063f25f4b5614610826578063f2fde38b1461083b578063f851a4401461085c575b34801561023057600080fd5b50600080fd5b34801561024257600080fd5b5061025c600160a060020a03600435166024351515610871565b005b34801561026a57600080fd5b50610285600160a060020a0360043581169060243516610918565b604080519115158252519081900360200190f35b3480156102a557600080fd5b506102ae6109af565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e85781810151838201526020016102d0565b50505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032f57600080fd5b50610285600160a060020a0360043516602435610a3d565b34801561035357600080fd5b5061025c600160a060020a0360043516610abb565b34801561037457600080fd5b5061037d610b44565b60408051918252519081900360200190f35b34801561039b57600080fd5b5061037d610b4a565b3480156103b057600080fd5b5061025c610b50565b3480156103c557600080fd5b5061025c600160a060020a0360043516610bc7565b3480156103e657600080fd5b50610285600160a060020a0360043581169060243516604435610c4d565b34801561041057600080fd5b5061037d610fe6565b34801561042557600080fd5b5061037d610feb565b34801561043a57600080fd5b50610285600160a060020a0360043516610ff1565b34801561045b57600080fd5b50610285600160a060020a0360043516611006565b34801561047c57600080fd5b5061025c600435602435604435611024565b34801561049a57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610285948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110e49650505050505050565b34801561050357600080fd5b50610285600160a060020a0360043516611195565b34801561052457600080fd5b50610285600160a060020a03600435166111b3565b34801561054557600080fd5b5061025c600160a060020a03600435166111c8565b34801561056657600080fd5b5061037d600160a060020a036004351661120e565b34801561058757600080fd5b5061025c600160a060020a0360043516602435611229565b3480156105ab57600080fd5b506105b4611338565b60408051600160a060020a039092168252519081900360200190f35b3480156105dc57600080fd5b5061025c600160a060020a0360043516611347565b3480156105fd57600080fd5b506102ae61138d565b34801561061257600080fd5b5061037d6113e8565b34801561062757600080fd5b50610285600160a060020a03600435166024356113ee565b34801561064b57600080fd5b506105b46113fb565b34801561066057600080fd5b50610285600160a060020a036004351661140a565b34801561068157600080fd5b5061025c600160a060020a036004351661141f565b3480156106a257600080fd5b5061028561155d565b3480156106b757600080fd5b5061025c61157e565b3480156106cc57600080fd5b50610285600160a060020a036004351661160c565b3480156106ed57600080fd5b5061025c600160a060020a03600435166024351515611621565b34801561071357600080fd5b5061025c600160a060020a03600435166116c8565b34801561073457600080fd5b5061025c60043561170e565b34801561074c57600080fd5b5061037d600160a060020a0360043581169060243516611848565b34801561077357600080fd5b5061025c600160a060020a036004351661188b565b34801561079457600080fd5b50610285600160a060020a03600435166118d1565b3480156107b557600080fd5b5061025c600160a060020a03600435166118e6565b3480156107d657600080fd5b5061025c600160a060020a0360043516602435151561196c565b3480156107fc57600080fd5b5061025c600160a060020a0360043516611a13565b34801561081d57600080fd5b506105b4611a9c565b34801561083257600080fd5b506105b4611aab565b34801561084757600080fd5b5061025c600160a060020a0360043516611aba565b34801561086857600080fd5b506105b4611b0c565b600054600160a060020a03163314806108945750600154600160a060020a031633145b151561089f57600080fd5b600160a060020a03821615156108b457600080fd5b600160a060020a038216600081815260116020908152604091829020805460ff191685151590811790915582519384529083015280517f0d9b56518d074f1c1ad130909f8ed3faec9e408271086b44553451122555c2789281900390910190a15050565b60015460009074010000000000000000000000000000000000000000900460ff1615806109a6575060015474010000000000000000000000000000000000000000900460ff1680156109825750600160a060020a03831660009081526002602052604090205460ff165b80156109a65750600160a060020a03821660009081526002602052604090205460ff165b90505b92915050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a355780601f10610a0a57610100808354040283529160200191610a35565b820191906000526020600020905b815481529060010190602001808311610a1857829003601f168201915b505050505081565b6000600160a060020a0383161515610a5457600080fd5b336000818152600f60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600054600160a060020a0316331480610ade5750600154600160a060020a031633145b1515610ae957600080fd5b600160a060020a038116600081815260036020908152604091829020805460ff19166001179055815192835290517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9281900390910190a150565b60075481565b600c5481565b600054600160a060020a0316331480610b735750600154600160a060020a031633145b1515610b7e57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f39856f31e246a68d332f4c60747159f18f8534ec5f86ab5a1272cfac9b320f5690600090a1565b600054600160a060020a0316331480610bea5750600154600160a060020a031633145b1515610bf557600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff19169055815192835290517f9ff0fe46bde692ffa123229beb5debd1c068a183c3b74be4f2d749f628203d3a9281900390910190a150565b60008080600160a060020a0386161515610c6657600080fd5b600160a060020a0385161515610c7b57600080fd5b60008411610c8857600080fd5b600160a060020a03861660009081526010602052604090205460ff1615610cae57600080fd5b600160a060020a03851660009081526010602052604090205460ff1615610cd457600080fd5b600160a060020a03861660009081526011602052604090205460ff1615610cfa57600080fd5b600160a060020a03861660009081526003602052604090205460ff1615610d2057600080fd5b610d2a8686610918565b15610f9357610d726006600a0a610d666006600a0a610d5a612710610d5a600b548b611b1b90919063ffffffff16565b9063ffffffff611b4416565b9063ffffffff611b1b16565b600160a060020a03871660009081526004602052604090205490925060ff1680610db45750600160a060020a03851660009081526004602052604090205460ff165b15610dc25760009150610dec565b8115610dec57600d54821115610ddc57600d549150610dec565b600c54821015610dec57600c5491505b600160a060020a0386166000908152600f60209081526040808320338452909152902054610e20908563ffffffff611b5916565b600160a060020a0387166000908152600f60209081526040808320338452909152902055610e54848363ffffffff611b5916565b600160a060020a0387166000908152600e6020526040902054909150610e80908563ffffffff611b5916565b600160a060020a038088166000908152600e60205260408082209390935590871681522054610eb5908263ffffffff611b6b16565b600160a060020a0386166000908152600e6020526040812091909155821115610f5157600a54600160a060020a03166000908152600e6020526040902054610f03908363ffffffff611b6b16565b600a8054600160a060020a039081166000908152600e60209081526040918290209490945591548251868152925190821693918a1692600080516020611d0383398151915292908290030190a35b84600160a060020a031686600160a060020a0316600080516020611d03833981519152836040518082815260200191505060405180910390a360019250610fdd565b60408051600160a060020a0380891682528716602082015281517f9e8c7c8abb0b6e040ca463b93c5dfed433d5fdee0f4e4029a975d3e36053f23a929181900390910190a1600092505b50509392505050565b600681565b600d5481565b60026020526000908152604090205460ff1681565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a0316331461103b57600080fd5b600a83111561104957600080fd5b606481111561105757600080fd5b8082111561106457600080fd5b600b83905561107c82620f424063ffffffff611b1b16565b600c5561109281620f424063ffffffff611b1b16565b600d819055600b54600c546040805192835260208301919091528181019290925290517f7db2709f6e7adf14b75ac6a4bc01b5f3ff9000017f9648c2b70f6ca8616d8f579181900360600190a1505050565b6000806110f2338686611b78565b90507fdf615b3983b7b70e51c03bc3d383f109d6e0c31b6feac9342844de59386c382e836040518080602001828103825283818151815260200191508051906020019080838360005b8381101561115357818101518382015260200161113b565b50505050905090810190601f1680156111805780820380516001836020036101000a031916815260200191505b509250505060405180910390a1949350505050565b600160a060020a031660009081526004602052604090205460ff1690565b60046020526000908152604090205460ff1681565b600054600160a060020a031633146111df57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03166000908152600e602052604090205490565b600054600160a060020a0316331461124057600080fd5b600160a060020a038216151561125557600080fd5b6000811161126257600080fd5b600160a060020a03821660009081526010602052604090205460ff161561128857600080fd5b600160a060020a0382166000908152600e60205260409020546112b1908263ffffffff611b6b16565b600160a060020a0383166000908152600e60205260409020556007546112dd908263ffffffff611b6b16565b6007556040805182815290513091600091600080516020611d038339815191529181900360200190a3604080518281529051600160a060020a038416913091600080516020611d038339815191529181900360200190a35050565b600054600160a060020a031681565b600054600160a060020a0316331461135e57600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a355780601f10610a0a57610100808354040283529160200191610a35565b600b5481565b60006109a6338484611b78565b600954600160a060020a031681565b60106020526000908152604090205460ff1681565b60008054600160a060020a03163314806114435750600154600160a060020a031633145b151561144e57600080fd5b600854600160a060020a0316151561146557600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561148c57600080fd5b50600160a060020a038082166000908152600e602052604080822080549083905560085490931682529020546114c8908263ffffffff611b6b16565b60088054600160a060020a039081166000908152600e6020908152604091829020949094559154825185815292519082169391861692600080516020611d0383398151915292908290030190a360408051600160a060020a03841681526020810183905281517f1be32549cb14b0867ff723f714178de68308243dafe73ab66d06cb6de4f38f10929181900390910190a15050565b60015474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a03163314806115a15750600154600160a060020a031633145b15156115ac57600080fd5b6001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f2b7c9e8bd3e70076d2cf0d3ec392eee80b102aa839d1c225aae1d24909b0b50290600090a1565b60116020526000908152604090205460ff1681565b600054600160a060020a03163314806116445750600154600160a060020a031633145b151561164f57600080fd5b600160a060020a038216151561166457600080fd5b600160a060020a038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517fddd6e175a3eca755bcade367a228d9a3251ee99ffa78881c924f8696dc5e14a99281900390910190a15050565b600054600160a060020a031633146116df57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314806117315750600154600160a060020a031633145b151561173c57600080fd5b600954600160a060020a0316151561175357600080fd5b60075481111561176257600080fd5b600954600160a060020a03166000908152600e602052604090205481111561178957600080fd5b60075461179c908263ffffffff611b5916565b600755600954600160a060020a03166000908152600e60205260409020546117ca908263ffffffff611b5916565b60098054600160a060020a039081166000908152600e60209081526040808320959095559254845186815294519194921692600080516020611d03833981519152928290030190a36040805182815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a449181900360200190a150565b6000600160a060020a038216151561185f57600080fd5b50600160a060020a039182166000908152600f6020908152604080832093909416825291909152205490565b600054600160a060020a031633146118a257600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60036020526000908152604090205460ff1681565b600054600160a060020a03163314806119095750600154600160a060020a031633145b151561191457600080fd5b600160a060020a038116600081815260036020908152604091829020805460ff19169055815192835290517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9281900390910190a150565b600054600160a060020a031633148061198f5750600154600160a060020a031633145b151561199a57600080fd5b600160a060020a03821615156119af57600080fd5b600160a060020a038216600081815260106020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600054600160a060020a0316331480611a365750600154600160a060020a031633145b1515611a4157600080fd5b600160a060020a038116600081815260046020908152604091829020805460ff19166001179055815192835290517f64fd21439447139bed5a374a0f62ecc0fbd38cf2687d4ed5d587cb55dfbd42589281900390910190a150565b600854600160a060020a031681565b600a54600160a060020a031681565b600054600160a060020a03163314611ad157600080fd5b600160a060020a03811615611b09576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600154600160a060020a031681565b6000821515611b2c575060006109a9565b50818102818382811515611b3c57fe5b04146109a957fe5b60008183811515611b5157fe5b049392505050565b600082821115611b6557fe5b50900390565b818101828110156109a957fe5b60008080600160a060020a0386161515611b9157600080fd5b600160a060020a0385161515611ba657600080fd5b600160a060020a03861660009081526010602052604090205460ff1615611bcc57600080fd5b600160a060020a03851660009081526010602052604090205460ff1615611bf257600080fd5b600160a060020a03861660009081526011602052604090205460ff1615611c1857600080fd5b600160a060020a03861660009081526003602052604090205460ff1615611c3e57600080fd5b611c488686610918565b15610f9357611c786006600a0a610d666006600a0a610d5a612710610d5a600b548b611b1b90919063ffffffff16565b600160a060020a03871660009081526004602052604090205490925060ff1680611cba5750600160a060020a03851660009081526004602052604090205460ff165b15611cc85760009150611cf2565b8115611cf257600d54821115611ce257600d549150611cf2565b600c54821015611cf257600c5491505b610e54848363ffffffff611b59165600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ee25078d89444bd96ae8cb975024c3637df74256ab0d304974a1290d6c8093690029

Swarm Source

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