ETH Price: $1,935.44 (-1.89%)
 

Overview

Max Total Supply

100,000,000 SKYOPS

Holders

265 (0.00%)

Transfers

-
0

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Skyops is a decentralized AI computing platform that leverages unused GPU power worldwide to significantly reduce AI development costs while providing GPU owners with a way to earn from their idle hardware.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Skyops

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Skyops.sol
/*

███████╗██╗  ██╗██╗   ██╗ ██████╗ ██████╗ ███████╗
██╔════╝██║ ██╔╝╚██╗ ██╔╝██╔═══██╗██╔══██╗██╔════╝
███████╗█████╔╝  ╚████╔╝ ██║   ██║██████╔╝███████╗
╚════██║██╔═██╗   ╚██╔╝  ██║   ██║██╔═══╝ ╚════██║
███████║██║  ██╗   ██║   ╚██████╔╝██║     ███████║
╚══════╝╚═╝  ╚═╝   ╚═╝    ╚═════╝ ╚═╝     ╚══════╝
                                                                                                  
Decentralized AI supercomputer without borders.

Scalable. Efficient. Unstoppable.

Official Links:
Website: https://skyopslabs.ai
Twitter: https://x.com/SkyopsLabs
Telegram: https://t.me/SkyopsLabs
Discord: https://discord.gg/SkyopsLabs
GitHub: https://github.com/SkyopsLabs
Medium: https://skyopslabs.medium.com
Links: https://links.skyopslabs.ai
Brand Kit: https://docs.skyopslabs.ai/essentials/brand-kit

Resources:
Skyops Docs - https://docs.skyopslabs.ai
Your go-to resource for mastering the Skyops platform, from setup to advanced features.

Skyops Litepaper - https://litepaper.skyopslabs.ai/v1
A strategic overview of Skyops mission, technology and decentralized computing approach.

Skyops Tokenomics - https://docs.skyopslabs.ai/tokenomics
An insight into the $SKYOPS token role, distribution model and economic design within the ecosystem.

Service Status - https://status.skyopslabs.ai
Stay updated on the real-time availability, performance and maintenance schedules of Skyops services.
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

interface IERC20 {
    event Transfer(address indexed sender, address indexed recipient, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

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

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

    constructor() {
        address msgSender = _msgSender();
        _contractOwner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function transferOwnership(address newOwner) public onlyOwner {
        _updateOwnership(newOwner);
    }

    function _updateOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_contractOwner, newOwner);
        _contractOwner = newOwner;
    }

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 tokenAmount,
        uint256 minETHAmount,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint tokenDesired,
        uint tokenMin,
        uint ethMin,
        address to,
        uint deadline
    ) external payable returns (uint tokenAmount, uint ethAmount, uint liquidity);
}

contract Skyops is Context, IERC20, Ownable {
    string private constant _tokenName = "Skyops";
    string private constant _tokenSymbol = "SKYOPS";
    uint8 private constant _tokenDecimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_tokenDecimals;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _excludedAccounts;

    uint256 private constant _minSwapAmount = 40000 * 10**_tokenDecimals;
    uint256 private _maxSwapAmount = 800000 * 10**_tokenDecimals;

    uint256 public maxTxAmount = 200000 * 10**_tokenDecimals;
    uint256 public maxWalletBalance = 300000 * 10**_tokenDecimals;

    uint256 private _startBlock;
    uint256 buyFee = 30;
    uint256 sellFee = 30;

    IUniswapV2Router02 private _swapRouter;
    address public liquidityPair;
    address SkyopsForge;
    address SkyopsPulse;
    address SkyopsBeacon;

    bool private _tradingIsEnabled = false;

    event TradingActivated(address indexed owner, address liquidityPair, uint256 startBlock);
    event ExcludedAccountsModified(address indexed account, uint256 value);
    event LimitsRemoved(uint256 maxTxAmount, uint256 maxWalletBalance);

    constructor() {
        SkyopsForge = 0xe2757a07c35c806fd2Ec7042B5f2Af3b2216AA60;
        SkyopsPulse = 0x4745AB43b9BA1982CB75Fd95A8Eb04d2bE58f813;
        SkyopsBeacon = 0xd2D7dDB1b05331635F92Ed8F62c082F9390e2eCB;

        _balances[msg.sender] = _totalSupply;
        _excludedAccounts[msg.sender] = 1;
        _excludedAccounts[address(this)] = 1;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

    function getTaxeRates() external view returns (uint256 buyTax, uint256 sellTax) {
        buyTax = buyFee;
        sellTax = sellFee;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _setTokenAllowance(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _setTokenAllowance(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

    function _setTokenAllowance(address _owner, address spender, uint256 amount) private {
        require(_owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }

    function activeTrading() external onlyOwner {
        require(!_tradingIsEnabled, "Trading is already enabled");
        _swapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        liquidityPair = IUniswapV2Factory(_swapRouter.factory()).createPair(address(this), _swapRouter.WETH());
        _setTokenAllowance(address(this), address(_swapRouter), _totalSupply);
        
        _swapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(liquidityPair).approve(address(_swapRouter), type(uint).max);
        _tradingIsEnabled = true;
        _startBlock = block.number;
        emit TradingActivated(owner(), liquidityPair, _startBlock);
    }

    function modifyExcludedAccounts(address account, uint256 value) external onlyOwner {
        _excludedAccounts[account] = value;
        emit ExcludedAccountsModified(account, value);
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
        maxWalletBalance = _totalSupply;
        emit LimitsRemoved(maxTxAmount, maxWalletBalance);
    }

    function updateTaxes(uint256 newTxRate) external onlyOwner {
        require(newTxRate <= buyFee && newTxRate <= sellFee, "Tax cannot be increased");
        buyFee = newTxRate;
        sellFee = newTxRate;
    }

    function _executeTokenTransfer(address from, address to, uint256 amount, uint256 taxRate) private {
        uint256 taxAmount = (amount * taxRate) / 100;
        uint256 transferAmount = amount - taxAmount;

        _balances[from] -= amount;
        _balances[to] += transferAmount;
        _balances[address(this)] += taxAmount;

        emit Transfer(from, to, transferAmount);
    }

    function _executeTransfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: transfer amount must be greater than zero");

        uint256 taxRate = 0;

        if (_excludedAccounts[from] == 0 && _excludedAccounts[to] == 0) {
            require(_tradingIsEnabled, "Trading is not enabled yet");
            require(amount <= maxTxAmount, "Transaction amount exceeds the maximum limit");
            
            if (to != liquidityPair && to != address(0xdead)) {
                require(balanceOf(to) + amount <= maxWalletBalance, "Recipient wallet exceeds the maximum limit");
            }

            if (block.number < _startBlock + 3) {
                taxRate = (from == liquidityPair) ? 30 : 30;
            } else {
                if (from == liquidityPair) {
                    taxRate = buyFee;
                } else if (to == liquidityPair) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance > _minSwapAmount) {
                        uint256 swapAmount = _maxSwapAmount;
                        if (contractTokenBalance > amount) contractTokenBalance = amount;
                        if (contractTokenBalance > swapAmount) contractTokenBalance = swapAmount;
                        _swapTokensForEth(contractTokenBalance);
                    }
                    taxRate = sellFee;
                }
            }
        }
        _executeTokenTransfer(from, to, amount, taxRate);
    }

    function withdrawEth() external onlyOwner {
        (bool success, ) = owner().call{value: address(this).balance}("");
      require(success, "ETH withdrawal failed");
    }

    function withdrawTokens() external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        require(contractTokenBalance > 0, "No tokens to withdraw");

        _executeTokenTransfer(address(this), owner(), contractTokenBalance, 0);
    }

    function manualSwapExecution(uint256 percent) external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 swapAmount = (percent * contractTokenBalance) / 100;
        _swapTokensForEth(swapAmount);
    }

    function _swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _swapRouter.WETH();

        _setTokenAllowance(address(this), address(_swapRouter), tokenAmount);

        _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 contractEthBalance = address(this).balance;
        uint256 Forge = (contractEthBalance * 45) / 100;
        uint256 Pulse = (contractEthBalance * 45) / 100;
        uint256 Beacon = (contractEthBalance * 10) / 100;

        (bool success, ) = SkyopsForge.call{value: Forge}("");
        (success, ) = SkyopsPulse.call{value: Pulse}("");
        (success, ) = SkyopsBeacon.call{value: Beacon}("");
        

        require(success, "Transfer failed");
    }

    receive() external payable {}
}

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

Contract Security Audit

Contract ABI

API
[{"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ExcludedAccountsModified","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxWalletBalance","type":"uint256"}],"name":"LimitsRemoved","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":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"liquidityPair","type":"address"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"}],"name":"TradingActivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"activeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTaxeRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"modifyExcludedAccounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"uint256","name":"newTxRate","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620002e9565b6200002190620c350062000300565b600455620000326012600a620002e9565b620000419062030d4062000300565b600555620000526012600a620002e9565b6200006190620493e062000300565b600655601e6008819055600955600e805460ff60a01b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031990811673e2757a07c35c806fd2ec7042b5f2af3b2216aa6017909155600d80548216734745ab43b9ba1982cb75fd95a8eb04d2be58f813179055600e805490911673d2d7ddb1b05331635f92ed8f62c082f9390e2ecb1790556200013c6012600a620002e9565b6200014c906305f5e10062000300565b335f9081526001602081815260408084209490945560039052828220819055308252919020556200017a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b36012600a620002e9565b620001c3906305f5e10062000300565b60405190815260200160405180910390a36200031a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200022e57815f1904821115620002125762000212620001da565b808516156200022057918102915b93841c9390800290620001f3565b509250929050565b5f826200024657506001620002e3565b816200025457505f620002e3565b81600181146200026d5760028114620002785762000298565b6001915050620002e3565b60ff8411156200028c576200028c620001da565b50506001821b620002e3565b5060208310610133831016604e8410600b8410161715620002bd575081810a620002e3565b620002c98383620001ee565b805f1904821115620002df57620002df620001da565b0290505b92915050565b5f620002f960ff84168362000236565b9392505050565b8082028115828204841417620002e357620002e3620001da565b611a8180620003285f395ff3fe60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610396578063b3ac8537146103b5578063bbde77c1146103c9578063da28dac3146103de578063dd62ed3e146103fd578063f2fde38b14610441575f80fd5b806384516c8c146102e85780638c0b5e221461030f5780638d8f2adb146103245780638da5cb5b1461033857806395d89b4114610354578063a0ef91df14610382575f80fd5b80635a0ad007116101045780635a0ad00714610215578063613506911461023657806370a0823114610255578063715018a614610289578063751039fc1461029d578063808a5457146102b1575f80fd5b806306fdde031461014a578063095ea7b31461018a57806318160ddd146101b957806323b872dd146101db578063313ce567146101fa575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526006815265536b796f707360d01b60208201525b6040516101819190611699565b60405180910390f35b348015610195575f80fd5b506101a96101a43660046116f8565b610460565b6040519015158152602001610181565b3480156101c4575f80fd5b506101cd610476565b604051908152602001610181565b3480156101e6575f80fd5b506101a96101f5366004611722565b610496565b348015610205575f80fd5b5060405160128152602001610181565b348015610220575f80fd5b5061023461022f366004611760565b61054b565b005b348015610241575f80fd5b50610234610250366004611760565b6105de565b348015610260575f80fd5b506101cd61026f366004611777565b6001600160a01b03165f9081526001602052604090205490565b348015610294575f80fd5b5061023461063d565b3480156102a8575f80fd5b506102346106ae565b3480156102bc575f80fd5b50600b546102d0906001600160a01b031681565b6040516001600160a01b039091168152602001610181565b3480156102f3575f80fd5b5060085460095460408051928352602083019190915201610181565b34801561031a575f80fd5b506101cd60055481565b34801561032f575f80fd5b50610234610756565b348015610343575f80fd5b505f546001600160a01b03166102d0565b34801561035f575f80fd5b50604080518082019091526006815265534b594f505360d01b6020820152610174565b34801561038d575f80fd5b506102346107f2565b3480156103a1575f80fd5b506101a96103b03660046116f8565b6108b3565b3480156103c0575f80fd5b506102346108bf565b3480156103d4575f80fd5b506101cd60065481565b3480156103e9575f80fd5b506102346103f83660046116f8565b610cc3565b348015610408575f80fd5b506101cd610417366004611799565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044c575f80fd5b5061023461045b366004611777565b610d44565b5f61046c338484610d76565b5060015b92915050565b5f6104836012600a6118c4565b610491906305f5e1006118d2565b905090565b5f6104a2848484610e99565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461054057828110156105335760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105408533858403610d76565b506001949350505050565b5f546001600160a01b031633146105745760405162461bcd60e51b815260040161052a906118e9565b600854811115801561058857506009548111155b6105d45760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e63726561736564000000000000000000604482015260640161052a565b6008819055600955565b5f546001600160a01b031633146106075760405162461bcd60e51b815260040161052a906118e9565b305f9081526001602052604081205490606461062383856118d2565b61062d919061191e565b9050610638816111fe565b505050565b5f546001600160a01b031633146106665760405162461bcd60e51b815260040161052a906118e9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106d75760405162461bcd60e51b815260040161052a906118e9565b6106e36012600a6118c4565b6106f1906305f5e1006118d2565b6005556107006012600a6118c4565b61070e906305f5e1006118d2565b60068190556005546040517f705001c3b393e59d405f85bec143d8152a379cba8c71745a6d62b01f144154fe9261074c928252602082015260400190565b60405180910390a1565b5f546001600160a01b0316331461077f5760405162461bcd60e51b815260040161052a906118e9565b305f90815260016020526040902054806107d35760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015260640161052a565b6107ef306107e85f546001600160a01b031690565b835f6114e0565b50565b5f546001600160a01b0316331461081b5760405162461bcd60e51b815260040161052a906118e9565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610865576040519150601f19603f3d011682016040523d82523d5f602084013e61086a565b606091505b50509050806107ef5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b604482015260640161052a565b5f61046c338484610e99565b5f546001600160a01b031633146108e85760405162461bcd60e51b815260040161052a906118e9565b600e54600160a01b900460ff16156109425760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c6564000000000000604482015260640161052a565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156109a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c8919061193d565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4b919061193d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab9919061193d565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610b01923092911690610aee906012906118c4565b610afc906305f5e1006118d2565b610d76565b600a546001600160a01b031663f305d7194730610b32816001600160a01b03165f9081526001602052604090205490565b5f80610b455f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bab573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bd09190611958565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c499190611983565b50600e805460ff60a01b1916600160a01b17905543600755610c725f546001600160a01b031690565b600b54600754604080516001600160a01b039384168152602081019290925292909116917f4b37ac987d6b8526558a709563128ac4bf81efb10a4a631dc56e7a42cee84157910160405180910390a2565b5f546001600160a01b03163314610cec5760405162461bcd60e51b815260040161052a906118e9565b6001600160a01b0382165f8181526003602052604090819020839055517f3cba68bb23f00e7e18b834e87ccbf2632b2e14973382e3a5b673c0c0bc57d37190610d389084815260200190565b60405180910390a25050565b5f546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161052a906118e9565b6107ef816115db565b6001600160a01b038316610dd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052a565b6001600160a01b038216610e395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052a565b5f8111610f655760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161052a565b6001600160a01b0383165f90815260036020526040812054158015610f9f57506001600160a01b0383165f90815260036020526040902054155b156111ec57600e54600160a01b900460ff16610ffd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604482015260640161052a565b6005548211156110645760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b606482015260840161052a565b600b546001600160a01b0384811691161480159061108d57506001600160a01b03831661dead14155b1561111f57600654826110b4856001600160a01b03165f9081526001602052604090205490565b6110be91906119a2565b111561111f5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b606482015260840161052a565b60075461112d9060036119a2565b43101561115d57600b546001600160a01b0385811691161461115057601e611153565b601e5b60ff1690506111ec565b600b546001600160a01b039081169085160361117c57506008546111ec565b600b546001600160a01b03908116908416036111ec57305f908152600160205260409020546111ad6012600a6118c4565b6111b990619c406118d2565b8111156111e657600454838211156111cf578391505b808211156111db578091505b6111e4826111fe565b505b50506009545b6111f8848484846114e0565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611231576112316119b5565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611288573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ac919061193d565b816001815181106112bf576112bf6119b5565b6001600160a01b039283166020918202929092010152600a546112e59130911684610d76565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061131d9085905f908690309042906004016119c9565b5f604051808303815f87803b158015611334575f80fd5b505af1158015611346573d5f803e3d5ffd5b504792505f91506064905061135c83602d6118d2565b611366919061191e565b90505f606461137684602d6118d2565b611380919061191e565b90505f606461139085600a6118d2565b61139a919061191e565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146113e9576040519150601f19603f3d011682016040523d82523d5f602084013e6113ee565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f811461143b576040519150601f19603f3d011682016040523d82523d5f602084013e611440565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461148d576040519150601f19603f3d011682016040523d82523d5f602084013e611492565b606091505b505080915050806114d75760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161052a565b50505050505050565b5f60646114ed83856118d2565b6114f7919061191e565b90505f6115048285611a38565b6001600160a01b0387165f90815260016020526040812080549293508692909190611530908490611a38565b90915550506001600160a01b0385165f908152600160205260408120805483929061155c9084906119a2565b9091555050305f908152600160205260408120805484929061157f9084906119a2565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb91815260200190565b60405180910390a3505050505050565b6001600160a01b0381166116405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156116c4578581018301518582016040015282016116a8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ef575f80fd5b5f8060408385031215611709575f80fd5b8235611714816116e4565b946020939093013593505050565b5f805f60608486031215611734575f80fd5b833561173f816116e4565b9250602084013561174f816116e4565b929592945050506040919091013590565b5f60208284031215611770575f80fd5b5035919050565b5f60208284031215611787575f80fd5b8135611792816116e4565b9392505050565b5f80604083850312156117aa575f80fd5b82356117b5816116e4565b915060208301356117c5816116e4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181e57815f1904821115611804576118046117d0565b8085161561181157918102915b93841c93908002906117e9565b509250929050565b5f8261183457506001610470565b8161184057505f610470565b816001811461185657600281146118605761187c565b6001915050610470565b60ff841115611871576118716117d0565b50506001821b610470565b5060208310610133831016604e8410600b841016171561189f575081810a610470565b6118a983836117e4565b805f19048211156118bc576118bc6117d0565b029392505050565b5f61179260ff841683611826565b8082028115828204841417610470576104706117d0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261193857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561194d575f80fd5b8151611792816116e4565b5f805f6060848603121561196a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611993575f80fd5b81518015158114611792575f80fd5b80820180821115610470576104706117d0565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a175784516001600160a01b0316835293830193918301916001016119f2565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610470576104706117d056fea2646970667358221220cbbbfe1a86c7c6935f6d06e1eb0a0f3c376d8f407021c67122348a4afa476be364736f6c63430008140033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610396578063b3ac8537146103b5578063bbde77c1146103c9578063da28dac3146103de578063dd62ed3e146103fd578063f2fde38b14610441575f80fd5b806384516c8c146102e85780638c0b5e221461030f5780638d8f2adb146103245780638da5cb5b1461033857806395d89b4114610354578063a0ef91df14610382575f80fd5b80635a0ad007116101045780635a0ad00714610215578063613506911461023657806370a0823114610255578063715018a614610289578063751039fc1461029d578063808a5457146102b1575f80fd5b806306fdde031461014a578063095ea7b31461018a57806318160ddd146101b957806323b872dd146101db578063313ce567146101fa575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526006815265536b796f707360d01b60208201525b6040516101819190611699565b60405180910390f35b348015610195575f80fd5b506101a96101a43660046116f8565b610460565b6040519015158152602001610181565b3480156101c4575f80fd5b506101cd610476565b604051908152602001610181565b3480156101e6575f80fd5b506101a96101f5366004611722565b610496565b348015610205575f80fd5b5060405160128152602001610181565b348015610220575f80fd5b5061023461022f366004611760565b61054b565b005b348015610241575f80fd5b50610234610250366004611760565b6105de565b348015610260575f80fd5b506101cd61026f366004611777565b6001600160a01b03165f9081526001602052604090205490565b348015610294575f80fd5b5061023461063d565b3480156102a8575f80fd5b506102346106ae565b3480156102bc575f80fd5b50600b546102d0906001600160a01b031681565b6040516001600160a01b039091168152602001610181565b3480156102f3575f80fd5b5060085460095460408051928352602083019190915201610181565b34801561031a575f80fd5b506101cd60055481565b34801561032f575f80fd5b50610234610756565b348015610343575f80fd5b505f546001600160a01b03166102d0565b34801561035f575f80fd5b50604080518082019091526006815265534b594f505360d01b6020820152610174565b34801561038d575f80fd5b506102346107f2565b3480156103a1575f80fd5b506101a96103b03660046116f8565b6108b3565b3480156103c0575f80fd5b506102346108bf565b3480156103d4575f80fd5b506101cd60065481565b3480156103e9575f80fd5b506102346103f83660046116f8565b610cc3565b348015610408575f80fd5b506101cd610417366004611799565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044c575f80fd5b5061023461045b366004611777565b610d44565b5f61046c338484610d76565b5060015b92915050565b5f6104836012600a6118c4565b610491906305f5e1006118d2565b905090565b5f6104a2848484610e99565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461054057828110156105335760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105408533858403610d76565b506001949350505050565b5f546001600160a01b031633146105745760405162461bcd60e51b815260040161052a906118e9565b600854811115801561058857506009548111155b6105d45760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e63726561736564000000000000000000604482015260640161052a565b6008819055600955565b5f546001600160a01b031633146106075760405162461bcd60e51b815260040161052a906118e9565b305f9081526001602052604081205490606461062383856118d2565b61062d919061191e565b9050610638816111fe565b505050565b5f546001600160a01b031633146106665760405162461bcd60e51b815260040161052a906118e9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106d75760405162461bcd60e51b815260040161052a906118e9565b6106e36012600a6118c4565b6106f1906305f5e1006118d2565b6005556107006012600a6118c4565b61070e906305f5e1006118d2565b60068190556005546040517f705001c3b393e59d405f85bec143d8152a379cba8c71745a6d62b01f144154fe9261074c928252602082015260400190565b60405180910390a1565b5f546001600160a01b0316331461077f5760405162461bcd60e51b815260040161052a906118e9565b305f90815260016020526040902054806107d35760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015260640161052a565b6107ef306107e85f546001600160a01b031690565b835f6114e0565b50565b5f546001600160a01b0316331461081b5760405162461bcd60e51b815260040161052a906118e9565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610865576040519150601f19603f3d011682016040523d82523d5f602084013e61086a565b606091505b50509050806107ef5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b604482015260640161052a565b5f61046c338484610e99565b5f546001600160a01b031633146108e85760405162461bcd60e51b815260040161052a906118e9565b600e54600160a01b900460ff16156109425760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c6564000000000000604482015260640161052a565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156109a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c8919061193d565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a27573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4b919061193d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab9919061193d565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610b01923092911690610aee906012906118c4565b610afc906305f5e1006118d2565b610d76565b600a546001600160a01b031663f305d7194730610b32816001600160a01b03165f9081526001602052604090205490565b5f80610b455f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bab573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bd09190611958565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c499190611983565b50600e805460ff60a01b1916600160a01b17905543600755610c725f546001600160a01b031690565b600b54600754604080516001600160a01b039384168152602081019290925292909116917f4b37ac987d6b8526558a709563128ac4bf81efb10a4a631dc56e7a42cee84157910160405180910390a2565b5f546001600160a01b03163314610cec5760405162461bcd60e51b815260040161052a906118e9565b6001600160a01b0382165f8181526003602052604090819020839055517f3cba68bb23f00e7e18b834e87ccbf2632b2e14973382e3a5b673c0c0bc57d37190610d389084815260200190565b60405180910390a25050565b5f546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161052a906118e9565b6107ef816115db565b6001600160a01b038316610dd85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052a565b6001600160a01b038216610e395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052a565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052a565b5f8111610f655760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161052a565b6001600160a01b0383165f90815260036020526040812054158015610f9f57506001600160a01b0383165f90815260036020526040902054155b156111ec57600e54600160a01b900460ff16610ffd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604482015260640161052a565b6005548211156110645760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b606482015260840161052a565b600b546001600160a01b0384811691161480159061108d57506001600160a01b03831661dead14155b1561111f57600654826110b4856001600160a01b03165f9081526001602052604090205490565b6110be91906119a2565b111561111f5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b606482015260840161052a565b60075461112d9060036119a2565b43101561115d57600b546001600160a01b0385811691161461115057601e611153565b601e5b60ff1690506111ec565b600b546001600160a01b039081169085160361117c57506008546111ec565b600b546001600160a01b03908116908416036111ec57305f908152600160205260409020546111ad6012600a6118c4565b6111b990619c406118d2565b8111156111e657600454838211156111cf578391505b808211156111db578091505b6111e4826111fe565b505b50506009545b6111f8848484846114e0565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611231576112316119b5565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611288573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ac919061193d565b816001815181106112bf576112bf6119b5565b6001600160a01b039283166020918202929092010152600a546112e59130911684610d76565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061131d9085905f908690309042906004016119c9565b5f604051808303815f87803b158015611334575f80fd5b505af1158015611346573d5f803e3d5ffd5b504792505f91506064905061135c83602d6118d2565b611366919061191e565b90505f606461137684602d6118d2565b611380919061191e565b90505f606461139085600a6118d2565b61139a919061191e565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146113e9576040519150601f19603f3d011682016040523d82523d5f602084013e6113ee565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f811461143b576040519150601f19603f3d011682016040523d82523d5f602084013e611440565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461148d576040519150601f19603f3d011682016040523d82523d5f602084013e611492565b606091505b505080915050806114d75760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161052a565b50505050505050565b5f60646114ed83856118d2565b6114f7919061191e565b90505f6115048285611a38565b6001600160a01b0387165f90815260016020526040812080549293508692909190611530908490611a38565b90915550506001600160a01b0385165f908152600160205260408120805483929061155c9084906119a2565b9091555050305f908152600160205260408120805484929061157f9084906119a2565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb91815260200190565b60405180910390a3505050505050565b6001600160a01b0381166116405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156116c4578581018301518582016040015282016116a8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107ef575f80fd5b5f8060408385031215611709575f80fd5b8235611714816116e4565b946020939093013593505050565b5f805f60608486031215611734575f80fd5b833561173f816116e4565b9250602084013561174f816116e4565b929592945050506040919091013590565b5f60208284031215611770575f80fd5b5035919050565b5f60208284031215611787575f80fd5b8135611792816116e4565b9392505050565b5f80604083850312156117aa575f80fd5b82356117b5816116e4565b915060208301356117c5816116e4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561181e57815f1904821115611804576118046117d0565b8085161561181157918102915b93841c93908002906117e9565b509250929050565b5f8261183457506001610470565b8161184057505f610470565b816001811461185657600281146118605761187c565b6001915050610470565b60ff841115611871576118716117d0565b50506001821b610470565b5060208310610133831016604e8410600b841016171561189f575081810a610470565b6118a983836117e4565b805f19048211156118bc576118bc6117d0565b029392505050565b5f61179260ff841683611826565b8082028115828204841417610470576104706117d0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261193857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561194d575f80fd5b8151611792816116e4565b5f805f6060848603121561196a575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611993575f80fd5b81518015158114611792575f80fd5b80820180821115610470576104706117d0565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a175784516001600160a01b0316835293830193918301916001016119f2565b50506001600160a01b03969096166060850152505050608001529392505050565b81810381811115610470576104706117d056fea2646970667358221220cbbbfe1a86c7c6935f6d06e1eb0a0f3c376d8f407021c67122348a4afa476be364736f6c63430008140033

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.