ETH Price: $2,272.44 (-6.14%)

Token

Woody Woodpecker (WOODY)
 

Overview

Max Total Supply

10,000,000,000 WOODY

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: WOODY 25
Balance
82,795,741.251407340259447391 WOODY

Value
$0.00
0x954b466c3d5de58355cb8b84b8ad706464cdcc82
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:
WOODY

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-06
*/

/*
Website https://Woodywoodpecker.org
Telegram https://T.me/woody_eth
Twitter https://X.com/woody_erc

⠀                               /`--._   _.---'`-._
                               / /`-. \-'     `-._.-'
                             .'\ `-./ /`-/`--._  `-._
                           /`-._`-._.'`-/ /`-._`.    `-._
                          .---.  `-._.--. \    \ \       `._
                         /     \.--.     \ `-._| |          `-._
                        /     .'     \   |`-..__/           `-._`-._
                       /     /       |   |  |  |          `-.__.`-._.'
                      | .-. /  .-.  /    \  |  /          `._.-'
                   .-`\/ O /  / O \/ __   \ | | .`_..---..  `._
                  /    `-./_ .---.'     `-._| / `-._      `-._.'
                  |.'          .' _.--.     \/`-._.-'
\`-......______.-`          .' _.'     )   .'
 `-._                       _.'   _..-' _.'
     `-._               _.-' _.--' _..-'
         `-..________.-`-._.'   .-'
                      \       .'
                     _|      /
             _...---` '_..--'|
            / `-.__.--'  _.-._\
            \`-._/    _.' .-../
             `-._\_.-'   /    `.
               /\        |      `.._
              / |        |          `-.
             /  |        |`.           \ 
           .'  _|        |  `-._./     /
          /   ` |        |     .'    .'_       _.-._.--._
          \     |    .-. |\   '.____/.' \  _.-'          \
           `._ /     | | | \  '.____/  .'.`_.-.-.-._.-._.'
              /      | `-'  \ |     \ <._  `--._.--._.-_-._
             /    _.-'       \\     |    `-._.-._.-._      `-._
            `----' |          \`.  /   `-._)         `-.._      \
             /_.- .'\         |  `.   `-.._)              `-.._.'
             |_.-'  .\        |    `-..___)
               \_.-` '`-.____/           |
                    /     `._            |
                   /          `.         |
                  |           /|         |
           __.----'.         / |-.._...-'`-.._
        .-'         `-...--'\  |              `-._
       /    .---            |  |          `-._    \
       |  .'                /  \              `.   |
       `./                .'    `.              \ .'
         `.           _.-'        `._           .`
           '---...--'`               '--.....--`⠀⠀⠀
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

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 {
    address private _owner;

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

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

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        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 WOODY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Woody Woodpecker";
    string private constant _symbol = "WOODY";
    uint256 private constant _totalSupply = 10_000_000_000 * 10**18;
    uint256 public maxWalletlimit = 200_000_001 * 10**18; //max limit
    uint256 public maxTxLimit = 200_000_001 * 10**18; //maximum limit
    uint256 public minSwap = 1_000_000 * 10**18; //minswap
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable public marketingWallet;
    bool public isOpen = false;
    mapping(address => bool) public _whiteList;
    mapping (address => bool) public _isBlacklisted;

    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;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 80;
        sellTax = 80;


        _whiteList[msg.sender] = true;
        _whiteList[address(this)] = true;

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

        marketingWallet = payable(0xdEb551f5375e55886daEAb8f53AF28516683AA6A);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(uniswapV2Router)] = 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 RemoveLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
        maxTxLimit = _totalSupply;
    }
    

    function ChangeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10, "Must keep fees at 10% or less");
        require(newSellTax <= 10, "Must keep fees at 10% or less");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
    
    function EnableTrading() external onlyOwner {
        isOpen = true;
    }
        
    function BlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }
     
    function UnBlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = false;
      }
    }

    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");
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "To/from address is blacklisted!");

        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
        } 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) <= maxWalletlimit);
                require(amount <= maxTxLimit, "Buy transfer amount exceeds the maxTxLimit.");
                _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":"addresses","type":"address[]"}],"name":"BlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"UnBlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_whiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","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":[],"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":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","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"}]

60e06040526aa56fa5c770d0596f640000600181905560025569d3c21bcecceda10000006003556004805460ff60a01b191690553480156200003f575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000f8919062000363565b6001600160a01b0390811660c05260506007819055600855335f9081526005602090815260408083208054600160ff19918216811790925530855293829020805490941617909255608051825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156200017a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a0919062000363565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af1158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000215919062000363565b6001600160a01b0390811660a052600480546001600160a01b03191673deb551f5375e55886daeab8f53af28516683aa6a178155335f818152600a602090815260408083206b204fce5e3e250261100000009055845486168352600c8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055608051891680875284872080549093169093179091558452600b80845282852082865284528285205f199081905595855280845282852082865284528285208690559554909616835293815283822094825293909352912055620003043390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b204fce5e3e250261100000006040516200035591815260200190565b60405180910390a362000392565b5f6020828403121562000374575f80fd5b81516001600160a01b03811681146200038b575f80fd5b9392505050565b60805160a05160c051611384620003c45f395f610d9f01525f8181610c010152610cde01525f610dfa01526113845ff3fe60806040526004361061017e575f3560e01c806359cd9031116100cd5780638da5cb5b11610087578063cc1776d311610062578063cc1776d31461047f578063d50a72a614610494578063dd62ed3e146104b3578063f2fde38b146104f7575f80fd5b80638da5cb5b1461041757806395d89b4114610433578063a9059cbb14610460575f80fd5b806359cd90311461035957806370a082311461036e578063715018a6146103a257806375f0a874146103b65780638036d590146103ed57806389e40cf914610402575f80fd5b806323b872dd1161013857806347535d7b1161011357806347535d7b146102f15780634f7041a5146103115780635165943f1461032657806356cd40e714610345575f80fd5b806323b872dd146102985780632f6bc9e7146102b7578063313ce567146102d6575f80fd5b806305d60ffb1461018957806306fdde03146101cc578063095ea7b31461020d57806318160ddd1461022c5780631cdd3be3146102545780631d97b7cd14610282575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101b76101a33660046110d3565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101d7575f80fd5b5060408051808201909152601081526f2bb7b7b23c902bb7b7b23832b1b5b2b960811b60208201525b6040516101c391906110ec565b348015610218575f80fd5b506101b7610227366004611138565b610516565b348015610237575f80fd5b506b204fce5e3e250261100000005b6040519081526020016101c3565b34801561025f575f80fd5b506101b761026e3660046110d3565b60066020525f908152604090205460ff1681565b34801561028d575f80fd5b5061029661052c565b005b3480156102a3575f80fd5b506101b76102b2366004611160565b610556565b3480156102c2575f80fd5b506102966102d1366004611199565b6105a6565b3480156102e1575f80fd5b50604051601281526020016101c3565b3480156102fc575f80fd5b506004546101b790600160a01b900460ff1681565b34801561031c575f80fd5b5061024660075481565b348015610331575f80fd5b506102966103403660046111b9565b61066d565b348015610350575f80fd5b506102966106eb565b348015610364575f80fd5b5061024660035481565b348015610379575f80fd5b506102466103883660046110d3565b6001600160a01b03165f908152600a602052604090205490565b3480156103ad575f80fd5b50610296610717565b3480156103c1575f80fd5b506004546103d5906001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b3480156103f8575f80fd5b5061024660025481565b34801561040d575f80fd5b5061024660015481565b348015610422575f80fd5b505f546001600160a01b03166103d5565b34801561043e575f80fd5b50604080518082019091526005815264574f4f445960d81b6020820152610200565b34801561046b575f80fd5b506101b761047a366004611138565b610774565b34801561048a575f80fd5b5061024660085481565b34801561049f575f80fd5b506102966104ae3660046111b9565b610780565b3480156104be575f80fd5b506102466104cd366004611228565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b348015610502575f80fd5b506102966105113660046110d3565b6107fa565b5f61052233848461081b565b5060015b92915050565b5f546001600160a01b03163314610541575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f61056284848461093e565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461059c91869161059790869061126d565b61081b565b5060019392505050565b5f546001600160a01b031633146105bb575f80fd5b600a8211156106115760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156106625760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610608565b600791909155600855565b5f546001600160a01b03163314610682575f80fd5b5f5b818110156106e6575f60065f8585858181106106a2576106a2611280565b90506020020160208101906106b791906110d3565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610684565b505050565b5f546001600160a01b03163314610700575f80fd5b6b204fce5e3e250261100000006001819055600255565b5f546001600160a01b0316331461072c575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61052233848461093e565b5f546001600160a01b03163314610795575f80fd5b5f5b818110156106e657600160065f8585858181106107b6576107b6611280565b90506020020160208101906107cb91906110d3565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610797565b5f546001600160a01b0316331461080f575f80fd5b61081881610fe8565b50565b6001600160a01b03831661087d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b0382166108de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610608565b633b9aca0081116109e85760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610608565b600454600160a01b900460ff1680610a1757506001600160a01b0383165f9081526005602052604090205460ff165b80610a3957506001600160a01b0382165f9081526005602052604090205460ff165b610a705760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b6044820152606401610608565b6001600160a01b0383165f9081526006602052604090205460ff16158015610ab057506001600160a01b0382165f9081526006602052604090205460ff16155b610afc5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c697374656421006044820152606401610608565b6001600160a01b0383165f908152600c602052604081205460ff1680610b3957506001600160a01b0383165f908152600c602052604090205460ff165b15610b4557505f610e7d565b60095460ff16600103610bff576001600160a01b0384165f908152600a602052604081208054849290610b7990849061126d565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ba5908490611294565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bf191815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610cdc57600154610c6383610c5d866001600160a01b03165f908152600a602052604090205490565b90611053565b1115610c6d575f80fd5b600254821115610cd35760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b6064820152608401610608565b50600754610e7d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610e7a57305f908152600a602052604090205460035481118015610d38575060095460ff16155b15610e70576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d7d57610d7d611280565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610dd157610dd1611280565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac94793610e379388935f9389939216914291016112a7565b5f604051808303815f87803b158015610e4e575f80fd5b505af1158015610e60573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610e7d565b505f5b8015610fbb575f6064610e908385611318565b610e9a919061132f565b90505f610ea7828561126d565b6001600160a01b0387165f908152600a6020526040812080549293508692909190610ed390849061126d565b90915550506001600160a01b0385165f908152600a602052604081208054839290610eff908490611294565b9091555050305f908152600a602052604081208054849290610f22908490611294565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fac91815260200190565b60405180910390a35050610fe2565b6001600160a01b0384165f908152600a602052604081208054849290610b7990849061126d565b50505050565b6001600160a01b038116610ffa575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061105f8385611294565b9050838110156110b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b9392505050565b80356001600160a01b03811681146110ce575f80fd5b919050565b5f602082840312156110e3575f80fd5b6110b1826110b8565b5f602080835283518060208501525f5b81811015611118578581018301518582016040015282016110fc565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611149575f80fd5b611152836110b8565b946020939093013593505050565b5f805f60608486031215611172575f80fd5b61117b846110b8565b9250611189602085016110b8565b9150604084013590509250925092565b5f80604083850312156111aa575f80fd5b50508035926020909101359150565b5f80602083850312156111ca575f80fd5b823567ffffffffffffffff808211156111e1575f80fd5b818501915085601f8301126111f4575f80fd5b813581811115611202575f80fd5b8660208260051b8501011115611216575f80fd5b60209290920196919550909350505050565b5f8060408385031215611239575f80fd5b611242836110b8565b9150611250602084016110b8565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561052657610526611259565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561052657610526611259565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112f75784516001600160a01b0316835293830193918301916001016112d2565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761052657610526611259565b5f8261134957634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122016cb091134e0eb33c471a1f64b0e2711fdfc7fff47fce3554c450852b4accde164736f6c63430008160033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c806359cd9031116100cd5780638da5cb5b11610087578063cc1776d311610062578063cc1776d31461047f578063d50a72a614610494578063dd62ed3e146104b3578063f2fde38b146104f7575f80fd5b80638da5cb5b1461041757806395d89b4114610433578063a9059cbb14610460575f80fd5b806359cd90311461035957806370a082311461036e578063715018a6146103a257806375f0a874146103b65780638036d590146103ed57806389e40cf914610402575f80fd5b806323b872dd1161013857806347535d7b1161011357806347535d7b146102f15780634f7041a5146103115780635165943f1461032657806356cd40e714610345575f80fd5b806323b872dd146102985780632f6bc9e7146102b7578063313ce567146102d6575f80fd5b806305d60ffb1461018957806306fdde03146101cc578063095ea7b31461020d57806318160ddd1461022c5780631cdd3be3146102545780631d97b7cd14610282575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101b76101a33660046110d3565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101d7575f80fd5b5060408051808201909152601081526f2bb7b7b23c902bb7b7b23832b1b5b2b960811b60208201525b6040516101c391906110ec565b348015610218575f80fd5b506101b7610227366004611138565b610516565b348015610237575f80fd5b506b204fce5e3e250261100000005b6040519081526020016101c3565b34801561025f575f80fd5b506101b761026e3660046110d3565b60066020525f908152604090205460ff1681565b34801561028d575f80fd5b5061029661052c565b005b3480156102a3575f80fd5b506101b76102b2366004611160565b610556565b3480156102c2575f80fd5b506102966102d1366004611199565b6105a6565b3480156102e1575f80fd5b50604051601281526020016101c3565b3480156102fc575f80fd5b506004546101b790600160a01b900460ff1681565b34801561031c575f80fd5b5061024660075481565b348015610331575f80fd5b506102966103403660046111b9565b61066d565b348015610350575f80fd5b506102966106eb565b348015610364575f80fd5b5061024660035481565b348015610379575f80fd5b506102466103883660046110d3565b6001600160a01b03165f908152600a602052604090205490565b3480156103ad575f80fd5b50610296610717565b3480156103c1575f80fd5b506004546103d5906001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b3480156103f8575f80fd5b5061024660025481565b34801561040d575f80fd5b5061024660015481565b348015610422575f80fd5b505f546001600160a01b03166103d5565b34801561043e575f80fd5b50604080518082019091526005815264574f4f445960d81b6020820152610200565b34801561046b575f80fd5b506101b761047a366004611138565b610774565b34801561048a575f80fd5b5061024660085481565b34801561049f575f80fd5b506102966104ae3660046111b9565b610780565b3480156104be575f80fd5b506102466104cd366004611228565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b348015610502575f80fd5b506102966105113660046110d3565b6107fa565b5f61052233848461081b565b5060015b92915050565b5f546001600160a01b03163314610541575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f61056284848461093e565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461059c91869161059790869061126d565b61081b565b5060019392505050565b5f546001600160a01b031633146105bb575f80fd5b600a8211156106115760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156106625760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610608565b600791909155600855565b5f546001600160a01b03163314610682575f80fd5b5f5b818110156106e6575f60065f8585858181106106a2576106a2611280565b90506020020160208101906106b791906110d3565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610684565b505050565b5f546001600160a01b03163314610700575f80fd5b6b204fce5e3e250261100000006001819055600255565b5f546001600160a01b0316331461072c575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61052233848461093e565b5f546001600160a01b03163314610795575f80fd5b5f5b818110156106e657600160065f8585858181106107b6576107b6611280565b90506020020160208101906107cb91906110d3565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610797565b5f546001600160a01b0316331461080f575f80fd5b61081881610fe8565b50565b6001600160a01b03831661087d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b0382166108de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109a25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610608565b633b9aca0081116109e85760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610608565b600454600160a01b900460ff1680610a1757506001600160a01b0383165f9081526005602052604090205460ff165b80610a3957506001600160a01b0382165f9081526005602052604090205460ff165b610a705760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b6044820152606401610608565b6001600160a01b0383165f9081526006602052604090205460ff16158015610ab057506001600160a01b0382165f9081526006602052604090205460ff16155b610afc5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c697374656421006044820152606401610608565b6001600160a01b0383165f908152600c602052604081205460ff1680610b3957506001600160a01b0383165f908152600c602052604090205460ff165b15610b4557505f610e7d565b60095460ff16600103610bff576001600160a01b0384165f908152600a602052604081208054849290610b7990849061126d565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ba5908490611294565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bf191815260200190565b60405180910390a350505050565b7f000000000000000000000000954b466c3d5de58355cb8b84b8ad706464cdcc826001600160a01b0316846001600160a01b031603610cdc57600154610c6383610c5d866001600160a01b03165f908152600a602052604090205490565b90611053565b1115610c6d575f80fd5b600254821115610cd35760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b6064820152608401610608565b50600754610e7d565b7f000000000000000000000000954b466c3d5de58355cb8b84b8ad706464cdcc826001600160a01b0316836001600160a01b031603610e7a57305f908152600a602052604090205460035481118015610d38575060095460ff16155b15610e70576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d7d57610d7d611280565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610dd157610dd1611280565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac94793610e379388935f9389939216914291016112a7565b5f604051808303815f87803b158015610e4e575f80fd5b505af1158015610e60573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610e7d565b505f5b8015610fbb575f6064610e908385611318565b610e9a919061132f565b90505f610ea7828561126d565b6001600160a01b0387165f908152600a6020526040812080549293508692909190610ed390849061126d565b90915550506001600160a01b0385165f908152600a602052604081208054839290610eff908490611294565b9091555050305f908152600a602052604081208054849290610f22908490611294565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fac91815260200190565b60405180910390a35050610fe2565b6001600160a01b0384165f908152600a602052604081208054849290610b7990849061126d565b50505050565b6001600160a01b038116610ffa575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061105f8385611294565b9050838110156110b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b9392505050565b80356001600160a01b03811681146110ce575f80fd5b919050565b5f602082840312156110e3575f80fd5b6110b1826110b8565b5f602080835283518060208501525f5b81811015611118578581018301518582016040015282016110fc565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611149575f80fd5b611152836110b8565b946020939093013593505050565b5f805f60608486031215611172575f80fd5b61117b846110b8565b9250611189602085016110b8565b9150604084013590509250925092565b5f80604083850312156111aa575f80fd5b50508035926020909101359150565b5f80602083850312156111ca575f80fd5b823567ffffffffffffffff808211156111e1575f80fd5b818501915085601f8301126111f4575f80fd5b813581811115611202575f80fd5b8660208260051b8501011115611216575f80fd5b60209290920196919550909350505050565b5f8060408385031215611239575f80fd5b611242836110b8565b9150611250602084016110b8565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561052657610526611259565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561052657610526611259565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112f75784516001600160a01b0316835293830193918301916001016112d2565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761052657610526611259565b5f8261134957634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122016cb091134e0eb33c471a1f64b0e2711fdfc7fff47fce3554c450852b4accde164736f6c63430008160033

Deployed Bytecode Sourcemap

5145:7671:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5853:42;;;;;;;;;;-1:-1:-1;5853:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;5853:42:0;;;;;;;;7387:83;;;;;;;;;;-1:-1:-1;7457:5:0;;;;;;;;;;;;-1:-1:-1;;;7457:5:0;;;;7387:83;;;;;;;:::i;8297:193::-;;;;;;;;;;-1:-1:-1;8297:193:0;;;;;:::i;:::-;;:::i;7664:100::-;;;;;;;;;;-1:-1:-1;5379:23:0;7664:100;;;1533:25:1;;;1521:2;1506:18;7664:100:0;1387:177:1;5902:47:0;;;;;;;;;;-1:-1:-1;5902:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9684:76;;;;;;;;;;;;;:::i;:::-;;8498:350;;;;;;;;;;-1:-1:-1;8498:350:0;;;;;:::i;:::-;;:::i;9384:282::-;;;;;;;;;;-1:-1:-1;9384:282:0;;;;;:::i;:::-;;:::i;7573:83::-;;;;;;;;;;-1:-1:-1;7573:83:0;;5646:2;2297:36:1;;2285:2;2270:18;7573:83:0;2155:184:1;5820:26:0;;;;;;;;;;-1:-1:-1;5820:26:0;;;;-1:-1:-1;;;5820:26:0;;;;;;5958:21;;;;;;;;;;;;;;;;9978:192;;;;;;;;;;-1:-1:-1;9978:192:0;;;;;:::i;:::-;;:::i;9243:127::-;;;;;;;;;;;;;:::i;5551:43::-;;;;;;;;;;;;;;;;7772:118;;;;;;;;;;-1:-1:-1;7772:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;7865:17:0;7838:7;7865:17;;;:8;:17;;;;;;;7772:118;3954:140;;;;;;;;;;;;;:::i;5775:38::-;;;;;;;;;;-1:-1:-1;5775:38:0;;;;-1:-1:-1;;;;;5775:38:0;;;;;;-1:-1:-1;;;;;3144:32:1;;;3126:51;;3114:2;3099:18;5775:38:0;2964:219:1;5480:48:0;;;;;;;;;;;;;;;;5409:52;;;;;;;;;;;;;;;;3688:79;;;;;;;;;;-1:-1:-1;3726:7:0;3753:6;-1:-1:-1;;;;;3753:6:0;3688:79;;7478:87;;;;;;;;;;-1:-1:-1;7550:7:0;;;;;;;;;;;;-1:-1:-1;;;7550:7:0;;;;7478:87;;7898:199;;;;;;;;;;-1:-1:-1;7898:199:0;;;;;:::i;:::-;;:::i;5986:22::-;;;;;;;;;;;;;;;;9776:189;;;;;;;;;;-1:-1:-1;9776:189:0;;;;;:::i;:::-;;:::i;8105:184::-;;;;;;;;;;-1:-1:-1;8105:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8254:18:0;;;8222:7;8254:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8105:184;4102:109;;;;;;;;;;-1:-1:-1;4102:109:0;;;;;:::i;:::-;;:::i;8297:193::-;8399:4;8421:39;2597:10;8444:7;8453:6;8421:8;:39::i;:::-;-1:-1:-1;8478:4:0;8297:193;;;;;:::o;9684:76::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;9739:6:::1;:13:::0;;-1:-1:-1;;;;9739:13:0::1;-1:-1:-1::0;;;9739:13:0::1;::::0;;9684:76::o;8498:350::-;8630:4;8647:36;8657:6;8665:9;8676:6;8647:9;:36::i;:::-;-1:-1:-1;;;;;8765:19:0;;;;;;:11;:19;;;;;;;;2597:10;8765:33;;;;;;;;;8694:124;;8717:6;;8765:42;;8801:6;;8765:42;:::i;:::-;8694:8;:124::i;:::-;-1:-1:-1;8836:4:0;8498:350;;;;;:::o;9384:282::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;9493:2:::1;9480:9;:15;;9472:57;;;::::0;-1:-1:-1;;;9472:57:0;;4128:2:1;9472:57:0::1;::::0;::::1;4110:21:1::0;4167:2;4147:18;;;4140:30;4206:31;4186:18;;;4179:59;4255:18;;9472:57:0::1;;;;;;;;;9562:2;9548:10;:16;;9540:58;;;::::0;-1:-1:-1;;;9540:58:0;;4128:2:1;9540:58:0::1;::::0;::::1;4110:21:1::0;4167:2;4147:18;;;4140:30;4206:31;4186:18;;;4179:59;4255:18;;9540:58:0::1;3926:353:1::0;9540:58:0::1;9609:6;:18:::0;;;;9638:7:::1;:20:::0;9384:282::o;9978:192::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;10068:9:::1;10063:100;10079:20:::0;;::::1;10063:100;;;10148:5;10117:14;:28;10132:9;;10142:1;10132:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10117:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10117:28:0;:36;;-1:-1:-1;;10117:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10101:3:0::1;10063:100;;;;9978:192:::0;;:::o;9243:127::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;5379:23:::1;9297:14;:29:::0;;;9337:10:::1;:25:::0;9243:127::o;3954:140::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;4053:1:::1;4037:6:::0;;4016:40:::1;::::0;-1:-1:-1;;;;;4037:6:0;;::::1;::::0;4016:40:::1;::::0;4053:1;;4016:40:::1;4084:1;4067:19:::0;;-1:-1:-1;;;;;;4067:19:0::1;::::0;;3954:140::o;7898:199::-;8003:4;8025:42;2597:10;8049:9;8060:6;8025:9;:42::i;9776:189::-;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;9864:9:::1;9859:99;9875:20:::0;;::::1;9859:99;;;9944:4;9913:14;:28;9928:9;;9938:1;9928:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9913:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9913:28:0;:35;;-1:-1:-1;;9913:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9897:3:0::1;9859:99;;4102:109:::0;3894:4;3932:6;-1:-1:-1;;;;;3932:6:0;3918:10;:20;3807:18;;;;;;4175:28:::1;4194:8;4175:18;:28::i;:::-;4102:109:::0;:::o;8856:369::-;-1:-1:-1;;;;;8983:19:0;;8975:68;;;;-1:-1:-1;;;8975:68:0;;4618:2:1;8975:68:0;;;4600:21:1;4657:2;4637:18;;;4630:30;4696:34;4676:18;;;4669:62;-1:-1:-1;;;4747:18:1;;;4740:34;4791:19;;8975:68:0;4416:400:1;8975:68:0;-1:-1:-1;;;;;9062:21:0;;9054:68;;;;-1:-1:-1;;;9054:68:0;;5023:2:1;9054:68:0;;;5005:21:1;5062:2;5042:18;;;5035:30;5101:34;5081:18;;;5074:62;-1:-1:-1;;;5152:18:1;;;5145:32;5194:19;;9054:68:0;4821:398:1;9054:68:0;-1:-1:-1;;;;;9133:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9185:32;;1533:25:1;;;9185:32:0;;1506:18:1;9185:32:0;;;;;;;8856:369;;;:::o;10178:2598::-;-1:-1:-1;;;;;10300:18:0;;10292:68;;;;-1:-1:-1;;;10292:68:0;;5426:2:1;10292:68:0;;;5408:21:1;5465:2;5445:18;;;5438:30;5504:34;5484:18;;;5477:62;-1:-1:-1;;;5555:18:1;;;5548:35;5600:19;;10292:68:0;5224:401:1;10292:68:0;10388:3;10379:6;:12;10371:41;;;;-1:-1:-1;;;10371:41:0;;5832:2:1;10371:41:0;;;5814:21:1;5871:2;5851:18;;;5844:30;-1:-1:-1;;;5890:18:1;;;5883:46;5946:18;;10371:41:0;5630:340:1;10371:41:0;10431:6;;-1:-1:-1;;;10431:6:0;;;;;:26;;-1:-1:-1;;;;;;10441:16:0;;;;;;:10;:16;;;;;;;;10431:26;:44;;;-1:-1:-1;;;;;;10461:14:0;;;;;;:10;:14;;;;;;;;10431:44;10423:65;;;;-1:-1:-1;;;10423:65:0;;6177:2:1;10423:65:0;;;6159:21:1;6216:1;6196:18;;;6189:29;-1:-1:-1;;;6234:18:1;;;6227:38;6282:18;;10423:65:0;5975:331:1;10423:65:0;-1:-1:-1;;;;;10508:20:0;;;;;;:14;:20;;;;;;;;10507:21;:44;;;;-1:-1:-1;;;;;;10533:18:0;;;;;;:14;:18;;;;;;;;10532:19;10507:44;10499:88;;;;-1:-1:-1;;;10499:88:0;;6513:2:1;10499:88:0;;;6495:21:1;6552:2;6532:18;;;6525:30;6591:33;6571:18;;;6564:61;6642:18;;10499:88:0;6311:355:1;10499:88:0;-1:-1:-1;;;;;10627:25:0;;10600:12;10627:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;10656:23:0;;;;;;:19;:23;;;;;;;;10627:52;10623:1484;;;-1:-1:-1;10703:1:0;10623:1484;;;10743:16;;;;;:21;10739:239;;-1:-1:-1;;;;;10820:14:0;;;;;;:8;:14;;;;;:24;;10838:6;;10820:14;:24;;10838:6;;10820:24;:::i;:::-;;;;-1:-1:-1;;;;;;;10863:12:0;;;;;;:8;:12;;;;;:22;;10879:6;;10863:12;:22;;10879:6;;10863:22;:::i;:::-;;;;;;;;10926:2;-1:-1:-1;;;;;10911:26:0;10920:4;-1:-1:-1;;;;;10911:26:0;;10930:6;10911:26;;;;1533:25:1;;1521:2;1506:18;;1387:177;10911:26:0;;;;;;;;10956:7;10178:2598;;;:::o;10739:239::-;11006:13;-1:-1:-1;;;;;10998:21:0;:4;-1:-1:-1;;;;;10998:21:0;;10994:1102;;11077:14;;11048:25;11066:6;11048:13;11058:2;-1:-1:-1;;;;;7865:17:0;7838:7;7865:17;;;:8;:17;;;;;;;7772:118;11048:13;:17;;:25::i;:::-;:43;;11040:52;;;;;;11129:10;;11119:6;:20;;11111:76;;;;-1:-1:-1;;;11111:76:0;;7003:2:1;11111:76:0;;;6985:21:1;7042:2;7022:18;;;7015:30;7081:34;7061:18;;;7054:62;-1:-1:-1;;;7132:18:1;;;7125:41;7183:19;;11111:76:0;6801:407:1;11111:76:0;-1:-1:-1;11213:6:0;;10994:1102;;;11251:13;-1:-1:-1;;;;;11245:19:0;:2;-1:-1:-1;;;;;11245:19:0;;11241:855;;11325:4;11285:20;11308:23;;;:8;:23;;;;;;11369:7;;11354:22;;:47;;;;-1:-1:-1;11380:16:0;;;;:21;11354:47;11350:649;;;11426:16;:20;;-1:-1:-1;;11426:20:0;11445:1;11426:20;;;11493:16;;;11507:1;11493:16;;;;;;;;-1:-1:-1;;11493:16:0;;;;;;;;;;-1:-1:-1;11493:16:0;11469:40;;11550:4;11532;11537:1;11532:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11532:23:0;;;-1:-1:-1;;;;;11532:23:0;;;;;11588:4;11578;11583:1;11578:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11578:14:0;;;:7;;;;;;;;;:14;11848:15;;;11615:321;;-1:-1:-1;;;11615:321:0;;:15;:92;;;;;:321;;11738:12;;11781:1;;11813:4;;11848:15;;;11894;;11615:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11959:16:0;:20;;-1:-1:-1;;11959:20:0;;;-1:-1:-1;;;11350:649:0;-1:-1:-1;;12024:7:0;;11241:855;;;-1:-1:-1;12079:1:0;11241:855;12180:9;;12176:593;;12234:17;12272:3;12255:13;12264:4;12255:6;:13;:::i;:::-;12254:21;;;;:::i;:::-;12234:41;-1:-1:-1;12290:22:0;12315:18;12234:41;12315:6;:18;:::i;:::-;-1:-1:-1;;;;;12350:14:0;;;;;;:8;:14;;;;;:24;;12290:43;;-1:-1:-1;12368:6:0;;12350:14;;;:24;;12368:6;;12350:24;:::i;:::-;;;;-1:-1:-1;;;;;;;12389:12:0;;;;;;:8;:12;;;;;:30;;12405:14;;12389:12;:30;;12405:14;;12389:30;:::i;:::-;;;;-1:-1:-1;;12451:4:0;12434:23;;;;:8;:23;;;;;:36;;12461:9;;12434:23;:36;;12461:9;;12434:36;:::i;:::-;;;;-1:-1:-1;;12490:40:0;;1533:25:1;;;12513:4:0;;-1:-1:-1;;;;;12490:40:0;;;;;1521:2:1;1506:18;12490:40:0;;;;;;;12565:2;-1:-1:-1;;;;;12550:34:0;12559:4;-1:-1:-1;;;;;12550:34:0;;12569:14;12550:34;;;;1533:25:1;;1521:2;1506:18;;1387:177;12550:34:0;;;;;;;;12191:405;;12176:593;;;-1:-1:-1;;;;;12648:14:0;;;;;;:8;:14;;;;;:24;;12666:6;;12648:14;:24;;12666:6;;12648:24;:::i;12176:593::-;10281:2495;10178:2598;;;:::o;4219:187::-;-1:-1:-1;;;;;4293:22:0;;4285:31;;;;;;4353:6;;;4332:38;;-1:-1:-1;;;;;4332:38:0;;;;4353:6;;;4332:38;;;4381:6;:17;;-1:-1:-1;;;;;;4381:17:0;-1:-1:-1;;;;;4381:17:0;;;;;;;;;;4219:187::o;4439:181::-;4497:7;;4529:5;4533:1;4529;:5;:::i;:::-;4517:17;;4558:1;4553;:6;;4545:46;;;;-1:-1:-1;;;4545:46:0;;8935:2:1;4545:46:0;;;8917:21:1;8974:2;8954:18;;;8947:30;9013:29;8993:18;;;8986:57;9060:18;;4545:46:0;8733:351:1;4545:46:0;4611:1;4439:181;-1:-1:-1;;;4439:181:0:o;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;575:548::-;687:4;716:2;745;734:9;727:21;777:6;771:13;820:6;815:2;804:9;800:18;793:34;845:1;855:140;869:6;866:1;863:13;855:140;;;964:14;;;960:23;;954:30;930:17;;;949:2;926:26;919:66;884:10;;855:140;;;859:3;1044:1;1039:2;1030:6;1019:9;1015:22;1011:31;1004:42;1114:2;1107;1103:7;1098:2;1090:6;1086:15;1082:29;1071:9;1067:45;1063:54;1055:62;;;;575:548;;;;:::o;1128:254::-;1196:6;1204;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;1296:29;1315:9;1296:29;:::i;:::-;1286:39;1372:2;1357:18;;;;1344:32;;-1:-1:-1;;;1128:254:1:o;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;1902:248::-;1970:6;1978;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;-1:-1:-1;;2070:23:1;;;2140:2;2125:18;;;2112:32;;-1:-1:-1;1902:248:1:o;2344:615::-;2430:6;2438;2491:2;2479:9;2470:7;2466:23;2462:32;2459:52;;;2507:1;2504;2497:12;2459:52;2547:9;2534:23;2576:18;2617:2;2609:6;2606:14;2603:34;;;2633:1;2630;2623:12;2603:34;2671:6;2660:9;2656:22;2646:32;;2716:7;2709:4;2705:2;2701:13;2697:27;2687:55;;2738:1;2735;2728:12;2687:55;2778:2;2765:16;2804:2;2796:6;2793:14;2790:34;;;2820:1;2817;2810:12;2790:34;2873:7;2868:2;2858:6;2855:1;2851:14;2847:2;2843:23;2839:32;2836:45;2833:65;;;2894:1;2891;2884:12;2833:65;2925:2;2917:11;;;;;2947:6;;-1:-1:-1;2344:615:1;;-1:-1:-1;;;;2344:615:1:o;3396:260::-;3464:6;3472;3525:2;3513:9;3504:7;3500:23;3496:32;3493:52;;;3541:1;3538;3531:12;3493:52;3564:29;3583:9;3564:29;:::i;:::-;3554:39;;3612:38;3646:2;3635:9;3631:18;3612:38;:::i;:::-;3602:48;;3396:260;;;;;:::o;3661:127::-;3722:10;3717:3;3713:20;3710:1;3703:31;3753:4;3750:1;3743:15;3777:4;3774:1;3767:15;3793:128;3860:9;;;3881:11;;;3878:37;;;3895:18;;:::i;4284:127::-;4345:10;4340:3;4336:20;4333:1;4326:31;4376:4;4373:1;4366:15;4400:4;4397:1;4390:15;6671:125;6736:9;;;6757:10;;;6754:36;;;6770:18;;:::i;7345:988::-;7615:4;7663:3;7652:9;7648:19;7694:6;7683:9;7676:25;7720:2;7758:6;7753:2;7742:9;7738:18;7731:34;7801:3;7796:2;7785:9;7781:18;7774:31;7825:6;7860;7854:13;7891:6;7883;7876:22;7929:3;7918:9;7914:19;7907:26;;7968:2;7960:6;7956:15;7942:29;;7989:1;7999:195;8013:6;8010:1;8007:13;7999:195;;;8078:13;;-1:-1:-1;;;;;8074:39:1;8062:52;;8169:15;;;;8134:12;;;;8110:1;8028:9;7999:195;;;-1:-1:-1;;;;;;;8250:32:1;;;;8245:2;8230:18;;8223:60;-1:-1:-1;;;8314:3:1;8299:19;8292:35;8211:3;7345:988;-1:-1:-1;;;7345:988:1:o;8338:168::-;8411:9;;;8442;;8459:15;;;8453:22;;8439:37;8429:71;;8480:18;;:::i;8511:217::-;8551:1;8577;8567:132;;8621:10;8616:3;8612:20;8609:1;8602:31;8656:4;8653:1;8646:15;8684:4;8681:1;8674:15;8567:132;-1:-1:-1;8713:9:1;;8511:217::o

Swarm Source

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