ETH Price: $2,438.99 (+6.28%)

Token

Omnibot X (OMNIX)
 

Overview

Max Total Supply

100,000,000 OMNIX

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*探偵スナイパー.eth
Balance
40,265.854576677538882698 OMNIX

Value
$0.00
0x345f365Fb2f72466C150d6fcB09e873981404b6C
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:
OmnibotX

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : OmnibotX.sol
/**
Website:    https://www.omnibotx.io/
TG:         https://t.me/omnibotxsecurity
X:          https://twitter.com/OmniBotX
Whitepaper: https://whitepaper.omnibotx.io/info/
TG Bot:     https://t.me/omnibotx_bot

░█████╗░███╗░░░███╗███╗░░██╗██╗██████╗░░█████╗░████████╗██╗░░██╗
██╔══██╗████╗░████║████╗░██║██║██╔══██╗██╔══██╗╚══██╔══╝╚██╗██╔╝
██║░░██║██╔████╔██║██╔██╗██║██║██████╦╝██║░░██║░░░██║░░░░╚███╔╝░
██║░░██║██║╚██╔╝██║██║╚████║██║██╔══██╗██║░░██║░░░██║░░░░██╔██╗░
╚█████╔╝██║░╚═╝░██║██║░╚███║██║██████╦╝╚█████╔╝░░░██║░░░██╔╝╚██╗
░╚════╝░╚═╝░░░░░╚═╝╚═╝░░╚══╝╚═╝╚═════╝░░╚════╝░░░░╚═╝░░░╚═╝░░╚═╝

**/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.21;
pragma experimental ABIEncoderV2;

