ETH Price: $3,029.86 (+0.20%)
Gas: 3 Gwei

Token

Woody Woodpecker (WOODY)
 

Overview

Max Total Supply

1,000,000,000,000,000,000,000,000,000 WOODY

Holders

86

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
810,322,795,036,611,743,832,503 WOODY

Value
$0.00
0x0b7d3a82c6fbef69fe49cfb4c36a26e554f6ef70
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-05
*/

/***
Telegram: https://t.me/Woody_Portal
Website: https://Woodywoodpecker.org
⠀⠀⠀⠀⠀⢀⣤⣤⣶⣶⢆⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀
⠸⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠷⠀⠀⠀⠀⠀
⠀⠸⣿⣿⣿⣿⣿⣿⣿⣏⡉⠙⢿⣿⣿⣿⣷⡄⠀⠀⠀⠀
⠀⠀⢻⣿⣿⡿⠛⠛⢿⠟⠛⠃⠀⠙⣿⣿⢿⣿⡄⠀⠀⠀
⠀⠀⢸⣿⡟⠀⣾⣿⣿⣿⣿⠿⣦⡀⠹⣿⠀⠉⠁⠀⠀⠀
⠀⣰⣿⣿⣿⣾⣿⠉⠉⠻⢿⡄⡙⣿⡀⠉⠀⠀⣀⣤⣾⡿
⢰⣿⣿⣿⣿⣿⣿⣆⣠⣀⠈⢿⣯⣾⣷⣴⣶⠿⠛⢩⡿⠁
⢸⣿⣿⣿⣿⡿⠟⠻⣧⣼⡇⢸⣿⠉⠉⠀⠀⠀⣴⡿⠁⠀
⠈⢿⣿⣿⠋⠀⢀⣤⡌⠛⠿⠟⠁⢀⣀⣀⣴⡿⠋⠀⠀⠀
⠀⠈⠹⢿⣤⣀⢈⡀⠻⣏⢻⣿⠁⣿⠋⠉⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠉⠛⠛⢿⣦⡈⠛⠏⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠷⣦⣼⡟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀
***/
// 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 = 1_000_000_000 * 10**18;
    uint256 public maxWalletlimit = 20_000_001 * 10**18; 
    uint256 public maxTxLimit = 20_000_001 * 10**18; 
    uint256 public minSwap = 500_000 * 10**18; 
    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 = 90;
        sellTax = 90;


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

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

        marketingWallet = payable(0x4d1De95154432f59b90bfa5D638fD178A132f82A);
        _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 ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }
    
    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 ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    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":"address","name":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","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":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","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"}]

