ETH Price: $2,640.96 (-0.02%)

Token

Knots (E³)
 

Overview

Max Total Supply

294,130,458 E³

Holders

276

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
582,378.30684 E³

Value
$0.00
0x5BeC41eE2d88404572C4D9f76E1c60601a275418
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:
KNOTS

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-14
*/

/*

web: knots.finance
x: knotsfi
tg: knotsfi

*/

pragma solidity 0.8.27;

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 KNOTS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxesWallet;

    uint256 private _initialbuyTaxes=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalbuyTaxes=1;
    uint256 private _finalSellTax=1;
    uint256 private _reducebuyTaxesAt=77;
    uint256 private _reduceSellTaxAt=77;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 294130458 * 10**_decimals;
    string private constant _name = unicode"Knots";
    string private constant _symbol = unicode"E³";
    uint256 public _maxTxAmount = 735326 * 10**_decimals;
    uint256 public _maxWalletSize = 5882609 * 10**_decimals;
    uint256 public _taxSwapThreshold= 5882609 * 10**_decimals;
    uint256 public _maxTaxSwap= 5882609 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxesWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxesWallet] = true;

        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 {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reducebuyTaxesAt)?_finalbuyTaxes:_initialbuyTaxes).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                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.sub(taxAmount));
        emit Transfer(from, to, amount.sub(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,
            address(this),
            block.timestamp
        );
    }

    function removeLimit() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxesWallet.transfer(amount);
    }


    function enableTrade() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxesWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":"_maxTxAmount","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526005805460ff191660019081179091556014600681905560075560088190556009908155604d600a818155600b91909155600c8190555f600d556100489190610315565b61005590620b385e61032a565b600e556100646009600a610315565b610071906259c2f161032a565b600f556100806009600a610315565b61008d906259c2f161032a565b60105561009c6009600a610315565b6100a9906259c2f161032a565b6011556013805461ffff60a81b191690553480156100c5575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556101296009600a610315565b61013790631188131a61032a565b335f90815260016020819052604082209290925560039061015f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055461010090049091168352912080549092161790556101c13390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101f86009600a610315565b61020690631188131a61032a565b60405190815260200160405180910390a3610341565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561026b5780850481111561024f5761024f61021c565b600184161561025d57908102905b60019390931c928002610234565b935093915050565b5f826102815750600161030f565b8161028d57505f61030f565b81600181146102a357600281146102ad576102c9565b600191505061030f565b60ff8411156102be576102be61021c565b50506001821b61030f565b5060208310610133831016604e8410600b84101617156102ec575081810a61030f565b6102f85f198484610230565b805f190482111561030b5761030b61021c565b0290505b92915050565b5f61032360ff841683610273565b9392505050565b808202811582820484141761030f5761030f61021c565b6117dc8061034e5f395ff3fe608060405260043610610112575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b41146102d2578063a9059cbb146102fd578063bf474bed1461031c578063c876d0b914610331578063dd62ed3e1461034a575f5ffd5b806370a082311461023a578063715018a61461026e5780637d1db4a5146102825780638da5cb5b146102975780638f9a55c0146102bd575f5ffd5b806318160ddd116100e357806318160ddd146101c457806323b872dd146101d8578063313ce567146101f757806351bc3c85146102125780636225658914610226575f5ffd5b806299d3861461011d57806306fdde0314610133578063095ea7b3146101725780630faee56f146101a1575f5ffd5b3661011957005b5f5ffd5b348015610128575f5ffd5b5061013161038e565b005b34801561013e575f5ffd5b506040805180820190915260058152644b6e6f747360d81b60208201525b60405161016991906113e1565b60405180910390f35b34801561017d575f5ffd5b5061019161018c36600461142d565b610745565b6040519015158152602001610169565b3480156101ac575f5ffd5b506101b660115481565b604051908152602001610169565b3480156101cf575f5ffd5b506101b661075b565b3480156101e3575f5ffd5b506101916101f2366004611457565b61077b565b348015610202575f5ffd5b5060405160098152602001610169565b34801561021d575f5ffd5b506101316107dd565b348015610231575f5ffd5b50610131610833565b348015610245575f5ffd5b506101b6610254366004611495565b6001600160a01b03165f9081526001602052604090205490565b348015610279575f5ffd5b506101316108ee565b34801561028d575f5ffd5b506101b6600e5481565b3480156102a2575f5ffd5b505f546040516001600160a01b039091168152602001610169565b3480156102c8575f5ffd5b506101b6600f5481565b3480156102dd575f5ffd5b5060408051808201909152600381526245c2b360e81b602082015261015c565b348015610308575f5ffd5b5061019161031736600461142d565b61095f565b348015610327575f5ffd5b506101b660105481565b34801561033c575f5ffd5b506005546101919060ff1681565b348015610355575f5ffd5b506101b66103643660046114b0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103c05760405162461bcd60e51b81526004016103b7906114e7565b60405180910390fd5b601354600160a01b900460ff161561041a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b7565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104689030906104556009600a611613565b61046390631188131a611621565b61096b565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dc9190611638565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561053b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055f9190611638565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cd9190611638565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610614816001600160a01b03165f9081526001602052604090205490565b5f5f6106275f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561068d573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106b29190611653565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072b919061167e565b506013805462ff00ff60a01b19166201000160a01b179055565b5f61075133848461096b565b5060015b92915050565b5f6107686009600a611613565b61077690631188131a611621565b905090565b5f610787848484610a8e565b6107d384336104638560405180606001604052806028815260200161177f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611059565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b031614610801575f5ffd5b305f90815260016020526040902054801561081f5761081f81611091565b47801561082f5761082f81611201565b5050565b5f546001600160a01b0316331461085c5760405162461bcd60e51b81526004016103b7906114e7565b6108686009600a611613565b61087690631188131a611621565b600e556108856009600a611613565b61089390631188131a611621565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108cd6009600a611613565b6108db90631188131a611621565b60405190815260200160405180910390a1565b5f546001600160a01b031633146109175760405162461bcd60e51b81526004016103b7906114e7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610751338484610a8e565b6001600160a01b0383166109cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b7565b6001600160a01b038216610a2e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b7565b6001600160a01b038216610b545760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b7565b5f8111610bb55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b7565b5f80546001600160a01b03858116911614801590610be057505f546001600160a01b03848116911614155b15610f1c57610c116064610c0b600a54600d5411610c0057600654610c04565b6008545b859061123c565b906112c1565b60055490915060ff1615610cf7576012546001600160a01b03848116911614801590610c4b57506013546001600160a01b03848116911614155b15610cf757325f908152600460205260409020544311610ce55760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016103b7565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d2257506012546001600160a01b03848116911614155b8015610d4657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2c57600e54821115610d9d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b7565b600f5482610dbf856001600160a01b03165f9081526001602052604090205490565b610dc9919061169d565b1115610e175760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b7565b600d8054905f610e26836116b0565b91905055505b6013546001600160a01b038481169116148015610e5257506001600160a01b0384163014155b15610e7f57610e7c6064610c0b600b54600d5411610e7257600754610c04565b600954859061123c565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610eb557506013546001600160a01b038581169116145b8015610eca5750601354600160b01b900460ff165b8015610ed7575060105481115b8015610ee65750600c54600d54115b15610f1a57610f08610f0384610efe84601154611302565b611302565b611091565b478015610f1857610f1847611201565b505b505b8015610f9457305f90815260016020526040902054610f3b9082611316565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8b9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fb69083611374565b6001600160a01b0385165f90815260016020526040902055610ff9610fdb8383611374565b6001600160a01b0385165f9081526001602052604090205490611316565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110428585611374565b60405190815260200160405180910390a350505050565b5f818484111561107c5760405162461bcd60e51b81526004016103b791906113e1565b505f61108884866116c8565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110d7576110d76116db565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561112e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111529190611638565b81600181518110611165576111656116db565b6001600160a01b03928316602091820292909201015260125461118b913091168461096b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c39085905f908690309042906004016116ef565b5f604051808303815f87803b1580156111da575f5ffd5b505af11580156111ec573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561082f573d5f5f3e3d5ffd5b5f825f0361124b57505f610755565b5f6112568385611621565b905082611263858361175f565b146112ba5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b7565b9392505050565b5f6112ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b5565b5f81831161131057826112ba565b50919050565b5f80611322838561169d565b9050838110156112ba5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b7565b5f6112ba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611059565b5f81836113d55760405162461bcd60e51b81526004016103b791906113e1565b505f611088848661175f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461142a575f5ffd5b50565b5f5f6040838503121561143e575f5ffd5b823561144981611416565b946020939093013593505050565b5f5f5f60608486031215611469575f5ffd5b833561147481611416565b9250602084013561148481611416565b929592945050506040919091013590565b5f602082840312156114a5575f5ffd5b81356112ba81611416565b5f5f604083850312156114c1575f5ffd5b82356114cc81611416565b915060208301356114dc81611416565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561156b5780850481111561154f5761154f61151c565b600184161561155d57908102905b60019390931c928002611534565b935093915050565b5f8261158157506001610755565b8161158d57505f610755565b81600181146115a357600281146115ad576115c9565b6001915050610755565b60ff8411156115be576115be61151c565b50506001821b610755565b5060208310610133831016604e8410600b84101617156115ec575081810a610755565b6115f85f198484611530565b805f190482111561160b5761160b61151c565b029392505050565b5f6112ba60ff841683611573565b80820281158282048414176107555761075561151c565b5f60208284031215611648575f5ffd5b81516112ba81611416565b5f5f5f60608486031215611665575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561168e575f5ffd5b815180151581146112ba575f5ffd5b808201808211156107555761075561151c565b5f600182016116c1576116c161151c565b5060010190565b818103818111156107555761075561151c565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561173f5783516001600160a01b0316835260209384019390920191600101611718565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261177957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bcf9436838b8f7b2e9c99dfd88add12abd67686b693ec7bbd477527b9183aab664736f6c634300081b0033

