ETH Price: $3,430.49 (+3.31%)

Token

Smiley (SMILEY)
 

Overview

Max Total Supply

420,690,000,000,000,000 SMILEY

Holders

5,840

Market

Price

$0.00 @ 0.000000 ETH (+4.45%)

Onchain Market Cap

$1,394,080.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 SMILEY

Value
$0.00
0x785ff2d53fb7c22d737632c149b1239a4304ffa0
Loading...
Loading
Loading...
Loading
Loading...
Loading

Market

Volume (24H):$2,046,456.59
Market Capitalization:$0.00
Circulating Supply:0.00 SMILEY
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SMILEY

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-03
*/

// ░██████╗░█████╗░███████╗██╗░░░██╗  ██████╗░██╗░░░██╗
// ██╔════╝██╔══██╗██╔════╝██║░░░██║  ██╔══██╗╚██╗░██╔╝
// ╚█████╗░███████║█████╗░░██║░░░██║  ██████╦╝░╚████╔╝░
// ░╚═══██╗██╔══██║██╔══╝░░██║░░░██║  ██╔══██╗░░╚██╔╝░░
// ██████╔╝██║░░██║██║░░░░░╚██████╔╝  ██████╦╝░░░██║░░░
// ╚═════╝░╚═╝░░╚═╝╚═╝░░░░░░╚═════╝░  ╚═════╝░░░░╚═╝░░░

// ░█████╗░░█████╗░██╗███╗░░██╗░██████╗██╗░░░██╗██╗░░░░░████████╗░░░███╗░░██╗███████╗████████╗
// ██╔══██╗██╔══██╗██║████╗░██║██╔════╝██║░░░██║██║░░░░░╚══██╔══╝░░░████╗░██║██╔════╝╚══██╔══╝
// ██║░░╚═╝██║░░██║██║██╔██╗██║╚█████╗░██║░░░██║██║░░░░░░░░██║░░░░░░██╔██╗██║█████╗░░░░░██║░░░
// ██║░░██╗██║░░██║██║██║╚████║░╚═══██╗██║░░░██║██║░░░░░░░░██║░░░░░░██║╚████║██╔══╝░░░░░██║░░░
// ╚█████╔╝╚█████╔╝██║██║░╚███║██████╔╝╚██████╔╝███████╗░░░██║░░░██╗██║░╚███║███████╗░░░██║░░░
// ░╚════╝░░╚════╝░╚═╝╚═╝░░╚══╝╚═════╝░░╚═════╝░╚══════╝░░░╚═╝░░░╚═╝╚═╝░░╚══╝╚══════╝░░░╚═╝░░░