abstract contract Ownable {
    address private _owner;

    constructor() {
        _owner = msg.sender;
    }

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

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

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

library SafeERC20 {
    function safeTransfer(address token, address to, uint256 value) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: INTERNAL TRANSFER_FAILED');
    }
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external;
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;

    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract OmnibotX is Ownable {
    string private constant _name = unicode"Omnibot X";
    string private constant _symbol = unicode"OMNIX";
    uint256 private constant _totalSupply = 100_000_000 * 1e18;

    uint256 public maxTransactionAmount = _totalSupply / 50;
    uint256 public maxWallet = _totalSupply / 50;
    uint256 public swapTokensAtAmount = (_totalSupply * 2) / 10000;

    address private revWallet;
    address private treasuryWallet;
    address private teamWallet;
    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    uint8 public buyTotalFees = 20;
    uint8 public sellTotalFees = 20;

    uint8 public revFee = 50;
    uint8 public treasuryFee = 25;
    uint8 public teamFee = 25;

    bool private swapping;
    bool public limitsInEffect = true;
    bool private launched;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public immutable uniswapV2Pair;

    constructor() {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), WETH);
        automatedMarketMakerPairs[uniswapV2Pair] = true;

        revWallet = msg.sender;
        treasuryWallet = msg.sender;
        teamWallet = msg.sender;

        setExcludedFromFees(owner(), true);
        setExcludedFromFees(address(this), true);
        setExcludedFromFees(address(0xdead), true);
        setExcludedFromFees(teamWallet, true);
        setExcludedFromFees(revWallet, true);
        setExcludedFromFees(treasuryWallet, true);
        setExcludedFromFees(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, true);

        setExcludedFromMaxTransaction(owner(), true);
        setExcludedFromMaxTransaction(address(uniswapV2Router), true);
        setExcludedFromMaxTransaction(address(this), true);
        setExcludedFromMaxTransaction(address(0xdead), true);
        setExcludedFromMaxTransaction(address(uniswapV2Pair), true);
        setExcludedFromMaxTransaction(teamWallet, true);
        setExcludedFromMaxTransaction(revWallet, true);
        setExcludedFromMaxTransaction(treasuryWallet, true);

        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply);

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
    }

    receive() external payable {}

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

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

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

    function totalSupply() public pure returns (uint256) {
        return _totalSupply;
    }

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

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        uint256 currentAllowance = _allowances[sender][msg.sender];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, msg.sender, currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        if (!launched && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            revert("Trading not enabled");
        }

        if (limitsInEffect) {
            if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to] && !swapping) {
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTx");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount,"Sell transfer amount exceeds the maxTx");
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;

        if (canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;

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

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = (amount * sellTotalFees) / 1000;
            } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = (amount * buyTotalFees) / 1000;
            }

            if (fees > 0) {
                unchecked {
                    amount = amount - fees;
                    _balances[from] -= fees;
                    _balances[address(this)] += fees;
                }
                emit Transfer(from, address(this), fees);
            }
        }
        unchecked {
            _balances[from] -= amount;
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function setDistributionFees(uint8 _RevFee, uint8 _TreasuryFee, uint8 _teamFee) external onlyOwner {
        revFee = _RevFee;
        treasuryFee = _TreasuryFee;
        teamFee = _teamFee;
        require((revFee + treasuryFee + teamFee) == 100, "Distribution have to be equal to 100%");
    }

    function setFees(uint8 _buyTotalFees, uint8 _sellTotalFees) external onlyOwner {
        require(_buyTotalFees <= 30, "Buy fees must be less than or equal to 3%");
        require(_sellTotalFees <= 30, "Sell fees must be less than or equal to 3%");
        buyTotalFees = _buyTotalFees;
        sellTotalFees = _sellTotalFees;
    }

    function setExcludedFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
    }

    function setExcludedFromMaxTransaction(address account, bool excluded) public onlyOwner {
        _isExcludedMaxTransactionAmount[account] = excluded;
    }

    function enableTrade() external onlyOwner {
        require(!launched, "Already launched");
        launched = true;
    }

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed");
        automatedMarketMakerPairs[pair] = value;
    }

    function setSwapAtAmount(uint256 newSwapAmount) external onlyOwner {
        require(newSwapAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% of the supply");
        require(newSwapAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% of the supply");
        swapTokensAtAmount = newSwapAmount;
    }

    function setMaxTxnAmount(uint256 newMaxTx) external onlyOwner {
        require(newMaxTx >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max transaction lower than 0.1%");
        maxTransactionAmount = newMaxTx * (10**18);
    }

    function setMaxWalletAmount(uint256 newMaxWallet) external onlyOwner {
        require(newMaxWallet >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max wallet lower than 0.1%");
        maxWallet = newMaxWallet * (10**18);
    }

    function updateRevWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        revWallet = newAddress;
    }

    function updateTreasuryWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        treasuryWallet = newAddress;
    }

    function updateTeamWallet(address newAddress) external onlyOwner {
        require(newAddress != address(0), "Address cannot be zero");
        teamWallet = newAddress;
    }

    function excludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function withdrawStuckETH(address addr) external onlyOwner {
        require(addr != address(0), "Invalid address");

        (bool success, ) = addr.call{value: address(this).balance}("");
        require(success, "Withdrawal failed");
    }

    function swapBack() private {
        uint256 swapThreshold = swapTokensAtAmount;
        bool success;

        if (balanceOf(address(this)) > swapTokensAtAmount * 20) {
            swapThreshold = swapTokensAtAmount * 20;
        }

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(swapThreshold, 0, path, address(this), block.timestamp);

        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            uint256 ethForRev = (ethBalance * revFee) / 100;
            uint256 ethForTeam = (ethBalance * teamFee) / 100;
            uint256 ethForTreasury = ethBalance - ethForRev - ethForTeam;

            (success, ) = address(teamWallet).call{value: ethForTeam}("");
            (success, ) = address(treasuryWallet).call{value: ethForTreasury}("");
            (success, ) = address(revWallet).call{value: ethForRev}("");

        }
    }
}

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

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_RevFee","type":"uint8"},{"internalType":"uint8","name":"_TreasuryFee","type":"uint8"},{"internalType":"uint8","name":"_teamFee","type":"uint8"}],"name":"setDistributionFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buyTotalFees","type":"uint8"},{"internalType":"uint8","name":"_sellTotalFees","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTx","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWallet","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapAmount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":[],"name":"treasuryFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateRevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526200001c60326a52b7d2dcc80cd2e40000006200052f565b6001556200003760326a52b7d2dcc80cd2e40000006200052f565b6002556127106a52b7d2dcc80cd2e400000060026200005791906200054f565b6200006391906200052f565b6003556006805466ff00ffffffffff60a01b1916654006464c850560a21b17905534801562000090575f80fd5b505f80546001600160a01b031916331790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9163c45a01559160048083019260209291908290030181865afa158015620000f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000117919062000579565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260248201526001600160a01b03919091169063c9c65396906044016020604051808303815f875af115801562000177573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200019d919062000579565b6001600160a01b031660808190525f908152600b60205260409020805460ff19166001179055600480546001600160a01b031990811633908117909255600580548216831790556006805490911690911790556200020e620002065f546001600160a01b031690565b6001620003c5565b6200021b306001620003c5565b6200022a61dead6001620003c5565b60065462000243906001600160a01b03166001620003c5565b6004546200025c906001600160a01b03166001620003c5565b60055462000275906001600160a01b03166001620003c5565b62000296737a250d5630b4cf539739df2c5dacb4c659f2488d6001620003c5565b620002b4620002ac5f546001600160a01b031690565b60016200044c565b620002d5737a250d5630b4cf539739df2c5dacb4c659f2488d60016200044c565b620002e23060016200044c565b620002f161dead60016200044c565b608051620003019060016200044c565b6006546200031a906001600160a01b031660016200044c565b60045462000333906001600160a01b031660016200044c565b6005546200034c906001600160a01b031660016200044c565b335f8181526007602090815260408083206a52b7d2dcc80cd2e40000009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620003bf30737a250d5630b4cf539739df2c5dacb4c659f2488d5f19620004cf565b620005a8565b33620003d85f546001600160a01b031690565b6001600160a01b031614620004225760405162461bcd60e51b815260206004820181905260248201525f80516020620025b583398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b336200045f5f546001600160a01b031690565b6001600160a01b031614620004a55760405162461bcd60e51b815260206004820181905260248201525f80516020620025b5833981519152604482015260640162000419565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f826200054a57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176200057357634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156200058a575f80fd5b81516001600160a01b0381168114620005a1575f80fd5b9392505050565b608051611fed620005c85f395f81816103c001526110950152611fed5ff3fe608060405260043610610214575f3560e01c8063715018a61161011e578063a9059cbb116100a8578063d7c94efd1161006d578063d7c94efd14610688578063d85ba063146106a8578063dd62ed3e146106c8578063e2f456051461070c578063f8b45b0514610721575f80fd5b8063a9059cbb146105f6578063adfa29e514610615578063c8c8ebe414610634578063cc32d17614610649578063d201b01e14610669575f80fd5b8063809d458d116100ee578063809d458d1461053857806385ecafd7146105575780638da5cb5b1461058e57806395d89b41146105aa5780639a7a23d6146105d7575f80fd5b8063715018a6146104d257806374010ece146104e6578063751039fc146105055780637cb332bb14610519575f80fd5b80633c090c461161019f578063590ffdce1161016f578063590ffdce146104215780636402511e1461044057806366650dae1461045f5780636a486a8e1461047e57806370a082311461049e575f80fd5b80633c090c461461039057806349bd5a5e146103af5780634a62bb65146103e25780634fcd244614610402575f80fd5b806318160ddd116101e557806318160ddd146102e657806321d37e391461030d57806323b872dd1461033f57806327a14fc21461035e578063313ce5671461037d575f80fd5b806299d3861461021f57806306fdde0314610235578063095ea7b3146102785780631694505e146102a7575f80fd5b3661021b57005b5f80fd5b34801561022a575f80fd5b50610233610736565b005b348015610240575f80fd5b5060408051808201909152600981526809edadcd2c4dee840b60bb1b60208201525b60405161026f9190611c66565b60405180910390f35b348015610283575f80fd5b50610297610292366004611ccc565b6107d9565b604051901515815260200161026f565b3480156102b2575f80fd5b506102ce737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161026f565b3480156102f1575f80fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161026f565b348015610318575f80fd5b5060065461032d90600160b01b900460ff1681565b60405160ff909116815260200161026f565b34801561034a575f80fd5b50610297610359366004611cf4565b6107ef565b348015610369575f80fd5b50610233610378366004611d2d565b61089e565b348015610388575f80fd5b50601261032d565b34801561039b575f80fd5b506102336103aa366004611d54565b610981565b3480156103ba575f80fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed575f80fd5b5060065461029790600160d01b900460ff1681565b34801561040d575f80fd5b5061023361041c366004611d94565b610a89565b34801561042c575f80fd5b5061023361043b366004611dc5565b610bc2565b34801561044b575f80fd5b5061023361045a366004611d2d565b610c24565b34801561046a575f80fd5b50610233610479366004611dc5565b610d81565b348015610489575f80fd5b5060065461032d90600160a81b900460ff1681565b3480156104a9575f80fd5b506102ff6104b8366004611dfe565b6001600160a01b03165f9081526007602052604090205490565b3480156104dd575f80fd5b50610233610de3565b3480156104f1575f80fd5b50610233610500366004611d2d565b610e2c565b348015610510575f80fd5b50610233610f14565b348015610524575f80fd5b50610233610533366004611dfe565b610f5b565b348015610543575f80fd5b50610233610552366004611dfe565b610fdb565b348015610562575f80fd5b50610297610571366004611dfe565b6001600160a01b03165f9081526009602052604090205460ff1690565b348015610599575f80fd5b505f546001600160a01b03166102ce565b3480156105b5575f80fd5b5060408051808201909152600581526409e9a9c92b60db1b6020820152610262565b3480156105e2575f80fd5b506102336105f1366004611dc5565b61105b565b348015610601575f80fd5b50610297610610366004611ccc565b61113e565b348015610620575f80fd5b5061023361062f366004611dfe565b61114a565b34801561063f575f80fd5b506102ff60015481565b348015610654575f80fd5b5060065461032d90600160b81b900460ff1681565b348015610674575f80fd5b50610233610683366004611dfe565b6111ca565b348015610693575f80fd5b5060065461032d90600160c01b900460ff1681565b3480156106b3575f80fd5b5060065461032d90600160a01b900460ff1681565b3480156106d3575f80fd5b506102ff6106e2366004611e1e565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610717575f80fd5b506102ff60035481565b34801561072c575f80fd5b506102ff60025481565b336107485f546001600160a01b031690565b6001600160a01b0316146107775760405162461bcd60e51b815260040161076e90611e46565b60405180910390fd5b600654600160d81b900460ff16156107c45760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015260640161076e565b6006805460ff60d81b1916600160d81b179055565b5f6107e53384846112e1565b5060015b92915050565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f198114610888578281101561087b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161076e565b61088885338584036112e1565b610893858585611341565b506001949350505050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108d65760405162461bcd60e51b815260040161076e90611e46565b670de0b6b3a76400006103e86108f86a52b7d2dcc80cd2e40000006001611e8f565b6109029190611ea6565b61090c9190611ea6565b8110156109695760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b606482015260840161076e565b61097b81670de0b6b3a7640000611e8f565b60025550565b336109935f546001600160a01b031690565b6001600160a01b0316146109b95760405162461bcd60e51b815260040161076e90611e46565b6006805461ffff60b01b1916600160b01b60ff868116820260ff60b81b191692909217600160b81b86841681029190911760ff60c01b1916600160c01b868516810291909117948590558404831693610a1a93918104821692900416611ec5565b610a249190611ec5565b60ff16606414610a845760405162461bcd60e51b815260206004820152602560248201527f446973747269627574696f6e206861766520746f20626520657175616c20746f604482015264203130302560d81b606482015260840161076e565b505050565b33610a9b5f546001600160a01b031690565b6001600160a01b031614610ac15760405162461bcd60e51b815260040161076e90611e46565b601e8260ff161115610b275760405162461bcd60e51b815260206004820152602960248201527f4275792066656573206d757374206265206c657373207468616e206f7220657160448201526875616c20746f20332560b81b606482015260840161076e565b601e8160ff161115610b8e5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c2066656573206d757374206265206c657373207468616e206f7220656044820152697175616c20746f20332560b01b606482015260840161076e565b6006805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b33610bd45f546001600160a01b031690565b6001600160a01b031614610bfa5760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b33610c365f546001600160a01b031690565b6001600160a01b031614610c5c5760405162461bcd60e51b815260040161076e90611e46565b620186a0610c766a52b7d2dcc80cd2e40000006001611e8f565b610c809190611ea6565b811015610ced5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527420302e30303125206f662074686520737570706c7960581b606482015260840161076e565b6103e8610d066a52b7d2dcc80cd2e40000006005611e8f565b610d109190611ea6565b811115610d7c5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f7420626520686967686572207468616044820152736e20302e3525206f662074686520737570706c7960601b606482015260840161076e565b600355565b33610d935f546001600160a01b031690565b6001600160a01b031614610db95760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b33610df55f546001600160a01b031690565b6001600160a01b031614610e1b5760405162461bcd60e51b815260040161076e90611e46565b5f80546001600160a01b0319169055565b33610e3e5f546001600160a01b031690565b6001600160a01b031614610e645760405162461bcd60e51b815260040161076e90611e46565b670de0b6b3a76400006103e8610e866a52b7d2dcc80cd2e40000006001611e8f565b610e909190611ea6565b610e9a9190611ea6565b811015610efc5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6f776572604482015269207468616e20302e312560b01b606482015260840161076e565b610f0e81670de0b6b3a7640000611e8f565b60015550565b33610f265f546001600160a01b031690565b6001600160a01b031614610f4c5760405162461bcd60e51b815260040161076e90611e46565b6006805460ff60d01b19169055565b33610f6d5f546001600160a01b031690565b6001600160a01b031614610f935760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b038116610fb95760405162461bcd60e51b815260040161076e90611ede565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b33610fed5f546001600160a01b031690565b6001600160a01b0316146110135760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b0381166110395760405162461bcd60e51b815260040161076e90611ede565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b3361106d5f546001600160a01b031690565b6001600160a01b0316146110935760405162461bcd60e51b815260040161076e90611e46565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036111145760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f766564000000000000604482015260640161076e565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f6107e5338484611341565b3361115c5f546001600160a01b031690565b6001600160a01b0316146111825760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b0381166111a85760405162461bcd60e51b815260040161076e90611ede565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336111dc5f546001600160a01b031690565b6001600160a01b0316146112025760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03811661124a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161076e565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611293576040519150601f19603f3d011682016040523d82523d5f602084013e611298565b606091505b50509050806112dd5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b604482015260640161076e565b5050565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600654600160d81b900460ff1615801561137357506001600160a01b0383165f9081526009602052604090205460ff16155b801561139757506001600160a01b0382165f9081526009602052604090205460ff16155b156113da5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161076e565b600654600160d01b900460ff1615611686576001600160a01b0383165f9081526009602052604090205460ff1615801561142c57506001600160a01b0382165f9081526009602052604090205460ff16155b80156114425750600654600160c81b900460ff16155b15611686576001600160a01b0383165f908152600b602052604090205460ff16801561148657506001600160a01b0382165f908152600a602052604090205460ff16155b15611559576001548111156114eb5760405162461bcd60e51b815260206004820152602560248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152640dac2f0a8f60db1b606482015260840161076e565b6002546001600160a01b0383165f908152600760205260409020546115109083611f0e565b11156115545760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161076e565b611686565b6001600160a01b0382165f908152600b602052604090205460ff16801561159857506001600160a01b0383165f908152600a602052604090205460ff16155b156115fe576001548111156115545760405162461bcd60e51b815260206004820152602660248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015265040dac2f0a8f60d31b606482015260840161076e565b6001600160a01b0382165f908152600a602052604090205460ff16611686576002546001600160a01b0383165f908152600760205260409020546116429083611f0e565b11156116865760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161076e565b600354305f908152600760205260409020541080159081906116b25750600654600160c81b900460ff16155b80156116d657506001600160a01b0384165f908152600b602052604090205460ff16155b80156116fa57506001600160a01b0384165f9081526009602052604090205460ff16155b801561171e57506001600160a01b0383165f9081526009602052604090205460ff16155b1561174c576006805460ff60c81b1916600160c81b17905561173e6119bf565b6006805460ff60c81b191690555b6006546001600160a01b0385165f9081526009602052604090205460ff600160c81b90920482161591168061179857506001600160a01b0384165f9081526009602052604090205460ff165b156117a057505f5b6001600160a01b0385165f90815260076020526040902054838110156118175760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161076e565b5f821561194d576001600160a01b0386165f908152600b602052604090205460ff1680156118505750600654600160a81b900460ff1615155b15611881576006546103e89061187090600160a81b900460ff1687611e8f565b61187a9190611ea6565b90506118e0565b6001600160a01b0387165f908152600b602052604090205460ff1680156118b35750600654600160a01b900460ff1615155b156118e0576006546103e8906118d390600160a01b900460ff1687611e8f565b6118dd9190611ea6565b90505b801561194d576001600160a01b0387165f8181526007602090815260408083208054869003905530808452928190208054860190555184815297849003979192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b038088165f8181526007602052604080822080548a900390559289168082529083902080548901905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119ae9089815260200190565b60405180910390a350505050505050565b6003545f6119ce826014611e8f565b305f9081526007602052604090205411156119f4576003546119f1906014611e8f565b91505b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a2757611a27611f21565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611a6f57611a6f611f21565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611ac69086905f90869030904290600401611f35565b5f604051808303815f87803b158015611add575f80fd5b505af1158015611aef573d5f803e3d5ffd5b504792505081159050611c60576006545f90606490611b1890600160b01b900460ff1684611e8f565b611b229190611ea6565b6006549091505f90606490611b4190600160c01b900460ff1685611e8f565b611b4b9190611ea6565b90505f81611b598486611fa4565b611b639190611fa4565b6006546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611bae576040519150601f19603f3d011682016040523d82523d5f602084013e611bb3565b606091505b50506005546040519197506001600160a01b03169082905f81818185875af1925050503d805f8114611c00576040519150601f19603f3d011682016040523d82523d5f602084013e611c05565b606091505b50506004546040519197506001600160a01b03169084905f81818185875af1925050503d805f8114611c52576040519150601f19603f3d011682016040523d82523d5f602084013e611c57565b606091505b50909650505050505b50505050565b5f6020808352835180828501525f5b81811015611c9157858101830151858201604001528201611c75565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611cc7575f80fd5b919050565b5f8060408385031215611cdd575f80fd5b611ce683611cb1565b946020939093013593505050565b5f805f60608486031215611d06575f80fd5b611d0f84611cb1565b9250611d1d60208501611cb1565b9150604084013590509250925092565b5f60208284031215611d3d575f80fd5b5035919050565b803560ff81168114611cc7575f80fd5b5f805f60608486031215611d66575f80fd5b611d6f84611d44565b9250611d7d60208501611d44565b9150611d8b60408501611d44565b90509250925092565b5f8060408385031215611da5575f80fd5b611dae83611d44565b9150611dbc60208401611d44565b90509250929050565b5f8060408385031215611dd6575f80fd5b611ddf83611cb1565b915060208301358015158114611df3575f80fd5b809150509250929050565b5f60208284031215611e0e575f80fd5b611e1782611cb1565b9392505050565b5f8060408385031215611e2f575f80fd5b611e3883611cb1565b9150611dbc60208401611cb1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107e9576107e9611e7b565b5f82611ec057634e487b7160e01b5f52601260045260245ffd5b500490565b60ff81811683821601908111156107e9576107e9611e7b565b602080825260169082015275416464726573732063616e6e6f74206265207a65726f60501b604082015260600190565b808201808211156107e9576107e9611e7b565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f835784516001600160a01b031683529383019391830191600101611f5e565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156107e9576107e9611e7b56fea26469706673582212206dac6346cd2c9e20c32c80a0d8c205447c084a2632d68fdc5c69d9251f69ae1c64736f6c634300081500334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x608060405260043610610214575f3560e01c8063715018a61161011e578063a9059cbb116100a8578063d7c94efd1161006d578063d7c94efd14610688578063d85ba063146106a8578063dd62ed3e146106c8578063e2f456051461070c578063f8b45b0514610721575f80fd5b8063a9059cbb146105f6578063adfa29e514610615578063c8c8ebe414610634578063cc32d17614610649578063d201b01e14610669575f80fd5b8063809d458d116100ee578063809d458d1461053857806385ecafd7146105575780638da5cb5b1461058e57806395d89b41146105aa5780639a7a23d6146105d7575f80fd5b8063715018a6146104d257806374010ece146104e6578063751039fc146105055780637cb332bb14610519575f80fd5b80633c090c461161019f578063590ffdce1161016f578063590ffdce146104215780636402511e1461044057806366650dae1461045f5780636a486a8e1461047e57806370a082311461049e575f80fd5b80633c090c461461039057806349bd5a5e146103af5780634a62bb65146103e25780634fcd244614610402575f80fd5b806318160ddd116101e557806318160ddd146102e657806321d37e391461030d57806323b872dd1461033f57806327a14fc21461035e578063313ce5671461037d575f80fd5b806299d3861461021f57806306fdde0314610235578063095ea7b3146102785780631694505e146102a7575f80fd5b3661021b57005b5f80fd5b34801561022a575f80fd5b50610233610736565b005b348015610240575f80fd5b5060408051808201909152600981526809edadcd2c4dee840b60bb1b60208201525b60405161026f9190611c66565b60405180910390f35b348015610283575f80fd5b50610297610292366004611ccc565b6107d9565b604051901515815260200161026f565b3480156102b2575f80fd5b506102ce737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161026f565b3480156102f1575f80fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161026f565b348015610318575f80fd5b5060065461032d90600160b01b900460ff1681565b60405160ff909116815260200161026f565b34801561034a575f80fd5b50610297610359366004611cf4565b6107ef565b348015610369575f80fd5b50610233610378366004611d2d565b61089e565b348015610388575f80fd5b50601261032d565b34801561039b575f80fd5b506102336103aa366004611d54565b610981565b3480156103ba575f80fd5b506102ce7f000000000000000000000000445a85dde2476e91c9a74e1ad99504cf01c0e1a681565b3480156103ed575f80fd5b5060065461029790600160d01b900460ff1681565b34801561040d575f80fd5b5061023361041c366004611d94565b610a89565b34801561042c575f80fd5b5061023361043b366004611dc5565b610bc2565b34801561044b575f80fd5b5061023361045a366004611d2d565b610c24565b34801561046a575f80fd5b50610233610479366004611dc5565b610d81565b348015610489575f80fd5b5060065461032d90600160a81b900460ff1681565b3480156104a9575f80fd5b506102ff6104b8366004611dfe565b6001600160a01b03165f9081526007602052604090205490565b3480156104dd575f80fd5b50610233610de3565b3480156104f1575f80fd5b50610233610500366004611d2d565b610e2c565b348015610510575f80fd5b50610233610f14565b348015610524575f80fd5b50610233610533366004611dfe565b610f5b565b348015610543575f80fd5b50610233610552366004611dfe565b610fdb565b348015610562575f80fd5b50610297610571366004611dfe565b6001600160a01b03165f9081526009602052604090205460ff1690565b348015610599575f80fd5b505f546001600160a01b03166102ce565b3480156105b5575f80fd5b5060408051808201909152600581526409e9a9c92b60db1b6020820152610262565b3480156105e2575f80fd5b506102336105f1366004611dc5565b61105b565b348015610601575f80fd5b50610297610610366004611ccc565b61113e565b348015610620575f80fd5b5061023361062f366004611dfe565b61114a565b34801561063f575f80fd5b506102ff60015481565b348015610654575f80fd5b5060065461032d90600160b81b900460ff1681565b348015610674575f80fd5b50610233610683366004611dfe565b6111ca565b348015610693575f80fd5b5060065461032d90600160c01b900460ff1681565b3480156106b3575f80fd5b5060065461032d90600160a01b900460ff1681565b3480156106d3575f80fd5b506102ff6106e2366004611e1e565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b348015610717575f80fd5b506102ff60035481565b34801561072c575f80fd5b506102ff60025481565b336107485f546001600160a01b031690565b6001600160a01b0316146107775760405162461bcd60e51b815260040161076e90611e46565b60405180910390fd5b600654600160d81b900460ff16156107c45760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015260640161076e565b6006805460ff60d81b1916600160d81b179055565b5f6107e53384846112e1565b5060015b92915050565b6001600160a01b0383165f9081526008602090815260408083203384529091528120545f198114610888578281101561087b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161076e565b61088885338584036112e1565b610893858585611341565b506001949350505050565b336108b05f546001600160a01b031690565b6001600160a01b0316146108d65760405162461bcd60e51b815260040161076e90611e46565b670de0b6b3a76400006103e86108f86a52b7d2dcc80cd2e40000006001611e8f565b6109029190611ea6565b61090c9190611ea6565b8110156109695760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60448201526420302e312560d81b606482015260840161076e565b61097b81670de0b6b3a7640000611e8f565b60025550565b336109935f546001600160a01b031690565b6001600160a01b0316146109b95760405162461bcd60e51b815260040161076e90611e46565b6006805461ffff60b01b1916600160b01b60ff868116820260ff60b81b191692909217600160b81b86841681029190911760ff60c01b1916600160c01b868516810291909117948590558404831693610a1a93918104821692900416611ec5565b610a249190611ec5565b60ff16606414610a845760405162461bcd60e51b815260206004820152602560248201527f446973747269627574696f6e206861766520746f20626520657175616c20746f604482015264203130302560d81b606482015260840161076e565b505050565b33610a9b5f546001600160a01b031690565b6001600160a01b031614610ac15760405162461bcd60e51b815260040161076e90611e46565b601e8260ff161115610b275760405162461bcd60e51b815260206004820152602960248201527f4275792066656573206d757374206265206c657373207468616e206f7220657160448201526875616c20746f20332560b81b606482015260840161076e565b601e8160ff161115610b8e5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c2066656573206d757374206265206c657373207468616e206f7220656044820152697175616c20746f20332560b01b606482015260840161076e565b6006805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b33610bd45f546001600160a01b031690565b6001600160a01b031614610bfa5760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b33610c365f546001600160a01b031690565b6001600160a01b031614610c5c5760405162461bcd60e51b815260040161076e90611e46565b620186a0610c766a52b7d2dcc80cd2e40000006001611e8f565b610c809190611ea6565b811015610ced5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527420302e30303125206f662074686520737570706c7960581b606482015260840161076e565b6103e8610d066a52b7d2dcc80cd2e40000006005611e8f565b610d109190611ea6565b811115610d7c5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f7420626520686967686572207468616044820152736e20302e3525206f662074686520737570706c7960601b606482015260840161076e565b600355565b33610d935f546001600160a01b031690565b6001600160a01b031614610db95760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b33610df55f546001600160a01b031690565b6001600160a01b031614610e1b5760405162461bcd60e51b815260040161076e90611e46565b5f80546001600160a01b0319169055565b33610e3e5f546001600160a01b031690565b6001600160a01b031614610e645760405162461bcd60e51b815260040161076e90611e46565b670de0b6b3a76400006103e8610e866a52b7d2dcc80cd2e40000006001611e8f565b610e909190611ea6565b610e9a9190611ea6565b811015610efc5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6f776572604482015269207468616e20302e312560b01b606482015260840161076e565b610f0e81670de0b6b3a7640000611e8f565b60015550565b33610f265f546001600160a01b031690565b6001600160a01b031614610f4c5760405162461bcd60e51b815260040161076e90611e46565b6006805460ff60d01b19169055565b33610f6d5f546001600160a01b031690565b6001600160a01b031614610f935760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b038116610fb95760405162461bcd60e51b815260040161076e90611ede565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b33610fed5f546001600160a01b031690565b6001600160a01b0316146110135760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b0381166110395760405162461bcd60e51b815260040161076e90611ede565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b3361106d5f546001600160a01b031690565b6001600160a01b0316146110935760405162461bcd60e51b815260040161076e90611e46565b7f000000000000000000000000445a85dde2476e91c9a74e1ad99504cf01c0e1a66001600160a01b0316826001600160a01b0316036111145760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f766564000000000000604482015260640161076e565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f6107e5338484611341565b3361115c5f546001600160a01b031690565b6001600160a01b0316146111825760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b0381166111a85760405162461bcd60e51b815260040161076e90611ede565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336111dc5f546001600160a01b031690565b6001600160a01b0316146112025760405162461bcd60e51b815260040161076e90611e46565b6001600160a01b03811661124a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161076e565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114611293576040519150601f19603f3d011682016040523d82523d5f602084013e611298565b606091505b50509050806112dd5760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b604482015260640161076e565b5050565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600654600160d81b900460ff1615801561137357506001600160a01b0383165f9081526009602052604090205460ff16155b801561139757506001600160a01b0382165f9081526009602052604090205460ff16155b156113da5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161076e565b600654600160d01b900460ff1615611686576001600160a01b0383165f9081526009602052604090205460ff1615801561142c57506001600160a01b0382165f9081526009602052604090205460ff16155b80156114425750600654600160c81b900460ff16155b15611686576001600160a01b0383165f908152600b602052604090205460ff16801561148657506001600160a01b0382165f908152600a602052604090205460ff16155b15611559576001548111156114eb5760405162461bcd60e51b815260206004820152602560248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152640dac2f0a8f60db1b606482015260840161076e565b6002546001600160a01b0383165f908152600760205260409020546115109083611f0e565b11156115545760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161076e565b611686565b6001600160a01b0382165f908152600b602052604090205460ff16801561159857506001600160a01b0383165f908152600a602052604090205460ff16155b156115fe576001548111156115545760405162461bcd60e51b815260206004820152602660248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015265040dac2f0a8f60d31b606482015260840161076e565b6001600160a01b0382165f908152600a602052604090205460ff16611686576002546001600160a01b0383165f908152600760205260409020546116429083611f0e565b11156116865760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161076e565b600354305f908152600760205260409020541080159081906116b25750600654600160c81b900460ff16155b80156116d657506001600160a01b0384165f908152600b602052604090205460ff16155b80156116fa57506001600160a01b0384165f9081526009602052604090205460ff16155b801561171e57506001600160a01b0383165f9081526009602052604090205460ff16155b1561174c576006805460ff60c81b1916600160c81b17905561173e6119bf565b6006805460ff60c81b191690555b6006546001600160a01b0385165f9081526009602052604090205460ff600160c81b90920482161591168061179857506001600160a01b0384165f9081526009602052604090205460ff165b156117a057505f5b6001600160a01b0385165f90815260076020526040902054838110156118175760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161076e565b5f821561194d576001600160a01b0386165f908152600b602052604090205460ff1680156118505750600654600160a81b900460ff1615155b15611881576006546103e89061187090600160a81b900460ff1687611e8f565b61187a9190611ea6565b90506118e0565b6001600160a01b0387165f908152600b602052604090205460ff1680156118b35750600654600160a01b900460ff1615155b156118e0576006546103e8906118d390600160a01b900460ff1687611e8f565b6118dd9190611ea6565b90505b801561194d576001600160a01b0387165f8181526007602090815260408083208054869003905530808452928190208054860190555184815297849003979192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b038088165f8181526007602052604080822080548a900390559289168082529083902080548901905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119ae9089815260200190565b60405180910390a350505050505050565b6003545f6119ce826014611e8f565b305f9081526007602052604090205411156119f4576003546119f1906014611e8f565b91505b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a2757611a27611f21565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611a6f57611a6f611f21565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611ac69086905f90869030904290600401611f35565b5f604051808303815f87803b158015611add575f80fd5b505af1158015611aef573d5f803e3d5ffd5b504792505081159050611c60576006545f90606490611b1890600160b01b900460ff1684611e8f565b611b229190611ea6565b6006549091505f90606490611b4190600160c01b900460ff1685611e8f565b611b4b9190611ea6565b90505f81611b598486611fa4565b611b639190611fa4565b6006546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611bae576040519150601f19603f3d011682016040523d82523d5f602084013e611bb3565b606091505b50506005546040519197506001600160a01b03169082905f81818185875af1925050503d805f8114611c00576040519150601f19603f3d011682016040523d82523d5f602084013e611c05565b606091505b50506004546040519197506001600160a01b03169084905f81818185875af1925050503d805f8114611c52576040519150601f19603f3d011682016040523d82523d5f602084013e611c57565b606091505b50909650505050505b50505050565b5f6020808352835180828501525f5b81811015611c9157858101830151858201604001528201611c75565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611cc7575f80fd5b919050565b5f8060408385031215611cdd575f80fd5b611ce683611cb1565b946020939093013593505050565b5f805f60608486031215611d06575f80fd5b611d0f84611cb1565b9250611d1d60208501611cb1565b9150604084013590509250925092565b5f60208284031215611d3d575f80fd5b5035919050565b803560ff81168114611cc7575f80fd5b5f805f60608486031215611d66575f80fd5b611d6f84611d44565b9250611d7d60208501611d44565b9150611d8b60408501611d44565b90509250925092565b5f8060408385031215611da5575f80fd5b611dae83611d44565b9150611dbc60208401611d44565b90509250929050565b5f8060408385031215611dd6575f80fd5b611ddf83611cb1565b915060208301358015158114611df3575f80fd5b809150509250929050565b5f60208284031215611e0e575f80fd5b611e1782611cb1565b9392505050565b5f8060408385031215611e2f575f80fd5b611e3883611cb1565b9150611dbc60208401611cb1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107e9576107e9611e7b565b5f82611ec057634e487b7160e01b5f52601260045260245ffd5b500490565b60ff81811683821601908111156107e9576107e9611e7b565b602080825260169082015275416464726573732063616e6e6f74206265207a65726f60501b604082015260600190565b808201808211156107e9576107e9611e7b565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f835784516001600160a01b031683529383019391830191600101611f5e565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156107e9576107e9611e7b56fea26469706673582212206dac6346cd2c9e20c32c80a0d8c205447c084a2632d68fdc5c69d9251f69ae1c64736f6c63430008150033

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.