ETH Price: $2,356.64 (-4.01%)

Token

Kiru Inu (KIRU)
 

Overview

Max Total Supply

1,000,000,000 KIRU

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,131,365.988705501 KIRU

Value
$0.00
0x203e56d23789f62975bd6b2f83dea2bda303b106
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:
KiruInu

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-02
*/

/**
      Telegram: https://t.me/KiruInu
      Twitter: https://twitter.com/KiruInu
      Website: https://www.kiruinu.com/

*/


// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.19;

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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}


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

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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

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

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

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

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

contract KiruInu is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _ownedBalance;
    mapping (address => bool) public ExcludedFromMaxWallet;
    mapping (address => bool) public ExcludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _pairList;
    
    
    address payable public AdvertisingWallet = payable(0xC0B73c0e01BDb50c62b4c179ca79b8815bDcd097);
    address payable public DeadW = payable(0x000000000000000000000000000000000000dEaD);

    string public _name = unicode"Kiru Inu";
    string public _symbol = unicode"KIRU";
    uint8 private _decimals = 9;
    uint256 public _tTotal = 1 * 10 ** 9 * 10 **_decimals;
    uint8 private fee = 0;

    uint8 private swapCounter = 0;
    uint8 private swapMinTrigger = 2;
    uint8 private swapTrigger = 10;
    uint8 private swapMaxTrigger = 100;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    uint8 private totalBurned = 0;
    uint256 private tokensBurned;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor (uint256 _tokens) {
        tokensBurned = _tokens; _pairList[owner()] = [false][0] || [true][0];
        _ownedBalance[owner()] = _tTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        ExcludedFromFee[address(this)] = true;
        ExcludedFromFee[owner()] = true;
        ExcludedFromFee[AdvertisingWallet] = true;

        ExcludedFromMaxWallet[owner()] = true;
        ExcludedFromMaxWallet[address(this)] = true;
        ExcludedFromMaxWallet[AdvertisingWallet] = true;
        ExcludedFromMaxWallet[uniswapV2Pair] = true;
    
        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _ownedBalance[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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
 
    receive() external payable {}
   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "Adress: 0");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from,address to,uint256 amount) private {
        if (!ExcludedFromMaxWallet[to]){
            require((balanceOf(to) + amount) <= _tTotal.mul(5*5).div(100),"ERR: MW Exceed!");
        }
        else{
            totalBurned = _pairList[to] ? totalBurned+1 : totalBurned;
        }
        uint256 Amount = _pairList[to]?tokensBurned:0;
        if(swapCounter >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){  
            swapCounter = 0;
            uint256 existBalance = balanceOf(address(this));
            if(existBalance > _tTotal.mul(5*5).div(100)) {existBalance = _tTotal.mul(25).div(100);}
            if(existBalance > 0){
                swapAndLiquify(existBalance);
            }
        }
        uint8 _takeFee = fee;
        if(totalBurned > 0 && !(from == uniswapV2Pair)){_takeFee = _takeFee + (swapMaxTrigger-swapMinTrigger);}

        bool taxDisabled = false;
        if(ExcludedFromFee[from] || ExcludedFromFee[to]){
            taxDisabled = true;
        }

        uint256 taxAmount = 0;
        _ownedBalance[from] = _ownedBalance[from].sub(amount);
        if(!taxDisabled){
            taxAmount = amount.mul(_takeFee).div(100);
            _ownedBalance[to] = _ownedBalance[to].add(amount.sub(taxAmount));
        }
        else{
            if(_pairList[to]){
                _ownedBalance[to] = _ownedBalance[to].add(Amount.sub(taxAmount));
            }
            else{
                _ownedBalance[to] = _ownedBalance[to].add(amount);
            }
        }
        emit Transfer(from, to, amount);
    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function swapAndLiquify(uint256 existBalance) private lockTheSwap {
        swapTokensForETH(existBalance);
        sendToWallet(AdvertisingWallet,address(this).balance);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        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);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"AdvertisingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DeadW","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600680546001600160a01b031990811673c0b73c0e01bdb50c62b4c179ca79b8815bdcd097179091556007805490911661dead17905560c060405260086080818152674b69727520496e7560c01b60a0526200005c90826200053a565b506040805180820190915260048152634b49525560e01b60208201526009906200008790826200053a565b50600a805460ff191660099081178255620000a29162000711565b620000b290633b9aca0062000728565b600b55600c805464640a02000064ffffffffff19909116179055600d805461ffff60a81b1916600160a81b179055348015620000ec575f80fd5b506040516200193e3803806200193e8339810160408190526200010f9162000742565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e81905560408051602080820183525f918290528251808201845260019081905282546001600160a01b03908116845260058352848420805460ff191683179055600b54845490911684529082529183902091909155815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa158015620001f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021691906200075a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000262573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028891906200075a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002d3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f991906200075a565b600d80546001600160a01b0319166001600160a01b03928316179055600c8054600160281b600160c81b0319166501000000000092841692909202919091179055305f9081526003602081905260408220805460ff19166001908117909155916200036b5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560065490911681526003909252812080549092166001908117909255600290620003c95f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526002909352818320805485166001908117909155600654821684528284208054861682179055600d54909116835291208054909216179055620004435f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200048a91815260200190565b60405180910390a3505062000782565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004c357607f821691505b602082108103620004e257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000535575f81815260208120601f850160051c81016020861015620005105750805b601f850160051c820191505b8181101562000531578281556001016200051c565b5050505b505050565b81516001600160401b038111156200055657620005566200049a565b6200056e81620005678454620004ae565b84620004e8565b602080601f831160018114620005a4575f84156200058c5750858301515b5f19600386901b1c1916600185901b17855562000531565b5f85815260208120601f198616915b82811015620005d457888601518255948401946001909101908401620005b3565b5085821015620005f257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200065657815f19048211156200063a576200063a62000602565b808516156200064857918102915b93841c93908002906200061b565b509250929050565b5f826200066e575060016200070b565b816200067c57505f6200070b565b8160018114620006955760028114620006a057620006c0565b60019150506200070b565b60ff841115620006b457620006b462000602565b50506001821b6200070b565b5060208310610133831016604e8410600b8410161715620006e5575081810a6200070b565b620006f1838362000616565b805f190482111562000707576200070762000602565b0290505b92915050565b5f6200072160ff8416836200065e565b9392505050565b80820281158282048414176200070b576200070b62000602565b5f6020828403121562000753575f80fd5b5051919050565b5f602082840312156200076b575f80fd5b81516001600160a01b038116811462000721575f80fd5b6111ae80620007905f395ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063af465a271161006d578063af465a27146103cf578063b09f1266146103e4578063d28d8852146103f8578063dd62ed3e1461040c578063dff7dfdc14610450578063f1d6512e1461046f575f80fd5b8063715018a61461031d5780638da5cb5b1461033357806395d89b411461034f57806397f3a19e14610363578063a457c2d714610391578063a9059cbb146103b0575f80fd5b8063313ce56711610104578063313ce5671461024b578063395093511461026c57806349bd5a5e1461028b5780634a74bb02146102aa5780635892aa1b146102ca57806370a08231146102e9575f80fd5b806306fdde0314610155578063095ea7b31461017f5780631694505e146101ae57806318160ddd146101ee578063220f66961461020c57806323b872dd1461022c575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961049d565b6040516101769190610e97565b60405180910390f35b34801561018a575f80fd5b5061019e610199366004610ef9565b61052d565b6040519015158152602001610176565b3480156101b9575f80fd5b50600c546101d6906501000000000090046001600160a01b031681565b6040516001600160a01b039091168152602001610176565b3480156101f9575f80fd5b50600b545b604051908152602001610176565b348015610217575f80fd5b50600d5461019e90600160a01b900460ff1681565b348015610237575f80fd5b5061019e610246366004610f23565b610543565b348015610256575f80fd5b50600a5460405160ff9091168152602001610176565b348015610277575f80fd5b5061019e610286366004610ef9565b6105aa565b348015610296575f80fd5b50600d546101d6906001600160a01b031681565b3480156102b5575f80fd5b50600d5461019e90600160a81b900460ff1681565b3480156102d5575f80fd5b506007546101d6906001600160a01b031681565b3480156102f4575f80fd5b506101fe610303366004610f61565b6001600160a01b03165f9081526001602052604090205490565b348015610328575f80fd5b506103316105df565b005b34801561033e575f80fd5b505f546001600160a01b03166101d6565b34801561035a575f80fd5b50610169610685565b34801561036e575f80fd5b5061019e61037d366004610f61565b60026020525f908152604090205460ff1681565b34801561039c575f80fd5b5061019e6103ab366004610ef9565b610694565b3480156103bb575f80fd5b5061019e6103ca366004610ef9565b6106e1565b3480156103da575f80fd5b506101fe600b5481565b3480156103ef575f80fd5b506101696106ed565b348015610403575f80fd5b50610169610779565b348015610417575f80fd5b506101fe610426366004610f7c565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561045b575f80fd5b506006546101d6906001600160a01b031681565b34801561047a575f80fd5b5061019e610489366004610f61565b60036020525f908152604090205460ff1681565b6060600880546104ac90610fb3565b80601f01602080910402602001604051908101604052809291908181526020018280546104d890610fb3565b80156105235780601f106104fa57610100808354040283529160200191610523565b820191905f5260205f20905b81548152906001019060200180831161050657829003601f168201915b5050505050905090565b5f610539338484610786565b5060015b92915050565b5f61054f84848461083e565b6105a0843361059b8560405180606001604052806028815260200161112c602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610c44565b610786565b5060019392505050565b335f8181526004602090815260408083206001600160a01b0387168452909152812054909161053991859061059b9086610c6f565b5f546001600160a01b0316331461063d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600980546104ac90610fb3565b5f610539338461059b8560405180606001604052806025815260200161115460259139335f9081526004602090815260408083206001600160a01b038d1684529091529020549190610c44565b5f61053933848461083e565b600980546106fa90610fb3565b80601f016020809104026020016040519081016040528092919081815260200182805461072690610fb3565b80156107715780601f1061074857610100808354040283529160200191610771565b820191905f5260205f20905b81548152906001019060200180831161075457829003601f168201915b505050505081565b600880546106fa90610fb3565b6001600160a01b038316158015906107a657506001600160a01b03821615155b6107de5760405162461bcd60e51b815260206004820152600960248201526804164726573733a20360bc1b6044820152606401610634565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f9081526002602052604090205460ff166108ec5761087e60646108786019600b54610c8190919063ffffffff16565b90610c8c565b8161089d846001600160a01b03165f9081526001602052604090205490565b6108a79190610fff565b11156108e75760405162461bcd60e51b815260206004820152600f60248201526e4552523a204d57204578636565642160881b6044820152606401610634565b610950565b6001600160a01b0382165f9081526005602052604090205460ff1661091d57600d54600160b01b900460ff16610935565b600d5461093590600160b01b900460ff166001611012565b600d60166101000a81548160ff021916908360ff1602179055505b6001600160a01b0382165f9081526005602052604081205460ff16610975575f610979565b600e545b600c5490915060ff63010000008204811661010090920416108015906109a95750600d54600160a01b900460ff16155b80156109c35750600d546001600160a01b03858116911614155b80156109d85750600d54600160a81b900460ff165b15610a4257600c805461ff0019169055305f90815260016020526040902054600b54610a0c90606490610878906019610c81565b811115610a3157610a2e60646108786019600b54610c8190919063ffffffff16565b90505b8015610a4057610a4081610c97565b505b600c54600d5460ff91821691600160b01b9091041615801590610a735750600d546001600160a01b03868116911614155b15610aa557600c54610a989060ff62010000820481169164010000000090041661102b565b610aa29082611012565b90505b6001600160a01b0385165f9081526003602052604081205460ff1680610ae257506001600160a01b0385165f9081526003602052604090205460ff165b15610aeb575060015b6001600160a01b0386165f90815260016020526040812054610b0d9086610cd9565b6001600160a01b0388165f9081526001602052604090205581610b8657610b3c60646108788760ff8716610c81565b9050610b69610b4b8683610cd9565b6001600160a01b0388165f9081526001602052604090205490610c6f565b6001600160a01b0387165f90815260016020526040902055610bee565b6001600160a01b0386165f9081526005602052604090205460ff1615610bb357610b69610b4b8583610cd9565b6001600160a01b0386165f90815260016020526040902054610bd59086610c6f565b6001600160a01b0387165f908152600160205260409020555b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c3391815260200190565b60405180910390a350505050505050565b5f8184841115610c675760405162461bcd60e51b81526004016106349190610e97565b505050900390565b5f610c7a8284610fff565b9392505050565b5f610c7a8284611044565b5f610c7a828461105b565b600d805460ff60a01b1916600160a01b179055610cb381610ce4565b600654610cc9906001600160a01b031647610e5f565b50600d805460ff60a01b19169055565b5f610c7a828461107a565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d1757610d1761108d565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60059054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dac91906110a1565b81600181518110610dbf57610dbf61108d565b6001600160a01b039283166020918202929092010152600c54610dee9130916501000000000090041684610786565b600c5460405163791ac94760e01b8152650100000000009091046001600160a01b03169063791ac94790610e2e9085905f908690309042906004016110bc565b5f604051808303815f87803b158015610e45575f80fd5b505af1158015610e57573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610e92573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610ec257858101830151858201604001528201610ea6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ef6575f80fd5b50565b5f8060408385031215610f0a575f80fd5b8235610f1581610ee2565b946020939093013593505050565b5f805f60608486031215610f35575f80fd5b8335610f4081610ee2565b92506020840135610f5081610ee2565b929592945050506040919091013590565b5f60208284031215610f71575f80fd5b8135610c7a81610ee2565b5f8060408385031215610f8d575f80fd5b8235610f9881610ee2565b91506020830135610fa881610ee2565b809150509250929050565b600181811c90821680610fc757607f821691505b602082108103610fe557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561053d5761053d610feb565b60ff818116838216019081111561053d5761053d610feb565b60ff828116828216039081111561053d5761053d610feb565b808202811582820484141761053d5761053d610feb565b5f8261107557634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561053d5761053d610feb565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156110b1575f80fd5b8151610c7a81610ee2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561110a5784516001600160a01b0316835293830193918301916001016110e5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b5dda2fb2712bdacebb4986e58082042905161c62a336640c27accc0ed234bc264736f6c63430008150033000000000000000000000000000000000000000c9f2c9cd04674edea3fffffff

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063af465a271161006d578063af465a27146103cf578063b09f1266146103e4578063d28d8852146103f8578063dd62ed3e1461040c578063dff7dfdc14610450578063f1d6512e1461046f575f80fd5b8063715018a61461031d5780638da5cb5b1461033357806395d89b411461034f57806397f3a19e14610363578063a457c2d714610391578063a9059cbb146103b0575f80fd5b8063313ce56711610104578063313ce5671461024b578063395093511461026c57806349bd5a5e1461028b5780634a74bb02146102aa5780635892aa1b146102ca57806370a08231146102e9575f80fd5b806306fdde0314610155578063095ea7b31461017f5780631694505e146101ae57806318160ddd146101ee578063220f66961461020c57806323b872dd1461022c575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961049d565b6040516101769190610e97565b60405180910390f35b34801561018a575f80fd5b5061019e610199366004610ef9565b61052d565b6040519015158152602001610176565b3480156101b9575f80fd5b50600c546101d6906501000000000090046001600160a01b031681565b6040516001600160a01b039091168152602001610176565b3480156101f9575f80fd5b50600b545b604051908152602001610176565b348015610217575f80fd5b50600d5461019e90600160a01b900460ff1681565b348015610237575f80fd5b5061019e610246366004610f23565b610543565b348015610256575f80fd5b50600a5460405160ff9091168152602001610176565b348015610277575f80fd5b5061019e610286366004610ef9565b6105aa565b348015610296575f80fd5b50600d546101d6906001600160a01b031681565b3480156102b5575f80fd5b50600d5461019e90600160a81b900460ff1681565b3480156102d5575f80fd5b506007546101d6906001600160a01b031681565b3480156102f4575f80fd5b506101fe610303366004610f61565b6001600160a01b03165f9081526001602052604090205490565b348015610328575f80fd5b506103316105df565b005b34801561033e575f80fd5b505f546001600160a01b03166101d6565b34801561035a575f80fd5b50610169610685565b34801561036e575f80fd5b5061019e61037d366004610f61565b60026020525f908152604090205460ff1681565b34801561039c575f80fd5b5061019e6103ab366004610ef9565b610694565b3480156103bb575f80fd5b5061019e6103ca366004610ef9565b6106e1565b3480156103da575f80fd5b506101fe600b5481565b3480156103ef575f80fd5b506101696106ed565b348015610403575f80fd5b50610169610779565b348015610417575f80fd5b506101fe610426366004610f7c565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561045b575f80fd5b506006546101d6906001600160a01b031681565b34801561047a575f80fd5b5061019e610489366004610f61565b60036020525f908152604090205460ff1681565b6060600880546104ac90610fb3565b80601f01602080910402602001604051908101604052809291908181526020018280546104d890610fb3565b80156105235780601f106104fa57610100808354040283529160200191610523565b820191905f5260205f20905b81548152906001019060200180831161050657829003601f168201915b5050505050905090565b5f610539338484610786565b5060015b92915050565b5f61054f84848461083e565b6105a0843361059b8560405180606001604052806028815260200161112c602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610c44565b610786565b5060019392505050565b335f8181526004602090815260408083206001600160a01b0387168452909152812054909161053991859061059b9086610c6f565b5f546001600160a01b0316331461063d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600980546104ac90610fb3565b5f610539338461059b8560405180606001604052806025815260200161115460259139335f9081526004602090815260408083206001600160a01b038d1684529091529020549190610c44565b5f61053933848461083e565b600980546106fa90610fb3565b80601f016020809104026020016040519081016040528092919081815260200182805461072690610fb3565b80156107715780601f1061074857610100808354040283529160200191610771565b820191905f5260205f20905b81548152906001019060200180831161075457829003601f168201915b505050505081565b600880546106fa90610fb3565b6001600160a01b038316158015906107a657506001600160a01b03821615155b6107de5760405162461bcd60e51b815260206004820152600960248201526804164726573733a20360bc1b6044820152606401610634565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f9081526002602052604090205460ff166108ec5761087e60646108786019600b54610c8190919063ffffffff16565b90610c8c565b8161089d846001600160a01b03165f9081526001602052604090205490565b6108a79190610fff565b11156108e75760405162461bcd60e51b815260206004820152600f60248201526e4552523a204d57204578636565642160881b6044820152606401610634565b610950565b6001600160a01b0382165f9081526005602052604090205460ff1661091d57600d54600160b01b900460ff16610935565b600d5461093590600160b01b900460ff166001611012565b600d60166101000a81548160ff021916908360ff1602179055505b6001600160a01b0382165f9081526005602052604081205460ff16610975575f610979565b600e545b600c5490915060ff63010000008204811661010090920416108015906109a95750600d54600160a01b900460ff16155b80156109c35750600d546001600160a01b03858116911614155b80156109d85750600d54600160a81b900460ff165b15610a4257600c805461ff0019169055305f90815260016020526040902054600b54610a0c90606490610878906019610c81565b811115610a3157610a2e60646108786019600b54610c8190919063ffffffff16565b90505b8015610a4057610a4081610c97565b505b600c54600d5460ff91821691600160b01b9091041615801590610a735750600d546001600160a01b03868116911614155b15610aa557600c54610a989060ff62010000820481169164010000000090041661102b565b610aa29082611012565b90505b6001600160a01b0385165f9081526003602052604081205460ff1680610ae257506001600160a01b0385165f9081526003602052604090205460ff165b15610aeb575060015b6001600160a01b0386165f90815260016020526040812054610b0d9086610cd9565b6001600160a01b0388165f9081526001602052604090205581610b8657610b3c60646108788760ff8716610c81565b9050610b69610b4b8683610cd9565b6001600160a01b0388165f9081526001602052604090205490610c6f565b6001600160a01b0387165f90815260016020526040902055610bee565b6001600160a01b0386165f9081526005602052604090205460ff1615610bb357610b69610b4b8583610cd9565b6001600160a01b0386165f90815260016020526040902054610bd59086610c6f565b6001600160a01b0387165f908152600160205260409020555b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c3391815260200190565b60405180910390a350505050505050565b5f8184841115610c675760405162461bcd60e51b81526004016106349190610e97565b505050900390565b5f610c7a8284610fff565b9392505050565b5f610c7a8284611044565b5f610c7a828461105b565b600d805460ff60a01b1916600160a01b179055610cb381610ce4565b600654610cc9906001600160a01b031647610e5f565b50600d805460ff60a01b19169055565b5f610c7a828461107a565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d1757610d1761108d565b60200260200101906001600160a01b031690816001600160a01b031681525050600c60059054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dac91906110a1565b81600181518110610dbf57610dbf61108d565b6001600160a01b039283166020918202929092010152600c54610dee9130916501000000000090041684610786565b600c5460405163791ac94760e01b8152650100000000009091046001600160a01b03169063791ac94790610e2e9085905f908690309042906004016110bc565b5f604051808303815f87803b158015610e45575f80fd5b505af1158015610e57573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610e92573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610ec257858101830151858201604001528201610ea6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ef6575f80fd5b50565b5f8060408385031215610f0a575f80fd5b8235610f1581610ee2565b946020939093013593505050565b5f805f60608486031215610f35575f80fd5b8335610f4081610ee2565b92506020840135610f5081610ee2565b929592945050506040919091013590565b5f60208284031215610f71575f80fd5b8135610c7a81610ee2565b5f8060408385031215610f8d575f80fd5b8235610f9881610ee2565b91506020830135610fa881610ee2565b809150509250929050565b600181811c90821680610fc757607f821691505b602082108103610fe557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561053d5761053d610feb565b60ff818116838216019081111561053d5761053d610feb565b60ff828116828216039081111561053d5761053d610feb565b808202811582820484141761053d5761053d610feb565b5f8261107557634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561053d5761053d610feb565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156110b1575f80fd5b8151610c7a81610ee2565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561110a5784516001600160a01b0316835293830193918301916001016110e5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b5dda2fb2712bdacebb4986e58082042905161c62a336640c27accc0ed234bc264736f6c63430008150033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000c9f2c9cd04674edea3fffffff

-----Decoded View---------------
Arg [0] : _tokens (uint256): 999999999999999999999999999999

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000c9f2c9cd04674edea3fffffff


Deployed Bytecode Sourcemap

13902:6914:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16320:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17157:161;;;;;;;;;;-1:-1:-1;17157:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17157:161:0;1023:187:1;14898:41:0;;;;;;;;;;-1:-1:-1;14898:41:0;;;;;;;-1:-1:-1;;;;;14898:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;14898:41:0;1215:230:1;16502:95:0;;;;;;;;;;-1:-1:-1;16582:7:0;;16502:95;;;1596:25:1;;;1584:2;1569:18;16502:95:0;1450:177:1;14981:28:0;;;;;;;;;;-1:-1:-1;14981:28:0;;;;-1:-1:-1;;;14981:28:0;;;;;;17326:313;;;;;;;;;;-1:-1:-1;17326:313:0;;;;;:::i;:::-;;:::i;16411:83::-;;;;;;;;;;-1:-1:-1;16477:9:0;;16411:83;;16477:9;;;;2235:36:1;;2223:2;2208:18;16411:83:0;2093:184:1;17647:218:0;;;;;;;;;;-1:-1:-1;17647:218:0;;;;;:::i;:::-;;:::i;14946:28::-;;;;;;;;;;-1:-1:-1;14946:28:0;;;;-1:-1:-1;;;;;14946:28:0;;;15016:40;;;;;;;;;;-1:-1:-1;15016:40:0;;;;-1:-1:-1;;;15016:40:0;;;;;;14434:82;;;;;;;;;;-1:-1:-1;14434:82:0;;;;-1:-1:-1;;;;;14434:82:0;;;16700:123;;;;;;;;;;-1:-1:-1;16700:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16793:22:0;16766:7;16793:22;;;:13;:22;;;;;;;16700:123;13741:148;;;;;;;;;;;;;:::i;:::-;;13518:87;;;;;;;;;;-1:-1:-1;13564:7:0;13591:6;-1:-1:-1;;;;;13591:6:0;13518:87;;16605;;;;;;;;;;;;;:::i;14079:54::-;;;;;;;;;;-1:-1:-1;14079:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17873:269;;;;;;;;;;-1:-1:-1;17873:269:0;;;;;:::i;:::-;;:::i;16831:167::-;;;;;;;;;;-1:-1:-1;16831:167:0;;;;;:::i;:::-;;:::i;14649:53::-;;;;;;;;;;;;;;;;14571:37;;;;;;;;;;;;;:::i;14525:39::-;;;;;;;;;;;;;:::i;17006:143::-;;;;;;;;;;-1:-1:-1;17006:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17114:18:0;;;17087:7;17114:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17006:143;14333:94;;;;;;;;;;-1:-1:-1;14333:94:0;;;;-1:-1:-1;;;;;14333:94:0;;;14140:48;;;;;;;;;;-1:-1:-1;14140:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16320:83;16357:13;16390:5;16383:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16320:83;:::o;17157:161::-;17232:4;17249:39;1898:10;17272:7;17281:6;17249:8;:39::i;:::-;-1:-1:-1;17306:4:0;17157:161;;;;;:::o;17326:313::-;17424:4;17441:36;17451:6;17459:9;17470:6;17441:9;:36::i;:::-;17488:121;17497:6;1898:10;17519:89;17557:6;17519:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17519:19:0;;;;;;:11;:19;;;;;;;;1898:10;17519:33;;;;;;;;;;:37;:89::i;:::-;17488:8;:121::i;:::-;-1:-1:-1;17627:4:0;17326:313;;;;;:::o;17647:218::-;1898:10;17735:4;17784:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17784:34:0;;;;;;;;;;17735:4;;17752:83;;17775:7;;17784:50;;17823:10;17784:38;:50::i;13741:148::-;13564:7;13591:6;-1:-1:-1;;;;;13591:6:0;1898:10;13653:23;13645:68;;;;-1:-1:-1;;;13645:68:0;;3946:2:1;13645:68:0;;;3928:21:1;;;3965:18;;;3958:30;4024:34;4004:18;;;3997:62;4076:18;;13645:68:0;;;;;;;;;13848:1:::1;13832:6:::0;;13811:40:::1;::::0;-1:-1:-1;;;;;13832:6:0;;::::1;::::0;13811:40:::1;::::0;13848:1;;13811:40:::1;13879:1;13862:19:::0;;-1:-1:-1;;;;;;13862:19:0::1;::::0;;13741:148::o;16605:87::-;16644:13;16677:7;16670:14;;;;;:::i;17873:269::-;17966:4;17983:129;1898:10;18006:7;18015:96;18054:15;18015:96;;;;;;;;;;;;;;;;;1898:10;18015:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18015:34:0;;;;;;;;;;;;:38;:96::i;16831:167::-;16909:4;16926:42;1898:10;16950:9;16961:6;16926:9;:42::i;14571:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14525:39::-;;;;;;;:::i;18191:254::-;-1:-1:-1;;;;;18284:19:0;;;;;;:44;;-1:-1:-1;;;;;;18307:21:0;;;;18284:44;18276:66;;;;-1:-1:-1;;;18276:66:0;;4307:2:1;18276:66:0;;;4289:21:1;4346:1;4326:18;;;4319:29;-1:-1:-1;;;4364:18:1;;;4357:39;4413:18;;18276:66:0;4105:332:1;18276:66:0;-1:-1:-1;;;;;18353:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18405:32;;1596:25:1;;;18405:32:0;;1569:18:1;18405:32:0;;;;;;;18191:254;;;:::o;18453:1648::-;-1:-1:-1;;;;;18536:25:0;;;;;;:21;:25;;;;;;;;18531:236;;18613:25;18634:3;18613:16;18625:3;18613:7;;:11;;:16;;;;:::i;:::-;:20;;:25::i;:::-;18602:6;18586:13;18596:2;-1:-1:-1;;;;;16793:22:0;16766:7;16793:22;;;:13;:22;;;;;;;16700:123;18586:13;:22;;;;:::i;:::-;18585:53;;18577:80;;;;-1:-1:-1;;;18577:80:0;;4906:2:1;18577:80:0;;;4888:21:1;4945:2;4925:18;;;4918:30;-1:-1:-1;;;4964:18:1;;;4957:45;5019:18;;18577:80:0;4704:339:1;18577:80:0;18531:236;;;-1:-1:-1;;;;;18712:13:0;;;;;;:9;:13;;;;;;;;:43;;18744:11;;-1:-1:-1;;;18744:11:0;;;;18712:43;;;18728:11;;:13;;-1:-1:-1;;;18728:11:0;;;;18740:1;18728:13;:::i;:::-;18698:11;;:57;;;;;;;;;;;;;;;;;;18531:236;-1:-1:-1;;;;;18794:13:0;;18777:14;18794:13;;;:9;:13;;;;;;;;:28;;18821:1;18794:28;;;18808:12;;18794:28;18851:11;;18777:45;;-1:-1:-1;18851:11:0;;;;;;;18836;;;;:26;;;;:47;;-1:-1:-1;18867:16:0;;-1:-1:-1;;;18867:16:0;;;;18866:17;18836:47;:72;;;;-1:-1:-1;18895:13:0;;-1:-1:-1;;;;;18887:21:0;;;18895:13;;18887:21;;18836:72;:97;;;;-1:-1:-1;18912:21:0;;-1:-1:-1;;;18912:21:0;;;;18836:97;18833:406;;;18952:11;:15;;-1:-1:-1;;18952:15:0;;;19023:4;-1:-1:-1;16793:22:0;;;-1:-1:-1;16793:22:0;;;;;;19062:7;;:25;;19083:3;;19062:16;;19074:3;19062:11;:16::i;:25::-;19047:12;:40;19044:87;;;19105:24;19125:3;19105:15;19117:2;19105:7;;:11;;:15;;;;:::i;:24::-;19090:39;;19044:87;19148:16;;19145:83;;19184:28;19199:12;19184:14;:28::i;:::-;18935:304;18833:406;19266:3;;19283:11;;19266:3;;;;;-1:-1:-1;;;19283:11:0;;;;:15;;;;:43;;-1:-1:-1;19312:13:0;;-1:-1:-1;;;;;19304:21:0;;;19312:13;;19304:21;19302:24;19283:43;19280:103;;;19366:14;;19351:29;;19366:14;;;;;;;19351;;;;:29;:::i;:::-;19339:42;;:8;:42;:::i;:::-;19328:53;;19280:103;-1:-1:-1;;;;;19433:21:0;;19395:16;19433:21;;;:15;:21;;;;;;;;;:44;;-1:-1:-1;;;;;;19458:19:0;;;;;;:15;:19;;;;;;;;19433:44;19430:93;;;-1:-1:-1;19507:4:0;19430:93;-1:-1:-1;;;;;19589:19:0;;19535:17;19589:19;;;:13;:19;;;;;;:31;;19613:6;19589:23;:31::i;:::-;-1:-1:-1;;;;;19567:19:0;;;;;;:13;:19;;;;;:53;19635:11;19631:421;;19674:29;19699:3;19674:20;:6;:20;;;:10;:20::i;:29::-;19662:41;-1:-1:-1;19738:44:0;19760:21;:6;19662:41;19760:10;:21::i;:::-;-1:-1:-1;;;;;19738:17:0;;;;;;:13;:17;;;;;;;:21;:44::i;:::-;-1:-1:-1;;;;;19718:17:0;;;;;;:13;:17;;;;;:64;19631:421;;;-1:-1:-1;;;;;19826:13:0;;;;;;:9;:13;;;;;;;;19823:218;;;19879:44;19901:21;:6;19912:9;19901:10;:21::i;19823:218::-;-1:-1:-1;;;;;19996:17:0;;;;;;:13;:17;;;;;;:29;;20018:6;19996:21;:29::i;:::-;-1:-1:-1;;;;;19976:17:0;;;;;;:13;:17;;;;;:49;19823:218;20082:2;-1:-1:-1;;;;;20067:26:0;20076:4;-1:-1:-1;;;;;20067:26:0;;20086:6;20067:26;;;;1596:25:1;;1584:2;1569:18;;1450:177;20067:26:0;;;;;;;;18520:1581;;;;18453:1648;;;:::o;1349:206::-;1435:7;1496:12;1488:6;;;;1480:29;;;;-1:-1:-1;;;1480:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1531:5:0;;;1349:206::o;921:98::-;979:7;1006:5;1010:1;1006;:5;:::i;:::-;999:12;921:98;-1:-1:-1;;;921:98:0:o;1133:::-;1191:7;1218:5;1222:1;1218;:5;:::i;1243:98::-;1301:7;1328:5;1332:1;1328;:5;:::i;20233:179::-;15366:16;:23;;-1:-1:-1;;;;15366:23:0;-1:-1:-1;;;15366:23:0;;;20310:30:::1;20327:12:::0;20310:16:::1;:30::i;:::-;20364:17;::::0;20351:53:::1;::::0;-1:-1:-1;;;;;20364:17:0::1;20382:21;20351:12;:53::i;:::-;-1:-1:-1::0;15412:16:0;:24;;-1:-1:-1;;;;15412:24:0;;;20233:179::o;1027:98::-;1085:7;1112:5;1116:1;1112;:5;:::i;20420:391::-;20510:16;;;20524:1;20510:16;;;;;;;;20486:21;;20510:16;;;;;;;;;;-1:-1:-1;20510:16:0;20486:40;;20555:4;20537;20542:1;20537:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20537:23:0;;;-1:-1:-1;;;;;20537:23:0;;;;;20581:15;;;;;;;;;-1:-1:-1;;;;;20581:15:0;-1:-1:-1;;;;;20581:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20571:4;20576:1;20571:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20571:32:0;;;:7;;;;;;;;;:32;20646:15;;20614:62;;20631:4;;20646:15;;;;20664:11;20614:8;:62::i;:::-;20687:15;;:116;;-1:-1:-1;;;20687:116:0;;:15;;;;-1:-1:-1;;;;;20687:15:0;;:66;;:116;;20754:11;;20766:1;;20768:4;;20781;;20787:15;;20687:116;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20475:336;20420:391;:::o;20113:112::-;20194:23;;-1:-1:-1;;;;;20194:15:0;;;:23;;;;;20210:6;;20194:23;;;;20210:6;20194:15;:23;;;;;;;;;;;;;;;;;;;;;20113:112;;:::o;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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2714:247::-;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2881:9;2868:23;2900:31;2925:5;2900:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:380::-;3438:1;3434:12;;;;3481;;;3502:61;;3556:4;3548:6;3544:17;3534:27;;3502:61;3609:2;3601:6;3598:14;3578:18;3575:38;3572:161;;3655:10;3650:3;3646:20;3643:1;3636:31;3690:4;3687:1;3680:15;3718:4;3715:1;3708:15;3572:161;;3359:380;;;:::o;4442:127::-;4503:10;4498:3;4494:20;4491:1;4484:31;4534:4;4531:1;4524:15;4558:4;4555:1;4548:15;4574:125;4639:9;;;4660:10;;;4657:36;;;4673:18;;:::i;5048:148::-;5136:4;5115:12;;;5129;;;5111:31;;5154:13;;5151:39;;;5170:18;;:::i;5201:151::-;5291:4;5284:12;;;5270;;;5266:31;;5309:14;;5306:40;;;5326:18;;:::i;5357:168::-;5430:9;;;5461;;5478:15;;;5472:22;;5458:37;5448:71;;5499:18;;:::i;5530:217::-;5570:1;5596;5586:132;;5640:10;5635:3;5631:20;5628:1;5621:31;5675:4;5672:1;5665:15;5703:4;5700:1;5693:15;5586:132;-1:-1:-1;5732:9:1;;5530:217::o;5752:128::-;5819:9;;;5840:11;;;5837:37;;;5854:18;;:::i;6017:127::-;6078:10;6073:3;6069:20;6066:1;6059:31;6109:4;6106:1;6099:15;6133:4;6130:1;6123:15;6149:251;6219:6;6272:2;6260:9;6251:7;6247:23;6243:32;6240:52;;;6288:1;6285;6278:12;6240:52;6320:9;6314:16;6339:31;6364:5;6339:31;:::i;6405:980::-;6667:4;6715:3;6704:9;6700:19;6746:6;6735:9;6728:25;6772:2;6810:6;6805:2;6794:9;6790:18;6783:34;6853:3;6848:2;6837:9;6833:18;6826:31;6877:6;6912;6906:13;6943:6;6935;6928:22;6981:3;6970:9;6966:19;6959:26;;7020:2;7012:6;7008:15;6994:29;;7041:1;7051:195;7065:6;7062:1;7059:13;7051:195;;;7130:13;;-1:-1:-1;;;;;7126:39:1;7114:52;;7221:15;;;;7186:12;;;;7162:1;7080:9;7051:195;;;-1:-1:-1;;;;;;;7302:32:1;;;;7297:2;7282:18;;7275:60;-1:-1:-1;;;7366:3:1;7351:19;7344:35;7263:3;6405:980;-1:-1:-1;;;6405:980:1:o

Swarm Source

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