ETH Price: $3,106.39 (-0.02%)

Token

X (X)
 

Overview

Max Total Supply

10,000 X

Holders

327

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Balance
2.62 X

Value
$0.00
0xa3112c294dcabcb8f4720a0f5c927afc7fc5fda1
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:
X

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion
File 1 of 2 : X.sol
// SPDX-License-Identifier:MIT
pragma solidity 0.8.6;

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

// Lightweight token modelled after UNI-LP:
// https://github.com/Uniswap/uniswap-v2-core/blob/v1.0.1/contracts/UniswapV2ERC20.sol
// Adds:
//   - An exposed `mint()` with minting role
//   - An exposed `burn()`
//   - ERC-3009 (`transferWithAuthorization()`)
contract X is IERC20 {
    // bytes32 private constant EIP712DOMAIN_HASH =
    // keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")
    bytes32 private constant EIP712DOMAIN_HASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;

    // bytes32 private constant NAME_HASH = keccak256("X")
    bytes32 private constant NAME_HASH = 0x550c64a15031c3064454c19adc6243a6122c138a242eaa098da50bb114fc8d56;

    // bytes32 private constant VERSION_HASH = keccak256("1")
    bytes32 private constant VERSION_HASH = 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6;

    // bytes32 public constant PERMIT_TYPEHASH =
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;

    // bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
    // keccak256("TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)");
    bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
        0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267;

    string public constant name = "X";
    string public constant symbol = "X";
    uint8 public constant decimals = 2;

    uint256 public override totalSupply;

    mapping(address => uint256) public override balanceOf;
    mapping(address => mapping(address => uint256)) public override allowance;

    // ERC-2612, ERC-3009 state
    mapping(address => uint256) public nonces;
    mapping(address => mapping(bytes32 => bool)) public authorizationState;

    // Token X specific
    mapping(address => bool) public allowlist;
    mapping(address => bool) public invitationSpent;
    address public dropzero;

    event AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce);
    event ChangeMinter(address indexed minter);

    constructor(address _dropzero) {
        dropzero = _dropzero;
    }

    function _validateSignedData(
        address signer,
        bytes32 encodeData,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal view {
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", getDomainSeparator(), encodeData));
        address recoveredAddress = ecrecover(digest, v, r, s);
        // Explicitly disallow authorizations for address(0) as ecrecover returns address(0) on malformed messages
        require(recoveredAddress != address(0) && recoveredAddress == signer, "X:INVALID_SIGNATURE");
    }

    function mint(address to, uint256 value) external {
        require(msg.sender == dropzero, "MINT: ONLY_DROPZERO");
        _mint(to, value);
        allowlist[to] = true;
    }

    function renounceMinter() external {
        require(block.timestamp > 1637366400, "AFTER 1637366400 (20th of November)");
        dropzero = address(0);
    }

    function _mint(address to, uint256 value) internal {
        totalSupply = totalSupply + value;
        balanceOf[to] = balanceOf[to] + value;
        emit Transfer(address(0), to, value);
    }

    function _addToAllowList(address from, address to) internal {
        if (allowlist[to] == false && invitationSpent[from] == false) {
            invitationSpent[from] = true;
            allowlist[to] = true;
        }
    }

    function _burn(address from, uint256 value) internal {
        // Balance is implicitly checked with Solidity's underflow protection
        balanceOf[from] = balanceOf[from] - value;
        totalSupply = totalSupply - value;
        emit Transfer(from, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) private {
        require(to != address(this) && to != address(0), "X:RECEIVER_IS_TOKEN_OR_ZERO");
        require(allowlist[from] == true, "blockzerolabs.io/x/getInvite");
        _addToAllowList(from, to);
        require(allowlist[to] == true, "blockzerolabs.io/x/getInvite");

        // Balance is implicitly checked with Solidity's underflow protection
        balanceOf[from] = balanceOf[from] - value;
        balanceOf[to] = balanceOf[to] + value;
        emit Transfer(from, to, value);
    }

    function getChainId() public view returns (uint256 chainId) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            chainId := chainid()
        }
    }

    function getDomainSeparator() public view returns (bytes32) {
        return keccak256(abi.encode(EIP712DOMAIN_HASH, NAME_HASH, VERSION_HASH, getChainId(), address(this)));
    }

    function burn(uint256 value) external returns (bool) {
        _burn(msg.sender, value);
        return true;
    }

    function approve(address spender, uint256 value) external override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint256 value) external override returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external override returns (bool) {
        uint256 fromAllowance = allowance[from][msg.sender];
        if (fromAllowance != type(uint256).max) {
            // Allowance is implicitly checked with Solidity's underflow protection
            allowance[from][msg.sender] = fromAllowance - value;
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(deadline >= block.timestamp, "X:AUTH_EXPIRED");

        bytes32 encodeData = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner], deadline));
        nonces[owner] = nonces[owner] + 1;
        _validateSignedData(owner, encodeData, v, r, s);

        _approve(owner, spender, value);
    }

    function transferWithAuthorization(
        address from,
        address to,
        uint256 value,
        uint256 validAfter,
        uint256 validBefore,
        bytes32 nonce,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(block.timestamp > validAfter, "X:AUTH_NOT_YET_VALID");
        require(block.timestamp < validBefore, "X:AUTH_EXPIRED");
        require(!authorizationState[from][nonce], "X:AUTH_ALREADY_USED");

        bytes32 encodeData =
            keccak256(
                abi.encode(TRANSFER_WITH_AUTHORIZATION_TYPEHASH, from, to, value, validAfter, validBefore, nonce)
            );
        _validateSignedData(from, encodeData, v, r, s);

        authorizationState[from][nonce] = true;
        emit AuthorizationUsed(from, nonce);

        _transfer(from, to, value);
    }
}

