ETH Price: $3,295.88 (-1.76%)

Token

BLOX (BLOX)
 

Overview

Max Total Supply

100,000,000 BLOX

Holders

1,263 ( 0.158%)

Market

Price

$0.00 @ 0.000001 ETH (+12.47%)

Onchain Market Cap

$171,516.00

Circulating Supply Market Cap

$138,535.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.538441965698363019 BLOX

Value
$0.00 ( ~0 Eth) [0.0000%]
0x4d9919f6e6bff0db18559831d333ca3fb3279d55
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A pioneering DeFi trading platform offering fast transactions, generative wallets, and innovative AI features for an unparalleled trading edge.

Market

Volume (24H):$1,645.00
Market Capitalization:$138,535.00
Circulating Supply:80,739,420.00 BLOX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BLOX

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

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

pragma solidity =0.8.23;

import "@openzeppelin/contracts/access/Ownable.sol";

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

error ZeroAddress();
error ContractAddress();
error TradingAlreadyEnabled();
error NotEnoughTokens();


contract BLOX is IERC20, Ownable {
    mapping (address => uint) private _balances;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) public allowList;

    //strings
    string private constant _name = 'BLOX';
    string private constant _symbol = 'BLOX';

    //uints
    uint private constant InitialSupply= 100_000_000 * 10**_decimals;
    uint8 private constant _decimals = 18;

    bool public tradingOpen = false;

    constructor () {
        _balances[msg.sender] = InitialSupply;
        allowList[msg.sender] = true;
    }

    /**
    * @notice Internal function to transfer tokens from one address to another.
     */
    function _transfer(
        address sender, 
        address recipient, 
        uint amount
    ) internal {
        if(sender == address(0)) revert ZeroAddress();
        if(recipient == address(0)) revert ZeroAddress();

        if(allowList[sender])
            _allowedTransfer(sender, recipient, amount);
        else {
            require(tradingOpen,"trading not yet enabled");
            _allowedTransfer(sender,recipient,amount);
        }
    }

    /**
    * @notice Transfer amount of tokens without fees.
    * @dev In feelessTransfer, there isn't limit as well.
    * @param sender The address of user to send tokens.
    * @param recipient The address of user to be recieveid tokens.
    * @param amount The token amount to transfer.
    */
    function _allowedTransfer(
        address sender, 
        address recipient, 
        uint amount
    ) internal {
        uint senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");
        _balances[sender]-=amount;
        _balances[recipient]+=amount;
        emit Transfer(sender,recipient,amount);
    }

    /**
    * @notice Get Burned tokens.
    * @dev This function is for get burned tokens.
    */
    function getBurnedTokens(
    ) public view returns(uint) {
        return _balances[address(0xdead)];
    }

    /**
    * @notice Get circulating supply.
    * @dev This function is for get circulating supply.
     */
    function getCirculatingSupply(
    ) public view returns(uint) {
        return InitialSupply-_balances[address(0xdead)];
    }


    /**
    * @notice Set to allowed trade early.
    * @dev This function is for set to allowed trade early.
    * @param account The address of user to be allowed early.
    * @param boolean The status of allowed.
    */
    function allowListChange(
        address account, 
        bool boolean
    ) external onlyOwner {
        if(account == address(0)) revert ZeroAddress();
        allowList[account]=boolean;
    }
    

    /**
    * @notice Used to start trading.
    * @dev This function is for used to start trading.
    */
    function SetupEnableTrading(
    ) external onlyOwner{
        if(tradingOpen) revert TradingAlreadyEnabled();
        tradingOpen = true;
    }

    receive() external payable {}
    function name() external pure override returns (string memory) {return _name;}
    function symbol() external pure override returns (string memory) {return _symbol;}
    function decimals() external pure override returns (uint8) {return _decimals;}
    function totalSupply() external pure override returns (uint) {return InitialSupply;}
    function balanceOf(address account) public view override returns (uint) {return _balances[account];}
    function isAllowed(address account) public view returns(bool) {return allowList[account];}
    
    function transfer(
        address recipient, 
        uint amount
    ) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function allowance(
        address _owner, 
        address spender
    ) external view override returns (uint) {
        return _allowances[_owner][spender];
    }
    function approve(
        address spender, 
        uint amount
    ) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(
        address _owner, 
        address spender, 
        uint amount
    ) private {
        if(_owner == address(0)) revert ZeroAddress();
        if(spender == address(0)) revert ZeroAddress();
        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }
    function transferFrom(
        address sender, 
        address recipient, 
        uint amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);
        uint currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "Transfer > allowance");
        _approve(sender, msg.sender, currentAllowance - amount);
        return true;
    }
    function increaseAllowance(
        address spender, 
        uint addedValue
    ) external returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(
        address spender, 
        uint subtractedValue
    ) external returns (bool) {
        uint currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "<0 allowance");
        _approve(msg.sender, spender, currentAllowance - subtractedValue);
        return true;
    }

    /**
    * @notice Used to remove excess ETH from contract
    * @dev This function is for used to remove excess ETH from contract.
    * @param amountPercentage The amount percentage to recover.
     */
    function emergencyETHrecovery(
        uint256 amountPercentage
    ) external onlyOwner {
        uint256 amountETH = address(this).balance;
        (bool sent,)=msg.sender.call{value:amountETH * amountPercentage / 100}("");
            sent=true;
    }
    
    /**
    * @notice Used to remove excess Tokens from contract
    * @dev This function is for used to remove excess Tokens from contract.
    * @param tokenAddress The token address to recover.
    * @param amountPercentage The amount percentage to recover.
     */
    function emergencyTokenrecovery(
        address tokenAddress, 
        uint256 amountPercentage
    ) external onlyOwner {
        IERC20 token = IERC20(tokenAddress);
        uint256 tokenAmount = token.balanceOf(address(this));
        token.transfer(msg.sender, tokenAmount * amountPercentage / 100);
    }

}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"TradingAlreadyEnabled","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"SetupEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"boolean","type":"bool"}],"name":"allowListChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"emergencyETHrecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"emergencyTokenrecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBurnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526004805460ff191690553480156200001a575f80fd5b50620000263362000071565b620000346012600a620001cf565b62000044906305f5e100620001e6565b335f9081526001602081815260408084209490945560039052919020805460ff1916909117905562000200565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200011457815f1904821115620000f857620000f8620000c0565b808516156200010657918102915b93841c9390800290620000d9565b509250929050565b5f826200012c57506001620001c9565b816200013a57505f620001c9565b81600181146200015357600281146200015e576200017e565b6001915050620001c9565b60ff841115620001725762000172620000c0565b50506001821b620001c9565b5060208310610133831016604e8410600b8410161715620001a3575081810a620001c9565b620001af8383620000d4565b805f1904821115620001c557620001c5620000c0565b0290505b92915050565b5f620001df60ff8416836200011c565b9392505050565b8082028115828204841417620001c957620001c9620000c0565b610f71806200020e5f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb14610371578063babcc53914610390578063c3f4f54f146103c7578063dd62ed3e14610404578063f2fde38b14610448578063ffb54a9914610467575f80fd5b8063715018a6146102e55780637b9e987a146102f957806384168dda1461030d5780638da5cb5b1461032c57806395d89b411461016b578063a457c2d714610352575f80fd5b80632848aeaf116101045780632848aeaf146102165780632b112e4914610244578063313ce567146102585780633586818714610273578063395093511461029257806370a08231146102b1575f80fd5b8063065f4b411461014a57806306fdde031461016b578063095ea7b3146101a657806318160ddd146101d557806323b872dd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50610169610164366004610c39565b610480565b005b348015610176575f80fd5b506040805180820182526004815263084989eb60e31b6020820152905161019d9190610c50565b60405180910390f35b3480156101b1575f80fd5b506101c56101c0366004610cb7565b6104e7565b604051901515815260200161019d565b3480156101e0575f80fd5b506101e96104fd565b60405190815260200161019d565b348015610202575f80fd5b506101c5610211366004610cdf565b61051d565b348015610221575f80fd5b506101c5610230366004610d18565b60036020525f908152604090205460ff1681565b34801561024f575f80fd5b506101e96105b7565b348015610263575f80fd5b506040516012815260200161019d565b34801561027e575f80fd5b5061016961028d366004610d45565b610609565b34801561029d575f80fd5b506101c56102ac366004610cb7565b610662565b3480156102bc575f80fd5b506101e96102cb366004610d18565b6001600160a01b03165f9081526001602052604090205490565b3480156102f0575f80fd5b50610169610698565b348015610304575f80fd5b506101696106ab565b348015610318575f80fd5b50610169610327366004610cb7565b6106e6565b348015610337575f80fd5b505f546040516001600160a01b03909116815260200161019d565b34801561035d575f80fd5b506101c561036c366004610cb7565b6107f3565b34801561037c575f80fd5b506101c561038b366004610cb7565b61086e565b34801561039b575f80fd5b506101c56103aa366004610d18565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156103d2575f80fd5b5061dead5f5260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546101e9565b34801561040f575f80fd5b506101e961041e366004610d7a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610453575f80fd5b50610169610462366004610d18565b61087a565b348015610472575f80fd5b506004546101c59060ff1681565b6104886108f3565b475f3360646104978585610dbf565b6104a19190610dd6565b6040515f81818185875af1925050503d805f81146104da576040519150601f19603f3d011682016040523d82523d5f602084013e6104df565b606091505b505050505050565b5f6104f333848461094c565b5060015b92915050565b5f61050a6012600a610ed5565b610518906305f5e100610dbf565b905090565b5f6105298484846109fa565b6001600160a01b0384165f908152600260209081526040808320338452909152902054828110156105985760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b6105ac85336105a78685610ee3565b61094c565b506001949350505050565b61dead5f90815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546105f16012600a610ed5565b6105ff906305f5e100610dbf565b6105189190610ee3565b6106116108f3565b6001600160a01b0382166106385760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916104f39185906105a7908690610ef6565b6106a06108f3565b6106a95f610ad5565b565b6106b36108f3565b60045460ff16156106d757604051636b91f55d60e11b815260040160405180910390fd5b6004805460ff19166001179055565b6106ee6108f3565b6040516370a0823160e01b815230600482015282905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610734573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107589190610f09565b90506001600160a01b03821663a9059cbb3360646107768786610dbf565b6107809190610dd6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec9190610f20565b5050505050565b335f9081526002602090815260408083206001600160a01b0386168452909152812054828110156108555760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b604482015260640161058f565b61086433856105a78685610ee3565b5060019392505050565b5f6104f33384846109fa565b6108826108f3565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b6108f081610ad5565b50565b5f546001600160a01b031633146106a95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161058f565b6001600160a01b0383166109735760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661099a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a215760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610a485760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526003602052604090205460ff1615610a7857610a73838383610b24565b505050565b60045460ff16610aca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161058f565b610a73838383610b24565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f9081526001602052604090205481811015610b8c5760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220657863656564732062616c616e63650000000000000000604482015260640161058f565b6001600160a01b0384165f9081526001602052604081208054849290610bb3908490610ee3565b90915550506001600160a01b0383165f9081526001602052604081208054849290610bdf908490610ef6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c2b91815260200190565b60405180910390a350505050565b5f60208284031215610c49575f80fd5b5035919050565b5f602080835283518060208501525f5b81811015610c7c57858101830151858201604001528201610c60565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cb2575f80fd5b919050565b5f8060408385031215610cc8575f80fd5b610cd183610c9c565b946020939093013593505050565b5f805f60608486031215610cf1575f80fd5b610cfa84610c9c565b9250610d0860208501610c9c565b9150604084013590509250925092565b5f60208284031215610d28575f80fd5b610d3182610c9c565b9392505050565b80151581146108f0575f80fd5b5f8060408385031215610d56575f80fd5b610d5f83610c9c565b91506020830135610d6f81610d38565b809150509250929050565b5f8060408385031215610d8b575f80fd5b610d9483610c9c565b9150610da260208401610c9c565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104f7576104f7610dab565b5f82610df057634e487b7160e01b5f52601260045260245ffd5b500490565b600181815b80851115610e2f57815f1904821115610e1557610e15610dab565b80851615610e2257918102915b93841c9390800290610dfa565b509250929050565b5f82610e45575060016104f7565b81610e5157505f6104f7565b8160018114610e675760028114610e7157610e8d565b60019150506104f7565b60ff841115610e8257610e82610dab565b50506001821b6104f7565b5060208310610133831016604e8410600b8410161715610eb0575081810a6104f7565b610eba8383610df5565b805f1904821115610ecd57610ecd610dab565b029392505050565b5f610d3160ff841683610e37565b818103818111156104f7576104f7610dab565b808201808211156104f7576104f7610dab565b5f60208284031215610f19575f80fd5b5051919050565b5f60208284031215610f30575f80fd5b8151610d3181610d3856fea2646970667358221220fce00a59e26cd5d441e93f18d79a1aa4b66a3d4551c6a212256e7c13c2943cb964736f6c63430008170033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb14610371578063babcc53914610390578063c3f4f54f146103c7578063dd62ed3e14610404578063f2fde38b14610448578063ffb54a9914610467575f80fd5b8063715018a6146102e55780637b9e987a146102f957806384168dda1461030d5780638da5cb5b1461032c57806395d89b411461016b578063a457c2d714610352575f80fd5b80632848aeaf116101045780632848aeaf146102165780632b112e4914610244578063313ce567146102585780633586818714610273578063395093511461029257806370a08231146102b1575f80fd5b8063065f4b411461014a57806306fdde031461016b578063095ea7b3146101a657806318160ddd146101d557806323b872dd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50610169610164366004610c39565b610480565b005b348015610176575f80fd5b506040805180820182526004815263084989eb60e31b6020820152905161019d9190610c50565b60405180910390f35b3480156101b1575f80fd5b506101c56101c0366004610cb7565b6104e7565b604051901515815260200161019d565b3480156101e0575f80fd5b506101e96104fd565b60405190815260200161019d565b348015610202575f80fd5b506101c5610211366004610cdf565b61051d565b348015610221575f80fd5b506101c5610230366004610d18565b60036020525f908152604090205460ff1681565b34801561024f575f80fd5b506101e96105b7565b348015610263575f80fd5b506040516012815260200161019d565b34801561027e575f80fd5b5061016961028d366004610d45565b610609565b34801561029d575f80fd5b506101c56102ac366004610cb7565b610662565b3480156102bc575f80fd5b506101e96102cb366004610d18565b6001600160a01b03165f9081526001602052604090205490565b3480156102f0575f80fd5b50610169610698565b348015610304575f80fd5b506101696106ab565b348015610318575f80fd5b50610169610327366004610cb7565b6106e6565b348015610337575f80fd5b505f546040516001600160a01b03909116815260200161019d565b34801561035d575f80fd5b506101c561036c366004610cb7565b6107f3565b34801561037c575f80fd5b506101c561038b366004610cb7565b61086e565b34801561039b575f80fd5b506101c56103aa366004610d18565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156103d2575f80fd5b5061dead5f5260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546101e9565b34801561040f575f80fd5b506101e961041e366004610d7a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610453575f80fd5b50610169610462366004610d18565b61087a565b348015610472575f80fd5b506004546101c59060ff1681565b6104886108f3565b475f3360646104978585610dbf565b6104a19190610dd6565b6040515f81818185875af1925050503d805f81146104da576040519150601f19603f3d011682016040523d82523d5f602084013e6104df565b606091505b505050505050565b5f6104f333848461094c565b5060015b92915050565b5f61050a6012600a610ed5565b610518906305f5e100610dbf565b905090565b5f6105298484846109fa565b6001600160a01b0384165f908152600260209081526040808320338452909152902054828110156105985760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b60448201526064015b60405180910390fd5b6105ac85336105a78685610ee3565b61094c565b506001949350505050565b61dead5f90815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d546105f16012600a610ed5565b6105ff906305f5e100610dbf565b6105189190610ee3565b6106116108f3565b6001600160a01b0382166106385760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916104f39185906105a7908690610ef6565b6106a06108f3565b6106a95f610ad5565b565b6106b36108f3565b60045460ff16156106d757604051636b91f55d60e11b815260040160405180910390fd5b6004805460ff19166001179055565b6106ee6108f3565b6040516370a0823160e01b815230600482015282905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610734573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107589190610f09565b90506001600160a01b03821663a9059cbb3360646107768786610dbf565b6107809190610dd6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156107c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ec9190610f20565b5050505050565b335f9081526002602090815260408083206001600160a01b0386168452909152812054828110156108555760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b604482015260640161058f565b61086433856105a78685610ee3565b5060019392505050565b5f6104f33384846109fa565b6108826108f3565b6001600160a01b0381166108e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058f565b6108f081610ad5565b50565b5f546001600160a01b031633146106a95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161058f565b6001600160a01b0383166109735760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661099a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a215760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610a485760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526003602052604090205460ff1615610a7857610a73838383610b24565b505050565b60045460ff16610aca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161058f565b610a73838383610b24565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f9081526001602052604090205481811015610b8c5760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220657863656564732062616c616e63650000000000000000604482015260640161058f565b6001600160a01b0384165f9081526001602052604081208054849290610bb3908490610ee3565b90915550506001600160a01b0383165f9081526001602052604081208054849290610bdf908490610ef6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c2b91815260200190565b60405180910390a350505050565b5f60208284031215610c49575f80fd5b5035919050565b5f602080835283518060208501525f5b81811015610c7c57858101830151858201604001528201610c60565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cb2575f80fd5b919050565b5f8060408385031215610cc8575f80fd5b610cd183610c9c565b946020939093013593505050565b5f805f60608486031215610cf1575f80fd5b610cfa84610c9c565b9250610d0860208501610c9c565b9150604084013590509250925092565b5f60208284031215610d28575f80fd5b610d3182610c9c565b9392505050565b80151581146108f0575f80fd5b5f8060408385031215610d56575f80fd5b610d5f83610c9c565b91506020830135610d6f81610d38565b809150509250929050565b5f8060408385031215610d8b575f80fd5b610d9483610c9c565b9150610da260208401610c9c565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104f7576104f7610dab565b5f82610df057634e487b7160e01b5f52601260045260245ffd5b500490565b600181815b80851115610e2f57815f1904821115610e1557610e15610dab565b80851615610e2257918102915b93841c9390800290610dfa565b509250929050565b5f82610e45575060016104f7565b81610e5157505f6104f7565b8160018114610e675760028114610e7157610e8d565b60019150506104f7565b60ff841115610e8257610e82610dab565b50506001821b6104f7565b5060208310610133831016604e8410600b8410161715610eb0575081810a6104f7565b610eba8383610df5565b805f1904821115610ecd57610ecd610dab565b029392505050565b5f610d3160ff841683610e37565b818103818111156104f7576104f7610dab565b808201808211156104f7576104f7610dab565b5f60208284031215610f19575f80fd5b5051919050565b5f60208284031215610f30575f80fd5b8151610d3181610d3856fea2646970667358221220fce00a59e26cd5d441e93f18d79a1aa4b66a3d4551c6a212256e7c13c2943cb964736f6c63430008170033

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.