ETH Price: $3,338.01 (-0.16%)

Token

Base Nut (BNUT)
 

Overview

Max Total Supply

1,000,000,000,000 BNUT

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,365,910,693.276182121 BNUT

Value
$0.00
0xb071014da90766a980ae5312a27db3f893e4353f
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:
BNUT

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-03
*/

/**

👣👽👣👽👣👽👣

Base Nut (pronounced beese-nuuut or beeee-nuuuut)

TG: t.me/bnut_portal 

👣👽👣👽👣👽👣

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

contract BNUT is IERC20, Ownable {
    string private constant _name = "Base Nut";
    string private constant _symbol = "BNUT";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 1000000000000 * 10 ** 9;
    uint256 private constant _maxFee = 30; //Highest Tax can be set

    uint256 public _maxTxAmount = 5000000000 * 10 ** 9;
    uint256 public _maxWalletSize = 5000000000 * 10 ** 9;
    uint256 public _swapTokensAtAmount = 100000000 * 10 ** 9;
    uint256 private _taxFeeOnBuy = 30; //Launch Tax - Final Buy Tax is 3
    uint256 private _taxFeeOnSell = 30; //Launch Tax - Final Sell Tax is 3

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

    address payable private constant _developmentAddress = payable(0xd273961fb2D54175F6be54970Bd647FC3cDda870);
    address payable private constant _marketingAddress = payable(0x8e3661114F11cE9b4Cd9A4C0Ec36C574A1Cb4433);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private inSwap = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _balances[_msgSender()] = _totalSupply;

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

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

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

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

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

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

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

    function 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) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        _transfer(sender, recipient, amount);
        return true;
    }

    // private

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            if (
                to != _marketingAddress &&
                from != _marketingAddress &&
                to != _developmentAddress &&
                from != _developmentAddress
            ) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            }

            if (
                to != uniswapV2Pair &&
                to != _marketingAddress &&
                from != _marketingAddress &&
                to != _developmentAddress &&
                from != _developmentAddress
            ) {
                require(
                    balanceOf(to) + amount < _maxWalletSize,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            if (contractTokenBalance >= _maxTxAmount) {
                contractTokenBalance = _maxTxAmount;
            }

            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (
                canSwap &&
                !inSwap &&
                from != uniswapV2Pair &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                swapTokensForEth(contractTokenBalance);

                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    _marketingAddress.transfer(address(this).balance);
                }
            }
        }

        //Transfer Tokens
        uint256 _taxFee = 0;
        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            _taxFee = 0;
        } else {
            
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }

            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }
        }

        _tokenTransfer(from, to, amount, _taxFee);
    }

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

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        uint256 tax
    ) private {
        uint256 tTeam = (amount * tax) / 100;
        uint256 tTransferAmount = amount - tTeam;
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + tTransferAmount;
        if (tTeam > 0) {
            _balances[address(this)] = _balances[address(this)] + tTeam;
            emit Transfer(sender, address(this), tTeam);
        }
        emit Transfer(sender, recipient, tTransferAmount);
    }

    // onlyOwner external

    function setFee(
        uint256 taxFeeOnBuy,
        uint256 taxFeeOnSell
    ) external onlyOwner {
        require(taxFeeOnBuy <= _maxFee, "Fee is too high");
        require(taxFeeOnSell <= _maxFee, "Fee is too high");

        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
    }

    function increaseLimits1() external onlyOwner {
        _maxTxAmount = 10000000000 * 10 ** 9;
        _maxWalletSize = 10000000000 * 10 ** 9;
    }

    function increaseLimits2() external onlyOwner {
        _maxTxAmount = 20000000000 * 10 ** 9;
        _maxWalletSize = 20000000000 * 10 ** 9;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(
        uint256 swapTokensAtAmount
    ) external onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function excludeMultipleAccountsFromFees(
        address[] calldata accounts,
        bool excluded
    ) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    // Send the current ETH balance to the marketing address
    function cleanContractETH() external {
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            _marketingAddress.transfer(contractETHBalance);
        }
    }

    // Send the current token balance to the marketing address
    function cleanContractTokens() external {
        uint256 contractTokenBalance = balanceOf(address(this));
        if (contractTokenBalance > 0) {
            _tokenTransfer(
                address(this),
                _marketingAddress,
                contractTokenBalance,
                0
            );
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"cleanContractETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cleanContractTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseLimits1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseLimits2","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052674563918244f40000600181905560025567016345785d8a0000600355601e6004819055600555600a805460ff60a01b191690553480156200004557600080fd5b506200005133620002ef565b33600090815260066020908152604091829020683635c9adc5dea000009055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620000d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f791906200033f565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018091906200033f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f491906200033f565b600a80546001600160a01b0319166001600160a01b03928316179055600080549091168152600860209081526040808320805460ff19908116600190811790925530855282852080548216831790557fc60d3167607753d171bd8d606c3123a8033b25217cbd9f7c256f256847ddd7fe8054821683179055738e3661114f11ce9b4cd9a4c0ec36c574a1cb443385527f394c4de5dfc6d77384ddae25d5189649f8d6bf06fd7f95e3f3ae9989da07eb898054909116909117905551683635c9adc5dea0000081523392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000371565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200035257600080fd5b81516001600160a01b03811681146200036a57600080fd5b9392505050565b6115ab80620003816000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043c578063dd62ed3e14610451578063ed7e38aa14610497578063f2fde38b146104ac57600080fd5b8063bbb7af89146103f2578063c492f04614610407578063cf950f4a1461042757600080fd5b80637d1db4a51461033b5780638da5cb5b146103515780638f9a55c01461036f57806395d89b411461038557806398a5c315146103b2578063a9059cbb146103d257600080fd5b8063313ce56711610123578063313ce5671461027d57806349bd5a5e1461029957806352f7c988146102b957806370a08231146102db578063715018a614610311578063751039fc1461032657600080fd5b806306fdde0314610176578063095ea7b3146101b95780631694505e146101e957806318160ddd1461022157806323b872dd146102475780632fd689e31461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600881526710985cd948139d5d60c21b60208201525b6040516101b09190611250565b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046112b3565b6104cc565b60405190151581526020016101b0565b3480156101f557600080fd5b50600954610209906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101b0565b34801561025357600080fd5b506101d96102623660046112df565b6104e3565b34801561027357600080fd5b5061023960035481565b34801561028957600080fd5b50604051600981526020016101b0565b3480156102a557600080fd5b50600a54610209906001600160a01b031681565b3480156102c557600080fd5b506102d96102d4366004611320565b610590565b005b3480156102e757600080fd5b506102396102f6366004611342565b6001600160a01b031660009081526006602052604090205490565b34801561031d57600080fd5b506102d9610629565b34801561033257600080fd5b506102d961063d565b34801561034757600080fd5b5061023960015481565b34801561035d57600080fd5b506000546001600160a01b0316610209565b34801561037b57600080fd5b5061023960025481565b34801561039157600080fd5b506040805180820190915260048152631093955560e21b60208201526101a3565b3480156103be57600080fd5b506102d96103cd366004611366565b610659565b3480156103de57600080fd5b506101d96103ed3660046112b3565b610666565b3480156103fe57600080fd5b506102d9610673565b34801561041357600080fd5b506102d961042236600461137f565b61068e565b34801561043357600080fd5b506102d961070d565b34801561044857600080fd5b506102d9610729565b34801561045d57600080fd5b5061023961046c36600461140a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a357600080fd5b506102d9610763565b3480156104b857600080fd5b506102d96104c7366004611342565b6107af565b60006104d9338484610825565b5060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a8533858403610825565b610585858585610949565b506001949350505050565b610598610ec6565b601e8211156105db5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b601e81111561061e5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b600491909155600555565b610631610ec6565b61063b6000610f20565b565b610645610ec6565b683635c9adc5dea000006001819055600255565b610661610ec6565b600355565b60006104d9338484610949565b61067b610ec6565b678ac7230489e800006001819055600255565b610696610ec6565b60005b828110156107075781600860008686858181106106b8576106b8611443565b90506020020160208101906106cd9190611342565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff8161146f565b915050610699565b50505050565b610715610ec6565b6801158e460913d000006001819055600255565b3060009081526006602052604090205480156107605761076030738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433836000610f70565b50565b47801561076057604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb44339082156108fc029083906000818181858888f193505050501580156107ab573d6000803e3d6000fd5b5050565b6107b7610ec6565b6001600160a01b03811661081c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610564565b61076081610f20565b6001600160a01b0383166108875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610564565b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610564565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b6001600160a01b038216610a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b60008111610a715760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610564565b6000546001600160a01b03848116911614801590610a9d57506000546001600160a01b03838116911614155b15610dd2576001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314801590610aec57506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610b1557506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610b3e57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610b9557600154811115610b955760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610564565b600a546001600160a01b03838116911614801590610bd057506001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610bf957506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610c2257506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610c4b57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610cd65760025481610c73846001600160a01b031660009081526006602052604090205490565b610c7d9190611488565b10610cd65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610564565b306000908152600660205260409020546001548110610cf457506001545b60035481108015908190610d125750600a54600160a01b900460ff16155b8015610d2c5750600a546001600160a01b03868116911614155b8015610d5157506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7657506001600160a01b03841660009081526008602052604090205460ff16155b15610dcf57610d84826110d6565b478015610dcd57604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433904780156108fc02916000818181858888f19350505050158015610dcb573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e1157506001600160a01b03831660009081526008602052604090205460ff165b80610e435750600a546001600160a01b03858116911614801590610e435750600a546001600160a01b03848116911614155b15610e5057506000610eba565b600a546001600160a01b038581169116148015610e7b57506009546001600160a01b03848116911614155b15610e8557506004545b600a546001600160a01b038481169116148015610eb057506009546001600160a01b03858116911614155b15610eba57506005545b61070784848484610f70565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610564565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7e838561149b565b610f8891906114b2565b90506000610f9682856114d4565b6001600160a01b038716600090815260066020526040902054909150610fbd9085906114d4565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610fed908290611488565b6001600160a01b03861660009081526006602052604090205581156110815730600090815260066020526040902054611027908390611488565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c691815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111e5761111e611443565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b91906114e7565b816001815181106111ae576111ae611443565b6001600160a01b0392831660209182029290920101526009546111d49130911684610825565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120d908590600090869030904290600401611504565b600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561127d57858101830151858201604001528201611261565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076057600080fd5b600080604083850312156112c657600080fd5b82356112d18161129e565b946020939093013593505050565b6000806000606084860312156112f457600080fd5b83356112ff8161129e565b9250602084013561130f8161129e565b929592945050506040919091013590565b6000806040838503121561133357600080fd5b50508035926020909101359150565b60006020828403121561135457600080fd5b813561135f8161129e565b9392505050565b60006020828403121561137857600080fd5b5035919050565b60008060006040848603121561139457600080fd5b833567ffffffffffffffff808211156113ac57600080fd5b818601915086601f8301126113c057600080fd5b8135818111156113cf57600080fd5b8760208260051b85010111156113e457600080fd5b6020928301955093505084013580151581146113ff57600080fd5b809150509250925092565b6000806040838503121561141d57600080fd5b82356114288161129e565b915060208301356114388161129e565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161148157611481611459565b5060010190565b808201808211156104dd576104dd611459565b80820281158282048414176104dd576104dd611459565b6000826114cf57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104dd576104dd611459565b6000602082840312156114f957600080fd5b815161135f8161129e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115545784516001600160a01b03168352938301939183019160010161152f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220cdb32b504d323a1e5aa51197d69f0f85eb9db5e60bad6fcdbafff4cc1e267d4664736f6c63430008120033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bbb7af891161008a578063d5a7d49e11610064578063d5a7d49e1461043c578063dd62ed3e14610451578063ed7e38aa14610497578063f2fde38b146104ac57600080fd5b8063bbb7af89146103f2578063c492f04614610407578063cf950f4a1461042757600080fd5b80637d1db4a51461033b5780638da5cb5b146103515780638f9a55c01461036f57806395d89b411461038557806398a5c315146103b2578063a9059cbb146103d257600080fd5b8063313ce56711610123578063313ce5671461027d57806349bd5a5e1461029957806352f7c988146102b957806370a08231146102db578063715018a614610311578063751039fc1461032657600080fd5b806306fdde0314610176578063095ea7b3146101b95780631694505e146101e957806318160ddd1461022157806323b872dd146102475780632fd689e31461026757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600881526710985cd948139d5d60c21b60208201525b6040516101b09190611250565b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046112b3565b6104cc565b60405190151581526020016101b0565b3480156101f557600080fd5b50600954610209906001600160a01b031681565b6040516001600160a01b0390911681526020016101b0565b34801561022d57600080fd5b50683635c9adc5dea000005b6040519081526020016101b0565b34801561025357600080fd5b506101d96102623660046112df565b6104e3565b34801561027357600080fd5b5061023960035481565b34801561028957600080fd5b50604051600981526020016101b0565b3480156102a557600080fd5b50600a54610209906001600160a01b031681565b3480156102c557600080fd5b506102d96102d4366004611320565b610590565b005b3480156102e757600080fd5b506102396102f6366004611342565b6001600160a01b031660009081526006602052604090205490565b34801561031d57600080fd5b506102d9610629565b34801561033257600080fd5b506102d961063d565b34801561034757600080fd5b5061023960015481565b34801561035d57600080fd5b506000546001600160a01b0316610209565b34801561037b57600080fd5b5061023960025481565b34801561039157600080fd5b506040805180820190915260048152631093955560e21b60208201526101a3565b3480156103be57600080fd5b506102d96103cd366004611366565b610659565b3480156103de57600080fd5b506101d96103ed3660046112b3565b610666565b3480156103fe57600080fd5b506102d9610673565b34801561041357600080fd5b506102d961042236600461137f565b61068e565b34801561043357600080fd5b506102d961070d565b34801561044857600080fd5b506102d9610729565b34801561045d57600080fd5b5061023961046c36600461140a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156104a357600080fd5b506102d9610763565b3480156104b857600080fd5b506102d96104c7366004611342565b6107af565b60006104d9338484610825565b5060015b92915050565b6001600160a01b03831660009081526007602090815260408083203384529091528120548281101561056d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057a8533858403610825565b610585858585610949565b506001949350505050565b610598610ec6565b601e8211156105db5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b601e81111561061e5760405162461bcd60e51b815260206004820152600f60248201526e08ccaca40d2e640e8dede40d0d2ced608b1b6044820152606401610564565b600491909155600555565b610631610ec6565b61063b6000610f20565b565b610645610ec6565b683635c9adc5dea000006001819055600255565b610661610ec6565b600355565b60006104d9338484610949565b61067b610ec6565b678ac7230489e800006001819055600255565b610696610ec6565b60005b828110156107075781600860008686858181106106b8576106b8611443565b90506020020160208101906106cd9190611342565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106ff8161146f565b915050610699565b50505050565b610715610ec6565b6801158e460913d000006001819055600255565b3060009081526006602052604090205480156107605761076030738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433836000610f70565b50565b47801561076057604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb44339082156108fc029083906000818181858888f193505050501580156107ab573d6000803e3d6000fd5b5050565b6107b7610ec6565b6001600160a01b03811661081c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610564565b61076081610f20565b6001600160a01b0383166108875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610564565b6001600160a01b0382166108e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610564565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b6001600160a01b038216610a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b60008111610a715760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610564565b6000546001600160a01b03848116911614801590610a9d57506000546001600160a01b03838116911614155b15610dd2576001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314801590610aec57506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610b1557506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610b3e57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610b9557600154811115610b955760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610564565b600a546001600160a01b03838116911614801590610bd057506001600160a01b038216738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610bf957506001600160a01b038316738e3661114f11ce9b4cd9a4c0ec36c574a1cb443314155b8015610c2257506001600160a01b03821673d273961fb2d54175f6be54970bd647fc3cdda87014155b8015610c4b57506001600160a01b03831673d273961fb2d54175f6be54970bd647fc3cdda87014155b15610cd65760025481610c73846001600160a01b031660009081526006602052604090205490565b610c7d9190611488565b10610cd65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610564565b306000908152600660205260409020546001548110610cf457506001545b60035481108015908190610d125750600a54600160a01b900460ff16155b8015610d2c5750600a546001600160a01b03868116911614155b8015610d5157506001600160a01b03851660009081526008602052604090205460ff16155b8015610d7657506001600160a01b03841660009081526008602052604090205460ff16155b15610dcf57610d84826110d6565b478015610dcd57604051738e3661114f11ce9b4cd9a4c0ec36c574a1cb4433904780156108fc02916000818181858888f19350505050158015610dcb573d6000803e3d6000fd5b505b505b50505b6001600160a01b03831660009081526008602052604081205460ff1680610e1157506001600160a01b03831660009081526008602052604090205460ff165b80610e435750600a546001600160a01b03858116911614801590610e435750600a546001600160a01b03848116911614155b15610e5057506000610eba565b600a546001600160a01b038581169116148015610e7b57506009546001600160a01b03848116911614155b15610e8557506004545b600a546001600160a01b038481169116148015610eb057506009546001600160a01b03858116911614155b15610eba57506005545b61070784848484610f70565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610564565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006064610f7e838561149b565b610f8891906114b2565b90506000610f9682856114d4565b6001600160a01b038716600090815260066020526040902054909150610fbd9085906114d4565b6001600160a01b038088166000908152600660205260408082209390935590871681522054610fed908290611488565b6001600160a01b03861660009081526006602052604090205581156110815730600090815260066020526040902054611027908390611488565b30600081815260066020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110789086815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c691815260200190565b60405180910390a3505050505050565b600a805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111e5761111e611443565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119b91906114e7565b816001815181106111ae576111ae611443565b6001600160a01b0392831660209182029290920101526009546111d49130911684610825565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120d908590600090869030904290600401611504565b600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050600a805460ff60a01b1916905550505050565b600060208083528351808285015260005b8181101561127d57858101830151858201604001528201611261565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461076057600080fd5b600080604083850312156112c657600080fd5b82356112d18161129e565b946020939093013593505050565b6000806000606084860312156112f457600080fd5b83356112ff8161129e565b9250602084013561130f8161129e565b929592945050506040919091013590565b6000806040838503121561133357600080fd5b50508035926020909101359150565b60006020828403121561135457600080fd5b813561135f8161129e565b9392505050565b60006020828403121561137857600080fd5b5035919050565b60008060006040848603121561139457600080fd5b833567ffffffffffffffff808211156113ac57600080fd5b818601915086601f8301126113c057600080fd5b8135818111156113cf57600080fd5b8760208260051b85010111156113e457600080fd5b6020928301955093505084013580151581146113ff57600080fd5b809150509250925092565b6000806040838503121561141d57600080fd5b82356114288161129e565b915060208301356114388161129e565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161148157611481611459565b5060010190565b808201808211156104dd576104dd611459565b80820281158282048414176104dd576104dd611459565b6000826114cf57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104dd576104dd611459565b6000602082840312156114f957600080fd5b815161135f8161129e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115545784516001600160a01b03168352938301939183019160010161152f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220cdb32b504d323a1e5aa51197d69f0f85eb9db5e60bad6fcdbafff4cc1e267d4664736f6c63430008120033

Deployed Bytecode Sourcemap

5756:9505:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:83;;;;;;;;;;-1:-1:-1;7742:5:0;;;;;;;;;;;;-1:-1:-1;;;7742:5:0;;;;7672:83;;;;;;;:::i;:::-;;;;;;;;8560:186;;;;;;;;;;-1:-1:-1;8560:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8560:186:0;1023:187:1;6821:41:0;;;;;;;;;;-1:-1:-1;6821:41:0;;;;-1:-1:-1;;;;;6821:41:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;6821:41:0;1215:228:1;7949:100:0;;;;;;;;;;-1:-1:-1;5977:23:0;7949:100;;;1594:25:1;;;1582:2;1567:18;7949:100:0;1448:177:1;8754:517:0;;;;;;;;;;-1:-1:-1;8754:517:0;;;;;:::i;:::-;;:::i;6194:56::-;;;;;;;;;;;;;;;;7858:83;;;;;;;;;;-1:-1:-1;7858:83:0;;5927:1;2233:36:1;;2221:2;2206:18;7858:83:0;2091:184:1;6869:28:0;;;;;;;;;;-1:-1:-1;6869:28:0;;;;-1:-1:-1;;;;;6869:28:0;;;13281:312;;;;;;;;;;-1:-1:-1;13281:312:0;;;;;:::i;:::-;;:::i;:::-;;8057:119;;;;;;;;;;-1:-1:-1;8057:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8150:18:0;8123:7;8150:18;;;:9;:18;;;;;;;8057:119;2128:103;;;;;;;;;;;;;:::i;13601:129::-;;;;;;;;;;;;;:::i;6078:50::-;;;;;;;;;;;;;;;;1480:87;;;;;;;;;;-1:-1:-1;1526:7:0;1553:6;-1:-1:-1;;;;;1553:6:0;1480:87;;6135:52;;;;;;;;;;;;;;;;7763:87;;;;;;;;;;-1:-1:-1;7835:7:0;;;;;;;;;;;;-1:-1:-1;;;7835:7:0;;;;7763:87;;14098:157;;;;;;;;;;-1:-1:-1;14098:157:0;;;;;:::i;:::-;;:::i;8184:192::-;;;;;;;;;;-1:-1:-1;8184:192:0;;;;;:::i;:::-;;:::i;13738:150::-;;;;;;;;;;;;;:::i;14263:262::-;;;;;;;;;;-1:-1:-1;14263:262:0;;;;;:::i;:::-;;:::i;13896:150::-;;;;;;;;;;;;;:::i;14884:337::-;;;;;;;;;;;;;:::i;8384:168::-;;;;;;;;;;-1:-1:-1;8384:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8517:18:0;;;8490:7;8517:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8384:168;14595:217;;;;;;;;;;;;;:::i;2386:238::-;;;;;;;;;;-1:-1:-1;2386:238:0;;;;;:::i;:::-;;:::i;8560:186::-;8660:4;8677:39;860:10;8700:7;8709:6;8677:8;:39::i;:::-;-1:-1:-1;8734:4:0;8560:186;;;;;:::o;8754:517::-;-1:-1:-1;;;;;8930:19:0;;8886:4;8930:19;;;:11;:19;;;;;;;;860:10;8930:33;;;;;;;;8996:26;;;;8974:116;;;;-1:-1:-1;;;8974:116:0;;4560:2:1;8974:116:0;;;4542:21:1;4599:2;4579:18;;;4572:30;4638:34;4618:18;;;4611:62;-1:-1:-1;;;4689:18:1;;;4682:38;4737:19;;8974:116:0;;;;;;;;;9126:57;9135:6;860:10;9176:6;9157:16;:25;9126:8;:57::i;:::-;9205:36;9215:6;9223:9;9234:6;9205:9;:36::i;:::-;-1:-1:-1;9259:4:0;;8754:517;-1:-1:-1;;;;8754:517:0:o;13281:312::-;1366:13;:11;:13::i;:::-;6042:2:::1;13403:11;:22;;13395:50;;;::::0;-1:-1:-1;;;13395:50:0;;4969:2:1;13395:50:0::1;::::0;::::1;4951:21:1::0;5008:2;4988:18;;;4981:30;-1:-1:-1;;;5027:18:1;;;5020:45;5082:18;;13395:50:0::1;4767:339:1::0;13395:50:0::1;6042:2;13464:12;:23;;13456:51;;;::::0;-1:-1:-1;;;13456:51:0;;4969:2:1;13456:51:0::1;::::0;::::1;4951:21:1::0;5008:2;4988:18;;;4981:30;-1:-1:-1;;;5027:18:1;;;5020:45;5082:18;;13456:51:0::1;4767:339:1::0;13456:51:0::1;13520:12;:26:::0;;;;13557:13:::1;:28:::0;13281:312::o;2128:103::-;1366:13;:11;:13::i;:::-;2193:30:::1;2220:1;2193:18;:30::i;:::-;2128:103::o:0;13601:129::-;1366:13;:11;:13::i;:::-;5977:23:::1;13655:12;:27:::0;;;13693:14:::1;:29:::0;13601:129::o;14098:157::-;1366:13;:11;:13::i;:::-;14207:19:::1;:40:::0;14098:157::o;8184:192::-;8287:4;8304:42;860:10;8328:9;8339:6;8304:9;:42::i;13738:150::-;1366:13;:11;:13::i;:::-;13810:21:::1;13795:12;:36:::0;;;13842:14:::1;:38:::0;13738:150::o;14263:262::-;1366:13;:11;:13::i;:::-;14408:9:::1;14403:115;14423:19:::0;;::::1;14403:115;;;14498:8;14464:18;:31;14483:8;;14492:1;14483:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14464:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14464:31:0;:42;;-1:-1:-1;;14464:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14444:3;::::1;::::0;::::1;:::i;:::-;;;;14403:115;;;;14263:262:::0;;;:::o;13896:150::-;1366:13;:11;:13::i;:::-;13968:21:::1;13953:12;:36:::0;;;14000:14:::1;:38:::0;13896:150::o;14884:337::-;14984:4;14935:28;8150:18;;;:9;:18;;;;;;15005:24;;15001:213;;15046:156;15087:4;6769:42;15147:20;15186:1;15046:14;:156::i;:::-;14924:297;14884:337::o;14595:217::-;14672:21;14708:22;;14704:101;;14747:46;;6769:42;;14747:46;;;;;14774:18;;14747:46;;;;14774:18;6769:42;14747:46;;;;;;;;;;;;;;;;;;;;;14632:180;14595:217::o;2386:238::-;1366:13;:11;:13::i;:::-;-1:-1:-1;;;;;2489:22:0;::::1;2467:110;;;::::0;-1:-1:-1;;;2467:110:0;;5717:2:1;2467:110:0::1;::::0;::::1;5699:21:1::0;5756:2;5736:18;;;5729:30;5795:34;5775:18;;;5768:62;-1:-1:-1;;;5846:18:1;;;5839:36;5892:19;;2467:110:0::1;5515:402:1::0;2467:110:0::1;2588:28;2607:8;2588:18;:28::i;9297:335::-:0;-1:-1:-1;;;;;9390:19:0;;9382:68;;;;-1:-1:-1;;;9382:68:0;;6124:2:1;9382:68:0;;;6106:21:1;6163:2;6143:18;;;6136:30;6202:34;6182:18;;;6175:62;-1:-1:-1;;;6253:18:1;;;6246:34;6297:19;;9382:68:0;5922:400:1;9382:68:0;-1:-1:-1;;;;;9469:21:0;;9461:68;;;;-1:-1:-1;;;9461:68:0;;6529:2:1;9461:68:0;;;6511:21:1;6568:2;6548:18;;;6541:30;6607:34;6587:18;;;6580:62;-1:-1:-1;;;6658:18:1;;;6651:32;6700:19;;9461:68:0;6327:398:1;9461:68:0;-1:-1:-1;;;;;9540:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9592:32;;1594:25:1;;;9592:32:0;;1567:18:1;9592:32:0;;;;;;;9297:335;;;:::o;9640:2502::-;-1:-1:-1;;;;;9728:18:0;;9720:68;;;;-1:-1:-1;;;9720:68:0;;6932:2:1;9720:68:0;;;6914:21:1;6971:2;6951:18;;;6944:30;7010:34;6990:18;;;6983:62;-1:-1:-1;;;7061:18:1;;;7054:35;7106:19;;9720:68:0;6730:401:1;9720:68:0;-1:-1:-1;;;;;9807:16:0;;9799:64;;;;-1:-1:-1;;;9799:64:0;;7338:2:1;9799:64:0;;;7320:21:1;7377:2;7357:18;;;7350:30;7416:34;7396:18;;;7389:62;-1:-1:-1;;;7467:18:1;;;7460:33;7510:19;;9799:64:0;7136:399:1;9799:64:0;9891:1;9882:6;:10;9874:64;;;;-1:-1:-1;;;9874:64:0;;7742:2:1;9874:64:0;;;7724:21:1;7781:2;7761:18;;;7754:30;7820:34;7800:18;;;7793:62;-1:-1:-1;;;7871:18:1;;;7864:39;7920:19;;9874:64:0;7540:405:1;9874:64:0;1526:7;1553:6;-1:-1:-1;;;;;9955:15:0;;;1553:6;;9955:15;;;;:32;;-1:-1:-1;1526:7:0;1553:6;-1:-1:-1;;;;;9974:13:0;;;1553:6;;9974:13;;9955:32;9951:1579;;;-1:-1:-1;;;;;10026:23:0;;6769:42;10026:23;;;;:69;;-1:-1:-1;;;;;;10070:25:0;;6769:42;10070:25;;10026:69;:115;;;;-1:-1:-1;;;;;;10116:25:0;;6658:42;10116:25;;10026:115;:163;;;;-1:-1:-1;;;;;;10162:27:0;;6658:42;10162:27;;10026:163;10004:299;;;10242:12;;10232:6;:22;;10224:63;;;;-1:-1:-1;;;10224:63:0;;8152:2:1;10224:63:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230;8210:18;;;8203:58;8278:18;;10224:63:0;7950:352:1;10224:63:0;10347:13;;-1:-1:-1;;;;;10341:19:0;;;10347:13;;10341:19;;;;:63;;-1:-1:-1;;;;;;10381:23:0;;6769:42;10381:23;;10341:63;:109;;;;-1:-1:-1;;;;;;10425:25:0;;6769:42;10425:25;;10341:109;:155;;;;-1:-1:-1;;;;;;10471:25:0;;6658:42;10471:25;;10341:155;:203;;;;-1:-1:-1;;;;;;10517:27:0;;6658:42;10517:27;;10341:203;10319:424;;;10634:14;;10625:6;10609:13;10619:2;-1:-1:-1;;;;;8150:18:0;8123:7;8150:18;;;:9;:18;;;;;;;8057:119;10609:13;:22;;;;:::i;:::-;:39;10579:148;;;;-1:-1:-1;;;10579:148:0;;8639:2:1;10579:148:0;;;8621:21:1;8678:2;8658:18;;;8651:30;8717:34;8697:18;;;8690:62;-1:-1:-1;;;8768:18:1;;;8761:33;8811:19;;10579:148:0;8437:399:1;10579:148:0;10806:4;10757:28;8150:18;;;:9;:18;;;;;;10857:12;;10833:36;;10829:112;;-1:-1:-1;10913:12:0;;10829:112;10996:19;;10972:43;;;;;;;11054:35;;-1:-1:-1;11083:6:0;;-1:-1:-1;;;11083:6:0;;;;11082:7;11054:35;:77;;;;-1:-1:-1;11118:13:0;;-1:-1:-1;;;;;11110:21:0;;;11118:13;;11110:21;;11054:77;:123;;;;-1:-1:-1;;;;;;11153:24:0;;;;;;:18;:24;;;;;;;;11152:25;11054:123;:167;;;;-1:-1:-1;;;;;;11199:22:0;;;;;;:18;:22;;;;;;;;11198:23;11054:167;11032:487;;;11256:38;11273:20;11256:16;:38::i;:::-;11344:21;11388:22;;11384:120;;11435:49;;6769:42;;11462:21;11435:49;;;;;;;;;11462:21;6769:42;11435:49;;;;;;;;;;;;;;;;;;;;;11384:120;11237:282;11032:487;9989:1541;;9951:1579;-1:-1:-1;;;;;11618:24:0;;11569:15;11618:24;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11646:22:0;;;;;;:18;:22;;;;;;;;11618:50;11617:115;;;-1:-1:-1;11695:13:0;;-1:-1:-1;;;;;11687:21:0;;;11695:13;;11687:21;;;;:44;;-1:-1:-1;11718:13:0;;-1:-1:-1;;;;;11712:19:0;;;11718:13;;11712:19;;11687:44;11599:482;;;-1:-1:-1;11769:1:0;11599:482;;;11829:13;;-1:-1:-1;;;;;11821:21:0;;;11829:13;;11821:21;:55;;;;-1:-1:-1;11860:15:0;;-1:-1:-1;;;;;11846:30:0;;;11860:15;;11846:30;;11821:55;11817:118;;;-1:-1:-1;11907:12:0;;11817:118;11961:13;;-1:-1:-1;;;;;11955:19:0;;;11961:13;;11955:19;:55;;;;-1:-1:-1;11994:15:0;;-1:-1:-1;;;;;11978:32:0;;;11994:15;;11978:32;;11955:55;11951:119;;;-1:-1:-1;12041:13:0;;11951:119;12093:41;12108:4;12114:2;12118:6;12126:7;12093:14;:41::i;1645:132::-;1526:7;1553:6;-1:-1:-1;;;;;1553:6:0;860:10;1709:23;1701:68;;;;-1:-1:-1;;;1701:68:0;;9043:2:1;1701:68:0;;;9025:21:1;;;9062:18;;;9055:30;9121:34;9101:18;;;9094:62;9173:18;;1701:68:0;8841:356:1;2784:191:0;2858:16;2877:6;;-1:-1:-1;;;;;2894:17:0;;;-1:-1:-1;;;;;;2894:17:0;;;;;;2927:40;;2877:6;;;;;;;2927:40;;2858:16;2927:40;2847:128;2784:191;:::o;12641:603::-;12791:13;12824:3;12808:12;12817:3;12808:6;:12;:::i;:::-;12807:20;;;;:::i;:::-;12791:36;-1:-1:-1;12838:23:0;12864:14;12791:36;12864:6;:14;:::i;:::-;-1:-1:-1;;;;;12909:17:0;;;;;;:9;:17;;;;;;12838:40;;-1:-1:-1;12909:26:0;;12929:6;;12909:26;:::i;:::-;-1:-1:-1;;;;;12889:17:0;;;;;;;:9;:17;;;;;;:46;;;;12969:20;;;;;;;:38;;12992:15;;12969:38;:::i;:::-;-1:-1:-1;;;;;12946:20:0;;;;;;:9;:20;;;;;:61;13022:9;;13018:159;;13093:4;13075:24;;;;:9;:24;;;;;;:32;;13102:5;;13075:32;:::i;:::-;13066:4;13048:24;;;;:9;:24;;;;;;;:59;;;;13127:38;;-1:-1:-1;;;;;13127:38:0;;;;;;;13159:5;1594:25:1;;1582:2;1567:18;;1448:177;13127:38:0;;;;;;;;13018:159;13209:9;-1:-1:-1;;;;;13192:44:0;13201:6;-1:-1:-1;;;;;13192:44:0;;13220:15;13192:44;;;;1594:25:1;;1582:2;1567:18;;1448:177;13192:44:0;;;;;;;;12780:464;;12641:603;;;;:::o;12150:483::-;6976:6;:13;;-1:-1:-1;;;;6976:13:0;-1:-1:-1;;;6976:13:0;;;12252:16:::1;::::0;;12266:1:::1;12252:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12252:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12252:16:0::1;12228:40;;12297:4;12279;12284:1;12279:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12279:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12323:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12323:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12279:7;;12323:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12313:4;12318:1;12313:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12313:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12388:15:::1;::::0;12356:62:::1;::::0;12373:4:::1;::::0;12388:15:::1;12406:11:::0;12356:8:::1;:62::i;:::-;12429:15;::::0;:196:::1;::::0;-1:-1:-1;;;12429:196:0;;-1:-1:-1;;;;;12429:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12510:11;;12429:15:::1;::::0;12552:4;;12579::::1;::::0;12599:15:::1;::::0;12429:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7012:6:0;:14;;-1:-1:-1;;;;7012:14:0;;;-1:-1:-1;;;;12150:483:0:o;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;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;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2488:248::-;2556:6;2564;2617:2;2605:9;2596:7;2592:23;2588:32;2585:52;;;2633:1;2630;2623:12;2585:52;-1:-1:-1;;2656:23:1;;;2726:2;2711:18;;;2698:32;;-1:-1:-1;2488:248:1:o;2741:247::-;2800:6;2853:2;2841:9;2832:7;2828:23;2824:32;2821:52;;;2869:1;2866;2859:12;2821:52;2908:9;2895:23;2927:31;2952:5;2927:31;:::i;:::-;2977:5;2741:247;-1:-1:-1;;;2741:247:1:o;2993:180::-;3052:6;3105:2;3093:9;3084:7;3080:23;3076:32;3073:52;;;3121:1;3118;3111:12;3073:52;-1:-1:-1;3144:23:1;;2993:180;-1:-1:-1;2993:180:1:o;3178:782::-;3270:6;3278;3286;3339:2;3327:9;3318:7;3314:23;3310:32;3307:52;;;3355:1;3352;3345:12;3307:52;3395:9;3382:23;3424:18;3465:2;3457:6;3454:14;3451:34;;;3481:1;3478;3471:12;3451:34;3519:6;3508:9;3504:22;3494:32;;3564:7;3557:4;3553:2;3549:13;3545:27;3535:55;;3586:1;3583;3576:12;3535:55;3626:2;3613:16;3652:2;3644:6;3641:14;3638:34;;;3668:1;3665;3658:12;3638:34;3723:7;3716:4;3706:6;3703:1;3699:14;3695:2;3691:23;3687:34;3684:47;3681:67;;;3744:1;3741;3734:12;3681:67;3775:4;3767:13;;;;-1:-1:-1;3799:6:1;-1:-1:-1;;3840:20:1;;3827:34;3897:13;;3890:21;3880:32;;3870:60;;3926:1;3923;3916:12;3870:60;3949:5;3939:15;;;3178:782;;;;;:::o;3965:388::-;4033:6;4041;4094:2;4082:9;4073:7;4069:23;4065:32;4062:52;;;4110:1;4107;4100:12;4062:52;4149:9;4136:23;4168:31;4193:5;4168:31;:::i;:::-;4218:5;-1:-1:-1;4275:2:1;4260:18;;4247:32;4288:33;4247:32;4288:33;:::i;:::-;4340:7;4330:17;;;3965:388;;;;;:::o;5111:127::-;5172:10;5167:3;5163:20;5160:1;5153:31;5203:4;5200:1;5193:15;5227:4;5224:1;5217:15;5243:127;5304:10;5299:3;5295:20;5292:1;5285:31;5335:4;5332:1;5325:15;5359:4;5356:1;5349:15;5375:135;5414:3;5435:17;;;5432:43;;5455:18;;:::i;:::-;-1:-1:-1;5502:1:1;5491:13;;5375:135::o;8307:125::-;8372:9;;;8393:10;;;8390:36;;;8406:18;;:::i;9202:168::-;9275:9;;;9306;;9323:15;;;9317:22;;9303:37;9293:71;;9344:18;;:::i;9375:217::-;9415:1;9441;9431:132;;9485:10;9480:3;9476:20;9473:1;9466:31;9520:4;9517:1;9510:15;9548:4;9545:1;9538:15;9431:132;-1:-1:-1;9577:9:1;;9375:217::o;9597:128::-;9664:9;;;9685:11;;;9682:37;;;9699:18;;:::i;9862:251::-;9932:6;9985:2;9973:9;9964:7;9960:23;9956:32;9953:52;;;10001:1;9998;9991:12;9953:52;10033:9;10027:16;10052:31;10077:5;10052:31;:::i;10118:980::-;10380:4;10428:3;10417:9;10413:19;10459:6;10448:9;10441:25;10485:2;10523:6;10518:2;10507:9;10503:18;10496:34;10566:3;10561:2;10550:9;10546:18;10539:31;10590:6;10625;10619:13;10656:6;10648;10641:22;10694:3;10683:9;10679:19;10672:26;;10733:2;10725:6;10721:15;10707:29;;10754:1;10764:195;10778:6;10775:1;10772:13;10764:195;;;10843:13;;-1:-1:-1;;;;;10839:39:1;10827:52;;10934:15;;;;10899:12;;;;10875:1;10793:9;10764:195;;;-1:-1:-1;;;;;;;11015:32:1;;;;11010:2;10995:18;;10988:60;-1:-1:-1;;;11079:3:1;11064:19;11057:35;10976:3;10118:980;-1:-1:-1;;;10118:980:1:o

Swarm Source

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