ETH Price: $3,548.19 (+7.61%)

Token

Tao Ceτi (CETI)
 

Overview

Max Total Supply

21,000,000 CETI

Holders

3,797 ( -0.026%)

Market

Price

$0.60 @ 0.000170 ETH (+0.54%)

Onchain Market Cap

$12,702,480.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: CETI
Balance
39,015.29902655019064606 CETI

Value
$23,599.57 ( ~6.6512 Eth) [0.1858%]
0x71fdecb07f03050322dcaf24c0feb40a4493f7aa
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

At ceτi, our mission is to accelerate the advancement of decentralized artificial intelligence.

Market

Volume (24H):$95,302.00
Market Capitalization:$0.00
Circulating Supply:0.00 CETI
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CETI

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : CETI.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity 0.8.24;
/*********************************************************************************************************************|
|                                                                                                                     |
|              τττττττττττττττττττ       ττττττττττττττττττττττττττττττττττττττττττττττττττττττττττττ     τττττ       |
|           ττττττττττττττττττττ      τττττττττττττττττττττττττττττττττττττττττττττττττττττττττττττττ     τττττ       |
|         τττττττ                   τττττττ                                τττττ                          τττττ       |
|         τττττ                    ττττττ                                  τττττ                          τττ         |
|        ττττττ                    ττττττ                                  τττττ                                      |
|        ττττττ                    τττττττττττττττττττττττττττ             τττττ                              τ       |
|        ττττττ                    τττττττττττττττττττττττττττ             τττττ                            τττ       |
|        ττττττ                    ττττττ                                  τττττ                          τττττ       |
|        ττττττ                    ττττττ                                  τττττ                          τττττ       |
|         ττττττ                    ττττττ                                 ττττττ         τττττττττ       τττττ       |
|          ττττττττττττττττττττ      τττττττττττττττττττττττττττττττττ      ττττττττττττττττττττ          τττττ       |
|            ττττττττττττττττττττ      τττττττττττττττττττττττττττττττ        τττττττττττττττ             τττττ       |       
|                 ττττττττττττττττ          ττττττττττττττττττττττττττ             τττττ                  τττττ       |
|                                                                                                                     |
**********************************************************************************************************************|
|                                                                                                                     |
|                     PER MARE                         PER TERRAS                        PER CONSTELLATUM             |
|                                                                                                                     |
**********************************************************************************************************************|
|                                                                                                                     |
|        @notice Modern and gas efficient ERC20 + EIP-2612 implementation with ownership and a tax.                   |
|        @author Ceτɩ https://taoceti.ai                                                                              |
|        @author Modified from Solmate                                                                                |
|                                                                                                                     |
**********************************************************************************************************************/
contract CETI {
    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 amount
    );
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    error NOT_OWNER();
    error PERMIT_DEADLINE_EXPIRED();
    error INVALID_SIGNER();
    error MAX_BUY_AMOUNT_EXCEEDED();
    error MAX_WALLET_AMOUNT_EXCEEDED();
    error FEE_WILLY_HIGH();
    error DO_LITTLE();
    error GAMES_OVER();

    string public name = "Tao Ce\u03C4i";
    string public symbol = "CETI";
    uint8 public immutable decimals = 18;

    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    uint256 internal immutable INITIAL_CHAIN_ID;
    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;
    mapping(address => uint256) public nonces;

    uint256 public sellFee = 5;
    uint256 public buyAndTransferFee = 5;
    uint256 public maxBuyAmount = totalSupply / 300;
    address public feeReceiver;

    mapping(address => bool) internal _isExcludedFromFee;
    
    address public owner;

    bool public whackAMole = true;

    modifier onlyOwner() {
        if(msg.sender != owner)
            revert NOT_OWNER();
        _;
    }

    constructor() {
        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
        owner = msg.sender;
        feeReceiver = owner;
        _isExcludedFromFee[owner] = true;
        _mint(owner, 21_000_000 ether);
    }

    function approve(
        address spender,
        uint256 amount
    ) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;
        unchecked {
            if(!_isExcludedFromFee[to] && !_isExcludedFromFee[msg.sender]){
                    uint fee = (amount * buyAndTransferFee) / 100;
                    if(whackAMole) {
                        if(amount > maxBuyAmount)
                            revert MAX_BUY_AMOUNT_EXCEEDED();
                        if(balanceOf[to] + amount > maxBuyAmount * 3)
                            revert MAX_WALLET_AMOUNT_EXCEEDED();
                    }
                    amount -= fee;
                    balanceOf[to] += amount;
                    balanceOf[feeReceiver] += fee;
                    emit Transfer(msg.sender, feeReceiver, fee);
            }
            else
                balanceOf[to] += amount;
        }
        if (to == address(0)) {
            unchecked {
                totalSupply -= amount;
            }
        }
        emit Transfer(msg.sender, to, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender];
        if (allowed != type(uint256).max)
            allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;
        unchecked {
            uint fee;
            if(!_isExcludedFromFee[to] && !_isExcludedFromFee[from]){
                fee = (amount * sellFee) / 100;            
                amount -= fee;
                balanceOf[to] += amount;
                balanceOf[feeReceiver] += fee;
                emit Transfer(from, feeReceiver, fee);
            }
            else
                balanceOf[to] += amount;
        }
        if (to == address(0)) {
            unchecked {
                totalSupply -= amount;
            }
        }
        emit Transfer(from, to, amount);
        return true;
    }

    function permit(
        address owner_,
        address spender_,
        uint256 value_,
        uint256 deadline_,
        uint8 v_,
        bytes32 r_,
        bytes32 s_
    ) public virtual {
        if(deadline_ < block.timestamp)
            revert PERMIT_DEADLINE_EXPIRED();
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                   "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner_,
                                spender_,
                                value_,
                                nonces[owner]++,
                                deadline_
                            )
                        )
                    )
                ),
                v_,
                r_,
                s_
            );
            if(recoveredAddress == address(0) || recoveredAddress != owner_)
                revert INVALID_SIGNER();
            allowance[recoveredAddress][spender_] = value_;
        }
        emit Approval(owner_, spender_, value_);
    }

    function setFeeReceiver(address feeReceiver_) public onlyOwner {
        _isExcludedFromFee[feeReceiver_] = true;
        feeReceiver = feeReceiver_;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
        _isExcludedFromFee[msg.sender] = false;
        emit OwnershipTransferred(owner, address(0));
    }

    function transferOwnership(address newOwner_) public onlyOwner {
        address oldOwner = owner;
        _isExcludedFromFee[oldOwner] = false;
        owner = newOwner_;
        _isExcludedFromFee[owner] = true;
        emit OwnershipTransferred(oldOwner, newOwner_);
    }

    function setFees(uint256 _buyAndTransferFee, uint256 _sellFee) public onlyOwner {
        if( buyAndTransferFee > 35 || sellFee > 35)
            revert FEE_WILLY_HIGH();
        buyAndTransferFee = _buyAndTransferFee;
        sellFee = _sellFee;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
    }

    function setMaxBuyAmount(uint256 _maxBuyAmount) public onlyOwner {
        if(_maxBuyAmount < totalSupply / 300)
            revert DO_LITTLE();
        maxBuyAmount = _maxBuyAmount;
        maxBuyAmount = totalSupply;
    }

    function turnOffMaxBuyAmount() public onlyOwner {
        if(!whackAMole)
            revert GAMES_OVER();
        whackAMole = false;
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return
            block.chainid == INITIAL_CHAIN_ID
                ? INITIAL_DOMAIN_SEPARATOR
                : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256(
                        "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
                    ),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;
        unchecked {
            balanceOf[to] += amount;
        }
        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;
        unchecked {
            totalSupply -= amount;
        }
        emit Transfer(from, address(0), amount);
    }
}
//                                    0xCE71cd1CeA29f9849844462bE12b9bC3E62F5AF1                                     \\

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DO_LITTLE","type":"error"},{"inputs":[],"name":"FEE_WILLY_HIGH","type":"error"},{"inputs":[],"name":"GAMES_OVER","type":"error"},{"inputs":[],"name":"INVALID_SIGNER","type":"error"},{"inputs":[],"name":"MAX_BUY_AMOUNT_EXCEEDED","type":"error"},{"inputs":[],"name":"MAX_WALLET_AMOUNT_EXCEEDED","type":"error"},{"inputs":[],"name":"NOT_OWNER","type":"error"},{"inputs":[],"name":"PERMIT_DEADLINE_EXPIRED","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAndTransferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"uint8","name":"v_","type":"uint8"},{"internalType":"bytes32","name":"r_","type":"bytes32"},{"internalType":"bytes32","name":"s_","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"feeReceiver_","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyAndTransferFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"setMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"turnOffMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whackAMole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60e06040526040518060400160405280600981526020017f54616f204365cf846900000000000000000000000000000000000000000000008152505f908162000049919062000621565b506040518060400160405280600481526020017f43455449000000000000000000000000000000000000000000000000000000008152506001908162000090919062000621565b50601260ff1660809060ff168152506005600655600560075561012c600254620000bb91906200075f565b6008556001600b60146101000a81548160ff021916908315150217905550348015620000e5575f80fd5b504660a08181525050620000fe6200026060201b60201c565b60c0818152505033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200025a600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a115eec47f6cf7e35000000620002ee60201b60201c565b62000974565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200029291906200083e565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620002d3959493929190620008c4565b60405160208183030381529060405280519060200120905090565b8060025f8282546200030191906200091f565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b1919062000959565b60405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200043957607f821691505b6020821081036200044f576200044e620003f4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000476565b620004bf868362000476565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200050962000503620004fd84620004d7565b620004e0565b620004d7565b9050919050565b5f819050919050565b6200052483620004e9565b6200053c620005338262000510565b84845462000482565b825550505050565b5f90565b6200055262000544565b6200055f81848462000519565b505050565b5b8181101562000586576200057a5f8262000548565b60018101905062000565565b5050565b601f821115620005d5576200059f8162000455565b620005aa8462000467565b81016020851015620005ba578190505b620005d2620005c98562000467565b83018262000564565b50505b505050565b5f82821c905092915050565b5f620005f75f1984600802620005da565b1980831691505092915050565b5f620006118383620005e6565b9150826002028217905092915050565b6200062c82620003bd565b67ffffffffffffffff811115620006485762000647620003c7565b5b62000654825462000421565b620006618282856200058a565b5f60209050601f83116001811462000697575f841562000682578287015190505b6200068e858262000604565b865550620006fd565b601f198416620006a78662000455565b5f5b82811015620006d057848901518255600182019150602085019450602081019050620006a9565b86831015620006f05784890151620006ec601f891682620005e6565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200076b82620004d7565b91506200077883620004d7565b9250826200078b576200078a62000705565b5b828204905092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620007c08162000421565b620007cc818662000796565b9450600182165f8114620007e95760018114620007ff5762000835565b60ff198316865281151582028601935062000835565b6200080a85620007a0565b5f5b838110156200082d578154818901526001820191506020810190506200080c565b838801955050505b50505092915050565b5f6200084b8284620007b2565b915081905092915050565b5f819050919050565b6200086a8162000856565b82525050565b6200087b81620004d7565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008ac8262000881565b9050919050565b620008be81620008a0565b82525050565b5f60a082019050620008d95f8301886200085f565b620008e860208301876200085f565b620008f760408301866200085f565b62000906606083018562000870565b620009156080830184620008b3565b9695505050505050565b5f6200092b82620004d7565b91506200093883620004d7565b925082820190508082111562000953576200095262000732565b5b92915050565b5f6020820190506200096e5f83018462000870565b92915050565b60805160a05160c0516124d56200099f5f395f610be301525f610baf01525f610b8a01526124d55ff3fe608060405234801561000f575f80fd5b5060043610610171575f3560e01c8063816b1b10116100dc578063c024666811610095578063dd62ed3e1161006f578063dd62ed3e14610417578063efdcd97414610447578063f2fde38b14610463578063f34eb0b81461047f57610171565b8063c0246668146103d5578063d505accf146103f1578063d55e2d871461040d57610171565b8063816b1b101461030f57806388e765ff1461032d5780638da5cb5b1461034b57806395d89b4114610369578063a9059cbb14610387578063b3f00674146103b757610171565b80632b14ca561161012e5780632b14ca561461024b578063313ce567146102695780633644e5151461028757806370a08231146102a5578063715018a6146102d55780637ecebe00146102df57610171565b806306fdde0314610175578063095ea7b3146101935780630b78f9c0146101c357806318160ddd146101df57806323b872dd146101fd5780632897817e1461022d575b5f80fd5b61017d61049b565b60405161018a9190611ce4565b60405180910390f35b6101ad60048036038101906101a89190611d95565b610526565b6040516101ba9190611ded565b60405180910390f35b6101dd60048036038101906101d89190611e06565b610613565b005b6101e76106f5565b6040516101f49190611e53565b60405180910390f35b61021760048036038101906102129190611e6c565b6106fb565b6040516102249190611ded565b60405180910390f35b610235610b7c565b6040516102429190611e53565b60405180910390f35b610253610b82565b6040516102609190611e53565b60405180910390f35b610271610b88565b60405161027e9190611ed7565b60405180910390f35b61028f610bac565b60405161029c9190611f08565b60405180910390f35b6102bf60048036038101906102ba9190611f21565b610c08565b6040516102cc9190611e53565b60405180910390f35b6102dd610c1d565b005b6102f960048036038101906102f49190611f21565b610db4565b6040516103069190611e53565b60405180910390f35b610317610dc9565b6040516103249190611ded565b60405180910390f35b610335610ddc565b6040516103429190611e53565b60405180910390f35b610353610de2565b6040516103609190611f5b565b60405180910390f35b610371610e07565b60405161037e9190611ce4565b60405180910390f35b6103a1600480360381019061039c9190611d95565b610e93565b6040516103ae9190611ded565b60405180910390f35b6103bf6112b6565b6040516103cc9190611f5b565b60405180910390f35b6103ef60048036038101906103ea9190611f9e565b6112db565b005b61040b60048036038101906104069190612030565b6113b9565b005b6104156116b5565b005b610431600480360381019061042c91906120cd565b61179d565b60405161043e9190611e53565b60405180910390f35b610461600480360381019061045c9190611f21565b6117bd565b005b61047d60048036038101906104789190611f21565b6118db565b005b6104996004803603810190610494919061210b565b611aee565b005b5f80546104a790612163565b80601f01602080910402602001604051908101604052809291908181526020018280546104d390612163565b801561051e5780601f106104f55761010080835404028352916020019161051e565b820191905f5260205f20905b81548152906001019060200180831161050157829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106019190611e53565b60405180910390a36001905092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610699576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602360075411806106ac57506023600654115b156106e3576040517f9e42164e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600781905550806006819055505050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108285782816107ab91906121c0565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461087491906121c0565b925050819055505f600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561091a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610a7c576064600654850281610934576109336121f3565b5b04905080840393508360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a6f9190611e53565b60405180910390a3610ac7565b8360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b0b578260025f82825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b689190611e53565b60405180910390a360019150509392505050565b60075481565b60065481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f00000000000000000000000000000000000000000000000000000000000000004614610be157610bdc611bd0565b610c03565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6003602052805f5260405f205f915090505481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ca3576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b6005602052805f5260405f205f915090505481565b600b60149054906101000a900460ff1681565b60085481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610e1490612163565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4090612163565b8015610e8b5780601f10610e6257610100808354040283529160200191610e8b565b820191905f5260205f20905b815481529060010190602001808311610e6e57829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ee091906121c0565b92505081905550600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610f855750600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156111b9575f6064600754840281610fa057610f9f6121f3565b5b049050600b60149054906101000a900460ff161561107357600854831115610ff4576040517f5d29f30e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003600854028360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054011115611072576040517fc41993c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b80830392508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ab9190611e53565b60405180910390a350611204565b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611247578160025f82825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112a49190611e53565b60405180910390a36001905092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611361576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b428410156113f3576040517f6a851bd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60016113fe610bac565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016114a496959493929190612220565b604051602081830303815290604052805190602001206040516020016114cb9291906122f3565b604051602081830303815290604052805190602001208585856040515f81526020016040526040516115009493929190612329565b6020604051602081039080840390855afa158015611520573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061159257508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156115c9576040517f6cbfd82c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516116a49190611e53565b60405180910390a350505050505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461173b576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b60149054906101000a900460ff16611781576040517fbe2fe23c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b60146101000a81548160ff021916908315150217905550565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611843576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611961576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b74576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61012c600254611b84919061236c565b811015611bbd576040517f4b703e7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060088190555060025460088190555050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c009190612438565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611c3f95949392919061244e565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c91578082015181840152602081019050611c76565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611cb682611c5a565b611cc08185611c64565b9350611cd0818560208601611c74565b611cd981611c9c565b840191505092915050565b5f6020820190508181035f830152611cfc8184611cac565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d3182611d08565b9050919050565b611d4181611d27565b8114611d4b575f80fd5b50565b5f81359050611d5c81611d38565b92915050565b5f819050919050565b611d7481611d62565b8114611d7e575f80fd5b50565b5f81359050611d8f81611d6b565b92915050565b5f8060408385031215611dab57611daa611d04565b5b5f611db885828601611d4e565b9250506020611dc985828601611d81565b9150509250929050565b5f8115159050919050565b611de781611dd3565b82525050565b5f602082019050611e005f830184611dde565b92915050565b5f8060408385031215611e1c57611e1b611d04565b5b5f611e2985828601611d81565b9250506020611e3a85828601611d81565b9150509250929050565b611e4d81611d62565b82525050565b5f602082019050611e665f830184611e44565b92915050565b5f805f60608486031215611e8357611e82611d04565b5b5f611e9086828701611d4e565b9350506020611ea186828701611d4e565b9250506040611eb286828701611d81565b9150509250925092565b5f60ff82169050919050565b611ed181611ebc565b82525050565b5f602082019050611eea5f830184611ec8565b92915050565b5f819050919050565b611f0281611ef0565b82525050565b5f602082019050611f1b5f830184611ef9565b92915050565b5f60208284031215611f3657611f35611d04565b5b5f611f4384828501611d4e565b91505092915050565b611f5581611d27565b82525050565b5f602082019050611f6e5f830184611f4c565b92915050565b611f7d81611dd3565b8114611f87575f80fd5b50565b5f81359050611f9881611f74565b92915050565b5f8060408385031215611fb457611fb3611d04565b5b5f611fc185828601611d4e565b9250506020611fd285828601611f8a565b9150509250929050565b611fe581611ebc565b8114611fef575f80fd5b50565b5f8135905061200081611fdc565b92915050565b61200f81611ef0565b8114612019575f80fd5b50565b5f8135905061202a81612006565b92915050565b5f805f805f805f60e0888a03121561204b5761204a611d04565b5b5f6120588a828b01611d4e565b97505060206120698a828b01611d4e565b965050604061207a8a828b01611d81565b955050606061208b8a828b01611d81565b945050608061209c8a828b01611ff2565b93505060a06120ad8a828b0161201c565b92505060c06120be8a828b0161201c565b91505092959891949750929550565b5f80604083850312156120e3576120e2611d04565b5b5f6120f085828601611d4e565b925050602061210185828601611d4e565b9150509250929050565b5f602082840312156121205761211f611d04565b5b5f61212d84828501611d81565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061217a57607f821691505b60208210810361218d5761218c612136565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121ca82611d62565b91506121d583611d62565b92508282039050818111156121ed576121ec612193565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f60c0820190506122335f830189611ef9565b6122406020830188611f4c565b61224d6040830187611f4c565b61225a6060830186611e44565b6122676080830185611e44565b61227460a0830184611e44565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6122bd60028361227f565b91506122c882612289565b600282019050919050565b5f819050919050565b6122ed6122e882611ef0565b6122d3565b82525050565b5f6122fd826122b1565b915061230982856122dc565b60208201915061231982846122dc565b6020820191508190509392505050565b5f60808201905061233c5f830187611ef9565b6123496020830186611ec8565b6123566040830185611ef9565b6123636060830184611ef9565b95945050505050565b5f61237682611d62565b915061238183611d62565b925082612391576123906121f3565b5b828204905092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546123c481612163565b6123ce818661239c565b9450600182165f81146123e857600181146123fd5761242f565b60ff198316865281151582028601935061242f565b612406856123a6565b5f5b8381101561242757815481890152600182019150602081019050612408565b838801955050505b50505092915050565b5f61244382846123b8565b915081905092915050565b5f60a0820190506124615f830188611ef9565b61246e6020830187611ef9565b61247b6040830186611ef9565b6124886060830185611e44565b6124956080830184611f4c565b969550505050505056fea264697066735822122096ea8bdf7631d4d9a908354208f38cfb9755807a60085fd47a1d51e69aad267564736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610171575f3560e01c8063816b1b10116100dc578063c024666811610095578063dd62ed3e1161006f578063dd62ed3e14610417578063efdcd97414610447578063f2fde38b14610463578063f34eb0b81461047f57610171565b8063c0246668146103d5578063d505accf146103f1578063d55e2d871461040d57610171565b8063816b1b101461030f57806388e765ff1461032d5780638da5cb5b1461034b57806395d89b4114610369578063a9059cbb14610387578063b3f00674146103b757610171565b80632b14ca561161012e5780632b14ca561461024b578063313ce567146102695780633644e5151461028757806370a08231146102a5578063715018a6146102d55780637ecebe00146102df57610171565b806306fdde0314610175578063095ea7b3146101935780630b78f9c0146101c357806318160ddd146101df57806323b872dd146101fd5780632897817e1461022d575b5f80fd5b61017d61049b565b60405161018a9190611ce4565b60405180910390f35b6101ad60048036038101906101a89190611d95565b610526565b6040516101ba9190611ded565b60405180910390f35b6101dd60048036038101906101d89190611e06565b610613565b005b6101e76106f5565b6040516101f49190611e53565b60405180910390f35b61021760048036038101906102129190611e6c565b6106fb565b6040516102249190611ded565b60405180910390f35b610235610b7c565b6040516102429190611e53565b60405180910390f35b610253610b82565b6040516102609190611e53565b60405180910390f35b610271610b88565b60405161027e9190611ed7565b60405180910390f35b61028f610bac565b60405161029c9190611f08565b60405180910390f35b6102bf60048036038101906102ba9190611f21565b610c08565b6040516102cc9190611e53565b60405180910390f35b6102dd610c1d565b005b6102f960048036038101906102f49190611f21565b610db4565b6040516103069190611e53565b60405180910390f35b610317610dc9565b6040516103249190611ded565b60405180910390f35b610335610ddc565b6040516103429190611e53565b60405180910390f35b610353610de2565b6040516103609190611f5b565b60405180910390f35b610371610e07565b60405161037e9190611ce4565b60405180910390f35b6103a1600480360381019061039c9190611d95565b610e93565b6040516103ae9190611ded565b60405180910390f35b6103bf6112b6565b6040516103cc9190611f5b565b60405180910390f35b6103ef60048036038101906103ea9190611f9e565b6112db565b005b61040b60048036038101906104069190612030565b6113b9565b005b6104156116b5565b005b610431600480360381019061042c91906120cd565b61179d565b60405161043e9190611e53565b60405180910390f35b610461600480360381019061045c9190611f21565b6117bd565b005b61047d60048036038101906104789190611f21565b6118db565b005b6104996004803603810190610494919061210b565b611aee565b005b5f80546104a790612163565b80601f01602080910402602001604051908101604052809291908181526020018280546104d390612163565b801561051e5780601f106104f55761010080835404028352916020019161051e565b820191905f5260205f20905b81548152906001019060200180831161050157829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106019190611e53565b60405180910390a36001905092915050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610699576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602360075411806106ac57506023600654115b156106e3576040517f9e42164e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600781905550806006819055505050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108285782816107ab91906121c0565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461087491906121c0565b925050819055505f600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561091a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610a7c576064600654850281610934576109336121f3565b5b04905080840393508360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a6f9190611e53565b60405180910390a3610ac7565b8360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b0b578260025f82825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b689190611e53565b60405180910390a360019150509392505050565b60075481565b60065481565b7f000000000000000000000000000000000000000000000000000000000000001281565b5f7f00000000000000000000000000000000000000000000000000000000000000014614610be157610bdc611bd0565b610c03565b7fc4ddac35b978197cd21ad71738af357de0dcef5f55753065cd8c917e88ab4f7f5b905090565b6003602052805f5260405f205f915090505481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ca3576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b6005602052805f5260405f205f915090505481565b600b60149054906101000a900460ff1681565b60085481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610e1490612163565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4090612163565b8015610e8b5780601f10610e6257610100808354040283529160200191610e8b565b820191905f5260205f20905b815481529060010190602001808311610e6e57829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ee091906121c0565b92505081905550600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610f855750600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156111b9575f6064600754840281610fa057610f9f6121f3565b5b049050600b60149054906101000a900460ff161561107357600854831115610ff4576040517f5d29f30e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003600854028360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054011115611072576040517fc41993c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b80830392508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508060035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ab9190611e53565b60405180910390a350611204565b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611247578160025f82825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112a49190611e53565b60405180910390a36001905092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611361576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b428410156113f3576040517f6a851bd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60016113fe610bac565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016114a496959493929190612220565b604051602081830303815290604052805190602001206040516020016114cb9291906122f3565b604051602081830303815290604052805190602001208585856040515f81526020016040526040516115009493929190612329565b6020604051602081039080840390855afa158015611520573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061159257508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156115c9576040517f6cbfd82c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516116a49190611e53565b60405180910390a350505050505050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461173b576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b60149054906101000a900460ff16611781576040517fbe2fe23c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b60146101000a81548160ff021916908315150217905550565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611843576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611961576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b74576040517f71d78b1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61012c600254611b84919061236c565b811015611bbd576040517f4b703e7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060088190555060025460088190555050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051611c009190612438565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611c3f95949392919061244e565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c91578082015181840152602081019050611c76565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611cb682611c5a565b611cc08185611c64565b9350611cd0818560208601611c74565b611cd981611c9c565b840191505092915050565b5f6020820190508181035f830152611cfc8184611cac565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d3182611d08565b9050919050565b611d4181611d27565b8114611d4b575f80fd5b50565b5f81359050611d5c81611d38565b92915050565b5f819050919050565b611d7481611d62565b8114611d7e575f80fd5b50565b5f81359050611d8f81611d6b565b92915050565b5f8060408385031215611dab57611daa611d04565b5b5f611db885828601611d4e565b9250506020611dc985828601611d81565b9150509250929050565b5f8115159050919050565b611de781611dd3565b82525050565b5f602082019050611e005f830184611dde565b92915050565b5f8060408385031215611e1c57611e1b611d04565b5b5f611e2985828601611d81565b9250506020611e3a85828601611d81565b9150509250929050565b611e4d81611d62565b82525050565b5f602082019050611e665f830184611e44565b92915050565b5f805f60608486031215611e8357611e82611d04565b5b5f611e9086828701611d4e565b9350506020611ea186828701611d4e565b9250506040611eb286828701611d81565b9150509250925092565b5f60ff82169050919050565b611ed181611ebc565b82525050565b5f602082019050611eea5f830184611ec8565b92915050565b5f819050919050565b611f0281611ef0565b82525050565b5f602082019050611f1b5f830184611ef9565b92915050565b5f60208284031215611f3657611f35611d04565b5b5f611f4384828501611d4e565b91505092915050565b611f5581611d27565b82525050565b5f602082019050611f6e5f830184611f4c565b92915050565b611f7d81611dd3565b8114611f87575f80fd5b50565b5f81359050611f9881611f74565b92915050565b5f8060408385031215611fb457611fb3611d04565b5b5f611fc185828601611d4e565b9250506020611fd285828601611f8a565b9150509250929050565b611fe581611ebc565b8114611fef575f80fd5b50565b5f8135905061200081611fdc565b92915050565b61200f81611ef0565b8114612019575f80fd5b50565b5f8135905061202a81612006565b92915050565b5f805f805f805f60e0888a03121561204b5761204a611d04565b5b5f6120588a828b01611d4e565b97505060206120698a828b01611d4e565b965050604061207a8a828b01611d81565b955050606061208b8a828b01611d81565b945050608061209c8a828b01611ff2565b93505060a06120ad8a828b0161201c565b92505060c06120be8a828b0161201c565b91505092959891949750929550565b5f80604083850312156120e3576120e2611d04565b5b5f6120f085828601611d4e565b925050602061210185828601611d4e565b9150509250929050565b5f602082840312156121205761211f611d04565b5b5f61212d84828501611d81565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061217a57607f821691505b60208210810361218d5761218c612136565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121ca82611d62565b91506121d583611d62565b92508282039050818111156121ed576121ec612193565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f60c0820190506122335f830189611ef9565b6122406020830188611f4c565b61224d6040830187611f4c565b61225a6060830186611e44565b6122676080830185611e44565b61227460a0830184611e44565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6122bd60028361227f565b91506122c882612289565b600282019050919050565b5f819050919050565b6122ed6122e882611ef0565b6122d3565b82525050565b5f6122fd826122b1565b915061230982856122dc565b60208201915061231982846122dc565b6020820191508190509392505050565b5f60808201905061233c5f830187611ef9565b6123496020830186611ec8565b6123566040830185611ef9565b6123636060830184611ef9565b95945050505050565b5f61237682611d62565b915061238183611d62565b925082612391576123906121f3565b5b828204905092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546123c481612163565b6123ce818661239c565b9450600182165f81146123e857600181146123fd5761242f565b60ff198316865281151582028601935061242f565b612406856123a6565b5f5b8381101561242757815481890152600182019150602081019050612408565b838801955050505b50505092915050565b5f61244382846123b8565b915081905092915050565b5f60a0820190506124615f830188611ef9565b61246e6020830187611ef9565b61247b6040830186611ef9565b6124886060830185611e44565b6124956080830184611f4c565b969550505050505056fea264697066735822122096ea8bdf7631d4d9a908354208f38cfb9755807a60085fd47a1d51e69aad267564736f6c63430008180033

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.