ETH Price: $3,388.95 (+4.10%)
 

Overview

Max Total Supply

1,000,000,000 FLUB

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
apehardbetmore.eth
Balance
18,211,384.593793089 FLUB

Value
$0.00
0x2e319D36e246D36C1FDA338E677137045Be14B34
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:
FLUB

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-16
*/

// SPDX-License-Identifier: Unlicensed

/**
Flubber token is a unique meme cryptocurrency project that stands out from the crowd. Unlike typical crypto ventures, it places a strong emphasis on community involvement and ownership. In Flubber token, there are no team members hoarding tokens; instead, every token is held by members of the lively community. This approach ensures a fair distribution of power.

Website: https://flubber.live
Telegram: https://t.me/flub_erc20
Twitter: https://twitter.com/flub_erc
 */

pragma solidity = 0.8.19;

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address pairAddr, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pairAddr);
    function createPair(address tokenA, address tokenB) external returns (address pairAddr);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IUniswapRouterV1 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapRouterV2 is IUniswapRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

contract FLUB is Context, Ownable, IERC20 {

    string constant private _name = "Flubber";
    string constant private _symbol = "FLUB";
    uint8 constant private _decimals = 9;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public taxSwapMinAmount = _totalSupply / 100_000;
    uint256 constant public taxWenTransfer = 0;
    uint256 constant public taxDivider = 1_000;
    uint256 public taxWenBuy = 210;
    uint256 public taxWenSell = 210;
    uint256 private _maxTxAmount = 25 * _totalSupply / 1000;
    bool private swapTaxActivated = true;
    address payable private _devAddress;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    address public pairAddr;
    IUniswapRouterV2 public uniswapRouter;
    bool public tradeStarted = false;
    bool private _inswap;
    bool private maxTxNoEffect = false;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFeeAddr;
    mapping (address => bool) private _lpAddAddr;
    mapping (address => bool) private _lpPairAddr;
    mapping (address => uint256) private balance;

    modifier inSwapFlag {
        _inswap = true;
        _;
        _inswap = false;
    }
    event SwapAndLiquify();


    constructor () {
        uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _noFeeAddr[msg.sender] = true;
        _devAddress = payable(address(0x1aE97FdcE8370603E856cC2ca906f57248cA2208));
        _noFeeAddr[_devAddress] = true;
        _lpAddAddr[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        pairAddr = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _lpPairAddr[pairAddr] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }
                        
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Can't approve on Zero Address");
        require(spender != address(0), "ERC20: Can't approve on Zero Address");

        _allowances[sender][spender] = amount;
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }
    
    function jumpTrade() external onlyOwner {
        require(!tradeStarted, "Already enabled trading");
        tradeStarted = true;
    }
    
    function removeFees() external onlyOwner {
        require(!maxTxNoEffect,"Already disabled limits");
        _maxTxAmount = _totalSupply;
        maxTxNoEffect = true;
        taxWenBuy = 10;
        taxWenSell = 10;
    }
    
    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    
    function isTransferingTx(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_lpPairAddr[out] && !_lpPairAddr[ins];
        return _is_transfer;
    }
    
    function feeTokens(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = taxWenBuy;  else if (issell)  fee = taxWenSell;  else  fee = taxWenTransfer; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / taxDivider;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }
    
    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) _devAddress.transfer(address(this).balance);
    } 
    
    function shouldSwapBack(address ins) internal view returns (bool) {
        bool canswap = swapTaxActivated && !_noFeeAddr[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: cannot transfer to the dead address");
        require(from != address(0), "ERC20: cannott transfer from the dead address");
        require(amount > 0, "TX amount must be greater than zero");

        if (isAddrWhitelist(from,to)) {
            require(tradeStarted,"Trading is not enabled");
                    if(!_lpPairAddr[to] && from != address(this) && to != address(this) || isTransferingTx(from,to) && !maxTxNoEffect)  { require(balanceOf(to) + amount <= _maxTxAmount,"_maxTxAmount exceed"); }}


        if(isSellingTx(from, to) &&  !_inswap && shouldSwapBack(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= taxSwapMinAmount) { 
                if(amount > taxSwapMinAmount) swapBack(tokenAmount);
             }
        }

        if (_noFeeAddr[from] || _noFeeAddr[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? feeTokens(from, isBuyingTx(from, to), isSellingTx(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeStarted ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }

    function isAddrWhitelist(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_lpAddAddr[ins]  && !_lpAddAddr[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function isBuyingTx(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_lpPairAddr[out] && _lpPairAddr[ins];
        return _is_buy;
    }

    function isSellingTx(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _lpPairAddr[out] && !_lpPairAddr[ins];
        return _is_sell;
    }

    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":[],"name":"SwapAndLiquify","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":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jumpTrade","outputs":[],"stateMutability":"nonpayable","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":"pairAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxSwapMinAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWenBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWenSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWenTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260d260018190556002556103e862000026670de0b6b3a764000060196200045a565b62000032919062000486565b6003556004805460ff191660011790556006805462ff00ff60a01b191690553480156200005e57600080fd5b506200006a3362000334565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055336000818152600860209081526040808320805460ff19908116600190811790925560048054741ae97fdce8370603e856cc2ca906f57248ca220800610100600160a81b0319909116179081905561010090046001600160a01b0316855282852080548216831790558585526009845282852080549091169091179055600b8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cb9190620004a9565b6001600160a01b031663c9c65396600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002539190620004a9565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c69190620004a9565b600580546001600160a01b0319166001600160a01b039283169081179091556000908152600a60205260409020805460ff19166001179055600654620003129133911660001962000384565b6006546200032e9030906001600160a01b031660001962000384565b620004db565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003db5760405162461bcd60e51b8152602060048201526024808201526000805160206200193a8339815191526044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200042e5760405162461bcd60e51b8152602060048201526024808201526000805160206200193a8339815191526044820152637265737360e01b6064820152608401620003d2565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b80820281158282048414176200048057634e487b7160e01b600052601160045260246000fd5b92915050565b600082620004a457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004bc57600080fd5b81516001600160a01b0381168114620004d457600080fd5b9392505050565b61144f80620004eb6000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610414578063f2fde38b1461045a578063f6b20c3b1461047a578063fb1c01981461048f57600080fd5b806395d89b41146103b2578063a9059cbb146103df578063bd7b23eb146103ff57600080fd5b806370a0823114610311578063715018a614610347578063735de9f71461035e578063893d20e81461037e57806389e04d451461039c5780638da5cb5b1461037e57600080fd5b8063313ce56711610123578063313ce567146102785780633eaaf86b1461029457806345af349a146102b05780634f4fc99b146102c557806353ba05f7146102e557806358ac468d146102fb57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e257806318160ddd1461021257806323b872dd1461023757806329d42dbd1461025757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b5060408051808201909152600781526623363ab13132b960c91b60208201525b6040516101a09190611161565b3480156101ee57600080fd5b506102026101fd3660046111c4565b6104a4565b60405190151581526020016101a0565b34801561021e57600080fd5b50670de0b6b3a76400005b6040519081526020016101a0565b34801561024357600080fd5b506102026102523660046111f0565b6104bb565b34801561026357600080fd5b5060065461020290600160a01b900460ff1681565b34801561028457600080fd5b50604051600981526020016101a0565b3480156102a057600080fd5b50610229670de0b6b3a764000081565b3480156102bc57600080fd5b50610229600081565b3480156102d157600080fd5b5060055461018c906001600160a01b031681565b3480156102f157600080fd5b5061022960015481565b34801561030757600080fd5b506102296103e881565b34801561031d57600080fd5b5061022961032c366004611231565b6001600160a01b03166000908152600b602052604090205490565b34801561035357600080fd5b5061035c610533565b005b34801561036a57600080fd5b5060065461018c906001600160a01b031681565b34801561038a57600080fd5b506000546001600160a01b031661018c565b3480156103a857600080fd5b5061022960025481565b3480156103be57600080fd5b5060408051808201909152600481526323262aa160e11b60208201526101d5565b3480156103eb57600080fd5b506102026103fa3660046111c4565b610572565b34801561040b57600080fd5b50610229610589565b34801561042057600080fd5b5061022961042f36600461124e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561046657600080fd5b5061035c610475366004611231565b6105a1565b34801561048657600080fd5b5061035c61063c565b34801561049b57600080fd5b5061035c6106eb565b60006104b1338484610784565b5060015b92915050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610520576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061051a90849061129d565b90915550505b61052b8484846107fc565b949350505050565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d906112b0565b60405180910390fd5b6105706000610c54565b565b600061057f3384846107fc565b5060019392505050565b61059e620186a0670de0b6b3a76400006112e5565b81565b6000546001600160a01b031633146105cb5760405162461bcd60e51b815260040161055d906112b0565b6001600160a01b0381166106305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b61063981610c54565b50565b6000546001600160a01b031633146106665760405162461bcd60e51b815260040161055d906112b0565b600654600160b01b900460ff16156106c05760405162461bcd60e51b815260206004820152601760248201527f416c72656164792064697361626c6564206c696d697473000000000000000000604482015260640161055d565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161055d906112b0565b600654600160a01b900460ff161561076f5760405162461bcd60e51b815260206004820152601760248201527f416c726561647920656e61626c65642074726164696e67000000000000000000604482015260640161055d565b6006805460ff60a01b1916600160a01b179055565b6001600160a01b0383166107aa5760405162461bcd60e51b815260040161055d90611307565b6001600160a01b0382166107d05760405162461bcd60e51b815260040161055d90611307565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166108695760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2063616e6e6f74207472616e7366657220746f207468652064656044820152696164206164647265737360b01b606482015260840161055d565b6001600160a01b0385166108d55760405162461bcd60e51b815260206004820152602d60248201527f45524332303a2063616e6e6f7474207472616e736665722066726f6d2074686560448201526c2064656164206164647265737360981b606482015260840161055d565b600083116109315760405162461bcd60e51b815260206004820152602360248201527f545820616d6f756e74206d7573742062652067726561746572207468616e207a60448201526265726f60e81b606482015260840161055d565b61093b8585610ca4565b15610a7557600654600160a01b900460ff166109925760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161055d565b6001600160a01b0384166000908152600a602052604090205460ff161580156109c457506001600160a01b0385163014155b80156109d957506001600160a01b0384163014155b806109ff57506109e98585610d79565b80156109ff5750600654600160b01b900460ff16155b15610a755760035483610a27866001600160a01b03166000908152600b602052604090205490565b610a31919061134b565b1115610a755760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b604482015260640161055d565b610a7f8585610dc1565b8015610a955750600654600160a81b900460ff16155b8015610aa55750610aa585610e08565b15610afc57306000908152600b6020526040902054610acf620186a0670de0b6b3a76400006112e5565b8110610afa57610aea620186a0670de0b6b3a76400006112e5565b841115610afa57610afa81610e3f565b505b6001600160a01b03851660009081526008602052604090205460ff1680610b3b57506001600160a01b03841660009081526008602052604090205460ff165b15610b44575060005b600081610b515783610b6f565b610b6f86610b5f8888611049565b610b698989610dc1565b87611090565b9050600082610b9757600654600160a01b900460ff1615610b91576000610b99565b84610b99565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610bc690849061129d565b90915550506001600160a01b0386166000908152600b602052604081208054849290610bf390849061134b565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3f91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cb96000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610ce857506000546001600160a01b03848116911614155b8015610cff57506000546001600160a01b03163314155b8015610d2457506001600160a01b03841660009081526009602052604090205460ff16155b8015610d4957506001600160a01b03831660009081526009602052604090205460ff16155b8015610d5d57506001600160a01b03831615155b801561052b57506001600160a01b038316301415949350505050565b6001600160a01b0381166000908152600a6020526040812054819060ff1615801561052b57505050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a6020526040812054819060ff16801561052b57505050506001600160a01b03166000908152600a602052604090205460ff161590565b600454600090819060ff168015610e3857506001600160a01b03831660009081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8757610e8761135e565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190611374565b81600181518110610f1757610f1761135e565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610f81573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fba908590600090869030904290600401611391565b600060405180830381600087803b158015610fd457600080fd5b505af1925050508015610fe5575060015b610fef5750611039565b4715611037576004546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611035573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a6020526040812054819060ff1615801561052b57505050506001600160a01b03166000908152600a602052604090205460ff1690565b60008084156110a257506001546110b5565b83156110b157506002546110b5565b5060005b806000036110c6578291505061052b565b60006103e86110d58386611402565b6110df91906112e5565b9050801561114c57306000908152600b60205260408120805483929061110690849061134b565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611156818561129d565b979650505050505050565b600060208083528351808285015260005b8181101561118e57858101830151858201604001528201611172565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461063957600080fd5b600080604083850312156111d757600080fd5b82356111e2816111af565b946020939093013593505050565b60008060006060848603121561120557600080fd5b8335611210816111af565b92506020840135611220816111af565b929592945050506040919091013590565b60006020828403121561124357600080fd5b8135610e38816111af565b6000806040838503121561126157600080fd5b823561126c816111af565b9150602083013561127c816111af565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b5576104b5611287565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261130257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f45524332303a2043616e277420617070726f7665206f6e205a65726f204164646040820152637265737360e01b606082015260800190565b808201808211156104b5576104b5611287565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561138657600080fd5b8151610e38816111af565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113e15784516001600160a01b0316835293830193918301916001016113bc565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104b5576104b561128756fea2646970667358221220d98614df5df48ea456d08ab897a4890e3e3890ec1ecac1fec858d8da3740eff664736f6c6343000813003345524332303a2043616e277420617070726f7665206f6e205a65726f20416464

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610414578063f2fde38b1461045a578063f6b20c3b1461047a578063fb1c01981461048f57600080fd5b806395d89b41146103b2578063a9059cbb146103df578063bd7b23eb146103ff57600080fd5b806370a0823114610311578063715018a614610347578063735de9f71461035e578063893d20e81461037e57806389e04d451461039c5780638da5cb5b1461037e57600080fd5b8063313ce56711610123578063313ce567146102785780633eaaf86b1461029457806345af349a146102b05780634f4fc99b146102c557806353ba05f7146102e557806358ac468d146102fb57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e257806318160ddd1461021257806323b872dd1461023757806329d42dbd1461025757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b5060408051808201909152600781526623363ab13132b960c91b60208201525b6040516101a09190611161565b3480156101ee57600080fd5b506102026101fd3660046111c4565b6104a4565b60405190151581526020016101a0565b34801561021e57600080fd5b50670de0b6b3a76400005b6040519081526020016101a0565b34801561024357600080fd5b506102026102523660046111f0565b6104bb565b34801561026357600080fd5b5060065461020290600160a01b900460ff1681565b34801561028457600080fd5b50604051600981526020016101a0565b3480156102a057600080fd5b50610229670de0b6b3a764000081565b3480156102bc57600080fd5b50610229600081565b3480156102d157600080fd5b5060055461018c906001600160a01b031681565b3480156102f157600080fd5b5061022960015481565b34801561030757600080fd5b506102296103e881565b34801561031d57600080fd5b5061022961032c366004611231565b6001600160a01b03166000908152600b602052604090205490565b34801561035357600080fd5b5061035c610533565b005b34801561036a57600080fd5b5060065461018c906001600160a01b031681565b34801561038a57600080fd5b506000546001600160a01b031661018c565b3480156103a857600080fd5b5061022960025481565b3480156103be57600080fd5b5060408051808201909152600481526323262aa160e11b60208201526101d5565b3480156103eb57600080fd5b506102026103fa3660046111c4565b610572565b34801561040b57600080fd5b50610229610589565b34801561042057600080fd5b5061022961042f36600461124e565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561046657600080fd5b5061035c610475366004611231565b6105a1565b34801561048657600080fd5b5061035c61063c565b34801561049b57600080fd5b5061035c6106eb565b60006104b1338484610784565b5060015b92915050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610520576001600160a01b03841660009081526007602090815260408083203384529091528120805484929061051a90849061129d565b90915550505b61052b8484846107fc565b949350505050565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d906112b0565b60405180910390fd5b6105706000610c54565b565b600061057f3384846107fc565b5060019392505050565b61059e620186a0670de0b6b3a76400006112e5565b81565b6000546001600160a01b031633146105cb5760405162461bcd60e51b815260040161055d906112b0565b6001600160a01b0381166106305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b61063981610c54565b50565b6000546001600160a01b031633146106665760405162461bcd60e51b815260040161055d906112b0565b600654600160b01b900460ff16156106c05760405162461bcd60e51b815260206004820152601760248201527f416c72656164792064697361626c6564206c696d697473000000000000000000604482015260640161055d565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161055d906112b0565b600654600160a01b900460ff161561076f5760405162461bcd60e51b815260206004820152601760248201527f416c726561647920656e61626c65642074726164696e67000000000000000000604482015260640161055d565b6006805460ff60a01b1916600160a01b179055565b6001600160a01b0383166107aa5760405162461bcd60e51b815260040161055d90611307565b6001600160a01b0382166107d05760405162461bcd60e51b815260040161055d90611307565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166108695760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2063616e6e6f74207472616e7366657220746f207468652064656044820152696164206164647265737360b01b606482015260840161055d565b6001600160a01b0385166108d55760405162461bcd60e51b815260206004820152602d60248201527f45524332303a2063616e6e6f7474207472616e736665722066726f6d2074686560448201526c2064656164206164647265737360981b606482015260840161055d565b600083116109315760405162461bcd60e51b815260206004820152602360248201527f545820616d6f756e74206d7573742062652067726561746572207468616e207a60448201526265726f60e81b606482015260840161055d565b61093b8585610ca4565b15610a7557600654600160a01b900460ff166109925760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161055d565b6001600160a01b0384166000908152600a602052604090205460ff161580156109c457506001600160a01b0385163014155b80156109d957506001600160a01b0384163014155b806109ff57506109e98585610d79565b80156109ff5750600654600160b01b900460ff16155b15610a755760035483610a27866001600160a01b03166000908152600b602052604090205490565b610a31919061134b565b1115610a755760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b604482015260640161055d565b610a7f8585610dc1565b8015610a955750600654600160a81b900460ff16155b8015610aa55750610aa585610e08565b15610afc57306000908152600b6020526040902054610acf620186a0670de0b6b3a76400006112e5565b8110610afa57610aea620186a0670de0b6b3a76400006112e5565b841115610afa57610afa81610e3f565b505b6001600160a01b03851660009081526008602052604090205460ff1680610b3b57506001600160a01b03841660009081526008602052604090205460ff165b15610b44575060005b600081610b515783610b6f565b610b6f86610b5f8888611049565b610b698989610dc1565b87611090565b9050600082610b9757600654600160a01b900460ff1615610b91576000610b99565b84610b99565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610bc690849061129d565b90915550506001600160a01b0386166000908152600b602052604081208054849290610bf390849061134b565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3f91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610cb96000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610ce857506000546001600160a01b03848116911614155b8015610cff57506000546001600160a01b03163314155b8015610d2457506001600160a01b03841660009081526009602052604090205460ff16155b8015610d4957506001600160a01b03831660009081526009602052604090205460ff16155b8015610d5d57506001600160a01b03831615155b801561052b57506001600160a01b038316301415949350505050565b6001600160a01b0381166000908152600a6020526040812054819060ff1615801561052b57505050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a6020526040812054819060ff16801561052b57505050506001600160a01b03166000908152600a602052604090205460ff161590565b600454600090819060ff168015610e3857506001600160a01b03831660009081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e8757610e8761135e565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190611374565b81600181518110610f1757610f1761135e565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610f81573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fba908590600090869030904290600401611391565b600060405180830381600087803b158015610fd457600080fd5b505af1925050508015610fe5575060015b610fef5750611039565b4715611037576004546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611035573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a6020526040812054819060ff1615801561052b57505050506001600160a01b03166000908152600a602052604090205460ff1690565b60008084156110a257506001546110b5565b83156110b157506002546110b5565b5060005b806000036110c6578291505061052b565b60006103e86110d58386611402565b6110df91906112e5565b9050801561114c57306000908152600b60205260408120805483929061110690849061134b565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611156818561129d565b979650505050505050565b600060208083528351808285015260005b8181101561118e57858101830151858201604001528201611172565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461063957600080fd5b600080604083850312156111d757600080fd5b82356111e2816111af565b946020939093013593505050565b60008060006060848603121561120557600080fd5b8335611210816111af565b92506020840135611220816111af565b929592945050506040919091013590565b60006020828403121561124357600080fd5b8135610e38816111af565b6000806040838503121561126157600080fd5b823561126c816111af565b9150602083013561127c816111af565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b5576104b5611287565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261130257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f45524332303a2043616e277420617070726f7665206f6e205a65726f204164646040820152637265737360e01b606082015260800190565b808201808211156104b5576104b5611287565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561138657600080fd5b8151610e38816111af565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113e15784516001600160a01b0316835293830193918301916001016113bc565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104b5576104b561128756fea2646970667358221220d98614df5df48ea456d08ab897a4890e3e3890ec1ecac1fec858d8da3740eff664736f6c63430008130033

Deployed Bytecode Sourcemap

5066:8017:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5710:73;;;;;;;;;;;;5741:42;5710:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5710:73:0;;;;;;;;8853:80;;;;;;;;;;-1:-1:-1;8925:5:0;;;;;;;;;;;;-1:-1:-1;;;8925:5:0;;;;8853:80;;;;;;;:::i;7324:161::-;;;;;;;;;;-1:-1:-1;7324:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7324:161:0;1231:187:1;8509:125:0;;;;;;;;;;-1:-1:-1;5296:15:0;8509:125;;;1569:25:1;;;1557:2;1542:18;8509:125:0;1423:177:1;7800:306:0;;;;;;;;;;-1:-1:-1;7800:306:0;;;;;:::i;:::-;;:::i;5866:32::-;;;;;;;;;;-1:-1:-1;5866:32:0;;;;-1:-1:-1;;;5866:32:0;;;;;;8640:117;;;;;;;;;;-1:-1:-1;8640:117:0;;5247:1;2208:36:1;;2196:2;2181:18;8640:117:0;2066:184:1;5257:54:0;;;;;;;;;;;;5296:15;5257:54;;5390:42;;;;;;;;;;;;5431:1;5390:42;;5792:23;;;;;;;;;;-1:-1:-1;5792:23:0;;;;-1:-1:-1;;;;;5792:23:0;;;5488:30;;;;;;;;;;;;;;;;5439:42;;;;;;;;;;;;5476:5;5439:42;;9164:117;;;;;;;;;;-1:-1:-1;9164:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;9257:16:0;9230:7;9257:16;;;:7;:16;;;;;;;9164:117;3684:94;;;;;;;;;;;;;:::i;:::-;;5822:37;;;;;;;;;;-1:-1:-1;5822:37:0;;;;-1:-1:-1;;;;;5822:37:0;;;8939:80;;;;;;;;;;-1:-1:-1;8991:7:0;3534:6;-1:-1:-1;;;;;3534:6:0;8939:80;;5525:31;;;;;;;;;;;;;;;;8763:84;;;;;;;;;;-1:-1:-1;8837:7:0;;;;;;;;;;;;-1:-1:-1;;;8837:7:0;;;;8763:84;;7147:165;;;;;;;;;;-1:-1:-1;7147:165:0;;;;;:::i;:::-;;:::i;5318:65::-;;;;;;;;;;;;;:::i;9025:133::-;;;;;;;;;;-1:-1:-1;9025:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9127:19:0;;;9109:7;9127:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9025:133;3786:192;;;;;;;;;;-1:-1:-1;3786:192:0;;;;;:::i;:::-;;:::i;8268:229::-;;;;;;;;;;;;;:::i;8118:138::-;;;;;;;;;;;;;:::i;7324:161::-;7401:4;7418:37;7427:10;7439:7;7448:6;7418:8;:37::i;:::-;-1:-1:-1;7473:4:0;7324:161;;;;;:::o;7800:306::-;-1:-1:-1;;;;;7921:19:0;;7900:4;7921:19;;;:11;:19;;;;;;;;7941:10;7921:31;;;;;;;;-1:-1:-1;;7921:52:0;7917:126;;-1:-1:-1;;;;;7990:19:0;;;;;;:11;:19;;;;;;;;8010:10;7990:31;;;;;;;:41;;8025:6;;7990:19;:41;;8025:6;;7990:41;:::i;:::-;;;;-1:-1:-1;;7917:126:0;8062:36;8072:6;8080:9;8091:6;8062:9;:36::i;:::-;8055:43;7800:306;-1:-1:-1;;;;7800:306:0:o;3684:94::-;3507:7;3534:6;-1:-1:-1;;;;;3534:6:0;1942:10;3596:23;3588:68;;;;-1:-1:-1;;;3588:68:0;;;;;;;:::i;:::-;;;;;;;;;3749:21:::1;3767:1;3749:9;:21::i;:::-;3684:94::o:0;7147:165::-;7225:4;7242:40;7252:10;7264:9;7275:6;7242:9;:40::i;:::-;-1:-1:-1;7300:4:0;;7147:165;-1:-1:-1;;;7147:165:0:o;5318:65::-;5361:22;5376:7;5296:15;5361:22;:::i;:::-;5318:65;:::o;3786:192::-;3507:7;3534:6;-1:-1:-1;;;;;3534:6:0;1942:10;3596:23;3588:68;;;;-1:-1:-1;;;3588:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3875:22:0;::::1;3867:73;;;::::0;-1:-1:-1;;;3867:73:0;;4182:2:1;3867:73:0::1;::::0;::::1;4164:21:1::0;4221:2;4201:18;;;4194:30;4260:34;4240:18;;;4233:62;-1:-1:-1;;;4311:18:1;;;4304:36;4357:19;;3867:73:0::1;3980:402:1::0;3867:73:0::1;3951:19;3961:8;3951:9;:19::i;:::-;3786:192:::0;:::o;8268:229::-;3507:7;3534:6;-1:-1:-1;;;;;3534:6:0;1942:10;3596:23;3588:68;;;;-1:-1:-1;;;3588:68:0;;;;;;;:::i;:::-;8329:13:::1;::::0;-1:-1:-1;;;8329:13:0;::::1;;;8328:14;8320:49;;;::::0;-1:-1:-1;;;8320:49:0;;4589:2:1;8320:49:0::1;::::0;::::1;4571:21:1::0;4628:2;4608:18;;;4601:30;4667:25;4647:18;;;4640:53;4710:18;;8320:49:0::1;4387:347:1::0;8320:49:0::1;5296:15;8380:12;:27:::0;8418:13:::1;:20:::0;;-1:-1:-1;;;;8418:20:0::1;-1:-1:-1::0;;;8418:20:0::1;::::0;;8461:2:::1;8434:4;8449:14:::0;;;-1:-1:-1;8474:15:0;8268:229::o;8118:138::-;3507:7;3534:6;-1:-1:-1;;;;;3534:6:0;1942:10;3596:23;3588:68;;;;-1:-1:-1;;;3588:68:0;;;;;;;:::i;:::-;8178:12:::1;::::0;-1:-1:-1;;;8178:12:0;::::1;;;8177:13;8169:49;;;::::0;-1:-1:-1;;;8169:49:0;;4941:2:1;8169:49:0::1;::::0;::::1;4923:21:1::0;4980:2;4960:18;;;4953:30;5019:25;4999:18;;;4992:53;5062:18;;8169:49:0::1;4739:347:1::0;8169:49:0::1;8229:12;:19:::0;;-1:-1:-1;;;;8229:19:0::1;-1:-1:-1::0;;;8229:19:0::1;::::0;;8118:138::o;7493:295::-;-1:-1:-1;;;;;7588:20:0;;7580:69;;;;-1:-1:-1;;;7580:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7668:21:0;;7660:70;;;;-1:-1:-1;;;7660:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7743:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;7493:295::o;10928:1412::-;11008:4;11040;-1:-1:-1;;;;;11063:16:0;;11055:71;;;;-1:-1:-1;;;11055:71:0;;5698:2:1;11055:71:0;;;5680:21:1;5737:2;5717:18;;;5710:30;5776:34;5756:18;;;5749:62;-1:-1:-1;;;5827:18:1;;;5820:40;5877:19;;11055:71:0;5496:406:1;11055:71:0;-1:-1:-1;;;;;11145:18:0;;11137:76;;;;-1:-1:-1;;;11137:76:0;;6109:2:1;11137:76:0;;;6091:21:1;6148:2;6128:18;;;6121:30;6187:34;6167:18;;;6160:62;-1:-1:-1;;;6238:18:1;;;6231:43;6291:19;;11137:76:0;5907:409:1;11137:76:0;11241:1;11232:6;:10;11224:58;;;;-1:-1:-1;;;11224:58:0;;6523:2:1;11224:58:0;;;6505:21:1;6562:2;6542:18;;;6535:30;6601:34;6581:18;;;6574:62;-1:-1:-1;;;6652:18:1;;;6645:33;6695:19;;11224:58:0;6321:399:1;11224:58:0;11299:24;11315:4;11320:2;11299:15;:24::i;:::-;11295:305;;;11348:12;;-1:-1:-1;;;11348:12:0;;;;11340:46;;;;-1:-1:-1;;;11340:46:0;;6927:2:1;11340:46:0;;;6909:21:1;6966:2;6946:18;;;6939:30;-1:-1:-1;;;6985:18:1;;;6978:52;7047:18;;11340:46:0;6725:346:1;11340:46:0;-1:-1:-1;;;;;11413:15:0;;;;;;:11;:15;;;;;;;;11412:16;:41;;;;-1:-1:-1;;;;;;11432:21:0;;11448:4;11432:21;;11412:41;:64;;;;-1:-1:-1;;;;;;11457:19:0;;11471:4;11457:19;;11412:64;:110;;;;11480:24;11496:4;11501:2;11480:15;:24::i;:::-;:42;;;;-1:-1:-1;11509:13:0;;-1:-1:-1;;;11509:13:0;;;;11508:14;11480:42;11409:190;;;11561:12;;11551:6;11535:13;11545:2;-1:-1:-1;;;;;9257:16:0;9230:7;9257:16;;;:7;:16;;;;;;;9164:117;11535:13;:22;;;;:::i;:::-;:38;;11527:69;;;;-1:-1:-1;;;11527:69:0;;7408:2:1;11527:69:0;;;7390:21:1;7447:2;7427:18;;;7420:30;-1:-1:-1;;;7466:18:1;;;7459:49;7525:18;;11527:69:0;7206:343:1;11527:69:0;11617:21;11629:4;11635:2;11617:11;:21::i;:::-;:34;;;;-1:-1:-1;11644:7:0;;-1:-1:-1;;;11644:7:0;;;;11643:8;11617:34;:58;;;;;11655:20;11670:4;11655:14;:20::i;:::-;11614:276;;;11734:4;11694:19;9257:16;;;:7;:16;;;;;;5361:22;5376:7;5296:15;5361:22;:::i;:::-;11758:11;:31;11755:124;;5361:22;5376:7;5296:15;5361:22;:::i;:::-;11814:6;:25;11811:51;;;11841:21;11850:11;11841:8;:21::i;:::-;11677:213;11614:276;-1:-1:-1;;;;;11906:16:0;;;;;;:10;:16;;;;;;;;;:34;;-1:-1:-1;;;;;;11926:14:0;;;;;;:10;:14;;;;;;;;11906:34;11902:81;;;-1:-1:-1;11966:5:0;11902:81;11993:22;12019:7;12018:89;;12101:6;12018:89;;;12030:68;12040:4;12046:20;12057:4;12063:2;12046:10;:20::i;:::-;12068:21;12080:4;12086:2;12068:11;:21::i;:::-;12091:6;12030:9;:68::i;:::-;11993:114;;12118:23;12145:7;12144:49;;12167:12;;-1:-1:-1;;;12167:12:0;;;;12166:13;:26;;12191:1;12144:49;;12166:26;12182:6;12144:49;;;12156:6;12144:49;-1:-1:-1;;;;;12204:13:0;;;;;;:7;:13;;;;;:32;;12118:75;;-1:-1:-1;12118:75:0;;12204:13;;;:32;;12118:75;;12204:32;:::i;:::-;;;;-1:-1:-1;;;;;;;12238:11:0;;;;;;:7;:11;;;;;:29;;12253:14;;12238:11;:29;;12253:14;;12238:29;:::i;:::-;;;;;;;;12289:2;-1:-1:-1;;;;;12274:34:0;12283:4;-1:-1:-1;;;;;12274:34:0;;12293:14;12274:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;12274:34:0;;;;;;;;-1:-1:-1;12328:4:0;;10928:1412;-1:-1:-1;;;;;;10928:1412:0:o;3986:173::-;4042:16;4061:6;;-1:-1:-1;;;;;4078:17:0;;;-1:-1:-1;;;;;;4078:17:0;;;;;;4111:40;;4061:6;;;;;;;4111:40;;4042:16;4111:40;4031:128;3986:173;:::o;12348:329::-;12422:4;12439:14;12463:7;3507;3534:6;-1:-1:-1;;;;;3534:6:0;;3461:87;12463:7;-1:-1:-1;;;;;12456:14:0;:3;-1:-1:-1;;;;;12456:14:0;;;:45;;;;-1:-1:-1;3507:7:0;3534:6;-1:-1:-1;;;;;12487:14:0;;;3534:6;;12487:14;;12456:45;:83;;;;-1:-1:-1;3507:7:0;3534:6;-1:-1:-1;;;;;3534:6:0;12518:10;:21;;12456:83;:116;;;;-1:-1:-1;;;;;;12557:15:0;;;;;;:10;:15;;;;;;;;12556:16;12456:116;:137;;;;-1:-1:-1;;;;;;12578:15:0;;;;;;:10;:15;;;;;;;;12577:16;12456:137;:158;;;;-1:-1:-1;;;;;;12597:17:0;;;;12456:158;:182;;;;-1:-1:-1;;;;;;12618:20:0;;12633:4;12618:20;;12439:199;12348:329;-1:-1:-1;;;;12348:329:0:o;9293:188::-;-1:-1:-1;;;;;9406:16:0;;9367:4;9406:16;;;:11;:16;;;;;;9367:4;;9406:16;;9405:17;:38;;;;-1:-1:-1;;;;;;;;;9427:16:0;;;;;:11;:16;;;;;;;;9426:17;;9293:188::o;12868:175::-;-1:-1:-1;;;;;12972:16:0;;12938:4;12972:16;;;:11;:16;;;;;;12938:4;;12972:16;;:37;;;;-1:-1:-1;;;;;;;;;12993:16:0;;;;;:11;:16;;;;;;;;12992:17;;12868:175::o;10755:161::-;10847:16;;10815:4;;;;10847:16;;:36;;;;-1:-1:-1;;;;;;10868:15:0;;;;;;:10;:15;;;;;;;;10867:16;10847:36;10832:51;10755:161;-1:-1:-1;;;10755:161:0:o;10024:718::-;6289:7;:14;;-1:-1:-1;;;;6289:14:0;-1:-1:-1;;;6289:14:0;;;10118:16:::1;::::0;;10132:1:::1;10118:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10118:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10118:16:0::1;10094:40;;10163:4;10145;10150:1;10145:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10145:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10189:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;10189:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;10145:7;;10189:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10179:4;10184:1;10179:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10179:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;10246:4:::1;10226:26;::::0;;;:11:::1;:26:::0;;;;;;10261:13:::1;::::0;;;::::1;10226:50:::0;;;;;;;;-1:-1:-1;;10226:71:0::1;10222:174;;10334:4;10314:26;::::0;;;:11:::1;:26;::::0;;;;;;;10349:13:::1;::::0;-1:-1:-1;;;;;10349:13:0::1;10314:50:::0;;;;;;;-1:-1:-1;;10314:70:0;;10222:174:::1;10412:13;::::0;:194:::1;::::0;-1:-1:-1;;;10412:194:0;;-1:-1:-1;;;;;10412:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;10491:11;;10412:13:::1;::::0;10533:4;;10560::::1;::::0;10580:15:::1;::::0;10412:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10408:241;;10631:7;;;10408:241;10664:21;:25:::0;10661:73:::1;;10691:11;::::0;:43:::1;::::0;-1:-1:-1;;;;;10691:11:0::1;::::0;;::::1;::::0;;;::::1;::::0;10712:21:::1;10691:43:::0;::::1;;;::::0;::::1;::::0;;;10712:21;10691:11;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10661:73;10083:659;6314:1;-1:-1:-1::0;6326:7:0;:15;;-1:-1:-1;;;;6326:15:0;;;10024:718::o;12689:171::-;-1:-1:-1;;;;;12791:16:0;;12758:4;12791:16;;;:11;:16;;;;;;12758:4;;12791:16;;12790:17;:37;;;;-1:-1:-1;;;;;;;;;12811:16:0;;;;;:11;:16;;;;;;;;;12689:171::o;9493:519::-;9585:7;9605:11;9631:5;9627:93;;;-1:-1:-1;9645:9:0;;9627:93;;;9666:6;9662:58;;;-1:-1:-1;9681:10:0;;9662:58;;;-1:-1:-1;5431:1:0;9662:58;9736:3;9743:1;9736:8;9732:28;;9754:6;9747:13;;;;;9732:28;9772:17;5476:5;9792:12;9801:3;9792:6;:12;:::i;:::-;:25;;;;:::i;:::-;9772:45;-1:-1:-1;9832:13:0;;9828:141;;9878:4;9862:22;;;;:7;:22;;;;;:35;;9888:9;;9862:22;:35;;9888:9;;9862:35;:::i;:::-;;;;-1:-1:-1;;9917:40:0;;1569:25:1;;;9940:4:0;;-1:-1:-1;;;;;9917:40:0;;;;;1557:2:1;1542:18;9917:40:0;;;;;;;9828:141;9986:18;9995:9;9986:6;:18;:::i;:::-;9979:25;9493:519;-1:-1:-1;;;;;;;9493:519:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;3758:217::-;3798:1;3824;3814:132;;3868:10;3863:3;3859:20;3856:1;3849:31;3903:4;3900:1;3893:15;3931:4;3928:1;3921:15;3814:132;-1:-1:-1;3960:9:1;;3758:217::o;5091:400::-;5293:2;5275:21;;;5332:2;5312:18;;;5305:30;5371:34;5366:2;5351:18;;5344:62;-1:-1:-1;;;5437:2:1;5422:18;;5415:34;5481:3;5466:19;;5091:400::o;7076:125::-;7141:9;;;7162:10;;;7159:36;;;7175:18;;:::i;7686:127::-;7747:10;7742:3;7738:20;7735:1;7728:31;7778:4;7775:1;7768:15;7802:4;7799:1;7792:15;7818:251;7888:6;7941:2;7929:9;7920:7;7916:23;7912:32;7909:52;;;7957:1;7954;7947:12;7909:52;7989:9;7983:16;8008:31;8033:5;8008:31;:::i;8074:980::-;8336:4;8384:3;8373:9;8369:19;8415:6;8404:9;8397:25;8441:2;8479:6;8474:2;8463:9;8459:18;8452:34;8522:3;8517:2;8506:9;8502:18;8495:31;8546:6;8581;8575:13;8612:6;8604;8597:22;8650:3;8639:9;8635:19;8628:26;;8689:2;8681:6;8677:15;8663:29;;8710:1;8720:195;8734:6;8731:1;8728:13;8720:195;;;8799:13;;-1:-1:-1;;;;;8795:39:1;8783:52;;8890:15;;;;8855:12;;;;8831:1;8749:9;8720:195;;;-1:-1:-1;;;;;;;8971:32:1;;;;8966:2;8951:18;;8944:60;-1:-1:-1;;;9035:3:1;9020:19;9013:35;8932:3;8074:980;-1:-1:-1;;;8074:980:1:o;9059:168::-;9132:9;;;9163;;9180:15;;;9174:22;;9160:37;9150:71;;9201:18;;:::i

Swarm Source

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