Deployed Bytecode

0x608060405260043610610112575f3560e01c806370a082311161009d57806395d89b411161006257806395d89b41146102d2578063a9059cbb146102fd578063bf474bed1461031c578063c876d0b914610331578063dd62ed3e1461034a575f5ffd5b806370a082311461023a578063715018a61461026e5780637d1db4a5146102825780638da5cb5b146102975780638f9a55c0146102bd575f5ffd5b806318160ddd116100e357806318160ddd146101c457806323b872dd146101d8578063313ce567146101f757806351bc3c85146102125780636225658914610226575f5ffd5b806299d3861461011d57806306fdde0314610133578063095ea7b3146101725780630faee56f146101a1575f5ffd5b3661011957005b5f5ffd5b348015610128575f5ffd5b5061013161038e565b005b34801561013e575f5ffd5b506040805180820190915260058152644b6e6f747360d81b60208201525b60405161016991906113e1565b60405180910390f35b34801561017d575f5ffd5b5061019161018c36600461142d565b610745565b6040519015158152602001610169565b3480156101ac575f5ffd5b506101b660115481565b604051908152602001610169565b3480156101cf575f5ffd5b506101b661075b565b3480156101e3575f5ffd5b506101916101f2366004611457565b61077b565b348015610202575f5ffd5b5060405160098152602001610169565b34801561021d575f5ffd5b506101316107dd565b348015610231575f5ffd5b50610131610833565b348015610245575f5ffd5b506101b6610254366004611495565b6001600160a01b03165f9081526001602052604090205490565b348015610279575f5ffd5b506101316108ee565b34801561028d575f5ffd5b506101b6600e5481565b3480156102a2575f5ffd5b505f546040516001600160a01b039091168152602001610169565b3480156102c8575f5ffd5b506101b6600f5481565b3480156102dd575f5ffd5b5060408051808201909152600381526245c2b360e81b602082015261015c565b348015610308575f5ffd5b5061019161031736600461142d565b61095f565b348015610327575f5ffd5b506101b660105481565b34801561033c575f5ffd5b506005546101919060ff1681565b348015610355575f5ffd5b506101b66103643660046114b0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103c05760405162461bcd60e51b81526004016103b7906114e7565b60405180910390fd5b601354600160a01b900460ff161561041a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b7565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104689030906104556009600a611613565b61046390631188131a611621565b61096b565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dc9190611638565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561053b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055f9190611638565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cd9190611638565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610614816001600160a01b03165f9081526001602052604090205490565b5f5f6106275f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561068d573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106b29190611653565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072b919061167e565b506013805462ff00ff60a01b19166201000160a01b179055565b5f61075133848461096b565b5060015b92915050565b5f6107686009600a611613565b61077690631188131a611621565b905090565b5f610787848484610a8e565b6107d384336104638560405180606001604052806028815260200161177f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611059565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b031614610801575f5ffd5b305f90815260016020526040902054801561081f5761081f81611091565b47801561082f5761082f81611201565b5050565b5f546001600160a01b0316331461085c5760405162461bcd60e51b81526004016103b7906114e7565b6108686009600a611613565b61087690631188131a611621565b600e556108856009600a611613565b61089390631188131a611621565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108cd6009600a611613565b6108db90631188131a611621565b60405190815260200160405180910390a1565b5f546001600160a01b031633146109175760405162461bcd60e51b81526004016103b7906114e7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610751338484610a8e565b6001600160a01b0383166109cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b7565b6001600160a01b038216610a2e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b7565b6001600160a01b038216610b545760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b7565b5f8111610bb55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b7565b5f80546001600160a01b03858116911614801590610be057505f546001600160a01b03848116911614155b15610f1c57610c116064610c0b600a54600d5411610c0057600654610c04565b6008545b859061123c565b906112c1565b60055490915060ff1615610cf7576012546001600160a01b03848116911614801590610c4b57506013546001600160a01b03848116911614155b15610cf757325f908152600460205260409020544311610ce55760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016103b7565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610d2257506012546001600160a01b03848116911614155b8015610d4657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2c57600e54821115610d9d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103b7565b600f5482610dbf856001600160a01b03165f9081526001602052604090205490565b610dc9919061169d565b1115610e175760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b7565b600d8054905f610e26836116b0565b91905055505b6013546001600160a01b038481169116148015610e5257506001600160a01b0384163014155b15610e7f57610e7c6064610c0b600b54600d5411610e7257600754610c04565b600954859061123c565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610eb557506013546001600160a01b038581169116145b8015610eca5750601354600160b01b900460ff165b8015610ed7575060105481115b8015610ee65750600c54600d54115b15610f1a57610f08610f0384610efe84601154611302565b611302565b611091565b478015610f1857610f1847611201565b505b505b8015610f9457305f90815260016020526040902054610f3b9082611316565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8b9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fb69083611374565b6001600160a01b0385165f90815260016020526040902055610ff9610fdb8383611374565b6001600160a01b0385165f9081526001602052604090205490611316565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110428585611374565b60405190815260200160405180910390a350505050565b5f818484111561107c5760405162461bcd60e51b81526004016103b791906113e1565b505f61108884866116c8565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110d7576110d76116db565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561112e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111529190611638565b81600181518110611165576111656116db565b6001600160a01b03928316602091820292909201015260125461118b913091168461096b565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c39085905f908690309042906004016116ef565b5f604051808303815f87803b1580156111da575f5ffd5b505af11580156111ec573d5f5f3e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561082f573d5f5f3e3d5ffd5b5f825f0361124b57505f610755565b5f6112568385611621565b905082611263858361175f565b146112ba5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b7565b9392505050565b5f6112ba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113b5565b5f81831161131057826112ba565b50919050565b5f80611322838561169d565b9050838110156112ba5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b7565b5f6112ba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611059565b5f81836113d55760405162461bcd60e51b81526004016103b791906113e1565b505f611088848661175f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461142a575f5ffd5b50565b5f5f6040838503121561143e575f5ffd5b823561144981611416565b946020939093013593505050565b5f5f5f60608486031215611469575f5ffd5b833561147481611416565b9250602084013561148481611416565b929592945050506040919091013590565b5f602082840312156114a5575f5ffd5b81356112ba81611416565b5f5f604083850312156114c1575f5ffd5b82356114cc81611416565b915060208301356114dc81611416565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561156b5780850481111561154f5761154f61151c565b600184161561155d57908102905b60019390931c928002611534565b935093915050565b5f8261158157506001610755565b8161158d57505f610755565b81600181146115a357600281146115ad576115c9565b6001915050610755565b60ff8411156115be576115be61151c565b50506001821b610755565b5060208310610133831016604e8410600b84101617156115ec575081810a610755565b6115f85f198484611530565b805f190482111561160b5761160b61151c565b029392505050565b5f6112ba60ff841683611573565b80820281158282048414176107555761075561151c565b5f60208284031215611648575f5ffd5b81516112ba81611416565b5f5f5f60608486031215611665575f5ffd5b5050815160208301516040909301519094929350919050565b5f6020828403121561168e575f5ffd5b815180151581146112ba575f5ffd5b808201808211156107555761075561151c565b5f600182016116c1576116c161151c565b5060010190565b818103818111156107555761075561151c565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561173f5783516001600160a01b0316835260209384019390920191600101611718565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261177957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bcf9436838b8f7b2e9c99dfd88add12abd67686b693ec7bbd477527b9183aab664736f6c634300081b0033

