ETH Price: $2,631.84 (-0.15%)
Gas: 1 Gwei

Token

TP BG 2022 (Meta Year Skin)
 

Overview

Max Total Supply

2,022 Meta Year Skin

Holders

246

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
imsam.eth
Balance
1 Meta Year Skin
0x9307a483C286814c425Ecc7e71a2cCe53A629e4B
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
TPSkin2022

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 11 of 11: TPSkin2022.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./ERC721.sol";
import "./InitializableOwnable.sol";
import "./Strings.sol";
import "./Address.sol";

contract TPSkin2022 is ERC721, InitializableOwnable {
    using Strings for uint256;

    //tokenId => style
    mapping(uint256 => uint256) private _token_style;
    mapping(uint256 => uint256) public styleSupply;
    mapping(address => bool) private _minted;
    uint256 private _totalSupply = 2022;
    uint256 private _circulationSupply;
    uint256 private _startTime;
    uint256 private _endTime;

    event Mint(
        address indexed owner,
        uint256 indexed tokenId,
        uint256 indexed style
    );

    constructor(string memory name_, string memory symbol_) public {
        initOwner(msg.sender);
        initNameSymbol(name_, symbol_);
    }

    function updateOpenTime(uint256 start_, uint256 end_) public onlyOwner {
        _startTime = start_;
        _endTime = end_;
    }

    function updateBaseURI(string memory _uri) public onlyOwner {
        initBaseUri(_uri);
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function circulationSupply() public view returns (uint256) {
        return _circulationSupply;
    }

    function tokenURI(uint256 tokenId)
        public
        view
        virtual
        override
        returns (string memory)
    {
        require(
            _exists(tokenId),
            "TP Skin 2022: URI query for nonexistent token"
        );

        string memory baseURI = _baseURI();
        uint256 style = _token_style[tokenId];
        return
            bytes(baseURI).length > 0
                ? string(abi.encodePacked(baseURI, style.toString(), ".json"))
                : "";
    }

    function mint() public returns (uint256 tokenId) {
        require(
            _circulationSupply < _totalSupply,
            "TP Skin 2022: Better luck next time!"
        );
        require(block.timestamp >= _startTime, "TP Skin 2022: Coming soon!");
        require(block.timestamp < _endTime, "TP Skin 2022: finished");
        require(!_minted[msg.sender], "TP Skin 2022: already minted");
        tokenId = _circulationSupply + 1;
        uint256 style = randomStyle(tokenId);
        _safeMint(msg.sender, tokenId);
        _circulationSupply += 1;
        _token_style[tokenId] = style;
        styleSupply[style] += 1;
        _minted[msg.sender] = true;
        emit Mint(msg.sender, tokenId, style);
    }

    function randomStyle(uint256 tokenId) internal returns (uint256 style) {
        uint256 random = (uint256(
            keccak256(
                abi.encodePacked(
                    block.timestamp,
                    msg.sender,
                    block.coinbase.balance,
                    tokenId,
                    block.difficulty,
                    block.gaslimit
                )
            )
        ) % 100) + 1;
        if (random <= 7) {
            style = 1;
        } else if (random <= 17) {
            style = 2;
        } else if (random <= 29) {
            style = 3;
        } else if (random <= 41) {
            style = 4;
        } else if (random <= 55) {
            style = 5;
        } else if (random <= 75) {
            style = 6;
        } else {
            style = 7;
        }
    }
}

File 1 of 11: Address.sol
pragma solidity ^0.8.0;

library Address {

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 2 of 11: Context.sol
pragma solidity ^0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

File 3 of 11: ERC165.sol
pragma solidity ^0.8.0;

import "./IERC165.sol";

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        override
        returns (bool)
    {
        return interfaceId == type(IERC165).interfaceId;
    }
}

File 4 of 11: ERC721.sol
pragma solidity ^0.8.0;

import "./IERC721.sol";
import "./IERC721Receiver.sol";
import "./IERC721Metadata.sol";
import "./Address.sol";
import "./Context.sol";
import "./Strings.sol";
import "./ERC165.sol";

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
    using Address for address;
    using Strings for uint256;

    // Token name
    string private _name;

    // Token symbol
    string private _symbol;

    string private _base_URI;

    // Mapping from token ID to owner address
    mapping(uint256 => address) private _owners;

    // Mapping owner address to token count
    mapping(address => uint256) private _balances;

    // Mapping from token ID to approved address
    mapping(uint256 => address) private _tokenApprovals;

    // Mapping from owner to operator approvals
    mapping(address => mapping(address => bool)) private _operatorApprovals;

    constructor() {}

    function initNameSymbol(string memory name_, string memory symbol_)
        internal
    {
        _name = name_;
        _symbol = symbol_;
    }

    function initBaseUri(string memory uri) internal {
        _base_URI = uri;
    }

    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        override(ERC165, IERC165)
        returns (bool)
    {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC721Metadata).interfaceId ||
            super.supportsInterface(interfaceId);
    }

    function balanceOf(address owner)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[owner];
    }

    function ownerOf(uint256 tokenId)
        public
        view
        virtual
        override
        returns (address)
    {
        address owner = _owners[tokenId];
        return owner;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function tokenURI(uint256 tokenId)
        public
        view
        virtual
        override
        returns (string memory)
    {
        require(
            _exists(tokenId),
            "TP Skin 2022: URI query for nonexistent token"
        );

        string memory baseURI = _baseURI();
        return
            bytes(baseURI).length > 0
                ? string(abi.encodePacked(baseURI, tokenId.toString(), ".json"))
                : "";
    }

    function _baseURI() internal view virtual returns (string memory) {
        return _base_URI;
    }

    function approve(address to, uint256 tokenId) public virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "TP Skin 2022: approval to current owner");

        require(
            _msgSender() == owner || isApprovedForAll(owner, _msgSender()),
            "TP Skin 2022: approve caller is not owner nor approved for all"
        );

        _approve(to, tokenId);
    }

    function getApproved(uint256 tokenId)
        public
        view
        virtual
        override
        returns (address)
    {
        require(
            _exists(tokenId),
            "TP Skin 2022: approved query for nonexistent token"
        );

        return _tokenApprovals[tokenId];
    }

    function setApprovalForAll(address operator, bool approved)
        public
        virtual
        override
    {
        _setApprovalForAll(_msgSender(), operator, approved);
    }

    function isApprovedForAll(address owner, address operator)
        public
        view
        virtual
        override
        returns (bool)
    {
        return _operatorApprovals[owner][operator];
    }

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        //solhint-disable-next-line max-line-length
        require(
            _isApprovedOrOwner(_msgSender(), tokenId),
            "TP Skin 2022: transfer caller is not owner nor approved"
        );

        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) public virtual override {
        require(
            _isApprovedOrOwner(_msgSender(), tokenId),
            "TP Skin 2022: transfer caller is not owner nor approved"
        );
        _safeTransfer(from, to, tokenId, _data);
    }

    function _safeTransfer(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _transfer(from, to, tokenId);
        require(
            _checkOnERC721Received(from, to, tokenId, _data),
            "TP Skin 2022: transfer to non ERC721Receiver implementer"
        );
    }

    function _exists(uint256 tokenId) internal view virtual returns (bool) {
        return _owners[tokenId] != address(0);
    }

    function _isApprovedOrOwner(address spender, uint256 tokenId)
        internal
        view
        virtual
        returns (bool)
    {
        require(
            _exists(tokenId),
            "TP Skin 2022: operator query for nonexistent token"
        );
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner ||
            getApproved(tokenId) == spender ||
            isApprovedForAll(owner, spender));
    }

    function _safeMint(address to, uint256 tokenId) internal virtual {
        _safeMint(to, tokenId, "");
    }

    function _safeMint(
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _mint(to, tokenId);
        require(
            _checkOnERC721Received(address(0), to, tokenId, _data),
            "TP Skin 2022: transfer to non ERC721Receiver implementer"
        );
    }

    function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "TP Skin 2022: mint to the zero address");
        require(!_exists(tokenId), "TP Skin 2022: token already minted");

        _beforeTokenTransfer(address(0), to, tokenId);

        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(address(0), to, tokenId);
    }

    function _burn(uint256 tokenId) internal virtual {
        address owner = ERC721.ownerOf(tokenId);

        _beforeTokenTransfer(owner, address(0), tokenId);

        // Clear approvals
        _approve(address(0), tokenId);

        _balances[owner] -= 1;
        delete _owners[tokenId];

        emit Transfer(owner, address(0), tokenId);
    }

    function _transfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {
        require(
            ERC721.ownerOf(tokenId) == from,
            "TP Skin 2022: transfer of token that is not own"
        );
        require(to != address(0), "TP Skin 2022: transfer to the zero address");

        _beforeTokenTransfer(from, to, tokenId);

        // Clear approvals from the previous owner
        _approve(address(0), tokenId);

        _balances[from] -= 1;
        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(from, to, tokenId);
    }

    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
    }

    function _setApprovalForAll(
        address owner,
        address operator,
        bool approved
    ) internal virtual {
        require(owner != operator, "TP Skin 2022: approve to caller");
        _operatorApprovals[owner][operator] = approved;
        emit ApprovalForAll(owner, operator, approved);
    }

    function _checkOnERC721Received(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) private returns (bool) {
        if (to.isContract()) {
            try
                IERC721Receiver(to).onERC721Received(
                    _msgSender(),
                    from,
                    tokenId,
                    _data
                )
            returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert(
                        "TP Skin 2022: transfer to non ERC721Receiver implementer"
                    );
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {}
}

File 5 of 11: IERC165.sol
pragma solidity ^0.8.0;

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

File 6 of 11: IERC721.sol
pragma solidity ^0.8.0;

import "./IERC165.sol";

interface IERC721 is IERC165 {

    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    
    function balanceOf(address owner) external view returns (uint256 balance);
    
    function ownerOf(uint256 tokenId) external view returns (address owner);
    
    function safeTransferFrom(address from, address to, uint256 tokenId) external;

    function transferFrom(address from, address to, uint256 tokenId) external;

    function approve(address to, uint256 tokenId) external;

    function getApproved(uint256 tokenId) external view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) external;

    function isApprovedForAll(address owner, address operator) external view returns (bool);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}