60e06040526a108b2a3a08b9443b64000060018190556002556969e10de76676d08000006003556004805460ff60a01b191690553480156200003f575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000f8919062000363565b6001600160a01b0390811660c052605a6007819055600855335f9081526005602090815260408083208054600160ff19918216811790925530855293829020805490941617909255608051825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156200017a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a0919062000363565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af1158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000215919062000363565b6001600160a01b0390811660a052600480546001600160a01b031916734d1de95154432f59b90bfa5d638fd178a132f82a178155335f818152600a602090815260408083206b033b2e3c9fd0803ce80000009055845486168352600c8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055608051891680875284872080549093169093179091558452600b80845282852082865284528285205f199081905595855280845282852082865284528285208690559554909616835293815283822094825293909352912055620003043390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200035591815260200190565b60405180910390a362000392565b5f6020828403121562000374575f80fd5b81516001600160a01b03811681146200038b575f80fd5b9392505050565b60805160a05160c051611513620003c45f395f610ede01525f8181610d400152610e1d01525f610f3901526115135ff3fe6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d31461051b578063d50a72a614610530578063dd62ed3e1461054f578063f2fde38b14610593575f80fd5b80638da5cb5b1461049457806395d89b41146104b05780639d8f7706146104dd578063a9059cbb146104fc575f80fd5b806374233c06116100cd57806374233c061461041457806375f0a874146104335780638036d5901461046a57806389e40cf91461047f575f80fd5b806359cd9031146103b757806370a08231146103cc578063715018a614610400575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034f5780634f7041a51461036f5780635165943f1461038457806356cd40e7146103a3575f80fd5b806323b872dd146102f65780632f6bc9e714610315578063313ce56714610334575f80fd5b8063095ea7b311610198578063095ea7b31461026d57806318160ddd1461028c5780631cdd3be3146102b45780631d97b7cd146102e2575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611212565b6105b2565b005b3480156101f4575f80fd5b50610217610203366004611212565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152601081526f2bb7b7b23c902bb7b7b23832b1b5b2b960811b60208201525b604051610223919061122b565b348015610278575f80fd5b50610217610287366004611277565b6105e9565b348015610297575f80fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610223565b3480156102bf575f80fd5b506102176102ce366004611212565b60066020525f908152604090205460ff1681565b3480156102ed575f80fd5b506101e76105ff565b348015610301575f80fd5b5061021761031036600461129f565b610629565b348015610320575f80fd5b506101e761032f3660046112d8565b610679565b34801561033f575f80fd5b5060405160128152602001610223565b34801561035a575f80fd5b5060045461021790600160a01b900460ff1681565b34801561037a575f80fd5b506102a660075481565b34801561038f575f80fd5b506101e761039e3660046112f8565b610740565b3480156103ae575f80fd5b506101e76107be565b3480156103c2575f80fd5b506102a660035481565b3480156103d7575f80fd5b506102a66103e6366004611212565b6001600160a01b03165f908152600a602052604090205490565b34801561040b575f80fd5b506101e76107ea565b34801561041f575f80fd5b506101e761042e366004611367565b610847565b34801561043e575f80fd5b50600454610452906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610475575f80fd5b506102a660025481565b34801561048a575f80fd5b506102a660015481565b34801561049f575f80fd5b505f546001600160a01b0316610452565b3480156104bb575f80fd5b50604080518082019091526005815264574f4f445960d81b6020820152610260565b3480156104e8575f80fd5b506101e76104f736600461137e565b610874565b348015610507575f80fd5b50610217610516366004611277565b6108b3565b348015610526575f80fd5b506102a660085481565b34801561053b575f80fd5b506101e761054a3660046112f8565b6108bf565b34801561055a575f80fd5b506102a66105693660046113b7565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059e575f80fd5b506101e76105ad366004611212565b610939565b5f546001600160a01b031633146105c7575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f533848461095a565b5060015b92915050565b5f546001600160a01b03163314610614575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610635848484610a7d565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066f91869161066a9086906113fc565b61095a565b5060019392505050565b5f546001600160a01b0316331461068e575f80fd5b600a8211156106e45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107355760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106db565b600791909155600855565b5f546001600160a01b03163314610755575f80fd5b5f5b818110156107b9575f60065f8585858181106107755761077561140f565b905060200201602081019061078a9190611212565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610757565b505050565b5f546001600160a01b031633146107d3575f80fd5b6b033b2e3c9fd0803ce80000006001819055600255565b5f546001600160a01b031633146107ff575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461085c575f80fd5b61086e81670de0b6b3a7640000611423565b60035550565b5f546001600160a01b03163314610889575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f5338484610a7d565b5f546001600160a01b031633146108d4575f80fd5b5f5b818110156107b957600160065f8585858181106108f5576108f561140f565b905060200201602081019061090a9190611212565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d6565b5f546001600160a01b0316331461094e575f80fd5b61095781611127565b50565b6001600160a01b0383166109bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106db565b6001600160a01b038216610a1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106db565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106db565b633b9aca008111610b275760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106db565b600454600160a01b900460ff1680610b5657506001600160a01b0383165f9081526005602052604090205460ff165b80610b7857506001600160a01b0382165f9081526005602052604090205460ff165b610baf5760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106db565b6001600160a01b0383165f9081526006602052604090205460ff16158015610bef57506001600160a01b0382165f9081526006602052604090205460ff16155b610c3b5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106db565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7857506001600160a01b0383165f908152600c602052604090205460ff165b15610c8457505f610fbc565b60095460ff16600103610d3e576001600160a01b0384165f908152600a602052604081208054849290610cb89084906113fc565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce490849061143a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d3091815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610e1b57600154610da283610d9c866001600160a01b03165f908152600a602052604090205490565b90611192565b1115610dac575f80fd5b600254821115610e125760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106db565b50600754610fbc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610fb957305f908152600a602052604090205460035481118015610e77575060095460ff16155b15610faf576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ebc57610ebc61140f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f1057610f1061140f565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac94793610f769388935f93899392169142910161144d565b5f604051808303815f87803b158015610f8d575f80fd5b505af1158015610f9f573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fbc565b505f5b80156110fa575f6064610fcf8385611423565b610fd991906114be565b90505f610fe682856113fc565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110129084906113fc565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103e90849061143a565b9091555050305f908152600a60205260408120805484929061106190849061143a565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110eb91815260200190565b60405180910390a35050611121565b6001600160a01b0384165f908152600a602052604081208054849290610cb89084906113fc565b50505050565b6001600160a01b038116611139575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119e838561143a565b9050838110156111f05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106db565b9392505050565b80356001600160a01b038116811461120d575f80fd5b919050565b5f60208284031215611222575f80fd5b6111f0826111f7565b5f602080835283518060208501525f5b818110156112575785810183015185820160400152820161123b565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611288575f80fd5b611291836111f7565b946020939093013593505050565b5f805f606084860312156112b1575f80fd5b6112ba846111f7565b92506112c8602085016111f7565b9150604084013590509250925092565b5f80604083850312156112e9575f80fd5b50508035926020909101359150565b5f8060208385031215611309575f80fd5b823567ffffffffffffffff80821115611320575f80fd5b818501915085601f830112611333575f80fd5b813581811115611341575f80fd5b8660208260051b8501011115611355575f80fd5b60209290920196919550909350505050565b5f60208284031215611377575f80fd5b5035919050565b5f806040838503121561138f575f80fd5b611398836111f7565b9150602083013580151581146113ac575f80fd5b809150509250929050565b5f80604083850312156113c8575f80fd5b6113d1836111f7565b91506113df602084016111f7565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f9576105f96113e8565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f9576105f96113e8565b808201808211156105f9576105f96113e8565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561149d5784516001600160a01b031683529383019391830191600101611478565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212207351918aaf7c53045d2ed6276cc36e243760ee26261465760af5da4fbd8e10a164736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d31461051b578063d50a72a614610530578063dd62ed3e1461054f578063f2fde38b14610593575f80fd5b80638da5cb5b1461049457806395d89b41146104b05780639d8f7706146104dd578063a9059cbb146104fc575f80fd5b806374233c06116100cd57806374233c061461041457806375f0a874146104335780638036d5901461046a57806389e40cf91461047f575f80fd5b806359cd9031146103b757806370a08231146103cc578063715018a614610400575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034f5780634f7041a51461036f5780635165943f1461038457806356cd40e7146103a3575f80fd5b806323b872dd146102f65780632f6bc9e714610315578063313ce56714610334575f80fd5b8063095ea7b311610198578063095ea7b31461026d57806318160ddd1461028c5780631cdd3be3146102b45780631d97b7cd146102e2575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611212565b6105b2565b005b3480156101f4575f80fd5b50610217610203366004611212565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152601081526f2bb7b7b23c902bb7b7b23832b1b5b2b960811b60208201525b604051610223919061122b565b348015610278575f80fd5b50610217610287366004611277565b6105e9565b348015610297575f80fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610223565b3480156102bf575f80fd5b506102176102ce366004611212565b60066020525f908152604090205460ff1681565b3480156102ed575f80fd5b506101e76105ff565b348015610301575f80fd5b5061021761031036600461129f565b610629565b348015610320575f80fd5b506101e761032f3660046112d8565b610679565b34801561033f575f80fd5b5060405160128152602001610223565b34801561035a575f80fd5b5060045461021790600160a01b900460ff1681565b34801561037a575f80fd5b506102a660075481565b34801561038f575f80fd5b506101e761039e3660046112f8565b610740565b3480156103ae575f80fd5b506101e76107be565b3480156103c2575f80fd5b506102a660035481565b3480156103d7575f80fd5b506102a66103e6366004611212565b6001600160a01b03165f908152600a602052604090205490565b34801561040b575f80fd5b506101e76107ea565b34801561041f575f80fd5b506101e761042e366004611367565b610847565b34801561043e575f80fd5b50600454610452906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610475575f80fd5b506102a660025481565b34801561048a575f80fd5b506102a660015481565b34801561049f575f80fd5b505f546001600160a01b0316610452565b3480156104bb575f80fd5b50604080518082019091526005815264574f4f445960d81b6020820152610260565b3480156104e8575f80fd5b506101e76104f736600461137e565b610874565b348015610507575f80fd5b50610217610516366004611277565b6108b3565b348015610526575f80fd5b506102a660085481565b34801561053b575f80fd5b506101e761054a3660046112f8565b6108bf565b34801561055a575f80fd5b506102a66105693660046113b7565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059e575f80fd5b506101e76105ad366004611212565b610939565b5f546001600160a01b031633146105c7575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f533848461095a565b5060015b92915050565b5f546001600160a01b03163314610614575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610635848484610a7d565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066f91869161066a9086906113fc565b61095a565b5060019392505050565b5f546001600160a01b0316331461068e575f80fd5b600a8211156106e45760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107355760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106db565b600791909155600855565b5f546001600160a01b03163314610755575f80fd5b5f5b818110156107b9575f60065f8585858181106107755761077561140f565b905060200201602081019061078a9190611212565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610757565b505050565b5f546001600160a01b031633146107d3575f80fd5b6b033b2e3c9fd0803ce80000006001819055600255565b5f546001600160a01b031633146107ff575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461085c575f80fd5b61086e81670de0b6b3a7640000611423565b60035550565b5f546001600160a01b03163314610889575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f5338484610a7d565b5f546001600160a01b031633146108d4575f80fd5b5f5b818110156107b957600160065f8585858181106108f5576108f561140f565b905060200201602081019061090a9190611212565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d6565b5f546001600160a01b0316331461094e575f80fd5b61095781611127565b50565b6001600160a01b0383166109bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106db565b6001600160a01b038216610a1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106db565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106db565b633b9aca008111610b275760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106db565b600454600160a01b900460ff1680610b5657506001600160a01b0383165f9081526005602052604090205460ff165b80610b7857506001600160a01b0382165f9081526005602052604090205460ff165b610baf5760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106db565b6001600160a01b0383165f9081526006602052604090205460ff16158015610bef57506001600160a01b0382165f9081526006602052604090205460ff16155b610c3b5760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106db565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7857506001600160a01b0383165f908152600c602052604090205460ff165b15610c8457505f610fbc565b60095460ff16600103610d3e576001600160a01b0384165f908152600a602052604081208054849290610cb89084906113fc565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce490849061143a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d3091815260200190565b60405180910390a350505050565b7f0000000000000000000000009e3fee7287866384ef58afe592cd6600897e210d6001600160a01b0316846001600160a01b031603610e1b57600154610da283610d9c866001600160a01b03165f908152600a602052604090205490565b90611192565b1115610dac575f80fd5b600254821115610e125760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106db565b50600754610fbc565b7f0000000000000000000000009e3fee7287866384ef58afe592cd6600897e210d6001600160a01b0316836001600160a01b031603610fb957305f908152600a602052604090205460035481118015610e77575060095460ff16155b15610faf576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ebc57610ebc61140f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f1057610f1061140f565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac94793610f769388935f93899392169142910161144d565b5f604051808303815f87803b158015610f8d575f80fd5b505af1158015610f9f573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fbc565b505f5b80156110fa575f6064610fcf8385611423565b610fd991906114be565b90505f610fe682856113fc565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110129084906113fc565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103e90849061143a565b9091555050305f908152600a60205260408120805484929061106190849061143a565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110eb91815260200190565b60405180910390a35050611121565b6001600160a01b0384165f908152600a602052604081208054849290610cb89084906113fc565b50505050565b6001600160a01b038116611139575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119e838561143a565b9050838110156111f05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106db565b9392505050565b80356001600160a01b038116811461120d575f80fd5b919050565b5f60208284031215611222575f80fd5b6111f0826111f7565b5f602080835283518060208501525f5b818110156112575785810183015185820160400152820161123b565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611288575f80fd5b611291836111f7565b946020939093013593505050565b5f805f606084860312156112b1575f80fd5b6112ba846111f7565b92506112c8602085016111f7565b9150604084013590509250925092565b5f80604083850312156112e9575f80fd5b50508035926020909101359150565b5f8060208385031215611309575f80fd5b823567ffffffffffffffff80821115611320575f80fd5b818501915085601f830112611333575f80fd5b813581811115611341575f80fd5b8660208260051b8501011115611355575f80fd5b60209290920196919550909350505050565b5f60208284031215611377575f80fd5b5035919050565b5f806040838503121561138f575f80fd5b611398836111f7565b9150602083013580151581146113ac575f80fd5b809150509250929050565b5f80604083850312156113c8575f80fd5b6113d1836111f7565b91506113df602084016111f7565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f9576105f96113e8565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f9576105f96113e8565b808201808211156105f9576105f96113e8565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561149d5784516001600160a01b031683529383019391830191600101611478565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212207351918aaf7c53045d2ed6276cc36e243760ee26261465760af5da4fbd8e10a164736f6c63430008160033

