ETH Price: $3,882.93 (+5.96%)

Token

EON (EON)
 

Overview

Max Total Supply

207,364,383.00000000000068527 EON

Holders

367 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,000 EON

Value
$0.00
0xb01c1b5845763cb73ddc46a40064a47dd6218e4c
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

EON is the refined and much more elegant form of rEON (raw eon). It stands as the preferred tender within the ShatteredEon universe.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EON

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 2000 runs

Other Settings:
default evmVersion, MIT license
File 1 of 3 : EON.sol
// SPDX-License-Identifier: MIT LICENSE
pragma solidity ^0.8.0;
import "./ERC20.sol";
import "./interfaces/IEON.sol";

contract EON is IEON, ERC20 {
    // Tracks the last block that a caller has written to state.
    // Disallow some access to functions if they occur while a change is being written.
    mapping(address => uint256) private lastWrite;

    // address => allowedToCallFunctions
    mapping(address => bool) private admins;
    //ower
    address public auth;
    // hardcoded max eon supply 5b
    uint256 public constant MAX_EON = 5000000000 ether;

    // amount minted
    uint256 public minted;

    constructor() ERC20("EON", "EON", 18) {
        auth = msg.sender;
    }

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

    /**
     * enables an address to mint / burn
     * @param addr the address to enable
     */
    function addAdmin(address addr) external onlyOwner {
        admins[addr] = true;
    }

    /**
     * disables an address from minting / burning
     * @param addr the address to disbale
     */
    function removeAdmin(address addr) external onlyOwner {
        admins[addr] = false;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        auth = newOwner;
    }

    /**
     * mints $EON to a recipient
     * @param to the recipient of the $EON
     * @param amount the amount of $EON to mint
     */
    function mint(address to, uint256 amount) external override {
        require(admins[msg.sender], "Only admins can mint");
        minted += amount;
        _mint(to, amount);
    }

    /**
     * burns $EON from a holder
     * @param from the holder of the $EON
     * @param amount the amount of $EON to burn
     */
    function burn(address from, uint256 amount) external override {
        require(admins[msg.sender], "Only admins");
        _burn(from, amount);
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override(ERC20, IEON) returns (bool) {
        // caught yah
        require(
            admins[msg.sender] || lastWrite[sender] < block.number,
            "hmmmm what are you doing?"
        );
        // If the entity invoking this transfer is an admin (i.e. the gameContract)
        // allow the transfer without approval. This saves gas and a transaction.
        // The sender address will still need to actually have the amount being attempted to send.
        if (admins[msg.sender]) {
            // NOTE: This will omit any events from being written. This saves additional gas,
            // and the event emission is not a requirement by the EIP
            // (read this function summary / ERC20 summary for more details)
            emit Transfer(sender, recipient, amount);
            return true;
        }

        // If it's not an admin entity (Shattered EON contract, pytheas, refinery. etc)
        // The entity will need to be given permission to transfer these funds
        // For instance, someone can't just make a contract and siphon $EON from every account
        return super.transferFrom(sender, recipient, amount);
    }
}

File 2 of 3 : ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*///////////////////////////////////////////////////////////////
                                  EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 amount
    );

    /*///////////////////////////////////////////////////////////////
                             METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*///////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

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

    /*///////////////////////////////////////////////////////////////
                             EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

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

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*///////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*///////////////////////////////////////////////////////////////
                              ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount)
        public
        virtual
        returns (bool)
    {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount)
        public
        virtual
        returns (bool)
    {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max)
            allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*///////////////////////////////////////////////////////////////
                              EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            bytes32 digest = keccak256(
                abi.encodePacked(
                    "\x19\x01",
                    DOMAIN_SEPARATOR(),
                    keccak256(
                        abi.encode(
                            PERMIT_TYPEHASH,
                            owner,
                            spender,
                            value,
                            nonces[owner]++,
                            deadline
                        )
                    )
                )
            );

            address recoveredAddress = ecrecover(digest, v, r, s);

            require(
                recoveredAddress != address(0) && recoveredAddress == owner,
                "INVALID_SIGNER"
            );

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return
            block.chainid == INITIAL_CHAIN_ID
                ? INITIAL_DOMAIN_SEPARATOR
                : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256(
                        "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
                    ),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*///////////////////////////////////////////////////////////////
                       INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