File 7 of 11: IERC721Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.3.2 (token/ERC721/extensions/IERC721Metadata.sol)
pragma solidity ^0.8.0;

import "./IERC721.sol";

interface IERC721Metadata is IERC721 {

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function tokenURI(uint256 tokenId) external view returns (string memory);
}

File 8 of 11: IERC721Receiver.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.3.2 (token/ERC721/IERC721Receiver.sol)
pragma solidity ^0.8.0;

interface IERC721Receiver {

    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

File 9 of 11: InitializableOwnable.sol
pragma solidity >= 0.6.9;
pragma experimental ABIEncoderV2;

contract InitializableOwnable {
    address public _OWNER_;
    address public _NEW_OWNER_;
    bool internal _INITIALIZED_;

    // ============ Events ============

    event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner);

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

    // ============ Modifiers ============

    modifier notInitialized() {
        require(!_INITIALIZED_, "TRANSIT_INITIALIZED");
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == _OWNER_, "NOT_OWNER");
        _;
    }

    // ============ Functions ============

    function initOwner(address newOwner) public notInitialized {
        _INITIALIZED_ = true;
        _OWNER_ = newOwner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        emit OwnershipTransferPrepared(_OWNER_, newOwner);
        _NEW_OWNER_ = newOwner;
    }

    function claimOwnership() public {
        require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM");
        emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);
        _OWNER_ = _NEW_OWNER_;
        _NEW_OWNER_ = address(0);
    }
}

