ETH Price: $3,703.83 (+3.06%)

Token

ERC-20: 0xTsunami (0xT)
 

Overview

Max Total Supply

1,000,000,000 0xT

Holders

980

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,490.670315306 0xT

Value
$0.00
0x948e2E0FE795698e76D4C4486bEbE8c054c33671
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:
OxTsunami

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-26
*/

// Website: https://0xtsunami.io/
// Twitter: https://twitter.com/0xTsunami_
// Telegram: https://t.me/StepIntoTheTsunami

/**
0xTsunami is the simplest, fastest, and most efficient cryptocurrency anonymizer. 
The quintessential component of all 0xT protocols is they are fully autonomous, 
this does not require or allow for human intervention.

0xTsunami will grow to be a one stop utility kit for on chain activity across all EVM compatible networks.

Designed by crypto natives, for crypto natives.
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

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 OxTsunami 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 => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialTax=0;
    uint256 private _finalTax=4;
    uint256 private _reduceTaxAt=75;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"0xTsunami";
    string private constant _symbol = unicode"0xT";
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwap = 10000000 * 10**_decimals;

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

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        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 setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFee[holder] = exempt;
    }

    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()) {
            require(!bots[from] && !bots[to]);
            if(!inSwap){
              taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && contractTokenBalance>_taxSwap) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function setInitialTax(uint256 initialTax) external onlyOwner {
        _initialTax = initialTax;
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<6);
      _finalTax=_newFee;
    }


    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
    }

    function manualSendToken() external {
        require(_msgSender() == _taxWallet);
        IERC20(address(this)).transfer(msg.sender, balanceOf(address(this)));
    }
}

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":"_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":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendToken","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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"initialTax","type":"uint256"}],"name":"setInitialTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","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"}]

608060405260006006556004600755604b60085560006009556009600a620000289190620004af565b62000038906301312d00620004c7565b600a556009600a6200004b9190620004af565b6200005b906301312d00620004c7565b600b556200006c6009600a620004af565b6200007b9062989680620004c7565b600c55600e805460ff60a01b191690553480156200009857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620000fa6009600a620004af565b6200010a90633b9aca00620004c7565b336000908152600160208190526040822092909255600390620001356000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600384528281208054861660019081179091556005549092168152829020805490941617909255600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620001ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002149190620004e1565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d9190620004e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620004e1565b600e80546001600160a01b0319166001600160a01b0392909216919091179055620003393390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003736009600a620004af565b6200038390633b9aca00620004c7565b60405190815260200160405180910390a36200050c565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f1578160001904821115620003d557620003d56200039a565b80851615620003e357918102915b93841c9390800290620003b5565b509250929050565b6000826200040a57506001620004a9565b816200041957506000620004a9565b81600181146200043257600281146200043d576200045d565b6001915050620004a9565b60ff8411156200045157620004516200039a565b50506001821b620004a9565b5060208310610133831016604e8410600b841016171562000482575081810a620004a9565b6200048e8383620003b0565b8060001904821115620004a557620004a56200039a565b0290505b92915050565b6000620004c060ff841683620003f9565b9392505050565b8082028115828204841417620004a957620004a96200039a565b600060208284031215620004f457600080fd5b81516001600160a01b0381168114620004c057600080fd5b6117ea806200051c6000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b65780639a0b74381161006f5780639a0b743814610385578063a9059cbb146103a5578063d34628cc146103c5578063dd62ed3e146103e5578063ec1f3f631461042b578063f42938901461044b57600080fd5b8063715018a6146102db578063751039fc146102f05780637d1db4a5146103055780638da5cb5b1461031b5780638f9a55c01461034357806395d89b411461035957600080fd5b806331c2d8471161010857806331c2d8471461022357806334376f3b14610245578063503dfc4d1461025b57806351bc3c8514610270578063658d4b7f1461028557806370a08231146102a557600080fd5b806306fdde0314610150578063095ea7b31461019457806318160ddd146101c457806323b872dd146101e7578063313ce5671461020757600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600981526830785473756e616d6960b81b60208201525b60405161018b91906112af565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611322565b610460565b604051901515815260200161018b565b3480156101d057600080fd5b506101d9610477565b60405190815260200161018b565b3480156101f357600080fd5b506101b461020236600461134e565b610498565b34801561021357600080fd5b506040516009815260200161018b565b34801561022f57600080fd5b5061024361023e3660046113a5565b610501565b005b34801561025157600080fd5b506101d9600c5481565b34801561026757600080fd5b506102436105a0565b34801561027c57600080fd5b5061024361064a565b34801561029157600080fd5b506102436102a0366004611478565b610685565b3480156102b157600080fd5b506101d96102c03660046114b1565b6001600160a01b031660009081526001602052604090205490565b3480156102e757600080fd5b506102436106da565b3480156102fc57600080fd5b5061024361074e565b34801561031157600080fd5b506101d9600a5481565b34801561032757600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561034f57600080fd5b506101d9600b5481565b34801561036557600080fd5b506040805180820190915260038152620c1e1560ea1b602082015261017e565b34801561039157600080fd5b506102436103a03660046114ce565b610802565b3480156103b157600080fd5b506101b46103c0366004611322565b610831565b3480156103d157600080fd5b506102436103e03660046113a5565b61083e565b3480156103f157600080fd5b506101d96104003660046114e7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043757600080fd5b506102436104463660046114ce565b6108d0565b34801561045757600080fd5b50610243610902565b600061046d33848461092b565b5060015b92915050565b60006104856009600a61160f565b61049390633b9aca0061161e565b905090565b60006104a5848484610a4f565b6104f784336104f28560405180606001604052806028815260200161178d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f27565b61092b565b5060019392505050565b6000546001600160a01b031633146105345760405162461bcd60e51b815260040161052b90611635565b60405180910390fd5b60005b815181101561059c576000600460008484815181106105585761055861166a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059481611680565b915050610537565b5050565b6005546001600160a01b0316336001600160a01b0316146105c057600080fd5b3060008181526001602052604090205463a9059cbb9033906040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106479190611699565b50565b6005546001600160a01b0316336001600160a01b03161461066a57600080fd5b3060009081526001602052604090205461068390610f61565b565b6000546001600160a01b031633146106af5760405162461bcd60e51b815260040161052b90611635565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107045760405162461bcd60e51b815260040161052b90611635565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161052b90611635565b6107846009600a61160f565b61079290633b9aca0061161e565b600a9081556107a39060099061160f565b6107b190633b9aca0061161e565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107e16009600a61160f565b6107ef90633b9aca0061161e565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461082c5760405162461bcd60e51b815260040161052b90611635565b600655565b600061046d338484610a4f565b6000546001600160a01b031633146108685760405162461bcd60e51b815260040161052b90611635565b60005b815181101561059c5760016004600084848151811061088c5761088c61166a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c881611680565b91505061086b565b6005546001600160a01b0316336001600160a01b0316146108f057600080fd5b600681106108fd57600080fd5b600755565b6005546001600160a01b0316336001600160a01b03161461092257600080fd5b610683476110db565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052b565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ab35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052b565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052b565b60008111610b775760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052b565b600080546001600160a01b03858116911614801590610ba457506000546001600160a01b03848116911614155b15610de4576001600160a01b03841660009081526004602052604090205460ff16158015610beb57506001600160a01b03831660009081526004602052604090205460ff16155b610bf457600080fd5b600e54600160a01b900460ff16610c3457610c316064610c2b60085460095411610c2057600654610c24565b6007545b8590611115565b9061119e565b90505b600e546001600160a01b038581169116148015610c5f5750600d546001600160a01b03848116911614155b8015610c8457506001600160a01b03831660009081526003602052604090205460ff16155b15610d6c57600a54821115610cdb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052b565b600b5482610cfe856001600160a01b031660009081526001602052604090205490565b610d0891906116b6565b1115610d565760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052b565b60098054906000610d6683611680565b91905055505b30600090815260016020526040902054600e54600160a01b900460ff16158015610da45750600e546001600160a01b03868116911614155b8015610db15750600c5481115b15610de257610dd083600c5411610dca57600c54610f61565b83610f61565b478015610de057610de0476110db565b505b505b6001600160a01b038416600090815260016020526040902054610e0790836111e0565b6001600160a01b038516600090815260016020526040902055610e4c610e2d83836111e0565b6001600160a01b03851660009081526001602052604090205490611222565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e9685856111e0565b60405190815260200160405180910390a38015610f215730600090815260016020526040902054610ec79082611222565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f189085815260200190565b60405180910390a35b50505050565b60008184841115610f4b5760405162461bcd60e51b815260040161052b91906112af565b506000610f5884866116c9565b95945050505050565b600e805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fa957610fa961166a565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611002573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102691906116dc565b816001815181106110395761103961166a565b6001600160a01b039283166020918202929092010152600d5461105f913091168461092b565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110989085906000908690309042906004016116f9565b600060405180830381600087803b1580156110b257600080fd5b505af11580156110c6573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059c573d6000803e3d6000fd5b60008260000361112757506000610471565b6000611133838561161e565b905082611140858361176a565b146111975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052b565b9392505050565b600061119783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611281565b600061119783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f27565b60008061122f83856116b6565b9050838110156111975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052b565b600081836112a25760405162461bcd60e51b815260040161052b91906112af565b506000610f58848661176a565b600060208083528351808285015260005b818110156112dc578581018301518582016040015282016112c0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064757600080fd5b803561131d816112fd565b919050565b6000806040838503121561133557600080fd5b8235611340816112fd565b946020939093013593505050565b60008060006060848603121561136357600080fd5b833561136e816112fd565b9250602084013561137e816112fd565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113b857600080fd5b823567ffffffffffffffff808211156113d057600080fd5b818501915085601f8301126113e457600080fd5b8135818111156113f6576113f661138f565b8060051b604051601f19603f8301168101818110858211171561141b5761141b61138f565b60405291825284820192508381018501918883111561143957600080fd5b938501935b8285101561145e5761144f85611312565b8452938501939285019261143e565b98975050505050505050565b801515811461064757600080fd5b6000806040838503121561148b57600080fd5b8235611496816112fd565b915060208301356114a68161146a565b809150509250929050565b6000602082840312156114c357600080fd5b8135611197816112fd565b6000602082840312156114e057600080fd5b5035919050565b600080604083850312156114fa57600080fd5b8235611505816112fd565b915060208301356114a6816112fd565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561156657816000190482111561154c5761154c611515565b8085161561155957918102915b93841c9390800290611530565b509250929050565b60008261157d57506001610471565b8161158a57506000610471565b81600181146115a057600281146115aa576115c6565b6001915050610471565b60ff8411156115bb576115bb611515565b50506001821b610471565b5060208310610133831016604e8410600b84101617156115e9575081810a610471565b6115f3838361152b565b806000190482111561160757611607611515565b029392505050565b600061119760ff84168361156e565b808202811582820484141761047157610471611515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161169257611692611515565b5060010190565b6000602082840312156116ab57600080fd5b81516111978161146a565b8082018082111561047157610471611515565b8181038181111561047157610471611515565b6000602082840312156116ee57600080fd5b8151611197816112fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261178757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122021fe72890eba0ed5f27e9bfe8624adeab17670cad46b2ec139314311b1137f7a64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b65780639a0b74381161006f5780639a0b743814610385578063a9059cbb146103a5578063d34628cc146103c5578063dd62ed3e146103e5578063ec1f3f631461042b578063f42938901461044b57600080fd5b8063715018a6146102db578063751039fc146102f05780637d1db4a5146103055780638da5cb5b1461031b5780638f9a55c01461034357806395d89b411461035957600080fd5b806331c2d8471161010857806331c2d8471461022357806334376f3b14610245578063503dfc4d1461025b57806351bc3c8514610270578063658d4b7f1461028557806370a08231146102a557600080fd5b806306fdde0314610150578063095ea7b31461019457806318160ddd146101c457806323b872dd146101e7578063313ce5671461020757600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600981526830785473756e616d6960b81b60208201525b60405161018b91906112af565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611322565b610460565b604051901515815260200161018b565b3480156101d057600080fd5b506101d9610477565b60405190815260200161018b565b3480156101f357600080fd5b506101b461020236600461134e565b610498565b34801561021357600080fd5b506040516009815260200161018b565b34801561022f57600080fd5b5061024361023e3660046113a5565b610501565b005b34801561025157600080fd5b506101d9600c5481565b34801561026757600080fd5b506102436105a0565b34801561027c57600080fd5b5061024361064a565b34801561029157600080fd5b506102436102a0366004611478565b610685565b3480156102b157600080fd5b506101d96102c03660046114b1565b6001600160a01b031660009081526001602052604090205490565b3480156102e757600080fd5b506102436106da565b3480156102fc57600080fd5b5061024361074e565b34801561031157600080fd5b506101d9600a5481565b34801561032757600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561034f57600080fd5b506101d9600b5481565b34801561036557600080fd5b506040805180820190915260038152620c1e1560ea1b602082015261017e565b34801561039157600080fd5b506102436103a03660046114ce565b610802565b3480156103b157600080fd5b506101b46103c0366004611322565b610831565b3480156103d157600080fd5b506102436103e03660046113a5565b61083e565b3480156103f157600080fd5b506101d96104003660046114e7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561043757600080fd5b506102436104463660046114ce565b6108d0565b34801561045757600080fd5b50610243610902565b600061046d33848461092b565b5060015b92915050565b60006104856009600a61160f565b61049390633b9aca0061161e565b905090565b60006104a5848484610a4f565b6104f784336104f28560405180606001604052806028815260200161178d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f27565b61092b565b5060019392505050565b6000546001600160a01b031633146105345760405162461bcd60e51b815260040161052b90611635565b60405180910390fd5b60005b815181101561059c576000600460008484815181106105585761055861166a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059481611680565b915050610537565b5050565b6005546001600160a01b0316336001600160a01b0316146105c057600080fd5b3060008181526001602052604090205463a9059cbb9033906040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610623573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106479190611699565b50565b6005546001600160a01b0316336001600160a01b03161461066a57600080fd5b3060009081526001602052604090205461068390610f61565b565b6000546001600160a01b031633146106af5760405162461bcd60e51b815260040161052b90611635565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107045760405162461bcd60e51b815260040161052b90611635565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161052b90611635565b6107846009600a61160f565b61079290633b9aca0061161e565b600a9081556107a39060099061160f565b6107b190633b9aca0061161e565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107e16009600a61160f565b6107ef90633b9aca0061161e565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461082c5760405162461bcd60e51b815260040161052b90611635565b600655565b600061046d338484610a4f565b6000546001600160a01b031633146108685760405162461bcd60e51b815260040161052b90611635565b60005b815181101561059c5760016004600084848151811061088c5761088c61166a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c881611680565b91505061086b565b6005546001600160a01b0316336001600160a01b0316146108f057600080fd5b600681106108fd57600080fd5b600755565b6005546001600160a01b0316336001600160a01b03161461092257600080fd5b610683476110db565b6001600160a01b03831661098d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052b565b6001600160a01b0382166109ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ab35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052b565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052b565b60008111610b775760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052b565b600080546001600160a01b03858116911614801590610ba457506000546001600160a01b03848116911614155b15610de4576001600160a01b03841660009081526004602052604090205460ff16158015610beb57506001600160a01b03831660009081526004602052604090205460ff16155b610bf457600080fd5b600e54600160a01b900460ff16610c3457610c316064610c2b60085460095411610c2057600654610c24565b6007545b8590611115565b9061119e565b90505b600e546001600160a01b038581169116148015610c5f5750600d546001600160a01b03848116911614155b8015610c8457506001600160a01b03831660009081526003602052604090205460ff16155b15610d6c57600a54821115610cdb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052b565b600b5482610cfe856001600160a01b031660009081526001602052604090205490565b610d0891906116b6565b1115610d565760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052b565b60098054906000610d6683611680565b91905055505b30600090815260016020526040902054600e54600160a01b900460ff16158015610da45750600e546001600160a01b03868116911614155b8015610db15750600c5481115b15610de257610dd083600c5411610dca57600c54610f61565b83610f61565b478015610de057610de0476110db565b505b505b6001600160a01b038416600090815260016020526040902054610e0790836111e0565b6001600160a01b038516600090815260016020526040902055610e4c610e2d83836111e0565b6001600160a01b03851660009081526001602052604090205490611222565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e9685856111e0565b60405190815260200160405180910390a38015610f215730600090815260016020526040902054610ec79082611222565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f189085815260200190565b60405180910390a35b50505050565b60008184841115610f4b5760405162461bcd60e51b815260040161052b91906112af565b506000610f5884866116c9565b95945050505050565b600e805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fa957610fa961166a565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611002573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102691906116dc565b816001815181106110395761103961166a565b6001600160a01b039283166020918202929092010152600d5461105f913091168461092b565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110989085906000908690309042906004016116f9565b600060405180830381600087803b1580156110b257600080fd5b505af11580156110c6573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059c573d6000803e3d6000fd5b60008260000361112757506000610471565b6000611133838561161e565b905082611140858361176a565b146111975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052b565b9392505050565b600061119783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611281565b600061119783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f27565b60008061122f83856116b6565b9050838110156111975760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052b565b600081836112a25760405162461bcd60e51b815260040161052b91906112af565b506000610f58848661176a565b600060208083528351808285015260005b818110156112dc578581018301518582016040015282016112c0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064757600080fd5b803561131d816112fd565b919050565b6000806040838503121561133557600080fd5b8235611340816112fd565b946020939093013593505050565b60008060006060848603121561136357600080fd5b833561136e816112fd565b9250602084013561137e816112fd565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113b857600080fd5b823567ffffffffffffffff808211156113d057600080fd5b818501915085601f8301126113e457600080fd5b8135818111156113f6576113f661138f565b8060051b604051601f19603f8301168101818110858211171561141b5761141b61138f565b60405291825284820192508381018501918883111561143957600080fd5b938501935b8285101561145e5761144f85611312565b8452938501939285019261143e565b98975050505050505050565b801515811461064757600080fd5b6000806040838503121561148b57600080fd5b8235611496816112fd565b915060208301356114a68161146a565b809150509250929050565b6000602082840312156114c357600080fd5b8135611197816112fd565b6000602082840312156114e057600080fd5b5035919050565b600080604083850312156114fa57600080fd5b8235611505816112fd565b915060208301356114a6816112fd565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561156657816000190482111561154c5761154c611515565b8085161561155957918102915b93841c9390800290611530565b509250929050565b60008261157d57506001610471565b8161158a57506000610471565b81600181146115a057600281146115aa576115c6565b6001915050610471565b60ff8411156115bb576115bb611515565b50506001821b610471565b5060208310610133831016604e8410600b84101617156115e9575081810a610471565b6115f3838361152b565b806000190482111561160757611607611515565b029392505050565b600061119760ff84168361156e565b808202811582820484141761047157610471611515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161169257611692611515565b5060010190565b6000602082840312156116ab57600080fd5b81516111978161146a565b8082018082111561047157610471611515565b8181038181111561047157610471611515565b6000602082840312156116ee57600080fd5b8151611197816112fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261178757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122021fe72890eba0ed5f27e9bfe8624adeab17670cad46b2ec139314311b1137f7a64736f6c63430008110033

Deployed Bytecode Sourcemap

3994:7081:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5711:83;;;;;;;;;;-1:-1:-1;5781:5:0;;;;;;;;;;;;-1:-1:-1;;;5781:5:0;;;;5711:83;;;;;;;:::i;:::-;;;;;;;;6544:161;;;;;;;;;;-1:-1:-1;6544:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6544:161:0;1162:187:1;5988:95:0;;;;;;;;;;;;;:::i;:::-;;;1500:25:1;;;1488:2;1473:18;5988:95:0;1354:177:1;6713:313:0;;;;;;;;;;-1:-1:-1;6713:313:0;;;;;:::i;:::-;;:::i;5897:83::-;;;;;;;;;;-1:-1:-1;5897:83:0;;4536:1;2139:36:1;;2127:2;2112:18;5897:83:0;1997:184:1;10254:162:0;;;;;;;;;;-1:-1:-1;10254:162:0;;;;;:::i;:::-;;:::i;:::-;;4846:50;;;;;;;;;;;;;;;;10903:169;;;;;;;;;;;;;:::i;10618:138::-;;;;;;;;;;;;;:::i;7377:126::-;;;;;;;;;;-1:-1:-1;7377:126:0;;;;;:::i;:::-;;:::i;6091:119::-;;;;;;;;;;-1:-1:-1;6091:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6184:18:0;6157:7;6184:18;;;:9;:18;;;;;;;6091:119;3075:148;;;;;;;;;;;;;:::i;9702:159::-;;;;;;;;;;;;;:::i;4722:54::-;;;;;;;;;;;;;;;;2861:79;;;;;;;;;;-1:-1:-1;2899:7:0;2926:6;2861:79;;-1:-1:-1;;;;;2926:6:0;;;4352:51:1;;4340:2;4325:18;2861:79:0;4206:203:1;4783:56:0;;;;;;;;;;;;;;;;5802:87;;;;;;;;;;-1:-1:-1;5874:7:0;;;;;;;;;;;;-1:-1:-1;;;5874:7:0;;;;5802:87;;9969:105;;;;;;;;;;-1:-1:-1;9969:105:0;;;;;:::i;:::-;;:::i;6218:167::-;;;;;;;;;;-1:-1:-1;6218:167:0;;;;;:::i;:::-;;:::i;10082:164::-;;;;;;;;;;-1:-1:-1;10082:164:0;;;;;:::i;:::-;;:::i;6393:143::-;;;;;;;;;;-1:-1:-1;6393:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6501:18:0;;;6474:7;6501:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6393:143;10424:147;;;;;;;;;;-1:-1:-1;10424:147:0;;;;;:::i;:::-;;:::i;10764:131::-;;;;;;;;;;;;;:::i;6544:161::-;6619:4;6636:39;696:10;6659:7;6668:6;6636:8;:39::i;:::-;-1:-1:-1;6693:4:0;6544:161;;;;;:::o;5988:95::-;6041:7;4592:13;4536:1;4592:2;:13;:::i;:::-;4579:26;;:10;:26;:::i;:::-;6061:14;;5988:95;:::o;6713:313::-;6811:4;6828:36;6838:6;6846:9;6857:6;6828:9;:36::i;:::-;6875:121;6884:6;696:10;6906:89;6944:6;6906:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6906:19:0;;;;;;:11;:19;;;;;;;;696:10;6906:33;;;;;;;;;;:37;:89::i;:::-;6875:8;:121::i;:::-;-1:-1:-1;7014:4:0;6713:313;;;;;:::o;10254:162::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;;;;;;;;;10327:6:::1;10322:87;10343:6;:13;10339:1;:17;10322:87;;;10394:5;10376:4;:15;10381:6;10388:1;10381:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10376:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10376:15:0;:23;;-1:-1:-1;;10376:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10358:3;::::1;::::0;::::1;:::i;:::-;;;;10322:87;;;;10254:162:::0;:::o;10903:169::-;10974:10;;-1:-1:-1;;;;;10974:10:0;696;-1:-1:-1;;;;;10958:26:0;;10950:35;;;;;;11011:4;6157:7;6184:18;;;:9;:18;;;;;;10996:30;;11027:10;;10996:68;;-1:-1:-1;;;;;;10996:68:0;;;;;;;-1:-1:-1;;;;;7505:32:1;;;10996:68:0;;;7487:51:1;7554:18;;;7547:34;7460:18;;10996:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10903:169::o;10618:138::-;10684:10;;-1:-1:-1;;;;;10684:10:0;696;-1:-1:-1;;;;;10668:26:0;;10660:35;;;;;;10741:4;6157:7;6184:18;;;:9;:18;;;;;;10706:42;;:16;:42::i;:::-;10618:138::o;7377:126::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7460:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;7460:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7377:126::o;3075:148::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;3182:1:::1;3166:6:::0;;3145:40:::1;::::0;-1:-1:-1;;;;;3166:6:0;;::::1;::::0;3145:40:::1;::::0;3182:1;;3145:40:::1;3213:1;3196:19:::0;;-1:-1:-1;;;;;;3196:19:0::1;::::0;;3075:148::o;9702:159::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;4592:13:::1;4536:1;4592:2;:13;:::i;:::-;4579:26;::::0;:10:::1;:26;:::i;:::-;9755:12;:22:::0;;;4592:13:::1;::::0;4536:1:::1;::::0;4592:13:::1;:::i;:::-;4579:26;::::0;:10:::1;:26;:::i;:::-;9788:14;:22:::0;9826:27:::1;4592:13;4536:1;4592:2;:13;:::i;:::-;4579:26;::::0;:10:::1;:26;:::i;:::-;9826:27;::::0;1500:25:1;;;1488:2;1473:18;9826:27:0::1;;;;;;;9702:159::o:0;9969:105::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;10042:11:::1;:24:::0;9969:105::o;6218:167::-;6296:4;6313:42;696:10;6337:9;6348:6;6313:9;:42::i;10082:164::-;2988:6;;-1:-1:-1;;;;;2988:6:0;696:10;2988:22;2980:67;;;;-1:-1:-1;;;2980:67:0;;;;;;;:::i;:::-;10156:6:::1;10151:88;10172:5;:12;10168:1;:16;10151:88;;;10223:4;10206;:14;10211:5;10217:1;10211:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10206:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10206:14:0;:21;;-1:-1:-1;;10206:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10186:3;::::1;::::0;::::1;:::i;:::-;;;;10151:88;;10424:147:::0;10499:10;;-1:-1:-1;;;;;10499:10:0;696;-1:-1:-1;;;;;10485:24:0;;10477:33;;;;;;10535:1;10527:7;:9;10519:18;;;;;;10546:9;:17;10424:147::o;10764:131::-;10830:10;;-1:-1:-1;;;;;10830:10:0;696;-1:-1:-1;;;;;10814:26:0;;10806:35;;;;;;10852;10865:21;10852:12;:35::i;7034:335::-;-1:-1:-1;;;;;7127:19:0;;7119:68;;;;-1:-1:-1;;;7119:68:0;;8044:2:1;7119:68:0;;;8026:21:1;8083:2;8063:18;;;8056:30;8122:34;8102:18;;;8095:62;-1:-1:-1;;;8173:18:1;;;8166:34;8217:19;;7119:68:0;7842:400:1;7119:68:0;-1:-1:-1;;;;;7206:21:0;;7198:68;;;;-1:-1:-1;;;7198:68:0;;8449:2:1;7198:68:0;;;8431:21:1;8488:2;8468:18;;;8461:30;8527:34;8507:18;;;8500:62;-1:-1:-1;;;8578:18:1;;;8571:32;8620:19;;7198:68:0;8247:398:1;7198:68:0;-1:-1:-1;;;;;7277:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7329:32;;1500:25:1;;;7329:32:0;;1473:18:1;7329:32:0;;;;;;;7034:335;;;:::o;7511:1692::-;-1:-1:-1;;;;;7599:18:0;;7591:68;;;;-1:-1:-1;;;7591:68:0;;8852:2:1;7591:68:0;;;8834:21:1;8891:2;8871:18;;;8864:30;8930:34;8910:18;;;8903:62;-1:-1:-1;;;8981:18:1;;;8974:35;9026:19;;7591:68:0;8650:401:1;7591:68:0;-1:-1:-1;;;;;7678:16:0;;7670:64;;;;-1:-1:-1;;;7670:64:0;;9258:2:1;7670:64:0;;;9240:21:1;9297:2;9277:18;;;9270:30;9336:34;9316:18;;;9309:62;-1:-1:-1;;;9387:18:1;;;9380:33;9430:19;;7670:64:0;9056:399:1;7670:64:0;7762:1;7753:6;:10;7745:64;;;;-1:-1:-1;;;7745:64:0;;9662:2:1;7745:64:0;;;9644:21:1;9701:2;9681:18;;;9674:30;9740:34;9720:18;;;9713:62;-1:-1:-1;;;9791:18:1;;;9784:39;9840:19;;7745:64:0;9460:405:1;7745:64:0;7820:17;2926:6;;-1:-1:-1;;;;;7854:15:0;;;2926:6;;7854:15;;;;:32;;-1:-1:-1;2899:7:0;2926:6;-1:-1:-1;;;;;7873:13:0;;;2926:6;;7873:13;;7854:32;7850:997;;;-1:-1:-1;;;;;7912:10:0;;;;;;:4;:10;;;;;;;;7911:11;:24;;;;-1:-1:-1;;;;;;7927:8:0;;;;;;:4;:8;;;;;;;;7926:9;7911:24;7903:33;;;;;;7955:6;;-1:-1:-1;;;7955:6:0;;;;7951:123;;7991:67;8054:3;7991:58;8013:12;;8003:9;;:22;8002:46;;8037:11;;8002:46;;;8027:9;;8002:46;7991:6;;:10;:58::i;:::-;:62;;:67::i;:::-;7979:79;;7951:123;8102:13;;-1:-1:-1;;;;;8094:21:0;;;8102:13;;8094:21;:55;;;;-1:-1:-1;8133:15:0;;-1:-1:-1;;;;;8119:30:0;;;8133:15;;8119:30;;8094:55;:83;;;;-1:-1:-1;;;;;;8155:22:0;;;;;;:18;:22;;;;;;;;8153:24;8094:83;8090:313;;;8217:12;;8207:6;:22;;8199:60;;;;-1:-1:-1;;;8199:60:0;;10072:2:1;8199:60:0;;;10054:21:1;10111:2;10091:18;;;10084:30;10150:27;10130:18;;;10123:55;10195:18;;8199:60:0;9870:349:1;8199:60:0;8312:14;;8302:6;8286:13;8296:2;-1:-1:-1;;;;;6184:18:0;6157:7;6184:18;;;:9;:18;;;;;;;6091:119;8286:13;:22;;;;:::i;:::-;:40;;8278:79;;;;-1:-1:-1;;;8278:79:0;;10556:2:1;8278:79:0;;;10538:21:1;10595:2;10575:18;;;10568:30;10634:28;10614:18;;;10607:56;10680:18;;8278:79:0;10354:350:1;8278:79:0;8376:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8090:313;8468:4;8419:28;6184:18;;;:9;:18;;;;;;8494:6;;-1:-1:-1;;;8494:6:0;;;;8493:7;:32;;;;-1:-1:-1;8512:13:0;;-1:-1:-1;;;;;8504:21:0;;;8512:13;;8504:21;;8493:32;:65;;;;;8550:8;;8529:20;:29;8493:65;8489:347;;;8579:49;8605:6;8596:8;;:15;:31;;8619:8;;10706:16;:42::i;8596:31::-;8612:6;8579:16;:49::i;:::-;8676:21;8719:22;;8716:105;;8766:35;8779:21;8766:12;:35::i;:::-;8560:276;8489:347;7888:959;7850:997;-1:-1:-1;;;;;8875:15:0;;;;;;:9;:15;;;;;;:27;;8895:6;8875:19;:27::i;:::-;-1:-1:-1;;;;;8859:15:0;;;;;;:9;:15;;;;;:43;8927:40;8945:21;:6;8956:9;8945:10;:21::i;:::-;-1:-1:-1;;;;;8927:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8913:13:0;;;;;;;:9;:13;;;;;:54;;;;8983:41;;;9002:21;:6;9013:9;9002:10;:21::i;:::-;8983:41;;1500:25:1;;;1488:2;1473:18;8983:41:0;;;;;;;9038:11;;9035:161;;9106:4;9088:24;;;;:9;:24;;;;;;:39;;9117:9;9088:28;:39::i;:::-;9081:4;9063:24;;;;:9;:24;;;;;;;:64;;;;9145:39;;-1:-1:-1;;;;;9145:39:0;;;;;;;9174:9;1500:25:1;;1488:2;1473:18;;1354:177;9145:39:0;;;;;;;;9035:161;7580:1623;7511:1692;;;:::o;1753:190::-;1839:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1899:9:0;1911:5;1915:1;1911;:5;:::i;:::-;1899:17;1753:190;-1:-1:-1;;;;;1753:190:0:o;9211:483::-;5108:6;:13;;-1:-1:-1;;;;5108:13:0;-1:-1:-1;;;5108:13:0;;;9313:16:::1;::::0;;9327:1:::1;9313:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9313:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9313:16:0::1;9289:40;;9358:4;9340;9345:1;9340:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9340:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9384:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9384:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9340:7;;9384:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9374:4;9379:1;9374:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9374:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9449:15:::1;::::0;9417:62:::1;::::0;9434:4:::1;::::0;9449:15:::1;9467:11:::0;9417:8:::1;:62::i;:::-;9490:15;::::0;:196:::1;::::0;-1:-1:-1;;;9490:196:0;;-1:-1:-1;;;;;9490:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9571:11;;9490:15:::1;::::0;9613:4;;9640::::1;::::0;9660:15:::1;::::0;9490:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5144:6:0;:14;;-1:-1:-1;;;;5144:14:0;;;-1:-1:-1;;;;9211:483:0:o;9869:92::-;9926:10;;:27;;-1:-1:-1;;;;;9926:10:0;;;;:27;;;;;9946:6;;9926:10;:27;:10;:27;9946:6;9926:10;:27;;;;;;;;;;;;;;;;;;;1951:246;2009:7;2033:1;2038;2033:6;2029:47;;-1:-1:-1;2063:1:0;2056:8;;2029:47;2086:9;2098:5;2102:1;2098;:5;:::i;:::-;2086:17;-1:-1:-1;2131:1:0;2122:5;2126:1;2086:17;2122:5;:::i;:::-;:10;2114:56;;;;-1:-1:-1;;;2114:56:0;;12507:2:1;2114:56:0;;;12489:21:1;12546:2;12526:18;;;12519:30;12585:34;12565:18;;;12558:62;-1:-1:-1;;;12636:18:1;;;12629:31;12677:19;;2114:56:0;12305:397:1;2114:56:0;2188:1;1951:246;-1:-1:-1;;;1951:246:0:o;2205:132::-;2263:7;2290:39;2294:1;2297;2290:39;;;;;;;;;;;;;;;;;:3;:39::i;1609:136::-;1667:7;1694:43;1698:1;1701;1694:43;;;;;;;;;;;;;;;;;:3;:43::i;1422:179::-;1480:7;;1512:5;1516:1;1512;:5;:::i;:::-;1500:17;;1541:1;1536;:6;;1528:46;;;;-1:-1:-1;;;1528:46:0;;12909:2:1;1528:46:0;;;12891:21:1;12948:2;12928:18;;;12921:30;12987:29;12967:18;;;12960:57;13034:18;;1528:46:0;12707:351:1;2345:189:0;2431:7;2466:12;2459:5;2451:28;;;;-1:-1:-1;;;2451:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2490:9:0;2502:5;2506:1;2502;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:118::-;3530:5;3523:13;3516:21;3509:5;3506:32;3496:60;;3552:1;3549;3542:12;3567:382;3632:6;3640;3693:2;3681:9;3672:7;3668:23;3664:32;3661:52;;;3709:1;3706;3699:12;3661:52;3748:9;3735:23;3767:31;3792:5;3767:31;:::i;:::-;3817:5;-1:-1:-1;3874:2:1;3859:18;;3846:32;3887:30;3846:32;3887:30;:::i;:::-;3936:7;3926:17;;;3567:382;;;;;:::o;3954:247::-;4013:6;4066:2;4054:9;4045:7;4041:23;4037:32;4034:52;;;4082:1;4079;4072:12;4034:52;4121:9;4108:23;4140:31;4165:5;4140:31;:::i;4414:180::-;4473:6;4526:2;4514:9;4505:7;4501:23;4497:32;4494:52;;;4542:1;4539;4532:12;4494:52;-1:-1:-1;4565:23:1;;4414:180;-1:-1:-1;4414:180:1:o;4599:388::-;4667:6;4675;4728:2;4716:9;4707:7;4703:23;4699:32;4696:52;;;4744:1;4741;4734:12;4696:52;4783:9;4770:23;4802:31;4827:5;4802:31;:::i;:::-;4852:5;-1:-1:-1;4909:2:1;4894:18;;4881:32;4922:33;4881:32;4922:33;:::i;4992:127::-;5053:10;5048:3;5044:20;5041:1;5034:31;5084:4;5081:1;5074:15;5108:4;5105:1;5098:15;5124:422;5213:1;5256:5;5213:1;5270:270;5291:7;5281:8;5278:21;5270:270;;;5350:4;5346:1;5342:6;5338:17;5332:4;5329:27;5326:53;;;5359:18;;:::i;:::-;5409:7;5399:8;5395:22;5392:55;;;5429:16;;;;5392:55;5508:22;;;;5468:15;;;;5270:270;;;5274:3;5124:422;;;;;:::o;5551:806::-;5600:5;5630:8;5620:80;;-1:-1:-1;5671:1:1;5685:5;;5620:80;5719:4;5709:76;;-1:-1:-1;5756:1:1;5770:5;;5709:76;5801:4;5819:1;5814:59;;;;5887:1;5882:130;;;;5794:218;;5814:59;5844:1;5835:10;;5858:5;;;5882:130;5919:3;5909:8;5906:17;5903:43;;;5926:18;;:::i;:::-;-1:-1:-1;;5982:1:1;5968:16;;5997:5;;5794:218;;6096:2;6086:8;6083:16;6077:3;6071:4;6068:13;6064:36;6058:2;6048:8;6045:16;6040:2;6034:4;6031:12;6027:35;6024:77;6021:159;;;-1:-1:-1;6133:19:1;;;6165:5;;6021:159;6212:34;6237:8;6231:4;6212:34;:::i;:::-;6282:6;6278:1;6274:6;6270:19;6261:7;6258:32;6255:58;;;6293:18;;:::i;:::-;6331:20;;5551:806;-1:-1:-1;;;5551:806:1:o;6362:140::-;6420:5;6449:47;6490:4;6480:8;6476:19;6470:4;6449:47;:::i;6507:168::-;6580:9;;;6611;;6628:15;;;6622:22;;6608:37;6598:71;;6649:18;;:::i;6680:356::-;6882:2;6864:21;;;6901:18;;;6894:30;6960:34;6955:2;6940:18;;6933:62;7027:2;7012:18;;6680:356::o;7041:127::-;7102:10;7097:3;7093:20;7090:1;7083:31;7133:4;7130:1;7123:15;7157:4;7154:1;7147:15;7173:135;7212:3;7233:17;;;7230:43;;7253:18;;:::i;:::-;-1:-1:-1;7300:1:1;7289:13;;7173:135::o;7592:245::-;7659:6;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7760:9;7754:16;7779:28;7801:5;7779:28;:::i;10224:125::-;10289:9;;;10310:10;;;10307:36;;;10323:18;;:::i;10709:128::-;10776:9;;;10797:11;;;10794:37;;;10811:18;;:::i;10842:251::-;10912:6;10965:2;10953:9;10944:7;10940:23;10936:32;10933:52;;;10981:1;10978;10971:12;10933:52;11013:9;11007:16;11032:31;11057:5;11032:31;:::i;11098:980::-;11360:4;11408:3;11397:9;11393:19;11439:6;11428:9;11421:25;11465:2;11503:6;11498:2;11487:9;11483:18;11476:34;11546:3;11541:2;11530:9;11526:18;11519:31;11570:6;11605;11599:13;11636:6;11628;11621:22;11674:3;11663:9;11659:19;11652:26;;11713:2;11705:6;11701:15;11687:29;;11734:1;11744:195;11758:6;11755:1;11752:13;11744:195;;;11823:13;;-1:-1:-1;;;;;11819:39:1;11807:52;;11914:15;;;;11879:12;;;;11855:1;11773:9;11744:195;;;-1:-1:-1;;;;;;;11995:32:1;;;;11990:2;11975:18;;11968:60;-1:-1:-1;;;12059:3:1;12044:19;12037:35;11956:3;11098:980;-1:-1:-1;;;11098:980:1:o;12083:217::-;12123:1;12149;12139:132;;12193:10;12188:3;12184:20;12181:1;12174:31;12228:4;12225:1;12218:15;12256:4;12253:1;12246:15;12139:132;-1:-1:-1;12285:9:1;;12083:217::o

Swarm Source

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