ETH Price: $2,419.84 (+3.50%)

Token

ZELIX (ZELIX)
 

Overview

Max Total Supply

10,000,000,000 ZELIX

Holders

696 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH (+5.04%)

Onchain Market Cap

$607,100.00

Circulating Supply Market Cap

$342,607.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,270,601.069838329792790351 ZELIX

Value
$319.98 ( ~0.132231678222643 Eth) [0.0527%]
0x7967d3ce88e79b3489f93cf1e4ceff9a8287f0dd
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

ZELIX is a link that integrates or expands all members of the metaverse community. ZELIX team will build a multi-metaverse to integrate various metaverse.

Market

Volume (24H):$587,966.00
Market Capitalization:$342,607.00
Circulating Supply:5,643,000,000.00 ZELIX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ZELIX

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-18
*/

/**
 *Submitted for verification at Etherscan.io on 2021-10-29
*/

/**
 *Submitted for verification at Etherscan.io on 2021-03-10
*/

// Sources flattened with hardhat v2.1.1 https://hardhat.org

// File contracts/erc20/ERC20.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.2;

abstract contract ERC20 {

    uint256 private _totalSupply;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

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

    /*
   * Internal Functions for ERC20 standard logics
   */

    function _transfer(address from, address to, uint256 amount)
        internal
        returns (bool success)
    {
        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + amount;
        emit Transfer(from, to, amount);
        success = true;
    }

    function _approve(address owner, address spender, uint256 amount)
        internal
        returns (bool success)
    {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
        success = true;
    }

    function _mint(address recipient, uint256 amount)
        internal
        returns (bool success)
    {
        _totalSupply = _totalSupply + amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(address(0), recipient, amount);
        success = true;
    }

    function _burn(address burned, uint256 amount)
        internal
        returns (bool success)
    {
        _balances[burned] = _balances[burned] - amount;
        _totalSupply = _totalSupply - amount;
        emit Transfer(burned, address(0), amount);
        success = true;
    }

    /*
   * public view functions to view common data
   */

    function totalSupply() external view returns (uint256 total) {
        total = _totalSupply;
    }
    function balanceOf(address owner) external view returns (uint256 balance) {
        balance = _balances[owner];
    }

    function allowance(address owner, address spender)
        external
        view
        returns (uint256 remaining)
    {
        remaining = _allowances[owner][spender];
    }

    /*
   * External view Function Interface to implement on final contract
   */
    function name() virtual external view returns (string memory tokenName);
    function symbol() virtual external view returns (string memory tokenSymbol);
    function decimals() virtual external view returns (uint8 tokenDecimals);

    /*
   * External Function Interface to implement on final contract
   */
    function transfer(address to, uint256 amount)
        virtual
        external
        returns (bool success);
    function transferFrom(address from, address to, uint256 amount)
        virtual
        external
        returns (bool success);
    function approve(address spender, uint256 amount)
        virtual
        external
        returns (bool success);
}

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(
        address indexed currentOwner,
        address indexed newOwner
    );

    constructor() {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    modifier onlyOwner() {
        require(
            msg.sender == _owner,
            "Ownable : Function called by unauthorized user."
        );
        _;
    }

    function owner() external view returns (address ownerAddress) {
        ownerAddress = _owner;
    }

    function transferOwnership(address newOwner)
        public
        onlyOwner
        returns (bool success)
    {
        require(newOwner != address(0), "Ownable/transferOwnership : cannot transfer ownership to zero address");
        success = _transferOwnership(newOwner);
    }

    function renounceOwnership() external onlyOwner returns (bool success) {
        success = _transferOwnership(address(0));
    }

    function _transferOwnership(address newOwner) internal returns (bool success) {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
        success = true;
    }
}


abstract contract ERC20Lockable is ERC20, Ownable {
    struct LockInfo {
        uint256 amount;
        uint256 due;
    }

    mapping(address => LockInfo[]) internal _locks;
    mapping(address => bool) public admin;

    event Lock(address indexed from, uint256 amount, uint256 due);
    event Unlock(address indexed from, uint256 amount);

    modifier checkLock(address from, uint256 amount) {
        require(_balances[from] >= totalLocked(from) + amount, "Cannot send more than unlocked amount");
        _;
    }

    modifier onlyAdmin() {
        require(admin[msg.sender] == true, "Function called by admin user.");
        _;
    }
    function setAdmin(address _admin, bool _approved) external onlyOwner {
        admin[_admin] = _approved;
    }

    function totalLocked(address _from) public view returns (uint256) {
        uint256 lockedAmount;
        for (uint256 i = 0; i < _locks[_from].length; i++) {
            if (_locks[_from][i].due >= block.timestamp) {
                lockedAmount += _locks[_from][i].amount;
            }
        }
        return lockedAmount;
    }

    function lockIdx(address _from, uint256 _due) internal view returns (int256) {
    for (uint256 i = 0; i < _locks[_from].length; i++) {
        if (_locks[_from][i].due == _due) {
            return int256(i); // Return the index as a signed integer
        }
    }
    return -1;
}

    function _lock(address from, uint256 amount, uint256 due) internal returns (bool success) {
        require(due > block.timestamp, "Cannot set due to past");
        require(_balances[from] >= totalLocked(from) + amount, "Locked total should be smaller than balance");
        int256 idx = lockIdx(from, due);
        if (idx >= 0) {
            uint256 existingAmount = _locks[from][uint256(idx)].amount;
            _locks[from][uint256(idx)].amount = existingAmount + amount;
        } else {
            _locks[from].push(LockInfo(amount, due));
        }
        emit Lock(from, amount, due);
    return true;
}

    function _unlock(address from, uint256 due) internal returns (bool success) {
        require(totalLocked(from) != 0, "Cannot set due to past");
        for (uint256 i = 0; i < _locks[from].length; i++) {
            if (_locks[from][i].due == due) {
                uint256 unlockedAmount = _locks[from][i].amount;
                emit Unlock(from, unlockedAmount);
                _locks[from][i] = _locks[from][_locks[from].length - 1];
                _locks[from].pop();
                return true;
            }
        }
        return false;
    }

    function unlock(address from, uint256 due) external onlyAdmin returns (bool success) {
        return _unlock(from, due);
    }

    function unlockAll(address from) external onlyAdmin returns (bool success) {
        for (uint256 i = _locks[from].length; i > 0; i--) {
            _unlock(from, _locks[from][i - 1].due);
        }
        return true;
    }

    function transferWithLockUp(address recipient, uint256 amount, uint256 due) external onlyAdmin returns (bool success) {
        require(recipient != address(0), "Cannot send to zero address");
        _transfer(msg.sender, recipient, amount);
        _lock(recipient, amount, due);
        return true;
    }

    function lockInfo(address locked, uint256 index) external view returns (uint256 amount, uint256 due) {
        amount = _locks[locked][index].amount;
        due = _locks[locked][index].due;
    }
}

