ETH Price: $2,405.70 (-0.68%)

Token

Smoof Cat (SMOOF)
 

Overview

Max Total Supply

1,000,000,000 SMOOF

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
935,310.671936252248468454 SMOOF

Value
$0.00
0x7D02C8Fa2e777dd9d671309639FD2756c9a9C381
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:
SMOOF

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-08-02
*/

/**
Website: https://smoofcateth.xyz
X:    https://x.com/smoofcateth
Telegram:https://t.me/smoofcateth
 */


// SPDX-License-Identifier: UNLICENSE

pragma solidity ^0.8.19;

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

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

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

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

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

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

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

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

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 IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

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

contract SMOOF is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _poses;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _feeExempt;
    mapping(address => bool) private _swapExempt;
    mapping(address => bool) private bots;
    address payable private _takerPort;

    uint256 _buyingTax = 0;
    uint256 _sellingTax = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _supplies = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Smoof Cat";
    string private constant _symbol = unicode"SMOOF";
    uint256 public _swapLowLimit = 5_000 * 10 ** _decimals;
    uint256 public _txHighLimit = 20_000_000 * 10 ** _decimals;
    uint256 public _walletHighLimit = 20_000_000 * 10 ** _decimals;
    uint256 public _swapHightLimit = 10_000_000 * 10 ** _decimals;

    IDexRouter private dexRouter;
    address private dexPair;
    bool private launched;
    bool private swapGoing = false;
    bool private swapOpen = false;

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

    constructor() {
        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _takerPort = payable(0xc35Bb6EddbCCf298Ed61Ff0E95CaBbd2c5cD26DB);

        _poses[_msgSender()] = _supplies;
        _swapExempt[_takerPort] = true;
        _feeExempt[owner()] = true;
        _feeExempt[address(this)] = true;
        _feeExempt[_takerPort] = true;

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

    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 _supplies;
    }

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

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

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

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

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

    function closeGate() external onlyOwner {
        _txHighLimit = _supplies;
        _walletHighLimit = _supplies;
        emit MaxTxAmountUpdated(_supplies);
    }

    function sendMoon(uint256 amount) private {
        _takerPort.transfer(amount);
    }

    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 throwTax(
        address from,
        address to,
        uint256 amount,
        uint256 taxRate
    ) internal returns (uint256) {
        bool isExcluded = _swapExempt[from] || _swapExempt[to];

        if (isExcluded) {
            return amount;
        } else {
            uint256 taxAmount = amount.mul(taxRate).div(100);
            if (taxAmount > 0) {
                _poses[address(this)] = _poses[address(this)].add(taxAmount);
                emit Transfer(from, address(this), taxRate);
            }
            _poses[from] = _poses[from].sub(amount);

            return amount - taxAmount;
        }
    }

    function _transfer(address fold, address timb, uint256 avvv) private {
        require(fold != address(0), "ERC20: transfer from the zero address");
        require(timb != address(0), "ERC20: transfer to the zero address");
        require(avvv > 0, "Transfer amount must be greater than zero");
        uint256 ttii = 0;
        if (fold != owner() && timb != owner()) {
            require(!bots[fold] && !bots[timb]);
            ttii = _buyingTax;

            if (
                fold == dexPair &&
                timb != address(dexRouter) &&
                !_feeExempt[timb]
            ) {
                require(avvv <= _txHighLimit, "amount <= maxTx");
                require(
                    balanceOf(timb) + avvv <= _walletHighLimit,
                    "wallet <= maxWallet"
                );
            }

            if (timb == dexPair && fold != address(this)) {
                ttii = _sellingTax;
            }

            if (_feeExempt[fold] || _feeExempt[timb]) {
                ttii = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !swapGoing && timb == dexPair && swapOpen && !_feeExempt[fold]
            ) {
                swapTokensForEth(
                    min(avvv, min(contractTokenBalance, _swapHightLimit))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0 ether) {
                    sendMoon(address(this).balance);
                }
            }
        }

        uint256 taxed = throwTax(fold, timb, avvv, ttii);
        _poses[timb] = _poses[timb].add(taxed);
        emit Transfer(fold, timb, taxed);
    }

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

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

    function makePair() external onlyOwner {
        require(!launched, "trading != open");
        _approve(address(this), address(dexRouter), _supplies);
        dexPair = IDexFactory(dexRouter.factory()).createPair(
            address(this),
            dexRouter.WETH()
        );
        dexRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        swapOpen = true;
        launched = true;
    }

    function manageTax(
        uint256 _newTaxForBuy,
        uint256 _newTaxForSell
    ) external onlyOwner {
        require(_newTaxForBuy <= 99 && _newTaxForBuy <= 99, "fee < 100");
        _buyingTax = _newTaxForBuy;
        _sellingTax = _newTaxForSell;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_swapHightLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapLowLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txHighLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletHighLimit","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":"closeGate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"makePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newTaxForBuy","type":"uint256"},{"internalType":"uint256","name":"_newTaxForSell","type":"uint256"}],"name":"manageTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600060078190556008556200001c6012600a62000330565b6200002a9061138862000348565b6009556200003b6012600a62000330565b6200004b906301312d0062000348565b600a556012600a6200005e919062000330565b6200006e906301312d0062000348565b600b556200007f6012600a62000330565b6200008e906298968062000348565b600c55600e805461ffff60a81b19169055348015620000ac57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556006805490911673c35bb6eddbccf298ed61ff0e95cabbd2c5cd26db179055620001446012600a62000330565b6200015490633b9aca0062000348565b33600081815260016020818152604080842095909555600680546001600160a01b03908116855260048352868520805460ff1990811686179091558554821686526003909352868520805484168517905530855286852080548416851790559054168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f46012600a62000330565b6200020490633b9aca0062000348565b60405190815260200160405180910390a362000362565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002725781600019048211156200025657620002566200021b565b808516156200026457918102915b93841c939080029062000236565b509250929050565b6000826200028b575060016200032a565b816200029a575060006200032a565b8160018114620002b35760028114620002be57620002de565b60019150506200032a565b60ff841115620002d257620002d26200021b565b50506001821b6200032a565b5060208310610133831016604e8410600b841016171562000303575081810a6200032a565b6200030f838362000231565b80600019048211156200032657620003266200021b565b0290505b92915050565b60006200034160ff8416836200027a565b9392505050565b80820281158282048414176200032a576200032a6200021b565b61178a80620003726000396000f3fe60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d9578063a9059cbb14610307578063bf0fc3ed14610327578063d9e66cca1461033c578063dd62ed3e1461035157600080fd5b8063715018a6146102705780637c086d89146102855780638c9b0bad1461029b5780638da5cb5b146102b157600080fd5b80631f132e6f116100dc5780631f132e6f146101d257806323b872dd146101e8578063313ce567146102085780633e291c971461022457806370a082311461023a57600080fd5b806306fdde0314610119578063095ea7b31461015d57806313eb28da1461018d57806318160ddd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600981526814db5bdbd98810d85d60ba1b60208201525b6040516101549190611372565b60405180910390f35b34801561016957600080fd5b5061017d6101783660046113d8565b610397565b6040519015158152602001610154565b34801561019957600080fd5b506101ad6101a8366004611404565b6103ae565b005b3480156101bb57600080fd5b506101c4610436565b604051908152602001610154565b3480156101de57600080fd5b506101c4600c5481565b3480156101f457600080fd5b5061017d610203366004611426565b610457565b34801561021457600080fd5b5060405160128152602001610154565b34801561023057600080fd5b506101c460095481565b34801561024657600080fd5b506101c4610255366004611467565b6001600160a01b031660009081526001602052604090205490565b34801561027c57600080fd5b506101ad6104c0565b34801561029157600080fd5b506101c4600b5481565b3480156102a757600080fd5b506101c4600a5481565b3480156102bd57600080fd5b506000546040516001600160a01b039091168152602001610154565b3480156102e557600080fd5b5060408051808201909152600581526429a6a7a7a360d91b6020820152610147565b34801561031357600080fd5b5061017d6103223660046113d8565b610534565b34801561033357600080fd5b506101ad610541565b34801561034857600080fd5b506101ad610857565b34801561035d57600080fd5b506101c461036c366004611484565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a433848461090b565b5060015b92915050565b6000546001600160a01b031633146103e15760405162461bcd60e51b81526004016103d8906114bd565b60405180910390fd5b606382111580156103f3575060638211155b61042b5760405162461bcd60e51b81526020600482015260096024820152680666565203c203130360bc1b60448201526064016103d8565b600791909155600855565b60006104446012600a6115ec565b61045290633b9aca006115fb565b905090565b6000610464848484610a2f565b6104b684336104b18560405180606001604052806028815260200161172d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e92565b61090b565b5060019392505050565b6000546001600160a01b031633146104ea5760405162461bcd60e51b81526004016103d8906114bd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103a4338484610a2f565b6000546001600160a01b0316331461056b5760405162461bcd60e51b81526004016103d8906114bd565b600e54600160a01b900460ff16156105b75760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b73390109e9037b832b760891b60448201526064016103d8565b600d546105e39030906001600160a01b03166105d56012600a6115ec565b6104b190633b9aca006115fb565b600d60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065a9190611612565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e09190611612565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561072d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107519190611612565b600e80546001600160a01b039283166001600160a01b0319909116179055600d541663f305d7194730610799816001600160a01b031660009081526001602052604090205490565b6000806107ae6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610816573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061083b919061162f565b5050600e805462ff00ff60a01b19166201000160a01b17905550565b6000546001600160a01b031633146108815760405162461bcd60e51b81526004016103d8906114bd565b61088d6012600a6115ec565b61089b90633b9aca006115fb565b600a9081556108ac906012906115ec565b6108ba90633b9aca006115fb565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ea6012600a6115ec565b6108f890633b9aca006115fb565b60405190815260200160405180910390a1565b6001600160a01b03831661096d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d8565b6001600160a01b0382166109ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d8565b6001600160a01b038216610af55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d8565b60008111610b575760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d8565b600080546001600160a01b03858116911614801590610b8457506000546001600160a01b03848116911614155b15610dfb576001600160a01b03841660009081526005602052604090205460ff16158015610bcb57506001600160a01b03831660009081526005602052604090205460ff16155b610bd457600080fd5b50600754600e546001600160a01b038581169116148015610c035750600d546001600160a01b03848116911614155b8015610c2857506001600160a01b03831660009081526003602052604090205460ff16155b15610ce257600a54821115610c715760405162461bcd60e51b815260206004820152600f60248201526e0c2dadeeadce840787a40dac2f0a8f608b1b60448201526064016103d8565b600b5482610c94856001600160a01b031660009081526001602052604090205490565b610c9e919061165d565b1115610ce25760405162461bcd60e51b81526020600482015260136024820152721dd85b1b195d080f0f481b585e15d85b1b195d606a1b60448201526064016103d8565b600e546001600160a01b038481169116148015610d0857506001600160a01b0384163014155b15610d1257506008545b6001600160a01b03841660009081526003602052604090205460ff1680610d5157506001600160a01b03831660009081526003602052604090205460ff165b15610d5a575060005b30600090815260016020526040902054600e54600160a81b900460ff16158015610d915750600e546001600160a01b038581169116145b8015610da65750600e54600160b01b900460ff165b8015610dcb57506001600160a01b03851660009081526003602052604090205460ff16155b15610df957610ded610de884610de384600c54610ecc565b610ecc565b610ee4565b47610df747611069565b505b505b6000610e09858585856110a7565b6001600160a01b038516600090815260016020526040902054909150610e2f90826111df565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e839085815260200190565b60405180910390a35050505050565b60008184841115610eb65760405162461bcd60e51b81526004016103d89190611372565b506000610ec38486611670565b95945050505050565b6000818311610edb5782610edd565b815b9392505050565b600e805460ff60a81b1916600160a81b179055600954811115611059576040805160028082526060820183526000926020830190803683370190505090503081600081518110610f3657610f36611683565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb39190611612565b81600181518110610fc657610fc6611683565b6001600160a01b039283166020918202929092010152600d54610fec913091168461090b565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611025908590600090869030904290600401611699565b600060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050505b50600e805460ff60a81b19169055565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110a3573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260046020526040812054819060ff16806110e857506001600160a01b03851660009081526004602052604090205460ff165b905080156110f957839150506111d7565b6000611110606461110a878761123e565b906112c0565b9050801561118c573060009081526001602052604090205461113290826111df565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111839088815260200190565b60405180910390a35b6001600160a01b0387166000908152600160205260409020546111af9086611302565b6001600160a01b0388166000908152600160205260409020556111d28186611670565b925050505b949350505050565b6000806111ec838561165d565b905083811015610edd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d8565b600082600003611250575060006103a8565b600061125c83856115fb565b905082611269858361170a565b14610edd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d8565b6000610edd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611344565b6000610edd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e92565b600081836113655760405162461bcd60e51b81526004016103d89190611372565b506000610ec3848661170a565b600060208083528351808285015260005b8181101561139f57858101830151858201604001528201611383565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113d557600080fd5b50565b600080604083850312156113eb57600080fd5b82356113f6816113c0565b946020939093013593505050565b6000806040838503121561141757600080fd5b50508035926020909101359150565b60008060006060848603121561143b57600080fd5b8335611446816113c0565b92506020840135611456816113c0565b929592945050506040919091013590565b60006020828403121561147957600080fd5b8135610edd816113c0565b6000806040838503121561149757600080fd5b82356114a2816113c0565b915060208301356114b2816113c0565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611543578160001904821115611529576115296114f2565b8085161561153657918102915b93841c939080029061150d565b509250929050565b60008261155a575060016103a8565b81611567575060006103a8565b816001811461157d5760028114611587576115a3565b60019150506103a8565b60ff841115611598576115986114f2565b50506001821b6103a8565b5060208310610133831016604e8410600b84101617156115c6575081810a6103a8565b6115d08383611508565b80600019048211156115e4576115e46114f2565b029392505050565b6000610edd60ff84168361154b565b80820281158282048414176103a8576103a86114f2565b60006020828403121561162457600080fd5b8151610edd816113c0565b60008060006060848603121561164457600080fd5b8351925060208401519150604084015190509250925092565b808201808211156103a8576103a86114f2565b818103818111156103a8576103a86114f2565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e95784516001600160a01b0316835293830193918301916001016116c4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f3f4aa416a8eb9c9d438aa97b3ed4b8beb2dcd166bffc260e9d1647d5ee43f5364736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102d9578063a9059cbb14610307578063bf0fc3ed14610327578063d9e66cca1461033c578063dd62ed3e1461035157600080fd5b8063715018a6146102705780637c086d89146102855780638c9b0bad1461029b5780638da5cb5b146102b157600080fd5b80631f132e6f116100dc5780631f132e6f146101d257806323b872dd146101e8578063313ce567146102085780633e291c971461022457806370a082311461023a57600080fd5b806306fdde0314610119578063095ea7b31461015d57806313eb28da1461018d57806318160ddd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600981526814db5bdbd98810d85d60ba1b60208201525b6040516101549190611372565b60405180910390f35b34801561016957600080fd5b5061017d6101783660046113d8565b610397565b6040519015158152602001610154565b34801561019957600080fd5b506101ad6101a8366004611404565b6103ae565b005b3480156101bb57600080fd5b506101c4610436565b604051908152602001610154565b3480156101de57600080fd5b506101c4600c5481565b3480156101f457600080fd5b5061017d610203366004611426565b610457565b34801561021457600080fd5b5060405160128152602001610154565b34801561023057600080fd5b506101c460095481565b34801561024657600080fd5b506101c4610255366004611467565b6001600160a01b031660009081526001602052604090205490565b34801561027c57600080fd5b506101ad6104c0565b34801561029157600080fd5b506101c4600b5481565b3480156102a757600080fd5b506101c4600a5481565b3480156102bd57600080fd5b506000546040516001600160a01b039091168152602001610154565b3480156102e557600080fd5b5060408051808201909152600581526429a6a7a7a360d91b6020820152610147565b34801561031357600080fd5b5061017d6103223660046113d8565b610534565b34801561033357600080fd5b506101ad610541565b34801561034857600080fd5b506101ad610857565b34801561035d57600080fd5b506101c461036c366004611484565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a433848461090b565b5060015b92915050565b6000546001600160a01b031633146103e15760405162461bcd60e51b81526004016103d8906114bd565b60405180910390fd5b606382111580156103f3575060638211155b61042b5760405162461bcd60e51b81526020600482015260096024820152680666565203c203130360bc1b60448201526064016103d8565b600791909155600855565b60006104446012600a6115ec565b61045290633b9aca006115fb565b905090565b6000610464848484610a2f565b6104b684336104b18560405180606001604052806028815260200161172d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e92565b61090b565b5060019392505050565b6000546001600160a01b031633146104ea5760405162461bcd60e51b81526004016103d8906114bd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103a4338484610a2f565b6000546001600160a01b0316331461056b5760405162461bcd60e51b81526004016103d8906114bd565b600e54600160a01b900460ff16156105b75760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b73390109e9037b832b760891b60448201526064016103d8565b600d546105e39030906001600160a01b03166105d56012600a6115ec565b6104b190633b9aca006115fb565b600d60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065a9190611612565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e09190611612565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561072d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107519190611612565b600e80546001600160a01b039283166001600160a01b0319909116179055600d541663f305d7194730610799816001600160a01b031660009081526001602052604090205490565b6000806107ae6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610816573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061083b919061162f565b5050600e805462ff00ff60a01b19166201000160a01b17905550565b6000546001600160a01b031633146108815760405162461bcd60e51b81526004016103d8906114bd565b61088d6012600a6115ec565b61089b90633b9aca006115fb565b600a9081556108ac906012906115ec565b6108ba90633b9aca006115fb565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ea6012600a6115ec565b6108f890633b9aca006115fb565b60405190815260200160405180910390a1565b6001600160a01b03831661096d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d8565b6001600160a01b0382166109ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d8565b6001600160a01b038216610af55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d8565b60008111610b575760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d8565b600080546001600160a01b03858116911614801590610b8457506000546001600160a01b03848116911614155b15610dfb576001600160a01b03841660009081526005602052604090205460ff16158015610bcb57506001600160a01b03831660009081526005602052604090205460ff16155b610bd457600080fd5b50600754600e546001600160a01b038581169116148015610c035750600d546001600160a01b03848116911614155b8015610c2857506001600160a01b03831660009081526003602052604090205460ff16155b15610ce257600a54821115610c715760405162461bcd60e51b815260206004820152600f60248201526e0c2dadeeadce840787a40dac2f0a8f608b1b60448201526064016103d8565b600b5482610c94856001600160a01b031660009081526001602052604090205490565b610c9e919061165d565b1115610ce25760405162461bcd60e51b81526020600482015260136024820152721dd85b1b195d080f0f481b585e15d85b1b195d606a1b60448201526064016103d8565b600e546001600160a01b038481169116148015610d0857506001600160a01b0384163014155b15610d1257506008545b6001600160a01b03841660009081526003602052604090205460ff1680610d5157506001600160a01b03831660009081526003602052604090205460ff165b15610d5a575060005b30600090815260016020526040902054600e54600160a81b900460ff16158015610d915750600e546001600160a01b038581169116145b8015610da65750600e54600160b01b900460ff165b8015610dcb57506001600160a01b03851660009081526003602052604090205460ff16155b15610df957610ded610de884610de384600c54610ecc565b610ecc565b610ee4565b47610df747611069565b505b505b6000610e09858585856110a7565b6001600160a01b038516600090815260016020526040902054909150610e2f90826111df565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e839085815260200190565b60405180910390a35050505050565b60008184841115610eb65760405162461bcd60e51b81526004016103d89190611372565b506000610ec38486611670565b95945050505050565b6000818311610edb5782610edd565b815b9392505050565b600e805460ff60a81b1916600160a81b179055600954811115611059576040805160028082526060820183526000926020830190803683370190505090503081600081518110610f3657610f36611683565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb39190611612565b81600181518110610fc657610fc6611683565b6001600160a01b039283166020918202929092010152600d54610fec913091168461090b565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611025908590600090869030904290600401611699565b600060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050505b50600e805460ff60a81b19169055565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110a3573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260046020526040812054819060ff16806110e857506001600160a01b03851660009081526004602052604090205460ff165b905080156110f957839150506111d7565b6000611110606461110a878761123e565b906112c0565b9050801561118c573060009081526001602052604090205461113290826111df565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111839088815260200190565b60405180910390a35b6001600160a01b0387166000908152600160205260409020546111af9086611302565b6001600160a01b0388166000908152600160205260409020556111d28186611670565b925050505b949350505050565b6000806111ec838561165d565b905083811015610edd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d8565b600082600003611250575060006103a8565b600061125c83856115fb565b905082611269858361170a565b14610edd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d8565b6000610edd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611344565b6000610edd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e92565b600081836113655760405162461bcd60e51b81526004016103d89190611372565b506000610ec3848661170a565b600060208083528351808285015260005b8181101561139f57858101830151858201604001528201611383565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113d557600080fd5b50565b600080604083850312156113eb57600080fd5b82356113f6816113c0565b946020939093013593505050565b6000806040838503121561141757600080fd5b50508035926020909101359150565b60008060006060848603121561143b57600080fd5b8335611446816113c0565b92506020840135611456816113c0565b929592945050506040919091013590565b60006020828403121561147957600080fd5b8135610edd816113c0565b6000806040838503121561149757600080fd5b82356114a2816113c0565b915060208301356114b2816113c0565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611543578160001904821115611529576115296114f2565b8085161561153657918102915b93841c939080029061150d565b509250929050565b60008261155a575060016103a8565b81611567575060006103a8565b816001811461157d5760028114611587576115a3565b60019150506103a8565b60ff841115611598576115986114f2565b50506001821b6103a8565b5060208310610133831016604e8410600b84101617156115c6575081810a6103a8565b6115d08383611508565b80600019048211156115e4576115e46114f2565b029392505050565b6000610edd60ff84168361154b565b80820281158282048414176103a8576103a86114f2565b60006020828403121561162457600080fd5b8151610edd816113c0565b60008060006060848603121561164457600080fd5b8351925060208401519150604084015190509250925092565b808201808211156103a8576103a86114f2565b818103818111156103a8576103a86114f2565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e95784516001600160a01b0316835293830193918301916001016116c4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f3f4aa416a8eb9c9d438aa97b3ed4b8beb2dcd166bffc260e9d1647d5ee43f5364736f6c63430008130033

