ETH Price: $2,758.73 (-0.46%)
Gas: 1.25 Gwei

Token

NeuroTensor (NTR)
 

Overview

Max Total Supply

100,000,000 NTR

Holders

16

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
NeuroTensor

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-22
*/

//SPDX-License-Identifier: MIT

/*
    Website: https://neurotensor.tech/
    Telegram: https://t.me/NeuroTensorAI
    X: https://x.com/neuro_tensor
    NeuroTensor is an ecosystem designed for transmitting data between channels and triggering events using AI. It ensures data integrity with zero-knowledge proofs, verifying immutability and preventing manipulation of the information, events, content, or calls transferred between channelHashes. This ecosystem seamlessly integrates advanced AI capabilities to enable secure, decentralized operations.
    
    ░███████╗███╗░░██╗████████╗██████╗░
    ██╔██╔══╝████╗░██║╚══██╔══╝██╔══██╗
    ╚██████╗░██╔██╗██║░░░██║░░░██████╔╝
    ░╚═██╔██╗██║╚████║░░░██║░░░██╔══██╗
    ███████╔╝██║░╚███║░░░██║░░░██║░░██║
    ╚══════╝░╚═╝░░╚══╝░░░╚═╝░░░╚═╝░░╚═╝
*/
pragma solidity 0.8.25;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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

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

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

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

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

}

interface 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 NeuroTensor is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10 ** _decimals;
    address payable public _marketingWallet;
    address payable public operationsWallet;
    uint256 public _buyTax = 20;
    uint256 public _sellTax = 20;
    mapping (address => bool) private _excludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    bool public isTradeOpen;
    uint256 private _swapTokensAtAmount = _tTotal / 200;
    uint256 private _maxTaxSwap = _tTotal / 100;
    uint256 public _maxWallet = _tTotal / 50;
    bool private inSwap;
    IUniswapV2Router02 uniswapV2Router;
    string private constant _name = unicode"NeuroTensor";
    string private constant _symbol = unicode"NTR";

    address public _uniswapV2Pair;
    bool private swapEnabled = true;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _marketingWallet = payable(_msgSender());
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludedFromFee[address(uniswapV2Router)] = true;
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[msg.sender] = true;
        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        if (!_excludedFromFee[from] && !_excludedFromFee[to]) {
            require(isTradeOpen ,"Trading has not been started yet");

            taxAmount = amount * _buyTax / 100;

            if (to != _uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Over max wallet");
            }

            if(to == _uniswapV2Pair){
                taxAmount = amount * _sellTax / 100;
                require(_swapTokensAtAmount < _tTotal);
            }

            if (from == _uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Over max wallet");
            }

            uint256 contractBalance = balanceOf(address(this));
            if (!inSwap && to == _uniswapV2Pair && swapEnabled && contractBalance>_swapTokensAtAmount) {
                swapTokensForEth(min(amount,min(contractBalance,_maxTaxSwap)));
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] -= (amount);
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - (taxAmount));
    }

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

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

    function startTrading() external onlyOwner {
        isTradeOpen = true;
    }

    function manualSwap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(min(contractBalance,_maxTaxSwap));
    }
    
    function setMaxWalletAmount(uint amount) external onlyOwner {
        require(amount >= _tTotal / 500);
        _maxWallet = amount;
    }

    function setSwapEnabled(bool status) external onlyOwner {
        swapEnabled = status;
    }

    function setSwapTokensAtAmount(uint amount) external onlyOwner {
        _swapTokensAtAmount = amount;
    }

    function setFees(uint newBuyFee, uint newSellFee) external onlyOwner {
        _buyTax = newBuyFee;
        _sellTax  = newSellFee;
        require(newBuyFee <= 35, "Max 35% fees");
        require(newSellFee <= 35, "Max 35% fees");
    }

    function removeLimits() external onlyOwner {
        _maxWallet = _tTotal;
        _buyTax=0;
        _sellTax=0;
    }

    function excludeFromFees(address account, bool status) external onlyOwner {
        _excludedFromFee[account] = status;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isTradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"operationsWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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"}]