File 2 of 2 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) 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 `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:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

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

    /**
     * @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);
}

Settings
{
  "metadata": {
    "bytecodeHash": "none"
  },
  "optimizer": {
    "enabled": true,
    "runs": 800
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_dropzero","type":"address"}],"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":"authorizer","type":"address"},{"indexed":true,"internalType":"bytes32","name":"nonce","type":"bytes32"}],"name":"AuthorizationUsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"ChangeMinter","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":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_WITH_AUTHORIZATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"","type":"address"}],"name":"allowlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"authorizationState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dropzero","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"invitationSpent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","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":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceMinter","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"transferWithAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161124e38038061124e83398101604081905261002f91610054565b600780546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6111bb806100936000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80637ecebe00116100e3578063cd4e3e081161008c578063e3ee160e11610066578063e3ee160e146103b5578063e94a0102146103c8578063ed24911d146103f657600080fd5b8063cd4e3e0814610354578063d505accf14610377578063dd62ed3e1461038a57600080fd5b8063a0cc6a68116100bd578063a0cc6a68146102f7578063a7cd52cb1461031e578063a9059cbb1461034157600080fd5b80637ecebe00146102cf57806395d89b411461019257806398650275146102ef57600080fd5b8063313ce5671161014557806342966c681161011f57806342966c6814610271578063569193971461028457806370a08231146102af57600080fd5b8063313ce5671461023c5780633408e4701461025657806340c10f191461025c57600080fd5b806318160ddd1161017657806318160ddd146101eb57806323b872dd1461020257806330adf81f1461021557600080fd5b806306fdde0314610192578063095ea7b3146101c8575b600080fd5b6101b2604051806040016040528060018152602001600b60fb1b81525081565b6040516101bf9190611114565b60405180910390f35b6101db6101d63660046110d1565b61049f565b60405190151581526020016101bf565b6101f460005481565b6040519081526020016101bf565b6101db610210366004610fad565b6104b5565b6101f47f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610244600281565b60405160ff90911681526020016101bf565b466101f4565b61026f61026a3660046110d1565b610527565b005b6101db61027f3660046110fb565b6105b5565b600754610297906001600160a01b031681565b6040516001600160a01b0390911681526020016101bf565b6101f46102bd366004610f58565b60016020526000908152604090205481565b6101f46102dd366004610f58565b60036020526000908152604090205481565b61026f6105c9565b6101f47f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b6101db61032c366004610f58565b60056020526000908152604090205460ff1681565b6101db61034f3660046110d1565b610652565b6101db610362366004610f58565b60066020526000908152604090205460ff1681565b61026f610385366004611067565b61065f565b6101f4610398366004610f7a565b600260209081526000928352604080842090915290825290205481565b61026f6103c3366004610fe9565b610770565b6101db6103d63660046110d1565b600460209081526000928352604080842090915290825290205460ff1681565b6101f460007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f550c64a15031c3064454c19adc6243a6122c138a242eaa098da50bb114fc8d567fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60006104ac338484610966565b50600192915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000198114610511576104ec8382611181565b6001600160a01b03861660009081526002602090815260408083203384529091529020555b61051c8585856109c8565b506001949350505050565b6007546001600160a01b031633146105865760405162461bcd60e51b815260206004820152601360248201527f4d494e543a204f4e4c595f44524f505a45524f0000000000000000000000000060448201526064015b60405180910390fd5b6105908282610bc1565b506001600160a01b03166000908152600560205260409020805460ff19166001179055565b60006105c13383610c52565b506001919050565b6361983a8042116106285760405162461bcd60e51b815260206004820152602360248201527f41465445522031363337333636343030202832307468206f66204e6f76656d6260448201526265722960e81b606482015260840161057d565b600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006104ac3384846109c8565b428410156106a05760405162461bcd60e51b815260206004820152600e60248201526d160e9055551217d156141254915160921b604482015260640161057d565b6001600160a01b0387811660008181526003602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968d166060880152608087018c905260a0870181905260c08088018c90528251808903909101815260e090970190915285519582019590952093909252905290610735906001611169565b6001600160a01b03891660009081526003602052604090205561075b8882868686610cde565b610766888888610966565b5050505050505050565b8542116107bf5760405162461bcd60e51b815260206004820152601460248201527f583a415554485f4e4f545f5945545f56414c4944000000000000000000000000604482015260640161057d565b8442106107ff5760405162461bcd60e51b815260206004820152600e60248201526d160e9055551217d156141254915160921b604482015260640161057d565b6001600160a01b038916600090815260046020908152604080832087845290915290205460ff16156108735760405162461bcd60e51b815260206004820152601360248201527f583a415554485f414c52454144595f5553454400000000000000000000000000604482015260640161057d565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108f98a82868686610cde565b6001600160a01b038a166000818152600460209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361095a8a8a8a6109c8565b50505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109e957506001600160a01b03821615155b610a355760405162461bcd60e51b815260206004820152601b60248201527f583a52454345495645525f49535f544f4b454e5f4f525f5a45524f0000000000604482015260640161057d565b6001600160a01b03831660009081526005602052604090205460ff161515600114610aa25760405162461bcd60e51b815260206004820152601c60248201527f626c6f636b7a65726f6c6162732e696f2f782f676574496e7669746500000000604482015260640161057d565b610aac8383610e9f565b6001600160a01b03821660009081526005602052604090205460ff161515600114610b195760405162461bcd60e51b815260206004820152601c60248201527f626c6f636b7a65726f6c6162732e696f2f782f676574496e7669746500000000604482015260640161057d565b6001600160a01b038316600090815260016020526040902054610b3d908290611181565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610b6d908290611169565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109bb9085815260200190565b80600054610bcf9190611169565b60009081556001600160a01b038316815260016020526040902054610bf5908290611169565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c469085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260016020526040902054610c76908290611181565b6001600160a01b03831660009081526001602052604081209190915554610c9e908290611181565b60009081556040518281526001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c46565b6000610d8960007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f550c64a15031c3064454c19adc6243a6122c138a242eaa098da50bb114fc8d567fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610e14573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610e4a5750866001600160a01b0316816001600160a01b0316145b610e965760405162461bcd60e51b815260206004820152601360248201527f583a494e56414c49445f5349474e415455524500000000000000000000000000604482015260640161057d565b50505050505050565b6001600160a01b03811660009081526005602052604090205460ff16158015610ee157506001600160a01b03821660009081526006602052604090205460ff16155b15610f27576001600160a01b0382811660009081526006602090815260408083208054600160ff1991821681179092559486168452600590925290912080549092161790555b5050565b80356001600160a01b0381168114610f4257600080fd5b919050565b803560ff81168114610f4257600080fd5b600060208284031215610f6a57600080fd5b610f7382610f2b565b9392505050565b60008060408385031215610f8d57600080fd5b610f9683610f2b565b9150610fa460208401610f2b565b90509250929050565b600080600060608486031215610fc257600080fd5b610fcb84610f2b565b9250610fd960208501610f2b565b9150604084013590509250925092565b60008060008060008060008060006101208a8c03121561100857600080fd5b6110118a610f2b565b985061101f60208b01610f2b565b975060408a0135965060608a0135955060808a0135945060a08a0135935061104960c08b01610f47565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a03121561108257600080fd5b61108b88610f2b565b965061109960208901610f2b565b955060408801359450606088013593506110b560808901610f47565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156110e457600080fd5b6110ed83610f2b565b946020939093013593505050565b60006020828403121561110d57600080fd5b5035919050565b600060208083528351808285015260005b8181101561114157858101830151858201604001528201611125565b81811115611153576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561117c5761117c611198565b500190565b60008282101561119357611193611198565b500390565b634e487b7160e01b600052601160045260246000fdfea164736f6c6343000806000a0000000000000000000000007a4c9cf1d3dbdd8e09296cf2ee8854d12c1a2cb7

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80637ecebe00116100e3578063cd4e3e081161008c578063e3ee160e11610066578063e3ee160e146103b5578063e94a0102146103c8578063ed24911d146103f657600080fd5b8063cd4e3e0814610354578063d505accf14610377578063dd62ed3e1461038a57600080fd5b8063a0cc6a68116100bd578063a0cc6a68146102f7578063a7cd52cb1461031e578063a9059cbb1461034157600080fd5b80637ecebe00146102cf57806395d89b411461019257806398650275146102ef57600080fd5b8063313ce5671161014557806342966c681161011f57806342966c6814610271578063569193971461028457806370a08231146102af57600080fd5b8063313ce5671461023c5780633408e4701461025657806340c10f191461025c57600080fd5b806318160ddd1161017657806318160ddd146101eb57806323b872dd1461020257806330adf81f1461021557600080fd5b806306fdde0314610192578063095ea7b3146101c8575b600080fd5b6101b2604051806040016040528060018152602001600b60fb1b81525081565b6040516101bf9190611114565b60405180910390f35b6101db6101d63660046110d1565b61049f565b60405190151581526020016101bf565b6101f460005481565b6040519081526020016101bf565b6101db610210366004610fad565b6104b5565b6101f47f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610244600281565b60405160ff90911681526020016101bf565b466101f4565b61026f61026a3660046110d1565b610527565b005b6101db61027f3660046110fb565b6105b5565b600754610297906001600160a01b031681565b6040516001600160a01b0390911681526020016101bf565b6101f46102bd366004610f58565b60016020526000908152604090205481565b6101f46102dd366004610f58565b60036020526000908152604090205481565b61026f6105c9565b6101f47f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b6101db61032c366004610f58565b60056020526000908152604090205460ff1681565b6101db61034f3660046110d1565b610652565b6101db610362366004610f58565b60066020526000908152604090205460ff1681565b61026f610385366004611067565b61065f565b6101f4610398366004610f7a565b600260209081526000928352604080842090915290825290205481565b61026f6103c3366004610fe9565b610770565b6101db6103d63660046110d1565b600460209081526000928352604080842090915290825290205460ff1681565b6101f460007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f550c64a15031c3064454c19adc6243a6122c138a242eaa098da50bb114fc8d567fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60006104ac338484610966565b50600192915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000198114610511576104ec8382611181565b6001600160a01b03861660009081526002602090815260408083203384529091529020555b61051c8585856109c8565b506001949350505050565b6007546001600160a01b031633146105865760405162461bcd60e51b815260206004820152601360248201527f4d494e543a204f4e4c595f44524f505a45524f0000000000000000000000000060448201526064015b60405180910390fd5b6105908282610bc1565b506001600160a01b03166000908152600560205260409020805460ff19166001179055565b60006105c13383610c52565b506001919050565b6361983a8042116106285760405162461bcd60e51b815260206004820152602360248201527f41465445522031363337333636343030202832307468206f66204e6f76656d6260448201526265722960e81b606482015260840161057d565b600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60006104ac3384846109c8565b428410156106a05760405162461bcd60e51b815260206004820152600e60248201526d160e9055551217d156141254915160921b604482015260640161057d565b6001600160a01b0387811660008181526003602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968d166060880152608087018c905260a0870181905260c08088018c90528251808903909101815260e090970190915285519582019590952093909252905290610735906001611169565b6001600160a01b03891660009081526003602052604090205561075b8882868686610cde565b610766888888610966565b5050505050505050565b8542116107bf5760405162461bcd60e51b815260206004820152601460248201527f583a415554485f4e4f545f5945545f56414c4944000000000000000000000000604482015260640161057d565b8442106107ff5760405162461bcd60e51b815260206004820152600e60248201526d160e9055551217d156141254915160921b604482015260640161057d565b6001600160a01b038916600090815260046020908152604080832087845290915290205460ff16156108735760405162461bcd60e51b815260206004820152601360248201527f583a415554485f414c52454144595f5553454400000000000000000000000000604482015260640161057d565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108f98a82868686610cde565b6001600160a01b038a166000818152600460209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361095a8a8a8a6109c8565b50505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109e957506001600160a01b03821615155b610a355760405162461bcd60e51b815260206004820152601b60248201527f583a52454345495645525f49535f544f4b454e5f4f525f5a45524f0000000000604482015260640161057d565b6001600160a01b03831660009081526005602052604090205460ff161515600114610aa25760405162461bcd60e51b815260206004820152601c60248201527f626c6f636b7a65726f6c6162732e696f2f782f676574496e7669746500000000604482015260640161057d565b610aac8383610e9f565b6001600160a01b03821660009081526005602052604090205460ff161515600114610b195760405162461bcd60e51b815260206004820152601c60248201527f626c6f636b7a65726f6c6162732e696f2f782f676574496e7669746500000000604482015260640161057d565b6001600160a01b038316600090815260016020526040902054610b3d908290611181565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610b6d908290611169565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109bb9085815260200190565b80600054610bcf9190611169565b60009081556001600160a01b038316815260016020526040902054610bf5908290611169565b6001600160a01b0383166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c469085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260016020526040902054610c76908290611181565b6001600160a01b03831660009081526001602052604081209190915554610c9e908290611181565b60009081556040518281526001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c46565b6000610d8960007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f550c64a15031c3064454c19adc6243a6122c138a242eaa098da50bb114fc8d567fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610e14573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610e4a5750866001600160a01b0316816001600160a01b0316145b610e965760405162461bcd60e51b815260206004820152601360248201527f583a494e56414c49445f5349474e415455524500000000000000000000000000604482015260640161057d565b50505050505050565b6001600160a01b03811660009081526005602052604090205460ff16158015610ee157506001600160a01b03821660009081526006602052604090205460ff16155b15610f27576001600160a01b0382811660009081526006602090815260408083208054600160ff1991821681179092559486168452600590925290912080549092161790555b5050565b80356001600160a01b0381168114610f4257600080fd5b919050565b803560ff81168114610f4257600080fd5b600060208284031215610f6a57600080fd5b610f7382610f2b565b9392505050565b60008060408385031215610f8d57600080fd5b610f9683610f2b565b9150610fa460208401610f2b565b90509250929050565b600080600060608486031215610fc257600080fd5b610fcb84610f2b565b9250610fd960208501610f2b565b9150604084013590509250925092565b60008060008060008060008060006101208a8c03121561100857600080fd5b6110118a610f2b565b985061101f60208b01610f2b565b975060408a0135965060608a0135955060808a0135945060a08a0135935061104960c08b01610f47565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a03121561108257600080fd5b61108b88610f2b565b965061109960208901610f2b565b955060408801359450606088013593506110b560808901610f47565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156110e457600080fd5b6110ed83610f2b565b946020939093013593505050565b60006020828403121561110d57600080fd5b5035919050565b600060208083528351808285015260005b8181101561114157858101830151858201604001528201611125565b81811115611153576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561117c5761117c611198565b500190565b60008282101561119357611193611198565b500390565b634e487b7160e01b600052601160045260246000fdfea164736f6c6343000806000a

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a4c9cf1d3dbdd8e09296cf2ee8854d12c1a2cb7

-----Decoded View---------------
Arg [0] : _dropzero (address): 0x7a4c9Cf1d3Dbdd8e09296Cf2Ee8854d12C1a2CB7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a4c9cf1d3dbdd8e09296cf2ee8854d12c1a2cb7


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.