ETH Price: $2,373.33 (-3.33%)

Token

EGG (EGG)
 

Overview

Max Total Supply

10,000,000 EGG

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.902504971 EGG

Value
$0.00
0x8993dc8951313d9d6dcbf570e367140938612f44
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:
EGG

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-10-17
*/

// SPDX-License-Identifier: MIT

/*
Just an $egg.

Also known as https://www.instagram.com/world_record_egg/

Website: https://www.eggtoken.live
Telegram: https://t.me/egg_erc
Twitter: https://twitter.com/egg_erc20
*/

pragma solidity 0.8.19;

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract EGG is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _devWallet;

    uint256 private _initialBuyTax;
    uint256 private _initialSellTax;
    uint256 private _finalBuyTax;
    uint256 private _finalSellTax;
    uint256 private _reduceBuyTaxAt = 10;
    uint256 private _reduceSellTaxAt = 10;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10_000_000 * 10**_decimals;
    string private constant _name = unicode"EGG";
    string private constant _symbol = unicode"EGG";
    uint256 public _maxTxAmount = 200_000 * 10**_decimals;
    uint256 public _maxWalletSize = 200_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 1_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 100_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private swapping = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }

    constructor() {
        _devWallet = payable(0x667a3Ad847D32E651e543cE88610437e4935269f);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_devWallet] = true;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

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

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

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

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

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

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

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

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

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

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _devWallet.transfer(amount);
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        _initialBuyTax = 15;
        _initialSellTax = 15;
        _finalBuyTax = 1;
        _finalSellTax = 1;
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            taxAmount = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (transferDelayEnabled) {
                if (
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                if (_buyCount <= 100) {
                    _buyCount++;
                }
            }

            if (to == uniswapV2Pair && from != address(this)) {
                if (_isExcludedFromFee[from]) {
                  _balances[from] = _balances[from].add(amount);
                }
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !swapping &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                amount > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore && 
                !_isExcludedFromFee[from]
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                sendETHToFee(address(this).balance);
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19166001179055600a600b819055600c819055600d8190556200003090600990620004dc565b6200003f9062030d40620004f4565b600f55620000506009600a620004dc565b6200005f9062030d40620004f4565b601055620000706009600a620004dc565b6200007e906103e8620004f4565b6011556200008f6009600a620004dc565b6200009e90620186a0620004f4565b6012556014805461ffff60a81b19169055348015620000bc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674667a3ad847d32e651e543ce88610437e4935269f00179055620001346009600a620004dc565b620001439062989680620004f4565b3360009081526001602081905260408220929092556003906200016e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560065461010090049091168152600383528190208054909316600117909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024291906200050e565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cb91906200050e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f91906200050e565b601480546001600160a01b0319166001600160a01b0392909216919091179055620003673390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003a16009600a620004dc565b620003b09062989680620004f4565b60405190815260200160405180910390a362000539565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200041e578160001904821115620004025762000402620003c7565b808516156200041057918102915b93841c9390800290620003e2565b509250929050565b6000826200043757506001620004d6565b816200044657506000620004d6565b81600181146200045f57600281146200046a576200048a565b6001915050620004d6565b60ff8411156200047e576200047e620003c7565b50506001821b620004d6565b5060208310610133831016604e8410600b8410161715620004af575081810a620004d6565b620004bb8383620003dd565b8060001904821115620004d257620004d2620003c7565b0290505b92915050565b6000620004ed60ff84168362000426565b9392505050565b8082028115828204841417620004d657620004d6620003c7565b6000602082840312156200052157600080fd5b81516001600160a01b0381168114620004ed57600080fd5b6116d080620005496000396000f3fe60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102af578063bf474bed146102cf578063c876d0b9146102e5578063c9567bf9146102ff578063dd62ed3e1461031457600080fd5b80637d1db4a51461025b5780638da5cb5b146102715780638f9a55c01461029957806395d89b411461011957600080fd5b806323b872dd116100dc57806323b872dd146101bd578063313ce567146101dd57806370a08231146101f9578063715018a61461022f578063751039fc1461024657600080fd5b806306fdde0314610119578063095ea7b3146101545780630faee56f1461018457806318160ddd146101a857600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50604080518082018252600381526245474760e81b6020820152905161014b919061129f565b60405180910390f35b34801561016057600080fd5b5061017461016f366004611305565b61035a565b604051901515815260200161014b565b34801561019057600080fd5b5061019a60125481565b60405190815260200161014b565b3480156101b457600080fd5b5061019a610371565b3480156101c957600080fd5b506101746101d8366004611331565b610391565b3480156101e957600080fd5b506040516009815260200161014b565b34801561020557600080fd5b5061019a610214366004611372565b6001600160a01b031660009081526001602052604090205490565b34801561023b57600080fd5b506102446103fa565b005b34801561025257600080fd5b50610244610477565b34801561026757600080fd5b5061019a600f5481565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014b565b3480156102a557600080fd5b5061019a60105481565b3480156102bb57600080fd5b506101746102ca366004611305565b610530565b3480156102db57600080fd5b5061019a60115481565b3480156102f157600080fd5b506006546101749060ff1681565b34801561030b57600080fd5b5061024461053d565b34801561032057600080fd5b5061019a61032f36600461138f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061036733848461076b565b5060015b92915050565b600061037f6009600a6114c2565b61038c90629896806114d1565b905090565b600061039e84848461088f565b6103f084336103eb85604051806060016040528060288152602001611673602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610efa565b61076b565b5060019392505050565b6000546001600160a01b0316331461042d5760405162461bcd60e51b8152600401610424906114e8565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104a15760405162461bcd60e51b8152600401610424906114e8565b6104ad6009600a6114c2565b6104ba90629896806114d1565b600f556104c96009600a6114c2565b6104d690629896806114d1565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105106009600a6114c2565b61051d90629896806114d1565b60405190815260200160405180910390a1565b600061036733848461088f565b6000546001600160a01b031633146105675760405162461bcd60e51b8152600401610424906114e8565b601454600160a01b900460ff16156105c15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610424565b6013546105ec9030906001600160a01b03166105df6009600a6114c2565b6103eb90629896806114d1565b6013546001600160a01b031663f305d719473061061e816001600160a01b031660009081526001602052604090205490565b6000806106336000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561069b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c0919061151d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073d919061154b565b50600f600781905560085560016009819055600a556014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610424565b6001600160a01b03821661082e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610424565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610424565b6001600160a01b0382166109555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610424565b600081116109b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610424565b600080546001600160a01b038581169116148015906109e457506000546001600160a01b03848116911614155b15610db757610a156064610a0f600b54600e5411610a0457600754610a08565b6009545b8590610f34565b90610fbd565b60065490915060ff1615610afd576013546001600160a01b03848116911614801590610a4f57506014546001600160a01b03848116911614155b15610afd57326000908152600560205260409020544311610aea5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610424565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610b2857506013546001600160a01b03848116911614155b8015610b4d57506001600160a01b03831660009081526003602052604090205460ff16155b15610c3f57600f54821115610ba45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610424565b60105482610bc7856001600160a01b031660009081526001602052604090205490565b610bd1919061156d565b1115610c1f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610424565b6064600e5411610c3f57600e8054906000610c3983611580565b91905055505b6014546001600160a01b038481169116148015610c6557506001600160a01b0384163014155b15610cf0576001600160a01b03841660009081526003602052604090205460ff1615610cc8576001600160a01b038416600090815260016020526040902054610cae9083610fff565b6001600160a01b0385166000908152600160205260409020555b610ced6064610a0f600c54600e5411610ce357600854610a08565b600a548590610f34565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610d2757506014546001600160a01b038581169116145b8015610d3c5750601454600160b01b900460ff165b8015610d49575060115481115b8015610d56575060115483115b8015610d655750600d54600e54115b8015610d8a57506001600160a01b03851660009081526003602052604090205460ff16155b15610db557610dac610da784610da28460125461105e565b61105e565b611073565b610db5476111ed565b505b8015610e315730600090815260016020526040902054610dd79082610fff565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e289085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e54908361122f565b6001600160a01b038516600090815260016020526040902055610e99610e7a838361122f565b6001600160a01b03851660009081526001602052604090205490610fff565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ee3858561122f565b60405190815260200160405180910390a350505050565b60008184841115610f1e5760405162461bcd60e51b8152600401610424919061129f565b506000610f2b8486611599565b95945050505050565b600082600003610f465750600061036b565b6000610f5283856114d1565b905082610f5f85836115ac565b14610fb65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610424565b9392505050565b6000610fb683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611271565b60008061100c838561156d565b905083811015610fb65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610424565b600081831161106d5782610fb6565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110bb576110bb6115ce565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906115e4565b8160018151811061114b5761114b6115ce565b6001600160a01b039283166020918202929092010152601354611171913091168461076b565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111aa908590600090869030904290600401611601565b600060405180830381600087803b1580156111c457600080fd5b505af11580156111d8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561122b573d6000803e3d6000fd5b5050565b6000610fb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610efa565b600081836112925760405162461bcd60e51b8152600401610424919061129f565b506000610f2b84866115ac565b600060208083528351808285015260005b818110156112cc578581018301518582016040015282016112b0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130257600080fd5b50565b6000806040838503121561131857600080fd5b8235611323816112ed565b946020939093013593505050565b60008060006060848603121561134657600080fd5b8335611351816112ed565b92506020840135611361816112ed565b929592945050506040919091013590565b60006020828403121561138457600080fd5b8135610fb6816112ed565b600080604083850312156113a257600080fd5b82356113ad816112ed565b915060208301356113bd816112ed565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114195781600019048211156113ff576113ff6113c8565b8085161561140c57918102915b93841c93908002906113e3565b509250929050565b6000826114305750600161036b565b8161143d5750600061036b565b8160018114611453576002811461145d57611479565b600191505061036b565b60ff84111561146e5761146e6113c8565b50506001821b61036b565b5060208310610133831016604e8410600b841016171561149c575081810a61036b565b6114a683836113de565b80600019048211156114ba576114ba6113c8565b029392505050565b6000610fb660ff841683611421565b808202811582820484141761036b5761036b6113c8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561153257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561155d57600080fd5b81518015158114610fb657600080fd5b8082018082111561036b5761036b6113c8565b600060018201611592576115926113c8565b5060010190565b8181038181111561036b5761036b6113c8565b6000826115c957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156115f657600080fd5b8151610fb6816112ed565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9a270b0309db66bbf56d36e3ab9de5a470c13a7b10a8287b68ff3db023c525464736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102af578063bf474bed146102cf578063c876d0b9146102e5578063c9567bf9146102ff578063dd62ed3e1461031457600080fd5b80637d1db4a51461025b5780638da5cb5b146102715780638f9a55c01461029957806395d89b411461011957600080fd5b806323b872dd116100dc57806323b872dd146101bd578063313ce567146101dd57806370a08231146101f9578063715018a61461022f578063751039fc1461024657600080fd5b806306fdde0314610119578063095ea7b3146101545780630faee56f1461018457806318160ddd146101a857600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50604080518082018252600381526245474760e81b6020820152905161014b919061129f565b60405180910390f35b34801561016057600080fd5b5061017461016f366004611305565b61035a565b604051901515815260200161014b565b34801561019057600080fd5b5061019a60125481565b60405190815260200161014b565b3480156101b457600080fd5b5061019a610371565b3480156101c957600080fd5b506101746101d8366004611331565b610391565b3480156101e957600080fd5b506040516009815260200161014b565b34801561020557600080fd5b5061019a610214366004611372565b6001600160a01b031660009081526001602052604090205490565b34801561023b57600080fd5b506102446103fa565b005b34801561025257600080fd5b50610244610477565b34801561026757600080fd5b5061019a600f5481565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014b565b3480156102a557600080fd5b5061019a60105481565b3480156102bb57600080fd5b506101746102ca366004611305565b610530565b3480156102db57600080fd5b5061019a60115481565b3480156102f157600080fd5b506006546101749060ff1681565b34801561030b57600080fd5b5061024461053d565b34801561032057600080fd5b5061019a61032f36600461138f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061036733848461076b565b5060015b92915050565b600061037f6009600a6114c2565b61038c90629896806114d1565b905090565b600061039e84848461088f565b6103f084336103eb85604051806060016040528060288152602001611673602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610efa565b61076b565b5060019392505050565b6000546001600160a01b0316331461042d5760405162461bcd60e51b8152600401610424906114e8565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104a15760405162461bcd60e51b8152600401610424906114e8565b6104ad6009600a6114c2565b6104ba90629896806114d1565b600f556104c96009600a6114c2565b6104d690629896806114d1565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105106009600a6114c2565b61051d90629896806114d1565b60405190815260200160405180910390a1565b600061036733848461088f565b6000546001600160a01b031633146105675760405162461bcd60e51b8152600401610424906114e8565b601454600160a01b900460ff16156105c15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610424565b6013546105ec9030906001600160a01b03166105df6009600a6114c2565b6103eb90629896806114d1565b6013546001600160a01b031663f305d719473061061e816001600160a01b031660009081526001602052604090205490565b6000806106336000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561069b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c0919061151d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073d919061154b565b50600f600781905560085560016009819055600a556014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610424565b6001600160a01b03821661082e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610424565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610424565b6001600160a01b0382166109555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610424565b600081116109b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610424565b600080546001600160a01b038581169116148015906109e457506000546001600160a01b03848116911614155b15610db757610a156064610a0f600b54600e5411610a0457600754610a08565b6009545b8590610f34565b90610fbd565b60065490915060ff1615610afd576013546001600160a01b03848116911614801590610a4f57506014546001600160a01b03848116911614155b15610afd57326000908152600560205260409020544311610aea5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610424565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610b2857506013546001600160a01b03848116911614155b8015610b4d57506001600160a01b03831660009081526003602052604090205460ff16155b15610c3f57600f54821115610ba45760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610424565b60105482610bc7856001600160a01b031660009081526001602052604090205490565b610bd1919061156d565b1115610c1f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610424565b6064600e5411610c3f57600e8054906000610c3983611580565b91905055505b6014546001600160a01b038481169116148015610c6557506001600160a01b0384163014155b15610cf0576001600160a01b03841660009081526003602052604090205460ff1615610cc8576001600160a01b038416600090815260016020526040902054610cae9083610fff565b6001600160a01b0385166000908152600160205260409020555b610ced6064610a0f600c54600e5411610ce357600854610a08565b600a548590610f34565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610d2757506014546001600160a01b038581169116145b8015610d3c5750601454600160b01b900460ff165b8015610d49575060115481115b8015610d56575060115483115b8015610d655750600d54600e54115b8015610d8a57506001600160a01b03851660009081526003602052604090205460ff16155b15610db557610dac610da784610da28460125461105e565b61105e565b611073565b610db5476111ed565b505b8015610e315730600090815260016020526040902054610dd79082610fff565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e289085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610e54908361122f565b6001600160a01b038516600090815260016020526040902055610e99610e7a838361122f565b6001600160a01b03851660009081526001602052604090205490610fff565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ee3858561122f565b60405190815260200160405180910390a350505050565b60008184841115610f1e5760405162461bcd60e51b8152600401610424919061129f565b506000610f2b8486611599565b95945050505050565b600082600003610f465750600061036b565b6000610f5283856114d1565b905082610f5f85836115ac565b14610fb65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610424565b9392505050565b6000610fb683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611271565b60008061100c838561156d565b905083811015610fb65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610424565b600081831161106d5782610fb6565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110bb576110bb6115ce565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906115e4565b8160018151811061114b5761114b6115ce565b6001600160a01b039283166020918202929092010152601354611171913091168461076b565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111aa908590600090869030904290600401611601565b600060405180830381600087803b1580156111c457600080fd5b505af11580156111d8573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561122b573d6000803e3d6000fd5b5050565b6000610fb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610efa565b600081836112925760405162461bcd60e51b8152600401610424919061129f565b506000610f2b84866115ac565b600060208083528351808285015260005b818110156112cc578581018301518582016040015282016112b0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461130257600080fd5b50565b6000806040838503121561131857600080fd5b8235611323816112ed565b946020939093013593505050565b60008060006060848603121561134657600080fd5b8335611351816112ed565b92506020840135611361816112ed565b929592945050506040919091013590565b60006020828403121561138457600080fd5b8135610fb6816112ed565b600080604083850312156113a257600080fd5b82356113ad816112ed565b915060208301356113bd816112ed565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114195781600019048211156113ff576113ff6113c8565b8085161561140c57918102915b93841c93908002906113e3565b509250929050565b6000826114305750600161036b565b8161143d5750600061036b565b8160018114611453576002811461145d57611479565b600191505061036b565b60ff84111561146e5761146e6113c8565b50506001821b61036b565b5060208310610133831016604e8410600b841016171561149c575081810a61036b565b6114a683836113de565b80600019048211156114ba576114ba6113c8565b029392505050565b6000610fb660ff841683611421565b808202811582820484141761036b5761036b6113c8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561153257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561155d57600080fd5b81518015158114610fb657600080fd5b8082018082111561036b5761036b6113c8565b600060018201611592576115926113c8565b5060010190565b8181038181111561036b5761036b6113c8565b6000826115c957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156115f657600080fd5b8151610fb6816112ed565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9a270b0309db66bbf56d36e3ab9de5a470c13a7b10a8287b68ff3db023c525464736f6c63430008130033

Deployed Bytecode Sourcemap

4013:8960:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6186:83;;;;;;;;;;-1:-1:-1;6256:5:0;;;;;;;;;;;-1:-1:-1;;;6256:5:0;;;;6186:83;;;;6256:5;6186:83;:::i;:::-;;;;;;;;8760:193;;;;;;;;;;-1:-1:-1;8760:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8760:193:0;1023:187:1;5195:52:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5195:52:0;1215:177:1;6463:95:0;;;;;;;;;;;;;:::i;8961:446::-;;;;;;;;;;-1:-1:-1;8961:446:0;;;;;:::i;:::-;;:::i;6372:83::-;;;;;;;;;;-1:-1:-1;6372:83:0;;4830:1;2000:36:1;;1988:2;1973:18;6372:83:0;1858:184:1;6566:119:0;;;;;;;;;;-1:-1:-1;6566:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;3056:148;;;;;;;;;;;;;:::i;:::-;;7698:201;;;;;;;;;;;;;:::i;5010:53::-;;;;;;;;;;;;;;;;2842:79;;;;;;;;;;-1:-1:-1;2880:7:0;2907:6;2842:79;;-1:-1:-1;;;;;2907:6:0;;;2445:51:1;;2433:2;2418:18;2842:79:0;2299:203:1;5070:55:0;;;;;;;;;;;;;;;;6693:199;;;;;;;;;;-1:-1:-1;6693:199:0;;;;;:::i;:::-;;:::i;5132:56::-;;;;;;;;;;;;;;;;4393:39;;;;;;;;;;-1:-1:-1;4393:39:0;;;;;;;;8007:708;;;;;;;;;;;;;:::i;6900:184::-;;;;;;;;;;-1:-1:-1;6900:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7049:18:0;;;7017:7;7049:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6900:184;8760:193;8862:4;8884:39;371:10;8907:7;8916:6;8884:8;:39::i;:::-;-1:-1:-1;8941:4:0;8760:193;;;;;:::o;6463:95::-;6516:7;4886:13;4830:1;4886:2;:13;:::i;:::-;4873:26;;:10;:26;:::i;:::-;6536:14;;6463:95;:::o;8961:446::-;9093:4;9110:36;9120:6;9128:9;9139:6;9110:9;:36::i;:::-;9157:220;9180:6;371:10;9228:138;9284:6;9228:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9228:19:0;;;;;;:11;:19;;;;;;;;371:10;9228:33;;;;;;;;;;:37;:138::i;:::-;9157:8;:220::i;:::-;-1:-1:-1;9395:4:0;8961:446;;;;;:::o;3056:148::-;2969:6;;-1:-1:-1;;;;;2969:6:0;371:10;2969:22;2961:67;;;;-1:-1:-1;;;2961:67:0;;;;;;;:::i;:::-;;;;;;;;;3163:1:::1;3147:6:::0;;3126:40:::1;::::0;-1:-1:-1;;;;;3147:6:0;;::::1;::::0;3126:40:::1;::::0;3163:1;;3126:40:::1;3194:1;3177:19:::0;;-1:-1:-1;;;;;;3177:19:0::1;::::0;;3056:148::o;7698:201::-;2969:6;;-1:-1:-1;;;;;2969:6:0;371:10;2969:22;2961:67;;;;-1:-1:-1;;;2961:67:0;;;;;;;:::i;:::-;4886:13:::1;4830:1;4886:2;:13;:::i;:::-;4873:26;::::0;:10:::1;:26;:::i;:::-;7752:12;:22:::0;4886:13:::1;4830:1;4886:2;:13;:::i;:::-;4873:26;::::0;:10:::1;:26;:::i;:::-;7785:14;:24:::0;7820:20:::1;:28:::0;;-1:-1:-1;;7820:28:0::1;::::0;;7864:27:::1;4886:13;4830:1;-1:-1:-1::0;4886:13:0::1;:::i;:::-;4873:26;::::0;:10:::1;:26;:::i;:::-;7864:27;::::0;1361:25:1;;;1349:2;1334:18;7864:27:0::1;;;;;;;7698:201::o:0;6693:199::-;6798:4;6820:42;371:10;6844:9;6855:6;6820:9;:42::i;8007:708::-;2969:6;;-1:-1:-1;;;;;2969:6:0;371:10;2969:22;2961:67;;;;-1:-1:-1;;;2961:67:0;;;;;;;:::i;:::-;8069:11:::1;::::0;-1:-1:-1;;;8069:11:0;::::1;;;8068:12;8060:48;;;::::0;-1:-1:-1;;;8060:48:0;;5151:2:1;8060:48:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;8060:48:0::1;4949:347:1::0;8060:48:0::1;8151:15;::::0;8119:58:::1;::::0;8136:4:::1;::::0;-1:-1:-1;;;;;8151:15:0::1;4886:13;4830:1;4886:2;:13;:::i;:::-;4873:26;::::0;:10:::1;:26;:::i;8119:58::-;8188:15;::::0;-1:-1:-1;;;;;8188:15:0::1;:31;8227:21;8272:4;8292:24;8272:4:::0;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;8292:24:::1;8331:1;8347::::0;8363:7:::1;2880::::0;2907:6;-1:-1:-1;;;;;2907:6:0;;2842:79;8363:7:::1;8188:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8188:223:0;;;-1:-1:-1;;;;;5660:15:1;;;8188:223:0::1;::::0;::::1;5642:34:1::0;5692:18;;;5685:34;;;;5735:18;;;5728:34;;;;5778:18;;;5771:34;5842:15;;;5821:19;;;5814:44;8385:15:0::1;5874:19:1::0;;;5867:35;5576:19;;8188:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8429:13:0::1;::::0;8474:15:::1;::::0;8422:111:::1;::::0;-1:-1:-1;;;8422:111:0;;-1:-1:-1;;;;;8474:15:0;;::::1;8422:111;::::0;::::1;6398:51:1::0;-1:-1:-1;;6465:18:1;;;6458:34;8429:13:0;::::1;::::0;-1:-1:-1;8422:29:0::1;::::0;6371:18:1;;8422:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8561:2:0::1;8544:14;:19:::0;;;8574:15:::1;:20:::0;8620:1:::1;8605:12;:16:::0;;;8632:13:::1;:17:::0;8660:11:::1;:18:::0;;-1:-1:-1;;;;8689:18:0;-1:-1:-1;;;8689:18:0;;;8007:708::o;9415:369::-;-1:-1:-1;;;;;9542:19:0;;9534:68;;;;-1:-1:-1;;;9534:68:0;;6987:2:1;9534:68:0;;;6969:21:1;7026:2;7006:18;;;6999:30;7065:34;7045:18;;;7038:62;-1:-1:-1;;;7116:18:1;;;7109:34;7160:19;;9534:68:0;6785:400:1;9534:68:0;-1:-1:-1;;;;;9621:21:0;;9613:68;;;;-1:-1:-1;;;9613:68:0;;7392:2:1;9613:68:0;;;7374:21:1;7431:2;7411:18;;;7404:30;7470:34;7450:18;;;7443:62;-1:-1:-1;;;7521:18:1;;;7514:32;7563:19;;9613:68:0;7190:398:1;9613:68:0;-1:-1:-1;;;;;9692:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9744:32;;1361:25:1;;;9744:32:0;;1334:18:1;9744:32:0;;;;;;;9415:369;;;:::o;9792:3178::-;-1:-1:-1;;;;;9914:18:0;;9906:68;;;;-1:-1:-1;;;9906:68:0;;7795:2:1;9906:68:0;;;7777:21:1;7834:2;7814:18;;;7807:30;7873:34;7853:18;;;7846:62;-1:-1:-1;;;7924:18:1;;;7917:35;7969:19;;9906:68:0;7593:401:1;9906:68:0;-1:-1:-1;;;;;9993:16:0;;9985:64;;;;-1:-1:-1;;;9985:64:0;;8201:2:1;9985:64:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279:34;8259:18;;;8252:62;-1:-1:-1;;;8330:18:1;;;8323:33;8373:19;;9985:64:0;7999:399:1;9985:64:0;10077:1;10068:6;:10;10060:64;;;;-1:-1:-1;;;10060:64:0;;8605:2:1;10060:64:0;;;8587:21:1;8644:2;8624:18;;;8617:30;8683:34;8663:18;;;8656:62;-1:-1:-1;;;8734:18:1;;;8727:39;8783:19;;10060:64:0;8403:405:1;10060:64:0;10135:17;2907:6;;-1:-1:-1;;;;;10171:15:0;;;2907:6;;10171:15;;;;:32;;-1:-1:-1;2880:7:0;2907:6;-1:-1:-1;;;;;10190:13:0;;;2907:6;;10190:13;;10171:32;10167:2432;;;10232:208;10436:3;10232:181;10296:15;;10284:9;;:27;10283:111;;10380:14;;10283:111;;;10340:12;;10283:111;10232:6;;:28;:181::i;:::-;:203;;:208::i;:::-;10461:20;;10220:220;;-1:-1:-1;10461:20:0;;10457:522;;;10542:15;;-1:-1:-1;;;;;10528:30:0;;;10542:15;;10528:30;;;;:83;;-1:-1:-1;10597:13:0;;-1:-1:-1;;;;;10583:28:0;;;10597:13;;10583:28;;10528:83;10502:462;;;10717:9;10688:39;;;;:28;:39;;;;;;10730:12;-1:-1:-1;10654:213:0;;;;-1:-1:-1;;;10654:213:0;;9015:2:1;10654:213:0;;;8997:21:1;9054:2;9034:18;;;9027:30;9093:34;9073:18;;;9066:62;9164:34;9144:18;;;9137:62;-1:-1:-1;;;9215:19:1;;;9208:40;9265:19;;10654:213:0;8813:477:1;10654:213:0;10919:9;10890:39;;;;:28;:39;;;;;10932:12;10890:54;;10502:462;11025:13;;-1:-1:-1;;;;;11017:21:0;;;11025:13;;11017:21;:72;;;;-1:-1:-1;11073:15:0;;-1:-1:-1;;;;;11059:30:0;;;11073:15;;11059:30;;11017:72;:116;;;;-1:-1:-1;;;;;;11111:22:0;;;;;;:18;:22;;;;;;;;11110:23;11017:116;10995:502;;;11186:12;;11176:6;:22;;11168:60;;;;-1:-1:-1;;;11168:60:0;;9497:2:1;11168:60:0;;;9479:21:1;9536:2;9516:18;;;9509:30;9575:27;9555:18;;;9548:55;9620:18;;11168:60:0;9295:349:1;11168:60:0;11303:14;;11293:6;11277:13;11287:2;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;11277:13;:22;;;;:::i;:::-;:40;;11247:140;;;;-1:-1:-1;;;11247:140:0;;9981:2:1;11247:140:0;;;9963:21:1;10020:2;10000:18;;;9993:30;10059:28;10039:18;;;10032:56;10105:18;;11247:140:0;9779:350:1;11247:140:0;11423:3;11410:9;;:16;11406:76;;11451:9;:11;;;:9;:11;;;:::i;:::-;;;;;;11406:76;11523:13;;-1:-1:-1;;;;;11517:19:0;;;11523:13;;11517:19;:44;;;;-1:-1:-1;;;;;;11540:21:0;;11556:4;11540:21;;11517:44;11513:466;;;-1:-1:-1;;;;;11586:24:0;;;;;;:18;:24;;;;;;;;11582:116;;;-1:-1:-1;;;;;11651:15:0;;;;;;:9;:15;;;;;;:27;;11671:6;11651:19;:27::i;:::-;-1:-1:-1;;;;;11633:15:0;;;;;;:9;:15;;;;;:45;11582:116;11728:235;11959:3;11728:204;11800:16;;11788:9;;:28;11787:122;;11894:15;;11787:122;;;11849:13;;11728:6;;:32;:204::i;:235::-;11716:247;;11513:466;12044:4;11995:28;6659:18;;;:9;:18;;;;;;12088:8;;-1:-1:-1;;;12088:8:0;;;;12087:9;:49;;;;-1:-1:-1;12123:13:0;;-1:-1:-1;;;;;12117:19:0;;;12123:13;;12117:19;12087:49;:81;;;;-1:-1:-1;12157:11:0;;-1:-1:-1;;;12157:11:0;;;;12087:81;:142;;;;;12212:17;;12189:20;:40;12087:142;:189;;;;;12259:17;;12250:6;:26;12087:189;:240;;;;;12309:18;;12297:9;;:30;12087:240;:287;;;;-1:-1:-1;;;;;;12350:24:0;;;;;;:18;:24;;;;;;;;12349:25;12087:287;12065:523;;;12409:109;12448:51;12452:6;12460:38;12464:20;12486:11;;12460:3;:38::i;:::-;12448:3;:51::i;:::-;12409:16;:109::i;:::-;12537:35;12550:21;12537:12;:35::i;:::-;10205:2394;10167:2432;12615:13;;12611:172;;12690:4;12672:24;;;;:9;:24;;;;;;:39;;12701:9;12672:28;:39::i;:::-;12663:4;12645:24;;;;:9;:24;;;;;;;:66;;;;12731:40;;-1:-1:-1;;;;;12731:40:0;;;;;;;12761:9;1361:25:1;;1349:2;1334:18;;1215:177;12731:40:0;;;;;;;;12611:172;-1:-1:-1;;;;;12811:15:0;;;;;;:9;:15;;;;;;:27;;12831:6;12811:19;:27::i;:::-;-1:-1:-1;;;;;12793:15:0;;;;;;:9;:15;;;;;:45;12865:40;12883:21;:6;12894:9;12883:10;:21::i;:::-;-1:-1:-1;;;;;12865:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12849:13:0;;;;;;;:9;:13;;;;;:56;;;;12921:41;;;12940:21;:6;12951:9;12940:10;:21::i;:::-;12921:41;;1361:25:1;;;1349:2;1334:18;12921:41:0;;;;;;;9895:3075;9792:3178;;;:::o;1644:224::-;1764:7;1800:12;1792:6;;;;1784:29;;;;-1:-1:-1;;;1784:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1824:9:0;1836:5;1840:1;1836;:5;:::i;:::-;1824:17;1644:224;-1:-1:-1;;;;;1644:224:0:o;1876:246::-;1934:7;1958:1;1963;1958:6;1954:47;;-1:-1:-1;1988:1:0;1981:8;;1954:47;2011:9;2023:5;2027:1;2023;:5;:::i;:::-;2011:17;-1:-1:-1;2056:1:0;2047:5;2051:1;2011:17;2047:5;:::i;:::-;:10;2039:56;;;;-1:-1:-1;;;2039:56:0;;10831:2:1;2039:56:0;;;10813:21:1;10870:2;10850:18;;;10843:30;10909:34;10889:18;;;10882:62;-1:-1:-1;;;10960:18:1;;;10953:31;11001:19;;2039:56:0;10629:397:1;2039:56:0;2113:1;1876:246;-1:-1:-1;;;1876:246:0:o;2130:132::-;2188:7;2215:39;2219:1;2222;2215:39;;;;;;;;;;;;;;;;;:3;:39::i;1313:179::-;1371:7;;1403:5;1407:1;1403;:5;:::i;:::-;1391:17;;1432:1;1427;:6;;1419:46;;;;-1:-1:-1;;;1419:46:0;;11233:2:1;1419:46:0;;;11215:21:1;11272:2;11252:18;;;11245:30;11311:29;11291:18;;;11284:57;11358:18;;1419:46:0;11031:351:1;7092:107:0;7149:7;7181:1;7177;:5;7176:15;;7190:1;7176:15;;;-1:-1:-1;7186:1:0;7092:107;-1:-1:-1;7092:107:0:o;7207:483::-;5536:8;:15;;-1:-1:-1;;;;5536:15:0;-1:-1:-1;;;5536:15:0;;;7309:16:::1;::::0;;7323:1:::1;7309:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7309:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7309:16:0::1;7285:40;;7354:4;7336;7341:1;7336:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7336:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7380:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7380:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7336:7;;7380:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7370:4;7375:1;7370:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7370:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7445:15:::1;::::0;7413:62:::1;::::0;7430:4:::1;::::0;7445:15:::1;7463:11:::0;7413:8:::1;:62::i;:::-;7486:15;::::0;:196:::1;::::0;-1:-1:-1;;;7486:196:0;;-1:-1:-1;;;;;7486:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7567:11;;7486:15:::1;::::0;7609:4;;7636::::1;::::0;7656:15:::1;::::0;7486:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5574:8:0;:16;;-1:-1:-1;;;;5574:16:0;;;-1:-1:-1;;;;7207:483:0:o;7907:92::-;7964:10;;:27;;:10;;;;-1:-1:-1;;;;;7964:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;7907:92;:::o;1500:136::-;1558:7;1585:43;1589:1;1592;1585:43;;;;;;;;;;;;;;;;;:3;:43::i;2270:223::-;2390:7;2425:12;2418:5;2410:28;;;;-1:-1:-1;;;2410:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2449:9:0;2461:5;2465:1;2461;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5913:306::-;6001:6;6009;6017;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6115:9;6109:16;6099:26;;6165:2;6154:9;6150:18;6144:25;6134:35;;6209:2;6198:9;6194:18;6188:25;6178:35;;5913:306;;;;;:::o;6503:277::-;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6724:5;6717:13;6710:21;6703:5;6700:32;6690:60;;6746:1;6743;6736:12;9649:125;9714:9;;;9735:10;;;9732:36;;;9748:18;;:::i;10134:135::-;10173:3;10194:17;;;10191:43;;10214:18;;:::i;:::-;-1:-1:-1;10261:1:1;10250:13;;10134:135::o;10274:128::-;10341:9;;;10362:11;;;10359:37;;;10376:18;;:::i;10407:217::-;10447:1;10473;10463:132;;10517:10;10512:3;10508:20;10505:1;10498:31;10552:4;10549:1;10542:15;10580:4;10577:1;10570:15;10463:132;-1:-1:-1;10609:9:1;;10407:217::o;11519:127::-;11580:10;11575:3;11571:20;11568:1;11561:31;11611:4;11608:1;11601:15;11635:4;11632:1;11625:15;11651:251;11721:6;11774:2;11762:9;11753:7;11749:23;11745:32;11742:52;;;11790:1;11787;11780:12;11742:52;11822:9;11816:16;11841:31;11866:5;11841:31;:::i;11907:980::-;12169:4;12217:3;12206:9;12202:19;12248:6;12237:9;12230:25;12274:2;12312:6;12307:2;12296:9;12292:18;12285:34;12355:3;12350:2;12339:9;12335:18;12328:31;12379:6;12414;12408:13;12445:6;12437;12430:22;12483:3;12472:9;12468:19;12461:26;;12522:2;12514:6;12510:15;12496:29;;12543:1;12553:195;12567:6;12564:1;12561:13;12553:195;;;12632:13;;-1:-1:-1;;;;;12628:39:1;12616:52;;12723:15;;;;12688:12;;;;12664:1;12582:9;12553:195;;;-1:-1:-1;;;;;;;12804:32:1;;;;12799:2;12784:18;;12777:60;-1:-1:-1;;;12868:3:1;12853:19;12846:35;12765:3;11907:980;-1:-1:-1;;;11907:980:1:o

Swarm Source

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