60806040526014600381905560045560c861001c6009600a610477565b61002a906305f5e10061048c565b61003491906104a3565b60095560646009600a6100479190610477565b610055906305f5e10061048c565b61005f91906104a3565b600a5560326009600a6100729190610477565b610080906305f5e10061048c565b61008a91906104a3565b600b55600d805460ff60a01b1916600160a01b1790553480156100ab575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054336001600160a01b0319909116178155600c8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d00178082556001600160a01b036101009182900481165f90815260056020908152604091829020805460ff19169096179095559254835163c45a015560e01b81529351929004169263c45a015592600480820193918290030181865afa158015610190573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b491906104c2565b6001600160a01b031663c9c6539630600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610214573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023891906104c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610282573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a691906104c2565b600d80546001600160a01b0319166001600160a01b0392909216919091179055305f90815260056020526040808220805460ff19908116600190811790925533845291909220805490911690911790556103026009600a610477565b610310906305f5e10061048c565b335f908152600760205260409020556103263390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61035d6009600a610477565b61036b906305f5e10061048c565b60405190815260200160405180910390a36104e8565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156103cf57815f19048211156103b5576103b5610381565b808516156103c257918102915b93841c939080029061039a565b509250929050565b5f826103e557506001610471565b816103f157505f610471565b816001811461040757600281146104115761042d565b6001915050610471565b60ff84111561042257610422610381565b50506001821b610471565b5060208310610133831016604e8410600b8410161715610450575081810a610471565b61045a8383610395565b805f190482111561046d5761046d610381565b0290505b92915050565b5f61048560ff8416836103d7565b9392505050565b808202811582820484141761047157610471610381565b5f826104bd57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156104d2575f80fd5b81516001600160a01b0381168114610485575f80fd5b61133a806104f55f395ff3fe60806040526004361061017e575f3560e01c8063751039fc116100cd578063a9059cbb11610087578063ca9ec19911610062578063ca9ec19914610456578063dd62ed3e1461046b578063e01af92c146104af578063fd72e22a146104ce575f80fd5b8063a9059cbb146103f9578063afa4f3b214610418578063c024666814610437575f80fd5b8063751039fc1461033757806382247ec01461034b5780638da5cb5b1461036057806395d89b4114610390578063962dfc75146103bb5780639c74daf0146103da575f80fd5b8063293230b81161013857806351bc3c851161011357806351bc3c85146102c257806360901444146102d657806370a08231146102ef578063715018a614610323575f80fd5b8063293230b81461027e578063313ce5671461029257806342a11095146102ad575f80fd5b806306fdde0314610189578063095ea7b3146101ce5780630b78f9c0146101fd57806318160ddd1461021e57806323b872dd1461024057806327a14fc21461025f575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5060408051808201909152600b81526a2732bab937aa32b739b7b960a91b60208201525b6040516101c59190610f0f565b60405180910390f35b3480156101d9575f80fd5b506101ed6101e8366004610f58565b6104ed565b60405190151581526020016101c5565b348015610208575f80fd5b5061021c610217366004610f82565b610503565b005b348015610229575f80fd5b506102326105c3565b6040519081526020016101c5565b34801561024b575f80fd5b506101ed61025a366004610fa2565b6105e3565b34801561026a575f80fd5b5061021c610279366004610fe0565b61064a565b348015610289575f80fd5b5061021c6106aa565b34801561029d575f80fd5b50604051600981526020016101c5565b3480156102b8575f80fd5b5061023260035481565b3480156102cd575f80fd5b5061021c6106e2565b3480156102e1575f80fd5b506008546101ed9060ff1681565b3480156102fa575f80fd5b50610232610309366004610ff7565b6001600160a01b03165f9081526007602052604090205490565b34801561032e575f80fd5b5061021c610733565b348015610342575f80fd5b5061021c6107a4565b348015610356575f80fd5b50610232600b5481565b34801561036b575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016101c5565b34801561039b575f80fd5b50604080518082019091526003815262272a2960e91b60208201526101b8565b3480156103c6575f80fd5b50600154610378906001600160a01b031681565b3480156103e5575f80fd5b50600d54610378906001600160a01b031681565b348015610404575f80fd5b506101ed610413366004610f58565b6107f5565b348015610423575f80fd5b5061021c610432366004610fe0565b610801565b348015610442575f80fd5b5061021c610451366004611026565b61082f565b348015610461575f80fd5b5061023260045481565b348015610476575f80fd5b50610232610485366004611059565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104ba575f80fd5b5061021c6104c9366004611090565b610882565b3480156104d9575f80fd5b50600254610378906001600160a01b031681565b5f6104f93384846108c9565b5060015b92915050565b5f546001600160a01b031633146105355760405162461bcd60e51b815260040161052c906110a9565b60405180910390fd5b60038290556004819055602382111561057f5760405162461bcd60e51b815260206004820152600c60248201526b4d617820333525206665657360a01b604482015260640161052c565b60238111156105bf5760405162461bcd60e51b815260206004820152600c60248201526b4d617820333525206665657360a01b604482015260640161052c565b5050565b5f6105d06009600a6111d2565b6105de906305f5e1006111e0565b905090565b5f6105ef848484610929565b610640843361063b856040518060600160405280602881526020016112dd602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610cd3565b6108c9565b5060019392505050565b5f546001600160a01b031633146106735760405162461bcd60e51b815260040161052c906110a9565b6101f46106826009600a6111d2565b610690906305f5e1006111e0565b61069a91906111f7565b8110156106a5575f80fd5b600b55565b5f546001600160a01b031633146106d35760405162461bcd60e51b815260040161052c906110a9565b6008805460ff19166001179055565b5f546001600160a01b0316331461070b5760405162461bcd60e51b815260040161052c906110a9565b305f90815260076020526040812054905061073061072b82600a54610d0b565b610d22565b50565b5f546001600160a01b0316331461075c5760405162461bcd60e51b815260040161052c906110a9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107cd5760405162461bcd60e51b815260040161052c906110a9565b6107d96009600a6111d2565b6107e7906305f5e1006111e0565b600b555f6003819055600455565b5f6104f9338484610929565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161052c906110a9565b600955565b5f546001600160a01b031633146108585760405162461bcd60e51b815260040161052c906110a9565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146108ab5760405162461bcd60e51b815260040161052c906110a9565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526005602052604081205460ff1615801561096957506001600160a01b0383165f9081526005602052604090205460ff16155b15610ba85760085460ff166109c05760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f74206265656e207374617274656420796574604482015260640161052c565b6064600354836109d091906111e0565b6109da91906111f7565b600d549091506001600160a01b03848116911614610a5e57600b5482610a14856001600160a01b03165f9081526007602052604090205490565b610a1e9190611216565b1115610a5e5760405162461bcd60e51b815260206004820152600f60248201526e13dd995c881b585e081dd85b1b195d608a1b604482015260640161052c565b600d546001600160a01b0390811690841603610ab657606460045483610a8491906111e0565b610a8e91906111f7565b9050610a9c6009600a6111d2565b610aaa906305f5e1006111e0565b60095410610ab6575f80fd5b600d546001600160a01b0390811690851603610b3857600b5482610aee856001600160a01b03165f9081526007602052604090205490565b610af89190611216565b1115610b385760405162461bcd60e51b815260206004820152600f60248201526e13dd995c881b585e081dd85b1b195d608a1b604482015260640161052c565b305f90815260076020526040902054600c5460ff16158015610b675750600d546001600160a01b038581169116145b8015610b7c5750600d54600160a01b900460ff165b8015610b89575060095481115b15610ba657610ba661072b84610ba184600a54610d0b565b610d0b565b505b8015610c2057305f90815260076020526040902054610bc79082610eb1565b305f81815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c179085815260200190565b60405180910390a35b6001600160a01b0384165f9081526007602052604081208054849290610c47908490611229565b90915550610c5790508183611229565b6001600160a01b0384165f9081526007602052604081208054909190610c7e908490611216565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cbc8486611229565b60405190815260200160405180910390a350505050565b5f8184841115610cf65760405162461bcd60e51b815260040161052c9190610f0f565b505f610d028486611229565b95945050505050565b5f818311610d195782610d1b565b815b9392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6257610d6261123c565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df79190611250565b81600181518110610e0a57610e0a61123c565b6001600160a01b039283166020918202929092010152600c54610e35913091610100900416846108c9565b600c5460015460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610e769287925f928892911690429060040161126b565b5f604051808303815f87803b158015610e8d575f80fd5b505af1158015610e9f573d5f803e3d5ffd5b5050600c805460ff1916905550505050565b5f80610ebd8385611216565b905083811015610d1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052c565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610730575f80fd5b5f8060408385031215610f69575f80fd5b8235610f7481610f44565b946020939093013593505050565b5f8060408385031215610f93575f80fd5b50508035926020909101359150565b5f805f60608486031215610fb4575f80fd5b8335610fbf81610f44565b92506020840135610fcf81610f44565b929592945050506040919091013590565b5f60208284031215610ff0575f80fd5b5035919050565b5f60208284031215611007575f80fd5b8135610d1b81610f44565b80358015158114611021575f80fd5b919050565b5f8060408385031215611037575f80fd5b823561104281610f44565b915061105060208401611012565b90509250929050565b5f806040838503121561106a575f80fd5b823561107581610f44565b9150602083013561108581610f44565b809150509250929050565b5f602082840312156110a0575f80fd5b610d1b82611012565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561112c57815f1904821115611112576111126110de565b8085161561111f57918102915b93841c93908002906110f7565b509250929050565b5f82611142575060016104fd565b8161114e57505f6104fd565b8160018114611164576002811461116e5761118a565b60019150506104fd565b60ff84111561117f5761117f6110de565b50506001821b6104fd565b5060208310610133831016604e8410600b84101617156111ad575081810a6104fd565b6111b783836110f2565b805f19048211156111ca576111ca6110de565b029392505050565b5f610d1b60ff841683611134565b80820281158282048414176104fd576104fd6110de565b5f8261121157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104fd576104fd6110de565b818103818111156104fd576104fd6110de565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611260575f80fd5b8151610d1b81610f44565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112bb5784516001600160a01b031683529383019391830191600101611296565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f356539e99ac239740aade5665be1c66fd437c1a895b9c87ad718656d2f89f0d64736f6c63430008190033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c8063751039fc116100cd578063a9059cbb11610087578063ca9ec19911610062578063ca9ec19914610456578063dd62ed3e1461046b578063e01af92c146104af578063fd72e22a146104ce575f80fd5b8063a9059cbb146103f9578063afa4f3b214610418578063c024666814610437575f80fd5b8063751039fc1461033757806382247ec01461034b5780638da5cb5b1461036057806395d89b4114610390578063962dfc75146103bb5780639c74daf0146103da575f80fd5b8063293230b81161013857806351bc3c851161011357806351bc3c85146102c257806360901444146102d657806370a08231146102ef578063715018a614610323575f80fd5b8063293230b81461027e578063313ce5671461029257806342a11095146102ad575f80fd5b806306fdde0314610189578063095ea7b3146101ce5780630b78f9c0146101fd57806318160ddd1461021e57806323b872dd1461024057806327a14fc21461025f575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5060408051808201909152600b81526a2732bab937aa32b739b7b960a91b60208201525b6040516101c59190610f0f565b60405180910390f35b3480156101d9575f80fd5b506101ed6101e8366004610f58565b6104ed565b60405190151581526020016101c5565b348015610208575f80fd5b5061021c610217366004610f82565b610503565b005b348015610229575f80fd5b506102326105c3565b6040519081526020016101c5565b34801561024b575f80fd5b506101ed61025a366004610fa2565b6105e3565b34801561026a575f80fd5b5061021c610279366004610fe0565b61064a565b348015610289575f80fd5b5061021c6106aa565b34801561029d575f80fd5b50604051600981526020016101c5565b3480156102b8575f80fd5b5061023260035481565b3480156102cd575f80fd5b5061021c6106e2565b3480156102e1575f80fd5b506008546101ed9060ff1681565b3480156102fa575f80fd5b50610232610309366004610ff7565b6001600160a01b03165f9081526007602052604090205490565b34801561032e575f80fd5b5061021c610733565b348015610342575f80fd5b5061021c6107a4565b348015610356575f80fd5b50610232600b5481565b34801561036b575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016101c5565b34801561039b575f80fd5b50604080518082019091526003815262272a2960e91b60208201526101b8565b3480156103c6575f80fd5b50600154610378906001600160a01b031681565b3480156103e5575f80fd5b50600d54610378906001600160a01b031681565b348015610404575f80fd5b506101ed610413366004610f58565b6107f5565b348015610423575f80fd5b5061021c610432366004610fe0565b610801565b348015610442575f80fd5b5061021c610451366004611026565b61082f565b348015610461575f80fd5b5061023260045481565b348015610476575f80fd5b50610232610485366004611059565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156104ba575f80fd5b5061021c6104c9366004611090565b610882565b3480156104d9575f80fd5b50600254610378906001600160a01b031681565b5f6104f93384846108c9565b5060015b92915050565b5f546001600160a01b031633146105355760405162461bcd60e51b815260040161052c906110a9565b60405180910390fd5b60038290556004819055602382111561057f5760405162461bcd60e51b815260206004820152600c60248201526b4d617820333525206665657360a01b604482015260640161052c565b60238111156105bf5760405162461bcd60e51b815260206004820152600c60248201526b4d617820333525206665657360a01b604482015260640161052c565b5050565b5f6105d06009600a6111d2565b6105de906305f5e1006111e0565b905090565b5f6105ef848484610929565b610640843361063b856040518060600160405280602881526020016112dd602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190610cd3565b6108c9565b5060019392505050565b5f546001600160a01b031633146106735760405162461bcd60e51b815260040161052c906110a9565b6101f46106826009600a6111d2565b610690906305f5e1006111e0565b61069a91906111f7565b8110156106a5575f80fd5b600b55565b5f546001600160a01b031633146106d35760405162461bcd60e51b815260040161052c906110a9565b6008805460ff19166001179055565b5f546001600160a01b0316331461070b5760405162461bcd60e51b815260040161052c906110a9565b305f90815260076020526040812054905061073061072b82600a54610d0b565b610d22565b50565b5f546001600160a01b0316331461075c5760405162461bcd60e51b815260040161052c906110a9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107cd5760405162461bcd60e51b815260040161052c906110a9565b6107d96009600a6111d2565b6107e7906305f5e1006111e0565b600b555f6003819055600455565b5f6104f9338484610929565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161052c906110a9565b600955565b5f546001600160a01b031633146108585760405162461bcd60e51b815260040161052c906110a9565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146108ab5760405162461bcd60e51b815260040161052c906110a9565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526005602052604081205460ff1615801561096957506001600160a01b0383165f9081526005602052604090205460ff16155b15610ba85760085460ff166109c05760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f74206265656e207374617274656420796574604482015260640161052c565b6064600354836109d091906111e0565b6109da91906111f7565b600d549091506001600160a01b03848116911614610a5e57600b5482610a14856001600160a01b03165f9081526007602052604090205490565b610a1e9190611216565b1115610a5e5760405162461bcd60e51b815260206004820152600f60248201526e13dd995c881b585e081dd85b1b195d608a1b604482015260640161052c565b600d546001600160a01b0390811690841603610ab657606460045483610a8491906111e0565b610a8e91906111f7565b9050610a9c6009600a6111d2565b610aaa906305f5e1006111e0565b60095410610ab6575f80fd5b600d546001600160a01b0390811690851603610b3857600b5482610aee856001600160a01b03165f9081526007602052604090205490565b610af89190611216565b1115610b385760405162461bcd60e51b815260206004820152600f60248201526e13dd995c881b585e081dd85b1b195d608a1b604482015260640161052c565b305f90815260076020526040902054600c5460ff16158015610b675750600d546001600160a01b038581169116145b8015610b7c5750600d54600160a01b900460ff165b8015610b89575060095481115b15610ba657610ba661072b84610ba184600a54610d0b565b610d0b565b505b8015610c2057305f90815260076020526040902054610bc79082610eb1565b305f81815260076020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c179085815260200190565b60405180910390a35b6001600160a01b0384165f9081526007602052604081208054849290610c47908490611229565b90915550610c5790508183611229565b6001600160a01b0384165f9081526007602052604081208054909190610c7e908490611216565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cbc8486611229565b60405190815260200160405180910390a350505050565b5f8184841115610cf65760405162461bcd60e51b815260040161052c9190610f0f565b505f610d028486611229565b95945050505050565b5f818311610d195782610d1b565b815b9392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6257610d6261123c565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df79190611250565b81600181518110610e0a57610e0a61123c565b6001600160a01b039283166020918202929092010152600c54610e35913091610100900416846108c9565b600c5460015460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610e769287925f928892911690429060040161126b565b5f604051808303815f87803b158015610e8d575f80fd5b505af1158015610e9f573d5f803e3d5ffd5b5050600c805460ff1916905550505050565b5f80610ebd8385611216565b905083811015610d1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052c565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610730575f80fd5b5f8060408385031215610f69575f80fd5b8235610f7481610f44565b946020939093013593505050565b5f8060408385031215610f93575f80fd5b50508035926020909101359150565b5f805f60608486031215610fb4575f80fd5b8335610fbf81610f44565b92506020840135610fcf81610f44565b929592945050506040919091013590565b5f60208284031215610ff0575f80fd5b5035919050565b5f60208284031215611007575f80fd5b8135610d1b81610f44565b80358015158114611021575f80fd5b919050565b5f8060408385031215611037575f80fd5b823561104281610f44565b915061105060208401611012565b90509250929050565b5f806040838503121561106a575f80fd5b823561107581610f44565b9150602083013561108581610f44565b809150509250929050565b5f602082840312156110a0575f80fd5b610d1b82611012565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561112c57815f1904821115611112576111126110de565b8085161561111f57918102915b93841c93908002906110f7565b509250929050565b5f82611142575060016104fd565b8161114e57505f6104fd565b8160018114611164576002811461116e5761118a565b60019150506104fd565b60ff84111561117f5761117f6110de565b50506001821b6104fd565b5060208310610133831016604e8410600b84101617156111ad575081810a6104fd565b6111b783836110f2565b805f19048211156111ca576111ca6110de565b029392505050565b5f610d1b60ff841683611134565b80820281158282048414176104fd576104fd6110de565b5f8261121157634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104fd576104fd6110de565b818103818111156104fd576104fd6110de565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611260575f80fd5b8151610d1b81610f44565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112bb5784516001600160a01b031683529383019391830191600101611296565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f356539e99ac239740aade5665be1c66fd437c1a895b9c87ad718656d2f89f0d64736f6c63430008190033