Deployed Bytecode Sourcemap

3497:7940:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10368:671;;;;;;;;;;;;;:::i;:::-;;5384:83;;;;;;;;;;-1:-1:-1;5454:5:0;;;;;;;;;;;;-1:-1:-1;;;5454:5:0;;;;5384:83;;;;;;;:::i;:::-;;;;;;;;6217:161;;;;;;;;;;-1:-1:-1;6217:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6217:161:0;945:187:1;4656:51:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;4656:51:0;1137:177:1;5661:95:0;;;;;;;;;;;;;:::i;6386:313::-;;;;;;;;;;-1:-1:-1;6386:313:0;;;;;:::i;:::-;;:::i;5570:83::-;;;;;;;;;;-1:-1:-1;5570:83:0;;4290:1;1974:36:1;;1962:2;1947:18;5570:83:0;1832:184:1;11084:350:0;;;;;;;;;;;;;:::i;10061:195::-;;;;;;;;;;;;;:::i;5764:119::-;;;;;;;;;;-1:-1:-1;5764:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5857:18:0;5830:7;5857:18;;;:9;:18;;;;;;;5764:119;2578:148;;;;;;;;;;;;;:::i;4471:52::-;;;;;;;;;;;;;;;;2364:79;;;;;;;;;;-1:-1:-1;2402:7:0;2429:6;2364:79;;-1:-1:-1;;;;;2429:6:0;;;2419:51:1;;2407:2;2392:18;2364:79:0;2273:203:1;4530:55:0;;;;;;;;;;;;;;;;5475:87;;;;;;;;;;-1:-1:-1;5547:7:0;;;;;;;;;;;;-1:-1:-1;;;5547:7:0;;;;5475:87;;5891:167;;;;;;;;;;-1:-1:-1;5891:167:0;;;;;:::i;:::-;;:::i;4592:57::-;;;;;;;;;;;;;;;;3839:39;;;;;;;;;;-1:-1:-1;3839:39:0;;;;;;;;6066:143;;;;;;;;;;-1:-1:-1;6066:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6174:18:0;;;6147:7;6174:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6066:143;10368:671;2491:6;;-1:-1:-1;;;;;2491:6:0;199:10;2491:22;2483:67;;;;-1:-1:-1;;;2483:67:0;;;;;;;:::i;:::-;;;;;;;;;10432:11:::1;::::0;-1:-1:-1;;;10432:11:0;::::1;;;10431:12;10423:47;;;::::0;-1:-1:-1;;;10423:47:0;;3437:2:1;10423:47:0::1;::::0;::::1;3419:21:1::0;3476:2;3456:18;;;3449:30;3515:25;3495:18;;;3488:53;3558:18;;10423:47:0::1;3235:347:1::0;10423:47:0::1;10481:15;:80:::0;;-1:-1:-1;;;;;;10481:80:0::1;10518:42;10481:80:::0;;::::1;::::0;;;10572:58:::1;::::0;10589:4:::1;::::0;4345:13:::1;4290:1;4345:2;:13;:::i;:::-;4333:25;::::0;:9:::1;:25;:::i;:::-;10572:8;:58::i;:::-;10675:15;;;;;;;;;-1:-1:-1::0;;;;;10675:15:0::1;-1:-1:-1::0;;;;;10675:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10657:55:0::1;;10721:4;10728:15;;;;;;;;;-1:-1:-1::0;;;;;10728:15:0::1;-1:-1:-1::0;;;;;10728:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10657:94;::::0;-1:-1:-1;;;;;;10657:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5772:32:1;;;10657:94:0::1;::::0;::::1;5754:51:1::0;5841:32;;5821:18;;;5814:60;5727:18;;10657:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10641:13;:110:::0;;-1:-1:-1;;;;;10641:110:0;;::::1;-1:-1:-1::0;;;;;;10641:110:0;;::::1;;::::0;;10762:15:::1;::::0;::::1;:31;10801:21;10832:4;10838:24;10832:4:::0;-1:-1:-1;;;;;5857:18:0;5830:7;5857:18;;;:9;:18;;;;;;;5764:119;10838:24:::1;10863:1;10865;10867:7;2402::::0;2429:6;-1:-1:-1;;;;;2429:6:0;;2364:79;10867:7:::1;10762:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10762:129:0;;;-1:-1:-1;;;;;6206:32:1;;;10762:129:0::1;::::0;::::1;6188:51:1::0;6255:18;;;6248:34;;;;6298:18;;;6291:34;;;;6341:18;;;6334:34;6405:32;;;6384:19;;;6377:61;10875:15:0::1;6454:19:1::0;;;6447:35;6160:19;;10762:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10909:13:0::1;::::0;10940:15:::1;::::0;10902:71:::1;::::0;-1:-1:-1;;;10902:71:0;;-1:-1:-1;;;;;10940:15:0;;::::1;10902:71;::::0;::::1;7128:51:1::0;-1:-1:-1;;7195:18:1;;;7188:34;10909:13:0;::::1;::::0;-1:-1:-1;10902:29:0::1;::::0;7101:18:1;;10902:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10984:11:0::1;:18:::0;;-1:-1:-1;;;;11013:18:0;-1:-1:-1;;;11013:18:0;;;10368:671::o;6217:161::-;6292:4;6309:39;199:10;6332:7;6341:6;6309:8;:39::i;:::-;-1:-1:-1;6366:4:0;6217:161;;;;;:::o;5661:95::-;5714:7;4345:13;4290:1;4345:2;:13;:::i;:::-;4333:25;;:9;:25;:::i;:::-;5734:14;;5661:95;:::o;6386:313::-;6484:4;6501:36;6511:6;6519:9;6530:6;6501:9;:36::i;:::-;6548:121;6557:6;199:10;6579:89;6617:6;6579:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6579:19:0;;;;;;:11;:19;;;;;;;;199:10;6579:33;;;;;;;;;;:37;:89::i;6548:121::-;-1:-1:-1;6687:4:0;6386:313;;;;;:::o;11084:350::-;11148:12;;;;;-1:-1:-1;;;;;11148:12:0;199:10;-1:-1:-1;;;;;11134:26:0;;11126:35;;;;;;11211:4;11172:20;5857:18;;;:9;:18;;;;;;11231:14;;11228:73;;11259:30;11276:12;11259:16;:30::i;:::-;11330:21;11365:12;;11362:65;;11391:24;11404:10;11391:12;:24::i;:::-;11115:319;;11084:350::o;10061:195::-;2491:6;;-1:-1:-1;;;;;2491:6:0;199:10;2491:22;2483:67;;;;-1:-1:-1;;;2483:67:0;;;;;;;:::i;:::-;4345:13:::1;4290:1;4345:2;:13;:::i;:::-;4333:25;::::0;:9:::1;:25;:::i;:::-;10113:12;:22:::0;4345:13:::1;4290:1;4345:2;:13;:::i;:::-;4333:25;::::0;:9:::1;:25;:::i;:::-;10146:14;:22:::0;10179:20:::1;:26:::0;;-1:-1:-1;;10179:26:0::1;::::0;;10221:27:::1;4345:13;4290:1;-1:-1:-1::0;4345:13:0::1;:::i;:::-;4333:25;::::0;:9:::1;:25;:::i;:::-;10221:27;::::0;1283:25:1;;;1271:2;1256:18;10221:27:0::1;;;;;;;10061:195::o:0;2578:148::-;2491:6;;-1:-1:-1;;;;;2491:6:0;199:10;2491:22;2483:67;;;;-1:-1:-1;;;2483:67:0;;;;;;;:::i;:::-;2685:1:::1;2669:6:::0;;2648:40:::1;::::0;-1:-1:-1;;;;;2669:6:0;;::::1;::::0;2648:40:::1;::::0;2685:1;;2648:40:::1;2716:1;2699:19:::0;;-1:-1:-1;;;;;;2699:19:0::1;::::0;;2578:148::o;5891:167::-;5969:4;5986:42;199:10;6010:9;6021:6;5986:9;:42::i;6707:335::-;-1:-1:-1;;;;;6800:19:0;;6792:68;;;;-1:-1:-1;;;6792:68:0;;7717:2:1;6792:68:0;;;7699:21:1;7756:2;7736:18;;;7729:30;7795:34;7775:18;;;7768:62;-1:-1:-1;;;7846:18:1;;;7839:34;7890:19;;6792:68:0;7515:400:1;6792:68:0;-1:-1:-1;;;;;6879:21:0;;6871:68;;;;-1:-1:-1;;;6871:68:0;;8122:2:1;6871:68:0;;;8104:21:1;8161:2;8141:18;;;8134:30;8200:34;8180:18;;;8173:62;-1:-1:-1;;;8251:18:1;;;8244:32;8293:19;;6871:68:0;7920:398:1;6871:68:0;-1:-1:-1;;;;;6950:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7002:32;;1283:25:1;;;7002:32:0;;1256:18:1;7002:32:0;;;;;;;6707:335;;;:::o;7050:2404::-;-1:-1:-1;;;;;7138:18:0;;7130:68;;;;-1:-1:-1;;;7130:68:0;;8525:2:1;7130:68:0;;;8507:21:1;8564:2;8544:18;;;8537:30;8603:34;8583:18;;;8576:62;-1:-1:-1;;;8654:18:1;;;8647:35;8699:19;;7130:68:0;8323:401:1;7130:68:0;-1:-1:-1;;;;;7217:16:0;;7209:64;;;;-1:-1:-1;;;7209:64:0;;8931:2:1;7209:64:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:33;9103:19;;7209:64:0;8729:399:1;7209:64:0;7301:1;7292:6;:10;7284:64;;;;-1:-1:-1;;;7284:64:0;;9335:2:1;7284:64:0;;;9317:21:1;9374:2;9354:18;;;9347:30;9413:34;9393:18;;;9386:62;-1:-1:-1;;;9464:18:1;;;9457:39;9513:19;;7284:64:0;9133:405:1;7284:64:0;7359:17;2429:6;;-1:-1:-1;;;;;7393:15:0;;;2429:6;;7393:15;;;;:32;;-1:-1:-1;2402:7:0;2429:6;-1:-1:-1;;;;;7412:13:0;;;2429:6;;7412:13;;7393:32;7389:1709;;;7454:82;7532:3;7454:73;7476:17;;7466:9;;:27;7465:61;;7510:16;;7465:61;;;7495:14;;7465:61;7454:6;;:10;:73::i;:::-;:77;;:82::i;:::-;7557:20;;7442:94;;-1:-1:-1;7557:20:0;;7553:508;;;7618:15;;-1:-1:-1;;;;;7604:30:0;;;7618:15;;7604:30;;;;:62;;-1:-1:-1;7652:13:0;;-1:-1:-1;;;;;7638:28:0;;;7652:13;;7638:28;;7604:62;7600:444;;;7758:9;7729:39;;;;:28;:39;;;;;;7802:12;-1:-1:-1;7693:250:0;;;;-1:-1:-1;;;7693:250:0;;9745:2:1;7693:250:0;;;9727:21:1;9784:2;9764:18;;;9757:30;9823:34;9803:18;;;9796:62;9894:34;9874:18;;;9867:62;-1:-1:-1;;;9945:19:1;;;9938:40;9995:19;;7693:250:0;9543:477:1;7693:250:0;7997:9;7968:39;;;;:28;:39;;;;;8010:12;7968:54;;7600:444;8089:13;;-1:-1:-1;;;;;8081:21:0;;;8089:13;;8081:21;:55;;;;-1:-1:-1;8120:15:0;;-1:-1:-1;;;;;8106:30:0;;;8120:15;;8106:30;;8081:55;:83;;;;-1:-1:-1;;;;;;8142:22:0;;;;;;:18;:22;;;;;;;;8140:24;8081:83;8077:313;;;8204:12;;8194:6;:22;;8186:60;;;;-1:-1:-1;;;8186:60:0;;10227:2:1;8186:60:0;;;10209:21:1;10266:2;10246:18;;;10239:30;10305:27;10285:18;;;10278:55;10350:18;;8186:60:0;10025:349:1;8186:60:0;8299:14;;8289:6;8273:13;8283:2;-1:-1:-1;;;;;5857:18:0;5830:7;5857:18;;;:9;:18;;;;;;;5764:119;8273:13;:22;;;;:::i;:::-;:40;;8265:79;;;;-1:-1:-1;;;8265:79:0;;10711:2:1;8265:79:0;;;10693:21:1;10750:2;10730:18;;;10723:30;10789:28;10769:18;;;10762:56;10835:18;;8265:79:0;10509:350:1;8265:79:0;8363:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8077:313;8415:13;;-1:-1:-1;;;;;8409:19:0;;;8415:13;;8409:19;:43;;;;-1:-1:-1;;;;;;8432:20:0;;8447:4;8432:20;;8409:43;8406:174;;;8485:79;8560:3;8485:70;8507:16;;8497:9;;:26;8496:58;;8539:15;;8496:58;;;8525:13;;8485:6;;:10;:70::i;:79::-;8473:91;;8406:174;8645:4;8596:28;5857:18;;;:9;:18;;;;;;8671:6;;-1:-1:-1;;;8671:6:0;;;;8670:7;:32;;;;-1:-1:-1;8689:13:0;;-1:-1:-1;;;;;8681:21:0;;;8689:13;;8681:21;8670:32;:47;;;;-1:-1:-1;8706:11:0;;-1:-1:-1;;;8706:11:0;;;;8670:47;:89;;;;;8742:17;;8721:20;:38;8670:89;:121;;;;;8773:18;;8763:9;;:28;8670:121;8666:421;;;8812:67;8829:49;8833:6;8840:37;8844:20;8865:11;;8840:3;:37::i;:::-;8829:3;:49::i;:::-;8812:16;:67::i;:::-;8927:21;8970:22;;8967:105;;9017:35;9030:21;9017:12;:35::i;:::-;8793:294;8666:421;7427:1671;7389:1709;9113:11;;9110:161;;9181:4;9163:24;;;;:9;:24;;;;;;:39;;9192:9;9163:28;:39::i;:::-;9156:4;9138:24;;;;:9;:24;;;;;;;:64;;;;9220:39;;-1:-1:-1;;;;;9220:39:0;;;;;;;9249:9;1283:25:1;;1271:2;1256:18;;1137:177;9220:39:0;;;;;;;;9110:161;-1:-1:-1;;;;;9297:15:0;;;;;;:9;:15;;;;;;:27;;9317:6;9297:19;:27::i;:::-;-1:-1:-1;;;;;9281:15:0;;;;;;:9;:15;;;;;:43;9349:40;9367:21;:6;9378:9;9367:10;:21::i;:::-;-1:-1:-1;;;;;9349:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9335:13:0;;;;;;;:9;:13;;;;;:54;;;;9405:41;;;9424:21;:6;9435:9;9424:10;:21::i;:::-;9405:41;;1283:25:1;;;1271:2;1256:18;9405:41:0;;;;;;;7119:2335;7050:2404;;;:::o;1256:190::-;1342:7;1378:12;1370:6;;;;1362:29;;;;-1:-1:-1;;;1362:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1402:9:0;1414:5;1418:1;1414;:5;:::i;:::-;1402:17;1256:190;-1:-1:-1;;;;;1256:190:0:o;9570:483::-;4989:6;:13;;-1:-1:-1;;;;4989:13:0;-1:-1:-1;;;4989:13:0;;;9672:16:::1;::::0;;9686:1:::1;9672:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9672:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9672:16:0::1;9648:40;;9717:4;9699;9704:1;9699:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9699:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9743:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9743:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9699:7;;9743:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9733:4;9738:1;9733:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9733:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9808:15:::1;::::0;9776:62:::1;::::0;9793:4:::1;::::0;9808:15:::1;9826:11:::0;9776:8:::1;:62::i;:::-;9849:15;::::0;:196:::1;::::0;-1:-1:-1;;;9849:196:0;;-1:-1:-1;;;;;9849:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9930:11;;9849:15:::1;::::0;9972:4;;9999::::1;::::0;10019:15:::1;::::0;9849:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5025:6:0;:14;;-1:-1:-1;;;;5025:14:0;;;-1:-1:-1;;;;9570:483:0:o;10264:94::-;10321:12;;:29;;:12;;;;-1:-1:-1;;;;;10321:12:0;;:29;;;;;;;;;;;;:12;:29;;;;;;;;;;;;;;;;;;;1454:246;1512:7;1536:1;1541;1536:6;1532:47;;-1:-1:-1;1566:1:0;1559:8;;1532:47;1589:9;1601:5;1605:1;1601;:5;:::i;:::-;1589:17;-1:-1:-1;1634:1:0;1625:5;1629:1;1589:17;1625:5;:::i;:::-;:10;1617:56;;;;-1:-1:-1;;;1617:56:0;;12789:2:1;1617:56:0;;;12771:21:1;12828:2;12808:18;;;12801:30;12867:34;12847:18;;;12840:62;-1:-1:-1;;;12918:18:1;;;12911:31;12959:19;;1617:56:0;12587:397:1;1617:56:0;1691:1;1454:246;-1:-1:-1;;;1454:246:0:o;1708:132::-;1766:7;1793:39;1797:1;1800;1793:39;;;;;;;;;;;;;;;;;:3;:39::i;9464:98::-;9521:7;9548:1;9546;:3;9545:9;;9553:1;9545:9;;;-1:-1:-1;9551:1:0;9464:98;-1:-1:-1;9464:98:0:o;925:179::-;983:7;;1015:5;1019:1;1015;:5;:::i;:::-;1003:17;;1044:1;1039;:6;;1031:46;;;;-1:-1:-1;;;1031:46:0;;13191:2:1;1031:46:0;;;13173:21:1;13230:2;13210:18;;;13203:30;13269:29;13249:18;;;13242:57;13316:18;;1031:46:0;12989:351:1;1112:136:0;1170:7;1197:43;1201:1;1204;1197:43;;;;;;;;;;;;;;;;;:3;:43::i;1848:189::-;1934:7;1969:12;1962:5;1954:28;;;;-1:-1:-1;;;1954:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1993:9:0;2005:5;2009:1;2005;:5;:::i;14:418:1:-;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;492:70;437:131;:::o;573:367::-;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;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:356::-;3076:2;3058:21;;;3095:18;;;3088:30;3154:34;3149:2;3134:18;;3127:62;3221:2;3206:18;;2874:356::o;3587:127::-;3648:10;3643:3;3639:20;3636:1;3629:31;3679:4;3676:1;3669:15;3703:4;3700:1;3693:15;3719:375;3807:1;3825:5;3839:249;3860:1;3850:8;3847:15;3839:249;;;3910:4;3905:3;3901:14;3895:4;3892:24;3889:50;;;3919:18;;:::i;:::-;3969:1;3959:8;3955:16;3952:49;;;3983:16;;;;3952:49;4066:1;4062:16;;;;;4022:15;;3839:249;;;3719:375;;;;;;:::o;4099:902::-;4148:5;4178:8;4168:80;;-1:-1:-1;4219:1:1;4233:5;;4168:80;4267:4;4257:76;;-1:-1:-1;4304:1:1;4318:5;;4257:76;4349:4;4367:1;4362:59;;;;4435:1;4430:174;;;;4342:262;;4362:59;4392:1;4383:10;;4406:5;;;4430:174;4467:3;4457:8;4454:17;4451:43;;;4474:18;;:::i;:::-;-1:-1:-1;;4530:1:1;4516:16;;4589:5;;4342:262;;4688:2;4678:8;4675:16;4669:3;4663:4;4660:13;4656:36;4650:2;4640:8;4637:16;4632:2;4626:4;4623:12;4619:35;4616:77;4613:203;;;-1:-1:-1;4725:19:1;;;4801:5;;4613:203;4848:42;-1:-1:-1;;4873:8:1;4867:4;4848:42;:::i;:::-;4926:6;4922:1;4918:6;4914:19;4905:7;4902:32;4899:58;;;4937:18;;:::i;:::-;4975:20;;4099:902;-1:-1:-1;;;4099:902:1:o;5006:140::-;5064:5;5093:47;5134:4;5124:8;5120:19;5114:4;5093:47;:::i;5151:168::-;5224:9;;;5255;;5272:15;;;5266:22;;5252:37;5242:71;;5293:18;;:::i;5324:251::-;5394:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:52;;;5463:1;5460;5453:12;5415:52;5495:9;5489:16;5514:31;5539:5;5514:31;:::i;6493:456::-;6581:6;6589;6597;6650:2;6638:9;6629:7;6625:23;6621:32;6618:52;;;6666:1;6663;6656:12;6618:52;-1:-1:-1;;6711:16:1;;6817:2;6802:18;;6796:25;6913:2;6898:18;;;6892:25;6711:16;;6796:25;;-1:-1:-1;6892:25:1;6493:456;-1:-1:-1;6493:456:1:o;7233:277::-;7300:6;7353:2;7341:9;7332:7;7328:23;7324:32;7321:52;;;7369:1;7366;7359:12;7321:52;7401:9;7395:16;7454:5;7447:13;7440:21;7433:5;7430:32;7420:60;;7476:1;7473;7466:12;10379:125;10444:9;;;10465:10;;;10462:36;;;10478:18;;:::i;10864:135::-;10903:3;10924:17;;;10921:43;;10944:18;;:::i;:::-;-1:-1:-1;10991:1:1;10980:13;;10864:135::o;11004:128::-;11071:9;;;11092:11;;;11089:37;;;11106:18;;:::i;11269:127::-;11330:10;11325:3;11321:20;11318:1;11311:31;11361:4;11358:1;11351:15;11385:4;11382:1;11375:15;11401:959;11663:4;11711:3;11700:9;11696:19;11742:6;11731:9;11724:25;11785:6;11780:2;11769:9;11765:18;11758:34;11828:3;11823:2;11812:9;11808:18;11801:31;11852:6;11887;11881:13;11918:6;11910;11903:22;11956:3;11945:9;11941:19;11934:26;;11995:2;11987:6;11983:15;11969:29;;12016:1;12026:195;12040:6;12037:1;12034:13;12026:195;;;12105:13;;-1:-1:-1;;;;;12101:39:1;12089:52;;12170:2;12196:15;;;;12161:12;;;;12137:1;12055:9;12026:195;;;-1:-1:-1;;;;;;;12277:32:1;;;;12272:2;12257:18;;12250:60;-1:-1:-1;;12341:3:1;12326:19;12319:35;12238:3;11401:959;-1:-1:-1;;;11401:959:1:o;12365:217::-;12405:1;12431;12421:132;;12475:10;12470:3;12466:20;12463:1;12456:31;12510:4;12507:1;12500:15;12538:4;12535:1;12528:15;12421:132;-1:-1:-1;12567:9:1;;12365:217::o

Swarm Source

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