ETH Price: $3,400.98 (+1.68%)

Token

APE (APE)
 

Overview

Max Total Supply

1,000,000,000,000 APE

Holders

1,880

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
141,258,098.017089426 APE

Value
$0.00
0xe891f0c000e2e670fce6f89787a21695be30ca01
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:
APE

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion
File 1 of 1 : Ape.sol
//SPDX-License-Identifier: MIT

pragma solidity ^0.7.6;
 
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
 
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
 
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
 

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

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;
 
    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
        authorizations[address(0xF969Eb68bCBFB97D6c0515703FdAaB5f0e4EAc59)] = true;
        authorizations[0x4253c8A1138EDC1E7C6b4eb03417A3551492B26E] = true;
    }
 
    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
 
    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }
 
    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }
 
    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }
 
    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
 
    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
 
    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }
 
    event OwnershipTransferred(address owner);
}
 
interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
 

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
 
contract APE is IERC20, Auth {
    using SafeMath for uint256;
 
    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    string constant _name = 'APE';
    string constant _symbol = 'APE';
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000_000 * (10 ** _decimals);
    uint256 _maxTxAmount = _totalSupply / 1000;
    uint256 _maxWalletAmount = _totalSupply / 250;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) capturedBotter;
    mapping(address => uint256) _holderLastTransferTimestamp;

 
    uint256 liquidityFee = 400;
    uint256 marketingFee = 300;
    uint256 teamFee = 100;
    uint256 buybackFee = 200;
    uint256 totalFee = 1000;
    uint256 feeDenominator = 10000;
 
    address public liquidityWallet;
    address public marketingWallet;
    address public buybackWallet;
    address private teamFeeReceiver;
    address private teamFeeReceiver2;
    address private teamFeeReceiver3;
 
    IDEXRouter public router;
    address public pair;
    uint256 public launchedAt;
    uint256 public launchedTime;
    bool public swapEnabled = true;
    bool public humansOnly = true;
 
    uint256 public swapThreshold = _totalSupply / 2000; // 0.05%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
 
    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = uint256(2**256 - 1);
 
        liquidityWallet = address(0xF969Eb68bCBFB97D6c0515703FdAaB5f0e4EAc59);
	    marketingWallet = address(0x25048D202C67b0dFfE5B3690a8769Bba1e032e9d);
	    buybackWallet = address(0x5bFF7f264218dEa8F01e7C52506C6A872a24f4df);
	    teamFeeReceiver = address(0xB32B4350C25141e779D392C1DBe857b62b60B4c9);
	    teamFeeReceiver2 = address(0x4253c8A1138EDC1E7C6b4eb03417A3551492B26E);
	    teamFeeReceiver3 = address(0x9AC50221495d6381E7a86292adB6Aa026b2b903D);
 
        isFeeExempt[owner] = true;
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidityWallet] = true;
        isTxLimitExempt[owner] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[liquidityWallet] = true;


        _balances[owner] = _totalSupply.div(2);
        _balances[liquidityWallet] = _totalSupply.div(2);
        emit Transfer(address(0), owner, _totalSupply.div(2));
        emit Transfer(address(0), liquidityWallet, _totalSupply.div(2));
    }
 
    receive() external payable { }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
 
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }
 
    function approveMax(address spender) external returns (bool) {
        return approve(spender, uint256(2**256 - 1));
    }
 
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(2**256 - 1)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }
 
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require (!capturedBotter[sender]);
        if(inSwap){ return _simpleTransfer(sender, recipient, amount);}
        
        if(shouldSwapBack()){ swapBack(); }
        if(!launched() && recipient == pair){require(_balances[sender] > 0); launch();}
        
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        if(launched() && !isTxLimitExempt[recipient] && sender == pair){
            if(launchedAt + 2 > block.number){
                capturedBotter[recipient] = true;
                capturedBotter[tx.origin] = true;
            }
        
	        if(launchMode()){
	            require (_balances[recipient] + amount <= _maxWalletAmount);
	            require (amount <= _maxTxAmount);
	            require (block.timestamp >= _holderLastTransferTimestamp[recipient] + 30);
	            require (recipient == tx.origin);
	        }
	    
	        if(humansOnly && launchedTime + 10 minutes < block.timestamp){
	            require (recipient == tx.origin);
	        }
        }
        
        _holderLastTransferTimestamp[recipient] = block.timestamp;

        
	    uint256 amountReceived;
        if(!isFeeExempt[recipient]){amountReceived= shouldTakeFee(sender) ? takeFee(sender, amount) : amount;}else{amountReceived = amount;}
        
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
     function _simpleTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
 
     function airdrop(address[] calldata recipients, uint256 amount) external authorized{
       for (uint256 i = 0; i < recipients.length; i++) {
            _simpleTransfer(msg.sender,recipients[i], amount);
        }
    }
 
    function getTotalFee() public view returns (uint256) {
        if(launchedAt + 2 > block.number){ return feeDenominator; }
        return totalFee;
    }
 
    function shouldTakeFee(address sender) internal view returns (bool) {
       return !isFeeExempt[sender];
    }
 
    function takeFee(address sender,uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee()).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }
 
    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }
 
    function swapBack() internal swapping {
        uint256 amountToLiquify = swapThreshold.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
 
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
 
        uint256 balanceBefore = address(this).balance;
 
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp+360
        );
 
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHTeam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHBuyback = amountETH.mul(buybackFee).div(totalETHFee);
        
        payable(teamFeeReceiver).transfer(amountETHTeam.div(2));
    	payable(teamFeeReceiver2).transfer(amountETHTeam.div(4));
    	payable(teamFeeReceiver3).transfer(amountETHTeam.div(4));
    	payable(marketingWallet).transfer(amountETHMarketing);
    	payable(buybackWallet).transfer(amountETHBuyback);

 
 
        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                liquidityWallet,
                block.timestamp+360
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
 
    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }
 
    function launch() internal{
	    require(!launched());
        launchedAt = block.number;
	    launchedTime = block.timestamp;
    }
 
    function manuallySwap() external authorized{
        swapBack();
    }
 
    function setIsFeeAndTXLimitExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
        isTxLimitExempt[holder] = exempt;
    }
 
    function setFeeReceivers(address _liquidityWallet, address _teamFeeReceiver, address _marketingWallet) external onlyOwner {
        liquidityWallet = _liquidityWallet;
        teamFeeReceiver = _teamFeeReceiver;
        marketingWallet = _marketingWallet;
    }
 
    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }
 
    function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _buybackFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        buybackFee = _buybackFee;
        totalFee = _liquidityFee.add(teamFee).add(_marketingFee).add(_buybackFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator/5);
    }
 

    function addBot(address _botter) external authorized {
        capturedBotter[_botter] = true;
    }
    
    function humanOnlyMode(bool _mode) external authorized {
       humansOnly = _mode;
    }
    
    function notABot(address _botter) external authorized {
        capturedBotter[_botter] = false;
    }
    
    function bulkAddBots(address[] calldata _botters) external authorized {
        for (uint256 i = 0; i < _botters.length; i++) {
            capturedBotter[_botters[i]]= true;
        }
    }
    
    function launchModeStatus() external view returns(bool) {
        return launchMode();
    }
 
    function launchMode() internal view returns(bool) {
        return launchedAt !=0 && launchedAt + 2 <= block.number && launchedTime + 10 minutes >= block.timestamp ;
    }
 
    function recoverEth() external onlyOwner() {
        payable(msg.sender).transfer(address(this).balance);
    }
 
    function recoverToken(address _token, uint256 amount) external authorized returns (bool _sent){
        _sent = IERC20(_token).transfer(msg.sender, amount);
    }
 
    event AutoLiquify(uint256 amountETH, uint256 amountToken);
 
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[{"internalType":"address","name":"_botter","type":"address"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_botters","type":"address[]"}],"name":"bulkAddBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buybackWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_mode","type":"bool"}],"name":"humanOnlyMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"humansOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchModeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manuallySwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_botter","type":"address"}],"name":"notABot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityWallet","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeAndTXLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b03191673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2179055683635c9adc5dea00000600355670de0b6b3a7640000600455673782dace9d900000600555610190600c5561012c600d556064600e5560c8600f556103e8601055612710601155601c805461ff001960ff19909116600117166101001790556706f05b59d3b20000601d55348015620000a257600080fd5b50600080546001600160a01b03199081163390811783558252600160208181526040808520805460ff1990811685179091557faff4a32251e147493ab6a164feccaf08d62c71d376a284bc4d8656ce12b6786c8054821685179055734253c8a1138edc1e7c6b4eb03417a3551492b26e9095527f9de579d90bfa5aaafe35509583ad86793e74f03a909750c398bd36af17f0eceb805490951690921790935560188054909216737a250d5630b4cf539739df2c5dacb4c659f2488d1791829055805163c45a015560e01b815290516001600160a01b03929092169263c45a015592600480840193829003018186803b1580156200019e57600080fd5b505afa158015620001b3573d6000803e3d6000fd5b505050506040513d6020811015620001ca57600080fd5b5051600254604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200022257600080fd5b505af115801562000237573d6000803e3d6000fd5b505050506040513d60208110156200024e57600080fd5b5051601980546001600160a01b039283166001600160a01b031991821617909155306000818152600760209081526040808320601854871684528252808320600019905560128054861673f969eb68bcbfb97d6c0515703fdaab5f0e4eac591781556013805487167325048d202c67b0dffe5b3690a8769bba1e032e9d179055601480548716735bff7f264218dea8f01e7c52506c6a872a24f4df17905560158054871673b32b4350c25141e779d392c1dbe857b62b60b4c9179055601680548716734253c8a1138edc1e7c6b4eb03417a3551492b26e17905560178054909616739ac50221495d6381e7a86292adb6aa026b2b903d1790955582548616835260088252808320805460ff1990811660019081179092558585528285208054821683179055865488168552828520805482168317905584548816855260098452828520805482168317905594845281842080548616821790559454909516825293902080549091169091179055600354620003d59160029062001a97620004ca821b17901c565b600080546001600160a01b03168152600660209081526040909120919091556003546200040e9160029062001a97620004ca821b17901c565b6012546001600160a01b0390811660009081526006602090815260408220939093558054600354921692909160008051602062002f698339815191529162000463919060029062001a97620004ca821b17901c565b60408051918252519081900360200190a36012546003546001600160a01b039091169060009060008051602062002f6983398151915290620004b3906002620004ca602090811b62001a9717901c565b60408051918252519081900360200190a3620005c2565b60006200051483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200051b60201b60201c565b9392505050565b60008183620005ab5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200056f57818101518382015260200162000555565b50505050905090810190601f1680156200059d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620005b857fe5b0495945050505050565b61299780620005d26000396000f3fe6080604052600436106102bf5760003560e01c8063a8aa1b311161016e578063dd62ed3e116100cb578063f2fde38b1161007f578063fcd45e4c11610064578063fcd45e4c14610a02578063fe9fbb8014610a7f578063ffecf51614610abf576102c6565b8063f2fde38b146109ad578063f887ea40146109ed576102c6565b8063df20fd49116100b0578063df20fd49146108f3578063ea1e1a8d14610925578063f0b37c041461096d576102c6565b8063dd62ed3e14610896578063deab8aea146108de576102c6565b8063bf56b37111610122578063d128b90c11610107578063d128b90c1461081a578063d46980161461082f578063d7c0103214610844576102c6565b8063bf56b37114610788578063c204642c1461079d576102c6565b8063b29a814011610153578063b29a8140146106ed578063b6a5d7de14610733578063bcdb446b14610773576102c6565b8063a8aa1b3114610692578063a9059cbb146106a7576102c6565b80634d54288b1161021c57806370a08231116101d05780637ae316d0116101b55780637ae316d014610668578063893d20e81461067d57806395d89b4114610336576102c6565b806370a08231146105ea57806375f0a8741461062a576102c6565b80635804f1e4116102015780635804f1e4146105ab5780635fe7208c146105c05780636ddd1713146105d5576102c6565b80634d54288b14610556578063571ac8b01461056b576102c6565b806323b872dd116102735780632f54bf6e116102585780632f54bf6e146104ab578063313ce567146104eb57806345139ac814610516576102c6565b806323b872dd1461042f5780632ca772951461047f576102c6565b806306fdde03116102a457806306fdde0314610336578063095ea7b3146103c057806318160ddd1461041a576102c6565b80630445b667146102cb57806304a66b48146102f2576102c6565b366102c657005b600080fd5b3480156102d757600080fd5b506102e0610aff565b60408051918252519081900360200190f35b3480156102fe57600080fd5b50610334600480360360a081101561031557600080fd5b5080359060208101359060408101359060608101359060800135610b05565b005b34801561034257600080fd5b5061034b610bc3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038557818101518382015260200161036d565b50505050905090810190601f1680156103b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103cc57600080fd5b50610406600480360360408110156103e357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610bfb565b604080519115158252519081900360200190f35b34801561042657600080fd5b506102e0610c6f565b34801561043b57600080fd5b506104066004803603606081101561045257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c75565b34801561048b57600080fd5b50610334600480360360208110156104a257600080fd5b50351515610d83565b3480156104b757600080fd5b50610406600480360360208110156104ce57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e2e565b3480156104f757600080fd5b50610500610e4f565b6040805160ff9092168252519081900360200190f35b34801561052257600080fd5b506103346004803603602081101561053957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e54565b34801561056257600080fd5b50610406610f14565b34801561057757600080fd5b506104066004803603602081101561058e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f23565b3480156105b757600080fd5b506102e0610f4f565b3480156105cc57600080fd5b50610334610f55565b3480156105e157600080fd5b50610406610fd3565b3480156105f657600080fd5b506102e06004803603602081101561060d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fdc565b34801561063657600080fd5b5061063f611004565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561067457600080fd5b506102e0611020565b34801561068957600080fd5b5061063f61103f565b34801561069e57600080fd5b5061063f61105b565b3480156106b357600080fd5b50610406600480360360408110156106ca57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611077565b3480156106f957600080fd5b506104066004803603604081101561071057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611084565b34801561073f57600080fd5b506103346004803603602081101561075657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111a2565b34801561077f57600080fd5b50610334611268565b34801561079457600080fd5b506102e061130b565b3480156107a957600080fd5b50610334600480360360408110156107c057600080fd5b8101906020810181356401000000008111156107db57600080fd5b8201836020820111156107ed57600080fd5b8035906020019184602083028401116401000000008311171561080f57600080fd5b919350915035611311565b34801561082657600080fd5b506104066113d2565b34801561083b57600080fd5b5061063f6113e0565b34801561085057600080fd5b506103346004803603606081101561086757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604090910135166113fc565b3480156108a257600080fd5b506102e0600480360360408110156108b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166114d4565b3480156108ea57600080fd5b5061063f61150c565b3480156108ff57600080fd5b506103346004803603604081101561091657600080fd5b50803515159060200135611528565b34801561093157600080fd5b506103346004803603604081101561094857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156115d1565b34801561097957600080fd5b506103346004803603602081101561099057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116ae565b3480156109b957600080fd5b50610334600480360360208110156109d057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661176e565b3480156109f957600080fd5b5061063f611893565b348015610a0e57600080fd5b5061033460048036036020811015610a2557600080fd5b810190602081018135640100000000811115610a4057600080fd5b820183602082011115610a5257600080fd5b80359060200191846020830284011164010000000083111715610a7457600080fd5b5090925090506118af565b348015610a8b57600080fd5b5061040660048036036020811015610aa257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119a9565b348015610acb57600080fd5b5061033460048036036020811015610ae257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119d4565b601d5481565b610b0e33610e2e565b610b7957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c859055600e849055600d839055600f829055610ba382610b9d85818989611ad9565b90611ad9565b60105560118190556005810460105410610bbc57600080fd5b5050505050565b60408051808201909152600381527f415045000000000000000000000000000000000000000000000000000000000060208201525b90565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610d6e57604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600782528381203382529091529190912054610d3c918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff851660009081526007602090815260408083203384529091529020555b610d79848484611bfe565b90505b9392505050565b610d8c336119a9565b610df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601c8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161490565b600990565b610e5d336119a9565b610ec857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000610f1e61201f565b905090565b6000610c69827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610bfb565b601b5481565b610f5e336119a9565b610fc957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610fd161204f565b565b601c5460ff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b600043601a5460020111156110385750601154610bf8565b5060105490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60195473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d7c338484611bfe565b600061108f336119a9565b6110fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101849052905173ffffffffffffffffffffffffffffffffffffffff85169163a9059cbb9160448083019260209291908290030181600087803b15801561116f57600080fd5b505af1158015611183573d6000803e3d6000fd5b505050506040513d602081101561119957600080fd5b50519392505050565b6111ab33610e2e565b61121657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b61127133610e2e565b6112dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60405133904780156108fc02916000818181858888f19350505050158015611308573d6000803e3d6000fd5b50565b601a5481565b61131a336119a9565b61138557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b828110156113cc576113c3338585848181106113a057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16846125a3565b50600101611388565b50505050565b601c54610100900460ff1681565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b61140533610e2e565b61147057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155601580549385169382169390931790925560138054919093169116179055565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205490565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b61153133610e2e565b61159c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b601c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001692151592909217909155601d55565b6115da33610e2e565b61164557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260086020908152604080832080549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00958616811790915560099092529091208054909216179055565b6116b733610e2e565b61172257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b61177733610e2e565b6117e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b6118b8336119a9565b61192357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b818110156119a4576001600a600085858581811061194057fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101611926565b505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b6119dd336119a9565b611a4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000610d7c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126b4565b600082820183811015610d7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115611bf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bbb578181015183820152602001611ba3565b50505050905090810190601f168015611be85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604081205460ff1615611c3157600080fd5b601e5460ff1615611c4e57611c478484846125a3565b9050610d7c565b611c56612733565b15611c6357611c6361204f565b611c6b61278f565b158015611c92575060195473ffffffffffffffffffffffffffffffffffffffff8481169116145b15611cce5773ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611cc657600080fd5b611cce612797565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8716600090815260069091529190912054611d36918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260066020526040902055611d6461278f565b8015611d96575073ffffffffffffffffffffffffffffffffffffffff831660009081526009602052604090205460ff16155b8015611dbc575060195473ffffffffffffffffffffffffffffffffffffffff8581169116145b15611f1f5743601a546002011115611e335773ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00918216811790925532845291909220805490911690911790555b611e3b61201f565b15611edc5760055473ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604090205483011115611e7657600080fd5b600454821115611e8557600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b6020526040902054601e01421015611eba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83163214611edc57600080fd5b601c54610100900460ff168015611ef8575042601b5461025801105b15611f1f5773ffffffffffffffffffffffffffffffffffffffff83163214611f1f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b60209081526040808320429055600890915281205460ff16611f7d57611f62856127b3565b611f6c5782611f76565b611f7685846127df565b9050611f80565b50815b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611fb09082611ad9565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526006602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b6000601a54600014158015612039575043601a5460020111155b8015610f1e575042601b54610258011015905090565b601e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055601054600c54601d546000926120a09260029261209a929183919061288b565b90611a97565b905060006120b982601d546128fe90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106120ed57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025482519116908290600190811061212557fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526018546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b838110156121e95781810151838201526020016121d1565b505050509050019650505050505050600060405180830381600087803b15801561221257600080fd5b505af1158015612226573d6000803e3d6000fd5b50505050600061223f82476128fe90919063ffffffff16565b9050600061226561225c6002600c54611a9790919063ffffffff16565b601054906128fe565b90506000612287600261209a8461209a600c548861288b90919063ffffffff16565b905060006122a48361209a600e548761288b90919063ffffffff16565b905060006122c18461209a600d548861288b90919063ffffffff16565b905060006122de8561209a600f548961288b90919063ffffffff16565b60155490915073ffffffffffffffffffffffffffffffffffffffff166108fc612308856002611a97565b6040518115909202916000818181858888f19350505050158015612330573d6000803e3d6000fd5b5060165473ffffffffffffffffffffffffffffffffffffffff166108fc612358856004611a97565b6040518115909202916000818181858888f19350505050158015612380573d6000803e3d6000fd5b5060175473ffffffffffffffffffffffffffffffffffffffff166108fc6123a8856004611a97565b6040518115909202916000818181858888f193505050501580156123d0573d6000803e3d6000fd5b5060135460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015612418573d6000803e3d6000fd5b5060145460405173ffffffffffffffffffffffffffffffffffffffff9091169082156108fc029083906000818181858888f19350505050158015612460573d6000803e3d6000fd5b50891561256f57601854601254604080517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018e9052600060448201819052606482015273ffffffffffffffffffffffffffffffffffffffff9283166084820152610168420160a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b50505050506040513d606081101561253157600080fd5b505060408051858152602081018c905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b5050601e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555050505050505050565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8616600090815260069091529182205461260a918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526006602052604080822093909355908516815220546126469083611ad9565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818361271d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611bbb578181015183820152602001611ba3565b50600083858161272957fe5b0495945050505050565b60195460009073ffffffffffffffffffffffffffffffffffffffff1633148015906127615750601e5460ff16155b801561276f5750601c5460ff165b8015610f1e575050601d5430600090815260066020526040902054101590565b601a54151590565b61279f61278f565b156127a957600080fd5b43601a5542601b55565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205460ff161590565b6000806127fa60115461209a6127f3611020565b869061288b565b306000908152600660205260409020549091506128179082611ad9565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361288383826128fe565b949350505050565b60008261289a57506000610c69565b828202828482816128a757fe5b0414610d7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129416021913960400191505060405180910390fd5b6000610d7c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212206d688fd01a918f27f22abdaf94d1f3ab4be93297d49c3448476a9dc59cb3face64736f6c63430007060033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106102bf5760003560e01c8063a8aa1b311161016e578063dd62ed3e116100cb578063f2fde38b1161007f578063fcd45e4c11610064578063fcd45e4c14610a02578063fe9fbb8014610a7f578063ffecf51614610abf576102c6565b8063f2fde38b146109ad578063f887ea40146109ed576102c6565b8063df20fd49116100b0578063df20fd49146108f3578063ea1e1a8d14610925578063f0b37c041461096d576102c6565b8063dd62ed3e14610896578063deab8aea146108de576102c6565b8063bf56b37111610122578063d128b90c11610107578063d128b90c1461081a578063d46980161461082f578063d7c0103214610844576102c6565b8063bf56b37114610788578063c204642c1461079d576102c6565b8063b29a814011610153578063b29a8140146106ed578063b6a5d7de14610733578063bcdb446b14610773576102c6565b8063a8aa1b3114610692578063a9059cbb146106a7576102c6565b80634d54288b1161021c57806370a08231116101d05780637ae316d0116101b55780637ae316d014610668578063893d20e81461067d57806395d89b4114610336576102c6565b806370a08231146105ea57806375f0a8741461062a576102c6565b80635804f1e4116102015780635804f1e4146105ab5780635fe7208c146105c05780636ddd1713146105d5576102c6565b80634d54288b14610556578063571ac8b01461056b576102c6565b806323b872dd116102735780632f54bf6e116102585780632f54bf6e146104ab578063313ce567146104eb57806345139ac814610516576102c6565b806323b872dd1461042f5780632ca772951461047f576102c6565b806306fdde03116102a457806306fdde0314610336578063095ea7b3146103c057806318160ddd1461041a576102c6565b80630445b667146102cb57806304a66b48146102f2576102c6565b366102c657005b600080fd5b3480156102d757600080fd5b506102e0610aff565b60408051918252519081900360200190f35b3480156102fe57600080fd5b50610334600480360360a081101561031557600080fd5b5080359060208101359060408101359060608101359060800135610b05565b005b34801561034257600080fd5b5061034b610bc3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038557818101518382015260200161036d565b50505050905090810190601f1680156103b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103cc57600080fd5b50610406600480360360408110156103e357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610bfb565b604080519115158252519081900360200190f35b34801561042657600080fd5b506102e0610c6f565b34801561043b57600080fd5b506104066004803603606081101561045257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c75565b34801561048b57600080fd5b50610334600480360360208110156104a257600080fd5b50351515610d83565b3480156104b757600080fd5b50610406600480360360208110156104ce57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e2e565b3480156104f757600080fd5b50610500610e4f565b6040805160ff9092168252519081900360200190f35b34801561052257600080fd5b506103346004803603602081101561053957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e54565b34801561056257600080fd5b50610406610f14565b34801561057757600080fd5b506104066004803603602081101561058e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f23565b3480156105b757600080fd5b506102e0610f4f565b3480156105cc57600080fd5b50610334610f55565b3480156105e157600080fd5b50610406610fd3565b3480156105f657600080fd5b506102e06004803603602081101561060d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fdc565b34801561063657600080fd5b5061063f611004565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561067457600080fd5b506102e0611020565b34801561068957600080fd5b5061063f61103f565b34801561069e57600080fd5b5061063f61105b565b3480156106b357600080fd5b50610406600480360360408110156106ca57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611077565b3480156106f957600080fd5b506104066004803603604081101561071057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611084565b34801561073f57600080fd5b506103346004803603602081101561075657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111a2565b34801561077f57600080fd5b50610334611268565b34801561079457600080fd5b506102e061130b565b3480156107a957600080fd5b50610334600480360360408110156107c057600080fd5b8101906020810181356401000000008111156107db57600080fd5b8201836020820111156107ed57600080fd5b8035906020019184602083028401116401000000008311171561080f57600080fd5b919350915035611311565b34801561082657600080fd5b506104066113d2565b34801561083b57600080fd5b5061063f6113e0565b34801561085057600080fd5b506103346004803603606081101561086757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604090910135166113fc565b3480156108a257600080fd5b506102e0600480360360408110156108b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166114d4565b3480156108ea57600080fd5b5061063f61150c565b3480156108ff57600080fd5b506103346004803603604081101561091657600080fd5b50803515159060200135611528565b34801561093157600080fd5b506103346004803603604081101561094857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156115d1565b34801561097957600080fd5b506103346004803603602081101561099057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116ae565b3480156109b957600080fd5b50610334600480360360208110156109d057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661176e565b3480156109f957600080fd5b5061063f611893565b348015610a0e57600080fd5b5061033460048036036020811015610a2557600080fd5b810190602081018135640100000000811115610a4057600080fd5b820183602082011115610a5257600080fd5b80359060200191846020830284011164010000000083111715610a7457600080fd5b5090925090506118af565b348015610a8b57600080fd5b5061040660048036036020811015610aa257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119a9565b348015610acb57600080fd5b5061033460048036036020811015610ae257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119d4565b601d5481565b610b0e33610e2e565b610b7957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c859055600e849055600d839055600f829055610ba382610b9d85818989611ad9565b90611ad9565b60105560118190556005810460105410610bbc57600080fd5b5050505050565b60408051808201909152600381527f415045000000000000000000000000000000000000000000000000000000000060208201525b90565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610d6e57604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600782528381203382529091529190912054610d3c918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff851660009081526007602090815260408083203384529091529020555b610d79848484611bfe565b90505b9392505050565b610d8c336119a9565b610df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601c8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161490565b600990565b610e5d336119a9565b610ec857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000610f1e61201f565b905090565b6000610c69827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610bfb565b601b5481565b610f5e336119a9565b610fc957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610fd161204f565b565b601c5460ff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b600043601a5460020111156110385750601154610bf8565b5060105490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60195473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d7c338484611bfe565b600061108f336119a9565b6110fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015260248101849052905173ffffffffffffffffffffffffffffffffffffffff85169163a9059cbb9160448083019260209291908290030181600087803b15801561116f57600080fd5b505af1158015611183573d6000803e3d6000fd5b505050506040513d602081101561119957600080fd5b50519392505050565b6111ab33610e2e565b61121657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b61127133610e2e565b6112dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60405133904780156108fc02916000818181858888f19350505050158015611308573d6000803e3d6000fd5b50565b601a5481565b61131a336119a9565b61138557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b828110156113cc576113c3338585848181106113a057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16846125a3565b50600101611388565b50505050565b601c54610100900460ff1681565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b61140533610e2e565b61147057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9485167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155601580549385169382169390931790925560138054919093169116179055565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205490565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b61153133610e2e565b61159c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b601c80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001692151592909217909155601d55565b6115da33610e2e565b61164557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260086020908152604080832080549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00958616811790915560099092529091208054909216179055565b6116b733610e2e565b61172257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b61177733610e2e565b6117e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b6118b8336119a9565b61192357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b818110156119a4576001600a600085858581811061194057fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101611926565b505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b6119dd336119a9565b611a4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000610d7c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126b4565b600082820183811015610d7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115611bf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bbb578181015183820152602001611ba3565b50505050905090810190601f168015611be85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604081205460ff1615611c3157600080fd5b601e5460ff1615611c4e57611c478484846125a3565b9050610d7c565b611c56612733565b15611c6357611c6361204f565b611c6b61278f565b158015611c92575060195473ffffffffffffffffffffffffffffffffffffffff8481169116145b15611cce5773ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611cc657600080fd5b611cce612797565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8716600090815260069091529190912054611d36918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260066020526040902055611d6461278f565b8015611d96575073ffffffffffffffffffffffffffffffffffffffff831660009081526009602052604090205460ff16155b8015611dbc575060195473ffffffffffffffffffffffffffffffffffffffff8581169116145b15611f1f5743601a546002011115611e335773ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00918216811790925532845291909220805490911690911790555b611e3b61201f565b15611edc5760055473ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604090205483011115611e7657600080fd5b600454821115611e8557600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b6020526040902054601e01421015611eba57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83163214611edc57600080fd5b601c54610100900460ff168015611ef8575042601b5461025801105b15611f1f5773ffffffffffffffffffffffffffffffffffffffff83163214611f1f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b60209081526040808320429055600890915281205460ff16611f7d57611f62856127b3565b611f6c5782611f76565b611f7685846127df565b9050611f80565b50815b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611fb09082611ad9565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526006602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b6000601a54600014158015612039575043601a5460020111155b8015610f1e575042601b54610258011015905090565b601e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055601054600c54601d546000926120a09260029261209a929183919061288b565b90611a97565b905060006120b982601d546128fe90919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106120ed57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025482519116908290600190811061212557fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526018546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b838110156121e95781810151838201526020016121d1565b505050509050019650505050505050600060405180830381600087803b15801561221257600080fd5b505af1158015612226573d6000803e3d6000fd5b50505050600061223f82476128fe90919063ffffffff16565b9050600061226561225c6002600c54611a9790919063ffffffff16565b601054906128fe565b90506000612287600261209a8461209a600c548861288b90919063ffffffff16565b905060006122a48361209a600e548761288b90919063ffffffff16565b905060006122c18461209a600d548861288b90919063ffffffff16565b905060006122de8561209a600f548961288b90919063ffffffff16565b60155490915073ffffffffffffffffffffffffffffffffffffffff166108fc612308856002611a97565b6040518115909202916000818181858888f19350505050158015612330573d6000803e3d6000fd5b5060165473ffffffffffffffffffffffffffffffffffffffff166108fc612358856004611a97565b6040518115909202916000818181858888f19350505050158015612380573d6000803e3d6000fd5b5060175473ffffffffffffffffffffffffffffffffffffffff166108fc6123a8856004611a97565b6040518115909202916000818181858888f193505050501580156123d0573d6000803e3d6000fd5b5060135460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015612418573d6000803e3d6000fd5b5060145460405173ffffffffffffffffffffffffffffffffffffffff9091169082156108fc029083906000818181858888f19350505050158015612460573d6000803e3d6000fd5b50891561256f57601854601254604080517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018e9052600060448201819052606482015273ffffffffffffffffffffffffffffffffffffffff9283166084820152610168420160a48201529051919092169163f305d71991879160c48082019260609290919082900301818588803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b50505050506040513d606081101561253157600080fd5b505060408051858152602081018c905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b5050601e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555050505050505050565b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8616600090815260069091529182205461260a918490611b4d565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526006602052604080822093909355908516815220546126469083611ad9565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818361271d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611bbb578181015183820152602001611ba3565b50600083858161272957fe5b0495945050505050565b60195460009073ffffffffffffffffffffffffffffffffffffffff1633148015906127615750601e5460ff16155b801561276f5750601c5460ff165b8015610f1e575050601d5430600090815260066020526040902054101590565b601a54151590565b61279f61278f565b156127a957600080fd5b43601a5542601b55565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205460ff161590565b6000806127fa60115461209a6127f3611020565b869061288b565b306000908152600660205260409020549091506128179082611ad9565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361288383826128fe565b949350505050565b60008261289a57506000610c69565b828202828482816128a757fe5b0414610d7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129416021913960400191505060405180910390fd5b6000610d7c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212206d688fd01a918f27f22abdaf94d1f3ab4be93297d49c3448476a9dc59cb3face64736f6c63430007060033

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.