ETH Price: $2,593.13 (+0.70%)
Gas: 4 Gwei

Token

Dodo Bird (DODO)
 

Overview

Max Total Supply

1,000,000,000 DODO

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,071,879.25836047 DODO

Value
$0.00
0x5fb03fb424603e682d7f486d86ada777ab846951
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:
DODO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

/**
When you're so friendly that you become extinct... Dodos, the original social butterflies!

Website: https://www.dodobird.live
Telegram: https://t.me/dodocoin_erc
Twitter: https://twitter.com/dodocoin_erc
 */

pragma solidity = 0.8.19;

//--- Interface for ERC20 ---//
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);
}

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

interface IRouter01 {
    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);
}

interface IRouter02 is IRouter01 {
    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);
}

//--- Context ---//
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;
    }
}

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

//--- Contract ---//
contract DODO is Context, Ownable, IERC20 {

    string constant private _name = "Dodo Bird";
    string constant private _symbol = "DODO";
    uint8 constant private _decimals = 9;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 _buyfee = 210;
    uint256 _sellfee = 210;

    address _pairAddress;
    IRouter02 _uniswapRouter;
    bool _isTradingActive = false;
    bool _inSwap;
    bool _noMaxLimits = false;

    uint256 constant _swapThreshold = _totalSupply / 100_000;
    address payable _teamAddress = payable(address(0xF4Dd84E321d52B23903d2cb8ADF5b0986AF387d3));
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) _noFee;
    mapping (address => bool) _lpProviders;
    mapping (address => bool) _isLpPair;
    mapping (address => uint256) balance;

    uint256 constant _transferfee = 0;
    uint256 constant fee_denominator = 1_000;
    uint256 private _maxWallet = 20 * _totalSupply / 1000;
    bool private swapEnabled = true;
        modifier inSwaps {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    constructor () {
        _noFee[msg.sender] = true;
        _noFee[_teamAddress] = true;

        if (block.chainid == 56) {
            _uniswapRouter = IRouter02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            _uniswapRouter = IRouter02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            _uniswapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 42161) {
            _uniswapRouter = IRouter02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        } else if (block.chainid == 5) {
            _uniswapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else {
            revert("Chain not valid");
        }
        _lpProviders[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        _pairAddress = IFactoryV2(_uniswapRouter.factory()).createPair(_uniswapRouter.WETH(), address(this));
        _isLpPair[_pairAddress] = true;
        _approve(msg.sender, address(_uniswapRouter), type(uint256).max);
        _approve(address(this), address(_uniswapRouter), type(uint256).max);
    }

    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 canSwap(address ins) internal view returns (bool) {
        bool canswap = swapEnabled && !_noFee[ins];

        return canswap;
    }
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (hasFees(from,to)) {
            require(_isTradingActive,"Trading is not enabled");
                    if(!_isLpPair[to] && from != address(this) && to != address(this) || is_transfer(from,to) && !_noMaxLimits)  { require(balanceOf(to) + amount <= _maxWallet,"_maxWallet exceed"); }}


        if(is_sell(from, to) &&  !_inSwap && canSwap(from)) {

            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= _swapThreshold) { 
                if(amount > _swapThreshold) swapBack(contractTokenBalance);
             }
        }

        if (_noFee[from] || _noFee[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? takeTax(from, is_buy(from, to), is_sell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!_isTradingActive ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;

    }

    function is_buy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_isLpPair[out] && _isLpPair[ins];
        return _is_buy;
    }

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

    function is_transfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_isLpPair[out] && !_isLpPair[ins];
        return _is_transfer;
    }

    function takeTax(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = _buyfee;  else if (issell)  fee = _sellfee;  else  fee = _transferfee; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / fee_denominator;
        if (feeAmount > 0) {

            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
            
        }
        return amount - feeAmount;
    }

        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 swapBack(uint256 contractTokenBalance) internal inSwaps {
        
        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(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) _teamAddress.transfer(address(this).balance);
        
    } 

        function openTrading() external onlyOwner {
            require(!_isTradingActive, "Trading already enabled");
            _isTradingActive = true;
        }

        event _changeMaxWallet(uint256 newLimit);
        function changeMaxWallet(uint256 base1000) external onlyOwner {
            require(!_noMaxLimits,"Already initalized");
            require(base1000 > 0,"Not less than 0.1%"); 

            _maxWallet = (_totalSupply * base1000) / 1_000;
            emit _changeMaxWallet(_maxWallet);
        }

        function removeLimits() external onlyOwner {
            require(!_noMaxLimits,"Already initalized");
            _maxWallet = _totalSupply;
            _noMaxLimits = true;
            _buyfee = 10;
            _sellfee = 10;
        }
    receive() external payable {}

        function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: 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 hasFees(address ins, address out) internal view returns (bool) {

        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_lpProviders[ins]  && !_lpProviders[out] && out != address(0) && out != address(this);
            return isLimited;
    }
}

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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"_changeMaxWallet","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":[{"internalType":"uint256","name":"base1000","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":"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"}]

608060405260d260018190556002556004805462ff00ff60a01b19169055600580546001600160a01b03191673f4dd84e321d52b23903d2cb8adf5b0986af387d31790556103e86200005b670de0b6b3a764000060146200057d565b620000679190620005a9565b600b55600c805460ff191660011790553480156200008457600080fd5b50620000903362000465565b336000908152600760205260408082208054600160ff1991821681179092556005546001600160a01b031684529190922080549091169091179055466038036200010057600480546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e1790556200022d565b466061036200013557600480546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d11790556200022d565b4660011480620001455750466004145b80620001515750466003145b156200018357600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200022d565b4661a4b103620001b957600480546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b479975061790556200022d565b46600503620001ee57600480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200022d565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b336000818152600860209081526040808320805460ff19166001179055600a8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa158015620002d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fc9190620005cc565b6001600160a01b031663c9c65396600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003849190620005cc565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620003d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f79190620005cc565b600380546001600160a01b0319166001600160a01b039283169081179091556000908152600960205260409020805460ff191660011790556004546200044391339116600019620004b5565b6004546200045f9030906001600160a01b0316600019620004b5565b620005fe565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620005035760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000224565b6001600160a01b038216620005515760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000224565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b8082028115828204841417620005a357634e487b7160e01b600052601160045260246000fd5b92915050565b600082620005c757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005df57600080fd5b81516001600160a01b0381168114620005f757600080fd5b9392505050565b611464806200060e6000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d4578063a9059cbb14610301578063c9567bf914610321578063dd62ed3e14610336578063f2fde38b1461037c57600080fd5b8063715018a61461028c578063751039fc146102a1578063893d20e8146102b65780638da5cb5b146102b657600080fd5b806318160ddd116100dc57806318160ddd146101d957806323b872dd146101fe578063313ce5671461021e5780633eaaf86b1461023a57806370a082311461025657600080fd5b806303fd2a451461011957806306fdde031461014c578063095ea7b3146101875780630b006d60146101b757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b50604080518082019091526009815268111bd91bc8109a5c9960ba1b60208201525b60405161014391906111a1565b34801561019357600080fd5b506101a76101a2366004611204565b61039c565b6040519015158152602001610143565b3480156101c357600080fd5b506101d76101d2366004611230565b6103b3565b005b3480156101e557600080fd5b50670de0b6b3a76400005b604051908152602001610143565b34801561020a57600080fd5b506101a7610219366004611249565b6104d4565b34801561022a57600080fd5b5060405160098152602001610143565b34801561024657600080fd5b506101f0670de0b6b3a764000081565b34801561026257600080fd5b506101f061027136600461128a565b6001600160a01b03166000908152600a602052604090205490565b34801561029857600080fd5b506101d761054c565b3480156102ad57600080fd5b506101d7610582565b3480156102c257600080fd5b506000546001600160a01b031661012f565b3480156102e057600080fd5b50604080518082019091526004815263444f444f60e01b602082015261017a565b34801561030d57600080fd5b506101a761031c366004611204565b610626565b34801561032d57600080fd5b506101d761063d565b34801561034257600080fd5b506101f06103513660046112a7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561038857600080fd5b506101d761039736600461128a565b6106d6565b60006103a9338484610771565b5060015b92915050565b6000546001600160a01b031633146103e65760405162461bcd60e51b81526004016103dd906112e0565b60405180910390fd5b600454600160b01b900460ff16156104355760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b6000811161047a5760405162461bcd60e51b81526020600482015260126024820152714e6f74206c657373207468616e20302e312560701b60448201526064016103dd565b6103e861048f82670de0b6b3a764000061132b565b6104999190611342565b600b8190556040519081527fc365d73c512551dfb70ad4540e9046c32972c5da0fb74b2b8ec7b9304a178c5d9060200160405180910390a150565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610539576001600160a01b038416600090815260066020908152604080832033845290915281208054849290610533908490611364565b90915550505b610544848484610835565b949350505050565b6000546001600160a01b031633146105765760405162461bcd60e51b81526004016103dd906112e0565b6105806000610c82565b565b6000546001600160a01b031633146105ac5760405162461bcd60e51b81526004016103dd906112e0565b600454600160b01b900460ff16156105fb5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b670de0b6b3a7640000600b556004805460ff60b01b1916600160b01b179055600a6001819055600255565b6000610633338484610835565b5060019392505050565b6000546001600160a01b031633146106675760405162461bcd60e51b81526004016103dd906112e0565b600454600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016103dd565b6004805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016103dd906112e0565b6001600160a01b0381166107655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103dd565b61076e81610c82565b50565b6001600160a01b0383166107bd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0382166108095760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661089b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103dd565b6001600160a01b0385166108ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103dd565b600083116109615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103dd565b61096b8585610cd2565b15610aa357600454600160a01b900460ff166109c25760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103dd565b6001600160a01b03841660009081526009602052604090205460ff161580156109f457506001600160a01b0385163014155b8015610a0957506001600160a01b0384163014155b80610a2f5750610a198585610da7565b8015610a2f5750600454600160b01b900460ff16155b15610aa357600b5483610a57866001600160a01b03166000908152600a602052604090205490565b610a619190611377565b1115610aa35760405162461bcd60e51b815260206004820152601160248201527017db585e15d85b1b195d08195e18d95959607a1b60448201526064016103dd565b610aad8585610def565b8015610ac35750600454600160a81b900460ff16155b8015610ad35750610ad385610e36565b15610b2a57306000908152600a6020526040902054610afd620186a0670de0b6b3a7640000611342565b8110610b2857610b18620186a0670de0b6b3a7640000611342565b841115610b2857610b2881610e6d565b505b6001600160a01b03851660009081526007602052604090205460ff1680610b6957506001600160a01b03841660009081526007602052604090205460ff165b15610b72575060005b600081610b7f5783610b9d565b610b9d86610b8d8888611089565b610b978989610def565b876110d0565b9050600082610bc557600454600160a01b900460ff1615610bbf576000610bc7565b84610bc7565b845b6001600160a01b0388166000908152600a6020526040812080549293508392909190610bf4908490611364565b90915550506001600160a01b0386166000908152600a602052604081208054849290610c21908490611377565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6d91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610ce76000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d1657506000546001600160a01b03848116911614155b8015610d2d57506000546001600160a01b03163314155b8015610d5257506001600160a01b03841660009081526008602052604090205460ff16155b8015610d7757506001600160a01b03831660009081526008602052604090205460ff16155b8015610d8b57506001600160a01b03831615155b801561054457506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b6001600160a01b038116600090815260096020526040812054819060ff16801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b600c54600090819060ff168015610e6657506001600160a01b03831660009081526007602052604090205460ff16155b9392505050565b6004805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb557610eb561138a565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c91906113a0565b81600181518110610f5f57610f5f61138a565b6001600160a01b03928316602091820292909201810191909152306000908152600682526040808220600454909416825292909152205460001914610fc9573060009081526006602090815260408083206004546001600160a01b03168452909152902060001990555b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791611001918691600091879130914291016113bd565b600060405180830381600087803b15801561101b57600080fd5b505af192505050801561102c575060015b6110365750611079565b4715611077576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611075573d6000803e3d6000fd5b505b505b506004805460ff60a81b19169055565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff1690565b60008084156110e257506001546110f5565b83156110f157506002546110f5565b5060005b806000036111065782915050610544565b60006103e8611115838661132b565b61111f9190611342565b9050801561118c57306000908152600a602052604081208054839290611146908490611377565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111968185611364565b979650505050505050565b600060208083528351808285015260005b818110156111ce578581018301518582016040015282016111b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076e57600080fd5b6000806040838503121561121757600080fd5b8235611222816111ef565b946020939093013593505050565b60006020828403121561124257600080fd5b5035919050565b60008060006060848603121561125e57600080fd5b8335611269816111ef565b92506020840135611279816111ef565b929592945050506040919091013590565b60006020828403121561129c57600080fd5b8135610e66816111ef565b600080604083850312156112ba57600080fd5b82356112c5816111ef565b915060208301356112d5816111ef565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ad576103ad611315565b60008261135f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ad576103ad611315565b808201808211156103ad576103ad611315565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113b257600080fd5b8151610e66816111ef565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561140d5784516001600160a01b0316835293830193918301916001016113e8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c78ac1bc62e832df92c1594acf24bcfeb11d197fba99294f1f6759461f58d5e364736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d4578063a9059cbb14610301578063c9567bf914610321578063dd62ed3e14610336578063f2fde38b1461037c57600080fd5b8063715018a61461028c578063751039fc146102a1578063893d20e8146102b65780638da5cb5b146102b657600080fd5b806318160ddd116100dc57806318160ddd146101d957806323b872dd146101fe578063313ce5671461021e5780633eaaf86b1461023a57806370a082311461025657600080fd5b806303fd2a451461011957806306fdde031461014c578063095ea7b3146101875780630b006d60146101b757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b50604080518082019091526009815268111bd91bc8109a5c9960ba1b60208201525b60405161014391906111a1565b34801561019357600080fd5b506101a76101a2366004611204565b61039c565b6040519015158152602001610143565b3480156101c357600080fd5b506101d76101d2366004611230565b6103b3565b005b3480156101e557600080fd5b50670de0b6b3a76400005b604051908152602001610143565b34801561020a57600080fd5b506101a7610219366004611249565b6104d4565b34801561022a57600080fd5b5060405160098152602001610143565b34801561024657600080fd5b506101f0670de0b6b3a764000081565b34801561026257600080fd5b506101f061027136600461128a565b6001600160a01b03166000908152600a602052604090205490565b34801561029857600080fd5b506101d761054c565b3480156102ad57600080fd5b506101d7610582565b3480156102c257600080fd5b506000546001600160a01b031661012f565b3480156102e057600080fd5b50604080518082019091526004815263444f444f60e01b602082015261017a565b34801561030d57600080fd5b506101a761031c366004611204565b610626565b34801561032d57600080fd5b506101d761063d565b34801561034257600080fd5b506101f06103513660046112a7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561038857600080fd5b506101d761039736600461128a565b6106d6565b60006103a9338484610771565b5060015b92915050565b6000546001600160a01b031633146103e65760405162461bcd60e51b81526004016103dd906112e0565b60405180910390fd5b600454600160b01b900460ff16156104355760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b6000811161047a5760405162461bcd60e51b81526020600482015260126024820152714e6f74206c657373207468616e20302e312560701b60448201526064016103dd565b6103e861048f82670de0b6b3a764000061132b565b6104999190611342565b600b8190556040519081527fc365d73c512551dfb70ad4540e9046c32972c5da0fb74b2b8ec7b9304a178c5d9060200160405180910390a150565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610539576001600160a01b038416600090815260066020908152604080832033845290915281208054849290610533908490611364565b90915550505b610544848484610835565b949350505050565b6000546001600160a01b031633146105765760405162461bcd60e51b81526004016103dd906112e0565b6105806000610c82565b565b6000546001600160a01b031633146105ac5760405162461bcd60e51b81526004016103dd906112e0565b600454600160b01b900460ff16156105fb5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b60448201526064016103dd565b670de0b6b3a7640000600b556004805460ff60b01b1916600160b01b179055600a6001819055600255565b6000610633338484610835565b5060019392505050565b6000546001600160a01b031633146106675760405162461bcd60e51b81526004016103dd906112e0565b600454600160a01b900460ff16156106c15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016103dd565b6004805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016103dd906112e0565b6001600160a01b0381166107655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103dd565b61076e81610c82565b50565b6001600160a01b0383166107bd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0382166108095760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016103dd565b6001600160a01b0392831660009081526006602090815260408083209490951682529290925291902055565b600060016001600160a01b03841661089b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103dd565b6001600160a01b0385166108ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103dd565b600083116109615760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103dd565b61096b8585610cd2565b15610aa357600454600160a01b900460ff166109c25760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103dd565b6001600160a01b03841660009081526009602052604090205460ff161580156109f457506001600160a01b0385163014155b8015610a0957506001600160a01b0384163014155b80610a2f5750610a198585610da7565b8015610a2f5750600454600160b01b900460ff16155b15610aa357600b5483610a57866001600160a01b03166000908152600a602052604090205490565b610a619190611377565b1115610aa35760405162461bcd60e51b815260206004820152601160248201527017db585e15d85b1b195d08195e18d95959607a1b60448201526064016103dd565b610aad8585610def565b8015610ac35750600454600160a81b900460ff16155b8015610ad35750610ad385610e36565b15610b2a57306000908152600a6020526040902054610afd620186a0670de0b6b3a7640000611342565b8110610b2857610b18620186a0670de0b6b3a7640000611342565b841115610b2857610b2881610e6d565b505b6001600160a01b03851660009081526007602052604090205460ff1680610b6957506001600160a01b03841660009081526007602052604090205460ff165b15610b72575060005b600081610b7f5783610b9d565b610b9d86610b8d8888611089565b610b978989610def565b876110d0565b9050600082610bc557600454600160a01b900460ff1615610bbf576000610bc7565b84610bc7565b845b6001600160a01b0388166000908152600a6020526040812080549293508392909190610bf4908490611364565b90915550506001600160a01b0386166000908152600a602052604081208054849290610c21908490611377565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6d91815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610ce76000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d1657506000546001600160a01b03848116911614155b8015610d2d57506000546001600160a01b03163314155b8015610d5257506001600160a01b03841660009081526008602052604090205460ff16155b8015610d7757506001600160a01b03831660009081526008602052604090205460ff16155b8015610d8b57506001600160a01b03831615155b801561054457506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b6001600160a01b038116600090815260096020526040812054819060ff16801561054457505050506001600160a01b031660009081526009602052604090205460ff161590565b600c54600090819060ff168015610e6657506001600160a01b03831660009081526007602052604090205460ff16155b9392505050565b6004805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb557610eb561138a565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c91906113a0565b81600181518110610f5f57610f5f61138a565b6001600160a01b03928316602091820292909201810191909152306000908152600682526040808220600454909416825292909152205460001914610fc9573060009081526006602090815260408083206004546001600160a01b03168452909152902060001990555b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac94791611001918691600091879130914291016113bd565b600060405180830381600087803b15801561101b57600080fd5b505af192505050801561102c575060015b6110365750611079565b4715611077576005546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611075573d6000803e3d6000fd5b505b505b506004805460ff60a81b19169055565b6001600160a01b038116600090815260096020526040812054819060ff1615801561054457505050506001600160a01b031660009081526009602052604090205460ff1690565b60008084156110e257506001546110f5565b83156110f157506002546110f5565b5060005b806000036111065782915050610544565b60006103e8611115838661132b565b61111f9190611342565b9050801561118c57306000908152600a602052604081208054839290611146908490611377565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111968185611364565b979650505050505050565b600060208083528351808285015260005b818110156111ce578581018301518582016040015282016111b2565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076e57600080fd5b6000806040838503121561121757600080fd5b8235611222816111ef565b946020939093013593505050565b60006020828403121561124257600080fd5b5035919050565b60008060006060848603121561125e57600080fd5b8335611269816111ef565b92506020840135611279816111ef565b929592945050506040919091013590565b60006020828403121561129c57600080fd5b8135610e66816111ef565b600080604083850312156112ba57600080fd5b82356112c5816111ef565b915060208301356112d5816111ef565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176103ad576103ad611315565b60008261135f57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103ad576103ad611315565b808201808211156103ad576103ad611315565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113b257600080fd5b8151610e66816111ef565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561140d5784516001600160a01b0316835293830193918301916001016113e8565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c78ac1bc62e832df92c1594acf24bcfeb11d197fba99294f1f6759461f58d5e364736f6c63430008130033

Deployed Bytecode Sourcemap

4885:8801:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5506:73;;;;;;;;;;;;5537:42;5506:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5506:73:0;;;;;;;;7766:80;;;;;;;;;;-1:-1:-1;7838:5:0;;;;;;;;;;;;-1:-1:-1;;;7838:5:0;;;;7766:80;;;;;;;:::i;11006:161::-;;;;;;;;;;-1:-1:-1;11006:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;11006:161:0;1231:187:1;12169:301:0;;;;;;;;;;-1:-1:-1;12169:301:0;;;;;:::i;:::-;;:::i;:::-;;7422:125;;;;;;;;;;-1:-1:-1;5117:15:0;7422:125;;;1754:25:1;;;1742:2;1727:18;7422:125:0;1608:177:1;13044:306:0;;;;;;;;;;-1:-1:-1;13044:306:0;;;;;:::i;:::-;;:::i;7553:117::-;;;;;;;;;;-1:-1:-1;7553:117:0;;5068:1;2393:36:1;;2381:2;2366:18;7553:117:0;2251:184:1;5078:54:0;;;;;;;;;;;;5117:15;5078:54;;8077:117;;;;;;;;;;-1:-1:-1;8077:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8170:16:0;8143:7;8170:16;;;:7;:16;;;;;;;8077:117;4381:94;;;;;;;;;;;;;:::i;12482:242::-;;;;;;;;;;;;;:::i;7852:80::-;;;;;;;;;;-1:-1:-1;7904:7:0;4231:6;-1:-1:-1;;;;;4231:6:0;7852:80;;7676:84;;;;;;;;;;-1:-1:-1;7750:7:0;;;;;;;;;;;;-1:-1:-1;;;7750:7:0;;;;7676:84;;10829:165;;;;;;;;;;-1:-1:-1;10829:165:0;;;;;:::i;:::-;;:::i;11946:160::-;;;;;;;;;;;;;:::i;7938:133::-;;;;;;;;;;-1:-1:-1;7938:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8040:19:0;;;8022:7;8040:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7938:133;4483:192;;;;;;;;;;-1:-1:-1;4483:192:0;;;;;:::i;:::-;;:::i;11006:161::-;11083:4;11100:37;11109:10;11121:7;11130:6;11100:8;:37::i;:::-;-1:-1:-1;11155:4:0;11006:161;;;;;:::o;12169:301::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;;;;;;;;;12255:12:::1;::::0;-1:-1:-1;;;12255:12:0;::::1;;;12254:13;12246:43;;;::::0;-1:-1:-1;;;12246:43:0;;3648:2:1;12246:43:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;-1:-1:-1;;;3706:18:1;;;3699:48;3764:18;;12246:43:0::1;3446:342:1::0;12246:43:0::1;12323:1;12312:8;:12;12304:42;;;::::0;-1:-1:-1;;;12304:42:0;;3995:2:1;12304:42:0::1;::::0;::::1;3977:21:1::0;4034:2;4014:18;;;4007:30;-1:-1:-1;;;4053:18:1;;;4046:48;4111:18;;12304:42:0::1;3793:342:1::0;12304:42:0::1;12405:5;12378:23;12393:8:::0;5117:15:::1;12378:23;:::i;:::-;12377:33;;;;:::i;:::-;12364:10;:46:::0;;;12430:28:::1;::::0;1754:25:1;;;12430:28:0::1;::::0;1742:2:1;1727:18;12430:28:0::1;;;;;;;12169:301:::0;:::o;13044:306::-;-1:-1:-1;;;;;13165:19:0;;13144:4;13165:19;;;:11;:19;;;;;;;;13185:10;13165:31;;;;;;;;-1:-1:-1;;13165:52:0;13161:126;;-1:-1:-1;;;;;13234:19:0;;;;;;:11;:19;;;;;;;;13254:10;13234:31;;;;;;;:41;;13269:6;;13234:19;:41;;13269:6;;13234:41;:::i;:::-;;;;-1:-1:-1;;13161:126:0;13306:36;13316:6;13324:9;13335:6;13306:9;:36::i;:::-;13299:43;13044:306;-1:-1:-1;;;;13044:306:0:o;4381:94::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;4446:21:::1;4464:1;4446:9;:21::i;:::-;4381:94::o:0;12482:242::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;12549:12:::1;::::0;-1:-1:-1;;;12549:12:0;::::1;;;12548:13;12540:43;;;::::0;-1:-1:-1;;;12540:43:0;;3648:2:1;12540:43:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;-1:-1:-1;;;3706:18:1;;;3699:48;3764:18;;12540:43:0::1;3446:342:1::0;12540:43:0::1;5117:15;12598:10;:25:::0;12638:12:::1;:19:::0;;-1:-1:-1;;;;12638:19:0::1;-1:-1:-1::0;;;12638:19:0::1;::::0;;12682:2:::1;12653:4;12672:12:::0;;;12699:8:::1;:13:::0;12482:242::o;10829:165::-;10907:4;10924:40;10934:10;10946:9;10957:6;10924:9;:40::i;:::-;-1:-1:-1;10982:4:0;;10829:165;-1:-1:-1;;;10829:165:0:o;11946:160::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;12012:16:::1;::::0;-1:-1:-1;;;12012:16:0;::::1;;;12011:17;12003:53;;;::::0;-1:-1:-1;;;12003:53:0;;5002:2:1;12003:53:0::1;::::0;::::1;4984:21:1::0;5041:2;5021:18;;;5014:30;5080:25;5060:18;;;5053:53;5123:18;;12003:53:0::1;4800:347:1::0;12003:53:0::1;12071:16;:23:::0;;-1:-1:-1;;;;12071:23:0::1;-1:-1:-1::0;;;12071:23:0::1;::::0;;11946:160::o;4483:192::-;4204:7;4231:6;-1:-1:-1;;;;;4231:6:0;3766:10;4293:23;4285:68;;;;-1:-1:-1;;;4285:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4572:22:0;::::1;4564:73;;;::::0;-1:-1:-1;;;4564:73:0;;5354:2:1;4564:73:0::1;::::0;::::1;5336:21:1::0;5393:2;5373:18;;;5366:30;5432:34;5412:18;;;5405:62;-1:-1:-1;;;5483:18:1;;;5476:36;5529:19;;4564:73:0::1;5152:402:1::0;4564:73:0::1;4648:19;4658:8;4648:9;:19::i;:::-;4483:192:::0;:::o;12771:261::-;-1:-1:-1;;;;;12866:20:0;;12858:52;;;;-1:-1:-1;;;12858:52:0;;5761:2:1;12858:52:0;;;5743:21:1;5800:2;5780:18;;;5773:30;-1:-1:-1;;;5819:18:1;;;5812:49;5878:18;;12858:52:0;5559:343:1;12858:52:0;-1:-1:-1;;;;;12929:21:0;;12921:53;;;;-1:-1:-1;;;12921:53:0;;5761:2:1;12921:53:0;;;5743:21:1;5800:2;5780:18;;;5773:30;-1:-1:-1;;;5819:18:1;;;5812:49;5878:18;;12921:53:0;5559:343:1;12921:53:0;-1:-1:-1;;;;;12987:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;12771:261::o;8355:1388::-;8435:4;8467;-1:-1:-1;;;;;8490:16:0;;8482:64;;;;-1:-1:-1;;;8482:64:0;;6109:2:1;8482:64:0;;;6091:21:1;6148:2;6128:18;;;6121:30;6187:34;6167:18;;;6160:62;-1:-1:-1;;;6238:18:1;;;6231:33;6281:19;;8482:64:0;5907:399:1;8482:64:0;-1:-1:-1;;;;;8565:18:0;;8557:68;;;;-1:-1:-1;;;8557:68:0;;6513:2:1;8557:68:0;;;6495:21:1;6552:2;6532:18;;;6525:30;6591:34;6571:18;;;6564:62;-1:-1:-1;;;6642:18:1;;;6635:35;6687:19;;8557:68:0;6311:401:1;8557:68:0;8653:1;8644:6;:10;8636:64;;;;-1:-1:-1;;;8636:64:0;;6919:2:1;8636:64:0;;;6901:21:1;6958:2;6938:18;;;6931:30;6997:34;6977:18;;;6970:62;-1:-1:-1;;;7048:18:1;;;7041:39;7097:19;;8636:64:0;6717:405:1;8636:64:0;8717:16;8725:4;8730:2;8717:7;:16::i;:::-;8713:290;;;8758:16;;-1:-1:-1;;;8758:16:0;;;;8750:50;;;;-1:-1:-1;;;8750:50:0;;7329:2:1;8750:50:0;;;7311:21:1;7368:2;7348:18;;;7341:30;-1:-1:-1;;;7387:18:1;;;7380:52;7449:18;;8750:50:0;7127:346:1;8750:50:0;-1:-1:-1;;;;;8827:13:0;;;;;;:9;:13;;;;;;;;8826:14;:39;;;;-1:-1:-1;;;;;;8844:21:0;;8860:4;8844:21;;8826:39;:62;;;;-1:-1:-1;;;;;;8869:19:0;;8883:4;8869:19;;8826:62;:103;;;;8892:20;8904:4;8909:2;8892:11;:20::i;:::-;:37;;;;-1:-1:-1;8917:12:0;;-1:-1:-1;;;8917:12:0;;;;8916:13;8892:37;8823:179;;;8968:10;;8958:6;8942:13;8952:2;-1:-1:-1;;;;;8170:16:0;8143:7;8170:16;;;:7;:16;;;;;;;8077:117;8942:13;:22;;;;:::i;:::-;:36;;8934:65;;;;-1:-1:-1;;;8934:65:0;;7810:2:1;8934:65:0;;;7792:21:1;7849:2;7829:18;;;7822:30;-1:-1:-1;;;7868:18:1;;;7861:47;7925:18;;8934:65:0;7608:341:1;8934:65:0;9020:17;9028:4;9034:2;9020:7;:17::i;:::-;:30;;;;-1:-1:-1;9043:7:0;;-1:-1:-1;;;9043:7:0;;;;9042:8;9020:30;:47;;;;;9054:13;9062:4;9054:7;:13::i;:::-;9017:288;;;9135:4;9086:28;8170:16;;;:7;:16;;;;;;5379:22;5394:7;5117:15;5379:22;:::i;:::-;9159:20;:38;9156:138;;5379:22;5394:7;5117:15;5379:22;:::i;:::-;9222:6;:23;9219:58;;;9247:30;9256:20;9247:8;:30::i;:::-;9069:236;9017:288;-1:-1:-1;;;;;9321:12:0;;;;;;:6;:12;;;;;;;;;:26;;-1:-1:-1;;;;;;9337:10:0;;;;;;:6;:10;;;;;;;;9321:26;9317:73;;;-1:-1:-1;9373:5:0;9317:73;9400:22;9426:7;9425:79;;9498:6;9425:79;;;9437:58;9445:4;9451:16;9458:4;9464:2;9451:6;:16::i;:::-;9469:17;9477:4;9483:2;9469:7;:17::i;:::-;9488:6;9437:7;:58::i;:::-;9400:104;;9515:23;9542:7;9541:53;;9564:16;;-1:-1:-1;;;9564:16:0;;;;9563:17;:30;;9592:1;9541:53;;9563:30;9583:6;9541:53;;;9553:6;9541:53;-1:-1:-1;;;;;9605:13:0;;;;;;:7;:13;;;;;:32;;9515:79;;-1:-1:-1;9515:79:0;;9605:13;;;:32;;9515:79;;9605:32;:::i;:::-;;;;-1:-1:-1;;;;;;;9639:11:0;;;;;;:7;:11;;;;;:29;;9654:14;;9639:11;:29;;9654:14;;9639:29;:::i;:::-;;;;;;;;9690:2;-1:-1:-1;;;;;9675:34:0;9684:4;-1:-1:-1;;;;;9675:34:0;;9694:14;9675:34;;;;1754:25:1;;1742:2;1727:18;;1608:177;9675:34:0;;;;;;;;-1:-1:-1;9729:4:0;;8355:1388;-1:-1:-1;;;;;;8355:1388:0:o;4683:173::-;4739:16;4758:6;;-1:-1:-1;;;;;4775:17:0;;;-1:-1:-1;;;;;;4775:17:0;;;;;;4808:40;;4758:6;;;;;;;4808:40;;4739:16;4808:40;4728:128;4683:173;:::o;13356:327::-;13422:4;13441:14;13465:7;4204;4231:6;-1:-1:-1;;;;;4231:6:0;;4158:87;13465:7;-1:-1:-1;;;;;13458:14:0;:3;-1:-1:-1;;;;;13458:14:0;;;:45;;;;-1:-1:-1;4204:7:0;4231:6;-1:-1:-1;;;;;13489:14:0;;;4231:6;;13489:14;;13458:45;:83;;;;-1:-1:-1;4204:7:0;4231:6;-1:-1:-1;;;;;4231:6:0;13520:10;:21;;13458:83;:118;;;;-1:-1:-1;;;;;;13559:17:0;;;;;;:12;:17;;;;;;;;13558:18;13458:118;:141;;;;-1:-1:-1;;;;;;13582:17:0;;;;;;:12;:17;;;;;;;;13581:18;13458:141;:162;;;;-1:-1:-1;;;;;;13603:17:0;;;;13458:162;:186;;;;-1:-1:-1;;;;;;13624:20:0;;13639:4;13624:20;;13441:203;13356:327;-1:-1:-1;;;;13356:327:0:o;10097:180::-;-1:-1:-1;;;;;10206:14:0;;10167:4;10206:14;;;:9;:14;;;;;;10167:4;;10206:14;;10205:15;:34;;;;-1:-1:-1;;;;;;;;;10225:14:0;;;;;:9;:14;;;;;;;;10224:15;;10097:180::o;9922:167::-;-1:-1:-1;;;;;10022:14:0;;9988:4;10022:14;;;:9;:14;;;;;;9988:4;;10022:14;;:33;;;;-1:-1:-1;;;;;;;;;10041:14:0;;;;;:9;:14;;;;;;;;10040:15;;9922:167::o;8202:147::-;8287:11;;8255:4;;;;8287:11;;:27;;;;-1:-1:-1;;;;;;8303:11:0;;;;;;:6;:11;;;;;;;;8302:12;8287:27;8272:42;8202:147;-1:-1:-1;;;8202:147:0:o;11175:758::-;6044:7;:14;;-1:-1:-1;;;;6044:14:0;-1:-1:-1;;;6044:14:0;;;11285:16:::1;::::0;;11299:1:::1;11285:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11285:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11285:16:0::1;11261:40;;11330:4;11312;11317:1;11312:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;11312:23:0::1;;;-1:-1:-1::0;;;;;11312:23:0::1;;;::::0;::::1;11356:14;;;;;;;;;-1:-1:-1::0;;;;;11356:14:0::1;-1:-1:-1::0;;;;;11356:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11346:4;11351:1;11346:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11346:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:31;;;;11414:4:::1;11394:26;::::0;;;:11:::1;:26:::0;;;;;;11429:14:::1;::::0;;;::::1;11394:51:::0;;;;;;;;-1:-1:-1;;11394:72:0::1;11390:176;;11503:4;11483:26;::::0;;;:11:::1;:26;::::0;;;;;;;11518:14:::1;::::0;-1:-1:-1;;;;;11518:14:0::1;11483:51:::0;;;;;;;-1:-1:-1;;11483:71:0;;11390:176:::1;11582:14;::::0;;:204:::1;::::0;-1:-1:-1;;;11582:204:0;;-1:-1:-1;;;;;11582:14:0;;::::1;::::0;:65:::1;::::0;:204:::1;::::0;11662:20;;11582:14:::1;::::0;11713:4;;11740::::1;::::0;11760:15:::1;::::0;11582:204:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11578:251;;11811:7;;;11578:251;11844:21;:25:::0;11841:74:::1;;11871:12;::::0;:44:::1;::::0;-1:-1:-1;;;;;11871:12:0;;::::1;::::0;11893:21:::1;11871:44:::0;::::1;;;::::0;:12:::1;:44:::0;:12;:44;11893:21;11871:12;:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11841:74;11240:693;6069:1;-1:-1:-1::0;6081:7:0;:15;;-1:-1:-1;;;;6081:15:0;;;11175:758::o;9751:163::-;-1:-1:-1;;;;;9849:14:0;;9816:4;9849:14;;;:9;:14;;;;;;9816:4;;9849:14;;9848:15;:33;;;;-1:-1:-1;;;;;;;;;9867:14:0;;;;;:9;:14;;;;;;;;;9751:163::o;10285:532::-;10375:7;10395:11;10421:5;10417:87;;;-1:-1:-1;10435:7:0;;10417:87;;;10454:6;10450:54;;;-1:-1:-1;10469:8:0;;10450:54;;;-1:-1:-1;5859:1:0;10450:54;10520:3;10527:1;10520:8;10516:28;;10538:6;10531:13;;;;;10516:28;10556:17;5902:5;10576:12;10585:3;10576:6;:12;:::i;:::-;:30;;;;:::i;:::-;10556:50;-1:-1:-1;10621:13:0;;10617:157;;10669:4;10653:22;;;;:7;:22;;;;;:35;;10679:9;;10653:22;:35;;10679:9;;10653:35;:::i;:::-;;;;-1:-1:-1;;10708:40:0;;1754:25:1;;;10731:4:0;;-1:-1:-1;;;;;10708:40:0;;;;;1742:2:1;1727:18;10708:40:0;;;;;;;10617:157;10791:18;10800:9;10791:6;:18;:::i;:::-;10784:25;10285:532;-1:-1:-1;;;;;;;10285:532: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;1423:180::-;1482:6;1535:2;1523:9;1514:7;1510:23;1506:32;1503:52;;;1551:1;1548;1541:12;1503:52;-1:-1:-1;1574:23:1;;1423:180;-1:-1:-1;1423:180:1:o;1790:456::-;1867:6;1875;1883;1936:2;1924:9;1915:7;1911:23;1907:32;1904:52;;;1952:1;1949;1942:12;1904:52;1991:9;1978:23;2010:31;2035:5;2010:31;:::i;:::-;2060:5;-1:-1:-1;2117:2:1;2102:18;;2089:32;2130:33;2089:32;2130:33;:::i;:::-;1790:456;;2182:7;;-1:-1:-1;;;2236:2:1;2221:18;;;;2208:32;;1790:456::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;4140:127::-;4201:10;4196:3;4192:20;4189:1;4182:31;4232:4;4229:1;4222:15;4256:4;4253:1;4246:15;4272:168;4345:9;;;4376;;4393:15;;;4387:22;;4373:37;4363:71;;4414:18;;:::i;4445:217::-;4485:1;4511;4501:132;;4555:10;4550:3;4546:20;4543:1;4536:31;4590:4;4587:1;4580:15;4618:4;4615:1;4608:15;4501:132;-1:-1:-1;4647:9:1;;4445:217::o;4667:128::-;4734:9;;;4755:11;;;4752:37;;;4769:18;;:::i;7478:125::-;7543:9;;;7564:10;;;7561:36;;;7577:18;;:::i;8086:127::-;8147:10;8142:3;8138:20;8135:1;8128:31;8178:4;8175:1;8168:15;8202:4;8199:1;8192:15;8218:251;8288:6;8341:2;8329:9;8320:7;8316:23;8312:32;8309:52;;;8357:1;8354;8347:12;8309:52;8389:9;8383:16;8408:31;8433:5;8408:31;:::i;8474:980::-;8736:4;8784:3;8773:9;8769:19;8815:6;8804:9;8797:25;8841:2;8879:6;8874:2;8863:9;8859:18;8852:34;8922:3;8917:2;8906:9;8902:18;8895:31;8946:6;8981;8975:13;9012:6;9004;8997:22;9050:3;9039:9;9035:19;9028:26;;9089:2;9081:6;9077:15;9063:29;;9110:1;9120:195;9134:6;9131:1;9128:13;9120:195;;;9199:13;;-1:-1:-1;;;;;9195:39:1;9183:52;;9290:15;;;;9255:12;;;;9231:1;9149:9;9120:195;;;-1:-1:-1;;;;;;;9371:32:1;;;;9366:2;9351:18;;9344:60;-1:-1:-1;;;9435:3:1;9420:19;9413:35;9332:3;8474:980;-1:-1:-1;;;8474:980:1:o

Swarm Source

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