File 10 of 11: Strings.sol
pragma solidity ^0.8.0;

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"style","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","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":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulationSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"initOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"styleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"name":"updateBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start_","type":"uint256"},{"internalType":"uint256","name":"end_","type":"uint256"}],"name":"updateOpenTime","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526107e6600c553480156200001757600080fd5b5060405162001e7638038062001e768339810160408190526200003a916200027b565b620000453362000059565b620000518282620000ee565b505062000338565b600854600160a01b900460ff1615620000b85760405162461bcd60e51b815260206004820152601360248201527f5452414e5349545f494e495449414c495a454400000000000000000000000000604482015260640160405180910390fd5b6008805460ff60a01b1916600160a01b179055600780546001600160a01b039092166001600160a01b0319909216919091179055565b8151620001039060009060208501906200011e565b508051620001199060019060208401906200011e565b505050565b8280546200012c90620002e5565b90600052602060002090601f0160209004810192826200015057600085556200019b565b82601f106200016b57805160ff19168380011785556200019b565b828001600101855582156200019b579182015b828111156200019b5782518255916020019190600101906200017e565b50620001a9929150620001ad565b5090565b5b80821115620001a95760008155600101620001ae565b600082601f830112620001d657600080fd5b81516001600160401b0380821115620001f357620001f362000322565b604051601f8301601f19908116603f011681019082821181831017156200021e576200021e62000322565b816040528381526020925086838588010111156200023b57600080fd5b600091505b838210156200025f578582018301518183018401529082019062000240565b83821115620002715760008385830101525b9695505050505050565b600080604083850312156200028f57600080fd5b82516001600160401b0380821115620002a757600080fd5b620002b586838701620001c4565b93506020850151915080821115620002cc57600080fd5b50620002db85828601620001c4565b9150509250929050565b600181811c90821680620002fa57607f821691505b602082108114156200031c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611b2e80620003486000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80634e71e0c8116100c3578063a22cb4651161007c578063a22cb465146102ff578063b88d4fde14610312578063c87b56dd14610325578063e985e9c514610338578063edb887a414610374578063f2fde38b1461037c57600080fd5b80634e71e0c8146102775780636352211e1461027f57806370a08231146102a85780638456db15146102d1578063931688cb146102e457806395d89b41146102f757600080fd5b80630fe0d572116101155780630fe0d5721461021b5780631249c58b1461022e57806316048bc41461023657806318160ddd1461024957806323b872dd1461025157806342842e0e1461026457600080fd5b8063012564531461015d57806301ffc9a71461019057806306fdde03146101b3578063081812fc146101c8578063095ea7b3146101f35780630d00929714610208575b600080fd5b61017d61016b3660046117e4565b600a6020526000908152604090205481565b6040519081526020015b60405180910390f35b6101a361019e366004611761565b61038f565b6040519015158152602001610187565b6101bb6103e1565b60405161018791906118c7565b6101db6101d63660046117e4565b610473565b6040516001600160a01b039091168152602001610187565b610206610201366004611737565b610513565b005b6102066102163660046115ee565b61062c565b6102066102293660046117fd565b6106b2565b61017d6106e7565b6007546101db906001600160a01b031681565b600c5461017d565b61020661025f366004611643565b610901565b610206610272366004611643565b610932565b61020661094d565b6101db61028d3660046117e4565b6000908152600360205260409020546001600160a01b031690565b61017d6102b63660046115ee565b6001600160a01b031660009081526004602052604090205490565b6008546101db906001600160a01b031681565b6102066102f236600461179b565b6109fd565b6101bb610a33565b61020661030d3660046116fb565b610a42565b61020661032036600461167f565b610a51565b6101bb6103333660046117e4565b610a89565b6101a3610346366004611610565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b600d5461017d565b61020661038a3660046115ee565b610b71565b60006001600160e01b031982166380ac58cd60e01b14806103c057506001600160e01b03198216635b5e139f60e01b145b806103db57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546103f090611a26565b80601f016020809104026020016040519081016040528092919081815260200182805461041c90611a26565b80156104695780601f1061043e57610100808354040283529160200191610469565b820191906000526020600020905b81548152906001019060200180831161044c57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b03166104f75760405162461bcd60e51b815260206004820152603260248201527f545020536b696e20323032323a20617070726f76656420717565727920666f72604482015271103737b732bc34b9ba32b73a103a37b5b2b760711b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000818152600360205260409020546001600160a01b0390811690831681141561058f5760405162461bcd60e51b815260206004820152602760248201527f545020536b696e20323032323a20617070726f76616c20746f2063757272656e6044820152663a1037bbb732b960c91b60648201526084016104ee565b336001600160a01b03821614806105ab57506105ab8133610346565b61061d5760405162461bcd60e51b815260206004820152603e60248201527f545020536b696e20323032323a20617070726f76652063616c6c65722069732060448201527f6e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016104ee565b6106278383610bf7565b505050565b600854600160a01b900460ff161561067c5760405162461bcd60e51b81526020600482015260136024820152721514905394d25517d253925512505312569151606a1b60448201526064016104ee565b6008805460ff60a01b1916600160a01b179055600780546001600160a01b039092166001600160a01b0319909216919091179055565b6007546001600160a01b031633146106dc5760405162461bcd60e51b81526004016104ee90611937565b600e91909155600f55565b6000600c54600d54106107485760405162461bcd60e51b8152602060048201526024808201527f545020536b696e20323032323a20426574746572206c75636b206e6578742074604482015263696d652160e01b60648201526084016104ee565b600e5442101561079a5760405162461bcd60e51b815260206004820152601a60248201527f545020536b696e20323032323a20436f6d696e6720736f6f6e2100000000000060448201526064016104ee565b600f5442106107e45760405162461bcd60e51b815260206004820152601660248201527515140814dada5b880c8c0c8c8e88199a5b9a5cda195960521b60448201526064016104ee565b336000908152600b602052604090205460ff16156108445760405162461bcd60e51b815260206004820152601c60248201527f545020536b696e20323032323a20616c7265616479206d696e7465640000000060448201526064016104ee565b600d546108529060016119b7565b9050600061085f82610c5e565b905061086b3383610d48565b6001600d600082825461087e91906119b7565b90915550506000828152600960209081526040808320849055838352600a90915281208054600192906108b29084906119b7565b9091555050336000818152600b6020526040808220805460ff19166001179055518392859290917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9190a45090565b61090b3382610d62565b6109275760405162461bcd60e51b81526004016104ee9061195a565b610627838383610e58565b61062783838360405180602001604052806000815250610a51565b6008546001600160a01b031633146109975760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b60448201526064016104ee565b6008546007546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360088054600780546001600160a01b03199081166001600160a01b03841617909155169055565b6007546001600160a01b03163314610a275760405162461bcd60e51b81526004016104ee90611937565b610a3081611005565b50565b6060600180546103f090611a26565b610a4d338383611018565b5050565b610a5b3383610d62565b610a775760405162461bcd60e51b81526004016104ee9061195a565b610a83848484846110e7565b50505050565b6000818152600360205260409020546060906001600160a01b0316610b065760405162461bcd60e51b815260206004820152602d60248201527f545020536b696e20323032323a2055524920717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b60648201526084016104ee565b6000610b1061111a565b600084815260096020526040902054815191925090610b3e5760405180602001604052806000815250610b69565b81610b4882611129565b604051602001610b5992919061184b565b6040516020818303038152906040525b949350505050565b6007546001600160a01b03163314610b9b5760405162461bcd60e51b81526004016104ee90611937565b6007546040516001600160a01b038084169216907fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6290600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600081815260056020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556003909352818420549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b604080514260208201526bffffffffffffffffffffffff193360601b169181019190915241316054820152607481018290524460948201524560b4820152600090819060649060d4016040516020818303038152906040528051906020012060001c610cca9190611a76565b610cd59060016119b7565b905060078111610ce85760019150610d42565b60118111610cf95760029150610d42565b601d8111610d0a5760039150610d42565b60298111610d1b5760049150610d42565b60378111610d2c5760059150610d42565b604b8111610d3d5760069150610d42565b600791505b50919050565b610a4d828260405180602001604052806000815250611227565b6000818152600360205260408120546001600160a01b0316610de15760405162461bcd60e51b815260206004820152603260248201527f545020536b696e20323032323a206f70657261746f7220717565727920666f72604482015271103737b732bc34b9ba32b73a103a37b5b2b760711b60648201526084016104ee565b6000828152600360205260409020546001600160a01b03908116908416811480610e245750836001600160a01b0316610e1984610473565b6001600160a01b0316145b80610b6957506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff16610b69565b6000818152600360205260409020546001600160a01b03848116911614610ed95760405162461bcd60e51b815260206004820152602f60248201527f545020536b696e20323032323a207472616e73666572206f6620746f6b656e2060448201526e3a3430ba1034b9903737ba1037bbb760891b60648201526084016104ee565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602a60248201527f545020536b696e20323032323a207472616e7366657220746f20746865207a65604482015269726f206164647265737360b01b60648201526084016104ee565b610f4d600082610bf7565b6001600160a01b0383166000908152600460205260408120805460019290610f769084906119e3565b90915550506001600160a01b0382166000908152600460205260408120805460019290610fa49084906119b7565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8051610a4d9060029060208401906114c3565b816001600160a01b0316836001600160a01b0316141561107a5760405162461bcd60e51b815260206004820152601f60248201527f545020536b696e20323032323a20617070726f766520746f2063616c6c65720060448201526064016104ee565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6110f2848484610e58565b6110fe8484848461125a565b610a835760405162461bcd60e51b81526004016104ee906118da565b6060600280546103f090611a26565b60608161114d5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611177578061116181611a5b565b91506111709050600a836119cf565b9150611151565b60008167ffffffffffffffff81111561119257611192611acc565b6040519080825280601f01601f1916602001820160405280156111bc576020820181803683370190505b5090505b8415610b69576111d16001836119e3565b91506111de600a86611a76565b6111e99060306119b7565b60f81b8183815181106111fe576111fe611ab6565b60200101906001600160f81b031916908160001a905350611220600a866119cf565b94506111c0565b6112318383611367565b61123e600084848461125a565b6106275760405162461bcd60e51b81526004016104ee906118da565b60006001600160a01b0384163b1561135c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061129e90339089908890889060040161188a565b602060405180830381600087803b1580156112b857600080fd5b505af19250505080156112e8575060408051601f3d908101601f191682019092526112e59181019061177e565b60015b611342573d808015611316576040519150601f19603f3d011682016040523d82523d6000602084013e61131b565b606091505b50805161133a5760405162461bcd60e51b81526004016104ee906118da565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610b69565b506001949350505050565b6001600160a01b0382166113cc5760405162461bcd60e51b815260206004820152602660248201527f545020536b696e20323032323a206d696e7420746f20746865207a65726f206160448201526564647265737360d01b60648201526084016104ee565b6000818152600360205260409020546001600160a01b03161561143c5760405162461bcd60e51b815260206004820152602260248201527f545020536b696e20323032323a20746f6b656e20616c7265616479206d696e74604482015261195960f21b60648201526084016104ee565b6001600160a01b03821660009081526004602052604081208054600192906114659084906119b7565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546114cf90611a26565b90600052602060002090601f0160209004810192826114f15760008555611537565b82601f1061150a57805160ff1916838001178555611537565b82800160010185558215611537579182015b8281111561153757825182559160200191906001019061151c565b50611543929150611547565b5090565b5b808211156115435760008155600101611548565b600067ffffffffffffffff8084111561157757611577611acc565b604051601f8501601f19908116603f0116810190828211818310171561159f5761159f611acc565b816040528093508581528686860111156115b857600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146115e957600080fd5b919050565b60006020828403121561160057600080fd5b611609826115d2565b9392505050565b6000806040838503121561162357600080fd5b61162c836115d2565b915061163a602084016115d2565b90509250929050565b60008060006060848603121561165857600080fd5b611661846115d2565b925061166f602085016115d2565b9150604084013590509250925092565b6000806000806080858703121561169557600080fd5b61169e856115d2565b93506116ac602086016115d2565b925060408501359150606085013567ffffffffffffffff8111156116cf57600080fd5b8501601f810187136116e057600080fd5b6116ef8782356020840161155c565b91505092959194509250565b6000806040838503121561170e57600080fd5b611717836115d2565b91506020830135801515811461172c57600080fd5b809150509250929050565b6000806040838503121561174a57600080fd5b611753836115d2565b946020939093013593505050565b60006020828403121561177357600080fd5b813561160981611ae2565b60006020828403121561179057600080fd5b815161160981611ae2565b6000602082840312156117ad57600080fd5b813567ffffffffffffffff8111156117c457600080fd5b8201601f810184136117d557600080fd5b610b698482356020840161155c565b6000602082840312156117f657600080fd5b5035919050565b6000806040838503121561181057600080fd5b50508035926020909101359150565b600081518084526118378160208601602086016119fa565b601f01601f19169290920160200192915050565b6000835161185d8184602088016119fa565b8351908301906118718183602088016119fa565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906118bd9083018461181f565b9695505050505050565b602081526000611609602083018461181f565b60208082526038908201527f545020536b696e20323032323a207472616e7366657220746f206e6f6e20455260408201527f43373231526563656976657220696d706c656d656e7465720000000000000000606082015260800190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526037908201527f545020536b696e20323032323a207472616e736665722063616c6c657220697360408201527f206e6f74206f776e6572206e6f7220617070726f766564000000000000000000606082015260800190565b600082198211156119ca576119ca611a8a565b500190565b6000826119de576119de611aa0565b500490565b6000828210156119f5576119f5611a8a565b500390565b60005b83811015611a155781810151838201526020016119fd565b83811115610a835750506000910152565b600181811c90821680611a3a57607f821691505b60208210811415610d4257634e487b7160e01b600052602260045260246000fd5b6000600019821415611a6f57611a6f611a8a565b5060010190565b600082611a8557611a85611aa0565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610a3057600080fdfea26469706673582212202deb498d19f9e11d9ccafa7d66424661af3f4c9b75a1507d5b1ae701409e705364736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a5450204247203230323200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4d657461205965617220536b696e000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c80634e71e0c8116100c3578063a22cb4651161007c578063a22cb465146102ff578063b88d4fde14610312578063c87b56dd14610325578063e985e9c514610338578063edb887a414610374578063f2fde38b1461037c57600080fd5b80634e71e0c8146102775780636352211e1461027f57806370a08231146102a85780638456db15146102d1578063931688cb146102e457806395d89b41146102f757600080fd5b80630fe0d572116101155780630fe0d5721461021b5780631249c58b1461022e57806316048bc41461023657806318160ddd1461024957806323b872dd1461025157806342842e0e1461026457600080fd5b8063012564531461015d57806301ffc9a71461019057806306fdde03146101b3578063081812fc146101c8578063095ea7b3146101f35780630d00929714610208575b600080fd5b61017d61016b3660046117e4565b600a6020526000908152604090205481565b6040519081526020015b60405180910390f35b6101a361019e366004611761565b61038f565b6040519015158152602001610187565b6101bb6103e1565b60405161018791906118c7565b6101db6101d63660046117e4565b610473565b6040516001600160a01b039091168152602001610187565b610206610201366004611737565b610513565b005b6102066102163660046115ee565b61062c565b6102066102293660046117fd565b6106b2565b61017d6106e7565b6007546101db906001600160a01b031681565b600c5461017d565b61020661025f366004611643565b610901565b610206610272366004611643565b610932565b61020661094d565b6101db61028d3660046117e4565b6000908152600360205260409020546001600160a01b031690565b61017d6102b63660046115ee565b6001600160a01b031660009081526004602052604090205490565b6008546101db906001600160a01b031681565b6102066102f236600461179b565b6109fd565b6101bb610a33565b61020661030d3660046116fb565b610a42565b61020661032036600461167f565b610a51565b6101bb6103333660046117e4565b610a89565b6101a3610346366004611610565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b600d5461017d565b61020661038a3660046115ee565b610b71565b60006001600160e01b031982166380ac58cd60e01b14806103c057506001600160e01b03198216635b5e139f60e01b145b806103db57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546103f090611a26565b80601f016020809104026020016040519081016040528092919081815260200182805461041c90611a26565b80156104695780601f1061043e57610100808354040283529160200191610469565b820191906000526020600020905b81548152906001019060200180831161044c57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b03166104f75760405162461bcd60e51b815260206004820152603260248201527f545020536b696e20323032323a20617070726f76656420717565727920666f72604482015271103737b732bc34b9ba32b73a103a37b5b2b760711b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000818152600360205260409020546001600160a01b0390811690831681141561058f5760405162461bcd60e51b815260206004820152602760248201527f545020536b696e20323032323a20617070726f76616c20746f2063757272656e6044820152663a1037bbb732b960c91b60648201526084016104ee565b336001600160a01b03821614806105ab57506105ab8133610346565b61061d5760405162461bcd60e51b815260206004820152603e60248201527f545020536b696e20323032323a20617070726f76652063616c6c65722069732060448201527f6e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016104ee565b6106278383610bf7565b505050565b600854600160a01b900460ff161561067c5760405162461bcd60e51b81526020600482015260136024820152721514905394d25517d253925512505312569151606a1b60448201526064016104ee565b6008805460ff60a01b1916600160a01b179055600780546001600160a01b039092166001600160a01b0319909216919091179055565b6007546001600160a01b031633146106dc5760405162461bcd60e51b81526004016104ee90611937565b600e91909155600f55565b6000600c54600d54106107485760405162461bcd60e51b8152602060048201526024808201527f545020536b696e20323032323a20426574746572206c75636b206e6578742074604482015263696d652160e01b60648201526084016104ee565b600e5442101561079a5760405162461bcd60e51b815260206004820152601a60248201527f545020536b696e20323032323a20436f6d696e6720736f6f6e2100000000000060448201526064016104ee565b600f5442106107e45760405162461bcd60e51b815260206004820152601660248201527515140814dada5b880c8c0c8c8e88199a5b9a5cda195960521b60448201526064016104ee565b336000908152600b602052604090205460ff16156108445760405162461bcd60e51b815260206004820152601c60248201527f545020536b696e20323032323a20616c7265616479206d696e7465640000000060448201526064016104ee565b600d546108529060016119b7565b9050600061085f82610c5e565b905061086b3383610d48565b6001600d600082825461087e91906119b7565b90915550506000828152600960209081526040808320849055838352600a90915281208054600192906108b29084906119b7565b9091555050336000818152600b6020526040808220805460ff19166001179055518392859290917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9190a45090565b61090b3382610d62565b6109275760405162461bcd60e51b81526004016104ee9061195a565b610627838383610e58565b61062783838360405180602001604052806000815250610a51565b6008546001600160a01b031633146109975760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b60448201526064016104ee565b6008546007546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360088054600780546001600160a01b03199081166001600160a01b03841617909155169055565b6007546001600160a01b03163314610a275760405162461bcd60e51b81526004016104ee90611937565b610a3081611005565b50565b6060600180546103f090611a26565b610a4d338383611018565b5050565b610a5b3383610d62565b610a775760405162461bcd60e51b81526004016104ee9061195a565b610a83848484846110e7565b50505050565b6000818152600360205260409020546060906001600160a01b0316610b065760405162461bcd60e51b815260206004820152602d60248201527f545020536b696e20323032323a2055524920717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b60648201526084016104ee565b6000610b1061111a565b600084815260096020526040902054815191925090610b3e5760405180602001604052806000815250610b69565b81610b4882611129565b604051602001610b5992919061184b565b6040516020818303038152906040525b949350505050565b6007546001600160a01b03163314610b9b5760405162461bcd60e51b81526004016104ee90611937565b6007546040516001600160a01b038084169216907fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6290600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600081815260056020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556003909352818420549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b604080514260208201526bffffffffffffffffffffffff193360601b169181019190915241316054820152607481018290524460948201524560b4820152600090819060649060d4016040516020818303038152906040528051906020012060001c610cca9190611a76565b610cd59060016119b7565b905060078111610ce85760019150610d42565b60118111610cf95760029150610d42565b601d8111610d0a5760039150610d42565b60298111610d1b5760049150610d42565b60378111610d2c5760059150610d42565b604b8111610d3d5760069150610d42565b600791505b50919050565b610a4d828260405180602001604052806000815250611227565b6000818152600360205260408120546001600160a01b0316610de15760405162461bcd60e51b815260206004820152603260248201527f545020536b696e20323032323a206f70657261746f7220717565727920666f72604482015271103737b732bc34b9ba32b73a103a37b5b2b760711b60648201526084016104ee565b6000828152600360205260409020546001600160a01b03908116908416811480610e245750836001600160a01b0316610e1984610473565b6001600160a01b0316145b80610b6957506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff16610b69565b6000818152600360205260409020546001600160a01b03848116911614610ed95760405162461bcd60e51b815260206004820152602f60248201527f545020536b696e20323032323a207472616e73666572206f6620746f6b656e2060448201526e3a3430ba1034b9903737ba1037bbb760891b60648201526084016104ee565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602a60248201527f545020536b696e20323032323a207472616e7366657220746f20746865207a65604482015269726f206164647265737360b01b60648201526084016104ee565b610f4d600082610bf7565b6001600160a01b0383166000908152600460205260408120805460019290610f769084906119e3565b90915550506001600160a01b0382166000908152600460205260408120805460019290610fa49084906119b7565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b8051610a4d9060029060208401906114c3565b816001600160a01b0316836001600160a01b0316141561107a5760405162461bcd60e51b815260206004820152601f60248201527f545020536b696e20323032323a20617070726f766520746f2063616c6c65720060448201526064016104ee565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6110f2848484610e58565b6110fe8484848461125a565b610a835760405162461bcd60e51b81526004016104ee906118da565b6060600280546103f090611a26565b60608161114d5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611177578061116181611a5b565b91506111709050600a836119cf565b9150611151565b60008167ffffffffffffffff81111561119257611192611acc565b6040519080825280601f01601f1916602001820160405280156111bc576020820181803683370190505b5090505b8415610b69576111d16001836119e3565b91506111de600a86611a76565b6111e99060306119b7565b60f81b8183815181106111fe576111fe611ab6565b60200101906001600160f81b031916908160001a905350611220600a866119cf565b94506111c0565b6112318383611367565b61123e600084848461125a565b6106275760405162461bcd60e51b81526004016104ee906118da565b60006001600160a01b0384163b1561135c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061129e90339089908890889060040161188a565b602060405180830381600087803b1580156112b857600080fd5b505af19250505080156112e8575060408051601f3d908101601f191682019092526112e59181019061177e565b60015b611342573d808015611316576040519150601f19603f3d011682016040523d82523d6000602084013e61131b565b606091505b50805161133a5760405162461bcd60e51b81526004016104ee906118da565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610b69565b506001949350505050565b6001600160a01b0382166113cc5760405162461bcd60e51b815260206004820152602660248201527f545020536b696e20323032323a206d696e7420746f20746865207a65726f206160448201526564647265737360d01b60648201526084016104ee565b6000818152600360205260409020546001600160a01b03161561143c5760405162461bcd60e51b815260206004820152602260248201527f545020536b696e20323032323a20746f6b656e20616c7265616479206d696e74604482015261195960f21b60648201526084016104ee565b6001600160a01b03821660009081526004602052604081208054600192906114659084906119b7565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546114cf90611a26565b90600052602060002090601f0160209004810192826114f15760008555611537565b82601f1061150a57805160ff1916838001178555611537565b82800160010185558215611537579182015b8281111561153757825182559160200191906001019061151c565b50611543929150611547565b5090565b5b808211156115435760008155600101611548565b600067ffffffffffffffff8084111561157757611577611acc565b604051601f8501601f19908116603f0116810190828211818310171561159f5761159f611acc565b816040528093508581528686860111156115b857600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146115e957600080fd5b919050565b60006020828403121561160057600080fd5b611609826115d2565b9392505050565b6000806040838503121561162357600080fd5b61162c836115d2565b915061163a602084016115d2565b90509250929050565b60008060006060848603121561165857600080fd5b611661846115d2565b925061166f602085016115d2565b9150604084013590509250925092565b6000806000806080858703121561169557600080fd5b61169e856115d2565b93506116ac602086016115d2565b925060408501359150606085013567ffffffffffffffff8111156116cf57600080fd5b8501601f810187136116e057600080fd5b6116ef8782356020840161155c565b91505092959194509250565b6000806040838503121561170e57600080fd5b611717836115d2565b91506020830135801515811461172c57600080fd5b809150509250929050565b6000806040838503121561174a57600080fd5b611753836115d2565b946020939093013593505050565b60006020828403121561177357600080fd5b813561160981611ae2565b60006020828403121561179057600080fd5b815161160981611ae2565b6000602082840312156117ad57600080fd5b813567ffffffffffffffff8111156117c457600080fd5b8201601f810184136117d557600080fd5b610b698482356020840161155c565b6000602082840312156117f657600080fd5b5035919050565b6000806040838503121561181057600080fd5b50508035926020909101359150565b600081518084526118378160208601602086016119fa565b601f01601f19169290920160200192915050565b6000835161185d8184602088016119fa565b8351908301906118718183602088016119fa565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906118bd9083018461181f565b9695505050505050565b602081526000611609602083018461181f565b60208082526038908201527f545020536b696e20323032323a207472616e7366657220746f206e6f6e20455260408201527f43373231526563656976657220696d706c656d656e7465720000000000000000606082015260800190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526037908201527f545020536b696e20323032323a207472616e736665722063616c6c657220697360408201527f206e6f74206f776e6572206e6f7220617070726f766564000000000000000000606082015260800190565b600082198211156119ca576119ca611a8a565b500190565b6000826119de576119de611aa0565b500490565b6000828210156119f5576119f5611a8a565b500390565b60005b83811015611a155781810151838201526020016119fd565b83811115610a835750506000910152565b600181811c90821680611a3a57607f821691505b60208210811415610d4257634e487b7160e01b600052602260045260246000fd5b6000600019821415611a6f57611a6f611a8a565b5060010190565b600082611a8557611a85611aa0565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610a3057600080fdfea26469706673582212202deb498d19f9e11d9ccafa7d66424661af3f4c9b75a1507d5b1ae701409e705364736f6c63430008070033

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a5450204247203230323200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4d657461205965617220536b696e000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): TP BG 2022
Arg [1] : symbol_ (string): Meta Year Skin

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 5450204247203230323200000000000000000000000000000000000000000000
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [5] : 4d657461205965617220536b696e000000000000000000000000000000000000