File 3 of 3 : IEON.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IEON {
    function mint(address to, uint256 amount) external;

    function burn(address from, uint256 amount) external;

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

Settings
{
  "evmVersion": "london",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "details": {
      "constantOptimizer": true,
      "cse": true,
      "deduplicate": true,
      "inliner": true,
      "jumpdestRemover": true,
      "orderLiterals": true,
      "peephole": true,
      "yul": true,
      "yulDetails": {
        "optimizerSteps": "dhfoDgvulfnTUtnIf",
        "stackAllocation": true
      }
    },
    "runs": 2000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_EON","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","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":[],"name":"auth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"addr","type":"address"}],"name":"removeAdmin","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":"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"}]

60e06040523480156200001157600080fd5b5060408051808201825260038082526222a7a760e91b6020808401828152855180870190965292855284015281519192916012916200005491600091906200012b565b5081516200006a9060019060208501906200012b565b5060ff81166080524660a052620000806200009e565b60c0525050600880546001600160a01b03191633179055506200031b565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000d291906200028e565b6040519081900381206200011092917fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69046903090602001620002c5565b60405160208183030381529060405280519060200120905090565b8280546200013990620001e7565b90600052602060002090601f0160209004810192826200015d5760008555620001a8565b82601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b634e487b7160e01b600052602260045260246000fd5b600281046001821680620001fc57607f821691505b60208210811415620002125762000212620001d1565b50919050565b600081546200022781620001e7565b600182168015620002415760018114620002535762000285565b60ff1983168652818601935062000285565b60008581526020902060005b838110156200027d578154888201526001909101906020016200025f565b505081860193505b50505092915050565b6200029a818362000218565b92915050565b805b82525050565b60006001600160a01b0382166200029a565b620002a281620002a8565b60a08101620002d58288620002a0565b620002e46020830187620002a0565b620002f36040830186620002a0565b620003026060830185620002a0565b620003116080830184620002ba565b9695505050505050565b60805160a05160c0516112566200034b60003960006105c00152600061058b0152600061022401526112566000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370480275116100d85780639dc29fac1161008c578063dd62ed3e11610066578063dd62ed3e1461031e578063de9375f214610349578063f2fde38b1461036957600080fd5b80639dc29fac146102e5578063a9059cbb146102f8578063d505accf1461030b57600080fd5b80637ecebe00116100bd5780637ecebe00146102aa57806392a5f72e146102ca57806395d89b41146102dd57600080fd5b8063704802751461027757806370a082311461028a57600080fd5b806330adf81f1161012f5780633644e515116101145780633644e5151461025357806340c10f191461025b5780634f02c4201461026e57600080fd5b806330adf81f146101f8578063313ce5671461021f57600080fd5b80631785f53c116101605780631785f53c146101ba57806318160ddd146101cf57806323b872dd146101e557600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b61018461037c565b6040516101919190610c2d565b60405180910390f35b6101ad6101a8366004610c82565b61040a565b6040516101919190610cc9565b6101cd6101c8366004610cd7565b610475565b005b6101d860025481565b6040516101919190610d06565b6101ad6101f3366004610d14565b6104ad565b6101d87f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b6040516101919190610d6d565b6101d8610587565b6101cd610269366004610c82565b6105e2565b6101d860095481565b6101cd610285366004610cd7565b610637565b6101d8610298366004610cd7565b60036020526000908152604090205481565b6101d86102b8366004610cd7565b60056020526000908152604090205481565b6101d86b1027e72f1f1281308800000081565b610184610672565b6101cd6102f3366004610c82565b61067f565b6101ad610306366004610c82565b6106b8565b6101cd610319366004610d8f565b61072e565b6101d861032c366004610e2e565b600460209081526000928352604080842090915290825290205481565b60085461035c906001600160a01b031681565b6040516101919190610e6a565b6101cd610377366004610cd7565b6108ff565b6000805461038990610ea7565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590610ea7565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610463908690610d06565b60405180910390a35060015b92915050565b6008546001600160a01b0316331461048c57600080fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b3360009081526007602052604081205460ff16806104e257506001600160a01b03841660009081526006602052604090205443115b6105075760405162461bcd60e51b81526004016104fe90610f08565b60405180910390fd5b3360009081526007602052604090205460ff161561057257826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105629190610d06565b60405180910390a3506001610580565b61057d848484610950565b90505b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146105bd576105b8610a5e565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b3360009081526007602052604090205460ff166106115760405162461bcd60e51b81526004016104fe90610f4a565b80600960008282546106239190610f89565b9091555061063390508282610ae7565b5050565b6008546001600160a01b0316331461064e57600080fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6001805461038990610ea7565b3360009081526007602052604090205460ff166106ae5760405162461bcd60e51b81526004016104fe90610fd3565b6106338282610b57565b336000908152600360205260408120805483919083906106d9908490610fe3565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610463908690610d06565b4284101561074e5760405162461bcd60e51b81526004016104fe9061102c565b6000610758610587565b6001600160a01b03891660009081526005602090815260409182902080546001810190915591516107b5927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d910161103c565b604051602081830303815290604052805190602001206040516020016107dc929190611096565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161081994939291906110dc565b6020604051602081039080840390855afa15801561083b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108715750886001600160a01b0316816001600160a01b0316145b61088d5760405162461bcd60e51b81526004016104fe9061114c565b6001600160a01b0390811660009081526004602090815260408083208b85168085529252918290208990559051909250908916907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108ee908990610d06565b60405180910390a350505050505050565b6008546001600160a01b0316331461091657600080fd5b600880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b03831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109ca576109a58382610fe3565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b038516600090815260036020526040812080548592906109f2908490610fe3565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a4b908790610d06565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610a9091906111ca565b604051908190038120610acc92917fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc690469030906020016111d4565b60405160208183030381529060405280519060200120905090565b8060026000828254610af99190610f89565b90915550506001600160a01b038216600081815260036020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4b908590610d06565b60405180910390a35050565b6001600160a01b03821660009081526003602052604081208054839290610b7f908490610fe3565b90915550506002805482900390556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4b908590610d06565b60005b83811015610be6578181015183820152602001610bce565b83811115610bf5576000848401525b50505050565b6000610c05825190565b808452602084019350610c1c818560208601610bcb565b601f01601f19169290920192915050565b602080825281016105808184610bfb565b60006001600160a01b03821661046f565b610c5881610c3e565b8114610c6357600080fd5b50565b803561046f81610c4f565b80610c58565b803561046f81610c71565b60008060408385031215610c9857610c98600080fd5b6000610ca48585610c66565b9250506020610cb585828601610c77565b9150509250929050565b8015155b82525050565b6020810161046f8284610cbf565b600060208284031215610cec57610cec600080fd5b6000610cf88484610c66565b949350505050565b80610cc3565b6020810161046f8284610d00565b600080600060608486031215610d2c57610d2c600080fd5b6000610d388686610c66565b9350506020610d4986828701610c66565b9250506040610d5a86828701610c77565b9150509250925092565b60ff8116610cc3565b6020810161046f8284610d64565b60ff8116610c58565b803561046f81610d7b565b600080600080600080600060e0888a031215610dad57610dad600080fd5b6000610db98a8a610c66565b9750506020610dca8a828b01610c66565b9650506040610ddb8a828b01610c77565b9550506060610dec8a828b01610c77565b9450506080610dfd8a828b01610d84565b93505060a0610e0e8a828b01610c77565b92505060c0610e1f8a828b01610c77565b91505092959891949750929550565b60008060408385031215610e4457610e44600080fd5b6000610e508585610c66565b9250506020610cb585828601610c66565b610cc381610c3e565b6020810161046f8284610e61565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600281046001821680610ebb57607f821691505b60208210811415610ece57610ece610e78565b50919050565b60198152602081017f686d6d6d6d20776861742061726520796f7520646f696e673f00000000000000815290505b60200190565b6020808252810161046f81610ed4565b60148152602081017f4f6e6c792061646d696e732063616e206d696e7400000000000000000000000081529050610f02565b6020808252810161046f81610f18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610f9c57610f9c610f5a565b500190565b600b8152602081017f4f6e6c792061646d696e7300000000000000000000000000000000000000000081529050610f02565b6020808252810161046f81610fa1565b600082821015610ff557610ff5610f5a565b500390565b60178152602081017f5045524d49545f444541444c494e455f4558504952454400000000000000000081529050610f02565b6020808252810161046f81610ffa565b60c0810161104a8289610d00565b6110576020830188610e61565b6110646040830187610e61565b6110716060830186610d00565b61107e6080830185610d00565b61108b60a0830184610d00565b979650505050505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002016110c68184610d00565b6020016110d38183610d00565b60200192915050565b608081016110ea8287610d00565b6110f76020830186610d64565b6111046040830185610d00565b6111116060830184610d00565b95945050505050565b600e8152602081017f494e56414c49445f5349474e455200000000000000000000000000000000000081529050610f02565b6020808252810161046f8161111a565b6000815461116981610ea7565b6001821680156111805760018114611191576111c1565b60ff198316865281860193506111c1565b60008581526020902060005b838110156111b95781548882015260019091019060200161119d565b505081860193505b50505092915050565b61046f818361115c565b60a081016111e28288610d00565b6111ef6020830187610d00565b6111fc6040830186610d00565b6112096060830185610d00565b6112166080830184610e61565b969550505050505056fea2646970667358221220540a8c0c2299c04b6e84d141ed7352279b520cfd1a1439cfd3a44918527d611064736f6c634300080b0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101775760003560e01c806370480275116100d85780639dc29fac1161008c578063dd62ed3e11610066578063dd62ed3e1461031e578063de9375f214610349578063f2fde38b1461036957600080fd5b80639dc29fac146102e5578063a9059cbb146102f8578063d505accf1461030b57600080fd5b80637ecebe00116100bd5780637ecebe00146102aa57806392a5f72e146102ca57806395d89b41146102dd57600080fd5b8063704802751461027757806370a082311461028a57600080fd5b806330adf81f1161012f5780633644e515116101145780633644e5151461025357806340c10f191461025b5780634f02c4201461026e57600080fd5b806330adf81f146101f8578063313ce5671461021f57600080fd5b80631785f53c116101605780631785f53c146101ba57806318160ddd146101cf57806323b872dd146101e557600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b61018461037c565b6040516101919190610c2d565b60405180910390f35b6101ad6101a8366004610c82565b61040a565b6040516101919190610cc9565b6101cd6101c8366004610cd7565b610475565b005b6101d860025481565b6040516101919190610d06565b6101ad6101f3366004610d14565b6104ad565b6101d87f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6102467f000000000000000000000000000000000000000000000000000000000000001281565b6040516101919190610d6d565b6101d8610587565b6101cd610269366004610c82565b6105e2565b6101d860095481565b6101cd610285366004610cd7565b610637565b6101d8610298366004610cd7565b60036020526000908152604090205481565b6101d86102b8366004610cd7565b60056020526000908152604090205481565b6101d86b1027e72f1f1281308800000081565b610184610672565b6101cd6102f3366004610c82565b61067f565b6101ad610306366004610c82565b6106b8565b6101cd610319366004610d8f565b61072e565b6101d861032c366004610e2e565b600460209081526000928352604080842090915290825290205481565b60085461035c906001600160a01b031681565b6040516101919190610e6a565b6101cd610377366004610cd7565b6108ff565b6000805461038990610ea7565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590610ea7565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610463908690610d06565b60405180910390a35060015b92915050565b6008546001600160a01b0316331461048c57600080fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b3360009081526007602052604081205460ff16806104e257506001600160a01b03841660009081526006602052604090205443115b6105075760405162461bcd60e51b81526004016104fe90610f08565b60405180910390fd5b3360009081526007602052604090205460ff161561057257826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105629190610d06565b60405180910390a3506001610580565b61057d848484610950565b90505b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000146146105bd576105b8610a5e565b905090565b507f57e7b2bdab895e82e5efc4b5a582053e01e772c35368b2a86176f83e541e2a9590565b3360009081526007602052604090205460ff166106115760405162461bcd60e51b81526004016104fe90610f4a565b80600960008282546106239190610f89565b9091555061063390508282610ae7565b5050565b6008546001600160a01b0316331461064e57600080fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6001805461038990610ea7565b3360009081526007602052604090205460ff166106ae5760405162461bcd60e51b81526004016104fe90610fd3565b6106338282610b57565b336000908152600360205260408120805483919083906106d9908490610fe3565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610463908690610d06565b4284101561074e5760405162461bcd60e51b81526004016104fe9061102c565b6000610758610587565b6001600160a01b03891660009081526005602090815260409182902080546001810190915591516107b5927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d910161103c565b604051602081830303815290604052805190602001206040516020016107dc929190611096565b60405160208183030381529060405280519060200120905060006001828686866040516000815260200160405260405161081994939291906110dc565b6020604051602081039080840390855afa15801561083b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108715750886001600160a01b0316816001600160a01b0316145b61088d5760405162461bcd60e51b81526004016104fe9061114c565b6001600160a01b0390811660009081526004602090815260408083208b85168085529252918290208990559051909250908916907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108ee908990610d06565b60405180910390a350505050505050565b6008546001600160a01b0316331461091657600080fd5b600880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b03831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109ca576109a58382610fe3565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b038516600090815260036020526040812080548592906109f2908490610fe3565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a4b908790610d06565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610a9091906111ca565b604051908190038120610acc92917fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc690469030906020016111d4565b60405160208183030381529060405280519060200120905090565b8060026000828254610af99190610f89565b90915550506001600160a01b038216600081815260036020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4b908590610d06565b60405180910390a35050565b6001600160a01b03821660009081526003602052604081208054839290610b7f908490610fe3565b90915550506002805482900390556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4b908590610d06565b60005b83811015610be6578181015183820152602001610bce565b83811115610bf5576000848401525b50505050565b6000610c05825190565b808452602084019350610c1c818560208601610bcb565b601f01601f19169290920192915050565b602080825281016105808184610bfb565b60006001600160a01b03821661046f565b610c5881610c3e565b8114610c6357600080fd5b50565b803561046f81610c4f565b80610c58565b803561046f81610c71565b60008060408385031215610c9857610c98600080fd5b6000610ca48585610c66565b9250506020610cb585828601610c77565b9150509250929050565b8015155b82525050565b6020810161046f8284610cbf565b600060208284031215610cec57610cec600080fd5b6000610cf88484610c66565b949350505050565b80610cc3565b6020810161046f8284610d00565b600080600060608486031215610d2c57610d2c600080fd5b6000610d388686610c66565b9350506020610d4986828701610c66565b9250506040610d5a86828701610c77565b9150509250925092565b60ff8116610cc3565b6020810161046f8284610d64565b60ff8116610c58565b803561046f81610d7b565b600080600080600080600060e0888a031215610dad57610dad600080fd5b6000610db98a8a610c66565b9750506020610dca8a828b01610c66565b9650506040610ddb8a828b01610c77565b9550506060610dec8a828b01610c77565b9450506080610dfd8a828b01610d84565b93505060a0610e0e8a828b01610c77565b92505060c0610e1f8a828b01610c77565b91505092959891949750929550565b60008060408385031215610e4457610e44600080fd5b6000610e508585610c66565b9250506020610cb585828601610c66565b610cc381610c3e565b6020810161046f8284610e61565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600281046001821680610ebb57607f821691505b60208210811415610ece57610ece610e78565b50919050565b60198152602081017f686d6d6d6d20776861742061726520796f7520646f696e673f00000000000000815290505b60200190565b6020808252810161046f81610ed4565b60148152602081017f4f6e6c792061646d696e732063616e206d696e7400000000000000000000000081529050610f02565b6020808252810161046f81610f18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610f9c57610f9c610f5a565b500190565b600b8152602081017f4f6e6c792061646d696e7300000000000000000000000000000000000000000081529050610f02565b6020808252810161046f81610fa1565b600082821015610ff557610ff5610f5a565b500390565b60178152602081017f5045524d49545f444541444c494e455f4558504952454400000000000000000081529050610f02565b6020808252810161046f81610ffa565b60c0810161104a8289610d00565b6110576020830188610e61565b6110646040830187610e61565b6110716060830186610d00565b61107e6080830185610d00565b61108b60a0830184610d00565b979650505050505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002016110c68184610d00565b6020016110d38183610d00565b60200192915050565b608081016110ea8287610d00565b6110f76020830186610d64565b6111046040830185610d00565b6111116060830184610d00565b95945050505050565b600e8152602081017f494e56414c49445f5349474e455200000000000000000000000000000000000081529050610f02565b6020808252810161046f8161111a565b6000815461116981610ea7565b6001821680156111805760018114611191576111c1565b60ff198316865281860193506111c1565b60008581526020902060005b838110156111b95781548882015260019091019060200161119d565b505081860193505b50505092915050565b61046f818361115c565b60a081016111e28288610d00565b6111ef6020830187610d00565b6111fc6040830186610d00565b6112096060830185610d00565b6112166080830184610e61565b969550505050505056fea2646970667358221220540a8c0c2299c04b6e84d141ed7352279b520cfd1a1439cfd3a44918527d611064736f6c634300080b0033

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.