// Get your SAFU contract now via Coinsult.net

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
   
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract SMILEY is ERC20, Ownable {
    mapping (address => bool) private _isExcludedFromEnableTrading;

    constructor () ERC20("Smiley", "SMILEY") 
    {   
        _isExcludedFromEnableTrading[address(0xDc33294116bad8a9672feAa60E9C6Ee396D99caC)] = true;

        _mint(address(0xDc33294116bad8a9672feAa60E9C6Ee396D99caC), 420_690_000_000_000_000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded) external onlyOwner{
        require(_isExcludedFromEnableTrading[account] != excluded,"Account is already the value of 'excluded'");
        _isExcludedFromEnableTrading[account] = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrading[account];
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
        renounceOwnership();
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrading[from] || _isExcludedFromEnableTrading[to], "Trading not yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromEnableTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405180604001604052806006815260200165536d696c657960d01b81525060405180604001604052806006815260200165534d494c455960d01b8152508160039081620000619190620002ee565b506004620000708282620002ee565b5050506000620000856200015960201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35073dc33294116bad8a9672feaa60e9c6ee396d99cac600081905260066020527f99f3b09e5a2991c6194db64358c4a9347fb9fee6a37d178f16e8417f46f94f83805460ff1916600117905562000153906200012c600990565b6200013990600a620004cf565b6200014d906705d697537a8f2000620004e7565b6200015d565b62000517565b3390565b6001600160a01b038216620001b85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001cc919062000501565b90915550506001600160a01b03821660009081526020819052604081208054839290620001fb90849062000501565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200027557607f821691505b6020821081036200029657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024557600081815260208120601f850160051c81016020861015620002c55750805b601f850160051c820191505b81811015620002e657828155600101620002d1565b505050505050565b81516001600160401b038111156200030a576200030a6200024a565b62000322816200031b845462000260565b846200029c565b602080601f8311600181146200035a5760008415620003415750858301515b600019600386901b1c1916600185901b178555620002e6565b600085815260208120601f198616915b828110156200038b578886015182559484019460019091019084016200036a565b5085821015620003aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000411578160001904821115620003f557620003f5620003ba565b808516156200040357918102915b93841c9390800290620003d5565b509250929050565b6000826200042a57506001620004c9565b816200043957506000620004c9565b81600181146200045257600281146200045d576200047d565b6001915050620004c9565b60ff841115620004715762000471620003ba565b50506001821b620004c9565b5060208310610133831016604e8410600b8410161715620004a2575081810a620004c9565b620004ae8383620003d0565b8060001904821115620004c557620004c5620003ba565b0290505b92915050565b6000620004e060ff84168362000419565b9392505050565b8082028115828204841417620004c957620004c9620003ba565b80820180821115620004c957620004c9620003ba565b610eee80620005276000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ec578063a457c2d714610301578063a9059cbb14610321578063dd62ed3e14610341578063f2fde38b1461038757600080fd5b8063715018a61461026157806375d5e02c146102765780638a8c523c146102af5780638da5cb5b146102c457600080fd5b8063313ce567116100dc578063313ce567146101b357806339509351146101cf578063484d993f146101ef5780634ada218b1461021157806370a082311461022b57600080fd5b806306fdde0314610119578063095ea7b31461014457806318160ddd1461017457806323b872dd1461019357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012e6103a7565b60405161013b9190610c3f565b60405180910390f35b34801561015057600080fd5b5061016461015f366004610ca9565b610439565b604051901515815260200161013b565b34801561018057600080fd5b506002545b60405190815260200161013b565b34801561019f57600080fd5b506101646101ae366004610cd3565b610450565b3480156101bf57600080fd5b506040516009815260200161013b565b3480156101db57600080fd5b506101646101ea366004610ca9565b610506565b3480156101fb57600080fd5b5061020f61020a366004610d0f565b610542565b005b34801561021d57600080fd5b506007546101649060ff1681565b34801561023757600080fd5b50610185610246366004610d4b565b6001600160a01b031660009081526020819052604090205490565b34801561026d57600080fd5b5061020f61061a565b34801561028257600080fd5b50610164610291366004610d4b565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156102bb57600080fd5b5061020f61068e565b3480156102d057600080fd5b506005546040516001600160a01b03909116815260200161013b565b3480156102f857600080fd5b5061012e610722565b34801561030d57600080fd5b5061016461031c366004610ca9565b610731565b34801561032d57600080fd5b5061016461033c366004610ca9565b6107ca565b34801561034d57600080fd5b5061018561035c366004610d6d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561039357600080fd5b5061020f6103a2366004610d4b565b6107d7565b6060600380546103b690610da0565b80601f01602080910402602001604051908101604052809291908181526020018280546103e290610da0565b801561042f5780601f106104045761010080835404028352916020019161042f565b820191906000526020600020905b81548152906001019060200180831161041257829003601f168201915b5050505050905090565b60006104463384846108c2565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104f057828110156104e35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104f085338584036108c2565b6104fb8585856109e6565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161044691859061053d908690610dda565b6108c2565b6005546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104da90610dfb565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036105ef5760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016104da565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106445760405162461bcd60e51b81526004016104da90610dfb565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106b85760405162461bcd60e51b81526004016104da90610dfb565b60075460ff161561070b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016104da565b6007805460ff1916600117905561072061061a565b565b6060600480546103b690610da0565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107b35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104da565b6107c033858584036108c2565b5060019392505050565b60006104463384846109e6565b6005546001600160a01b031633146108015760405162461bcd60e51b81526004016104da90610dfb565b6001600160a01b0381166108665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b0382166109855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0c5760405162461bcd60e51b81526004016104da90610e30565b6001600160a01b038216610a325760405162461bcd60e51b81526004016104da90610e75565b60075460ff1680610a5b57506001600160a01b03831660009081526006602052604090205460ff165b80610a7e57506001600160a01b03821660009081526006602052604090205460ff165b610aca5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016104da565b80600003610ae357610ade83836000610aea565b505050565b610ade8383835b6001600160a01b038316610b105760405162461bcd60e51b81526004016104da90610e30565b6001600160a01b038216610b365760405162461bcd60e51b81526004016104da90610e75565b6001600160a01b03831660009081526020819052604090205481811015610bae5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104da565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610be5908490610dda565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3191815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c6c57858101830151858201604001528201610c50565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ca457600080fd5b919050565b60008060408385031215610cbc57600080fd5b610cc583610c8d565b946020939093013593505050565b600080600060608486031215610ce857600080fd5b610cf184610c8d565b9250610cff60208501610c8d565b9150604084013590509250925092565b60008060408385031215610d2257600080fd5b610d2b83610c8d565b915060208301358015158114610d4057600080fd5b809150509250929050565b600060208284031215610d5d57600080fd5b610d6682610c8d565b9392505050565b60008060408385031215610d8057600080fd5b610d8983610c8d565b9150610d9760208401610c8d565b90509250929050565b600181811c90821680610db457607f821691505b602082108103610dd457634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561044a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea264697066735822122004890761fbdabbd550847647c345600a31b7cdbb4c0d86f0f035c962a9b3738564736f6c63430008110033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ec578063a457c2d714610301578063a9059cbb14610321578063dd62ed3e14610341578063f2fde38b1461038757600080fd5b8063715018a61461026157806375d5e02c146102765780638a8c523c146102af5780638da5cb5b146102c457600080fd5b8063313ce567116100dc578063313ce567146101b357806339509351146101cf578063484d993f146101ef5780634ada218b1461021157806370a082311461022b57600080fd5b806306fdde0314610119578063095ea7b31461014457806318160ddd1461017457806323b872dd1461019357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012e6103a7565b60405161013b9190610c3f565b60405180910390f35b34801561015057600080fd5b5061016461015f366004610ca9565b610439565b604051901515815260200161013b565b34801561018057600080fd5b506002545b60405190815260200161013b565b34801561019f57600080fd5b506101646101ae366004610cd3565b610450565b3480156101bf57600080fd5b506040516009815260200161013b565b3480156101db57600080fd5b506101646101ea366004610ca9565b610506565b3480156101fb57600080fd5b5061020f61020a366004610d0f565b610542565b005b34801561021d57600080fd5b506007546101649060ff1681565b34801561023757600080fd5b50610185610246366004610d4b565b6001600160a01b031660009081526020819052604090205490565b34801561026d57600080fd5b5061020f61061a565b34801561028257600080fd5b50610164610291366004610d4b565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156102bb57600080fd5b5061020f61068e565b3480156102d057600080fd5b506005546040516001600160a01b03909116815260200161013b565b3480156102f857600080fd5b5061012e610722565b34801561030d57600080fd5b5061016461031c366004610ca9565b610731565b34801561032d57600080fd5b5061016461033c366004610ca9565b6107ca565b34801561034d57600080fd5b5061018561035c366004610d6d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561039357600080fd5b5061020f6103a2366004610d4b565b6107d7565b6060600380546103b690610da0565b80601f01602080910402602001604051908101604052809291908181526020018280546103e290610da0565b801561042f5780601f106104045761010080835404028352916020019161042f565b820191906000526020600020905b81548152906001019060200180831161041257829003601f168201915b5050505050905090565b60006104463384846108c2565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104f057828110156104e35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104f085338584036108c2565b6104fb8585856109e6565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161044691859061053d908690610dda565b6108c2565b6005546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104da90610dfb565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036105ef5760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016104da565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106445760405162461bcd60e51b81526004016104da90610dfb565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106b85760405162461bcd60e51b81526004016104da90610dfb565b60075460ff161561070b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016104da565b6007805460ff1916600117905561072061061a565b565b6060600480546103b690610da0565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107b35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104da565b6107c033858584036108c2565b5060019392505050565b60006104463384846109e6565b6005546001600160a01b031633146108015760405162461bcd60e51b81526004016104da90610dfb565b6001600160a01b0381166108665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109245760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b0382166109855760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0c5760405162461bcd60e51b81526004016104da90610e30565b6001600160a01b038216610a325760405162461bcd60e51b81526004016104da90610e75565b60075460ff1680610a5b57506001600160a01b03831660009081526006602052604090205460ff165b80610a7e57506001600160a01b03821660009081526006602052604090205460ff165b610aca5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016104da565b80600003610ae357610ade83836000610aea565b505050565b610ade8383835b6001600160a01b038316610b105760405162461bcd60e51b81526004016104da90610e30565b6001600160a01b038216610b365760405162461bcd60e51b81526004016104da90610e75565b6001600160a01b03831660009081526020819052604090205481811015610bae5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104da565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610be5908490610dda565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3191815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c6c57858101830151858201604001528201610c50565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ca457600080fd5b919050565b60008060408385031215610cbc57600080fd5b610cc583610c8d565b946020939093013593505050565b600080600060608486031215610ce857600080fd5b610cf184610c8d565b9250610cff60208501610c8d565b9150604084013590509250925092565b60008060408385031215610d2257600080fd5b610d2b83610c8d565b915060208301358015158114610d4057600080fd5b809150509250929050565b600060208284031215610d5d57600080fd5b610d6682610c8d565b9392505050565b60008060408385031215610d8057600080fd5b610d8983610c8d565b9150610d9760208401610c8d565b90509250929050565b600181811c90821680610db457607f821691505b602082108103610dd457634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561044a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea264697066735822122004890761fbdabbd550847647c345600a31b7cdbb4c0d86f0f035c962a9b3738564736f6c63430008110033

Deployed Bytecode Sourcemap

10140:1611:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6339:169;;;;;;;;;;-1:-1:-1;6339:169:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6339:169:0;1004:187:1;5746:108:0;;;;;;;;;;-1:-1:-1;5834:12:0;;5746:108;;;1342:25:1;;;1330:2;1315:18;5746:108:0;1196:177:1;6516:573:0;;;;;;;;;;-1:-1:-1;6516:573:0;;;;;:::i;:::-;;:::i;5646:92::-;;;;;;;;;;-1:-1:-1;5646:92:0;;5729:1;1853:36:1;;1841:2;1826:18;5646:92:0;1711:184:1;7097:215:0;;;;;;;;;;-1:-1:-1;7097:215:0;;;;;:::i;:::-;;:::i;10571:265::-;;;;;;;;;;-1:-1:-1;10571:265:0;;;;;:::i;:::-;;:::i;:::-;;10995:26;;;;;;;;;;-1:-1:-1;10995:26:0;;;;;;;;5862:127;;;;;;;;;;-1:-1:-1;5862:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5963:18:0;5936:7;5963:18;;;;;;;;;;;;5862:127;4613:148;;;;;;;;;;;;;:::i;10844:143::-;;;;;;;;;;-1:-1:-1;10844:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10942:37:0;10918:4;10942:37;;;:28;:37;;;;;;;;;10844:143;11030:176;;;;;;;;;;;;;:::i;4399:79::-;;;;;;;;;;-1:-1:-1;4464:6:0;;4399:79;;-1:-1:-1;;;;;4464:6:0;;;2589:51:1;;2577:2;2562:18;4399:79:0;2443:203:1;5534:104:0;;;;;;;;;;;;;:::i;7320:413::-;;;;;;;;;;-1:-1:-1;7320:413:0;;;;;:::i;:::-;;:::i;5997:175::-;;;;;;;;;;-1:-1:-1;5997:175:0;;;;;:::i;:::-;;:::i;6180:151::-;;;;;;;;;;-1:-1:-1;6180:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;6296:18:0;;;6269:7;6296:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6180:151;4769:244;;;;;;;;;;-1:-1:-1;4769:244:0;;;;;:::i;:::-;;:::i;5426:100::-;5480:13;5513:5;5506:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:100;:::o;6339:169::-;6422:4;6439:39;3802:10;6462:7;6471:6;6439:8;:39::i;:::-;-1:-1:-1;6496:4:0;6339:169;;;;;:::o;6516:573::-;-1:-1:-1;;;;;6700:19:0;;6656:4;6700:19;;;:11;:19;;;;;;;;3802:10;6700:33;;;;;;;;-1:-1:-1;;6748:37:0;;6744:265;;6830:6;6810:16;:26;;6802:79;;;;-1:-1:-1;;;6802:79:0;;3503:2:1;6802:79:0;;;3485:21:1;3542:2;3522:18;;;3515:30;3581:34;3561:18;;;3554:62;-1:-1:-1;;;3632:18:1;;;3625:38;3680:19;;6802:79:0;;;;;;;;;6925:57;6934:6;3802:10;6975:6;6956:16;:25;6925:8;:57::i;:::-;7021:36;7031:6;7039:9;7050:6;7021:9;:36::i;:::-;-1:-1:-1;7077:4:0;;6516:573;-1:-1:-1;;;;6516:573:0:o;7097:215::-;3802:10;7185:4;7234:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7234:34:0;;;;;;;;;;7185:4;;7202:80;;7225:7;;7234:47;;7271:10;;7234:47;:::i;:::-;7202:8;:80::i;10571:265::-;4526:6;;-1:-1:-1;;;;;4526:6:0;3802:10;4526:22;4518:67;;;;-1:-1:-1;;;4518:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10674:37:0;::::1;;::::0;;;:28:::1;:37;::::0;;;;;:49;::::1;;:37;::::0;;::::1;:49;;::::0;10666:103:::1;;;::::0;-1:-1:-1;;;10666:103:0;;4500:2:1;10666:103:0::1;::::0;::::1;4482:21:1::0;4539:2;4519:18;;;4512:30;4578:34;4558:18;;;4551:62;-1:-1:-1;;;4629:18:1;;;4622:40;4679:19;;10666:103:0::1;4298:406:1::0;10666:103:0::1;-1:-1:-1::0;;;;;10780:37:0;;;::::1;;::::0;;;:28:::1;:37;::::0;;;;:48;;-1:-1:-1;;10780:48:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10571:265::o;4613:148::-;4526:6;;-1:-1:-1;;;;;4526:6:0;3802:10;4526:22;4518:67;;;;-1:-1:-1;;;4518:67:0;;;;;;;:::i;:::-;4704:6:::1;::::0;4683:40:::1;::::0;4720:1:::1;::::0;-1:-1:-1;;;;;4704:6:0::1;::::0;4683:40:::1;::::0;4720:1;;4683:40:::1;4734:6;:19:::0;;-1:-1:-1;;;;;;4734:19:0::1;::::0;;4613:148::o;11030:176::-;4526:6;;-1:-1:-1;;;;;4526:6:0;3802:10;4526:22;4518:67;;;;-1:-1:-1;;;4518:67:0;;;;;;;:::i;:::-;11093:14:::1;::::0;::::1;;11092:15;11084:52;;;::::0;-1:-1:-1;;;11084:52:0;;4911:2:1;11084:52:0::1;::::0;::::1;4893:21:1::0;4950:2;4930:18;;;4923:30;4989:26;4969:18;;;4962:54;5033:18;;11084:52:0::1;4709:348:1::0;11084:52:0::1;11147:14;:21:::0;;-1:-1:-1;;11147:21:0::1;11164:4;11147:21;::::0;;11179:19:::1;:17;:19::i;:::-;11030:176::o:0;5534:104::-;5590:13;5623:7;5616:14;;;;;:::i;7320:413::-;3802:10;7413:4;7457:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7457:34:0;;;;;;;;;;7510:35;;;;7502:85;;;;-1:-1:-1;;;7502:85:0;;5264:2:1;7502:85:0;;;5246:21:1;5303:2;5283:18;;;5276:30;5342:34;5322:18;;;5315:62;-1:-1:-1;;;5393:18:1;;;5386:35;5438:19;;7502:85:0;5062:401:1;7502:85:0;7623:67;3802:10;7646:7;7674:15;7655:16;:34;7623:8;:67::i;:::-;-1:-1:-1;7721:4:0;;7320:413;-1:-1:-1;;;7320:413:0:o;5997:175::-;6083:4;6100:42;3802:10;6124:9;6135:6;6100:9;:42::i;4769:244::-;4526:6;;-1:-1:-1;;;;;4526:6:0;3802:10;4526:22;4518:67;;;;-1:-1:-1;;;4518:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4858:22:0;::::1;4850:73;;;::::0;-1:-1:-1;;;4850:73:0;;5670:2:1;4850:73:0::1;::::0;::::1;5652:21:1::0;5709:2;5689:18;;;5682:30;5748:34;5728:18;;;5721:62;-1:-1:-1;;;5799:18:1;;;5792:36;5845:19;;4850:73:0::1;5468:402:1::0;4850:73:0::1;4960:6;::::0;4939:38:::1;::::0;-1:-1:-1;;;;;4939:38:0;;::::1;::::0;4960:6:::1;::::0;4939:38:::1;::::0;4960:6:::1;::::0;4939:38:::1;4988:6;:17:::0;;-1:-1:-1;;;;;;4988:17:0::1;-1:-1:-1::0;;;;;4988:17:0;;;::::1;::::0;;;::::1;::::0;;4769:244::o;9488:380::-;-1:-1:-1;;;;;9624:19:0;;9616:68;;;;-1:-1:-1;;;9616:68:0;;6077:2:1;9616:68:0;;;6059:21:1;6116:2;6096:18;;;6089:30;6155:34;6135:18;;;6128:62;-1:-1:-1;;;6206:18:1;;;6199:34;6250:19;;9616:68:0;5875:400:1;9616:68:0;-1:-1:-1;;;;;9703:21:0;;9695:68;;;;-1:-1:-1;;;9695:68:0;;6482:2:1;9695:68:0;;;6464:21:1;6521:2;6501:18;;;6494:30;6560:34;6540:18;;;6533:62;-1:-1:-1;;;6611:18:1;;;6604:32;6653:19;;9695:68:0;6280:398:1;9695:68:0;-1:-1:-1;;;;;9776:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9828:32;;1342:25:1;;;9828:32:0;;1315:18:1;9828:32:0;;;;;;;9488:380;;;:::o;11214:534::-;-1:-1:-1;;;;;11311:18:0;;11303:68;;;;-1:-1:-1;;;11303:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11390:16:0;;11382:64;;;;-1:-1:-1;;;11382:64:0;;;;;;;:::i;:::-;11465:14;;;;;:52;;-1:-1:-1;;;;;;11483:34:0;;;;;;:28;:34;;;;;;;;11465:52;:88;;;-1:-1:-1;;;;;;11521:32:0;;;;;;:28;:32;;;;;;;;11465:88;11457:125;;;;-1:-1:-1;;;11457:125:0;;7695:2:1;11457:125:0;;;7677:21:1;7734:2;7714:18;;;7707:30;7773:26;7753:18;;;7746:54;7817:18;;11457:125:0;7493:348:1;11457:125:0;11606:6;11616:1;11606:11;11602:93;;11634:28;11650:4;11656:2;11660:1;11634:15;:28::i;:::-;11214:534;;;:::o;11602:93::-;11707:33;11723:4;11729:2;11733:6;7741:733;-1:-1:-1;;;;;7881:20:0;;7873:70;;;;-1:-1:-1;;;7873:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7962:23:0;;7954:71;;;;-1:-1:-1;;;7954:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8122:17:0;;8098:21;8122:17;;;;;;;;;;;8158:23;;;;8150:74;;;;-1:-1:-1;;;8150:74:0;;8048:2:1;8150:74:0;;;8030:21:1;8087:2;8067:18;;;8060:30;8126:34;8106:18;;;8099:62;-1:-1:-1;;;8177:18:1;;;8170:36;8223:19;;8150:74:0;7846:402:1;8150:74:0;-1:-1:-1;;;;;8260:17:0;;;:9;:17;;;;;;;;;;;8280:22;;;8260:42;;8324:20;;;;;;;;:30;;8296:6;;8260:9;8324:30;;8296:6;;8324:30;:::i;:::-;;;;;;;;8389:9;-1:-1:-1;;;;;8372:35:0;8381:6;-1:-1:-1;;;;;8372:35:0;;8400:6;8372:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;8372:35:0;;;;;;;;7862:612;7741:733;;;:::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;664:70;567:173;;;:::o;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;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:347::-;1965:6;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2144:2;2133:9;2129:18;2116:32;2191:5;2184:13;2177:21;2170:5;2167:32;2157:60;;2213:1;2210;2203:12;2157:60;2236:5;2226:15;;;1900:347;;;;;:::o;2252:186::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2403:29;2422:9;2403:29;:::i;:::-;2393:39;2252:186;-1:-1:-1;;;2252:186:1:o;2651:260::-;2719:6;2727;2780:2;2768:9;2759:7;2755:23;2751:32;2748:52;;;2796:1;2793;2786:12;2748:52;2819:29;2838:9;2819:29;:::i;:::-;2809:39;;2867:38;2901:2;2890:9;2886:18;2867:38;:::i;:::-;2857:48;;2651:260;;;;;:::o;2916:380::-;2995:1;2991:12;;;;3038;;;3059:61;;3113:4;3105:6;3101:17;3091:27;;3059:61;3166:2;3158:6;3155:14;3135:18;3132:38;3129:161;;3212:10;3207:3;3203:20;3200:1;3193:31;3247:4;3244:1;3237:15;3275:4;3272:1;3265:15;3129:161;;2916:380;;;:::o;3710:222::-;3775:9;;;3796:10;;;3793:133;;;3848:10;3843:3;3839:20;3836:1;3829:31;3883:4;3880:1;3873:15;3911:4;3908:1;3901:15;3937:356;4139:2;4121:21;;;4158:18;;;4151:30;4217:34;4212:2;4197:18;;4190:62;4284:2;4269:18;;3937:356::o;6683:401::-;6885:2;6867:21;;;6924:2;6904:18;;;6897:30;6963:34;6958:2;6943:18;;6936:62;-1:-1:-1;;;7029:2:1;7014:18;;7007:35;7074:3;7059:19;;6683:401::o;7089:399::-;7291:2;7273:21;;;7330:2;7310:18;;;7303:30;7369:34;7364:2;7349:18;;7342:62;-1:-1:-1;;;7435:2:1;7420:18;;7413:33;7478:3;7463:19;;7089:399::o

Swarm Source

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