Deployed Bytecode Sourcemap

4674:6287:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6313:83;;;;;;;;;;-1:-1:-1;6383:5:0;;;;;;;;;;;;-1:-1:-1;;;6383:5:0;;;;6313:83;;;;;;;:::i;:::-;;;;;;;;7146:161;;;;;;;;;;-1:-1:-1;7146:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7146:161:0;893:187:1;10412:243:0;;;;;;;;;;-1:-1:-1;10412:243:0;;;;;:::i;:::-;;:::i;:::-;;6590:95;;;;;;;;;;;;;:::i;:::-;;;1484:25:1;;;1472:2;1457:18;6590:95:0;1338:177:1;7315:313:0;;;;;;;;;;-1:-1:-1;7315:313:0;;;;;:::i;:::-;;:::i;10042:141::-;;;;;;;;;;-1:-1:-1;10042:141:0;;;;;:::i;:::-;;:::i;9771:80::-;;;;;;;;;;;;;:::i;6499:83::-;;;;;;;;;;-1:-1:-1;6499:83:0;;4798:1;2308:36:1;;2296:2;2281:18;6499:83:0;2166:184:1;4969:27:0;;;;;;;;;;;;;;;;9859:171;;;;;;;;;;;;;:::i;5224:23::-;;;;;;;;;;-1:-1:-1;5224:23:0;;;;;;;;6693:119;;;;;;;;;;-1:-1:-1;6693:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6786:18:0;6759:7;6786:18;;;:9;:18;;;;;;;6693:119;3755:148;;;;;;;;;;;;;:::i;10663:123::-;;;;;;;;;;;;;:::i;5362:40::-;;;;;;;;;;;;;;;;3541:79;;;;;;;;;;-1:-1:-1;3579:7:0;3606:6;-1:-1:-1;;;;;3606:6:0;3541:79;;;-1:-1:-1;;;;;2771:32:1;;;2753:51;;2741:2;2726:18;3541:79:0;2607:203:1;6404:87:0;;;;;;;;;;-1:-1:-1;6476:7:0;;;;;;;;;;;;-1:-1:-1;;;6476:7:0;;;;6404:87;;4877:39;;;;;;;;;;-1:-1:-1;4877:39:0;;;;-1:-1:-1;;;;;4877:39:0;;;5590:29;;;;;;;;;;-1:-1:-1;5590:29:0;;;;-1:-1:-1;;;;;5590:29:0;;;6820:167;;;;;;;;;;-1:-1:-1;6820:167:0;;;;;:::i;:::-;;:::i;10294:110::-;;;;;;;;;;-1:-1:-1;10294:110:0;;;;;:::i;:::-;;:::i;10794:127::-;;;;;;;;;;-1:-1:-1;10794:127:0;;;;;:::i;:::-;;:::i;5003:28::-;;;;;;;;;;;;;;;;6995:143;;;;;;;;;;-1:-1:-1;6995:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7103:18:0;;;7076:7;7103:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6995:143;10191:95;;;;;;;;;;-1:-1:-1;10191:95:0;;;;;:::i;:::-;;:::i;4923:39::-;;;;;;;;;;-1:-1:-1;4923:39:0;;;;-1:-1:-1;;;;;4923:39:0;;;7146:161;7221:4;7238:39;1376:10;7261:7;7270:6;7238:8;:39::i;:::-;-1:-1:-1;7295:4:0;7146:161;;;;;:::o;10412:243::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;;;;;;;;;10492:7:::1;:19:::0;;;10522:8:::1;:22:::0;;;10576:2:::1;10563:15:::0;::::1;;10555:40;;;::::0;-1:-1:-1;;;10555:40:0;;4665:2:1;10555:40:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;-1:-1:-1;;;4723:18:1;;;4716:42;4775:18;;10555:40:0::1;4463:336:1::0;10555:40:0::1;10628:2;10614:10;:16;;10606:41;;;::::0;-1:-1:-1;;;10606:41:0;;4665:2:1;10606:41:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;-1:-1:-1;;;4723:18:1;;;4716:42;4775:18;;10606:41:0::1;4463:336:1::0;10606:41:0::1;10412:243:::0;;:::o;6590:95::-;6643:7;4855:15;4798:1;4855:2;:15;:::i;:::-;4841:29;;:11;:29;:::i;:::-;6663:14;;6590:95;:::o;7315:313::-;7413:4;7430:36;7440:6;7448:9;7459:6;7430:9;:36::i;:::-;7477:121;7486:6;1376:10;7508:89;7546:6;7508:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7508:19:0;;;;;;:11;:19;;;;;;;;1376:10;7508:33;;;;;;;;;;:37;:89::i;:::-;7477:8;:121::i;:::-;-1:-1:-1;7616:4:0;7315:313;;;;;:::o;10042:141::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;10141:3:::1;4855:15;4798:1;4855:2;:15;:::i;:::-;4841:29;::::0;:11:::1;:29;:::i;:::-;10131:13;;;;:::i;:::-;10121:6;:23;;10113:32;;;::::0;::::1;;10156:10;:19:::0;10042:141::o;9771:80::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;9825:11:::1;:18:::0;;-1:-1:-1;;9825:18:0::1;9839:4;9825:18;::::0;;9771:80::o;9859:171::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;9955:4:::1;9911:23;6786:18:::0;;;:9;:18;;;;;;9911:50:::1;;9972;9989:32;9993:15;10009:11;;9989:3;:32::i;:::-;9972:16;:50::i;:::-;9900:130;9859:171::o:0;3755:148::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;3862:1:::1;3846:6:::0;;3825:40:::1;::::0;-1:-1:-1;;;;;3846:6:0;;::::1;::::0;3825:40:::1;::::0;3862:1;;3825:40:::1;3893:1;3876:19:::0;;-1:-1:-1;;;;;;3876:19:0::1;::::0;;3755:148::o;10663:123::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;4855:15:::1;4798:1;4855:2;:15;:::i;:::-;4841:29;::::0;:11:::1;:29;:::i;:::-;10717:10;:20:::0;10756:1:::1;10748:7;:9:::0;;;10768:8:::1;:10:::0;10663:123::o;6820:167::-;6898:4;6915:42;1376:10;6939:9;6950:6;6915:9;:42::i;10294:110::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;10368:19:::1;:28:::0;10294:110::o;10794:127::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10879:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:34;;-1:-1:-1;;10879:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10794:127::o;10191:95::-;3668:6;;-1:-1:-1;;;;;3668:6:0;1376:10;3668:22;3660:67;;;;-1:-1:-1;;;3660:67:0;;;;;;;:::i;:::-;10258:11:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;10258:20:0::1;-1:-1:-1::0;;;;10258:20:0;;::::1;::::0;;;::::1;::::0;;10191:95::o;7636:177::-;-1:-1:-1;;;;;7721:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7773:32;;1484:25:1;;;7773:32:0;;1457:18:1;7773:32:0;;;;;;;7636:177;;;:::o;7821:1342::-;-1:-1:-1;;;;;7936:22:0;;7901:17;7936:22;;;:16;:22;;;;;;;;7935:23;:48;;;;-1:-1:-1;;;;;;7963:20:0;;;;;;:16;:20;;;;;;;;7962:21;7935:48;7931:908;;;8008:11;;;;8000:56;;;;-1:-1:-1;;;8000:56:0;;6910:2:1;8000:56:0;;;6892:21:1;;;6929:18;;;6922:30;6988:34;6968:18;;;6961:62;7040:18;;8000:56:0;6708:356:1;8000:56:0;8104:3;8094:7;;8085:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;8134:14;;8073:34;;-1:-1:-1;;;;;;8128:20:0;;;8134:14;;8128:20;8124:125;;8203:10;;8193:6;8177:13;8187:2;-1:-1:-1;;;;;6786:18:0;6759:7;6786:18;;;:9;:18;;;;;;;6693:119;8177:13;:22;;;;:::i;:::-;:36;;8169:64;;;;-1:-1:-1;;;8169:64:0;;7401:2:1;8169:64:0;;;7383:21:1;7440:2;7420:18;;;7413:30;-1:-1:-1;;;7459:18:1;;;7452:45;7514:18;;8169:64:0;7199:339:1;8169:64:0;8274:14;;-1:-1:-1;;;;;8274:14:0;;;8268:20;;;;8265:151;;8340:3;8329:8;;8320:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;8308:35;-1:-1:-1;4855:15:0;4798:1;4855:2;:15;:::i;:::-;4841:29;;:11;:29;:::i;:::-;8370:19;;:29;8362:38;;;;;;8444:14;;-1:-1:-1;;;;;8444:14:0;;;8436:22;;;;8432:127;;8513:10;;8503:6;8487:13;8497:2;-1:-1:-1;;;;;6786:18:0;6759:7;6786:18;;;:9;:18;;;;;;;6693:119;8487:13;:22;;;;:::i;:::-;:36;;8479:64;;;;-1:-1:-1;;;8479:64:0;;7401:2:1;8479:64:0;;;7383:21:1;7440:2;7420:18;;;7413:30;-1:-1:-1;;;7459:18:1;;;7452:45;7514:18;;8479:64:0;7199:339:1;8479:64:0;8619:4;8575:23;6786:18;;;:9;:18;;;;;;8645:6;;;;8644:7;:31;;;;-1:-1:-1;8661:14:0;;-1:-1:-1;;;;;8655:20:0;;;8661:14;;8655:20;8644:31;:46;;;;-1:-1:-1;8679:11:0;;-1:-1:-1;;;8679:11:0;;;;8644:46;:85;;;;;8710:19;;8694:15;:35;8644:85;8640:188;;;8750:62;8767:44;8771:6;8778:32;8782:15;8798:11;;8778:3;:32::i;:::-;8767:3;:44::i;8750:62::-;7985:854;7931:908;8854:13;;8851:165;;8926:4;8908:24;;;;:9;:24;;;;;;:39;;8937:9;8908:28;:39::i;:::-;8899:4;8881:24;;;;:9;:24;;;;;;;:66;;;;8965:39;;-1:-1:-1;;;;;8965:39:0;;;;;;;8994:9;1484:25:1;;1472:2;1457:18;;1338:177;8965:39:0;;;;;;;;8851:165;-1:-1:-1;;;;;9026:15:0;;;;;;:9;:15;;;;;:27;;9046:6;;9026:15;:27;;9046:6;;9026:27;:::i;:::-;;;;-1:-1:-1;9081:18:0;;-1:-1:-1;9090:9:0;9081:6;:18;:::i;:::-;-1:-1:-1;;;;;9064:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9115:40:0;;;;;;;9134:20;9144:9;9134:6;:20;:::i;:::-;9115:40;;1484:25:1;;;1472:2;1457:18;9115:40:0;;;;;;;7890:1273;7821:1342;;;:::o;2433:190::-;2519:7;2555:12;2547:6;;;;2539:29;;;;-1:-1:-1;;;2539:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2579:9:0;2591:5;2595:1;2591;:5;:::i;:::-;2579:17;2433:190;-1:-1:-1;;;;;2433:190:0:o;9171:98::-;9228:7;9255:1;9253;:3;9252:9;;9260:1;9252:9;;;9258:1;9252:9;9245:16;9171:98;-1:-1:-1;;;9171:98:0:o;9277:486::-;5696:6;:13;;-1:-1:-1;;5696:13:0;5705:4;5696:13;;;9379:16:::1;::::0;;9393:1:::1;9379:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9379:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9379:16:0::1;9355:40;;9424:4;9406;9411:1;9406:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9406:23:0::1;;;-1:-1:-1::0;;;;;9406:23:0::1;;;::::0;::::1;9450:15;;;;;;;;;-1:-1:-1::0;;;;;9450:15:0::1;-1:-1:-1::0;;;;;9450:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9440:4;9445:1;9440:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9440:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9515:15:::1;::::0;9483:62:::1;::::0;9500:4:::1;::::0;9515:15:::1;::::0;::::1;;9533:11:::0;9483:8:::1;:62::i;:::-;9556:15;::::0;::::1;9698:16:::0;9556:199:::1;::::0;-1:-1:-1;;;9556:199:0;;-1:-1:-1;;;;;9556:15:0::1;::::0;;::::1;::::0;::::1;::::0;:66:::1;::::0;:199:::1;::::0;9637:11;;9663:1:::1;::::0;9679:4;;9698:16;::::1;::::0;9729:15:::1;::::0;9556:199:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5732:6:0;:14;;-1:-1:-1;;5732:14:0;;;-1:-1:-1;;;;9277:486:0:o;2102:179::-;2160:7;;2192:5;2196:1;2192;:5;:::i;:::-;2180:17;;2221:1;2216;:6;;2208:46;;;;-1:-1:-1;;;2208:46:0;;9391:2:1;2208:46:0;;;9373:21:1;9430:2;9410:18;;;9403:30;9469:29;9449:18;;;9442:57;9516:18;;2208:46:0;9189:351:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1085:248::-;1153:6;1161;1214:2;1202:9;1193:7;1189:23;1185:32;1182:52;;;1230:1;1227;1220:12;1182:52;-1:-1:-1;;1253:23:1;;;1323:2;1308:18;;;1295:32;;-1:-1:-1;1085:248:1:o;1520:456::-;1597:6;1605;1613;1666:2;1654:9;1645:7;1641:23;1637:32;1634:52;;;1682:1;1679;1672:12;1634:52;1721:9;1708:23;1740:31;1765:5;1740:31;:::i;:::-;1790:5;-1:-1:-1;1847:2:1;1832:18;;1819:32;1860:33;1819:32;1860:33;:::i;:::-;1520:456;;1912:7;;-1:-1:-1;;;1966:2:1;1951:18;;;;1938:32;;1520:456::o;1981:180::-;2040:6;2093:2;2081:9;2072:7;2068:23;2064:32;2061:52;;;2109:1;2106;2099:12;2061:52;-1:-1:-1;2132:23:1;;1981:180;-1:-1:-1;1981:180:1:o;2355:247::-;2414:6;2467:2;2455:9;2446:7;2442:23;2438:32;2435:52;;;2483:1;2480;2473:12;2435:52;2522:9;2509:23;2541:31;2566:5;2541:31;:::i;3039:160::-;3104:20;;3160:13;;3153:21;3143:32;;3133:60;;3189:1;3186;3179:12;3133:60;3039:160;;;:::o;3204:315::-;3269:6;3277;3330:2;3318:9;3309:7;3305:23;3301:32;3298:52;;;3346:1;3343;3336:12;3298:52;3385:9;3372:23;3404:31;3429:5;3404:31;:::i;:::-;3454:5;-1:-1:-1;3478:35:1;3509:2;3494:18;;3478:35;:::i;:::-;3468:45;;3204:315;;;;;:::o;3524:388::-;3592:6;3600;3653:2;3641:9;3632:7;3628:23;3624:32;3621:52;;;3669:1;3666;3659:12;3621:52;3708:9;3695:23;3727:31;3752:5;3727:31;:::i;:::-;3777:5;-1:-1:-1;3834:2:1;3819:18;;3806:32;3847:33;3806:32;3847:33;:::i;:::-;3899:7;3889:17;;;3524:388;;;;;:::o;3917:180::-;3973:6;4026:2;4014:9;4005:7;4001:23;3997:32;3994:52;;;4042:1;4039;4032:12;3994:52;4065:26;4081:9;4065:26;:::i;4102:356::-;4304:2;4286:21;;;4323:18;;;4316:30;4382:34;4377:2;4362:18;;4355:62;4449:2;4434:18;;4102:356::o;4804:127::-;4865:10;4860:3;4856:20;4853:1;4846:31;4896:4;4893:1;4886:15;4920:4;4917:1;4910:15;4936:416;5025:1;5062:5;5025:1;5076:270;5097:7;5087:8;5084:21;5076:270;;;5156:4;5152:1;5148:6;5144:17;5138:4;5135:27;5132:53;;;5165:18;;:::i;:::-;5215:7;5205:8;5201:22;5198:55;;;5235:16;;;;5198:55;5314:22;;;;5274:15;;;;5076:270;;;5080:3;4936:416;;;;;:::o;5357:806::-;5406:5;5436:8;5426:80;;-1:-1:-1;5477:1:1;5491:5;;5426:80;5525:4;5515:76;;-1:-1:-1;5562:1:1;5576:5;;5515:76;5607:4;5625:1;5620:59;;;;5693:1;5688:130;;;;5600:218;;5620:59;5650:1;5641:10;;5664:5;;;5688:130;5725:3;5715:8;5712:17;5709:43;;;5732:18;;:::i;:::-;-1:-1:-1;;5788:1:1;5774:16;;5803:5;;5600:218;;5902:2;5892:8;5889:16;5883:3;5877:4;5874:13;5870:36;5864:2;5854:8;5851:16;5846:2;5840:4;5837:12;5833:35;5830:77;5827:159;;;-1:-1:-1;5939:19:1;;;5971:5;;5827:159;6018:34;6043:8;6037:4;6018:34;:::i;:::-;6088:6;6084:1;6080:6;6076:19;6067:7;6064:32;6061:58;;;6099:18;;:::i;:::-;6137:20;;5357:806;-1:-1:-1;;;5357:806:1:o;6168:140::-;6226:5;6255:47;6296:4;6286:8;6282:19;6276:4;6255:47;:::i;6313:168::-;6386:9;;;6417;;6434:15;;;6428:22;;6414:37;6404:71;;6455:18;;:::i;6486:217::-;6526:1;6552;6542:132;;6596:10;6591:3;6587:20;6584:1;6577:31;6631:4;6628:1;6621:15;6659:4;6656:1;6649:15;6542:132;-1:-1:-1;6688:9:1;;6486:217::o;7069:125::-;7134:9;;;7155:10;;;7152:36;;;7168:18;;:::i;7543:128::-;7610:9;;;7631:11;;;7628:37;;;7645:18;;:::i;7808:127::-;7869:10;7864:3;7860:20;7857:1;7850:31;7900:4;7897:1;7890:15;7924:4;7921:1;7914:15;7940:251;8010:6;8063:2;8051:9;8042:7;8038:23;8034:32;8031:52;;;8079:1;8076;8069:12;8031:52;8111:9;8105:16;8130:31;8155:5;8130:31;:::i;8196:988::-;8466:4;8514:3;8503:9;8499:19;8545:6;8534:9;8527:25;8571:2;8609:6;8604:2;8593:9;8589:18;8582:34;8652:3;8647:2;8636:9;8632:18;8625:31;8676:6;8711;8705:13;8742:6;8734;8727:22;8780:3;8769:9;8765:19;8758:26;;8819:2;8811:6;8807:15;8793:29;;8840:1;8850:195;8864:6;8861:1;8858:13;8850:195;;;8929:13;;-1:-1:-1;;;;;8925:39:1;8913:52;;9020:15;;;;8985:12;;;;8961:1;8879:9;8850:195;;;-1:-1:-1;;;;;;;9101:32:1;;;;9096:2;9081:18;;9074:60;-1:-1:-1;;;9165:3:1;9150:19;9143:35;9062:3;8196:988;-1:-1:-1;;;8196:988:1:o

Swarm Source

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