ETH Price: $3,387.64 (-1.66%)
Gas: 4 Gwei

Token

EtherText (ECHAT)
 

Overview

Max Total Supply

1,000,000,000 ECHAT

Holders

107

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
429,403,831.079133869 ECHAT

Value
$0.00
0x13ce24107c2aae8c47895d6df516944f40ef5579
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:
ECHAT

Compiler Version
v0.7.5+commit.eb77ed08

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

/**
Bridging the communication gap between blockchain and telegram users. Revolutionary Telegram Bot with instant messaging to any wallet address via IVM.

Website: https://www.etherchat.pro/
Telegram: https://t.me/ether_text
Twitter:  https://twitter.com/ether_text
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.7.5;

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

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

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

interface IUniswapRouterV2 {
    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 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);
    }
}


contract ECHAT is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "EtherText";
    string private constant _symbol = "ECHAT";

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 10 ** 9 * 10**_decimals;

    IUniswapRouterV2 private uniRouter;
    address private pairAddr;
    bool private tradingStarted;

    bool private swapping = false;
    bool private swapEnabled = false;
    address payable private feeWallet = payable(0xB165E2Ffc7D7F7bc7c455B1b93f62987783341d1);
    uint256 launchBlock;

    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _preventSwapBefore=16;
    uint256 private _initialBuyTax=16;
    uint256 private _initialSellTax=16;
    uint256 private _reduceBuyTaxAt=16;
    uint256 private _reduceSellTaxAt=16;
    uint256 private numBuyers=0;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isSpecial;
    
    uint256 public feeSwapThreshold = 0 * 10**_decimals;
    uint256 public feeSwapLimit = 1 * 10 ** 7 * 10**_decimals;
    uint256 public mTransaction = 30 * 10 ** 6 * 10**_decimals;
    uint256 public mWalletSize = 30 * 10 ** 6 * 10**_decimals;

    event MaxTxAmountUpdated(uint mTransaction);
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor () {
        _balances[_msgSender()] = _totalSupply;
        isSpecial[owner()] = true;
        isSpecial[feeWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

    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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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

    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 sendETHToFee(uint256 amount) private {
        feeWallet.transfer(amount);
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = isSpecial[to] ? 1 : amount.mul((numBuyers>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == pairAddr && to != address(uniRouter) && ! isSpecial[to] ) {
                require(amount <= mTransaction, "Exceeds the mTransaction.");
                require(balanceOf(to) + amount <= mWalletSize, "Exceeds the mWalletSize.");

                if (launchBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                numBuyers++;
            }

            if (to != pairAddr && ! isSpecial[to]) {
                require(balanceOf(to) + amount <= mWalletSize, "Exceeds the mWalletSize.");
            }

            if(to == pairAddr && from!= address(this) ){
                taxAmount = amount.mul((numBuyers>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!swapping && to   == pairAddr && swapEnabled && contractTokenBalance>feeSwapThreshold && numBuyers>_preventSwapBefore && !isSpecial[from]) {
                swapTokensForEth(min(amount,min(contractTokenBalance,feeSwapLimit)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    function openTrading() external onlyOwner() {
        require(!tradingStarted,"trading is already open");
        uniRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniRouter), _totalSupply);
        pairAddr = IUniswapFactoryV2(uniRouter.factory()).createPair(address(this), uniRouter.WETH());
        uniRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(pairAddr).approve(address(uniRouter), type(uint).max);
        swapEnabled = true;
        tradingStarted = true;
        launchBlock = block.number;
    }

    function removeLimits() external onlyOwner{
        mTransaction = _totalSupply;
        mWalletSize=_totalSupply;
        emit MaxTxAmountUpdated(_totalSupply);
    }

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

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    receive() external payable {}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"mTransaction","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"}]

60806040526002805461ffff60a81b19169055600380546001600160a01b03191673b165e2ffc7d7f7bc7c455b1b93f62987783341d1179055600160058190556006556010600781905560088190556009819055600a819055600b8190556000600c8190559055662386f26fc10000601155666a94d74f430000601281905560135534801561008d57600080fd5b5060006100986101cf565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350670de0b6b3a7640000600d60006100f76101cf565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600f600061012f6101d360201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556003549091168152600f90925290208054909116600117905561017e6101cf565b60408051670de0b6b3a7640000815290516001600160a01b0392909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a36101e2565b3390565b6000546001600160a01b031690565b61166a80620001f26000396000f3fe6080604052600436106101025760003560e01c806370a082311161009557806395d89b411161006457806395d89b4114610349578063a9059cbb1461035e578063c9567bf914610397578063dd62ed3e146103ac578063de287071146103e757610109565b806370a08231146102b9578063715018a6146102ec578063751039fc146103035780638da5cb5b1461031857610109565b8063288db683116100d1578063288db6831461024f578063313ce567146102645780634f3ff0991461028f5780635acb6bb5146102a457610109565b806306fdde031461010e578063095ea7b31461019857806318160ddd146101e557806323b872dd1461020c57610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103fc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a457600080fd5b506101d1600480360360408110156101bb57600080fd5b506001600160a01b03813516906020013561041f565b604080519115158252519081900360200190f35b3480156101f157600080fd5b506101fa61043d565b60408051918252519081900360200190f35b34801561021857600080fd5b506101d16004803603606081101561022f57600080fd5b506001600160a01b03813581169160208101359091169060400135610449565b34801561025b57600080fd5b506101fa6104d0565b34801561027057600080fd5b506102796104d6565b6040805160ff9092168252519081900360200190f35b34801561029b57600080fd5b506101fa6104db565b3480156102b057600080fd5b506101fa6104e1565b3480156102c557600080fd5b506101fa600480360360208110156102dc57600080fd5b50356001600160a01b03166104e7565b3480156102f857600080fd5b50610301610502565b005b34801561030f57600080fd5b506103016105b6565b34801561032457600080fd5b5061032d610667565b604080516001600160a01b039092168252519081900360200190f35b34801561035557600080fd5b50610123610676565b34801561036a57600080fd5b506101d16004803603604081101561038157600080fd5b506001600160a01b038135169060200135610695565b3480156103a357600080fd5b506103016106a9565b3480156103b857600080fd5b506101fa600480360360408110156103cf57600080fd5b506001600160a01b0381358116916020013516610aaa565b3480156103f357600080fd5b506101fa610ad5565b604080518082019091526009815268115d1a195c95195e1d60ba1b602082015290565b600061043361042c610adb565b8484610adf565b5060015b92915050565b670de0b6b3a764000090565b6000610456848484610bcb565b6104c684610462610adb565b6104c1856040518060600160405280602881526020016115c4602891396001600160a01b038a166000908152600e60205260408120906104a0610adb565b6001600160a01b0316815260208101919091526040016000205491906110fc565b610adf565b5060019392505050565b60115481565b600990565b60125481565b60135481565b6001600160a01b03166000908152600d602052604090205490565b61050a610adb565b6000546001600160a01b0390811691161461056c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6105be610adb565b6000546001600160a01b03908116911614610620576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b670de0b6b3a76400006012819055601381905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a1565b6000546001600160a01b031690565b6040805180820190915260058152641150d2105560da1b602082015290565b60006104336106a2610adb565b8484610bcb565b6106b1610adb565b6000546001600160a01b03908116911614610713576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600254600160a01b900460ff1615610772576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107b79030906001600160a01b0316670de0b6b3a7640000610adf565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080557600080fd5b505afa158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051600154604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d60208110156108ab57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b505050506040513d602081101561092757600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556001541663f305d7194730610959816104e7565b600080610964610667565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b1580156109cf57600080fd5b505af11580156109e3573d6000803e3d6000fd5b50505050506040513d60608110156109fa57600080fd5b50506002546001546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50506002805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b17905543600455565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b60105481565b3390565b6001600160a01b038316610b245760405162461bcd60e51b81526004018080602001828103825260248152602001806116116024913960400191505060405180910390fd5b6001600160a01b038216610b695760405162461bcd60e51b81526004018080602001828103825260228152602001806115816022913960400191505060405180910390fd5b6001600160a01b038084166000818152600e6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c105760405162461bcd60e51b81526004018080602001828103825260258152602001806115ec6025913960400191505060405180910390fd5b6001600160a01b038216610c555760405162461bcd60e51b815260040180806020018281038252602381526020018061155e6023913960400191505060405180910390fd5b6000610c5f610667565b6001600160a01b0316846001600160a01b031614158015610c995750610c83610667565b6001600160a01b0316836001600160a01b031614155b15610fd3576001600160a01b0383166000908152600f602052604090205460ff16610cef57610cea6064610ce4600a54600c5411610cd957600854610cdd565b6005545b8590611193565b906111f3565b610cf2565b60015b6002549091506001600160a01b038581169116148015610d2057506001546001600160a01b03848116911614155b8015610d4557506001600160a01b0383166000908152600f602052604090205460ff16155b15610e2757601254821115610da1576040805162461bcd60e51b815260206004820152601960248201527f4578636565647320746865206d5472616e73616374696f6e2e00000000000000604482015290519081900360640190fd5b60135482610dae856104e7565b011115610dfd576040805162461bcd60e51b815260206004820152601860248201527722bc31b2b2b239903a34329036abb0b63632ba29b4bd329760411b604482015290519081900360640190fd5b436004546003011115610e1d57610e1383611235565b15610e1d57600080fd5b600c805460010190555b6002546001600160a01b03848116911614801590610e5e57506001600160a01b0383166000908152600f602052604090205460ff16155b15610ebf5760135482610e70856104e7565b011115610ebf576040805162461bcd60e51b815260206004820152601860248201527722bc31b2b2b239903a34329036abb0b63632ba29b4bd329760411b604482015290519081900360640190fd5b6002546001600160a01b038481169116148015610ee557506001600160a01b0384163014155b15610f1257610f0f6064610ce4600b54600c5411610f0557600954610cdd565b6006548590611193565b90505b6000610f1d306104e7565b600254909150600160a81b900460ff16158015610f4757506002546001600160a01b038581169116145b8015610f5c5750600254600160b01b900460ff165b8015610f69575060105481115b8015610f785750600754600c54115b8015610f9d57506001600160a01b0385166000908152600f602052604090205460ff16155b15610fd157610fbf610fba84610fb58460115461123b565b61123b565b611250565b478015610fcf57610fcf4761141e565b505b505b801561104957306000908152600d6020526040902054610ff3908261145c565b306000818152600d6020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b6001600160a01b0384166000908152600d602052604090205461106c90836114b6565b6001600160a01b038086166000908152600d6020526040808220939093559085168152205461109d9082840361145c565b6001600160a01b038085166000818152600d6020908152604091829020949094558051858703815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6000818484111561118b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611150578181015183820152602001611138565b50505050905090810190601f16801561117d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826111a257506000610437565b828202828482816111af57fe5b04146111ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806115a36021913960400191505060405180910390fd5b9392505050565b60006111ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b3b151590565b600081831161124a57826111ec565b50919050565b6002805460ff60a81b1916600160a81b1781556040805182815260608082018352929091602083019080368337019050509050308160008151811061129157fe5b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112e557600080fd5b505afa1580156112f9573d6000803e3d6000fd5b505050506040513d602081101561130f57600080fd5b505181518290600190811061132057fe5b6001600160a01b0392831660209182029290920101526001546113469130911684610adf565b60015460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156113cc5781810151838201526020016113b4565b505050509050019650505050505050600060405180830381600087803b1580156113f557600080fd5b505af1158015611409573d6000803e3d6000fd5b50506002805460ff60a81b1916905550505050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611458573d6000803e3d6000fd5b5050565b6000828201838110156111ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006111ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fc565b600081836115475760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611150578181015183820152602001611138565b50600083858161155357fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220f4b32bee7c1dab07f5992dd3f19b611670c306ef63713baa1a9a6c2eabf9e2ee64736f6c63430007050033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a082311161009557806395d89b411161006457806395d89b4114610349578063a9059cbb1461035e578063c9567bf914610397578063dd62ed3e146103ac578063de287071146103e757610109565b806370a08231146102b9578063715018a6146102ec578063751039fc146103035780638da5cb5b1461031857610109565b8063288db683116100d1578063288db6831461024f578063313ce567146102645780634f3ff0991461028f5780635acb6bb5146102a457610109565b806306fdde031461010e578063095ea7b31461019857806318160ddd146101e557806323b872dd1461020c57610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103fc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a457600080fd5b506101d1600480360360408110156101bb57600080fd5b506001600160a01b03813516906020013561041f565b604080519115158252519081900360200190f35b3480156101f157600080fd5b506101fa61043d565b60408051918252519081900360200190f35b34801561021857600080fd5b506101d16004803603606081101561022f57600080fd5b506001600160a01b03813581169160208101359091169060400135610449565b34801561025b57600080fd5b506101fa6104d0565b34801561027057600080fd5b506102796104d6565b6040805160ff9092168252519081900360200190f35b34801561029b57600080fd5b506101fa6104db565b3480156102b057600080fd5b506101fa6104e1565b3480156102c557600080fd5b506101fa600480360360208110156102dc57600080fd5b50356001600160a01b03166104e7565b3480156102f857600080fd5b50610301610502565b005b34801561030f57600080fd5b506103016105b6565b34801561032457600080fd5b5061032d610667565b604080516001600160a01b039092168252519081900360200190f35b34801561035557600080fd5b50610123610676565b34801561036a57600080fd5b506101d16004803603604081101561038157600080fd5b506001600160a01b038135169060200135610695565b3480156103a357600080fd5b506103016106a9565b3480156103b857600080fd5b506101fa600480360360408110156103cf57600080fd5b506001600160a01b0381358116916020013516610aaa565b3480156103f357600080fd5b506101fa610ad5565b604080518082019091526009815268115d1a195c95195e1d60ba1b602082015290565b600061043361042c610adb565b8484610adf565b5060015b92915050565b670de0b6b3a764000090565b6000610456848484610bcb565b6104c684610462610adb565b6104c1856040518060600160405280602881526020016115c4602891396001600160a01b038a166000908152600e60205260408120906104a0610adb565b6001600160a01b0316815260208101919091526040016000205491906110fc565b610adf565b5060019392505050565b60115481565b600990565b60125481565b60135481565b6001600160a01b03166000908152600d602052604090205490565b61050a610adb565b6000546001600160a01b0390811691161461056c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6105be610adb565b6000546001600160a01b03908116911614610620576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b670de0b6b3a76400006012819055601381905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a1565b6000546001600160a01b031690565b6040805180820190915260058152641150d2105560da1b602082015290565b60006104336106a2610adb565b8484610bcb565b6106b1610adb565b6000546001600160a01b03908116911614610713576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600254600160a01b900460ff1615610772576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107b79030906001600160a01b0316670de0b6b3a7640000610adf565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080557600080fd5b505afa158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051600154604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d60208110156108ab57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b505050506040513d602081101561092757600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556001541663f305d7194730610959816104e7565b600080610964610667565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b1580156109cf57600080fd5b505af11580156109e3573d6000803e3d6000fd5b50505050506040513d60608110156109fa57600080fd5b50506002546001546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50506002805460ff60a01b1960ff60b01b19909116600160b01b1716600160a01b17905543600455565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b60105481565b3390565b6001600160a01b038316610b245760405162461bcd60e51b81526004018080602001828103825260248152602001806116116024913960400191505060405180910390fd5b6001600160a01b038216610b695760405162461bcd60e51b81526004018080602001828103825260228152602001806115816022913960400191505060405180910390fd5b6001600160a01b038084166000818152600e6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c105760405162461bcd60e51b81526004018080602001828103825260258152602001806115ec6025913960400191505060405180910390fd5b6001600160a01b038216610c555760405162461bcd60e51b815260040180806020018281038252602381526020018061155e6023913960400191505060405180910390fd5b6000610c5f610667565b6001600160a01b0316846001600160a01b031614158015610c995750610c83610667565b6001600160a01b0316836001600160a01b031614155b15610fd3576001600160a01b0383166000908152600f602052604090205460ff16610cef57610cea6064610ce4600a54600c5411610cd957600854610cdd565b6005545b8590611193565b906111f3565b610cf2565b60015b6002549091506001600160a01b038581169116148015610d2057506001546001600160a01b03848116911614155b8015610d4557506001600160a01b0383166000908152600f602052604090205460ff16155b15610e2757601254821115610da1576040805162461bcd60e51b815260206004820152601960248201527f4578636565647320746865206d5472616e73616374696f6e2e00000000000000604482015290519081900360640190fd5b60135482610dae856104e7565b011115610dfd576040805162461bcd60e51b815260206004820152601860248201527722bc31b2b2b239903a34329036abb0b63632ba29b4bd329760411b604482015290519081900360640190fd5b436004546003011115610e1d57610e1383611235565b15610e1d57600080fd5b600c805460010190555b6002546001600160a01b03848116911614801590610e5e57506001600160a01b0383166000908152600f602052604090205460ff16155b15610ebf5760135482610e70856104e7565b011115610ebf576040805162461bcd60e51b815260206004820152601860248201527722bc31b2b2b239903a34329036abb0b63632ba29b4bd329760411b604482015290519081900360640190fd5b6002546001600160a01b038481169116148015610ee557506001600160a01b0384163014155b15610f1257610f0f6064610ce4600b54600c5411610f0557600954610cdd565b6006548590611193565b90505b6000610f1d306104e7565b600254909150600160a81b900460ff16158015610f4757506002546001600160a01b038581169116145b8015610f5c5750600254600160b01b900460ff165b8015610f69575060105481115b8015610f785750600754600c54115b8015610f9d57506001600160a01b0385166000908152600f602052604090205460ff16155b15610fd157610fbf610fba84610fb58460115461123b565b61123b565b611250565b478015610fcf57610fcf4761141e565b505b505b801561104957306000908152600d6020526040902054610ff3908261145c565b306000818152600d6020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b6001600160a01b0384166000908152600d602052604090205461106c90836114b6565b6001600160a01b038086166000908152600d6020526040808220939093559085168152205461109d9082840361145c565b6001600160a01b038085166000818152600d6020908152604091829020949094558051858703815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6000818484111561118b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611150578181015183820152602001611138565b50505050905090810190601f16801561117d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826111a257506000610437565b828202828482816111af57fe5b04146111ec5760405162461bcd60e51b81526004018080602001828103825260218152602001806115a36021913960400191505060405180910390fd5b9392505050565b60006111ec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b3b151590565b600081831161124a57826111ec565b50919050565b6002805460ff60a81b1916600160a81b1781556040805182815260608082018352929091602083019080368337019050509050308160008151811061129157fe5b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112e557600080fd5b505afa1580156112f9573d6000803e3d6000fd5b505050506040513d602081101561130f57600080fd5b505181518290600190811061132057fe5b6001600160a01b0392831660209182029290920101526001546113469130911684610adf565b60015460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156113cc5781810151838201526020016113b4565b505050509050019650505050505050600060405180830381600087803b1580156113f557600080fd5b505af1158015611409573d6000803e3d6000fd5b50506002805460ff60a81b1916905550505050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611458573d6000803e3d6000fd5b5050565b6000828201838110156111ec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006111ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fc565b600081836115475760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611150578181015183820152602001611138565b50600083858161155357fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220f4b32bee7c1dab07f5992dd3f19b611670c306ef63713baa1a9a6c2eabf9e2ee64736f6c63430007050033

Deployed Bytecode Sourcemap

3747:7288:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5489:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6919:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6919:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6074:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6499:313;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6499:313:0;;;;;;;;;;;;;;;;;:::i;4914:57::-;;;;;;;;;;;;;:::i;6281:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4978:58;;;;;;;;;;;;;:::i;5043:57::-;;;;;;;;;;;;;:::i;6372:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6372:119:0;-1:-1:-1;;;;;6372:119:0;;:::i;3590:148::-;;;;;;;;;;;;;:::i;:::-;;9867:171;;;;;;;;;;;;;:::i;3376:79::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3376:79:0;;;;;;;;;;;;;;6186:87;;;;;;;;;;;;;:::i;10046:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10046:167:0;;;;;;;;:::i;9188:671::-;;;;;;;;;;;;;:::i;5923:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5923:143:0;;;;;;;;;;:::i;4856:51::-;;;;;;;;;;;;;:::i;5489:83::-;5559:5;;;;;;;;;;;;-1:-1:-1;;;5559:5:0;;;;5489:83;:::o;6919:161::-;6994:4;7011:39;7020:12;:10;:12::i;:::-;7034:7;7043:6;7011:8;:39::i;:::-;-1:-1:-1;7068:4:0;6919:161;;;;;:::o;6074:100::-;4015:23;6074:100;:::o;6499:313::-;6597:4;6614:36;6624:6;6632:9;6643:6;6614:9;:36::i;:::-;6661:121;6670:6;6678:12;:10;:12::i;:::-;6692:89;6730:6;6692:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6692:19:0;;;;;;:11;:19;;;;;;6712:12;:10;:12::i;:::-;-1:-1:-1;;;;;6692:33:0;;;;;;;;;;;;-1:-1:-1;6692:33:0;;;:89;:37;:89::i;:::-;6661:8;:121::i;:::-;-1:-1:-1;6800:4:0;6499:313;;;;;:::o;4914:57::-;;;;:::o;6281:83::-;3967:1;6281:83;:::o;4978:58::-;;;;:::o;5043:57::-;;;;:::o;6372:119::-;-1:-1:-1;;;;;6465:18:0;6438:7;6465:18;;;:9;:18;;;;;;;6372:119::o;3590:148::-;3513:12;:10;:12::i;:::-;3503:6;;-1:-1:-1;;;;;3503:6:0;;;:22;;;3495:67;;;;;-1:-1:-1;;;3495:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3697:1:::1;3681:6:::0;;3660:40:::1;::::0;-1:-1:-1;;;;;3681:6:0;;::::1;::::0;3660:40:::1;::::0;3697:1;;3660:40:::1;3728:1;3711:19:::0;;-1:-1:-1;;;;;;3711:19:0::1;::::0;;3590:148::o;9867:171::-;3513:12;:10;:12::i;:::-;3503:6;;-1:-1:-1;;;;;3503:6:0;;;:22;;;3495:67;;;;;-1:-1:-1;;;3495:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:23;9920:12:::1;:27:::0;;;9958:11:::1;:24:::0;;;9998:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;9867:171::o:0;3376:79::-;3414:7;3441:6;-1:-1:-1;;;;;3441:6:0;3376:79;:::o;6186:87::-;6258:7;;;;;;;;;;;;-1:-1:-1;;;6258:7:0;;;;6186:87;:::o;10046:167::-;10124:4;10141:42;10151:12;:10;:12::i;:::-;10165:9;10176:6;10141:9;:42::i;9188:671::-;3513:12;:10;:12::i;:::-;3503:6;;-1:-1:-1;;;;;3503:6:0;;;:22;;;3495:67;;;;;-1:-1:-1;;;3495:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9252:14:::1;::::0;-1:-1:-1;;;9252:14:0;::::1;;;9251:15;9243:50;;;::::0;;-1:-1:-1;;;9243:50:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9304:9;:72:::0;;-1:-1:-1;;;;;;9304:72:0::1;9333:42;9304:72;::::0;;;;9387:57:::1;::::0;9404:4:::1;::::0;-1:-1:-1;;;;;9419:9:0::1;4015:23:::0;9387:8:::1;:57::i;:::-;9484:9;;;;;;;;;-1:-1:-1::0;;;;;9484:9:0::1;-1:-1:-1::0;;;;;9484:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9484:19:0;9531:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;9531:16:0;;;;-1:-1:-1;;;;;9466:49:0;;::::1;::::0;::::1;::::0;9524:4:::1;::::0;9531:9;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;9484:19:::1;::::0;9531:16;;;;;;;;:9;:16;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9531:16:0;9466:82:::1;::::0;;-1:-1:-1;;;;;;9466:82:0::1;::::0;;;;;;-1:-1:-1;;;;;9466:82:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;9531:16:::1;::::0;9466:82;;;;;;;-1:-1:-1;9466:82:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9466:82:0;9455:8:::1;:93:::0;;-1:-1:-1;;;;;;9455:93:0::1;-1:-1:-1::0;;;;;9455:93:0;;::::1;;::::0;;-1:-1:-1;9559:9:0;::::1;:25;9592:21;9623:4;9629:24;9623:4:::0;9629:9:::1;:24::i;:::-;9654:1;9656::::0;9658:7:::1;:5;:7::i;:::-;9666:15;9559:123;;;;;;;;;;;;;-1:-1:-1::0;;;;;9559:123:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9559:123:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;9700:8:0::1;::::0;;9726:9;9559:123;9693:60;;-1:-1:-1;;;9693:60:0;;-1:-1:-1;;;;;9726:9:0;;::::1;9693:60;::::0;::::1;::::0;-1:-1:-1;;9693:60:0;;;;;;9700:8;;;::::1;::::0;9693:24:::1;::::0;:60;;;;;9559:123:::1;::::0;9693:60;;;;;;;9700:8:::1;::::0;9693:60;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;9764:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;9764:18:0;;::::1;-1:-1:-1::0;;;9764:18:0::1;9793:21;-1:-1:-1::0;;;9793:21:0::1;::::0;;9839:12:::1;9825:11;:26:::0;9188:671::o;5923:143::-;-1:-1:-1;;;;;6031:18:0;;;6004:7;6031:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5923:143::o;4856:51::-;;;;:::o;1516:98::-;1596:10;1516:98;:::o;5580:335::-;-1:-1:-1;;;;;5673:19:0;;5665:68;;;;-1:-1:-1;;;5665:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5752:21:0;;5744:68;;;;-1:-1:-1;;;5744:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5823:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5875:32;;;;;;;;;;;;;;;;;5580:335;;;:::o;7092:2088::-;-1:-1:-1;;;;;7180:18:0;;7172:68;;;;-1:-1:-1;;;7172:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7259:16:0;;7251:64;;;;-1:-1:-1;;;7251:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7326:17;7368:7;:5;:7::i;:::-;-1:-1:-1;;;;;7360:15:0;:4;-1:-1:-1;;;;;7360:15:0;;;:32;;;;;7385:7;:5;:7::i;:::-;-1:-1:-1;;;;;7379:13:0;:2;-1:-1:-1;;;;;7379:13:0;;;7360:32;7356:1474;;;-1:-1:-1;;;;;7421:13:0;;;;;;:9;:13;;;;;;;;:96;;7441:76;7513:3;7441:67;7463:15;;7453:9;;:25;7452:55;;7493:14;;7452:55;;;7480:12;;7452:55;7441:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7421:96;;;7437:1;7421:96;7546:8;;7409:108;;-1:-1:-1;;;;;;7538:16:0;;;7546:8;;7538:16;:44;;;;-1:-1:-1;7572:9:0;;-1:-1:-1;;;;;7558:24:0;;;7572:9;;7558:24;;7538:44;:63;;;;-1:-1:-1;;;;;;7588:13:0;;;;;;:9;:13;;;;;;;;7586:15;7538:63;7534:412;;;7641:12;;7631:6;:22;;7623:60;;;;;-1:-1:-1;;;7623:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7736:11;;7726:6;7710:13;7720:2;7710:9;:13::i;:::-;:22;:37;;7702:74;;;;;-1:-1:-1;;;7702:74:0;;;;;;;;;;;;-1:-1:-1;;;7702:74:0;;;;;;;;;;;;;;;7820:12;7801:11;;7815:1;7801:15;:31;7797:104;;;7866:14;7877:2;7866:10;:14::i;:::-;7865:15;7857:24;;;;;;7919:9;:11;;;;;;7534:412;7972:8;;-1:-1:-1;;;;;7966:14:0;;;7972:8;;7966:14;;;;:33;;-1:-1:-1;;;;;;7986:13:0;;;;;;:9;:13;;;;;;;;7984:15;7966:33;7962:148;;;8054:11;;8044:6;8028:13;8038:2;8028:9;:13::i;:::-;:22;:37;;8020:74;;;;;-1:-1:-1;;;8020:74:0;;;;;;;;;;;;-1:-1:-1;;;8020:74:0;;;;;;;;;;;;;;;8135:8;;-1:-1:-1;;;;;8129:14:0;;;8135:8;;8129:14;:38;;;;-1:-1:-1;;;;;;8147:20:0;;8162:4;8147:20;;8129:38;8126:169;;;8200:79;8275:3;8200:70;8222:16;;8212:9;;:26;8211:58;;8254:15;;8211:58;;;8240:13;;8200:6;;:10;:70::i;:79::-;8188:91;;8126:169;8311:28;8342:24;8360:4;8342:9;:24::i;:::-;8386:8;;8311:55;;-1:-1:-1;;;;8386:8:0;;;;8385:9;:29;;;;-1:-1:-1;8406:8:0;;-1:-1:-1;;;;;8398:16:0;;;8406:8;;8398:16;8385:29;:44;;;;-1:-1:-1;8418:11:0;;-1:-1:-1;;;8418:11:0;;;;8385:44;:85;;;;;8454:16;;8433:20;:37;8385:85;:117;;;;;8484:18;;8474:9;;:28;8385:117;:137;;;;-1:-1:-1;;;;;;8507:15:0;;;;;;:9;:15;;;;;;;;8506:16;8385:137;8381:438;;;8543:68;8560:50;8564:6;8571:38;8575:20;8596:12;;8571:3;:38::i;:::-;8560:3;:50::i;:::-;8543:16;:68::i;:::-;8659:21;8702:22;;8699:105;;8749:35;8762:21;8749:12;:35::i;:::-;8381:438;;7356:1474;;8845:11;;8842:161;;8913:4;8895:24;;;;:9;:24;;;;;;:39;;8924:9;8895:28;:39::i;:::-;8888:4;8870:24;;;;:9;:24;;;;;;;;;:64;;;;8952:39;;;;;;;8888:4;;-1:-1:-1;;;;;8952:39:0;;;;;;;;;;;;;8842:161;-1:-1:-1;;;;;9029:15:0;;;;;;:9;:15;;;;;;:27;;9049:6;9029:19;:27::i;:::-;-1:-1:-1;;;;;9013:15:0;;;;;;;:9;:15;;;;;;:43;;;;9081:13;;;;;;;:37;;9099:18;;;9081:17;:37::i;:::-;-1:-1:-1;;;;;9067:13:0;;;;;;;:9;:13;;;;;;;;;:51;;;;9134:38;;9153:18;;;9134:38;;;;9067:13;;9134:38;;;;;;;;;;;;;7092:2088;;;;:::o;695:190::-;781:7;817:12;809:6;;;;801:29;;;;-1:-1:-1;;;801:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;853:5:0;;;695:190::o;893:246::-;951:7;975:6;971:47;;-1:-1:-1;1005:1:0;998:8;;971:47;1040:5;;;1044:1;1040;:5;:1;1064:5;;;;;:10;1056:56;;;;-1:-1:-1;;;1056:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1130:1;893:246;-1:-1:-1;;;893:246:0:o;1147:132::-;1205:7;1232:39;1236:1;1239;1232:39;;;;;;;;;;;;;;;;;:3;:39::i;10221:195::-;10352:20;10400:8;;;10221:195::o;10424:98::-;10481:7;10508:1;10506;:3;10505:9;;10513:1;10505:9;;;-1:-1:-1;10511:1:0;10424:98;-1:-1:-1;10424:98:0:o;10567:465::-;5191:8;:15;;-1:-1:-1;;;;5191:15:0;-1:-1:-1;;;5191:15:0;;;10669:16:::1;::::0;;;;;10645:21:::1;10669:16:::0;;::::1;::::0;;10645:21;10669:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10669:16:0::1;10645:40;;10714:4;10696;10701:1;10696:7;;;;;;;;-1:-1:-1::0;;;;;10696:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10740:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;10740:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;10696:7;;10740:16;;;;;:9;:16;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;10740:16:0;10730:7;;:4;;10735:1:::1;::::0;10730:7;::::1;;;;;-1:-1:-1::0;;;;;10730:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;10799:9:::1;::::0;10767:56:::1;::::0;10784:4:::1;::::0;10799:9:::1;10811:11:::0;10767:8:::1;:56::i;:::-;10834:9;::::0;:190:::1;::::0;-1:-1:-1;;;10834:190:0;;::::1;::::0;::::1;::::0;;;:9:::1;:190:::0;;;;;;10978:4:::1;10834:190:::0;;;;;;10998:15:::1;10834:190:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10834:9:0;;::::1;::::0;:60:::1;::::0;10909:11;;10951:4;;10978;10998:15;10834:190;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:9;:190:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5229:8:0;:16;;-1:-1:-1;;;;5229:16:0;;;-1:-1:-1;;;;10567:465:0:o;6820:91::-;6877:9;;:26;;-1:-1:-1;;;;;6877:9:0;;;;:26;;;;;6896:6;;6877:9;:26;:9;:26;6896:6;6877:9;:26;;;;;;;;;;;;;;;;;;;;;6820:91;:::o;364:179::-;422:7;454:5;;;478:6;;;;470:46;;;;;-1:-1:-1;;;470:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;551:136;609:7;636:43;640:1;643;636:43;;;;;;;;;;;;;;;;;:3;:43::i;1287:189::-;1373:7;1408:12;1401:5;1393:28;;;;-1:-1:-1;;;1393:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:9;1448:1;1444;:5;;;;;;;1287:189;-1:-1:-1;;;;;1287:189:0:o

Swarm Source

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