Deployed Bytecode Sourcemap

3760:8036:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8517:135;;;;;;;;;;-1:-1:-1;8517:135:0;;;;;:::i;:::-;;:::i;:::-;;4428:42;;;;;;;;;;-1:-1:-1;4428:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;4428:42:0;;;;;;;;5962:83;;;;;;;;;;-1:-1:-1;6032:5:0;;;;;;;;;;;;-1:-1:-1;;;6032:5:0;;;;5962:83;;;;;;;:::i;6872:193::-;;;;;;;;;;-1:-1:-1;6872:193:0;;;;;:::i;:::-;;:::i;6239:100::-;;;;;;;;;;-1:-1:-1;3994:22:0;6239:100;;;1533:25:1;;;1521:2;1506:18;6239:100:0;1387:177:1;4477:47:0;;;;;;;;;;-1:-1:-1;4477:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8664:76;;;;;;;;;;;;;:::i;7073:350::-;;;;;;;;;;-1:-1:-1;7073:350:0;;;;;:::i;:::-;;:::i;8093:282::-;;;;;;;;;;-1:-1:-1;8093:282:0;;;;;:::i;:::-;;:::i;6148:83::-;;;;;;;;;;-1:-1:-1;6148:83:0;;4221:2;2297:36:1;;2285:2;2270:18;6148:83:0;2155:184:1;4395:26:0;;;;;;;;;;-1:-1:-1;4395:26:0;;;;-1:-1:-1;;;4395:26:0;;;;;;4533:21;;;;;;;;;;;;;;;;8958:192;;;;;;;;;;-1:-1:-1;8958:192:0;;;;;:::i;:::-;;:::i;7952:127::-;;;;;;;;;;;;;:::i;4137:41::-;;;;;;;;;;;;;;;;6347:118;;;;;;;;;;-1:-1:-1;6347:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6440:17:0;6413:7;6440:17;;;:8;:17;;;;;;;6347:118;2569:140;;;;;;;;;;;;;:::i;8387:122::-;;;;;;;;;;-1:-1:-1;8387:122:0;;;;;:::i;:::-;;:::i;4350:38::-;;;;;;;;;;-1:-1:-1;4350:38:0;;;;-1:-1:-1;;;;;4350:38:0;;;;;;-1:-1:-1;;;;;3329:32:1;;;3311:51;;3299:2;3284:18;4350:38:0;3149:219:1;4082:47:0;;;;;;;;;;;;;;;;4023:51;;;;;;;;;;;;;;;;2303:79;;;;;;;;;;-1:-1:-1;2341:7:0;2368:6;-1:-1:-1;;;;;2368:6:0;2303:79;;6053:87;;;;;;;;;;-1:-1:-1;6125:7:0;;;;;;;;;;;;-1:-1:-1;;;6125:7:0;;;;6053:87;;7812:128;;;;;;;;;;-1:-1:-1;7812:128:0;;;;;:::i;:::-;;:::i;6473:199::-;;;;;;;;;;-1:-1:-1;6473:199:0;;;;;:::i;:::-;;:::i;4561:22::-;;;;;;;;;;;;;;;;8756:189;;;;;;;;;;-1:-1:-1;8756:189:0;;;;;:::i;:::-;;:::i;6680:184::-;;;;;;;;;;-1:-1:-1;6680:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6829:18:0;;;6797:7;6829:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6680:184;2717:109;;;;;;;;;;-1:-1:-1;2717:109:0;;;;;:::i;:::-;;:::i;8517:135::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;8607:15:::1;:37:::0;;-1:-1:-1;;;;;;8607:37:0::1;-1:-1:-1::0;;;;;8607:37:0;;;::::1;::::0;;;::::1;::::0;;8517:135::o;6872:193::-;6974:4;6996:39;1212:10;7019:7;7028:6;6996:8;:39::i;:::-;-1:-1:-1;7053:4:0;6872:193;;;;;:::o;8664:76::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;8719:6:::1;:13:::0;;-1:-1:-1;;;;8719:13:0::1;-1:-1:-1::0;;;8719:13:0::1;::::0;;8664:76::o;7073:350::-;7205:4;7222:36;7232:6;7240:9;7251:6;7222:9;:36::i;:::-;-1:-1:-1;;;;;7340:19:0;;;;;;:11;:19;;;;;;;;1212:10;7340:33;;;;;;;;;7269:124;;7292:6;;7340:42;;7376:6;;7340:42;:::i;:::-;7269:8;:124::i;:::-;-1:-1:-1;7411:4:0;7073:350;;;;;:::o;8093:282::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;8202:2:::1;8189:9;:15;;8181:57;;;::::0;-1:-1:-1;;;8181:57:0;;4665:2:1;8181:57:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;8181:57:0::1;;;;;;;;;8271:2;8257:10;:16;;8249:58;;;::::0;-1:-1:-1;;;8249:58:0;;4665:2:1;8249:58:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;8249:58:0::1;4463:353:1::0;8249:58:0::1;8318:6;:18:::0;;;;8347:7:::1;:20:::0;8093:282::o;8958:192::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;9048:9:::1;9043:100;9059:20:::0;;::::1;9043:100;;;9128:5;9097:14;:28;9112:9;;9122:1;9112:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9097:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9097:28:0;:36;;-1:-1:-1;;9097:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9081:3:0::1;9043:100;;;;8958:192:::0;;:::o;7952:127::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;3994:22:::1;8006:14;:29:::0;;;8046:10:::1;:25:::0;7952:127::o;2569:140::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;2668:1:::1;2652:6:::0;;2631:40:::1;::::0;-1:-1:-1;;;;;2652:6:0;;::::1;::::0;2631:40:::1;::::0;2668:1;;2631:40:::1;2699:1;2682:19:::0;;-1:-1:-1;;;;;;2682:19:0::1;::::0;;2569:140::o;8387:122::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;8476:25:::1;:16:::0;8495:6:::1;8476:25;:::i;:::-;8466:7;:35:::0;-1:-1:-1;8387:122:0:o;7812:128::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;-1:-1:-1;;;;;7896:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;7896:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7812:128::o;6473:199::-;6578:4;6600:42;1212:10;6624:9;6635:6;6600:9;:42::i;8756:189::-;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;8844:9:::1;8839:99;8855:20:::0;;::::1;8839:99;;;8924:4;8893:14;:28;8908:9;;8918:1;8908:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8893:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8893:28:0;:35;;-1:-1:-1;;8893:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;8877:3:0::1;8839:99;;2717:109:::0;2509:4;2547:6;-1:-1:-1;;;;;2547:6:0;2533:10;:20;2422:18;;;;;;2790:28:::1;2809:8;2790:18;:28::i;:::-;2717:109:::0;:::o;7431:369::-;-1:-1:-1;;;;;7558:19:0;;7550:68;;;;-1:-1:-1;;;7550:68:0;;5328:2:1;7550:68:0;;;5310:21:1;5367:2;5347:18;;;5340:30;5406:34;5386:18;;;5379:62;-1:-1:-1;;;5457:18:1;;;5450:34;5501:19;;7550:68:0;5126:400:1;7550:68:0;-1:-1:-1;;;;;7637:21:0;;7629:68;;;;-1:-1:-1;;;7629:68:0;;5733:2:1;7629:68:0;;;5715:21:1;5772:2;5752:18;;;5745:30;5811:34;5791:18;;;5784:62;-1:-1:-1;;;5862:18:1;;;5855:32;5904:19;;7629:68:0;5531:398:1;7629:68:0;-1:-1:-1;;;;;7708:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7760:32;;1533:25:1;;;7760:32:0;;1506:18:1;7760:32:0;;;;;;;7431:369;;;:::o;9158:2598::-;-1:-1:-1;;;;;9280:18:0;;9272:68;;;;-1:-1:-1;;;9272:68:0;;6136:2:1;9272:68:0;;;6118:21:1;6175:2;6155:18;;;6148:30;6214:34;6194:18;;;6187:62;-1:-1:-1;;;6265:18:1;;;6258:35;6310:19;;9272:68:0;5934:401:1;9272:68:0;9368:3;9359:6;:12;9351:41;;;;-1:-1:-1;;;9351:41:0;;6542:2:1;9351:41:0;;;6524:21:1;6581:2;6561:18;;;6554:30;-1:-1:-1;;;6600:18:1;;;6593:46;6656:18;;9351:41:0;6340:340:1;9351:41:0;9411:6;;-1:-1:-1;;;9411:6:0;;;;;:26;;-1:-1:-1;;;;;;9421:16:0;;;;;;:10;:16;;;;;;;;9411:26;:44;;;-1:-1:-1;;;;;;9441:14:0;;;;;;:10;:14;;;;;;;;9411:44;9403:65;;;;-1:-1:-1;;;9403:65:0;;6887:2:1;9403:65:0;;;6869:21:1;6926:1;6906:18;;;6899:29;-1:-1:-1;;;6944:18:1;;;6937:38;6992:18;;9403:65:0;6685:331:1;9403:65:0;-1:-1:-1;;;;;9488:20:0;;;;;;:14;:20;;;;;;;;9487:21;:44;;;;-1:-1:-1;;;;;;9513:18:0;;;;;;:14;:18;;;;;;;;9512:19;9487:44;9479:88;;;;-1:-1:-1;;;9479:88:0;;7223:2:1;9479:88:0;;;7205:21:1;7262:2;7242:18;;;7235:30;7301:33;7281:18;;;7274:61;7352:18;;9479:88:0;7021:355:1;9479:88:0;-1:-1:-1;;;;;9607:25:0;;9580:12;9607:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;9636:23:0;;;;;;:19;:23;;;;;;;;9607:52;9603:1484;;;-1:-1:-1;9683:1:0;9603:1484;;;9723:16;;;;;:21;9719:239;;-1:-1:-1;;;;;9800:14:0;;;;;;:8;:14;;;;;:24;;9818:6;;9800:14;:24;;9818:6;;9800:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9843:12:0;;;;;;:8;:12;;;;;:22;;9859:6;;9843:12;:22;;9859:6;;9843:22;:::i;:::-;;;;;;;;9906:2;-1:-1:-1;;;;;9891:26:0;9900:4;-1:-1:-1;;;;;9891:26:0;;9910:6;9891:26;;;;1533:25:1;;1521:2;1506:18;;1387:177;9891:26:0;;;;;;;;9936:7;9158:2598;;;:::o;9719:239::-;9986:13;-1:-1:-1;;;;;9978:21:0;:4;-1:-1:-1;;;;;9978:21:0;;9974:1102;;10057:14;;10028:25;10046:6;10028:13;10038:2;-1:-1:-1;;;;;6440:17:0;6413:7;6440:17;;;:8;:17;;;;;;;6347:118;10028:13;:17;;:25::i;:::-;:43;;10020:52;;;;;;10109:10;;10099:6;:20;;10091:76;;;;-1:-1:-1;;;10091:76:0;;7713:2:1;10091:76:0;;;7695:21:1;7752:2;7732:18;;;7725:30;7791:34;7771:18;;;7764:62;-1:-1:-1;;;7842:18:1;;;7835:41;7893:19;;10091:76:0;7511:407:1;10091:76:0;-1:-1:-1;10193:6:0;;9974:1102;;;10231:13;-1:-1:-1;;;;;10225:19:0;:2;-1:-1:-1;;;;;10225:19:0;;10221:855;;10305:4;10265:20;10288:23;;;:8;:23;;;;;;10349:7;;10334:22;;:47;;;;-1:-1:-1;10360:16:0;;;;:21;10334:47;10330:649;;;10406:16;:20;;-1:-1:-1;;10406:20:0;10425:1;10406:20;;;10473:16;;;10487:1;10473:16;;;;;;;;-1:-1:-1;;10473:16:0;;;;;;;;;;-1:-1:-1;10473:16:0;10449:40;;10530:4;10512;10517:1;10512:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10512:23:0;;;-1:-1:-1;;;;;10512:23:0;;;;;10568:4;10558;10563:1;10558:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10558:14:0;;;:7;;;;;;;;;:14;10828:15;;;10595:321;;-1:-1:-1;;;10595:321:0;;:15;:92;;;;;:321;;10718:12;;10761:1;;10793:4;;10828:15;;;10874;;10595:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10939:16:0;:20;;-1:-1:-1;;10939:20:0;;;-1:-1:-1;;;10330:649:0;-1:-1:-1;;11004:7:0;;10221:855;;;-1:-1:-1;11059:1:0;10221:855;11160:9;;11156:593;;11214:17;11252:3;11235:13;11244:4;11235:6;:13;:::i;:::-;11234:21;;;;:::i;:::-;11214:41;-1:-1:-1;11270:22:0;11295:18;11214:41;11295:6;:18;:::i;:::-;-1:-1:-1;;;;;11330:14:0;;;;;;:8;:14;;;;;:24;;11270:43;;-1:-1:-1;11348:6:0;;11330:14;;;:24;;11348:6;;11330:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11369:12:0;;;;;;:8;:12;;;;;:30;;11385:14;;11369:12;:30;;11385:14;;11369:30;:::i;:::-;;;;-1:-1:-1;;11431:4:0;11414:23;;;;:8;:23;;;;;:36;;11441:9;;11414:23;:36;;11441:9;;11414:36;:::i;:::-;;;;-1:-1:-1;;11470:40:0;;1533:25:1;;;11493:4:0;;-1:-1:-1;;;;;11470:40:0;;;;;1521:2:1;1506:18;11470:40:0;;;;;;;11545:2;-1:-1:-1;;;;;11530:34:0;11539:4;-1:-1:-1;;;;;11530:34:0;;11549:14;11530:34;;;;1533:25:1;;1521:2;1506:18;;1387:177;11530:34:0;;;;;;;;11171:405;;11156:593;;;-1:-1:-1;;;;;11628:14:0;;;;;;:8;:14;;;;;:24;;11646:6;;11628:14;:24;;11646:6;;11628:24;:::i;11156:593::-;9261:2495;9158:2598;;;:::o;2834:187::-;-1:-1:-1;;;;;2908:22:0;;2900:31;;;;;;2968:6;;;2947:38;;-1:-1:-1;;;;;2947:38:0;;;;2968:6;;;2947:38;;;2996:6;:17;;-1:-1:-1;;;;;;2996:17:0;-1:-1:-1;;;;;2996:17:0;;;;;;;;;;2834:187::o;3054:181::-;3112:7;;3144:5;3148:1;3144;:5;:::i;:::-;3132:17;;3173:1;3168;:6;;3160:46;;;;-1:-1:-1;;;3160:46:0;;9472:2:1;3160:46:0;;;9454:21:1;9511:2;9491:18;;;9484:30;9550:29;9530:18;;;9523:57;9597:18;;3160:46:0;9270:351:1;3160:46:0;3226:1;3054:181;-1:-1:-1;;;3054: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;2964:180::-;3023:6;3076:2;3064:9;3055:7;3051:23;3047:32;3044:52;;;3092:1;3089;3082:12;3044:52;-1:-1:-1;3115:23:1;;2964:180;-1:-1:-1;2964:180:1:o;3581:347::-;3646:6;3654;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;3746:29;3765:9;3746:29;:::i;:::-;3736:39;;3825:2;3814:9;3810:18;3797:32;3872:5;3865:13;3858:21;3851:5;3848:32;3838:60;;3894:1;3891;3884:12;3838:60;3917:5;3907:15;;;3581:347;;;;;:::o;3933:260::-;4001:6;4009;4062:2;4050:9;4041:7;4037:23;4033:32;4030:52;;;4078:1;4075;4068:12;4030:52;4101:29;4120:9;4101:29;:::i;:::-;4091:39;;4149:38;4183:2;4172:9;4168:18;4149:38;:::i;:::-;4139:48;;3933:260;;;;;:::o;4198:127::-;4259:10;4254:3;4250:20;4247:1;4240:31;4290:4;4287:1;4280:15;4314:4;4311:1;4304:15;4330:128;4397:9;;;4418:11;;;4415:37;;;4432:18;;:::i;4821:127::-;4882:10;4877:3;4873:20;4870:1;4863:31;4913:4;4910:1;4903:15;4937:4;4934:1;4927:15;4953:168;5026:9;;;5057;;5074:15;;;5068:22;;5054:37;5044:71;;5095:18;;:::i;7381:125::-;7446:9;;;7467:10;;;7464:36;;;7480:18;;:::i;8055:988::-;8325:4;8373:3;8362:9;8358:19;8404:6;8393:9;8386:25;8430:2;8468:6;8463:2;8452:9;8448:18;8441:34;8511:3;8506:2;8495:9;8491:18;8484:31;8535:6;8570;8564:13;8601:6;8593;8586:22;8639:3;8628:9;8624:19;8617:26;;8678:2;8670:6;8666:15;8652:29;;8699:1;8709:195;8723:6;8720:1;8717:13;8709:195;;;8788:13;;-1:-1:-1;;;;;8784:39:1;8772:52;;8879:15;;;;8844:12;;;;8820:1;8738:9;8709:195;;;-1:-1:-1;;;;;;;8960:32:1;;;;8955:2;8940:18;;8933:60;-1:-1:-1;;;9024:3:1;9009:19;9002:35;8921:3;8055:988;-1:-1:-1;;;8055:988:1:o;9048:217::-;9088:1;9114;9104:132;;9158:10;9153:3;9149:20;9146:1;9139:31;9193:4;9190:1;9183:15;9221:4;9218:1;9211:15;9104:132;-1:-1:-1;9250:9:1;;9048:217::o

Swarm Source

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