ETH Price: $3,378.03 (+3.15%)
Gas: 3 Gwei

Token

Summit Capital (SUMT)
 

Overview

Max Total Supply

10,000,000 SUMT

Holders

87

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
0xmoles.eth
Balance
0.000000000000000001 SUMT

Value
$0.00
0x1ee9e2692b4fcb8016f1986699aee96d4b6f9586
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:
Summit

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion
File 1 of 4 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the value of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves a `value` amount of tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 value) external returns (bool);

    /**
     * @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.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets a `value` amount of tokens 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:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

File 2 of 4 : INonfungiblePositionManager.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

interface INonfungiblePositionManager {
    struct MintParams {
        address token0;
        address token1;
        uint24 fee;
        int24 tickLower;
        int24 tickUpper;
        uint amount0Desired;
        uint amount1Desired;
        uint amount0Min;
        uint amount1Min;
        address recipient;
        uint deadline;
    }

    function mint(
        MintParams calldata params
    )
        external
        payable
        returns (uint tokenId, uint128 liquidity, uint amount0, uint amount1);

    struct IncreaseLiquidityParams {
        uint tokenId;
        uint amount0Desired;
        uint amount1Desired;
        uint amount0Min;
        uint amount1Min;
        uint deadline;
    }

    function increaseLiquidity(
        IncreaseLiquidityParams calldata params
    ) external payable returns (uint128 liquidity, uint amount0, uint amount1);

    struct DecreaseLiquidityParams {
        uint tokenId;
        uint128 liquidity;
        uint amount0Min;
        uint amount1Min;
        uint deadline;
    }

    function decreaseLiquidity(
        DecreaseLiquidityParams calldata params
    ) external payable returns (uint amount0, uint amount1);

    struct CollectParams {
        uint tokenId;
        address recipient;
        uint128 amount0Max;
        uint128 amount1Max;
    }

    function collect(
        CollectParams calldata params
    ) external payable returns (uint amount0, uint amount1);

    function createAndInitializePoolIfNecessary(
        address token0,
        address token1,
        uint24 fee,
        uint160 sqrtPriceX96
    ) external payable returns (address pool);

}

File 3 of 4 : ISwapRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

interface ISwapRouter {
    struct ExactInputSingleParams {
        address tokenIn;
        address tokenOut;
        uint24 fee;
        address recipient;
        uint deadline;
        uint amountIn;
        uint amountOutMinimum;
        uint160 sqrtPriceLimitX96;
    }

    /// @notice Swaps amountIn of one token for as much as possible of another token
    /// @param params The parameters necessary for the swap, encoded as ExactInputSingleParams in calldata
    /// @return amountOut The amount of the received token
    function exactInputSingle(
        ExactInputSingleParams calldata params
    ) external payable returns (uint amountOut);

}

File 4 of 4 : Summit.sol
/*
   _____                           _ _      _____            _ _        _ 
  / ____|                         (_) |    / ____|          (_) |      | |
 | (___  _   _ _ __ ___  _ __ ___  _| |_  | |     __ _ _ __  _| |_ __ _| |
  \___ \| | | | '_ ` _ \| '_ ` _ \| | __| | |    / _` | '_ \| | __/ _` | |
  ____) | |_| | | | | | | | | | | | | |_  | |___| (_| | |_) | | || (_| | |
 |_____/ \__,_|_| |_| |_|_| |_| |_|_|\__|  \_____\__,_| .__/|_|\__\__,_|_|
                                                      | |                 
                                                      |_|              
                                                         
  Website:    https://summitcapital.xyz/
  Twitter:    https://twitter.com/summitalgo
  Telegram:   https://t.me/summitcapital
  Medium:     https://summitcapital.medium.com/
  Docs:       https://docs.summitcapital.xyz/
  ENS:        summitdeployer.eth

*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

import "./interfaces/INonfungiblePositionManager.sol";
import "./interfaces/ISwapRouter.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract Summit {
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    uint public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;
    mapping(address => bool) public noMax;
    string public name = "Summit Capital";
    string public symbol = "SUMT";
    uint8 public decimals = 18;

    INonfungiblePositionManager public nonfungiblePositionManager = INonfungiblePositionManager(0xC36442b4a4522E871399CD717aBDD847Ab11FE88);
    ISwapRouter constant router = ISwapRouter(0xE592427A0AEce92De3Edee1F18E0157C05861564);

    address public WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    uint256 public buyFee = 10000;
    uint256 public bolsterReward = 5000;
    uint256 public maxWalletPercent = 500;
    uint256 public buyFeeBalance;
    address public pool;
    address public owner;

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner!");
        _;
    }

    constructor() {
      owner = msg.sender;

      uint amount = 10_000_000 * (10 ** decimals);
      balanceOf[msg.sender] += amount;
      totalSupply += amount;
      emit Transfer(address(0), msg.sender, amount);

      address token0 = address(this) < WETH ? address(this) : WETH;
      address token1 = address(this) < WETH ? WETH : address(this);
      uint24 fee = 10000;
      uint160 sqrtPriceX96 = token0 == address(this) ? 56022770974786140000000000 : 112045541949572280000000000000000;

      pool = initializePool(token0, token1, fee, sqrtPriceX96);
    }

    function initializePool(address token0, address token1, uint24 fee, uint160 sqrtPriceX96) public returns (address) {
      return nonfungiblePositionManager.createAndInitializePoolIfNecessary(token0, token1, fee, sqrtPriceX96);
    }

    function transfer(address recipient, uint amount) public returns (bool) {

        if (msg.sender == pool) {

          balanceOf[msg.sender] -= amount;

          uint amountNoFee = handleTaxedTokens(msg.sender, amount);

          if (!noMax[recipient]) {
            uint256 maxWallet = totalSupply * maxWalletPercent / 100_000;
            require(balanceOf[recipient] + amountNoFee <=  maxWallet, "Max wallet exceeded!");
          }

          balanceOf[recipient] += amountNoFee;
          emit Transfer(msg.sender, recipient, amountNoFee);
          return true;

        } else {
          balanceOf[msg.sender] -= amount;
          balanceOf[recipient] += amount;
          emit Transfer(msg.sender, recipient, amount);
          return true;
        }
    }

    function approve(address spender, uint amount) public returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) public returns (bool) {

        allowance[sender][msg.sender] -= amount;
        balanceOf[sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }
    

    function swapExactInputSingleHop(
        address tokenIn,
        address tokenOut,
        uint24 poolFee,
        uint amountIn,
        uint amountOutMinimum
    ) private returns (uint amountOut) {
        IERC20(tokenIn).approve(address(router), amountIn);

        ISwapRouter.ExactInputSingleParams memory params = ISwapRouter
            .ExactInputSingleParams({
                tokenIn: tokenIn,
                tokenOut: tokenOut,
                fee: poolFee,
                recipient: address(this),
                deadline: block.timestamp,
                amountIn: amountIn,
                amountOutMinimum: amountOutMinimum,
                sqrtPriceLimitX96: 0
            });

        amountOut = router.exactInputSingle(params);
    }

    function handleTaxedTokens(address sender, uint amount) private returns (uint) {
          uint256 _fee = amount * buyFee / 100_000;
          balanceOf[address(this)] += _fee;
          buyFeeBalance += _fee;
          emit Transfer(sender, address(this), _fee);

          return amount - _fee;
    }

    function callToEarn() public {
        require(buyFeeBalance > 0);
        uint amountOut = swapExactInputSingleHop(address(this), WETH, 10000, buyFeeBalance, 0);
        buyFeeBalance = 0;

        uint reward = amountOut * bolsterReward / 100_000;
        IERC20(WETH).transfer(msg.sender, reward);
    }

    function upgradeOwner(address _owner) public onlyOwner {
      owner = _owner;
    }

    function modulateFees(uint256 _buyFee, uint256 _bolsterReward, uint256 _maxWalletPercent) public onlyOwner {
      buyFee = _buyFee;
      bolsterReward = _bolsterReward;
      maxWalletPercent = _maxWalletPercent;
    }

    function changeNoMax(address target, bool value) public onlyOwner {
      noMax[target] = value;
    }

    // Emergency
    function rescue(address token) public onlyOwner {
        uint256 balance = IERC20(token).balanceOf(address(this));
        IERC20(token).transfer(msg.sender, balance);
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bolsterReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"callToEarn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"changeNoMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initializePool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_bolsterReward","type":"uint256"},{"internalType":"uint256","name":"_maxWalletPercent","type":"uint256"}],"name":"modulateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"noMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonfungiblePositionManager","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"rescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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","name":"_owner","type":"address"}],"name":"upgradeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600e81526020017f53756d6d6974204361706974616c000000000000000000000000000000000000815250600490816200004a9190620007ce565b506040518060400160405280600481526020017f53554d540000000000000000000000000000000000000000000000000000000081525060059081620000919190620007ce565b506012600660006101000a81548160ff021916908360ff16021790555073c36442b4a4522e871399cd717abdd847ab11fe88600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506127106008556113886009556101f4600a553480156200017757600080fd5b5033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660009054906101000a900460ff16600a620001d9919062000a45565b62989680620001e9919062000a96565b905080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200023c919062000ae1565b925050819055508060008082825462000256919062000ae1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002bd919062000b2d565b60405180910390a36000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16106200034657600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000348565b305b90506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1610620003a95730620003cd565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90506000612710905060003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161462000421576d058636ac06101971ddce88ac00006200042e565b6a2e57487ffe6e2e3b3498005b6dffffffffffffffffffffffffffff16905062000454848484846200049f60201b60201c565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000c75565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313ead562868686866040518563ffffffff1660e01b815260040162000504949392919062000bc0565b6020604051808303816000875af115801562000524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200054a919062000c43565b9050949350505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005d657607f821691505b602082108103620005ec57620005eb6200058e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000617565b62000662868362000617565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006af620006a9620006a3846200067a565b62000684565b6200067a565b9050919050565b6000819050919050565b620006cb836200068e565b620006e3620006da82620006b6565b84845462000624565b825550505050565b600090565b620006fa620006eb565b62000707818484620006c0565b505050565b5b818110156200072f5762000723600082620006f0565b6001810190506200070d565b5050565b601f8211156200077e576200074881620005f2565b620007538462000607565b8101602085101562000763578190505b6200077b620007728562000607565b8301826200070c565b50505b505050565b600082821c905092915050565b6000620007a36000198460080262000783565b1980831691505092915050565b6000620007be838362000790565b9150826002028217905092915050565b620007d98262000554565b67ffffffffffffffff811115620007f557620007f46200055f565b5b620008018254620005bd565b6200080e82828562000733565b600060209050601f83116001811462000846576000841562000831578287015190505b6200083d8582620007b0565b865550620008ad565b601f1984166200085686620005f2565b60005b82811015620008805784890151825560018201915060208501945060208101905062000859565b86831015620008a057848901516200089c601f89168262000790565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000943578086048111156200091b576200091a620008b5565b5b60018516156200092b5780820291505b80810290506200093b85620008e4565b9450620008fb565b94509492505050565b6000826200095e576001905062000a31565b816200096e576000905062000a31565b81600181146200098757600281146200099257620009c8565b600191505062000a31565b60ff841115620009a757620009a6620008b5565b5b8360020a915084821115620009c157620009c0620008b5565b5b5062000a31565b5060208310610133831016604e8410600b841016171562000a025782820a905083811115620009fc57620009fb620008b5565b5b62000a31565b62000a118484846001620008f1565b9250905081840481111562000a2b5762000a2a620008b5565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a52826200067a565b915062000a5f8362000a38565b925062000a8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200094c565b905092915050565b600062000aa3826200067a565b915062000ab0836200067a565b925082820262000ac0816200067a565b9150828204841483151762000ada5762000ad9620008b5565b5b5092915050565b600062000aee826200067a565b915062000afb836200067a565b925082820190508082111562000b165762000b15620008b5565b5b92915050565b62000b27816200067a565b82525050565b600060208201905062000b44600083018462000b1c565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b778262000b4a565b9050919050565b62000b898162000b6a565b82525050565b600062ffffff82169050919050565b62000ba98162000b8f565b82525050565b62000bba8162000b4a565b82525050565b600060808201905062000bd7600083018762000b7e565b62000be6602083018662000b7e565b62000bf5604083018562000b9e565b62000c04606083018462000baf565b95945050505050565b600080fd5b62000c1d8162000b6a565b811462000c2957600080fd5b50565b60008151905062000c3d8162000c12565b92915050565b60006020828403121562000c5c5762000c5b62000c0d565b5b600062000c6c8482850162000c2c565b91505092915050565b611fad8062000c856000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806376f584e2116100c3578063b44a27221161007c578063b44a2722146103bb578063c0647dfb146103d9578063d8908b0e146103f5578063dd62ed3e14610413578063e609348a14610443578063fef0006e1461045f57610158565b806376f584e2146102f9578063839006f2146103155780638da5cb5b1461033157806395d89b411461034f578063a9059cbb1461036d578063ad5c46481461039d57610158565b80633198ec8a116101155780633198ec8a146102355780633d9a3d191461023f578063470624021461025d57806351e822551461027b5780636fb1461a1461029957806370a08231146102c957610158565b806306fdde031461015d578063095ea7b31461017b57806316f0115b146101ab57806318160ddd146101c957806323b872dd146101e7578063313ce56714610217575b600080fd5b61016561048f565b6040516101729190611637565b60405180910390f35b610195600480360381019061019091906116f2565b61051d565b6040516101a2919061174d565b60405180910390f35b6101b361060f565b6040516101c09190611777565b60405180910390f35b6101d1610635565b6040516101de91906117a1565b60405180910390f35b61020160048036038101906101fc91906117bc565b61063b565b60405161020e919061174d565b60405180910390f35b61021f6107ec565b60405161022c919061182b565b60405180910390f35b61023d6107ff565b005b610247610913565b60405161025491906117a1565b60405180910390f35b610265610919565b60405161027291906117a1565b60405180910390f35b61028361091f565b60405161029091906117a1565b60405180910390f35b6102b360048036038101906102ae91906118ad565b610925565b6040516102c09190611777565b60405180910390f35b6102e360048036038101906102de9190611914565b6109d5565b6040516102f091906117a1565b60405180910390f35b610313600480360381019061030e9190611941565b6109ed565b005b61032f600480360381019061032a9190611914565b610a97565b005b610339610c28565b6040516103469190611777565b60405180910390f35b610357610c4e565b6040516103649190611637565b60405180910390f35b610387600480360381019061038291906116f2565b610cdc565b604051610394919061174d565b60405180910390f35b6103a561107a565b6040516103b29190611777565b60405180910390f35b6103c36110a0565b6040516103d091906119f3565b60405180910390f35b6103f360048036038101906103ee9190611a3a565b6110c6565b005b6103fd6111b1565b60405161040a91906117a1565b60405180910390f35b61042d60048036038101906104289190611a7a565b6111b7565b60405161043a91906117a1565b60405180910390f35b61045d60048036038101906104589190611914565b6111dc565b005b61047960048036038101906104749190611914565b6112b0565b604051610486919061174d565b60405180910390f35b6004805461049c90611ae9565b80601f01602080910402602001604051908101604052809291908181526020018280546104c890611ae9565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105fd91906117a1565b60405180910390a36001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106c99190611b49565b9250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461071f9190611b49565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107759190611b7d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d991906117a1565b60405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b6000600b541161080e57600080fd5b600061084430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600b5460006112d0565b90506000600b819055506000620186a0600954836108629190611bb1565b61086c9190611c22565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016108cb929190611c53565b6020604051808303816000875af11580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611c91565b505050565b600a5481565b60085481565b60095481565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313ead562868686866040518563ffffffff1660e01b81526004016109889493929190611cdc565b6020604051808303816000875af11580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190611d36565b9050949350505050565b60016020528060005260406000206000915090505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7490611daf565b60405180910390fd5b826008819055508160098190555080600a81905550505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1e90611daf565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b629190611777565b602060405180830381865afa158015610b7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba39190611de4565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610be0929190611c53565b6020604051808303816000875af1158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190611c91565b505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054610c5b90611ae9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8790611ae9565b8015610cd45780601f10610ca957610100808354040283529160200191610cd4565b820191906000526020600020905b815481529060010190602001808311610cb757829003601f168201915b505050505081565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610f5e5781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d829190611b49565b925050819055506000610d95338461149d565b9050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e99576000620186a0600a54600054610dfe9190611bb1565b610e089190611c22565b90508082600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e569190611b7d565b1115610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90611e5d565b60405180910390fd5b505b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee89190611b7d565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4c91906117a1565b60405180910390a36001915050611074565b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fad9190611b49565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110039190611b7d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106791906117a1565b60405180910390a3600190505b92915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114d90611daf565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b5481565b6002602052816000526040600020602052806000526040600020600091509150505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126390611daf565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b60008573ffffffffffffffffffffffffffffffffffffffff1663095ea7b373e592427a0aece92de3edee1f18e0157c05861564856040518363ffffffff1660e01b8152600401611321929190611c53565b6020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611c91565b5060006040518061010001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018662ffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001428152602001858152602001848152602001600073ffffffffffffffffffffffffffffffffffffffff16815250905073e592427a0aece92de3edee1f18e0157c0586156473ffffffffffffffffffffffffffffffffffffffff1663414bf389826040518263ffffffff1660e01b815260040161144e9190611f5b565b6020604051808303816000875af115801561146d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114919190611de4565b91505095945050505050565b600080620186a0600854846114b29190611bb1565b6114bc9190611c22565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461150d9190611b7d565b9250508190555080600b60008282546115269190611b7d565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158a91906117a1565b60405180910390a3808361159e9190611b49565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115e15780820151818401526020810190506115c6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611609826115a7565b61161381856115b2565b93506116238185602086016115c3565b61162c816115ed565b840191505092915050565b6000602082019050818103600083015261165181846115fe565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116898261165e565b9050919050565b6116998161167e565b81146116a457600080fd5b50565b6000813590506116b681611690565b92915050565b6000819050919050565b6116cf816116bc565b81146116da57600080fd5b50565b6000813590506116ec816116c6565b92915050565b6000806040838503121561170957611708611659565b5b6000611717858286016116a7565b9250506020611728858286016116dd565b9150509250929050565b60008115159050919050565b61174781611732565b82525050565b6000602082019050611762600083018461173e565b92915050565b6117718161167e565b82525050565b600060208201905061178c6000830184611768565b92915050565b61179b816116bc565b82525050565b60006020820190506117b66000830184611792565b92915050565b6000806000606084860312156117d5576117d4611659565b5b60006117e3868287016116a7565b93505060206117f4868287016116a7565b9250506040611805868287016116dd565b9150509250925092565b600060ff82169050919050565b6118258161180f565b82525050565b6000602082019050611840600083018461181c565b92915050565b600062ffffff82169050919050565b61185e81611846565b811461186957600080fd5b50565b60008135905061187b81611855565b92915050565b61188a8161165e565b811461189557600080fd5b50565b6000813590506118a781611881565b92915050565b600080600080608085870312156118c7576118c6611659565b5b60006118d5878288016116a7565b94505060206118e6878288016116a7565b93505060406118f78782880161186c565b925050606061190887828801611898565b91505092959194509250565b60006020828403121561192a57611929611659565b5b6000611938848285016116a7565b91505092915050565b60008060006060848603121561195a57611959611659565b5b6000611968868287016116dd565b9350506020611979868287016116dd565b925050604061198a868287016116dd565b9150509250925092565b6000819050919050565b60006119b96119b46119af8461165e565b611994565b61165e565b9050919050565b60006119cb8261199e565b9050919050565b60006119dd826119c0565b9050919050565b6119ed816119d2565b82525050565b6000602082019050611a0860008301846119e4565b92915050565b611a1781611732565b8114611a2257600080fd5b50565b600081359050611a3481611a0e565b92915050565b60008060408385031215611a5157611a50611659565b5b6000611a5f858286016116a7565b9250506020611a7085828601611a25565b9150509250929050565b60008060408385031215611a9157611a90611659565b5b6000611a9f858286016116a7565b9250506020611ab0858286016116a7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b0157607f821691505b602082108103611b1457611b13611aba565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b54826116bc565b9150611b5f836116bc565b9250828203905081811115611b7757611b76611b1a565b5b92915050565b6000611b88826116bc565b9150611b93836116bc565b9250828201905080821115611bab57611baa611b1a565b5b92915050565b6000611bbc826116bc565b9150611bc7836116bc565b9250828202611bd5816116bc565b91508282048414831517611bec57611beb611b1a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c2d826116bc565b9150611c38836116bc565b925082611c4857611c47611bf3565b5b828204905092915050565b6000604082019050611c686000830185611768565b611c756020830184611792565b9392505050565b600081519050611c8b81611a0e565b92915050565b600060208284031215611ca757611ca6611659565b5b6000611cb584828501611c7c565b91505092915050565b611cc781611846565b82525050565b611cd68161165e565b82525050565b6000608082019050611cf16000830187611768565b611cfe6020830186611768565b611d0b6040830185611cbe565b611d186060830184611ccd565b95945050505050565b600081519050611d3081611690565b92915050565b600060208284031215611d4c57611d4b611659565b5b6000611d5a84828501611d21565b91505092915050565b7f4e6f74206f776e65722100000000000000000000000000000000000000000000600082015250565b6000611d99600a836115b2565b9150611da482611d63565b602082019050919050565b60006020820190508181036000830152611dc881611d8c565b9050919050565b600081519050611dde816116c6565b92915050565b600060208284031215611dfa57611df9611659565b5b6000611e0884828501611dcf565b91505092915050565b7f4d61782077616c6c657420657863656564656421000000000000000000000000600082015250565b6000611e476014836115b2565b9150611e5282611e11565b602082019050919050565b60006020820190508181036000830152611e7681611e3a565b9050919050565b611e868161167e565b82525050565b611e9581611846565b82525050565b611ea4816116bc565b82525050565b611eb38161165e565b82525050565b61010082016000820151611ed06000850182611e7d565b506020820151611ee36020850182611e7d565b506040820151611ef66040850182611e8c565b506060820151611f096060850182611e7d565b506080820151611f1c6080850182611e9b565b5060a0820151611f2f60a0850182611e9b565b5060c0820151611f4260c0850182611e9b565b5060e0820151611f5560e0850182611eaa565b50505050565b600061010082019050611f716000830184611eb9565b9291505056fea264697066735822122027cf14b378a80bcda15ee91104bb3958f59df78a8143816795586d2e5003276164736f6c63430008140033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806376f584e2116100c3578063b44a27221161007c578063b44a2722146103bb578063c0647dfb146103d9578063d8908b0e146103f5578063dd62ed3e14610413578063e609348a14610443578063fef0006e1461045f57610158565b806376f584e2146102f9578063839006f2146103155780638da5cb5b1461033157806395d89b411461034f578063a9059cbb1461036d578063ad5c46481461039d57610158565b80633198ec8a116101155780633198ec8a146102355780633d9a3d191461023f578063470624021461025d57806351e822551461027b5780636fb1461a1461029957806370a08231146102c957610158565b806306fdde031461015d578063095ea7b31461017b57806316f0115b146101ab57806318160ddd146101c957806323b872dd146101e7578063313ce56714610217575b600080fd5b61016561048f565b6040516101729190611637565b60405180910390f35b610195600480360381019061019091906116f2565b61051d565b6040516101a2919061174d565b60405180910390f35b6101b361060f565b6040516101c09190611777565b60405180910390f35b6101d1610635565b6040516101de91906117a1565b60405180910390f35b61020160048036038101906101fc91906117bc565b61063b565b60405161020e919061174d565b60405180910390f35b61021f6107ec565b60405161022c919061182b565b60405180910390f35b61023d6107ff565b005b610247610913565b60405161025491906117a1565b60405180910390f35b610265610919565b60405161027291906117a1565b60405180910390f35b61028361091f565b60405161029091906117a1565b60405180910390f35b6102b360048036038101906102ae91906118ad565b610925565b6040516102c09190611777565b60405180910390f35b6102e360048036038101906102de9190611914565b6109d5565b6040516102f091906117a1565b60405180910390f35b610313600480360381019061030e9190611941565b6109ed565b005b61032f600480360381019061032a9190611914565b610a97565b005b610339610c28565b6040516103469190611777565b60405180910390f35b610357610c4e565b6040516103649190611637565b60405180910390f35b610387600480360381019061038291906116f2565b610cdc565b604051610394919061174d565b60405180910390f35b6103a561107a565b6040516103b29190611777565b60405180910390f35b6103c36110a0565b6040516103d091906119f3565b60405180910390f35b6103f360048036038101906103ee9190611a3a565b6110c6565b005b6103fd6111b1565b60405161040a91906117a1565b60405180910390f35b61042d60048036038101906104289190611a7a565b6111b7565b60405161043a91906117a1565b60405180910390f35b61045d60048036038101906104589190611914565b6111dc565b005b61047960048036038101906104749190611914565b6112b0565b604051610486919061174d565b60405180910390f35b6004805461049c90611ae9565b80601f01602080910402602001604051908101604052809291908181526020018280546104c890611ae9565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105fd91906117a1565b60405180910390a36001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106c99190611b49565b9250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461071f9190611b49565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107759190611b7d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d991906117a1565b60405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b6000600b541161080e57600080fd5b600061084430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600b5460006112d0565b90506000600b819055506000620186a0600954836108629190611bb1565b61086c9190611c22565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016108cb929190611c53565b6020604051808303816000875af11580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611c91565b505050565b600a5481565b60085481565b60095481565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313ead562868686866040518563ffffffff1660e01b81526004016109889493929190611cdc565b6020604051808303816000875af11580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190611d36565b9050949350505050565b60016020528060005260406000206000915090505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7490611daf565b60405180910390fd5b826008819055508160098190555080600a81905550505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1e90611daf565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b629190611777565b602060405180830381865afa158015610b7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba39190611de4565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610be0929190611c53565b6020604051808303816000875af1158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190611c91565b505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054610c5b90611ae9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8790611ae9565b8015610cd45780601f10610ca957610100808354040283529160200191610cd4565b820191906000526020600020905b815481529060010190602001808311610cb757829003601f168201915b505050505081565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610f5e5781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d829190611b49565b925050819055506000610d95338461149d565b9050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e99576000620186a0600a54600054610dfe9190611bb1565b610e089190611c22565b90508082600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e569190611b7d565b1115610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90611e5d565b60405180910390fd5b505b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee89190611b7d565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4c91906117a1565b60405180910390a36001915050611074565b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fad9190611b49565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110039190611b7d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161106791906117a1565b60405180910390a3600190505b92915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114d90611daf565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b5481565b6002602052816000526040600020602052806000526040600020600091509150505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126390611daf565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b60008573ffffffffffffffffffffffffffffffffffffffff1663095ea7b373e592427a0aece92de3edee1f18e0157c05861564856040518363ffffffff1660e01b8152600401611321929190611c53565b6020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611c91565b5060006040518061010001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018662ffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001428152602001858152602001848152602001600073ffffffffffffffffffffffffffffffffffffffff16815250905073e592427a0aece92de3edee1f18e0157c0586156473ffffffffffffffffffffffffffffffffffffffff1663414bf389826040518263ffffffff1660e01b815260040161144e9190611f5b565b6020604051808303816000875af115801561146d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114919190611de4565b91505095945050505050565b600080620186a0600854846114b29190611bb1565b6114bc9190611c22565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461150d9190611b7d565b9250508190555080600b60008282546115269190611b7d565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158a91906117a1565b60405180910390a3808361159e9190611b49565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115e15780820151818401526020810190506115c6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611609826115a7565b61161381856115b2565b93506116238185602086016115c3565b61162c816115ed565b840191505092915050565b6000602082019050818103600083015261165181846115fe565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116898261165e565b9050919050565b6116998161167e565b81146116a457600080fd5b50565b6000813590506116b681611690565b92915050565b6000819050919050565b6116cf816116bc565b81146116da57600080fd5b50565b6000813590506116ec816116c6565b92915050565b6000806040838503121561170957611708611659565b5b6000611717858286016116a7565b9250506020611728858286016116dd565b9150509250929050565b60008115159050919050565b61174781611732565b82525050565b6000602082019050611762600083018461173e565b92915050565b6117718161167e565b82525050565b600060208201905061178c6000830184611768565b92915050565b61179b816116bc565b82525050565b60006020820190506117b66000830184611792565b92915050565b6000806000606084860312156117d5576117d4611659565b5b60006117e3868287016116a7565b93505060206117f4868287016116a7565b9250506040611805868287016116dd565b9150509250925092565b600060ff82169050919050565b6118258161180f565b82525050565b6000602082019050611840600083018461181c565b92915050565b600062ffffff82169050919050565b61185e81611846565b811461186957600080fd5b50565b60008135905061187b81611855565b92915050565b61188a8161165e565b811461189557600080fd5b50565b6000813590506118a781611881565b92915050565b600080600080608085870312156118c7576118c6611659565b5b60006118d5878288016116a7565b94505060206118e6878288016116a7565b93505060406118f78782880161186c565b925050606061190887828801611898565b91505092959194509250565b60006020828403121561192a57611929611659565b5b6000611938848285016116a7565b91505092915050565b60008060006060848603121561195a57611959611659565b5b6000611968868287016116dd565b9350506020611979868287016116dd565b925050604061198a868287016116dd565b9150509250925092565b6000819050919050565b60006119b96119b46119af8461165e565b611994565b61165e565b9050919050565b60006119cb8261199e565b9050919050565b60006119dd826119c0565b9050919050565b6119ed816119d2565b82525050565b6000602082019050611a0860008301846119e4565b92915050565b611a1781611732565b8114611a2257600080fd5b50565b600081359050611a3481611a0e565b92915050565b60008060408385031215611a5157611a50611659565b5b6000611a5f858286016116a7565b9250506020611a7085828601611a25565b9150509250929050565b60008060408385031215611a9157611a90611659565b5b6000611a9f858286016116a7565b9250506020611ab0858286016116a7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b0157607f821691505b602082108103611b1457611b13611aba565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b54826116bc565b9150611b5f836116bc565b9250828203905081811115611b7757611b76611b1a565b5b92915050565b6000611b88826116bc565b9150611b93836116bc565b9250828201905080821115611bab57611baa611b1a565b5b92915050565b6000611bbc826116bc565b9150611bc7836116bc565b9250828202611bd5816116bc565b91508282048414831517611bec57611beb611b1a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c2d826116bc565b9150611c38836116bc565b925082611c4857611c47611bf3565b5b828204905092915050565b6000604082019050611c686000830185611768565b611c756020830184611792565b9392505050565b600081519050611c8b81611a0e565b92915050565b600060208284031215611ca757611ca6611659565b5b6000611cb584828501611c7c565b91505092915050565b611cc781611846565b82525050565b611cd68161165e565b82525050565b6000608082019050611cf16000830187611768565b611cfe6020830186611768565b611d0b6040830185611cbe565b611d186060830184611ccd565b95945050505050565b600081519050611d3081611690565b92915050565b600060208284031215611d4c57611d4b611659565b5b6000611d5a84828501611d21565b91505092915050565b7f4e6f74206f776e65722100000000000000000000000000000000000000000000600082015250565b6000611d99600a836115b2565b9150611da482611d63565b602082019050919050565b60006020820190508181036000830152611dc881611d8c565b9050919050565b600081519050611dde816116c6565b92915050565b600060208284031215611dfa57611df9611659565b5b6000611e0884828501611dcf565b91505092915050565b7f4d61782077616c6c657420657863656564656421000000000000000000000000600082015250565b6000611e476014836115b2565b9150611e5282611e11565b602082019050919050565b60006020820190508181036000830152611e7681611e3a565b9050919050565b611e868161167e565b82525050565b611e9581611846565b82525050565b611ea4816116bc565b82525050565b611eb38161165e565b82525050565b61010082016000820151611ed06000850182611e7d565b506020820151611ee36020850182611e7d565b506040820151611ef66040850182611e8c565b506060820151611f096060850182611e7d565b506080820151611f1c6080850182611e9b565b5060a0820151611f2f60a0850182611e9b565b5060c0820151611f4260c0850182611e9b565b5060e0820151611f5560e0850182611eaa565b50505050565b600061010082019050611f716000830184611eb9565b9291505056fea264697066735822122027cf14b378a80bcda15ee91104bb3958f59df78a8143816795586d2e5003276164736f6c63430008140033

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.