ETH Price: $3,518.47 (+5.16%)

Token

GrokSwap (GROKS)
 

Overview

Max Total Supply

1,000,000,000 GROKS

Holders

362

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
532,466.524308672693098869 GROKS

Value
$0.00
0x30c0c14d772c1df2abd93dfb44141c3da23708f6
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:
GrokSwap

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-12-11
*/

/**
 * Official Telegram: https://t.me/GrokSwapERC
 * Official Twitter: https://twitter.com/grokswapeth
 * Official Website: https://grokswap.io
 * SPDX-License-Identifier: Unlicensed
*/
pragma solidity 0.8.19;

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

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

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

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

    function factory() external pure returns (address);

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

contract GrokSwap is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 1_000_000_000e18;
    uint256 private minSwap = _totalSupply / 500;
    uint256 private maxSwap = _totalSupply / 50;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint64 public buyFee;
    uint64 public sellFee;

    uint8 private launch;
    uint8 private inSwapAndLiquify;
    uint64 public lastSBTime;

    uint256 public txLimitAmount = _totalSupply / 50;

    string private constant _name = "GrokSwap";
    string private constant _symbol = "GROKS";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyFee = 40;
        sellFee = 50;

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

        marketingWallet = payable(0x7d42d709925EB8dd5f9DB5fD600F80efDe61Bc6d);
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        _balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _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 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - 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 enableTrading() external onlyOwner {
        launch = 1;
        lastSBTime = uint64(block.number);
    }

    function exemptFromFees(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        txLimitAmount = _totalSupply;
    }

    function changeTax(uint64 newbuyFee, uint64 newsellFee) external onlyOwner {
        require(newbuyFee < 100 && newsellFee < 100, "Max");
        buyFee = newbuyFee;
        sellFee = newsellFee;
    }

    function changeMaxSwapThreshold(
        uint256 newMaxSwapThreshold
    ) external onlyOwner {
        require(
            newMaxSwapThreshold * 1e18 > minSwap,
            "Max Swap cannot be less than min swap"
        );
        maxSwap = newMaxSwapThreshold * 1e18;
    }

    function changeMinSwapThreshold(
        uint256 newMinSwapThreshold
    ) external onlyOwner {
        require(
            newMinSwapThreshold * 1e18 < maxSwap,
            "Min Swap cannot be greater than max swap"
        );
        minSwap = newMinSwapThreshold * 1e18;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        if (amount <= 1e9) {
            //Small amounts
            _balance[from] -= amount;
            _balance[to] += amount;
            emit Transfer(from, to, amount);
            return;
        }
        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= txLimitAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //In swapback
                _balance[from] -= amount;
                _balance[to] += amount;
                emit Transfer(from, to, amount);
                return;
            }

            //Buy
            if (from == uniswapV2Pair) {
                _tax = buyFee;
            } else if (to == uniswapV2Pair) {
                //Sell
                uint256 tokensToSwap = _balance[address(this)];

                if (
                    tokensToSwap > minSwap &&
                    inSwapAndLiquify == 0 &&
                    lastSBTime != uint64(block.number)
                ) {
                    if (tokensToSwap > maxSwap) {
                        tokensToSwap = maxSwap;
                    }

                    swapback(tokensToSwap);
                }

                _tax = sellFee;
            } else {
                //Normal Transfer
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;
            emit Transfer(from, to, amount);
        }
    }

    function swapback(uint256 tokensToSwap) internal {
        inSwapAndLiquify = 1;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensToSwap,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
        lastSBTime = uint64(block.number);
        inSwapAndLiquify = 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":[{"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":"buyFee","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSwapThreshold","type":"uint256"}],"name":"changeMaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinSwapThreshold","type":"uint256"}],"name":"changeMinSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newbuyFee","type":"uint64"},{"internalType":"uint64","name":"newsellFee","type":"uint64"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastSBTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","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":[],"name":"sellFee","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"txLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101006040526200001f6101f46b033b2e3c9fd0803ce80000006200035e565b6002556200003b60326b033b2e3c9fd0803ce80000006200035e565b6003556200005760326b033b2e3c9fd0803ce80000006200035e565b6005553480156200006757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000125919062000381565b6001600160a01b0390811660c052600480546001600160801b031916683200000000000000281781556080516040805163c45a015560e01b81529051919093169263c45a015592818101926020929091908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000381565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af115801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e919062000381565b6001600160a01b0390811660a052737d42d709925eb8dd5f9db5fd600f80efde61bc6d60e052600860209081527f9a1452690716f9fae50ec4bebbe8aee18807253e2b20b38199e4fb2f7cd6c20c8054600160ff1991821681179092553360008181526040808220805485168617905530825280822080549094169094179092556007808552838320608051909616808452958552838320600019908190558284529085528383209583529484528282208590557fd65819c0de912027571b045cad496a6a5aa9431fbde9f6165cb68b94dcc01f42845282822094909455838152600683528181206b033b2e3c9fd0803ce8000000908190559151918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620003b3565b6000826200037c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200039457600080fd5b81516001600160a01b0381168114620003ac57600080fd5b9392505050565b60805160a05160c05160e0516113f0620003f4600039600061105d01526000610fd0015260008181610c4f0152610c9a0152600061102701526113f06000f3fe6080604052600436106101395760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b1461039a57806395d89b41146103c25780639b00ea42146103f0578063a9059cbb14610406578063dd62ed3e14610426578063f2fde38b1461046c57600080fd5b806370a0823114610305578063715018a61461033b578063751039fc146103505780637dcde152146103655780638a8c523c1461038557600080fd5b8063313ce567116100fd578063313ce5671461024057806341e1259d1461025c578063470624021461027e5780635228d0af1461029e57806355811acc146102c55780635a90a49e146102e557600080fd5b806306fdde0314610145578063095ea7b31461018857806318160ddd146101b857806323b872dd146101e15780632b14ca561461020157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267047726f6b537761760c41b60208201525b60405161017f91906110ea565b60405180910390f35b34801561019457600080fd5b506101a86101a3366004611154565b61048c565b604051901515815260200161017f565b3480156101c457600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161017f565b3480156101ed57600080fd5b506101a86101fc36600461117e565b6104a3565b34801561020d57600080fd5b5060045461022890600160401b90046001600160401b031681565b6040516001600160401b03909116815260200161017f565b34801561024c57600080fd5b506040516012815260200161017f565b34801561026857600080fd5b5061027c6102773660046111ba565b6104f5565b005b34801561028a57600080fd5b50600454610228906001600160401b031681565b3480156102aa57600080fd5b5060045461022890600160901b90046001600160401b031681565b3480156102d157600080fd5b5061027c6102e03660046111ba565b6105b3565b3480156102f157600080fd5b5061027c6103003660046111d3565b610665565b34801561031157600080fd5b506101d36103203660046111d3565b6001600160a01b031660009081526006602052604090205490565b34801561034757600080fd5b5061027c6106b3565b34801561035c57600080fd5b5061027c610727565b34801561037157600080fd5b5061027c61038036600461120c565b610763565b34801561039157600080fd5b5061027c61081b565b3480156103a657600080fd5b506000546040516001600160a01b03909116815260200161017f565b3480156103ce57600080fd5b5060408051808201909152600581526447524f4b5360d81b6020820152610172565b3480156103fc57600080fd5b506101d360055481565b34801561041257600080fd5b506101a8610421366004611154565b610876565b34801561043257600080fd5b506101d361044136600461123f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561047857600080fd5b5061027c6104873660046111d3565b610883565b60006104993384846108b9565b5060015b92915050565b60006104b08484846109de565b6001600160a01b0384166000908152600760209081526040808320338085529252909120546104eb9186916104e690869061127f565b6108b9565b5060019392505050565b6000546001600160a01b031633146105285760405162461bcd60e51b815260040161051f90611292565b60405180910390fd5b60035461053d82670de0b6b3a76400006112c7565b1061059b5760405162461bcd60e51b815260206004820152602860248201527f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060448201526706d617820737761760c41b606482015260840161051f565b6105ad81670de0b6b3a76400006112c7565b60025550565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260040161051f90611292565b6002546105f282670de0b6b3a76400006112c7565b1161064d5760405162461bcd60e51b815260206004820152602560248201527f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e604482015264020737761760dc1b606482015260840161051f565b61065f81670de0b6b3a76400006112c7565b60035550565b6000546001600160a01b0316331461068f5760405162461bcd60e51b815260040161051f90611292565b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161051f90611292565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107515760405162461bcd60e51b815260040161051f90611292565b6b033b2e3c9fd0803ce8000000600555565b6000546001600160a01b0316331461078d5760405162461bcd60e51b815260040161051f90611292565b6064826001600160401b03161080156107af57506064816001600160401b0316105b6107e15760405162461bcd60e51b815260206004820152600360248201526209ac2f60eb1b604482015260640161051f565b600480546001600160401b03928316600160401b026fffffffffffffffffffffffffffffffff199091169290931691909117919091179055565b6000546001600160a01b031633146108455760405162461bcd60e51b815260040161051f90611292565b600480546001600160401b034316600160901b0269ffffffffffffffff00ff60801b1990911617600160801b179055565b60006104993384846109de565b6000546001600160a01b031633146108ad5760405162461bcd60e51b815260040161051f90611292565b6108b681610ea6565b50565b6001600160a01b03831661091b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051f565b6001600160a01b03821661097c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051f565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051f565b633b9aca008111610adc576001600160a01b03831660009081526006602052604081208054839290610a7590849061127f565b90915550506001600160a01b03821660009081526006602052604081208054839290610aa29084906112de565b92505081905550816001600160a01b0316836001600160a01b031660008051602061139b833981519152836040516109d191815260200190565b6001600160a01b03831660009081526008602052604081205460ff1680610b1b57506001600160a01b03831660009081526008602052604090205460ff165b15610b2857506000610d59565b600454600160801b900460ff1615801590610b4557506005548211155b610b9c5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b606482015260840161051f565b600454600160881b900460ff16600103610c4d576001600160a01b03841660009081526006602052604081208054849290610bd890849061127f565b90915550506001600160a01b03831660009081526006602052604081208054849290610c059084906112de565b92505081905550826001600160a01b0316846001600160a01b031660008051602061139b83398151915284604051610c3f91815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610c9857506004546001600160401b0316610d59565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610d55573060009081526006602052604090205460025481118015610cfc5750600454600160881b900460ff16155b8015610d1e5750600454436001600160401b03908116600160901b9092041614155b15610d3b57600354811115610d3257506003545b610d3b81610f66565b5050600454600160401b90046001600160401b0316610d59565b5060005b8015610e785760006064610d6d83856112c7565b610d7791906112f1565b90506000610d85828561127f565b6001600160a01b038716600090815260066020526040812080549293508692909190610db290849061127f565b90915550506001600160a01b03851660009081526006602052604081208054839290610ddf9084906112de565b90915550503060009081526006602052604081208054849290610e039084906112de565b909155505060405182815230906001600160a01b0388169060008051602061139b8339815191529060200160405180910390a3846001600160a01b0316866001600160a01b031660008051602061139b83398151915283604051610e6991815260200190565b60405180910390a35050610ea0565b6001600160a01b03841660009081526006602052604081208054849290610bd890849061127f565b50505050565b6001600160a01b038116610f0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004805460ff60881b1916600160881b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fae57610fae611313565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061100257611002611313565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac9479061108790859060009086907f0000000000000000000000000000000000000000000000000000000000000000904290600401611329565b600060405180830381600087803b1580156110a157600080fd5b505af11580156110b5573d6000803e3d6000fd5b50506004805468ffffffffffffffffff60881b1916600160901b436001600160401b03160260ff60881b191617905550505050565b600060208083528351808285015260005b81811015611117578581018301518582016040015282016110fb565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461114f57600080fd5b919050565b6000806040838503121561116757600080fd5b61117083611138565b946020939093013593505050565b60008060006060848603121561119357600080fd5b61119c84611138565b92506111aa60208501611138565b9150604084013590509250925092565b6000602082840312156111cc57600080fd5b5035919050565b6000602082840312156111e557600080fd5b6111ee82611138565b9392505050565b80356001600160401b038116811461114f57600080fd5b6000806040838503121561121f57600080fd5b611228836111f5565b9150611236602084016111f5565b90509250929050565b6000806040838503121561125257600080fd5b61125b83611138565b915061123660208401611138565b634e487b7160e01b600052601160045260246000fd5b8181038181111561049d5761049d611269565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761049d5761049d611269565b8082018082111561049d5761049d611269565b60008261130e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113795784516001600160a01b031683529383019391830191600101611354565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122074e7098078d84be74301c0a7c26dcd8cb8569a36d9293fedee4ed145e033c6f664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b1461039a57806395d89b41146103c25780639b00ea42146103f0578063a9059cbb14610406578063dd62ed3e14610426578063f2fde38b1461046c57600080fd5b806370a0823114610305578063715018a61461033b578063751039fc146103505780637dcde152146103655780638a8c523c1461038557600080fd5b8063313ce567116100fd578063313ce5671461024057806341e1259d1461025c578063470624021461027e5780635228d0af1461029e57806355811acc146102c55780635a90a49e146102e557600080fd5b806306fdde0314610145578063095ea7b31461018857806318160ddd146101b857806323b872dd146101e15780632b14ca561461020157600080fd5b3661014057005b600080fd5b34801561015157600080fd5b50604080518082019091526008815267047726f6b537761760c41b60208201525b60405161017f91906110ea565b60405180910390f35b34801561019457600080fd5b506101a86101a3366004611154565b61048c565b604051901515815260200161017f565b3480156101c457600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161017f565b3480156101ed57600080fd5b506101a86101fc36600461117e565b6104a3565b34801561020d57600080fd5b5060045461022890600160401b90046001600160401b031681565b6040516001600160401b03909116815260200161017f565b34801561024c57600080fd5b506040516012815260200161017f565b34801561026857600080fd5b5061027c6102773660046111ba565b6104f5565b005b34801561028a57600080fd5b50600454610228906001600160401b031681565b3480156102aa57600080fd5b5060045461022890600160901b90046001600160401b031681565b3480156102d157600080fd5b5061027c6102e03660046111ba565b6105b3565b3480156102f157600080fd5b5061027c6103003660046111d3565b610665565b34801561031157600080fd5b506101d36103203660046111d3565b6001600160a01b031660009081526006602052604090205490565b34801561034757600080fd5b5061027c6106b3565b34801561035c57600080fd5b5061027c610727565b34801561037157600080fd5b5061027c61038036600461120c565b610763565b34801561039157600080fd5b5061027c61081b565b3480156103a657600080fd5b506000546040516001600160a01b03909116815260200161017f565b3480156103ce57600080fd5b5060408051808201909152600581526447524f4b5360d81b6020820152610172565b3480156103fc57600080fd5b506101d360055481565b34801561041257600080fd5b506101a8610421366004611154565b610876565b34801561043257600080fd5b506101d361044136600461123f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561047857600080fd5b5061027c6104873660046111d3565b610883565b60006104993384846108b9565b5060015b92915050565b60006104b08484846109de565b6001600160a01b0384166000908152600760209081526040808320338085529252909120546104eb9186916104e690869061127f565b6108b9565b5060019392505050565b6000546001600160a01b031633146105285760405162461bcd60e51b815260040161051f90611292565b60405180910390fd5b60035461053d82670de0b6b3a76400006112c7565b1061059b5760405162461bcd60e51b815260206004820152602860248201527f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060448201526706d617820737761760c41b606482015260840161051f565b6105ad81670de0b6b3a76400006112c7565b60025550565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260040161051f90611292565b6002546105f282670de0b6b3a76400006112c7565b1161064d5760405162461bcd60e51b815260206004820152602560248201527f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e604482015264020737761760dc1b606482015260840161051f565b61065f81670de0b6b3a76400006112c7565b60035550565b6000546001600160a01b0316331461068f5760405162461bcd60e51b815260040161051f90611292565b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161051f90611292565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107515760405162461bcd60e51b815260040161051f90611292565b6b033b2e3c9fd0803ce8000000600555565b6000546001600160a01b0316331461078d5760405162461bcd60e51b815260040161051f90611292565b6064826001600160401b03161080156107af57506064816001600160401b0316105b6107e15760405162461bcd60e51b815260206004820152600360248201526209ac2f60eb1b604482015260640161051f565b600480546001600160401b03928316600160401b026fffffffffffffffffffffffffffffffff199091169290931691909117919091179055565b6000546001600160a01b031633146108455760405162461bcd60e51b815260040161051f90611292565b600480546001600160401b034316600160901b0269ffffffffffffffff00ff60801b1990911617600160801b179055565b60006104993384846109de565b6000546001600160a01b031633146108ad5760405162461bcd60e51b815260040161051f90611292565b6108b681610ea6565b50565b6001600160a01b03831661091b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051f565b6001600160a01b03821661097c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051f565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051f565b633b9aca008111610adc576001600160a01b03831660009081526006602052604081208054839290610a7590849061127f565b90915550506001600160a01b03821660009081526006602052604081208054839290610aa29084906112de565b92505081905550816001600160a01b0316836001600160a01b031660008051602061139b833981519152836040516109d191815260200190565b6001600160a01b03831660009081526008602052604081205460ff1680610b1b57506001600160a01b03831660009081526008602052604090205460ff165b15610b2857506000610d59565b600454600160801b900460ff1615801590610b4557506005548211155b610b9c5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b606482015260840161051f565b600454600160881b900460ff16600103610c4d576001600160a01b03841660009081526006602052604081208054849290610bd890849061127f565b90915550506001600160a01b03831660009081526006602052604081208054849290610c059084906112de565b92505081905550826001600160a01b0316846001600160a01b031660008051602061139b83398151915284604051610c3f91815260200190565b60405180910390a350505050565b7f000000000000000000000000b5446450855d0862b814c936f3a19ad8595e03036001600160a01b0316846001600160a01b031603610c9857506004546001600160401b0316610d59565b7f000000000000000000000000b5446450855d0862b814c936f3a19ad8595e03036001600160a01b0316836001600160a01b031603610d55573060009081526006602052604090205460025481118015610cfc5750600454600160881b900460ff16155b8015610d1e5750600454436001600160401b03908116600160901b9092041614155b15610d3b57600354811115610d3257506003545b610d3b81610f66565b5050600454600160401b90046001600160401b0316610d59565b5060005b8015610e785760006064610d6d83856112c7565b610d7791906112f1565b90506000610d85828561127f565b6001600160a01b038716600090815260066020526040812080549293508692909190610db290849061127f565b90915550506001600160a01b03851660009081526006602052604081208054839290610ddf9084906112de565b90915550503060009081526006602052604081208054849290610e039084906112de565b909155505060405182815230906001600160a01b0388169060008051602061139b8339815191529060200160405180910390a3846001600160a01b0316866001600160a01b031660008051602061139b83398151915283604051610e6991815260200190565b60405180910390a35050610ea0565b6001600160a01b03841660009081526006602052604081208054849290610bd890849061127f565b50505050565b6001600160a01b038116610f0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6004805460ff60881b1916600160881b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fae57610fae611313565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061100257611002611313565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac9479061108790859060009086907f0000000000000000000000007d42d709925eb8dd5f9db5fd600f80efde61bc6d904290600401611329565b600060405180830381600087803b1580156110a157600080fd5b505af11580156110b5573d6000803e3d6000fd5b50506004805468ffffffffffffffffff60881b1916600160901b436001600160401b03160260ff60881b191617905550505050565b600060208083528351808285015260005b81811015611117578581018301518582016040015282016110fb565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461114f57600080fd5b919050565b6000806040838503121561116757600080fd5b61117083611138565b946020939093013593505050565b60008060006060848603121561119357600080fd5b61119c84611138565b92506111aa60208501611138565b9150604084013590509250925092565b6000602082840312156111cc57600080fd5b5035919050565b6000602082840312156111e557600080fd5b6111ee82611138565b9392505050565b80356001600160401b038116811461114f57600080fd5b6000806040838503121561121f57600080fd5b611228836111f5565b9150611236602084016111f5565b90509250929050565b6000806040838503121561125257600080fd5b61125b83611138565b915061123660208401611138565b634e487b7160e01b600052601160045260246000fd5b8181038181111561049d5761049d611269565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761049d5761049d611269565b8082018082111561049d5761049d611269565b60008261130e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113795784516001600160a01b031683529383019391830191600101611354565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122074e7098078d84be74301c0a7c26dcd8cb8569a36d9293fedee4ed145e033c6f664736f6c63430008130033

Deployed Bytecode Sourcemap

2829:7671:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4727:83;;;;;;;;;;-1:-1:-1;4797:5:0;;;;;;;;;;;;-1:-1:-1;;;4797:5:0;;;;4727:83;;;;;;;:::i;:::-;;;;;;;;5607:186;;;;;;;;;;-1:-1:-1;5607:186:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5607:186:0;1004:187:1;4997:100:0;;;;;;;;;;-1:-1:-1;2922:16:0;4997:100;;;1342:25:1;;;1330:2;1315:18;4997:100:0;1196:177:1;5801:350:0;;;;;;;;;;-1:-1:-1;5801:350:0;;;;;:::i;:::-;;:::i;3243:21::-;;;;;;;;;;-1:-1:-1;3243:21:0;;;;-1:-1:-1;;;3243:21:0;;-1:-1:-1;;;;;3243:21:0;;;;;;-1:-1:-1;;;;;1873:31:1;;;1855:50;;1843:2;1828:18;3243:21:0;1711:200:1;4913:76:0;;;;;;;;;;-1:-1:-1;4913:76:0;;4979:2;2058:36:1;;2046:2;2031:18;4913:76:0;1916:184:1;7356:288:0;;;;;;;;;;-1:-1:-1;7356:288:0;;;;;:::i;:::-;;:::i;:::-;;3216:20;;;;;;;;;;-1:-1:-1;3216:20:0;;;;-1:-1:-1;;;;;3216:20:0;;;3337:24;;;;;;;;;;-1:-1:-1;3337:24:0;;;;-1:-1:-1;;;3337:24:0;;-1:-1:-1;;;;;3337:24:0;;;7063:285;;;;;;;;;;-1:-1:-1;7063:285:0;;;;;:::i;:::-;;:::i;6627:117::-;;;;;;;;;;-1:-1:-1;6627:117:0;;;;;:::i;:::-;;:::i;5105:118::-;;;;;;;;;;-1:-1:-1;5105:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5198:17:0;5171:7;5198:17;;;:8;:17;;;;;;;5105:118;2149:148;;;;;;;;;;;;;:::i;6752:90::-;;;;;;;;;;;;;:::i;6850:205::-;;;;;;;;;;-1:-1:-1;6850:205:0;;;;;:::i;:::-;;:::i;6502:117::-;;;;;;;;;;;;;:::i;1544:79::-;;;;;;;;;;-1:-1:-1;1582:7:0;1609:6;1544:79;;-1:-1:-1;;;;;1609:6:0;;;3064:51:1;;3052:2;3037:18;1544:79:0;2918:203:1;4818:87:0;;;;;;;;;;-1:-1:-1;4890:7:0;;;;;;;;;;;;-1:-1:-1;;;4890:7:0;;;;4818:87;;3370:48;;;;;;;;;;;;;;;;5231:192;;;;;;;;;;-1:-1:-1;5231:192:0;;;;;:::i;:::-;;:::i;5431:168::-;;;;;;;;;;-1:-1:-1;5431:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;5564:18:0;;;5537:7;5564:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5431:168;1758:109;;;;;;;;;;-1:-1:-1;1758:109:0;;;;;:::i;:::-;;:::i;5607:186::-;5707:4;5724:39;333:10;5747:7;5756:6;5724:8;:39::i;:::-;-1:-1:-1;5781:4:0;5607:186;;;;;:::o;5801:350::-;5933:4;5950:36;5960:6;5968:9;5979:6;5950:9;:36::i;:::-;-1:-1:-1;;;;;6068:19:0;;;;;;:11;:19;;;;;;;;333:10;6068:33;;;;;;;;;5997:124;;6020:6;;6068:42;;6104:6;;6068:42;:::i;:::-;5997:8;:124::i;:::-;-1:-1:-1;6139:4:0;5801:350;;;;;:::o;7356:288::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;;;;;;;;;7514:7:::1;::::0;7485:26:::1;:19:::0;7507:4:::1;7485:26;:::i;:::-;:36;7463:126;;;::::0;-1:-1:-1;;;7463:126:0;;4392:2:1;7463:126:0::1;::::0;::::1;4374:21:1::0;4431:2;4411:18;;;4404:30;4470:34;4450:18;;;4443:62;-1:-1:-1;;;4521:18:1;;;4514:38;4569:19;;7463:126:0::1;4190:404:1::0;7463:126:0::1;7610:26;:19:::0;7632:4:::1;7610:26;:::i;:::-;7600:7;:36:::0;-1:-1:-1;7356:288:0:o;7063:285::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;7221:7:::1;::::0;7192:26:::1;:19:::0;7214:4:::1;7192:26;:::i;:::-;:36;7170:123;;;::::0;-1:-1:-1;;;7170:123:0;;4801:2:1;7170:123:0::1;::::0;::::1;4783:21:1::0;4840:2;4820:18;;;4813:30;4879:34;4859:18;;;4852:62;-1:-1:-1;;;4930:18:1;;;4923:35;4975:19;;7170:123:0::1;4599:401:1::0;7170:123:0::1;7314:26;:19:::0;7336:4:::1;7314:26;:::i;:::-;7304:7;:36:::0;-1:-1:-1;7063:285:0:o;6627:117::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6697:32:0::1;;::::0;;;:24:::1;:32;::::0;;;;:39;;-1:-1:-1;;6697:39:0::1;6732:4;6697:39;::::0;;6627:117::o;2149:148::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;2256:1:::1;2240:6:::0;;2219:40:::1;::::0;-1:-1:-1;;;;;2240:6:0;;::::1;::::0;2219:40:::1;::::0;2256:1;;2219:40:::1;2287:1;2270:19:::0;;-1:-1:-1;;;;;;2270:19:0::1;::::0;;2149:148::o;6752:90::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;2922:16:::1;6806:13;:28:::0;6752:90::o;6850:205::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;6956:3:::1;6944:9;-1:-1:-1::0;;;;;6944:15:0::1;;:35;;;;;6976:3;6963:10;-1:-1:-1::0;;;;;6963:16:0::1;;6944:35;6936:51;;;::::0;-1:-1:-1;;;6936:51:0;;5207:2:1;6936:51:0::1;::::0;::::1;5189:21:1::0;5246:1;5226:18;;;5219:29;-1:-1:-1;;;5264:18:1;;;5257:33;5307:18;;6936:51:0::1;5005:326:1::0;6936:51:0::1;6998:6;:18:::0;;-1:-1:-1;;;;;7027:20:0;;::::1;-1:-1:-1::0;;;7027:20:0::1;-1:-1:-1::0;;7027:20:0;;;6998:18;;;::::1;7027:20:::0;;;;;;;::::1;::::0;;6850:205::o;6502:117::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;6557:6:::1;:10:::0;;-1:-1:-1;;;;;6598:12:0::1;6578:33;-1:-1:-1::0;;;6578:33:0::1;-1:-1:-1::0;;;;6578:33:0;;;;-1:-1:-1;;;6578:33:0;;;6502:117::o;5231:192::-;5334:4;5351:42;333:10;5375:9;5386:6;5351:9;:42::i;1758:109::-;1671:6;;-1:-1:-1;;;;;1671:6:0;333:10;1671:22;1663:67;;;;-1:-1:-1;;;1663:67:0;;;;;;;:::i;:::-;1831:28:::1;1850:8;1831:18;:28::i;:::-;1758:109:::0;:::o;6159:335::-;-1:-1:-1;;;;;6252:19:0;;6244:68;;;;-1:-1:-1;;;6244:68:0;;5538:2:1;6244:68:0;;;5520:21:1;5577:2;5557:18;;;5550:30;5616:34;5596:18;;;5589:62;-1:-1:-1;;;5667:18:1;;;5660:34;5711:19;;6244:68:0;5336:400:1;6244:68:0;-1:-1:-1;;;;;6331:21:0;;6323:68;;;;-1:-1:-1;;;6323:68:0;;5943:2:1;6323:68:0;;;5925:21:1;5982:2;5962:18;;;5955:30;6021:34;6001:18;;;5994:62;-1:-1:-1;;;6072:18:1;;;6065:32;6114:19;;6323:68:0;5741:398:1;6323:68:0;-1:-1:-1;;;;;6402:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6454:32;;1342:25:1;;;6454:32:0;;1315:18:1;6454:32:0;;;;;;;;6159:335;;;:::o;7652:2317::-;-1:-1:-1;;;;;7740:18:0;;7732:68;;;;-1:-1:-1;;;7732:68:0;;6346:2:1;7732:68:0;;;6328:21:1;6385:2;6365:18;;;6358:30;6424:34;6404:18;;;6397:62;-1:-1:-1;;;6475:18:1;;;6468:35;6520:19;;7732:68:0;6144:401:1;7732:68:0;7825:3;7815:6;:13;7811:203;;-1:-1:-1;;;;;7874:14:0;;;;;;:8;:14;;;;;:24;;7892:6;;7874:14;:24;;7892:6;;7874:24;:::i;:::-;;;;-1:-1:-1;;;;;;;7913:12:0;;;;;;:8;:12;;;;;:22;;7929:6;;7913:12;:22;;7929:6;;7913:22;:::i;:::-;;;;;;;;7970:2;-1:-1:-1;;;;;7955:26:0;7964:4;-1:-1:-1;;;;;7955:26:0;-1:-1:-1;;;;;;;;;;;7974:6:0;7955:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;7811:203:0;-1:-1:-1;;;;;8051:30:0;;8024:12;8051:30;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8085:28:0;;;;;;:24;:28;;;;;;;;8051:62;8047:1267;;;-1:-1:-1;8137:1:0;8047:1267;;;8197:6;;-1:-1:-1;;;8197:6:0;;;;:11;;;;:38;;;8222:13;;8212:6;:23;;8197:38;8171:134;;;;-1:-1:-1;;;8171:134:0;;6882:2:1;8171:134:0;;;6864:21:1;6921:2;6901:18;;;6894:30;6960:34;6940:18;;;6933:62;-1:-1:-1;;;7011:18:1;;;7004:32;7053:19;;8171:134:0;6680:398:1;8171:134:0;8326:16;;-1:-1:-1;;;8326:16:0;;;;8346:1;8326:21;8322:233;;-1:-1:-1;;;;;8399:14:0;;;;;;:8;:14;;;;;:24;;8417:6;;8399:14;:24;;8417:6;;8399:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8442:12:0;;;;;;:8;:12;;;;;:22;;8458:6;;8442:12;:22;;8458:6;;8442:22;:::i;:::-;;;;;;;;8503:2;-1:-1:-1;;;;;8488:26:0;8497:4;-1:-1:-1;;;;;8488:26:0;-1:-1:-1;;;;;;;;;;;8507:6:0;8488:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;8488:26:0;;;;;;;;8533:7;7652:2317;;;:::o;8322:233::-;8602:13;-1:-1:-1;;;;;8594:21:0;:4;-1:-1:-1;;;;;8594:21:0;;8590:713;;-1:-1:-1;8643:6:0;;-1:-1:-1;;;;;8643:6:0;8590:713;;;8681:13;-1:-1:-1;;;;;8675:19:0;:2;-1:-1:-1;;;;;8675:19:0;;8671:632;;8779:4;8739:20;8762:23;;;:8;:23;;;;;;8847:7;;8832:22;;:68;;;;-1:-1:-1;8879:16:0;;-1:-1:-1;;;8879:16:0;;;;:21;8832:68;:127;;;;-1:-1:-1;8925:10:0;;8946:12;-1:-1:-1;;;;;8925:34:0;;;-1:-1:-1;;;8925:10:0;;;;:34;;8832:127;8806:363;;;9021:7;;9006:12;:22;9002:101;;;-1:-1:-1;9072:7:0;;9002:101;9127:22;9136:12;9127:8;:22::i;:::-;-1:-1:-1;;9196:7:0;;-1:-1:-1;;;9196:7:0;;-1:-1:-1;;;;;9196:7:0;8671:632;;;-1:-1:-1;9286:1:0;8671:632;9375:9;;9371:591;;9429:17;9467:3;9450:13;9459:4;9450:6;:13;:::i;:::-;9449:21;;;;:::i;:::-;9429:41;-1:-1:-1;9485:22:0;9510:18;9429:41;9510:6;:18;:::i;:::-;-1:-1:-1;;;;;9545:14:0;;;;;;:8;:14;;;;;:24;;9485:43;;-1:-1:-1;9563:6:0;;9545:14;;;:24;;9563:6;;9545:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9584:12:0;;;;;;:8;:12;;;;;:30;;9600:14;;9584:12;:30;;9600:14;;9584:30;:::i;:::-;;;;-1:-1:-1;;9646:4:0;9629:23;;;;:8;:23;;;;;:36;;9656:9;;9629:23;:36;;9656:9;;9629:36;:::i;:::-;;;;-1:-1:-1;;9685:40:0;;1342:25:1;;;9708:4:0;;-1:-1:-1;;;;;9685:40:0;;;-1:-1:-1;;;;;;;;;;;9685:40:0;1330:2:1;1315:18;9685:40:0;;;;;;;9760:2;-1:-1:-1;;;;;9745:34:0;9754:4;-1:-1:-1;;;;;9745:34:0;-1:-1:-1;;;;;;;;;;;9764:14:0;9745:34;;;;1342:25:1;;1330:2;1315:18;;1196:177;9745:34:0;;;;;;;;9386:405;;9371:591;;;-1:-1:-1;;;;;9843:14:0;;;;;;:8;:14;;;;;:24;;9861:6;;9843:14;:24;;9861:6;;9843:24;:::i;9371:591::-;7721:2248;7652:2317;;;:::o;1875:266::-;-1:-1:-1;;;;;1963:22:0;;1941:110;;;;-1:-1:-1;;;1941:110:0;;7507:2:1;1941:110:0;;;7489:21:1;7546:2;7526:18;;;7519:30;7585:34;7565:18;;;7558:62;-1:-1:-1;;;7636:18:1;;;7629:36;7682:19;;1941:110:0;7305:402:1;1941:110:0;2088:6;;;2067:38;;-1:-1:-1;;;;;2067:38:0;;;;2088:6;;;2067:38;;;2116:6;:17;;-1:-1:-1;;;;;;2116:17:0;-1:-1:-1;;;;;2116:17:0;;;;;;;;;;1875:266::o;9977:483::-;10037:16;:20;;-1:-1:-1;;;;10037:20:0;-1:-1:-1;;;10037:20:0;;;10092:16;;;10106:1;10092:16;;;;;;;;-1:-1:-1;;10092:16:0;;;;;;;;;;-1:-1:-1;10092:16:0;10068:40;;10137:4;10119;10124:1;10119:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10119:23:0;;;-1:-1:-1;;;;;10119:23:0;;;;;10163:4;10153;10158:1;10153:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10153:14:0;;;:7;;;;;;;;;:14;10178:199;;-1:-1:-1;;;10178:199:0;;:15;:66;;;;;;:199;;10259:12;;10286:1;;10302:4;;10321:15;;10351;;10178:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10388:10:0;:33;;-1:-1:-1;;;;10432:20:0;-1:-1:-1;;;10408:12:0;-1:-1:-1;;;;;10388:33:0;;-1:-1:-1;;;;10432:20:0;;;;-1:-1:-1;;;;9977: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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2105:180::-;2164:6;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;-1:-1:-1;2256:23:1;;2105:180;-1:-1:-1;2105:180:1:o;2290:186::-;2349:6;2402:2;2390:9;2381:7;2377:23;2373:32;2370:52;;;2418:1;2415;2408:12;2370:52;2441:29;2460:9;2441:29;:::i;:::-;2431:39;2290:186;-1:-1:-1;;;2290:186:1:o;2481:171::-;2548:20;;-1:-1:-1;;;;;2597:30:1;;2587:41;;2577:69;;2642:1;2639;2632:12;2657:256;2723:6;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:28;2841:9;2823:28;:::i;:::-;2813:38;;2870:37;2903:2;2892:9;2888:18;2870:37;:::i;:::-;2860:47;;2657:256;;;;;:::o;3126:260::-;3194:6;3202;3255:2;3243:9;3234:7;3230:23;3226:32;3223:52;;;3271:1;3268;3261:12;3223:52;3294:29;3313:9;3294:29;:::i;:::-;3284:39;;3342:38;3376:2;3365:9;3361:18;3342:38;:::i;3391:127::-;3452:10;3447:3;3443:20;3440:1;3433:31;3483:4;3480:1;3473:15;3507:4;3504:1;3497:15;3523:128;3590:9;;;3611:11;;;3608:37;;;3625:18;;:::i;3656:356::-;3858:2;3840:21;;;3877:18;;;3870:30;3936:34;3931:2;3916:18;;3909:62;4003:2;3988:18;;3656:356::o;4017:168::-;4090:9;;;4121;;4138:15;;;4132:22;;4118:37;4108:71;;4159:18;;:::i;6550:125::-;6615:9;;;6636:10;;;6633:36;;;6649:18;;:::i;7083:217::-;7123:1;7149;7139:132;;7193:10;7188:3;7184:20;7181:1;7174:31;7228:4;7225:1;7218:15;7256:4;7253:1;7246:15;7139:132;-1:-1:-1;7285:9:1;;7083:217::o;7844:127::-;7905:10;7900:3;7896:20;7893:1;7886:31;7936:4;7933:1;7926:15;7960:4;7957:1;7950:15;7976:988;8246:4;8294:3;8283:9;8279:19;8325:6;8314:9;8307:25;8351:2;8389:6;8384:2;8373:9;8369:18;8362:34;8432:3;8427:2;8416:9;8412:18;8405:31;8456:6;8491;8485:13;8522:6;8514;8507:22;8560:3;8549:9;8545:19;8538:26;;8599:2;8591:6;8587:15;8573:29;;8620:1;8630:195;8644:6;8641:1;8638:13;8630:195;;;8709:13;;-1:-1:-1;;;;;8705:39:1;8693:52;;8800:15;;;;8765:12;;;;8741:1;8659:9;8630:195;;;-1:-1:-1;;;;;;;8881:32:1;;;;8876:2;8861:18;;8854:60;-1:-1:-1;;;8945:3:1;8930:19;8923:35;8842:3;7976:988;-1:-1:-1;;;7976:988:1:o

Swarm Source

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