abstract contract ERC20Burnable is ERC20 {
    event Burn(address indexed burned, uint256 amount);

    function burn(uint256 amount) 
    external
    returns (bool success)
    {
        success = _burn(msg.sender, amount);
        emit Burn(msg.sender, amount);
        success = true;
    }

    function burnFrom(address burned, uint256 amount) 
    external
    returns (bool success)
    {
        _burn(burned, amount);
        emit Burn(burned, amount);
        success = _approve(
            burned,
            msg.sender,
            _allowances[burned][msg.sender] - amount
        );
    }
}

contract ZELIX is
    ERC20Lockable,
    ERC20Burnable
{
    string constant private _name = "ZELIX";
    string constant private _symbol = "ZELIX";
    uint8 constant private _decimals = 18;
    uint256 constant private _initial_supply = 10_000_000_000;
    mapping(address => bool) public blacklists;


    constructor() {
        _mint(_owner, _initial_supply * (10**uint256(_decimals)));
        admin[_owner] = true;
    }

    function blacklist(address _address, bool _approved ) external onlyAdmin   {
        blacklists[_address] = _approved;
    }

    function transfer(address to, uint256 amount)
        override
        external
        checkLock(msg.sender, amount)
        returns (bool success)
    {
        require(
            to != address(0),
            "transfer : Should not send to zero address"
        );
        require(!blacklists[to] && !blacklists[msg.sender], "Blacklisted");

        _transfer(msg.sender, to, amount);
        success = true;
    }

    function transferFrom(address from, address to, uint256 amount)
        override
        external
        checkLock(from, amount)
        returns (bool success)
    {
        require(
            to != address(0),
            "transferFrom : Should not send to zero address"
        );
        require(!blacklists[to] && !blacklists[from], "Blacklisted");

        _transfer(from, to, amount);
        _approve(
            from,
            msg.sender,
            _allowances[from][msg.sender] - amount
        );
        success = true;
    }

    function approve(address spender, uint256 amount)
        override
        external
        returns (bool success)
    {
        require(
            spender != address(0),
            "approve : Should not approve zero address"
        );
        _approve(msg.sender, spender, amount);
        success = true;
    }

    function name() override external pure returns (string memory tokenName) {
        tokenName = _name;
    }

    function symbol() override external pure returns (string memory tokenSymbol) {
        tokenSymbol = _symbol;
    }

    function decimals() override external pure returns (uint8 tokenDecimals) {
        tokenDecimals = _decimals;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"burned","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"due","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"currentOwner","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unlock","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"burned","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"tokenDecimals","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"locked","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"lockInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"due","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"tokenName","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"ownerAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"tokenSymbol","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"totalLocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"total","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":"success","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"due","type":"uint256"}],"name":"transferWithLockUp","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"due","type":"uint256"}],"name":"unlock","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"unlockAll","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360035462000088906001600160a01b0316620000716012600a62000266565b62000082906402540be4006200027b565b620000b4565b506003546001600160a01b03166000908152600560205260409020805460ff19166001179055620002ab565b600081600054620000c6919062000295565b60009081556001600160a01b038416815260016020526040902054620000ee90839062000295565b6001600160a01b0384166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001409086815260200190565b60405180910390a350600192915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001a85781600019048211156200018c576200018c62000151565b808516156200019a57918102915b93841c93908002906200016c565b509250929050565b600082620001c15750600162000260565b81620001d05750600062000260565b8160018114620001e95760028114620001f45762000214565b600191505062000260565b60ff84111562000208576200020862000151565b50506001821b62000260565b5060208310610133831016604e8410600b841016171562000239575081810a62000260565b62000245838362000167565b80600019048211156200025c576200025c62000151565b0290505b92915050565b6000620002748383620001b0565b9392505050565b808202811582820484141762000260576200026062000151565b8082018082111562000260576200026062000151565b6116a480620002bb6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146102df578063b2520a7c146102f2578063c4f3a8531461031a578063d8fb93371461032d578063dd62ed3e14610340578063f2fde38b1461037957600080fd5b806370a082311461026d578063715018a61461029657806379cc67901461029e5780637eee288d146102b15780638da5cb5b146102c457806395d89b411461015257600080fd5b8063313ce56711610115578063313ce567146101ed57806338b82092146101fc578063404e51291461020f57806342966c68146102245780634b0bddd21461023757806363a846f81461024a57600080fd5b806306fdde0314610152578063095ea7b31461018257806316c02129146101a557806318160ddd146101c857806323b872dd146101da575b600080fd5b60408051808201825260058152640b48a9892b60db1b60208201529051610179919061136a565b60405180910390f35b6101956101903660046113cf565b61038c565b6040519015158152602001610179565b6101956101b33660046113f9565b60066020526000908152604090205460ff1681565b6000545b604051908152602001610179565b6101956101e8366004611414565b610410565b60405160128152602001610179565b61019561020a366004611450565b61059c565b61022261021d366004611483565b610648565b005b6101956102323660046114bf565b6106a7565b610222610245366004611483565b6106f3565b6101956102583660046113f9565b60056020526000908152604090205460ff1681565b6101cc61027b3660046113f9565b6001600160a01b031660009081526001602052604090205490565b610195610748565b6101956102ac3660046113cf565b610784565b6101956102bf3660046113cf565b610811565b6003546040516001600160a01b039091168152602001610179565b6101956102ed3660046113cf565b610855565b6103056103003660046113cf565b610997565b60408051928352602083019190915201610179565b6101956103283660046113f9565b610a29565b6101cc61033b3660046113f9565b610aeb565b6101cc61034e3660046114d8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101956103873660046113f9565b610bb8565b60006001600160a01b0383166103fb5760405162461bcd60e51b815260206004820152602960248201527f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726044820152686f206164647265737360b81b60648201526084015b60405180910390fd5b610406338484610c78565b5060019392505050565b600083828061041e83610aeb565b6104289190611521565b6001600160a01b038316600090815260016020526040902054101561045f5760405162461bcd60e51b81526004016103f290611534565b6001600160a01b0385166104cc5760405162461bcd60e51b815260206004820152602e60248201527f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e64207460448201526d6f207a65726f206164647265737360901b60648201526084016103f2565b6001600160a01b03851660009081526006602052604090205460ff1615801561050e57506001600160a01b03861660009081526006602052604090205460ff16155b6105485760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016103f2565b610553868686610ce1565b506001600160a01b03861660009081526002602090815260408083203380855292529091205461058f91889161058a908890611579565b610c78565b5060019695505050505050565b3360009081526005602052604081205460ff1615156001146105d05760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b0384166106265760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742073656e6420746f207a65726f2061646472657373000000000060448201526064016103f2565b610631338585610ce1565b5061063d848484610d89565b506001949350505050565b3360009081526005602052604090205460ff16151560011461067c5760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006106b33383610f9e565b60405183815290915033907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a2506001919050565b6003546001600160a01b0316331461071d5760405162461bcd60e51b81526004016103f2906115c3565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6003546000906001600160a01b031633146107755760405162461bcd60e51b81526004016103f2906115c3565b61077f6000611036565b905090565b60006107908383610f9e565b50826001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516107cc91815260200190565b60405180910390a26001600160a01b03831660009081526002602090815260408083203380855292529091205461080a91859161058a908690611579565b9392505050565b3360009081526005602052604081205460ff1615156001146108455760405162461bcd60e51b81526004016103f29061158c565b61080a8383611099565b92915050565b600033828061086383610aeb565b61086d9190611521565b6001600160a01b03831660009081526001602052604090205410156108a45760405162461bcd60e51b81526004016103f290611534565b6001600160a01b03851661090d5760405162461bcd60e51b815260206004820152602a60248201527f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65604482015269726f206164647265737360b01b60648201526084016103f2565b6001600160a01b03851660009081526006602052604090205460ff1615801561094657503360009081526006602052604090205460ff16155b6109805760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016103f2565b61098b338686610ce1565b50600195945050505050565b6001600160a01b03821660009081526004602052604081208054829190849081106109c4576109c4611612565b906000526020600020906002020160000154915060046000856001600160a01b03166001600160a01b031681526020019081526020016000208381548110610a0e57610a0e611612565b90600052602060002090600202016001015490509250929050565b3360009081526005602052604081205460ff161515600114610a5d5760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b0382166000908152600460205260409020545b8015610ae0576001600160a01b0383166000908152600460205260409020610acd908490610aa6600185611579565b81548110610ab657610ab6611612565b906000526020600020906002020160010154611099565b5080610ad881611628565b915050610a77565b50600190505b919050565b60008060005b6001600160a01b038416600090815260046020526040902054811015610bb1576001600160a01b0384166000908152600460205260409020805442919083908110610b3e57610b3e611612565b90600052602060002090600202016001015410610b9f576001600160a01b0384166000908152600460205260409020805482908110610b7f57610b7f611612565b90600052602060002090600202016000015482610b9c9190611521565b91505b80610ba98161163f565b915050610af1565b5092915050565b6003546000906001600160a01b03163314610be55760405162461bcd60e51b81526004016103f2906115c3565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152604560248201527f4f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e60448201527f6f74207472616e73666572206f776e65727368697020746f207a65726f206164606482015264647265737360d81b608482015260a4016103f2565b61084f82611036565b6001600160a01b03838116600081815260026020908152604080832094871680845294825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b6001600160a01b038316600090815260016020526040812054610d05908390611579565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610d35908390611521565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ccf9086815260200190565b6000428211610dd35760405162461bcd60e51b815260206004820152601660248201527510d85b9b9bdd081cd95d08191d59481d1bc81c185cdd60521b60448201526064016103f2565b82610ddd85610aeb565b610de79190611521565b6001600160a01b0385166000908152600160205260409020541015610e625760405162461bcd60e51b815260206004820152602b60248201527f4c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207460448201526a68616e2062616c616e636560a81b60648201526084016103f2565b6000610e6e85846112de565b905060008112610f00576001600160a01b0385166000908152600460205260408120805483908110610ea257610ea2611612565b60009182526020909120600290910201549050610ebf8582611521565b6001600160a01b0387166000908152600460205260409020805484908110610ee957610ee9611612565b600091825260209091206002909102015550610f4f565b6001600160a01b03851660009081526004602090815260408083208151808301909252878252818301878152815460018181018455928652939094209151600290930290910191825591519101555b60408051858152602081018590526001600160a01b038716917f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b910160405180910390a2506001949350505050565b6001600160a01b038216600090815260016020526040812054610fc2908390611579565b6001600160a01b03841660009081526001602052604081209190915554610fea908390611579565b60009081556040518381526001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b60006110a483610aeb565b6000036110ec5760405162461bcd60e51b815260206004820152601660248201527510d85b9b9bdd081cd95d08191d59481d1bc81c185cdd60521b60448201526064016103f2565b60005b6001600160a01b0384166000908152600460205260409020548110156112d4576001600160a01b038416600090815260046020526040902080548491908390811061113c5761113c611612565b906000526020600020906002020160010154036112c2576001600160a01b038416600090815260046020526040812080548390811061117d5761117d611612565b9060005260206000209060020201600001549050846001600160a01b03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1826040516111cc91815260200190565b60405180910390a26001600160a01b038516600090815260046020526040902080546111fa90600190611579565b8154811061120a5761120a611612565b906000526020600020906002020160046000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061124e5761124e611612565b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b038716815260049091526040902080548061129557611295611658565b6000828152602081206002600019909301928302018181556001908101919091559155925061084f915050565b806112cc8161163f565b9150506110ef565b5060009392505050565b6000805b6001600160a01b03841660009081526004602052604090205481101561135f576001600160a01b038416600090815260046020526040902080548491908390811061132f5761132f611612565b9060005260206000209060020201600101540361134d57905061084f565b806113578161163f565b9150506112e2565b506000199392505050565b600060208083528351808285015260005b818110156113975785810183015185820160400152820161137b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ae657600080fd5b600080604083850312156113e257600080fd5b6113eb836113b8565b946020939093013593505050565b60006020828403121561140b57600080fd5b61080a826113b8565b60008060006060848603121561142957600080fd5b611432846113b8565b9250611440602085016113b8565b9150604084013590509250925092565b60008060006060848603121561146557600080fd5b61146e846113b8565b95602085013595506040909401359392505050565b6000806040838503121561149657600080fd5b61149f836113b8565b9150602083013580151581146114b457600080fd5b809150509250929050565b6000602082840312156114d157600080fd5b5035919050565b600080604083850312156114eb57600080fd5b6114f4836113b8565b9150611502602084016113b8565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561084f5761084f61150b565b60208082526025908201527f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616040820152641b5bdd5b9d60da1b606082015260800190565b8181038181111561084f5761084f61150b565b6020808252601e908201527f46756e6374696f6e2063616c6c65642062792061646d696e20757365722e0000604082015260600190565b6020808252602f908201527f4f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e6160408201526e3aba3437b934bd32b2103ab9b2b91760891b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000816116375761163761150b565b506000190190565b6000600182016116515761165161150b565b5060010190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a8ceb2d1af525366c018cd93b1952bc221d439028516895c3666a92b7fd19d0f64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146102df578063b2520a7c146102f2578063c4f3a8531461031a578063d8fb93371461032d578063dd62ed3e14610340578063f2fde38b1461037957600080fd5b806370a082311461026d578063715018a61461029657806379cc67901461029e5780637eee288d146102b15780638da5cb5b146102c457806395d89b411461015257600080fd5b8063313ce56711610115578063313ce567146101ed57806338b82092146101fc578063404e51291461020f57806342966c68146102245780634b0bddd21461023757806363a846f81461024a57600080fd5b806306fdde0314610152578063095ea7b31461018257806316c02129146101a557806318160ddd146101c857806323b872dd146101da575b600080fd5b60408051808201825260058152640b48a9892b60db1b60208201529051610179919061136a565b60405180910390f35b6101956101903660046113cf565b61038c565b6040519015158152602001610179565b6101956101b33660046113f9565b60066020526000908152604090205460ff1681565b6000545b604051908152602001610179565b6101956101e8366004611414565b610410565b60405160128152602001610179565b61019561020a366004611450565b61059c565b61022261021d366004611483565b610648565b005b6101956102323660046114bf565b6106a7565b610222610245366004611483565b6106f3565b6101956102583660046113f9565b60056020526000908152604090205460ff1681565b6101cc61027b3660046113f9565b6001600160a01b031660009081526001602052604090205490565b610195610748565b6101956102ac3660046113cf565b610784565b6101956102bf3660046113cf565b610811565b6003546040516001600160a01b039091168152602001610179565b6101956102ed3660046113cf565b610855565b6103056103003660046113cf565b610997565b60408051928352602083019190915201610179565b6101956103283660046113f9565b610a29565b6101cc61033b3660046113f9565b610aeb565b6101cc61034e3660046114d8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101956103873660046113f9565b610bb8565b60006001600160a01b0383166103fb5760405162461bcd60e51b815260206004820152602960248201527f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726044820152686f206164647265737360b81b60648201526084015b60405180910390fd5b610406338484610c78565b5060019392505050565b600083828061041e83610aeb565b6104289190611521565b6001600160a01b038316600090815260016020526040902054101561045f5760405162461bcd60e51b81526004016103f290611534565b6001600160a01b0385166104cc5760405162461bcd60e51b815260206004820152602e60248201527f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e64207460448201526d6f207a65726f206164647265737360901b60648201526084016103f2565b6001600160a01b03851660009081526006602052604090205460ff1615801561050e57506001600160a01b03861660009081526006602052604090205460ff16155b6105485760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016103f2565b610553868686610ce1565b506001600160a01b03861660009081526002602090815260408083203380855292529091205461058f91889161058a908890611579565b610c78565b5060019695505050505050565b3360009081526005602052604081205460ff1615156001146105d05760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b0384166106265760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742073656e6420746f207a65726f2061646472657373000000000060448201526064016103f2565b610631338585610ce1565b5061063d848484610d89565b506001949350505050565b3360009081526005602052604090205460ff16151560011461067c5760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006106b33383610f9e565b60405183815290915033907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a2506001919050565b6003546001600160a01b0316331461071d5760405162461bcd60e51b81526004016103f2906115c3565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6003546000906001600160a01b031633146107755760405162461bcd60e51b81526004016103f2906115c3565b61077f6000611036565b905090565b60006107908383610f9e565b50826001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516107cc91815260200190565b60405180910390a26001600160a01b03831660009081526002602090815260408083203380855292529091205461080a91859161058a908690611579565b9392505050565b3360009081526005602052604081205460ff1615156001146108455760405162461bcd60e51b81526004016103f29061158c565b61080a8383611099565b92915050565b600033828061086383610aeb565b61086d9190611521565b6001600160a01b03831660009081526001602052604090205410156108a45760405162461bcd60e51b81526004016103f290611534565b6001600160a01b03851661090d5760405162461bcd60e51b815260206004820152602a60248201527f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65604482015269726f206164647265737360b01b60648201526084016103f2565b6001600160a01b03851660009081526006602052604090205460ff1615801561094657503360009081526006602052604090205460ff16155b6109805760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b60448201526064016103f2565b61098b338686610ce1565b50600195945050505050565b6001600160a01b03821660009081526004602052604081208054829190849081106109c4576109c4611612565b906000526020600020906002020160000154915060046000856001600160a01b03166001600160a01b031681526020019081526020016000208381548110610a0e57610a0e611612565b90600052602060002090600202016001015490509250929050565b3360009081526005602052604081205460ff161515600114610a5d5760405162461bcd60e51b81526004016103f29061158c565b6001600160a01b0382166000908152600460205260409020545b8015610ae0576001600160a01b0383166000908152600460205260409020610acd908490610aa6600185611579565b81548110610ab657610ab6611612565b906000526020600020906002020160010154611099565b5080610ad881611628565b915050610a77565b50600190505b919050565b60008060005b6001600160a01b038416600090815260046020526040902054811015610bb1576001600160a01b0384166000908152600460205260409020805442919083908110610b3e57610b3e611612565b90600052602060002090600202016001015410610b9f576001600160a01b0384166000908152600460205260409020805482908110610b7f57610b7f611612565b90600052602060002090600202016000015482610b9c9190611521565b91505b80610ba98161163f565b915050610af1565b5092915050565b6003546000906001600160a01b03163314610be55760405162461bcd60e51b81526004016103f2906115c3565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152604560248201527f4f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e60448201527f6f74207472616e73666572206f776e65727368697020746f207a65726f206164606482015264647265737360d81b608482015260a4016103f2565b61084f82611036565b6001600160a01b03838116600081815260026020908152604080832094871680845294825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b6001600160a01b038316600090815260016020526040812054610d05908390611579565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610d35908390611521565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ccf9086815260200190565b6000428211610dd35760405162461bcd60e51b815260206004820152601660248201527510d85b9b9bdd081cd95d08191d59481d1bc81c185cdd60521b60448201526064016103f2565b82610ddd85610aeb565b610de79190611521565b6001600160a01b0385166000908152600160205260409020541015610e625760405162461bcd60e51b815260206004820152602b60248201527f4c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207460448201526a68616e2062616c616e636560a81b60648201526084016103f2565b6000610e6e85846112de565b905060008112610f00576001600160a01b0385166000908152600460205260408120805483908110610ea257610ea2611612565b60009182526020909120600290910201549050610ebf8582611521565b6001600160a01b0387166000908152600460205260409020805484908110610ee957610ee9611612565b600091825260209091206002909102015550610f4f565b6001600160a01b03851660009081526004602090815260408083208151808301909252878252818301878152815460018181018455928652939094209151600290930290910191825591519101555b60408051858152602081018590526001600160a01b038716917f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b910160405180910390a2506001949350505050565b6001600160a01b038216600090815260016020526040812054610fc2908390611579565b6001600160a01b03841660009081526001602052604081209190915554610fea908390611579565b60009081556040518381526001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b60006110a483610aeb565b6000036110ec5760405162461bcd60e51b815260206004820152601660248201527510d85b9b9bdd081cd95d08191d59481d1bc81c185cdd60521b60448201526064016103f2565b60005b6001600160a01b0384166000908152600460205260409020548110156112d4576001600160a01b038416600090815260046020526040902080548491908390811061113c5761113c611612565b906000526020600020906002020160010154036112c2576001600160a01b038416600090815260046020526040812080548390811061117d5761117d611612565b9060005260206000209060020201600001549050846001600160a01b03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1826040516111cc91815260200190565b60405180910390a26001600160a01b038516600090815260046020526040902080546111fa90600190611579565b8154811061120a5761120a611612565b906000526020600020906002020160046000876001600160a01b03166001600160a01b03168152602001908152602001600020838154811061124e5761124e611612565b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b038716815260049091526040902080548061129557611295611658565b6000828152602081206002600019909301928302018181556001908101919091559155925061084f915050565b806112cc8161163f565b9150506110ef565b5060009392505050565b6000805b6001600160a01b03841660009081526004602052604090205481101561135f576001600160a01b038416600090815260046020526040902080548491908390811061132f5761132f611612565b9060005260206000209060020201600101540361134d57905061084f565b806113578161163f565b9150506112e2565b506000199392505050565b600060208083528351808285015260005b818110156113975785810183015185820160400152820161137b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ae657600080fd5b600080604083850312156113e257600080fd5b6113eb836113b8565b946020939093013593505050565b60006020828403121561140b57600080fd5b61080a826113b8565b60008060006060848603121561142957600080fd5b611432846113b8565b9250611440602085016113b8565b9150604084013590509250925092565b60008060006060848603121561146557600080fd5b61146e846113b8565b95602085013595506040909401359392505050565b6000806040838503121561149657600080fd5b61149f836113b8565b9150602083013580151581146114b457600080fd5b809150509250929050565b6000602082840312156114d157600080fd5b5035919050565b600080604083850312156114eb57600080fd5b6114f4836113b8565b9150611502602084016113b8565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561084f5761084f61150b565b60208082526025908201527f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616040820152641b5bdd5b9d60da1b606082015260800190565b8181038181111561084f5761084f61150b565b6020808252601e908201527f46756e6374696f6e2063616c6c65642062792061646d696e20757365722e0000604082015260600190565b6020808252602f908201527f4f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e6160408201526e3aba3437b934bd32b2103ab9b2b91760891b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000816116375761163761150b565b506000190190565b6000600182016116515761165161150b565b5060010190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a8ceb2d1af525366c018cd93b1952bc221d439028516895c3666a92b7fd19d0f64736f6c63430008120033

