ETH Price: $2,644.45 (+1.45%)

Token

InchBot (InchBot)
 

Overview

Max Total Supply

10,000,000 InchBot

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
23,619.877455442 InchBot

Value
$0.00
0x579318d2c235bccf88aa70f5766cba9935beaa2f
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:
InchBot

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : InchBot.sol
pragma solidity 0.8.14;

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    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 {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IRouter01 {
    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);
    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 swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    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 IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

contract InchBot is Context, Ownable, IERC20 {

    mapping(address => bool) public _blackList;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFee;
    mapping (address => bool) private liquidityAdd;
    mapping (address => bool) private isLpPair;
    mapping (address => bool) private isPresaleAddress;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 10_000_000 * 10 ** 9;
    uint256 constant public swapThreshold = _totalSupply / 5_000;
    uint256  public buyfee = 50;
    uint256  public sellfee = 50;
    uint256  public transferfee = 0;
    uint256 constant public fee_denominator = 1_000;
    bool private canSwapFees = true;
    address payable private marketingAddress;

    IRouter02 public swapRouter;
    string constant private _name = "InchBot";
    string constant private _symbol = "InchBot";
    uint8 constant private _decimals = 9;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public lpPair;
    bool public isTradingEnabled = false;
    bool private inSwap;

    modifier inSwapFlag {
        inSwap = true;
        _;
        inSwap = false;
    }


    event _enableTrading();
    event _setPresaleAddress(address account, bool enabled);
    event _toggleCanSwapFees(bool enabled);
    event _changePair(address newLpPair);
    event _changeWallets(address marketing);


    constructor () {
        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _noFee[msg.sender] = true;
        liquidityAdd[msg.sender] = true;
        marketingAddress = payable(msg.sender);
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
        lpPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this));
        isLpPair[lpPair] = true;
        _approve(msg.sender, address(swapRouter), type(uint256).max);
        _approve(address(this), address(swapRouter), type(uint256).max);
    }

    receive() external payable {}

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");
        _allowances[sender][spender] = amount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }
        return _transfer(sender, recipient, amount);
    }

    function isNoFeeWallet(address account) external view returns(bool) {
        return _noFee[account];
    }

    function setNoFeeWallet(address account, bool enabled) public onlyOwner {
        _noFee[account] = enabled;
    }

    function isLimitedAddress(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
        && out != owner() && msg.sender != owner()
        && !liquidityAdd[ins]  && !liquidityAdd[out] && out != DEAD && out != address(0) && out != address(this);
        return isLimited;
    }

    function is_buy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !isLpPair[out] && isLpPair[ins];
        return _is_buy;
    }

    function is_sell(address ins, address out) internal view returns (bool) {
        bool _is_sell = isLpPair[out] && !isLpPair[ins];
        return _is_sell;
    }

    function canSwap(address ins, address out) internal view returns (bool) {
        bool canswap = canSwapFees && !isPresaleAddress[ins] && !isPresaleAddress[out];
        return canswap;
    }

    function enableTrading() external onlyOwner {
        require(!isTradingEnabled, "Trading already enabled");
        isTradingEnabled = true;
        emit _enableTrading();
    }


    function changeLpPair(address newPair) external onlyOwner {
        isLpPair[newPair] = true;
        emit _changePair(newPair);
    }

    function toggleCanSwapFees(bool yesno) external onlyOwner {
        require(canSwapFees != yesno,"Bool is the same");
        canSwapFees = yesno;
        emit _toggleCanSwapFees(yesno);
    }

    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_blackList[from], "blackList");

        if (isLimitedAddress(from,to)) {
            require(isTradingEnabled,"Trading is not enabled");
        }

        if(is_sell(from, to) &&  !inSwap && canSwap(from, to)) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= swapThreshold) { internalSwap(contractTokenBalance); }
        }

        if (_noFee[from] || _noFee[to]){
            takeFee = false;
        }

        balance[from] -= amount;
        uint256 amountAfterFee = (takeFee) ? takeTaxes(from, is_buy(from, to), is_sell(from, to), amount) : amount;
        balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }


    function changeWallets(address marketing) external onlyOwner {
        marketingAddress = payable(marketing);
        emit _changeWallets(marketing);
    }

    function changebuyfee(uint256 buyfee_) external onlyOwner {
        buyfee = buyfee_;
    }

    function changesellfee(uint256 sellfee_) external onlyOwner {
        sellfee = sellfee_;
    }

    function changetransferfee(uint256 transferfee_) external onlyOwner {
        transferfee = transferfee_;
    }

    function setblackAddress(address wallet_,bool state_) external onlyOwner {
        _blackList[wallet_] = state_;
    }

    function takeTaxes(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = buyfee;  else if (issell)  fee = sellfee;  else  fee = transferfee;
        if (fee == 0)  return amount;
        uint256 feeAmount = amount * fee / fee_denominator;
        if (feeAmount > 0) {

            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);

        }
        return amount - feeAmount;
    }

    function internalSwap(uint256 contractTokenBalance) internal inSwapFlag {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            marketingAddress,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function withdrawEth() external payable {
        require(msg.sender == marketingAddress, "Not correct address");
        (bool success,) = marketingAddress.call{value : address(this).balance}("");
        require(success, "Transfer failed.");
    }

    function withdrawToken() external payable {
        require(msg.sender == marketingAddress, "Not correct address");
        uint256 selfbalance = balanceOf(address(this));
        if (selfbalance > 0) {
            bool success = _transfer(address(this), marketingAddress, selfbalance);
            require(success, "payMent  Transfer failed.");
        }
    }

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newLpPair","type":"address"}],"name":"_changePair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketing","type":"address"}],"name":"_changeWallets","type":"event"},{"anonymous":false,"inputs":[],"name":"_enableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_setPresaleAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_toggleCanSwapFees","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"buyfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"changeLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"changeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyfee_","type":"uint256"}],"name":"changebuyfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellfee_","type":"uint256"}],"name":"changesellfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"transferfee_","type":"uint256"}],"name":"changetransferfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee_denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet_","type":"address"},{"internalType":"bool","name":"state_","type":"bool"}],"name":"setblackAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"yesno","type":"bool"}],"name":"toggleCanSwapFees","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"withdrawToken","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052603260088190556009556000600a55600b805460ff19166001179055600d805460ff60a01b191690553480156200003a57600080fd5b506200004633620002de565b600c8054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0319909116179055336000818152600360209081526040808320805460ff1990811660019081179092556004845282852080549091169091179055600b8054610100600160a81b031916610100860217905560078252808320662386f26fc100009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001759190620003fa565b6001600160a01b031663c9c65396600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fd9190620003fa565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200024a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002709190620003fa565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600560205260409020805460ff19166001179055600c54620002bc913391166000196200032e565b600c54620002d89030906001600160a01b03166000196200032e565b6200042c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003805760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003ce5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000377565b6001600160a01b0392831660009081526002602090815260408083209490951682529290925291902055565b6000602082840312156200040d57600080fd5b81516001600160a01b03811681146200042557600080fd5b9392505050565b6119e7806200043c6000396000f3fe6080604052600436106102135760003560e01c806370a0823111610118578063b9913111116100a0578063d5914dc01161006f578063d5914dc0146105d2578063dc9d75b0146105f2578063dd62ed3e14610608578063e9451f5f1461064e578063f2fde38b1461066457600080fd5b8063b99131111461056a578063c31c9c071461058a578063c4ab12b5146105aa578063ca628c78146105ca57600080fd5b80638da5cb5b116100e75780638da5cb5b146104ef57806395d89b41146102a6578063a0ef91df14610522578063a9059cbb1461052a578063a94124a41461054a57600080fd5b806370a08231146104a4578063715018a6146104da578063893d20e8146104ef5780638a8c523c1461050d57600080fd5b806323b872dd1161019b578063452ed4f11161016a578063452ed4f1146103fe57806354de7bee1461041e578063595dec3c146104345780635fc00d80146104645780636f88e75d1461048457600080fd5b806323b872dd1461036e578063278898621461038e578063313ce567146103c75780633eaaf86b146103e357600080fd5b8063095ea7b3116101e2578063095ea7b3146102dc5780630faba554146102fc578063111a60b01461031e57806318160ddd1461033e5780631dc369451461035857600080fd5b806303fd2a451461021f5780630445b66714610252578063064a59d01461027557806306fdde03146102a657600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023561dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561025e57600080fd5b50610267610684565b604051908152602001610249565b34801561028157600080fd5b50600d5461029690600160a01b900460ff1681565b6040519015158152602001610249565b3480156102b257600080fd5b506040805180820182526007815266125b98da109bdd60ca1b6020820152905161024991906116a0565b3480156102e857600080fd5b506102966102f736600461170a565b61069a565b34801561030857600080fd5b5061031c61031736600461174b565b6106b0565b005b34801561032a57600080fd5b5061031c610339366004611780565b61070e565b34801561034a57600080fd5b50662386f26fc10000610267565b34801561036457600080fd5b5061026760085481565b34801561037a57600080fd5b506102966103893660046117a2565b6107cd565b34801561039a57600080fd5b506102966103a93660046117e3565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156103d357600080fd5b5060405160098152602001610249565b3480156103ef57600080fd5b50610267662386f26fc1000081565b34801561040a57600080fd5b50600d54610235906001600160a01b031681565b34801561042a57600080fd5b50610267600a5481565b34801561044057600080fd5b5061029661044f3660046117e3565b60016020526000908152604090205460ff1681565b34801561047057600080fd5b5061031c61047f36600461174b565b610845565b34801561049057600080fd5b5061031c61049f366004611800565b61089a565b3480156104b057600080fd5b506102676104bf3660046117e3565b6001600160a01b031660009081526007602052604090205490565b3480156104e657600080fd5b5061031c6108c9565b3480156104fb57600080fd5b506000546001600160a01b0316610235565b34801561051957600080fd5b5061031c6108ff565b61031c6109c1565b34801561053657600080fd5b5061029661054536600461170a565b610ab4565b34801561055657600080fd5b5061031c610565366004611800565b610acb565b34801561057657600080fd5b5061031c610585366004611800565b610afa565b34801561059657600080fd5b50600c54610235906001600160a01b031681565b3480156105b657600080fd5b5061031c6105c53660046117e3565b610b29565b61031c610ba9565b3480156105de57600080fd5b5061031c6105ed3660046117e3565b610c89565b3480156105fe57600080fd5b506102676103e881565b34801561061457600080fd5b50610267610623366004611819565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561065a57600080fd5b5061026760095481565b34801561067057600080fd5b5061031c61067f3660046117e3565b610d07565b610697611388662386f26fc10000611868565b81565b60006106a7338484610d9f565b50600192915050565b6000546001600160a01b031633146106e35760405162461bcd60e51b81526004016106da9061188a565b60405180910390fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107385760405162461bcd60e51b81526004016106da9061188a565b600b5481151560ff9091161515036107855760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b60448201526064016106da565b600b805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8906020015b60405180910390a150565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610832576001600160a01b03841660009081526002602090815260408083203384529091528120805484929061082c9084906118bf565b90915550505b61083d848484610e63565b949350505050565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016106da9061188a565b600855565b6000546001600160a01b031633146108f35760405162461bcd60e51b81526004016106da9061188a565b6108fd60006111dd565b565b6000546001600160a01b031633146109295760405162461bcd60e51b81526004016106da9061188a565b600d54600160a01b900460ff16156109835760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016106da565b600d805460ff60a01b1916600160a01b1790556040517fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686890600090a1565b600b5461010090046001600160a01b03163314610a165760405162461bcd60e51b81526020600482015260136024820152724e6f7420636f7272656374206164647265737360681b60448201526064016106da565b600b5460405160009161010090046001600160a01b03169047908381818185875af1925050503d8060008114610a68576040519150601f19603f3d011682016040523d82523d6000602084013e610a6d565b606091505b5050905080610ab15760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016106da565b50565b6000610ac1338484610e63565b5060019392505050565b6000546001600160a01b03163314610af55760405162461bcd60e51b81526004016106da9061188a565b600a55565b6000546001600160a01b03163314610b245760405162461bcd60e51b81526004016106da9061188a565b600955565b6000546001600160a01b03163314610b535760405162461bcd60e51b81526004016106da9061188a565b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe906020016107c2565b600b5461010090046001600160a01b03163314610bfe5760405162461bcd60e51b81526020600482015260136024820152724e6f7420636f7272656374206164647265737360681b60448201526064016106da565b306000908152600760205260409020548015610ab1576000610c3630600b60019054906101000a90046001600160a01b031684610e63565b905080610c855760405162461bcd60e51b815260206004820152601960248201527f7061794d656e7420205472616e73666572206661696c65642e0000000000000060448201526064016106da565b5050565b6000546001600160a01b03163314610cb35760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b038116600081815260056020908152604091829020805460ff1916600117905590519182527f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f791016107c2565b6000546001600160a01b03163314610d315760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b038116610d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106da565b610ab1816111dd565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016106da565b6001600160a01b038216610e375760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016106da565b6001600160a01b0392831660009081526002602090815260408083209490951682529290925291902055565b600060016001600160a01b038416610ec95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106da565b6001600160a01b038516610f2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106da565b60008311610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106da565b6001600160a01b03851660009081526001602052604090205460ff1615610fe45760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b60448201526064016106da565b610fee858561122d565b1561104557600d54600160a01b900460ff166110455760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016106da565b61104f8585611319565b80156110655750600d54600160a81b900460ff16155b801561107657506110768585611360565b156110af573060009081526007602052604090205461109e611388662386f26fc10000611868565b81106110ad576110ad816113ba565b505b6001600160a01b03851660009081526003602052604090205460ff16806110ee57506001600160a01b03841660009081526003602052604090205460ff165b156110f7575060005b6001600160a01b0385166000908152600760205260408120805485929061111f9084906118bf565b9091555060009050816111325783611150565b611150866111408888611587565b61114a8989611319565b876115ce565b6001600160a01b03861660009081526007602052604081208054929350839290919061117d9084906118d6565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111c991815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806112426000546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561127157506000546001600160a01b03848116911614155b801561128857506000546001600160a01b03163314155b80156112ad57506001600160a01b03841660009081526004602052604090205460ff16155b80156112d257506001600160a01b03831660009081526004602052604090205460ff16155b80156112e957506001600160a01b03831661dead14155b80156112fd57506001600160a01b03831615155b801561083d57506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260056020526040812054819060ff16801561083d57505050506001600160a01b031660009081526005602052604090205460ff161590565b600b54600090819060ff16801561139057506001600160a01b03841660009081526006602052604090205460ff16155b801561083d575050506001600160a01b031660009081526006602052604090205460ff1615919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611402576114026118ee565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f9190611904565b81600181518110611492576114926118ee565b6001600160a01b03928316602091820292909201810191909152306000908152600282526040808220600c549094168252929091522054600019146114fc57306000908152600260209081526040808320600c546001600160a01b03168452909152902060001990555b600c54600b5460405163791ac94760e01b81526001600160a01b039283169263791ac947926115409287926000928892610100909104909116904290600401611921565b600060405180830381600087803b15801561155a57600080fd5b505af192505050801561156b575060015b6115755750611577565b505b50600d805460ff60a81b19169055565b6001600160a01b038116600090815260056020526040812054819060ff1615801561083d57505050506001600160a01b031660009081526005602052604090205460ff1690565b60008084156115e057506008546115f4565b83156115ef57506009546115f4565b50600a545b80600003611605578291505061083d565b60006103e86116148386611992565b61161e9190611868565b9050801561168b5730600090815260076020526040812080548392906116459084906118d6565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61169581856118bf565b979650505050505050565b600060208083528351808285015260005b818110156116cd578581018301518582016040015282016116b1565b818111156116df576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610ab157600080fd5b6000806040838503121561171d57600080fd5b8235611728816116f5565b946020939093013593505050565b8035801515811461174657600080fd5b919050565b6000806040838503121561175e57600080fd5b8235611769816116f5565b915061177760208401611736565b90509250929050565b60006020828403121561179257600080fd5b61179b82611736565b9392505050565b6000806000606084860312156117b757600080fd5b83356117c2816116f5565b925060208401356117d2816116f5565b929592945050506040919091013590565b6000602082840312156117f557600080fd5b813561179b816116f5565b60006020828403121561181257600080fd5b5035919050565b6000806040838503121561182c57600080fd5b8235611837816116f5565b91506020830135611847816116f5565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60008261188557634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000828210156118d1576118d1611852565b500390565b600082198211156118e9576118e9611852565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561191657600080fd5b815161179b816116f5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119715784516001600160a01b03168352938301939183019160010161194c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156119ac576119ac611852565b50029056fea264697066735822122059d288e41ca1f2a4f2f44033e53d7b041b04dfbb71572c318144eda0f7079f7764736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806370a0823111610118578063b9913111116100a0578063d5914dc01161006f578063d5914dc0146105d2578063dc9d75b0146105f2578063dd62ed3e14610608578063e9451f5f1461064e578063f2fde38b1461066457600080fd5b8063b99131111461056a578063c31c9c071461058a578063c4ab12b5146105aa578063ca628c78146105ca57600080fd5b80638da5cb5b116100e75780638da5cb5b146104ef57806395d89b41146102a6578063a0ef91df14610522578063a9059cbb1461052a578063a94124a41461054a57600080fd5b806370a08231146104a4578063715018a6146104da578063893d20e8146104ef5780638a8c523c1461050d57600080fd5b806323b872dd1161019b578063452ed4f11161016a578063452ed4f1146103fe57806354de7bee1461041e578063595dec3c146104345780635fc00d80146104645780636f88e75d1461048457600080fd5b806323b872dd1461036e578063278898621461038e578063313ce567146103c75780633eaaf86b146103e357600080fd5b8063095ea7b3116101e2578063095ea7b3146102dc5780630faba554146102fc578063111a60b01461031e57806318160ddd1461033e5780631dc369451461035857600080fd5b806303fd2a451461021f5780630445b66714610252578063064a59d01461027557806306fdde03146102a657600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023561dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561025e57600080fd5b50610267610684565b604051908152602001610249565b34801561028157600080fd5b50600d5461029690600160a01b900460ff1681565b6040519015158152602001610249565b3480156102b257600080fd5b506040805180820182526007815266125b98da109bdd60ca1b6020820152905161024991906116a0565b3480156102e857600080fd5b506102966102f736600461170a565b61069a565b34801561030857600080fd5b5061031c61031736600461174b565b6106b0565b005b34801561032a57600080fd5b5061031c610339366004611780565b61070e565b34801561034a57600080fd5b50662386f26fc10000610267565b34801561036457600080fd5b5061026760085481565b34801561037a57600080fd5b506102966103893660046117a2565b6107cd565b34801561039a57600080fd5b506102966103a93660046117e3565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156103d357600080fd5b5060405160098152602001610249565b3480156103ef57600080fd5b50610267662386f26fc1000081565b34801561040a57600080fd5b50600d54610235906001600160a01b031681565b34801561042a57600080fd5b50610267600a5481565b34801561044057600080fd5b5061029661044f3660046117e3565b60016020526000908152604090205460ff1681565b34801561047057600080fd5b5061031c61047f36600461174b565b610845565b34801561049057600080fd5b5061031c61049f366004611800565b61089a565b3480156104b057600080fd5b506102676104bf3660046117e3565b6001600160a01b031660009081526007602052604090205490565b3480156104e657600080fd5b5061031c6108c9565b3480156104fb57600080fd5b506000546001600160a01b0316610235565b34801561051957600080fd5b5061031c6108ff565b61031c6109c1565b34801561053657600080fd5b5061029661054536600461170a565b610ab4565b34801561055657600080fd5b5061031c610565366004611800565b610acb565b34801561057657600080fd5b5061031c610585366004611800565b610afa565b34801561059657600080fd5b50600c54610235906001600160a01b031681565b3480156105b657600080fd5b5061031c6105c53660046117e3565b610b29565b61031c610ba9565b3480156105de57600080fd5b5061031c6105ed3660046117e3565b610c89565b3480156105fe57600080fd5b506102676103e881565b34801561061457600080fd5b50610267610623366004611819565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561065a57600080fd5b5061026760095481565b34801561067057600080fd5b5061031c61067f3660046117e3565b610d07565b610697611388662386f26fc10000611868565b81565b60006106a7338484610d9f565b50600192915050565b6000546001600160a01b031633146106e35760405162461bcd60e51b81526004016106da9061188a565b60405180910390fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107385760405162461bcd60e51b81526004016106da9061188a565b600b5481151560ff9091161515036107855760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b60448201526064016106da565b600b805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8906020015b60405180910390a150565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610832576001600160a01b03841660009081526002602090815260408083203384529091528120805484929061082c9084906118bf565b90915550505b61083d848484610e63565b949350505050565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016106da9061188a565b600855565b6000546001600160a01b031633146108f35760405162461bcd60e51b81526004016106da9061188a565b6108fd60006111dd565b565b6000546001600160a01b031633146109295760405162461bcd60e51b81526004016106da9061188a565b600d54600160a01b900460ff16156109835760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016106da565b600d805460ff60a01b1916600160a01b1790556040517fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686890600090a1565b600b5461010090046001600160a01b03163314610a165760405162461bcd60e51b81526020600482015260136024820152724e6f7420636f7272656374206164647265737360681b60448201526064016106da565b600b5460405160009161010090046001600160a01b03169047908381818185875af1925050503d8060008114610a68576040519150601f19603f3d011682016040523d82523d6000602084013e610a6d565b606091505b5050905080610ab15760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016106da565b50565b6000610ac1338484610e63565b5060019392505050565b6000546001600160a01b03163314610af55760405162461bcd60e51b81526004016106da9061188a565b600a55565b6000546001600160a01b03163314610b245760405162461bcd60e51b81526004016106da9061188a565b600955565b6000546001600160a01b03163314610b535760405162461bcd60e51b81526004016106da9061188a565b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe906020016107c2565b600b5461010090046001600160a01b03163314610bfe5760405162461bcd60e51b81526020600482015260136024820152724e6f7420636f7272656374206164647265737360681b60448201526064016106da565b306000908152600760205260409020548015610ab1576000610c3630600b60019054906101000a90046001600160a01b031684610e63565b905080610c855760405162461bcd60e51b815260206004820152601960248201527f7061794d656e7420205472616e73666572206661696c65642e0000000000000060448201526064016106da565b5050565b6000546001600160a01b03163314610cb35760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b038116600081815260056020908152604091829020805460ff1916600117905590519182527f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f791016107c2565b6000546001600160a01b03163314610d315760405162461bcd60e51b81526004016106da9061188a565b6001600160a01b038116610d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106da565b610ab1816111dd565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016106da565b6001600160a01b038216610e375760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016106da565b6001600160a01b0392831660009081526002602090815260408083209490951682529290925291902055565b600060016001600160a01b038416610ec95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106da565b6001600160a01b038516610f2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106da565b60008311610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106da565b6001600160a01b03851660009081526001602052604090205460ff1615610fe45760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b60448201526064016106da565b610fee858561122d565b1561104557600d54600160a01b900460ff166110455760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016106da565b61104f8585611319565b80156110655750600d54600160a81b900460ff16155b801561107657506110768585611360565b156110af573060009081526007602052604090205461109e611388662386f26fc10000611868565b81106110ad576110ad816113ba565b505b6001600160a01b03851660009081526003602052604090205460ff16806110ee57506001600160a01b03841660009081526003602052604090205460ff165b156110f7575060005b6001600160a01b0385166000908152600760205260408120805485929061111f9084906118bf565b9091555060009050816111325783611150565b611150866111408888611587565b61114a8989611319565b876115ce565b6001600160a01b03861660009081526007602052604081208054929350839290919061117d9084906118d6565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111c991815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806112426000546001600160a01b031690565b6001600160a01b0316846001600160a01b03161415801561127157506000546001600160a01b03848116911614155b801561128857506000546001600160a01b03163314155b80156112ad57506001600160a01b03841660009081526004602052604090205460ff16155b80156112d257506001600160a01b03831660009081526004602052604090205460ff16155b80156112e957506001600160a01b03831661dead14155b80156112fd57506001600160a01b03831615155b801561083d57506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260056020526040812054819060ff16801561083d57505050506001600160a01b031660009081526005602052604090205460ff161590565b600b54600090819060ff16801561139057506001600160a01b03841660009081526006602052604090205460ff16155b801561083d575050506001600160a01b031660009081526006602052604090205460ff1615919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611402576114026118ee565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f9190611904565b81600181518110611492576114926118ee565b6001600160a01b03928316602091820292909201810191909152306000908152600282526040808220600c549094168252929091522054600019146114fc57306000908152600260209081526040808320600c546001600160a01b03168452909152902060001990555b600c54600b5460405163791ac94760e01b81526001600160a01b039283169263791ac947926115409287926000928892610100909104909116904290600401611921565b600060405180830381600087803b15801561155a57600080fd5b505af192505050801561156b575060015b6115755750611577565b505b50600d805460ff60a81b19169055565b6001600160a01b038116600090815260056020526040812054819060ff1615801561083d57505050506001600160a01b031660009081526005602052604090205460ff1690565b60008084156115e057506008546115f4565b83156115ef57506009546115f4565b50600a545b80600003611605578291505061083d565b60006103e86116148386611992565b61161e9190611868565b9050801561168b5730600090815260076020526040812080548392906116459084906118d6565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61169581856118bf565b979650505050505050565b600060208083528351808285015260005b818110156116cd578581018301518582016040015282016116b1565b818111156116df576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610ab157600080fd5b6000806040838503121561171d57600080fd5b8235611728816116f5565b946020939093013593505050565b8035801515811461174657600080fd5b919050565b6000806040838503121561175e57600080fd5b8235611769816116f5565b915061177760208401611736565b90509250929050565b60006020828403121561179257600080fd5b61179b82611736565b9392505050565b6000806000606084860312156117b757600080fd5b83356117c2816116f5565b925060208401356117d2816116f5565b929592945050506040919091013590565b6000602082840312156117f557600080fd5b813561179b816116f5565b60006020828403121561181257600080fd5b5035919050565b6000806040838503121561182c57600080fd5b8235611837816116f5565b91506020830135611847816116f5565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60008261188557634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000828210156118d1576118d1611852565b500390565b600082198211156118e9576118e9611852565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561191657600080fd5b815161179b816116f5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119715784516001600160a01b03168352938301939183019160010161194c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156119ac576119ac611852565b50029056fea264697066735822122059d288e41ca1f2a4f2f44033e53d7b041b04dfbb71572c318144eda0f7079f7764736f6c634300080e0033

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.