Deployed Bytecode Sourcemap

3888:7889:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5617:83;;;;;;;;;;-1:-1:-1;5687:5:0;;;;;;;;;;;;-1:-1:-1;;;5687:5:0;;;;5617:83;;;;;;;:::i;:::-;;;;;;;;6499:186;;;;;;;;;;-1:-1:-1;6499:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6499:186:0;1023:187:1;11468:269:0;;;;;;;;;;-1:-1:-1;11468:269:0;;;;;:::i;:::-;;:::i;:::-;;5894:97;;;;;;;;;;;;;:::i;:::-;;;1614:25:1;;;1602:2;1587:18;5894:97:0;1468:177:1;4769:61:0;;;;;;;;;;;;;;;;6693:446;;;;;;;;;;-1:-1:-1;6693:446:0;;;;;:::i;:::-;;:::i;5803:83::-;;;;;;;;;;-1:-1:-1;5803:83:0;;4378:2;2253:36:1;;2241:2;2226:18;5803:83:0;2111:184:1;4574:54:0;;;;;;;;;;;;;;;;5999:116;;;;;;;;;;-1:-1:-1;5999:116:0;;;;;:::i;:::-;-1:-1:-1;;;;;6092:15:0;6065:7;6092:15;;;:6;:15;;;;;;;5999:116;2897:148;;;;;;;;;;;;;:::i;4700:62::-;;;;;;;;;;;;;;;;4635:58;;;;;;;;;;;;;;;;2683:79;;;;;;;;;;-1:-1:-1;2721:7:0;2748:6;2683:79;;-1:-1:-1;;;;;2748:6:0;;;2698:51:1;;2686:2;2671:18;2683:79:0;2552:203:1;5708:87:0;;;;;;;;;;-1:-1:-1;5780:7:0;;;;;;;;;;;;-1:-1:-1;;;5780:7:0;;;;5708:87;;6123:192;;;;;;;;;;-1:-1:-1;6123:192:0;;;;;:::i;:::-;;:::i;10884:576::-;;;;;;;;;;;;;:::i;7147:167::-;;;;;;;;;;;;;:::i;6323:168::-;;;;;;;;;;-1:-1:-1;6323:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6456:18:0;;;6429:7;6456:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6323:168;6499:186;6599:4;6616:39;298:10;6639:7;6648:6;6616:8;:39::i;:::-;-1:-1:-1;6673:4:0;6499:186;;;;;:::o;11468:269::-;2810:6;;-1:-1:-1;;;;;2810:6:0;298:10;2810:22;2802:67;;;;-1:-1:-1;;;2802:67:0;;;;;;;:::i;:::-;;;;;;;;;11614:2:::1;11597:13;:19;;:42;;;;;11637:2;11620:13;:19;;11597:42;11589:64;;;::::0;-1:-1:-1;;;11589:64:0;;3716:2:1;11589:64:0::1;::::0;::::1;3698:21:1::0;3755:1;3735:18;;;3728:29;-1:-1:-1;;;3773:18:1;;;3766:39;3822:18;;11589:64:0::1;3514:332:1::0;11589:64:0::1;11664:10;:26:::0;;;;11701:11:::1;:28:::0;11468:269::o;5894:97::-;5947:7;4440:15;4378:2;4440;:15;:::i;:::-;4424:31;;:13;:31;:::i;:::-;5967:16;;5894:97;:::o;6693:446::-;6825:4;6842:36;6852:6;6860:9;6871:6;6842:9;:36::i;:::-;6889:220;6912:6;298:10;6960:138;7016:6;6960:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6960:19:0;;;;;;:11;:19;;;;;;;;298:10;6960:33;;;;;;;;;;:37;:138::i;:::-;6889:8;:220::i;:::-;-1:-1:-1;7127:4:0;6693:446;;;;;:::o;2897:148::-;2810:6;;-1:-1:-1;;;;;2810:6:0;298:10;2810:22;2802:67;;;;-1:-1:-1;;;2802:67:0;;;;;;;:::i;:::-;3004:1:::1;2988:6:::0;;2967:40:::1;::::0;-1:-1:-1;;;;;2988:6:0;;::::1;::::0;2967:40:::1;::::0;3004:1;;2967:40:::1;3035:1;3018:19:::0;;-1:-1:-1;;;;;;3018:19:0::1;::::0;;2897:148::o;6123:192::-;6226:4;6243:42;298:10;6267:9;6278:6;6243:9;:42::i;10884:576::-;2810:6;;-1:-1:-1;;;;;2810:6:0;298:10;2810:22;2802:67;;;;-1:-1:-1;;;2802:67:0;;;;;;;:::i;:::-;10943:8:::1;::::0;-1:-1:-1;;;10943:8:0;::::1;;;10942:9;10934:37;;;::::0;-1:-1:-1;;;10934:37:0;;5741:2:1;10934:37:0::1;::::0;::::1;5723:21:1::0;5780:2;5760:18;;;5753:30;-1:-1:-1;;;5799:18:1;;;5792:45;5854:18;;10934:37:0::1;5539:339:1::0;10934:37:0::1;11014:9;::::0;10982:54:::1;::::0;10999:4:::1;::::0;-1:-1:-1;;;;;11014:9:0::1;4440:15;4378:2;4440;:15;:::i;:::-;4424:31;::::0;:13:::1;:31;:::i;10982:54::-;11069:9;;;;;;;;;-1:-1:-1::0;;;;;11069:9:0::1;-1:-1:-1::0;;;;;11069:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11057:43:0::1;;11123:4;11143:9;;;;;;;;;-1:-1:-1::0;;;;;11143:9:0::1;-1:-1:-1::0;;;;;11143:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11057:113;::::0;-1:-1:-1;;;;;;11057:113:0::1;::::0;;;;;;-1:-1:-1;;;;;6369:15:1;;;11057:113:0::1;::::0;::::1;6351:34:1::0;6421:15;;6401:18;;;6394:43;6286:18;;11057:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11047:7;:123:::0;;-1:-1:-1;;;;;11047:123:0;;::::1;-1:-1:-1::0;;;;;;11047:123:0;;::::1;;::::0;;11181:9:::1;::::0;::::1;:25;11214:21;11259:4;11279:24;11259:4:::0;-1:-1:-1;;;;;6092:15:0;6065:7;6092:15;;;:6;:15;;;;;;;5999:116;11279:24:::1;11318:1;11334::::0;11350:7:::1;2721::::0;2748:6;-1:-1:-1;;;;;2748:6:0;;2683:79;11350:7:::1;11181:217;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11181:217:0;;;-1:-1:-1;;;;;6807:15:1;;;11181:217:0::1;::::0;::::1;6789:34:1::0;6839:18;;;6832:34;;;;6882:18;;;6875:34;;;;6925:18;;;6918:34;6989:15;;;6968:19;;;6961:44;11372:15:0::1;7021:19:1::0;;;7014:35;6723:19;;11181:217:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11411:8:0::1;:15:::0;;-1:-1:-1;;;;11437:15:0;-1:-1:-1;;;11437:15:0;;;-1:-1:-1;10884:576:0:o;7147:167::-;2810:6;;-1:-1:-1;;;;;2810:6:0;298:10;2810:22;2802:67;;;;-1:-1:-1;;;2802:67:0;;;;;;;:::i;:::-;4440:15:::1;4378:2;4440;:15;:::i;:::-;4424:31;::::0;:13:::1;:31;:::i;:::-;7198:12;:24:::0;;;4440:15:::1;::::0;4378:2:::1;::::0;4440:15:::1;:::i;:::-;4424:31;::::0;:13:::1;:31;:::i;:::-;7233:16;:28:::0;7277:29:::1;4440:15;4378:2;4440;:15;:::i;:::-;4424:31;::::0;:13:::1;:31;:::i;:::-;7277:29;::::0;1614:25:1;;;1602:2;1587:18;7277:29:0::1;;;;;;;7147:167::o:0;7418:335::-;-1:-1:-1;;;;;7511:19:0;;7503:68;;;;-1:-1:-1;;;7503:68:0;;7573:2:1;7503:68:0;;;7555:21:1;7612:2;7592:18;;;7585:30;7651:34;7631:18;;;7624:62;-1:-1:-1;;;7702:18:1;;;7695:34;7746:19;;7503:68:0;7371:400:1;7503:68:0;-1:-1:-1;;;;;7590:21:0;;7582:68;;;;-1:-1:-1;;;7582:68:0;;7978:2:1;7582:68:0;;;7960:21:1;8017:2;7997:18;;;7990:30;8056:34;8036:18;;;8029:62;-1:-1:-1;;;8107:18:1;;;8100:32;8149:19;;7582:68:0;7776:398:1;7582:68:0;-1:-1:-1;;;;;7661:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7713:32;;1614:25:1;;;7713:32:0;;1587:18:1;7713:32:0;;;;;;;7418:335;;;:::o;8424:1765::-;-1:-1:-1;;;;;8512:18:0;;8504:68;;;;-1:-1:-1;;;8504:68:0;;8381:2:1;8504:68:0;;;8363:21:1;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:35;8555:19;;8504:68:0;8179:401:1;8504:68:0;-1:-1:-1;;;;;8591:18:0;;8583:66;;;;-1:-1:-1;;;8583:66:0;;8787:2:1;8583:66:0;;;8769:21:1;8826:2;8806:18;;;8799:30;8865:34;8845:18;;;8838:62;-1:-1:-1;;;8916:18:1;;;8909:33;8959:19;;8583:66:0;8585:399:1;8583:66:0;8675:1;8668:4;:8;8660:62;;;;-1:-1:-1;;;8660:62:0;;9191:2:1;8660:62:0;;;9173:21:1;9230:2;9210:18;;;9203:30;9269:34;9249:18;;;9242:62;-1:-1:-1;;;9320:18:1;;;9313:39;9369:19;;8660:62:0;8989:405:1;8660:62:0;8733:12;2748:6;;-1:-1:-1;;;;;8764:15:0;;;2748:6;;8764:15;;;;:34;;-1:-1:-1;2721:7:0;2748:6;-1:-1:-1;;;;;8783:15:0;;;2748:6;;8783:15;;8764:34;8760:1269;;;-1:-1:-1;;;;;8824:10:0;;;;;;:4;:10;;;;;;;;8823:11;:26;;;;-1:-1:-1;;;;;;8839:10:0;;;;;;:4;:10;;;;;;;;8838:11;8823:26;8815:35;;;;;;-1:-1:-1;8872:10:0;;8929:7;;-1:-1:-1;;;;;8921:15:0;;;8929:7;;8921:15;:62;;;;-1:-1:-1;8973:9:0;;-1:-1:-1;;;;;8957:26:0;;;8973:9;;8957:26;;8921:62;:100;;;;-1:-1:-1;;;;;;9005:16:0;;;;;;:10;:16;;;;;;;;9004:17;8921:100;8899:375;;;9072:12;;9064:4;:20;;9056:48;;;;-1:-1:-1;;;9056:48:0;;9601:2:1;9056:48:0;;;9583:21:1;9640:2;9620:18;;;9613:30;-1:-1:-1;;;9659:18:1;;;9652:45;9714:18;;9056:48:0;9399:339:1;9056:48:0;9179:16;;9171:4;9153:15;9163:4;-1:-1:-1;;;;;6092:15:0;6065:7;6092:15;;;:6;:15;;;;;;;5999:116;9153:15;:22;;;;:::i;:::-;:42;;9123:135;;;;-1:-1:-1;;;9123:135:0;;10075:2:1;9123:135:0;;;10057:21:1;10114:2;10094:18;;;10087:30;-1:-1:-1;;;10133:18:1;;;10126:49;10192:18;;9123:135:0;9873:343:1;9123:135:0;9302:7;;-1:-1:-1;;;;;9294:15:0;;;9302:7;;9294:15;:40;;;;-1:-1:-1;;;;;;9313:21:0;;9329:4;9313:21;;9294:40;9290:99;;;-1:-1:-1;9362:11:0;;9290:99;-1:-1:-1;;;;;9409:16:0;;;;;;:10;:16;;;;;;;;;:36;;-1:-1:-1;;;;;;9429:16:0;;;;;;:10;:16;;;;;;;;9409:36;9405:85;;;-1:-1:-1;9473:1:0;9405:85;9555:4;9506:28;6092:15;;;:6;:15;;;;;;9599:9;;-1:-1:-1;;;9599:9:0;;;;9598:10;:29;;;;-1:-1:-1;9620:7:0;;-1:-1:-1;;;;;9612:15:0;;;9620:7;;9612:15;9598:29;:41;;;;-1:-1:-1;9631:8:0;;-1:-1:-1;;;9631:8:0;;;;9598:41;:62;;;;-1:-1:-1;;;;;;9644:16:0;;;;;;:10;:16;;;;;;;;9643:17;9598:62;9576:442;;;9695:111;9734:53;9738:4;9744:42;9748:20;9770:15;;9744:3;:42::i;:::-;9734:3;:53::i;:::-;9695:16;:111::i;:::-;9854:21;9952:31;9961:21;9952:8;:31::i;:::-;9676:342;9576:442;8800:1229;8760:1269;10041:13;10057:32;10066:4;10072;10078;10084;10057:8;:32::i;:::-;-1:-1:-1;;;;;10115:12:0;;;;;;:6;:12;;;;;;10041:48;;-1:-1:-1;10115:23:0;;10041:48;10115:16;:23::i;:::-;-1:-1:-1;;;;;10100:12:0;;;;;;;:6;:12;;;;;;;:38;;;;10154:27;;;;;;;;;;10175:5;1614:25:1;;1602:2;1587:18;;1468:177;10154:27:0;;;;;;;;8493:1696;;8424:1765;;;:::o;1485:224::-;1605:7;1641:12;1633:6;;;;1625:29;;;;-1:-1:-1;;;1625:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1665:9:0;1677:5;1681:1;1677;:5;:::i;:::-;1665:17;1485:224;-1:-1:-1;;;;;1485:224:0:o;10197:107::-;10254:7;10286:1;10282;:5;10281:15;;10295:1;10281:15;;;10291:1;10281:15;10274:22;10197:107;-1:-1:-1;;;10197:107:0:o;10312:564::-;5094:9;:16;;-1:-1:-1;;;;5094:16:0;-1:-1:-1;;;5094:16:0;;;10408:13:::1;::::0;10394:27;::::1;10390:479;;;10462:16;::::0;;10476:1:::1;10462:16:::0;;;;;::::1;::::0;;10438:21:::1;::::0;10462:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10462:16:0::1;10438:40;;10511:4;10493;10498:1;10493:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10493:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10541:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;10541:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;10493:7;;10541:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10531:4;10536:1;10531:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10531:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;10604:9:::1;::::0;10572:56:::1;::::0;10589:4:::1;::::0;10604:9:::1;10616:11:::0;10572:8:::1;:56::i;:::-;10643:9;::::0;:214:::1;::::0;-1:-1:-1;;;10643:214:0;;-1:-1:-1;;;;;10643:9:0;;::::1;::::0;:60:::1;::::0;:214:::1;::::0;10722:11;;10643:9:::1;::::0;10772:4;;10803::::1;::::0;10827:15:::1;::::0;10643:214:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10423:446;10390:479;-1:-1:-1::0;5133:9:0;:17;;-1:-1:-1;;;;5133:17:0;;;10312:564::o;7322:88::-;7375:10;;:27;;-1:-1:-1;;;;;7375:10:0;;;;:27;;;;;7395:6;;7375:10;:27;:10;:27;7395:6;7375:10;:27;;;;;;;;;;;;;;;;;;;;;7322:88;:::o;7761:655::-;-1:-1:-1;;;;;7937:17:0;;7899:7;7937:17;;;:11;:17;;;;;;7899:7;;7937:17;;;:36;;-1:-1:-1;;;;;;7958:15:0;;;;;;:11;:15;;;;;;;;7937:36;7919:54;;7990:10;7986:423;;;8024:6;8017:13;;;;;7986:423;8063:17;8083:28;8107:3;8083:19;:6;8094:7;8083:10;:19::i;:::-;:23;;:28::i;:::-;8063:48;-1:-1:-1;8130:13:0;;8126:176;;8203:4;8188:21;;;;:6;:21;;;;;;:36;;8214:9;8188:25;:36::i;:::-;8179:4;8164:21;;;;:6;:21;;;;;;;:60;;;;8248:38;;-1:-1:-1;;;;;8248:38:0;;;;;;;8278:7;1614:25:1;;1602:2;1587:18;;1468:177;8248:38:0;;;;;;;;8126:176;-1:-1:-1;;;;;8331:12:0;;;;;;:6;:12;;;;;;:24;;8348:6;8331:16;:24::i;:::-;-1:-1:-1;;;;;8316:12:0;;;;;;:6;:12;;;;;:39;8379:18;8388:9;8379:6;:18;:::i;:::-;8372:25;;;;7761:655;;;;;;;:::o;1154:179::-;1212:7;;1244:5;1248:1;1244;:5;:::i;:::-;1232:17;;1273:1;1268;:6;;1260:46;;;;-1:-1:-1;;;1260:46:0;;11805:2:1;1260:46:0;;;11787:21:1;11844:2;11824:18;;;11817:30;11883:29;11863:18;;;11856:57;11930:18;;1260:46:0;11603:351:1;1717:246:0;1775:7;1799:1;1804;1799:6;1795:47;;-1:-1:-1;1829:1:0;1822:8;;1795:47;1852:9;1864:5;1868:1;1864;:5;:::i;:::-;1852:17;-1:-1:-1;1897:1:0;1888:5;1892:1;1852:17;1888:5;:::i;:::-;:10;1880:56;;;;-1:-1:-1;;;1880:56:0;;12383:2:1;1880:56:0;;;12365:21:1;12422:2;12402:18;;;12395:30;12461:34;12441:18;;;12434:62;-1:-1:-1;;;12512:18:1;;;12505:31;12553:19;;1880:56:0;12181:397:1;1971:132:0;2029:7;2056:39;2060:1;2063;2056:39;;;;;;;;;;;;;;;;;:3;:39::i;1341:136::-;1399:7;1426:43;1430:1;1433;1426:43;;;;;;;;;;;;;;;;;:3;:43::i;2111:223::-;2231:7;2266:12;2259:5;2251:28;;;;-1:-1:-1;;;2251:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2290:9:0;2302:5;2306:1;2302;: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;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2300:247::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;2467:9;2454:23;2486:31;2511:5;2486:31;:::i;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:356::-;3355:2;3337:21;;;3374:18;;;3367:30;3433:34;3428:2;3413:18;;3406:62;3500:2;3485:18;;3153:356::o;3851:127::-;3912:10;3907:3;3903:20;3900:1;3893:31;3943:4;3940:1;3933:15;3967:4;3964:1;3957:15;3983:422;4072:1;4115:5;4072:1;4129:270;4150:7;4140:8;4137:21;4129:270;;;4209:4;4205:1;4201:6;4197:17;4191:4;4188:27;4185:53;;;4218:18;;:::i;:::-;4268:7;4258:8;4254:22;4251:55;;;4288:16;;;;4251:55;4367:22;;;;4327:15;;;;4129:270;;;4133:3;3983:422;;;;;:::o;4410:806::-;4459:5;4489:8;4479:80;;-1:-1:-1;4530:1:1;4544:5;;4479:80;4578:4;4568:76;;-1:-1:-1;4615:1:1;4629:5;;4568:76;4660:4;4678:1;4673:59;;;;4746:1;4741:130;;;;4653:218;;4673:59;4703:1;4694:10;;4717:5;;;4741:130;4778:3;4768:8;4765:17;4762:43;;;4785:18;;:::i;:::-;-1:-1:-1;;4841:1:1;4827:16;;4856:5;;4653:218;;4955:2;4945:8;4942:16;4936:3;4930:4;4927:13;4923:36;4917:2;4907:8;4904:16;4899:2;4893:4;4890:12;4886:35;4883:77;4880:159;;;-1:-1:-1;4992:19:1;;;5024:5;;4880:159;5071:34;5096:8;5090:4;5071:34;:::i;:::-;5141:6;5137:1;5133:6;5129:19;5120:7;5117:32;5114:58;;;5152:18;;:::i;:::-;5190:20;;4410:806;-1:-1:-1;;;4410:806:1:o;5221:140::-;5279:5;5308:47;5349:4;5339:8;5335:19;5329:4;5308:47;:::i;5366:168::-;5439:9;;;5470;;5487:15;;;5481:22;;5467:37;5457:71;;5508:18;;:::i;5883:251::-;5953:6;6006:2;5994:9;5985:7;5981:23;5977:32;5974:52;;;6022:1;6019;6012:12;5974:52;6054:9;6048:16;6073:31;6098:5;6073:31;:::i;7060:306::-;7148:6;7156;7164;7217:2;7205:9;7196:7;7192:23;7188:32;7185:52;;;7233:1;7230;7223:12;7185:52;7262:9;7256:16;7246:26;;7312:2;7301:9;7297:18;7291:25;7281:35;;7356:2;7345:9;7341:18;7335:25;7325:35;;7060:306;;;;;:::o;9743:125::-;9808:9;;;9829:10;;;9826:36;;;9842:18;;:::i;10221:128::-;10288:9;;;10309:11;;;10306:37;;;10323:18;;:::i;10486:127::-;10547:10;10542:3;10538:20;10535:1;10528:31;10578:4;10575:1;10568:15;10602:4;10599:1;10592:15;10618:980;10880:4;10928:3;10917:9;10913:19;10959:6;10948:9;10941:25;10985:2;11023:6;11018:2;11007:9;11003:18;10996:34;11066:3;11061:2;11050:9;11046:18;11039:31;11090:6;11125;11119:13;11156:6;11148;11141:22;11194:3;11183:9;11179:19;11172:26;;11233:2;11225:6;11221:15;11207:29;;11254:1;11264:195;11278:6;11275:1;11272:13;11264:195;;;11343:13;;-1:-1:-1;;;;;11339:39:1;11327:52;;11434:15;;;;11399:12;;;;11375:1;11293:9;11264:195;;;-1:-1:-1;;;;;;;11515:32:1;;;;11510:2;11495:18;;11488:60;-1:-1:-1;;;11579:3:1;11564:19;11557:35;11476:3;10618:980;-1:-1:-1;;;10618:980:1:o;11959:217::-;11999:1;12025;12015:132;;12069:10;12064:3;12060:20;12057:1;12050:31;12104:4;12101:1;12094:15;12132:4;12129:1;12122:15;12015:132;-1:-1:-1;12161:9:1;;11959:217::o

Swarm Source

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