Deployed Bytecode Sourcemap

166:3178:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;14457:25:11;;;14445:2;14430:18;333:46:10;;;;;;;;1150:344:3;;;;;;:::i;:::-;;:::i;:::-;;;6628:14:11;;6621:22;6603:41;;6591:2;6576:18;1150:344:3;6463:187:11;1873:98:3;;;:::i;:::-;;;;;;;:::i;3073:301::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5926:32:11;;;5908:51;;5896:2;5881:18;3073:301:3;5762:203:11;2654:413:3;;;;;;:::i;:::-;;:::i;:::-;;709:124:8;;;;;;:::i;:::-;;:::i;840:132:10:-;;;;;;:::i;:::-;;:::i;1789:718::-;;;:::i;97:22:8:-;;;;;-1:-1:-1;;;;;97:22:8;;;1078:89:10;1148:12;;1078:89;;3779:370:3;;;;;;:::i;:::-;;:::i;4155:179::-;;;;;;:::i;:::-;;:::i;1005:223:8:-;;;:::i;1671:196:3:-;;;;;;:::i;:::-;1783:7;1822:16;;;:7;:16;;;;;;-1:-1:-1;;;;;1822:16:3;;1671:196;1500:165;;;;;;:::i;:::-;-1:-1:-1;;;;;1642:16:3;1612:7;1642:16;;;:9;:16;;;;;;;1500:165;125:26:8;;;;;-1:-1:-1;;;;;125:26:8;;;978:94:10;;;;;;:::i;:::-;;:::i;1977:102:3:-;;;:::i;3380:181::-;;;;;;:::i;:::-;;:::i;4340:360::-;;;;;;:::i;:::-;;:::i;1280:503:10:-;;;;;;:::i;:::-;;:::i;3567:206:3:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3731:25:3;;;3704:4;3731:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;3567:206;1173:101:10;1249:18;;1173:101;;839:160:8;;;;;;:::i;:::-;;:::i;1150:344:3:-;1292:4;-1:-1:-1;;;;;;1331:40:3;;-1:-1:-1;;;1331:40:3;;:104;;-1:-1:-1;;;;;;;1387:48:3;;-1:-1:-1;;;1387:48:3;1331:104;:156;;;-1:-1:-1;;;;;;;;;;244:40:2;;;1451:36:3;1312:175;1150:344;-1:-1:-1;;1150:344:3:o;1873:98::-;1927:13;1959:5;1952:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:98;:::o;3073:301::-;3189:7;5147:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5147:16:3;3212:113;;;;-1:-1:-1;;;3212:113:3;;10561:2:11;3212:113:3;;;10543:21:11;10600:2;10580:18;;;10573:30;10639:34;10619:18;;;10612:62;-1:-1:-1;;;10690:18:11;;;10683:48;10748:19;;3212:113:3;;;;;;;;;-1:-1:-1;3343:24:3;;;;:15;:24;;;;;;-1:-1:-1;;;;;3343:24:3;;3073:301::o;2654:413::-;2734:13;1822:16;;;:7;:16;;;;;;-1:-1:-1;;;;;1822:16:3;;;;2791:11;;;;;2783:63;;;;-1:-1:-1;;;2783:63:3;;8135:2:11;2783:63:3;;;8117:21:11;8174:2;8154:18;;;8147:30;8213:34;8193:18;;;8186:62;-1:-1:-1;;;8264:18:11;;;8257:37;8311:19;;2783:63:3;7933:403:11;2783:63:3;136:10:1;-1:-1:-1;;;;;2878:21:3;;;;:62;;-1:-1:-1;2903:37:3;2920:5;136:10:1;3567:206:3;:::i;2903:37::-;2857:171;;;;-1:-1:-1;;;2857:171:3;;9379:2:11;2857:171:3;;;9361:21:11;9418:2;9398:18;;;9391:30;9457:34;9437:18;;;9430:62;9528:32;9508:18;;;9501:60;9578:19;;2857:171:3;9177:426:11;2857:171:3;3039:21;3048:2;3052:7;3039:8;:21::i;:::-;2724:343;2654:413;;:::o;709:124:8:-;506:13;;-1:-1:-1;;;506:13:8;;;;505:14;497:46;;;;-1:-1:-1;;;497:46:8;;10213:2:11;497:46:8;;;10195:21:11;10252:2;10232:18;;;10225:30;-1:-1:-1;;;10271:18:11;;;10264:49;10330:18;;497:46:8;10011:343:11;497:46:8;778:13:::1;:20:::0;;-1:-1:-1;;;;778:20:8::1;-1:-1:-1::0;;;778:20:8::1;::::0;;808:7:::1;:18:::0;;-1:-1:-1;;;;;808:18:8;;::::1;-1:-1:-1::0;;;;;;808:18:8;;::::1;::::0;;;::::1;::::0;;709:124::o;840:132:10:-;620:7:8;;-1:-1:-1;;;;;620:7:8;606:10;:21;598:43;;;;-1:-1:-1;;;598:43:8;;;;;;;:::i;:::-;921:10:10::1;:19:::0;;;;950:8:::1;:15:::0;840:132::o;1789:718::-;1821:15;1890:12;;1869:18;;:33;1848:116;;;;-1:-1:-1;;;1848:116:10;;14108:2:11;1848:116:10;;;14090:21:11;14147:2;14127:18;;;14120:30;14186:34;14166:18;;;14159:62;-1:-1:-1;;;14237:18:11;;;14230:34;14281:19;;1848:116:10;13906:400:11;1848:116:10;2001:10;;1982:15;:29;;1974:68;;;;-1:-1:-1;;;1974:68:10;;7423:2:11;1974:68:10;;;7405:21:11;7462:2;7442:18;;;7435:30;7501:28;7481:18;;;7474:56;7547:18;;1974:68:10;7221:350:11;1974:68:10;2078:8;;2060:15;:26;2052:61;;;;-1:-1:-1;;;2052:61:10;;10980:2:11;2052:61:10;;;10962:21:11;11019:2;10999:18;;;10992:30;-1:-1:-1;;;11038:18:11;;;11031:52;11100:18;;2052:61:10;10778:346:11;2052:61:10;2140:10;2132:19;;;;:7;:19;;;;;;;;2131:20;2123:61;;;;-1:-1:-1;;;2123:61:10;;7778:2:11;2123:61:10;;;7760:21:11;7817:2;7797:18;;;7790:30;7856;7836:18;;;7829:58;7904:18;;2123:61:10;7576:352:11;2123:61:10;2204:18;;:22;;2225:1;2204:22;:::i;:::-;2194:32;;2236:13;2252:20;2264:7;2252:11;:20::i;:::-;2236:36;;2282:30;2292:10;2304:7;2282:9;:30::i;:::-;2344:1;2322:18;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;2355:21:10;;;;:12;:21;;;;;;;;:29;;;2394:18;;;:11;:18;;;;;:23;;2416:1;;2355:21;2394:23;;2416:1;;2394:23;:::i;:::-;;;;-1:-1:-1;;2435:10:10;2427:19;;;;:7;:19;;;;;;:26;;-1:-1:-1;;2427:26:10;2449:4;2427:26;;;2468:32;2494:5;;2485:7;;2435:10;;2468:32;;2427:19;2468:32;1838:669;1789:718;:::o;3779:370:3:-;3981:41;136:10:1;4014:7:3;3981:18;:41::i;:::-;3960:143;;;;-1:-1:-1;;;3960:143:3;;;;;;;:::i;:::-;4114:28;4124:4;4130:2;4134:7;4114:9;:28::i;4155:179::-;4288:39;4305:4;4311:2;4315:7;4288:39;;;;;;;;;;;;:16;:39::i;1005:223:8:-;1070:11;;-1:-1:-1;;;;;1070:11:8;1056:10;:25;1048:51;;;;-1:-1:-1;;;1048:51:8;;7081:2:11;1048:51:8;;;7063:21:11;7120:2;7100:18;;;7093:30;-1:-1:-1;;;7139:18:11;;;7132:43;7192:18;;1048:51:8;6879:337:11;1048:51:8;1144:11;;1135:7;;1114:42;;-1:-1:-1;;;;;1144:11:8;;;;1135:7;;;;1114:42;;1144:11;;1114:42;1176:11;;;1166:7;:21;;-1:-1:-1;;;;;;1166:21:8;;;-1:-1:-1;;;;;1176:11:8;;1166:21;;;;1197:24;;;1005:223::o;978:94:10:-;620:7:8;;-1:-1:-1;;;;;620:7:8;606:10;:21;598:43;;;;-1:-1:-1;;;598:43:8;;;;;;;:::i;:::-;1048:17:10::1;1060:4;1048:11;:17::i;:::-;978:94:::0;:::o;1977:102:3:-;2033:13;2065:7;2058:14;;;;;:::i;3380:181::-;3502:52;136:10:1;3535:8:3;3545;3502:18;:52::i;:::-;3380:181;;:::o;4340:360::-;4522:41;136:10:1;4555:7:3;4522:18;:41::i;:::-;4501:143;;;;-1:-1:-1;;;4501:143:3;;;;;;;:::i;:::-;4654:39;4668:4;4674:2;4678:7;4687:5;4654:13;:39::i;:::-;4340:360;;;;:::o;1280:503:10:-;5124:4:3;5147:16;;;:7;:16;;;;;;1393:13:10;;-1:-1:-1;;;;;5147:16:3;1422:108:10;;;;-1:-1:-1;;;1422:108:10;;11691:2:11;1422:108:10;;;11673:21:11;11730:2;11710:18;;;11703:30;11769:34;11749:18;;;11742:62;-1:-1:-1;;;11820:18:11;;;11813:43;11873:19;;1422:108:10;11489:409:11;1422:108:10;1541:21;1565:10;:8;:10::i;:::-;1585:13;1601:21;;;:12;:21;;;;;;1651;;1541:34;;-1:-1:-1;1601:21:10;1651:125;;;;;;;;;;;;;;;;;1719:7;1728:16;:5;:14;:16::i;:::-;1702:52;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1651:125;1632:144;1280:503;-1:-1:-1;;;;1280:503:10:o;839:160:8:-;620:7;;-1:-1:-1;;;;;620:7:8;606:10;:21;598:43;;;;-1:-1:-1;;;598:43:8;;;;;;;:::i;:::-;942:7:::1;::::0;916:44:::1;::::0;-1:-1:-1;;;;;916:44:8;;::::1;::::0;942:7:::1;::::0;916:44:::1;::::0;942:7:::1;::::0;916:44:::1;970:11;:22:::0;;-1:-1:-1;;;;;;970:22:8::1;-1:-1:-1::0;;;;;970:22:8;;;::::1;::::0;;;::::1;::::0;;839:160::o;7433:171:3:-;7507:24;;;;:15;:24;;;;;;;;:29;;-1:-1:-1;;;;;;7507:29:3;-1:-1:-1;;;;;7507:29:3;;;;;;;;;1822:7;:16;;;;;;;7551:46;;7507:24;;1822:16;;;;;7551:46;;;7433:171;;:::o;2513:829:10:-;2660:250;;;2698:15;2660:250;;;5469:19:11;-1:-1:-1;;2735:10:10;5526:2:11;5522:15;5518:53;5504:12;;;5497:75;;;;2767:14:10;:22;5588:12:11;;;5581:28;5625:12;;;5618:28;;;2840:16:10;5662:13:11;;;5655:29;2878:14:10;5700:13:11;;;5693:29;2569:13:10;;;;2937:3;;5738:13:11;;2660:250:10;;;;;;;;;;;;2633:291;;;;;;2612:322;;:328;;;;:::i;:::-;2611:334;;2944:1;2611:334;:::i;:::-;2594:351;;2969:1;2959:6;:11;2955:381;;2994:1;2986:9;;2955:381;;;3026:2;3016:6;:12;3012:324;;3052:1;3044:9;;3012:324;;;3084:2;3074:6;:12;3070:266;;3110:1;3102:9;;3070:266;;;3142:2;3132:6;:12;3128:208;;3168:1;3160:9;;3128:208;;;3200:2;3190:6;:12;3186:150;;3226:1;3218:9;;3186:150;;;3258:2;3248:6;:12;3244:92;;3284:1;3276:9;;3244:92;;;3324:1;3316:9;;3244:92;2584:758;2513:829;;;:::o;5640:108:3:-;5715:26;5725:2;5729:7;5715:26;;;;;;;;;;;;:9;:26::i;5190:444::-;5315:4;5147:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5147:16:3;5335:113;;;;-1:-1:-1;;;5335:113:3;;12928:2:11;5335:113:3;;;12910:21:11;12967:2;12947:18;;;12940:30;13006:34;12986:18;;;12979:62;-1:-1:-1;;;13057:18:11;;;13050:48;13115:19;;5335:113:3;12726:414:11;5335:113:3;5458:13;1822:16;;;:7;:16;;;;;;-1:-1:-1;;;;;1822:16:3;;;;5515;;;;;:63;;;5571:7;-1:-1:-1;;;;;5547:31:3;:20;5559:7;5547:11;:20::i;:::-;-1:-1:-1;;;;;5547:31:3;;5515:63;:111;;;-1:-1:-1;;;;;;3731:25:3;;;3704:4;3731:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;5594:32;3567:206;6821:606;1783:7;1822:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6961:31:3;;;1822:16;;6961:31;6940:125;;;;-1:-1:-1;;;6940:125:3;;12105:2:11;6940:125:3;;;12087:21:11;12144:2;12124:18;;;12117:30;12183:34;12163:18;;;12156:62;-1:-1:-1;;;12234:18:11;;;12227:45;12289:19;;6940:125:3;11903:411:11;6940:125:3;-1:-1:-1;;;;;7083:16:3;;7075:71;;;;-1:-1:-1;;;7075:71:3;;8543:2:11;7075:71:3;;;8525:21:11;8582:2;8562:18;;;8555:30;8621:34;8601:18;;;8594:62;-1:-1:-1;;;8672:18:11;;;8665:40;8722:19;;7075:71:3;8341:406:11;7075:71:3;7258:29;7275:1;7279:7;7258:8;:29::i;:::-;-1:-1:-1;;;;;7298:15:3;;;;;;:9;:15;;;;;:20;;7317:1;;7298:15;:20;;7317:1;;7298:20;:::i;:::-;;;;-1:-1:-1;;;;;;;7328:13:3;;;;;;:9;:13;;;;;:18;;7345:1;;7328:13;:18;;7345:1;;7328:18;:::i;:::-;;;;-1:-1:-1;;7356:16:3;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;7356:21:3;-1:-1:-1;;;;;7356:21:3;;;;;;;;;7393:27;;7356:16;;7393:27;;;;;;;6821:606;;;:::o;1063:81::-;1122:15;;;;:9;;:15;;;;;:::i;7610:313::-;7760:8;-1:-1:-1;;;;;7751:17:3;:5;-1:-1:-1;;;;;7751:17:3;;;7743:61;;;;-1:-1:-1;;;7743:61:3;;11331:2:11;7743:61:3;;;11313:21:11;11370:2;11350:18;;;11343:30;11409:33;11389:18;;;11382:61;11460:18;;7743:61:3;11129:355:11;7743:61:3;-1:-1:-1;;;;;7814:25:3;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;7814:46:3;;;;;;;;;;7875:41;;6603::11;;;7875::3;;6576:18:11;7875:41:3;;;;;;;7610:313;;;:::o;4706:347::-;4857:28;4867:4;4873:2;4877:7;4857:9;:28::i;:::-;4916:48;4939:4;4945:2;4949:7;4958:5;4916:22;:48::i;:::-;4895:151;;;;-1:-1:-1;;;4895:151:3;;;;;;;:::i;2549:99::-;2600:13;2632:9;2625:16;;;;;:::i;112:515:9:-;168:13;197:10;193:51;;-1:-1:-1;;223:10:9;;;;;;;;;;;;-1:-1:-1;;;223:10:9;;;;;112:515::o;193:51::-;268:5;253:12;307:75;314:9;;307:75;;339:8;;;;:::i;:::-;;-1:-1:-1;361:10:9;;-1:-1:-1;369:2:9;361:10;;:::i;:::-;;;307:75;;;391:19;423:6;413:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;413:17:9;;391:39;;440:150;447:10;;440:150;;473:11;483:1;473:11;;:::i;:::-;;-1:-1:-1;541:10:9;549:2;541:5;:10;:::i;:::-;528:24;;:2;:24;:::i;:::-;515:39;;498:6;505;498:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;498:56:9;;;;;;;;-1:-1:-1;568:11:9;577:2;568:11;;:::i;:::-;;;440:150;;5754:317:3;5879:18;5885:2;5889:7;5879:5;:18::i;:::-;5928:54;5959:1;5963:2;5967:7;5976:5;5928:22;:54::i;:::-;5907:157;;;;-1:-1:-1;;;5907:157:3;;;;;;;:::i;7929:956::-;8079:4;-1:-1:-1;;;;;8099:13:3;;177:20:0;223:8;8095:784:3;;8150:170;;-1:-1:-1;;;8150:170:3;;-1:-1:-1;;;;;8150:36:3;;;;;:170;;136:10:1;;8242:4:3;;8268:7;;8297:5;;8150:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8150:170:3;;;;;;;;-1:-1:-1;;8150:170:3;;;;;;;;;;;;:::i;:::-;;;8130:697;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8499:13:3;;8495:318;;8541:112;;-1:-1:-1;;;8541:112:3;;;;;;;:::i;8495:318::-;8765:6;8759:13;8750:6;8746:2;8742:15;8735:38;8130:697;-1:-1:-1;;;;;;8382:51:3;-1:-1:-1;;;8382:51:3;;-1:-1:-1;8375:58:3;;8095:784;-1:-1:-1;8864:4:3;7929:956;;;;;;:::o;6077:384::-;-1:-1:-1;;;;;6156:16:3;;6148:67;;;;-1:-1:-1;;;6148:67:3;;12521:2:11;6148:67:3;;;12503:21:11;12560:2;12540:18;;;12533:30;12599:34;12579:18;;;12572:62;-1:-1:-1;;;12650:18:11;;;12643:36;12696:19;;6148:67:3;12319:402:11;6148:67:3;5124:4;5147:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5147:16:3;:30;6225:64;;;;-1:-1:-1;;;6225:64:3;;9810:2:11;6225:64:3;;;9792:21:11;9849:2;9829:18;;;9822:30;9888:34;9868:18;;;9861:62;-1:-1:-1;;;9939:18:11;;;9932:32;9981:19;;6225:64:3;9608:398:11;6225:64:3;-1:-1:-1;;;;;6356:13:3;;;;;;:9;:13;;;;;:18;;6373:1;;6356:13;:18;;6373:1;;6356:18;:::i;:::-;;;;-1:-1:-1;;6384:16:3;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;6384:21:3;-1:-1:-1;;;;;6384:21:3;;;;;;;;6421:33;;6384:16;;;6421:33;;6384:16;;6421:33;6077:384;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:631:11;78:5;108:18;149:2;141:6;138:14;135:40;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:11;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:72;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:45;;;532:1;529;522:12;491:45;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;14:631;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:11;;757:42;;747:70;;813:1;810;803:12;747:70;650:173;;;:::o;828:186::-;887:6;940:2;928:9;919:7;915:23;911:32;908:52;;;956:1;953;946:12;908:52;979:29;998:9;979:29;:::i;:::-;969:39;828:186;-1:-1:-1;;;828:186:11:o;1019:260::-;1087:6;1095;1148:2;1136:9;1127:7;1123:23;1119:32;1116:52;;;1164:1;1161;1154:12;1116:52;1187:29;1206:9;1187:29;:::i;:::-;1177:39;;1235:38;1269:2;1258:9;1254:18;1235:38;:::i;:::-;1225:48;;1019:260;;;;;:::o;1284:328::-;1361:6;1369;1377;1430:2;1418:9;1409:7;1405:23;1401:32;1398:52;;;1446:1;1443;1436:12;1398:52;1469:29;1488:9;1469:29;:::i;:::-;1459:39;;1517:38;1551:2;1540:9;1536:18;1517:38;:::i;:::-;1507:48;;1602:2;1591:9;1587:18;1574:32;1564:42;;1284:328;;;;;:::o;1617:666::-;1712:6;1720;1728;1736;1789:3;1777:9;1768:7;1764:23;1760:33;1757:53;;;1806:1;1803;1796:12;1757:53;1829:29;1848:9;1829:29;:::i;:::-;1819:39;;1877:38;1911:2;1900:9;1896:18;1877:38;:::i;:::-;1867:48;;1962:2;1951:9;1947:18;1934:32;1924:42;;2017:2;2006:9;2002:18;1989:32;2044:18;2036:6;2033:30;2030:50;;;2076:1;2073;2066:12;2030:50;2099:22;;2152:4;2144:13;;2140:27;-1:-1:-1;2130:55:11;;2181:1;2178;2171:12;2130:55;2204:73;2269:7;2264:2;2251:16;2246:2;2242;2238:11;2204:73;:::i;:::-;2194:83;;;1617:666;;;;;;;:::o;2288:347::-;2353:6;2361;2414:2;2402:9;2393:7;2389:23;2385:32;2382:52;;;2430:1;2427;2420:12;2382:52;2453:29;2472:9;2453:29;:::i;:::-;2443:39;;2532:2;2521:9;2517:18;2504:32;2579:5;2572:13;2565:21;2558:5;2555:32;2545:60;;2601:1;2598;2591:12;2545:60;2624:5;2614:15;;;2288:347;;;;;:::o;2640:254::-;2708:6;2716;2769:2;2757:9;2748:7;2744:23;2740:32;2737:52;;;2785:1;2782;2775:12;2737:52;2808:29;2827:9;2808:29;:::i;:::-;2798:39;2884:2;2869:18;;;;2856:32;;-1:-1:-1;;;2640:254:11:o;2899:245::-;2957:6;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3065:9;3052:23;3084:30;3108:5;3084:30;:::i;3149:249::-;3218:6;3271:2;3259:9;3250:7;3246:23;3242:32;3239:52;;;3287:1;3284;3277:12;3239:52;3319:9;3313:16;3338:30;3362:5;3338:30;:::i;3403:450::-;3472:6;3525:2;3513:9;3504:7;3500:23;3496:32;3493:52;;;3541:1;3538;3531:12;3493:52;3581:9;3568:23;3614:18;3606:6;3603:30;3600:50;;;3646:1;3643;3636:12;3600:50;3669:22;;3722:4;3714:13;;3710:27;-1:-1:-1;3700:55:11;;3751:1;3748;3741:12;3700:55;3774:73;3839:7;3834:2;3821:16;3816:2;3812;3808:11;3774:73;:::i;3858:180::-;3917:6;3970:2;3958:9;3949:7;3945:23;3941:32;3938:52;;;3986:1;3983;3976:12;3938:52;-1:-1:-1;4009:23:11;;3858:180;-1:-1:-1;3858:180:11:o;4043:248::-;4111:6;4119;4172:2;4160:9;4151:7;4147:23;4143:32;4140:52;;;4188:1;4185;4178:12;4140:52;-1:-1:-1;;4211:23:11;;;4281:2;4266:18;;;4253:32;;-1:-1:-1;4043:248:11:o;4296:257::-;4337:3;4375:5;4369:12;4402:6;4397:3;4390:19;4418:63;4474:6;4467:4;4462:3;4458:14;4451:4;4444:5;4440:16;4418:63;:::i;:::-;4535:2;4514:15;-1:-1:-1;;4510:29:11;4501:39;;;;4542:4;4497:50;;4296:257;-1:-1:-1;;4296:257:11:o;4558:637::-;4838:3;4876:6;4870:13;4892:53;4938:6;4933:3;4926:4;4918:6;4914:17;4892:53;:::i;:::-;5008:13;;4967:16;;;;5030:57;5008:13;4967:16;5064:4;5052:17;;5030:57;:::i;:::-;-1:-1:-1;;;5109:20:11;;5138:22;;;5187:1;5176:13;;4558:637;-1:-1:-1;;;;4558:637:11:o;5970:488::-;-1:-1:-1;;;;;6239:15:11;;;6221:34;;6291:15;;6286:2;6271:18;;6264:43;6338:2;6323:18;;6316:34;;;6386:3;6381:2;6366:18;;6359:31;;;6164:4;;6407:45;;6432:19;;6424:6;6407:45;:::i;:::-;6399:53;5970:488;-1:-1:-1;;;;;;5970:488:11:o;6655:219::-;6804:2;6793:9;6786:21;6767:4;6824:44;6864:2;6853:9;6849:18;6841:6;6824:44;:::i;8752:420::-;8954:2;8936:21;;;8993:2;8973:18;;;8966:30;9032:34;9027:2;9012:18;;9005:62;9103:26;9098:2;9083:18;;9076:54;9162:3;9147:19;;8752:420::o;13145:332::-;13347:2;13329:21;;;13386:1;13366:18;;;13359:29;-1:-1:-1;;;13419:2:11;13404:18;;13397:39;13468:2;13453:18;;13145:332::o;13482:419::-;13684:2;13666:21;;;13723:2;13703:18;;;13696:30;13762:34;13757:2;13742:18;;13735:62;13833:25;13828:2;13813:18;;13806:53;13891:3;13876:19;;13482:419::o;14493:128::-;14533:3;14564:1;14560:6;14557:1;14554:13;14551:39;;;14570:18;;:::i;:::-;-1:-1:-1;14606:9:11;;14493:128::o;14626:120::-;14666:1;14692;14682:35;;14697:18;;:::i;:::-;-1:-1:-1;14731:9:11;;14626:120::o;14751:125::-;14791:4;14819:1;14816;14813:8;14810:34;;;14824:18;;:::i;:::-;-1:-1:-1;14861:9:11;;14751:125::o;14881:258::-;14953:1;14963:113;14977:6;14974:1;14971:13;14963:113;;;15053:11;;;15047:18;15034:11;;;15027:39;14999:2;14992:10;14963:113;;;15094:6;15091:1;15088:13;15085:48;;;-1:-1:-1;;15129:1:11;15111:16;;15104:27;14881:258::o;15144:380::-;15223:1;15219:12;;;;15266;;;15287:61;;15341:4;15333:6;15329:17;15319:27;;15287:61;15394:2;15386:6;15383:14;15363:18;15360:38;15357:161;;;15440:10;15435:3;15431:20;15428:1;15421:31;15475:4;15472:1;15465:15;15503:4;15500:1;15493:15;15529:135;15568:3;-1:-1:-1;;15589:17:11;;15586:43;;;15609:18;;:::i;:::-;-1:-1:-1;15656:1:11;15645:13;;15529:135::o;15669:112::-;15701:1;15727;15717:35;;15732:18;;:::i;:::-;-1:-1:-1;15766:9:11;;15669:112::o;15786:127::-;15847:10;15842:3;15838:20;15835:1;15828:31;15878:4;15875:1;15868:15;15902:4;15899:1;15892:15;15918:127;15979:10;15974:3;15970:20;15967:1;15960:31;16010:4;16007:1;16000:15;16034:4;16031:1;16024:15;16050:127;16111:10;16106:3;16102:20;16099:1;16092:31;16142:4;16139:1;16132:15;16166:4;16163:1;16156:15;16182:127;16243:10;16238:3;16234:20;16231:1;16224:31;16274:4;16271:1;16264:15;16298:4;16295:1;16288:15;16314:131;-1:-1:-1;;;;;;16388:32:11;;16378:43;;16368:71;;16435:1;16432;16425:12

Swarm Source

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