ETH Price: $3,322.53 (+1.93%)
Gas: 3 Gwei

Token

NARUTO (NARUTO)
 

Overview

Max Total Supply

9,999,999,999,999 NARUTO

Holders

47

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
NARUTO

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

  _  _   _   ___  ______ _   _ _____ _____ 
 | || \ | | / _ \ | ___ \ | | |_   _|  _  |
/ __)  \| |/ /_\ \| |_/ / | | | | | | | | |
\__ \ . ` ||  _  ||    /| | | | | | | | | |
(   / |\  || | | || |\ \| |_| | | | \ \_/ /
 |_|\_| \_/\_| |_/\_| \_|\___/  \_/  \___/ 
**/


// SPDX-License-Identifier: MIT

pragma solidity 0.8.18;


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

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
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
library SafeMath {
    
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract NARUTO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "NARUTO";
    string private constant _symbol = "NARUTO";
    uint256 private constant _totalSupply = 9_999_999_999_999 * 10**18;
    uint256 public minSwap = 10_000_000 * 10**18; //Tax will be swapped into eth once it's = or more than 10M tokens
    uint256 public maxWalletBuylimit = 300_000_000 * 10**18; // Max numbers of tokens a single wallet can Buy
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable public marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;
    uint8 private inSwapAndLiquify;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    
    bool public isOpen = false;

    mapping(address => bool) private _whiteList;

    modifier open(address from, address to) {
        require(isOpen || _whiteList[from] || _whiteList[to], "Not Open");
        _;
    }

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
        // ETH Mainnet Uniswap V2 Router Address =  0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D 
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 80;
        sellTax = 80;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0xb972c2DBD9d590eF580E4A95C1b0bea37776EA96);
        
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _whiteList[msg.sender] = true;
        _whiteList[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        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 ReduceBuySellTax() external onlyOwner {
        buyTax = 2;
        sellTax = 2;
    }
    

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    function DisableMaxWalletBuyLimit () external onlyOwner() {
    maxWalletBuylimit = _totalSupply;
    }
    
    function EnableTrading() external onlyOwner {

        isOpen = true;

    }
    
    function includeToWhiteList(address[] calldata _users) external onlyOwner {
        for(uint8 i = 0; i < _users.length; i++) {
            _whiteList[_users[i]] = true;
        }
    }


    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(isOpen || _whiteList[from] || _whiteList[to], "Not Open");


        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
            maxWalletBuylimit = _totalSupply;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
            require(balanceOf(to).add(amount) <= maxWalletBuylimit);
                _tax = buyTax;
                
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }
        

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DisableMaxWalletBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ReduceBuySellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"includeToWhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBuylimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60e06040526a084595161401484a0000006002556af8277896582678ac000000600355600b805460ff191690553480156200003957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f791906200034a565b6001600160a01b0390811660c052605060058190556006556080516040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017891906200034a565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f091906200034a565b6001600160a01b0390811660a052600480546001600160a01b03191673b972c2dbd9d590ef580e4a95c1b0bea37776ea961781553360008181526008602090815260408083206c7e37be2022b2b09472d89c00009055845486168352600a8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055868652600c855283862080548316841790558552828520805490911690911790556009808352818420608051881680865290845282852060001990819055868652828552838620828752855283862081905596549097168452825280832095835294905292909220556001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c7e37be2022b2b09472d89c00006040516200033c91815260200190565b60405180910390a36200037c565b6000602082840312156200035d57600080fd5b81516001600160a01b03811681146200037557600080fd5b9392505050565b60805160a05160c051611219620003b36000396000610baf015260008181610a720152610aeb01526000610c0a01526112196000f3fe6080604052600436106101445760003560e01c806359cd9031116100b6578063a9059cbb1161006f578063a9059cbb14610377578063cc1776d314610397578063dd62ed3e146103ad578063f0fafc11146103f3578063f263498214610408578063f2fde38b1461041e57600080fd5b806359cd9031146102c057806370a08231146102d6578063715018a61461030c57806375f0a874146103215780638da5cb5b1461035957806395d89b411461017257600080fd5b80631d97b7cd116101085780631d97b7cd1461022a57806323b872dd1461023f578063313ce5671461025f57806347535d7b1461027b57806349dbe03d146102955780634f7041a5146102aa57600080fd5b806305d2743f1461015057806306fdde0314610172578063095ea7b3146101b05780630b6bb6f5146101e057806318160ddd1461020057600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b366004610eff565b61043e565b005b34801561017e57600080fd5b5060408051808201825260068152654e415255544f60d01b602082015290516101a79190610f21565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb366004610f6f565b610493565b60405190151581526020016101a7565b3480156101ec57600080fd5b506101706101fb366004610f99565b6104aa565b34801561020c57600080fd5b506c7e37be2022b2b09472d89c00005b6040519081526020016101a7565b34801561023657600080fd5b50610170610551565b34801561024b57600080fd5b506101d061025a36600461100e565b61058a565b34801561026b57600080fd5b50604051601281526020016101a7565b34801561028757600080fd5b50600b546101d09060ff1681565b3480156102a157600080fd5b506101706105dc565b3480156102b657600080fd5b5061021c60055481565b3480156102cc57600080fd5b5061021c60025481565b3480156102e257600080fd5b5061021c6102f1366004610eff565b6001600160a01b031660009081526008602052604090205490565b34801561031857600080fd5b50610170610619565b34801561032d57600080fd5b50600454610341906001600160a01b031681565b6040516001600160a01b0390911681526020016101a7565b34801561036557600080fd5b506000546001600160a01b0316610341565b34801561038357600080fd5b506101d0610392366004610f6f565b61068d565b3480156103a357600080fd5b5061021c60065481565b3480156103b957600080fd5b5061021c6103c836600461104a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103ff57600080fd5b5061017061069a565b34801561041457600080fd5b5061021c60035481565b34801561042a57600080fd5b50610170610439366004610eff565b6106d0565b6000546001600160a01b031633146104715760405162461bcd60e51b81526004016104689061107d565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006104a0338484610706565b5060015b92915050565b6000546001600160a01b031633146104d45760405162461bcd60e51b81526004016104689061107d565b60005b60ff811682111561054c576001600c600085858560ff168181106104fd576104fd6110b2565b90506020020160208101906105129190610eff565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610544816110de565b9150506104d7565b505050565b6000546001600160a01b0316331461057b5760405162461bcd60e51b81526004016104689061107d565b600b805460ff19166001179055565b600061059784848461082a565b6001600160a01b0384166000908152600960209081526040808320338085529252909120546105d29186916105cd9086906110fd565b610706565b5060019392505050565b6000546001600160a01b031633146106065760405162461bcd60e51b81526004016104689061107d565b6c7e37be2022b2b09472d89c0000600355565b6000546001600160a01b031633146106435760405162461bcd60e51b81526004016104689061107d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104a033848461082a565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016104689061107d565b60026005819055600655565b6000546001600160a01b031633146106fa5760405162461bcd60e51b81526004016104689061107d565b61070381610e05565b50565b6001600160a01b0383166107685760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610468565b6001600160a01b0382166107c95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610468565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661088e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610468565b633b9aca0081116108d45760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610468565b600b5460ff16806108fd57506001600160a01b0383166000908152600c602052604090205460ff165b8061092057506001600160a01b0382166000908152600c602052604090205460ff165b6109575760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b6044820152606401610468565b6001600160a01b0383166000908152600a602052604081205460ff168061099657506001600160a01b0383166000908152600a602052604090205460ff165b156109b457506c7e37be2022b2b09472d89c00006003556000610c94565b60075460ff16600103610a70576001600160a01b038416600090815260086020526040812080548492906109e99084906110fd565b90915550506001600160a01b03831660009081526008602052604081208054849290610a16908490611110565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a6291815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610ae957600354610ad583610acf866001600160a01b031660009081526008602052604090205490565b90610ec5565b1115610ae057600080fd5b50600554610c94565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610c90573060009081526008602052604090205460025481118015610b46575060075460ff16155b15610c86576007805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610b8d57610b8d6110b2565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610be157610be16110b2565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac94793610c489388936000938993921691429101611123565b600060405180830381600087803b158015610c6257600080fd5b505af1158015610c76573d6000803e3d6000fd5b50506007805460ff191690555050505b5050600654610c94565b5060005b8015610dd75760006064610ca88385611194565b610cb291906111ab565b90506000610cc082856110fd565b6001600160a01b038716600090815260086020526040812080549293508692909190610ced9084906110fd565b90915550506001600160a01b03851660009081526008602052604081208054839290610d1a908490611110565b90915550503060009081526008602052604081208054849290610d3e908490611110565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dc891815260200190565b60405180910390a35050610dff565b6001600160a01b038416600090815260086020526040812080548492906109e99084906110fd565b50505050565b6001600160a01b038116610e6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610468565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ed18284611110565b9050828110156104a4576104a46111cd565b80356001600160a01b0381168114610efa57600080fd5b919050565b600060208284031215610f1157600080fd5b610f1a82610ee3565b9392505050565b600060208083528351808285015260005b81811015610f4e57858101830151858201604001528201610f32565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215610f8257600080fd5b610f8b83610ee3565b946020939093013593505050565b60008060208385031215610fac57600080fd5b823567ffffffffffffffff80821115610fc457600080fd5b818501915085601f830112610fd857600080fd5b813581811115610fe757600080fd5b8660208260051b8501011115610ffc57600080fd5b60209290920196919550909350505050565b60008060006060848603121561102357600080fd5b61102c84610ee3565b925061103a60208501610ee3565b9150604084013590509250925092565b6000806040838503121561105d57600080fd5b61106683610ee3565b915061107460208401610ee3565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036110f4576110f46110c8565b60010192915050565b818103818111156104a4576104a46110c8565b808201808211156104a4576104a46110c8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111735784516001600160a01b03168352938301939183019160010161114e565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104a4576104a46110c8565b6000826111c857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052600160045260246000fdfea26469706673582212204b0d39354041e73f48a1ac14a82686b2e863943c5d076a1116063aa23bad71c864736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806359cd9031116100b6578063a9059cbb1161006f578063a9059cbb14610377578063cc1776d314610397578063dd62ed3e146103ad578063f0fafc11146103f3578063f263498214610408578063f2fde38b1461041e57600080fd5b806359cd9031146102c057806370a08231146102d6578063715018a61461030c57806375f0a874146103215780638da5cb5b1461035957806395d89b411461017257600080fd5b80631d97b7cd116101085780631d97b7cd1461022a57806323b872dd1461023f578063313ce5671461025f57806347535d7b1461027b57806349dbe03d146102955780634f7041a5146102aa57600080fd5b806305d2743f1461015057806306fdde0314610172578063095ea7b3146101b05780630b6bb6f5146101e057806318160ddd1461020057600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b366004610eff565b61043e565b005b34801561017e57600080fd5b5060408051808201825260068152654e415255544f60d01b602082015290516101a79190610f21565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb366004610f6f565b610493565b60405190151581526020016101a7565b3480156101ec57600080fd5b506101706101fb366004610f99565b6104aa565b34801561020c57600080fd5b506c7e37be2022b2b09472d89c00005b6040519081526020016101a7565b34801561023657600080fd5b50610170610551565b34801561024b57600080fd5b506101d061025a36600461100e565b61058a565b34801561026b57600080fd5b50604051601281526020016101a7565b34801561028757600080fd5b50600b546101d09060ff1681565b3480156102a157600080fd5b506101706105dc565b3480156102b657600080fd5b5061021c60055481565b3480156102cc57600080fd5b5061021c60025481565b3480156102e257600080fd5b5061021c6102f1366004610eff565b6001600160a01b031660009081526008602052604090205490565b34801561031857600080fd5b50610170610619565b34801561032d57600080fd5b50600454610341906001600160a01b031681565b6040516001600160a01b0390911681526020016101a7565b34801561036557600080fd5b506000546001600160a01b0316610341565b34801561038357600080fd5b506101d0610392366004610f6f565b61068d565b3480156103a357600080fd5b5061021c60065481565b3480156103b957600080fd5b5061021c6103c836600461104a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103ff57600080fd5b5061017061069a565b34801561041457600080fd5b5061021c60035481565b34801561042a57600080fd5b50610170610439366004610eff565b6106d0565b6000546001600160a01b031633146104715760405162461bcd60e51b81526004016104689061107d565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006104a0338484610706565b5060015b92915050565b6000546001600160a01b031633146104d45760405162461bcd60e51b81526004016104689061107d565b60005b60ff811682111561054c576001600c600085858560ff168181106104fd576104fd6110b2565b90506020020160208101906105129190610eff565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610544816110de565b9150506104d7565b505050565b6000546001600160a01b0316331461057b5760405162461bcd60e51b81526004016104689061107d565b600b805460ff19166001179055565b600061059784848461082a565b6001600160a01b0384166000908152600960209081526040808320338085529252909120546105d29186916105cd9086906110fd565b610706565b5060019392505050565b6000546001600160a01b031633146106065760405162461bcd60e51b81526004016104689061107d565b6c7e37be2022b2b09472d89c0000600355565b6000546001600160a01b031633146106435760405162461bcd60e51b81526004016104689061107d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104a033848461082a565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016104689061107d565b60026005819055600655565b6000546001600160a01b031633146106fa5760405162461bcd60e51b81526004016104689061107d565b61070381610e05565b50565b6001600160a01b0383166107685760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610468565b6001600160a01b0382166107c95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610468565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661088e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610468565b633b9aca0081116108d45760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610468565b600b5460ff16806108fd57506001600160a01b0383166000908152600c602052604090205460ff165b8061092057506001600160a01b0382166000908152600c602052604090205460ff165b6109575760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b6044820152606401610468565b6001600160a01b0383166000908152600a602052604081205460ff168061099657506001600160a01b0383166000908152600a602052604090205460ff165b156109b457506c7e37be2022b2b09472d89c00006003556000610c94565b60075460ff16600103610a70576001600160a01b038416600090815260086020526040812080548492906109e99084906110fd565b90915550506001600160a01b03831660009081526008602052604081208054849290610a16908490611110565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a6291815260200190565b60405180910390a350505050565b7f000000000000000000000000fced5dfdac98e9a2ff2e516cf1322a6d2b1c1f756001600160a01b0316846001600160a01b031603610ae957600354610ad583610acf866001600160a01b031660009081526008602052604090205490565b90610ec5565b1115610ae057600080fd5b50600554610c94565b7f000000000000000000000000fced5dfdac98e9a2ff2e516cf1322a6d2b1c1f756001600160a01b0316836001600160a01b031603610c90573060009081526008602052604090205460025481118015610b46575060075460ff16155b15610c86576007805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610b8d57610b8d6110b2565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610be157610be16110b2565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac94793610c489388936000938993921691429101611123565b600060405180830381600087803b158015610c6257600080fd5b505af1158015610c76573d6000803e3d6000fd5b50506007805460ff191690555050505b5050600654610c94565b5060005b8015610dd75760006064610ca88385611194565b610cb291906111ab565b90506000610cc082856110fd565b6001600160a01b038716600090815260086020526040812080549293508692909190610ced9084906110fd565b90915550506001600160a01b03851660009081526008602052604081208054839290610d1a908490611110565b90915550503060009081526008602052604081208054849290610d3e908490611110565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dc891815260200190565b60405180910390a35050610dff565b6001600160a01b038416600090815260086020526040812080548492906109e99084906110fd565b50505050565b6001600160a01b038116610e6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610468565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ed18284611110565b9050828110156104a4576104a46111cd565b80356001600160a01b0381168114610efa57600080fd5b919050565b600060208284031215610f1157600080fd5b610f1a82610ee3565b9392505050565b600060208083528351808285015260005b81811015610f4e57858101830151858201604001528201610f32565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215610f8257600080fd5b610f8b83610ee3565b946020939093013593505050565b60008060208385031215610fac57600080fd5b823567ffffffffffffffff80821115610fc457600080fd5b818501915085601f830112610fd857600080fd5b813581811115610fe757600080fd5b8660208260051b8501011115610ffc57600080fd5b60209290920196919550909350505050565b60008060006060848603121561102357600080fd5b61102c84610ee3565b925061103a60208501610ee3565b9150604084013590509250925092565b6000806040838503121561105d57600080fd5b61106683610ee3565b915061107460208401610ee3565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036110f4576110f46110c8565b60010192915050565b818103818111156104a4576104a46110c8565b808201808211156104a4576104a46110c8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111735784516001600160a01b03168352938301939183019160010161114e565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104a4576104a46110c8565b6000826111c857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052600160045260246000fdfea26469706673582212204b0d39354041e73f48a1ac14a82686b2e863943c5d076a1116063aa23bad71c864736f6c63430008120033

Deployed Bytecode Sourcemap

3109:7427:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7474:135;;;;;;;;;;-1:-1:-1;7474:135:0;;;;;:::i;:::-;;:::i;:::-;;5512:83;;;;;;;;;;-1:-1:-1;5582:5:0;;;;;;;;;;;-1:-1:-1;;;5582:5:0;;;;5512:83;;;;5582:5;5512:83;:::i;:::-;;;;;;;;6422:193;;;;;;;;;;-1:-1:-1;6422:193:0;;;;;:::i;:::-;;:::i;:::-;;;1360:14:1;;1353:22;1335:41;;1323:2;1308:18;6422:193:0;1195:187:1;7830:188:0;;;;;;;;;;-1:-1:-1;7830:188:0;;;;;:::i;:::-;;:::i;5789:100::-;;;;;;;;;;-1:-1:-1;3335:26:0;5789:100;;;2153:25:1;;;2141:2;2126:18;5789:100:0;2007:177:1;7738:80:0;;;;;;;;;;;;;:::i;6623:350::-;;;;;;;;;;-1:-1:-1;6623:350:0;;;;;:::i;:::-;;:::i;5698:83::-;;;;;;;;;;-1:-1:-1;5698:83:0;;3632:2;2664:36:1;;2652:2;2637:18;5698:83:0;2522:184:1;4094:26:0;;;;;;;;;;-1:-1:-1;4094:26:0;;;;;;;;7621:105;;;;;;;;;;;;;:::i;3808:21::-;;;;;;;;;;;;;;;;3368:44;;;;;;;;;;;;;;;;5897:118;;;;;;;;;;-1:-1:-1;5897:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5990:17:0;5963:7;5990:17;;;:8;:17;;;;;;;5897:118;2274:148;;;;;;;;;;;;;:::i;3761:38::-;;;;;;;;;;-1:-1:-1;3761:38:0;;;;-1:-1:-1;;;;;3761:38:0;;;;;;-1:-1:-1;;;;;2891:32:1;;;2873:51;;2861:2;2846:18;3761:38:0;2711:219:1;1669:79:0;;;;;;;;;;-1:-1:-1;1707:7:0;1734:6;-1:-1:-1;;;;;1734:6:0;1669:79;;6023:199;;;;;;;;;;-1:-1:-1;6023:199:0;;;;;:::i;:::-;;:::i;3836:22::-;;;;;;;;;;;;;;;;6230:184;;;;;;;;;;-1:-1:-1;6230:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6379:18:0;;;6347:7;6379:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6230:184;7362:98;;;;;;;;;;;;;:::i;3486:55::-;;;;;;;;;;;;;;;;1883:109;;;;;;;;;;-1:-1:-1;1883:109:0;;;;;:::i;:::-;;:::i;7474:135::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;;;;;;;;;7564:15:::1;:37:::0;;-1:-1:-1;;;;;;7564:37:0::1;-1:-1:-1::0;;;;;7564:37:0;;;::::1;::::0;;;::::1;::::0;;7474:135::o;6422:193::-;6524:4;6546:39;463:10;6569:7;6578:6;6546:8;:39::i;:::-;-1:-1:-1;6603:4:0;6422:193;;;;;:::o;7830:188::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;7919:7:::1;7915:96;7932:17;::::0;::::1;::::0;-1:-1:-1;7915:96:0::1;;;7995:4;7971:10;:21;7982:6;;7989:1;7982:9;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7971:21:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7971:21:0;:28;;-1:-1:-1;;7971:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7951:3;::::1;::::0;::::1;:::i;:::-;;;;7915:96;;;;7830:188:::0;;:::o;7738:80::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;7795:6:::1;:13:::0;;-1:-1:-1;;7795:13:0::1;7804:4;7795:13;::::0;;7738:80::o;6623:350::-;6755:4;6772:36;6782:6;6790:9;6801:6;6772:9;:36::i;:::-;-1:-1:-1;;;;;6890:19:0;;;;;;:11;:19;;;;;;;;463:10;6890:33;;;;;;;;;6819:124;;6842:6;;6890:42;;6926:6;;6890:42;:::i;:::-;6819:8;:124::i;:::-;-1:-1:-1;6961:4:0;6623:350;;;;;:::o;7621:105::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;3335:26:::1;7686:17;:32:::0;7621:105::o;2274:148::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;2381:1:::1;2365:6:::0;;2344:40:::1;::::0;-1:-1:-1;;;;;2365:6:0;;::::1;::::0;2344:40:::1;::::0;2381:1;;2344:40:::1;2412:1;2395:19:::0;;-1:-1:-1;;;;;;2395:19:0::1;::::0;;2274:148::o;6023:199::-;6128:4;6150:42;463:10;6174:9;6185:6;6150:9;:42::i;7362:98::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;7429:1:::1;7420:6;:10:::0;;;7441:7:::1;:11:::0;7362:98::o;1883:109::-;1796:6;;-1:-1:-1;;;;;1796:6:0;463:10;1796:22;1788:67;;;;-1:-1:-1;;;1788:67:0;;;;;;;:::i;:::-;1956:28:::1;1975:8;1956:18;:28::i;:::-;1883:109:::0;:::o;6981:369::-;-1:-1:-1;;;;;7108:19:0;;7100:68;;;;-1:-1:-1;;;7100:68:0;;4548:2:1;7100:68:0;;;4530:21:1;4587:2;4567:18;;;4560:30;4626:34;4606:18;;;4599:62;-1:-1:-1;;;4677:18:1;;;4670:34;4721:19;;7100:68:0;4346:400:1;7100:68:0;-1:-1:-1;;;;;7187:21:0;;7179:68;;;;-1:-1:-1;;;7179:68:0;;4953:2:1;7179:68:0;;;4935:21:1;4992:2;4972:18;;;4965:30;5031:34;5011:18;;;5004:62;-1:-1:-1;;;5082:18:1;;;5075:32;5124:19;;7179:68:0;4751:398:1;7179:68:0;-1:-1:-1;;;;;7258:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7310:32;;2153:25:1;;;7310:32:0;;2126:18:1;7310:32:0;;;;;;;6981:369;;;:::o;8028:2468::-;-1:-1:-1;;;;;8150:18:0;;8142:68;;;;-1:-1:-1;;;8142:68:0;;5356:2:1;8142:68:0;;;5338:21:1;5395:2;5375:18;;;5368:30;5434:34;5414:18;;;5407:62;-1:-1:-1;;;5485:18:1;;;5478:35;5530:19;;8142:68:0;5154:401:1;8142:68:0;8238:3;8229:6;:12;8221:41;;;;-1:-1:-1;;;8221:41:0;;5762:2:1;8221:41:0;;;5744:21:1;5801:2;5781:18;;;5774:30;-1:-1:-1;;;5820:18:1;;;5813:46;5876:18;;8221:41:0;5560:340:1;8221:41:0;8281:6;;;;;:26;;-1:-1:-1;;;;;;8291:16:0;;;;;;:10;:16;;;;;;;;8281:26;:44;;;-1:-1:-1;;;;;;8311:14:0;;;;;;:10;:14;;;;;;;;8281:44;8273:65;;;;-1:-1:-1;;;8273:65:0;;6107:2:1;8273:65:0;;;6089:21:1;6146:1;6126:18;;;6119:29;-1:-1:-1;;;6164:18:1;;;6157:38;6212:18;;8273:65:0;5905:331:1;8273:65:0;-1:-1:-1;;;;;8380:25:0;;8353:12;8380:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;8409:23:0;;;;;;:19;:23;;;;;;;;8380:52;8376:1453;;;-1:-1:-1;3335:26:0;8472:17;:32;8456:1;8376:1453;;;8543:16;;;;;:21;8539:239;;-1:-1:-1;;;;;8620:14:0;;;;;;:8;:14;;;;;:24;;8638:6;;8620:14;:24;;8638:6;;8620:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8663:12:0;;;;;;:8;:12;;;;;:22;;8679:6;;8663:12;:22;;8679:6;;8663:22;:::i;:::-;;;;;;;;8726:2;-1:-1:-1;;;;;8711:26:0;8720:4;-1:-1:-1;;;;;8711:26:0;;8730:6;8711:26;;;;2153:25:1;;2141:2;2126:18;;2007:177;8711:26:0;;;;;;;;8756:7;8028:2468;;;:::o;8539:239::-;8806:13;-1:-1:-1;;;;;8798:21:0;:4;-1:-1:-1;;;;;8798:21:0;;8794:1024;;8873:17;;8844:25;8862:6;8844:13;8854:2;-1:-1:-1;;;;;5990:17:0;5963:7;5990:17;;;:8;:17;;;;;;;5897:118;8844:13;:17;;:25::i;:::-;:46;;8836:55;;;;;;-1:-1:-1;8917:6:0;;8794:1024;;;8973:13;-1:-1:-1;;;;;8967:19:0;:2;-1:-1:-1;;;;;8967:19:0;;8963:855;;9047:4;9007:20;9030:23;;;:8;:23;;;;;;9091:7;;9076:22;;:47;;;;-1:-1:-1;9102:16:0;;;;:21;9076:47;9072:649;;;9148:16;:20;;-1:-1:-1;;9148:20:0;9167:1;9148:20;;;9215:16;;;9229:1;9215:16;;;;;;;;-1:-1:-1;;9215:16:0;;;;;;;;;;-1:-1:-1;9215:16:0;9191:40;;9272:4;9254;9259:1;9254:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;9254:23:0;;;-1:-1:-1;;;;;9254:23:0;;;;;9310:4;9300;9305:1;9300:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9300:14:0;;;:7;;;;;;;;;:14;9570:15;;;9337:321;;-1:-1:-1;;;9337:321:0;;:15;:92;;;;;:321;;9460:12;;9503:1;;9535:4;;9570:15;;;9616;;9337:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9681:16:0;:20;;-1:-1:-1;;9681:20:0;;;-1:-1:-1;;;9072:649:0;-1:-1:-1;;9746:7:0;;8963:855;;;-1:-1:-1;9801:1:0;8963:855;9900:9;;9896:593;;9954:17;9992:3;9975:13;9984:4;9975:6;:13;:::i;:::-;9974:21;;;;:::i;:::-;9954:41;-1:-1:-1;10010:22:0;10035:18;9954:41;10035:6;:18;:::i;:::-;-1:-1:-1;;;;;10070:14:0;;;;;;:8;:14;;;;;:24;;10010:43;;-1:-1:-1;10088:6:0;;10070:14;;;:24;;10088:6;;10070:24;:::i;:::-;;;;-1:-1:-1;;;;;;;10109:12:0;;;;;;:8;:12;;;;;:30;;10125:14;;10109:12;:30;;10125:14;;10109:30;:::i;:::-;;;;-1:-1:-1;;10171:4:0;10154:23;;;;:8;:23;;;;;:36;;10181:9;;10154:23;:36;;10181:9;;10154:36;:::i;:::-;;;;-1:-1:-1;;10210:40:0;;2153:25:1;;;10233:4:0;;-1:-1:-1;;;;;10210:40:0;;;;;2141:2:1;2126:18;10210:40:0;;;;;;;10285:2;-1:-1:-1;;;;;10270:34:0;10279:4;-1:-1:-1;;;;;10270:34:0;;10289:14;10270:34;;;;2153:25:1;;2141:2;2126:18;;2007:177;10270:34:0;;;;;;;;9911:405;;9896:593;;;-1:-1:-1;;;;;10368:14:0;;;;;;:8;:14;;;;;:24;;10386:6;;10368:14;:24;;10386:6;;10368:24;:::i;9896:593::-;8131:2365;8028:2468;;;:::o;2000:266::-;-1:-1:-1;;;;;2088:22:0;;2066:110;;;;-1:-1:-1;;;2066:110:0;;8093:2:1;2066:110:0;;;8075:21:1;8132:2;8112:18;;;8105:30;8171:34;8151:18;;;8144:62;-1:-1:-1;;;8222:18:1;;;8215:36;8268:19;;2066:110:0;7891:402:1;2066:110:0;2213:6;;;2192:38;;-1:-1:-1;;;;;2192:38:0;;;;2213:6;;;2192:38;;;2241:6;:17;;-1:-1:-1;;;;;;2241:17:0;-1:-1:-1;;;;;2241:17:0;;;;;;;;;;2000:266::o;2455:127::-;2513:9;2535:5;2539:1;2535;:5;:::i;:::-;2531:9;;2559:1;2554;:6;;2547:14;;;;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:548::-;495:4;524:2;553;542:9;535:21;585:6;579:13;628:6;623:2;612:9;608:18;601:34;653:1;663:140;677:6;674:1;671:13;663:140;;;772:14;;;768:23;;762:30;738:17;;;757:2;734:26;727:66;692:10;;663:140;;;667:3;852:1;847:2;838:6;827:9;823:22;819:31;812:42;922:2;915;911:7;906:2;898:6;894:15;890:29;879:9;875:45;871:54;863:62;;;;383:548;;;;:::o;936:254::-;1004:6;1012;1065:2;1053:9;1044:7;1040:23;1036:32;1033:52;;;1081:1;1078;1071:12;1033:52;1104:29;1123:9;1104:29;:::i;:::-;1094:39;1180:2;1165:18;;;;1152:32;;-1:-1:-1;;;936:254:1:o;1387:615::-;1473:6;1481;1534:2;1522:9;1513:7;1509:23;1505:32;1502:52;;;1550:1;1547;1540:12;1502:52;1590:9;1577:23;1619:18;1660:2;1652:6;1649:14;1646:34;;;1676:1;1673;1666:12;1646:34;1714:6;1703:9;1699:22;1689:32;;1759:7;1752:4;1748:2;1744:13;1740:27;1730:55;;1781:1;1778;1771:12;1730:55;1821:2;1808:16;1847:2;1839:6;1836:14;1833:34;;;1863:1;1860;1853:12;1833:34;1916:7;1911:2;1901:6;1898:1;1894:14;1890:2;1886:23;1882:32;1879:45;1876:65;;;1937:1;1934;1927:12;1876:65;1968:2;1960:11;;;;;1990:6;;-1:-1:-1;1387:615:1;;-1:-1:-1;;;;1387:615:1:o;2189:328::-;2266:6;2274;2282;2335:2;2323:9;2314:7;2310:23;2306:32;2303:52;;;2351:1;2348;2341:12;2303:52;2374:29;2393:9;2374:29;:::i;:::-;2364:39;;2422:38;2456:2;2445:9;2441:18;2422:38;:::i;:::-;2412:48;;2507:2;2496:9;2492:18;2479:32;2469:42;;2189:328;;;;;:::o;3143:260::-;3211:6;3219;3272:2;3260:9;3251:7;3247:23;3243:32;3240:52;;;3288:1;3285;3278:12;3240:52;3311:29;3330:9;3311:29;:::i;:::-;3301:39;;3359:38;3393:2;3382:9;3378:18;3359:38;:::i;:::-;3349:48;;3143:260;;;;;:::o;3408:356::-;3610:2;3592:21;;;3629:18;;;3622:30;3688:34;3683:2;3668:18;;3661:62;3755:2;3740:18;;3408:356::o;3769:127::-;3830:10;3825:3;3821:20;3818:1;3811:31;3861:4;3858:1;3851:15;3885:4;3882:1;3875:15;3901:127;3962:10;3957:3;3953:20;3950:1;3943:31;3993:4;3990:1;3983:15;4017:4;4014:1;4007:15;4033:175;4070:3;4114:4;4107:5;4103:16;4143:4;4134:7;4131:17;4128:43;;4151:18;;:::i;:::-;4200:1;4187:15;;4033:175;-1:-1:-1;;4033:175:1:o;4213:128::-;4280:9;;;4301:11;;;4298:37;;;4315:18;;:::i;6241:125::-;6306:9;;;6327:10;;;6324:36;;;6340:18;;:::i;6503:988::-;6773:4;6821:3;6810:9;6806:19;6852:6;6841:9;6834:25;6878:2;6916:6;6911:2;6900:9;6896:18;6889:34;6959:3;6954:2;6943:9;6939:18;6932:31;6983:6;7018;7012:13;7049:6;7041;7034:22;7087:3;7076:9;7072:19;7065:26;;7126:2;7118:6;7114:15;7100:29;;7147:1;7157:195;7171:6;7168:1;7165:13;7157:195;;;7236:13;;-1:-1:-1;;;;;7232:39:1;7220:52;;7327:15;;;;7292:12;;;;7268:1;7186:9;7157:195;;;-1:-1:-1;;;;;;;7408:32:1;;;;7403:2;7388:18;;7381:60;-1:-1:-1;;;7472:3:1;7457:19;7450:35;7369:3;6503:988;-1:-1:-1;;;6503:988:1:o;7496:168::-;7569:9;;;7600;;7617:15;;;7611:22;;7597:37;7587:71;;7638:18;;:::i;7669:217::-;7709:1;7735;7725:132;;7779:10;7774:3;7770:20;7767:1;7760:31;7814:4;7811:1;7804:15;7842:4;7839:1;7832:15;7725:132;-1:-1:-1;7871:9:1;;7669:217::o;8298:127::-;8359:10;8354:3;8350:20;8347:1;8340:31;8390:4;8387:1;8380:15;8414:4;8411:1;8404:15

Swarm Source

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