Deployed Bytecode Sourcemap

8624:2293:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10555:109;10651:5;;;;;;;;;;;-1:-1:-1;;;10651:5:0;;;;10555:109;;;;10651:5;10555:109;:::i;:::-;;;;;;;;10220:327;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;10220:327:0;1004:187:1;8891:42:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2004:100;2050:13;2084:12;2004:100;;;1533:25:1;;;1521:2;1506:18;2004:100:0;1387:177:1;9648:564:0;;;;;;:::i;:::-;;:::i;10797:117::-;;;8818:2;2044:36:1;;2032:2;2017:18;10797:117:0;1902:184:1;7463:313:0;;;;;;:::i;:::-;;:::i;9073:126::-;;;;;;:::i;:::-;;:::i;:::-;;8097:197;;;;;;:::i;:::-;;:::i;5109:113::-;;;;;;:::i;:::-;;:::i;4627:37::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2110:119;;;;;;:::i;:::-;-1:-1:-1;;;;;2205:16:0;2167:15;2205:16;;;:9;:16;;;;;;;2110:119;4098:130;;;:::i;8302:315::-;;;;;;:::i;:::-;;:::i;7088:129::-;;;;;;:::i;:::-;;:::i;3691:102::-;3779:6;;3691:102;;-1:-1:-1;;;;;3779:6:0;;;3101:51:1;;3089:2;3074:18;3691:102:0;2955:203:1;9207:433:0;;;;;;:::i;:::-;;:::i;7784:199::-;;;;;;:::i;:::-;;:::i;:::-;;;;3337:25:1;;;3393:2;3378:18;;3371:34;;;;3310:18;7784:199:0;3163:248:1;7225:230:0;;;;;;:::i;:::-;;:::i;5230:341::-;;;;;;:::i;:::-;;:::i;2237:183::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2385:18:0;;;2338:17;2385:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2237:183;3801:289;;;;;;:::i;:::-;;:::i;10220:327::-;10324:12;-1:-1:-1;;;;;10376:21:0;;10354:112;;;;-1:-1:-1;;;10354:112:0;;3883:2:1;10354:112:0;;;3865:21:1;3922:2;3902:18;;;3895:30;3961:34;3941:18;;;3934:62;-1:-1:-1;;;4012:18:1;;;4005:39;4061:19;;10354:112:0;;;;;;;;;10477:37;10486:10;10498:7;10507:6;10477:8;:37::i;:::-;-1:-1:-1;10535:4:0;;10220:327;-1:-1:-1;;;10220:327:0:o;9648:564::-;9799:12;9767:4;9773:6;4907;4887:17;4899:4;4887:11;:17::i;:::-;:26;;;;:::i;:::-;-1:-1:-1;;;;;4868:15:0;;;;;;:9;:15;;;;;;:45;;4860:95;;;;-1:-1:-1;;;4860:95:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9851:16:0;::::1;9829:112;;;::::0;-1:-1:-1;;;9829:112:0;;4961:2:1;9829:112:0::1;::::0;::::1;4943:21:1::0;5000:2;4980:18;;;4973:30;5039:34;5019:18;;;5012:62;-1:-1:-1;;;5090:18:1;;;5083:44;5144:19;;9829:112:0::1;4759:410:1::0;9829:112:0::1;-1:-1:-1::0;;;;;9961:14:0;::::1;;::::0;;;:10:::1;:14;::::0;;;;;::::1;;9960:15;:36:::0;::::1;;;-1:-1:-1::0;;;;;;9980:16:0;::::1;;::::0;;;:10:::1;:16;::::0;;;;;::::1;;9979:17;9960:36;9952:60;;;::::0;-1:-1:-1;;;9952:60:0;;5376:2:1;9952:60:0::1;::::0;::::1;5358:21:1::0;5415:2;5395:18;;;5388:30;-1:-1:-1;;;5434:18:1;;;5427:41;5485:18;;9952:60:0::1;5174:335:1::0;9952:60:0::1;10025:27;10035:4;10041:2;10045:6;10025:9;:27::i;:::-;-1:-1:-1::0;;;;;;10130:17:0;::::1;;::::0;;;:11:::1;:17;::::0;;;;;;;10105:10:::1;10130:29:::0;;;;;;;;;10063:116:::1;::::0;10086:4;;10130:38:::1;::::0;10162:6;;10130:38:::1;:::i;:::-;10063:8;:116::i;:::-;-1:-1:-1::0;10200:4:0::1;::::0;9648:564;-1:-1:-1;;;;;;9648:564:0:o;7463:313::-;5029:10;7567:12;5023:17;;;:5;:17;;;;;;;;:25;;:17;:25;5015:68;;;;-1:-1:-1;;;5015:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7600:23:0;::::1;7592:63;;;::::0;-1:-1:-1;;;7592:63:0;;6208:2:1;7592:63:0::1;::::0;::::1;6190:21:1::0;6247:2;6227:18;;;6220:30;6286:29;6266:18;;;6259:57;6333:18;;7592:63:0::1;6006:351:1::0;7592:63:0::1;7666:40;7676:10;7688:9;7699:6;7666:9;:40::i;:::-;;7717:29;7723:9;7734:6;7742:3;7717:5;:29::i;:::-;-1:-1:-1::0;7764:4:0::1;::::0;7463:313;-1:-1:-1;;;;7463:313:0:o;9073:126::-;5029:10;5023:17;;;;:5;:17;;;;;;;;:25;;:17;:25;5015:68;;;;-1:-1:-1;;;5015:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9159:20:0;;;::::1;;::::0;;;:10:::1;:20;::::0;;;;:32;;-1:-1:-1;;9159:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9073:126::o;8097:197::-;8156:12;8196:25;8202:10;8214:6;8196:5;:25::i;:::-;8237:24;;1533:25:1;;;8186:35:0;;-1:-1:-1;8242:10:0;;8237:24;;1521:2:1;1506:18;8237:24:0;;;;;;;-1:-1:-1;8282:4:0;;8097:197;-1:-1:-1;8097:197:0:o;5109:113::-;3582:6;;-1:-1:-1;;;;;3582:6:0;3568:10;:20;3546:117;;;;-1:-1:-1;;;3546:117:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5189:13:0;;;::::1;;::::0;;;:5:::1;:13;::::0;;;;:25;;-1:-1:-1;;5189:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5109:113::o;4098:130::-;3582:6;;4155:12;;-1:-1:-1;;;;;3582:6:0;3568:10;:20;3546:117;;;;-1:-1:-1;;;3546:117:0;;;;;;;:::i;:::-;4190:30:::1;4217:1;4190:18;:30::i;:::-;4180:40;;4098:130:::0;:::o;8302:315::-;8381:12;8411:21;8417:6;8425;8411:5;:21::i;:::-;;8453:6;-1:-1:-1;;;;;8448:20:0;;8461:6;8448:20;;;;1533:25:1;;1521:2;1506:18;;1387:177;8448:20:0;;;;;;;;-1:-1:-1;;;;;8558:19:0;;;;;;:11;:19;;;;;;;;8533:10;8558:31;;;;;;;;;8489:120;;8512:6;;8558:40;;8592:6;;8558:40;:::i;8489:120::-;8479:130;8302:315;-1:-1:-1;;;8302:315:0:o;7088:129::-;5029:10;7159:12;5023:17;;;:5;:17;;;;;;;;:25;;:17;:25;5015:68;;;;-1:-1:-1;;;5015:68:0;;;;;;;:::i;:::-;7191:18:::1;7199:4;7205:3;7191:7;:18::i;5094:1::-;7088:129:::0;;;;:::o;9207:433::-;9346:12;9308:10;9320:6;4907;4887:17;4899:4;4887:11;:17::i;:::-;:26;;;;:::i;:::-;-1:-1:-1;;;;;4868:15:0;;;;;;:9;:15;;;;;;:45;;4860:95;;;;-1:-1:-1;;;4860:95:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9398:16:0;::::1;9376:108;;;::::0;-1:-1:-1;;;9376:108:0;;6980:2:1;9376:108:0::1;::::0;::::1;6962:21:1::0;7019:2;6999:18;;;6992:30;7058:34;7038:18;;;7031:62;-1:-1:-1;;;7109:18:1;;;7102:40;7159:19;;9376:108:0::1;6778:406:1::0;9376:108:0::1;-1:-1:-1::0;;;;;9504:14:0;::::1;;::::0;;;:10:::1;:14;::::0;;;;;::::1;;9503:15;:42:::0;::::1;;;-1:-1:-1::0;9534:10:0::1;9523:22;::::0;;;:10:::1;:22;::::0;;;;;::::1;;9522:23;9503:42;9495:66;;;::::0;-1:-1:-1;;;9495:66:0;;5376:2:1;9495:66:0::1;::::0;::::1;5358:21:1::0;5415:2;5395:18;;;5388:30;-1:-1:-1;;;5434:18:1;;;5427:41;5485:18;;9495:66:0::1;5174:335:1::0;9495:66:0::1;9574:33;9584:10;9596:2;9600:6;9574:9;:33::i;:::-;-1:-1:-1::0;9628:4:0::1;::::0;9207:433;-1:-1:-1;;;;;9207:433:0:o;7784:199::-;-1:-1:-1;;;;;7905:14:0;;7856;7905;;;:6;:14;;;;;:21;;7856:14;;7905;7920:5;;7905:21;;;;;;:::i;:::-;;;;;;;;;;;:28;;;7896:37;;7950:6;:14;7957:6;-1:-1:-1;;;;;7950:14:0;-1:-1:-1;;;;;7950:14:0;;;;;;;;;;;;7965:5;7950:21;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;7944:31;;7784:199;;;;;:::o;7225:230::-;5029:10;7286:12;5023:17;;;:5;:17;;;;;;;;:25;;:17;:25;5015:68;;;;-1:-1:-1;;;5015:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7328:12:0;::::1;7316:9;7328:12:::0;;;:6:::1;:12;::::0;;;;:19;7311:115:::1;7349:5:::0;;7311:115:::1;;-1:-1:-1::0;;;;;7390:12:0;::::1;;::::0;;;:6:::1;:12;::::0;;;;7376:38:::1;::::0;7384:4;;7403:5:::1;7407:1;7403::::0;:5:::1;:::i;:::-;7390:19;;;;;;;;:::i;:::-;;;;;;;;;;;:23;;;7376:7;:38::i;:::-;-1:-1:-1::0;7356:3:0;::::1;::::0;::::1;:::i;:::-;;;;7311:115;;;;7443:4;7436:11;;5094:1;7225:230:::0;;;:::o;5230:341::-;5287:7;5307:20;5343:9;5338:196;-1:-1:-1;;;;;5362:13:0;;;;;;:6;:13;;;;;:20;5358:24;;5338:196;;;-1:-1:-1;;;;;5408:13:0;;;;;;:6;:13;;;;;:16;;5432:15;;5408:13;5422:1;;5408:16;;;;;;:::i;:::-;;;;;;;;;;;:20;;;:39;5404:119;;-1:-1:-1;;;;;5484:13:0;;;;;;:6;:13;;;;;:16;;5498:1;;5484:16;;;;;;:::i;:::-;;;;;;;;;;;:23;;;5468:39;;;;;:::i;:::-;;;5404:119;5384:3;;;;:::i;:::-;;;;5338:196;;;-1:-1:-1;5551:12:0;5230:341;-1:-1:-1;;5230:341:0:o;3801:289::-;3582:6;;3899:12;;-1:-1:-1;;;;;3582:6:0;3568:10;:20;3546:117;;;;-1:-1:-1;;;3546:117:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3937:22:0;::::1;3929:104;;;::::0;-1:-1:-1;;;3929:104:0;;7804:2:1;3929:104:0::1;::::0;::::1;7786:21:1::0;7843:2;7823:18;;;7816:30;7882:34;7862:18;;;7855:62;7953:34;7933:18;;;7926:62;-1:-1:-1;;;8004:19:1;;;7997:36;8050:19;;3929:104:0::1;7602:473:1::0;3929:104:0::1;4054:28;4073:8;4054:18;:28::i;1072:249::-:0;-1:-1:-1;;;;;1204:18:0;;;1174:12;1204:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;:36;;;1256:32;1533:25:1;;;1174:12:0;;1204:27;:18;1256:32;;1506:18:1;1256:32:0;;;;;;;;-1:-1:-1;1309:4:0;;1072:249;-1:-1:-1;;;1072:249:0:o;771:293::-;-1:-1:-1;;;;;916:15:0;;868:12;916:15;;;:9;:15;;;;;;:24;;934:6;;916:24;:::i;:::-;-1:-1:-1;;;;;898:15:0;;;;;;;:9;:15;;;;;;:42;;;;967:13;;;;;;;:22;;983:6;;967:22;:::i;:::-;-1:-1:-1;;;;;951:13:0;;;;;;;:9;:13;;;;;;;:38;;;;1005:26;;;;;;;;;;1024:6;1533:25:1;;1521:2;1506:18;;1387:177;5876:628:0;5952:12;5991:15;5985:3;:21;5977:56;;;;-1:-1:-1;;;5977:56:0;;8282:2:1;5977:56:0;;;8264:21:1;8321:2;8301:18;;;8294:30;-1:-1:-1;;;8340:18:1;;;8333:52;8402:18;;5977:56:0;8080:346:1;5977:56:0;6091:6;6071:17;6083:4;6071:11;:17::i;:::-;:26;;;;:::i;:::-;-1:-1:-1;;;;;6052:15:0;;;;;;:9;:15;;;;;;:45;;6044:101;;;;-1:-1:-1;;;6044:101:0;;8633:2:1;6044:101:0;;;8615:21:1;8672:2;8652:18;;;8645:30;8711:34;8691:18;;;8684:62;-1:-1:-1;;;8762:18:1;;;8755:41;8813:19;;6044:101:0;8431:407:1;6044:101:0;6156:10;6169:18;6177:4;6183:3;6169:7;:18::i;:::-;6156:31;;6209:1;6202:3;:8;6198:246;;-1:-1:-1;;;;;6252:12:0;;6227:22;6252:12;;;:6;:12;;;;;:26;;6273:3;;6252:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:33;;-1:-1:-1;6336:23:0;6353:6;6252:33;6336:23;:::i;:::-;-1:-1:-1;;;;;6300:12:0;;;;;;:6;:12;;;;;:26;;6321:3;;6300:26;;;;;;:::i;:::-;;;;;;;;;;;;;;:59;-1:-1:-1;6198:246:0;;;-1:-1:-1;;;;;6392:12:0;;;;;;:6;:12;;;;;;;;6410:21;;;;;;;;;;;;;;;;;6392:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6198:246;6459:23;;;3337:25:1;;;3393:2;3378:18;;3371:34;;;-1:-1:-1;;;;;6459:23:0;;;;;3310:18:1;6459:23:0;;;;;;;-1:-1:-1;6496:4:0;;5876:628;-1:-1:-1;;;;5876:628:0:o;1640:291::-;-1:-1:-1;;;;;1773:17:0;;1723:12;1773:17;;;:9;:17;;;;;;:26;;1793:6;;1773:26;:::i;:::-;-1:-1:-1;;;;;1753:17:0;;;;;;:9;:17;;;;;:46;;;;1825:12;:21;;1840:6;;1825:21;:::i;:::-;1810:12;:36;;;1862;;1533:25:1;;;-1:-1:-1;;;;;1862:36:0;;;;;1521:2:1;1506:18;1862:36:0;;;;;;;-1:-1:-1;1919:4:0;;1640:291;-1:-1:-1;;1640:291:0:o;4236:193::-;4351:6;;4330:38;;4300:12;;-1:-1:-1;;;;;4330:38:0;;;;4351:6;;;4330:38;;4300:12;;4330:38;-1:-1:-1;4379:6:0;:17;;-1:-1:-1;;;;;;4379:17:0;-1:-1:-1;;;;;4379:17:0;;;;;;;;;;-1:-1:-1;;4236:193:0:o;6512:568::-;6574:12;6607:17;6619:4;6607:11;:17::i;:::-;6628:1;6607:22;6599:57;;;;-1:-1:-1;;;6599:57:0;;8282:2:1;6599:57:0;;;8264:21:1;8321:2;8301:18;;;8294:30;-1:-1:-1;;;8340:18:1;;;8333:52;8402:18;;6599:57:0;8080:346:1;6599:57:0;6672:9;6667:383;-1:-1:-1;;;;;6691:12:0;;;;;;:6;:12;;;;;:19;6687:23;;6667:383;;;-1:-1:-1;;;;;6736:12:0;;;;;;:6;:12;;;;;:15;;6759:3;;6736:12;6749:1;;6736:15;;;;;;:::i;:::-;;;;;;;;;;;:19;;;:26;6732:307;;-1:-1:-1;;;;;6808:12:0;;6783:22;6808:12;;;:6;:12;;;;;:15;;6821:1;;6808:15;;;;;;:::i;:::-;;;;;;;;;;;:22;;;6783:47;;6861:4;-1:-1:-1;;;;;6854:28:0;;6867:14;6854:28;;;;1533:25:1;;1521:2;1506:18;;1387:177;6854:28:0;;;;;;;;-1:-1:-1;;;;;6919:12:0;;;;;;:6;:12;;;;;6932:19;;:23;;6954:1;;6932:23;:::i;:::-;6919:37;;;;;;;;:::i;:::-;;;;;;;;;;;6901:6;:12;6908:4;-1:-1:-1;;;;;6901:12:0;-1:-1:-1;;;;;6901:12:0;;;;;;;;;;;;6914:1;6901:15;;;;;;;;:::i;:::-;;;;;;;;;:55;;:15;;;;;:55;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6975:12:0;;;;:6;:12;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;6975:18:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7012:11:0;;-1:-1:-1;;7012:11:0;6732:307;6712:3;;;;:::i;:::-;;;;6667:383;;;-1:-1:-1;7067:5:0;;6512:568;-1:-1:-1;;;6512:568:0:o;5579:289::-;5648:6;;5663:186;-1:-1:-1;;;;;5687:13:0;;;;;;:6;:13;;;;;:20;5683:24;;5663:186;;;-1:-1:-1;;;;;5729:13:0;;;;;;:6;:13;;;;;:16;;5753:4;;5729:13;5743:1;;5729:16;;;;;;:::i;:::-;;;;;;;;;;;:20;;;:28;5725:117;;5788:1;-1:-1:-1;5774:16:0;;5725:117;5709:3;;;;:::i;:::-;;;;5663:186;;;-1:-1:-1;;;5862:2:0;5579:289;-1:-1:-1;;;5579:289:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;745:254;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:186::-;1255:6;1308:2;1296:9;1287:7;1283:23;1279:32;1276:52;;;1324:1;1321;1314:12;1276:52;1347:29;1366:9;1347:29;:::i;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;2091:322::-;2168:6;2176;2184;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2276:29;2295:9;2276:29;:::i;:::-;2266:39;2352:2;2337:18;;2324:32;;-1:-1:-1;2403:2:1;2388:18;;;2375:32;;2091:322;-1:-1:-1;;;2091:322:1:o;2418:347::-;2483:6;2491;2544:2;2532:9;2523:7;2519:23;2515:32;2512:52;;;2560:1;2557;2550:12;2512:52;2583:29;2602:9;2583:29;:::i;:::-;2573:39;;2662:2;2651:9;2647:18;2634:32;2709:5;2702:13;2695:21;2688:5;2685:32;2675:60;;2731:1;2728;2721:12;2675:60;2754:5;2744:15;;;2418:347;;;;;:::o;2770:180::-;2829:6;2882:2;2870:9;2861:7;2857:23;2853:32;2850:52;;;2898:1;2895;2888:12;2850:52;-1:-1:-1;2921:23:1;;2770:180;-1:-1:-1;2770:180:1:o;3416:260::-;3484:6;3492;3545:2;3533:9;3524:7;3520:23;3516:32;3513:52;;;3561:1;3558;3551:12;3513:52;3584:29;3603:9;3584:29;:::i;:::-;3574:39;;3632:38;3666:2;3655:9;3651:18;3632:38;:::i;:::-;3622:48;;3416:260;;;;;:::o;4091:127::-;4152:10;4147:3;4143:20;4140:1;4133:31;4183:4;4180:1;4173:15;4207:4;4204:1;4197:15;4223:125;4288:9;;;4309:10;;;4306:36;;;4322:18;;:::i;4353:401::-;4555:2;4537:21;;;4594:2;4574:18;;;4567:30;4633:34;4628:2;4613:18;;4606:62;-1:-1:-1;;;4699:2:1;4684:18;;4677:35;4744:3;4729:19;;4353:401::o;5514:128::-;5581:9;;;5602:11;;;5599:37;;;5616:18;;:::i;5647:354::-;5849:2;5831:21;;;5888:2;5868:18;;;5861:30;5927:32;5922:2;5907:18;;5900:60;5992:2;5977:18;;5647:354::o;6362:411::-;6564:2;6546:21;;;6603:2;6583:18;;;6576:30;6642:34;6637:2;6622:18;;6615:62;-1:-1:-1;;;6708:2:1;6693:18;;6686:45;6763:3;6748:19;;6362:411::o;7189:127::-;7250:10;7245:3;7241:20;7238:1;7231:31;7281:4;7278:1;7271:15;7305:4;7302:1;7295:15;7321:136;7360:3;7388:5;7378:39;;7397:18;;:::i;:::-;-1:-1:-1;;;7433:18:1;;7321:136::o;7462:135::-;7501:3;7522:17;;;7519:43;;7542:18;;:::i;:::-;-1:-1:-1;7589:1:1;7578:13;;7462:135::o;8843:127::-;8904:10;8899:3;8895:20;8892:1;8885:31;8935:4;8932:1;8925:15;8959:4;8956:1;8949:15

Swarm Source

ipfs://a8ceb2d1af525366c018cd93b1952bc221d439028516895c3666a92b7fd19d0f
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.