ETH Price: $1,976.21 (+0.77%)
Gas: 0.03 Gwei
 

Overview

ETH Balance

0.0599 ETH

Eth Value

$118.38 (@ $1,976.21/ETH)

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Approval For...245105512026-02-22 6:15:1125 mins ago1771740911IN
0x84085a15...8094a3188
0 ETH0.00000320.13279378
Set Approval For...245103302026-02-22 5:30:591 hr ago1771738259IN
0x84085a15...8094a3188
0 ETH0.000001550.03373767
Set Approval For...245098762026-02-22 4:00:112 hrs ago1771732811IN
0x84085a15...8094a3188
0 ETH0.000005980.12979895
Set Approval For...245096662026-02-22 3:17:593 hrs ago1771730279IN
0x84085a15...8094a3188
0 ETH0.000001430.03106593
Set Approval For...245092072026-02-22 1:45:354 hrs ago1771724735IN
0x84085a15...8094a3188
0 ETH0.000002250.04897284
Freemint245088622026-02-22 0:36:116 hrs ago1771720571IN
0x84085a15...8094a3188
0 ETH0.0000050.03928231
Freemint245088602026-02-22 0:35:476 hrs ago1771720547IN
0x84085a15...8094a3188
0 ETH0.000007350.05767935
Freemint245088582026-02-22 0:35:236 hrs ago1771720523IN
0x84085a15...8094a3188
0 ETH0.000008180.06419067
Freemint245088552026-02-22 0:34:476 hrs ago1771720487IN
0x84085a15...8094a3188
0 ETH0.000004770.03744454
Freemint245088512026-02-22 0:33:596 hrs ago1771720439IN
0x84085a15...8094a3188
0 ETH0.000004770.03747882
Freemint245088462026-02-22 0:32:596 hrs ago1771720379IN
0x84085a15...8094a3188
0 ETH0.000004660.03658492
Freemint245088442026-02-22 0:32:356 hrs ago1771720355IN
0x84085a15...8094a3188
0 ETH0.000005140.04034854
Freemint245088422026-02-22 0:32:116 hrs ago1771720331IN
0x84085a15...8094a3188
0 ETH0.000005180.04063929
Freemint245088402026-02-22 0:31:476 hrs ago1771720307IN
0x84085a15...8094a3188
0 ETH0.000005560.04367702
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000000840.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
Freemint245087592026-02-22 0:15:356 hrs ago1771719335IN
0x84085a15...8094a3188
0 ETH0.000001030.03
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Redacted

Compiler Version
v0.8.33+commit.64118f21

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity 0.8.33;

contract Redacted {
    // Errors
    error NotOwner();
    error NoScripts();
    error SoldOut();
    error FreeMintSoldOut();
    error AlreadyFreeMinted();
    error InsufficientPayment();
    error ZeroQuantity();
    error NonexistentToken();
    error NotApproved();
    error InvalidTransfer();
    error FreeMintBlockCooldown();
    error TokenBurned();

    // Events
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    event TokenBurnedOnTransfer(address indexed from, uint256 indexed tokenId);

    // Constants
    uint256 public constant MAX_SUPPLY = 10000;
    uint256 public constant COST = 0.0001 ether;
    string public constant NAME = "Redacted Punks";
    string public constant SYMBOL = "RP";
    uint256 public constant BURN_RATE_BPS = 3000; // 40% in basis points

    // State - packed into fewer slots
    address private _owner;
    uint96 private _currentIndex; // only increments, never resets — this IS totalMinted

    string private _baseURI = "bafybeibfz263ybzfo6mdsmn3kep4vp33s46vs34sjzei6sunw2qvp7eysa";
    uint128 public MAX_FREE = 10000;
    uint128 public MAX_FREE_PER_WALLET = 1;

    // Burn counter
    uint256 private _burnCount;

    // Free mint throttle state
    uint256 public freeMintThrottleThreshold = 1000;
    uint256 private _lastFreeMintBlock;

    // ERC721A-style: only store ownership at batch start
    mapping(uint256 => address) private _owners;
    mapping(address => uint256) private _balances;
    mapping(uint256 => address) private _tokenApprovals;
    mapping(address => mapping(address => bool)) private _operatorApprovals;
    mapping(address => uint256) public minted;

    // Burned token tracking
    mapping(uint256 => bool) private _burned;

    // Free mint throttle per-block counter
    mapping(uint256 => uint256) private _blockMintCount;

    modifier onlyOwner() {
        if (msg.sender != _owner) revert NotOwner();
        _;
    }

    modifier noContracts() {
        if (tx.origin != msg.sender) revert NoScripts();
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    // ============ MINT FUNCTIONS ============

    /// @notice _currentIndex is the total number of tokens ever minted.
    ///         It only goes up. Burned tokens are NOT re-mintable.
    ///         MAX_SUPPLY includes burned tokens — once 10,000 are minted, no more ever.

    function freemint() external noContracts {
        uint256 amount = MAX_FREE_PER_WALLET;
        uint256 current = _currentIndex;
        if (current + amount > MAX_FREE) revert FreeMintSoldOut();
        if (current + amount > MAX_SUPPLY) revert SoldOut();
        if (minted[msg.sender] != 0) revert AlreadyFreeMinted();

        // After threshold, enforce 10 free mints per block
        if (current >= freeMintThrottleThreshold) {
            if (block.number == _lastFreeMintBlock) {
                if (_blockMintCount[block.number] >= 50) revert FreeMintBlockCooldown();
            } else {
                _lastFreeMintBlock = block.number;
            }
            _blockMintCount[block.number]++;
        }

        minted[msg.sender] = amount;
        _mint(msg.sender, amount);
    }

    function mint(uint256 amount) external payable {
        // MAX_SUPPLY check uses _currentIndex (totalMinted), NOT totalSupply
        // This means burned tokens permanently consume supply
        if (_currentIndex + amount > MAX_SUPPLY) revert SoldOut();
        if (msg.value < amount * COST) revert InsufficientPayment();
        _mint(msg.sender, amount);
    }

    function teamMint(uint256 amount) external onlyOwner {
        if (_currentIndex + amount > MAX_SUPPLY) revert SoldOut();
        _mint(msg.sender, amount);
    }

    /// @dev ERC721A-style: only write owner at start of batch
    function _mint(address to, uint256 quantity) internal {
        if (quantity == 0) revert ZeroQuantity();

        uint256 startId = _currentIndex;

        // Single SSTORE for ownership (ERC721A optimization)
        _owners[startId] = to;
        _balances[to] += quantity;

        // Emit events (required by ERC721 spec)
        for (uint256 i; i < quantity;) {
            emit Transfer(address(0), to, startId + i);
            unchecked { ++i; }
        }

        // _currentIndex only goes up — burned tokens are never reclaimed
        _currentIndex = uint96(startId + quantity);
    }

    // ============ VIEW FUNCTIONS ============

    /// @notice Returns the number of living (non-burned) tokens
    function totalSupply() public view returns (uint256) {
        return uint256(_currentIndex) - _burnCount;
    }

    /// @notice Returns the total number of tokens ever minted (includes burned)
    /// @dev This is what gets checked against MAX_SUPPLY — burned tokens permanently consume supply
    function totalMinted() public view returns (uint256) {
        return _currentIndex;
    }

    /// @notice Returns the total number of tokens that have been burned
    function totalBurned() public view returns (uint256) {
        return _burnCount;
    }

    /// @notice Returns how many tokens can still be minted (accounts for burned permanently)
    function mintableRemaining() public view returns (uint256) {
        uint256 current = _currentIndex;
        if (current >= MAX_SUPPLY) return 0;
        return MAX_SUPPLY - current;
    }

    /// @notice Check if a specific token has been burned
    function isBurned(uint256 tokenId) public view returns (bool) {
        return _burned[tokenId];
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    /// @dev ERC721A-style: walk backwards to find owner, skipping burned tokens
    function ownerOf(uint256 tokenId) public view returns (address) {
        if (tokenId >= _currentIndex) revert NonexistentToken();
        if (_burned[tokenId]) revert TokenBurned();

        // Walk backwards to find the owner
        for (uint256 i = tokenId; ; ) {
            address tokenOwner = _owners[i];
            // Skip dead address sentinel (burned tokens use 0xdead)
            if (tokenOwner != address(0) && tokenOwner != address(0xdead)) {
                return tokenOwner;
            }
            unchecked { --i; }
        }
    }

    function owner() public view returns (address) {
        return _owner;
    }

    function isFreeMintAvailableThisBlock() public view returns (bool) {
        if (_currentIndex >= freeMintThrottleThreshold) {
            return block.number != _lastFreeMintBlock;
        }
        return true;
    }

    function lastFreeMintBlock() public view returns (uint256) {
        return _lastFreeMintBlock;
    }

    function name() public pure returns (string memory) {
        return NAME;
    }

    function symbol() public pure returns (string memory) {
        return SYMBOL;
    }

    function tokenURI(uint256 tokenId) public view returns (string memory) {
        if (tokenId >= _currentIndex) revert NonexistentToken();
        if (_burned[tokenId]) revert TokenBurned();
        return string(abi.encodePacked("ipfs://", _baseURI, "/", _toString(tokenId), ".json"));
    }

    // ============ APPROVALS ============

    function approve(address to, uint256 tokenId) public {
        address tokenOwner = ownerOf(tokenId);
        if (msg.sender != tokenOwner && !_operatorApprovals[tokenOwner][msg.sender])
            revert NotApproved();
        _tokenApprovals[tokenId] = to;
        emit Approval(tokenOwner, to, tokenId);
    }

    function setApprovalForAll(address operator, bool approved) public {
        _operatorApprovals[msg.sender][operator] = approved;
        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function getApproved(uint256 tokenId) public view returns (address) {
        if (tokenId >= _currentIndex) revert NonexistentToken();
        if (_burned[tokenId]) revert TokenBurned();
        return _tokenApprovals[tokenId];
    }

    function isApprovedForAll(address account, address operator) public view returns (bool) {
        return _operatorApprovals[account][operator];
    }

    // ============ TRANSFERS (WITH 40% BURN) ============

    function transferFrom(address from, address to, uint256 tokenId) public {
        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(address from, address to, uint256 tokenId) public {
        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata) public {
        _transfer(from, to, tokenId);
    }

    /// @dev Determines if a transfer should result in a burn (40% chance)
    /// Uses keccak256 of on-chain entropy for deterministic pseudo-randomness
    function _shouldBurn(uint256 tokenId) internal view returns (bool) {
        uint256 entropy = uint256(
            keccak256(
                abi.encodePacked(
                    tokenId,
                    block.timestamp,
                    block.prevrandao,
                    msg.sender,
                    _burnCount // extra entropy from current burn state
                )
            )
        );
        // 40% = values 0-3 out of 0-9
        return (entropy % 10) < 4;
    }

    function _transfer(address from, address to, uint256 tokenId) internal {
        // Check burned first
        if (_burned[tokenId]) revert TokenBurned();

        // Verify ownership
        if (ownerOf(tokenId) != from) revert InvalidTransfer();

        // Verify authorization
        if (
            msg.sender != from
                && !_operatorApprovals[from][msg.sender]
                && _tokenApprovals[tokenId] != msg.sender
        ) revert NotApproved();

        // Clear approval
        delete _tokenApprovals[tokenId];

        // Initialize next slot if needed BEFORE any state changes (ERC721A pattern)
        uint256 nextId = tokenId + 1;
        if (nextId < _currentIndex && _owners[nextId] == address(0) && !_burned[nextId]) {
            _owners[nextId] = from;
        }

        // --- 40% BURN CHECK ---
        if (_shouldBurn(tokenId)) {
            // BURN: token is permanently destroyed
            _burned[tokenId] = true;
            _owners[tokenId] = address(0xdead); // sentinel value
            _burnCount++;

            unchecked {
                --_balances[from];
                // Note: NO increment to `to` balance — token is destroyed
            }

            emit Transfer(from, address(0), tokenId);
            emit TokenBurnedOnTransfer(from, tokenId);
            return;
        }

        // --- NORMAL TRANSFER (60% chance) ---
        unchecked {
            --_balances[from];
            ++_balances[to];
        }

        _owners[tokenId] = to;

        emit Transfer(from, to, tokenId);
    }

    // ============ ERC165 & ERC2981 ============

    function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
        return interfaceId == 0x01ffc9a7 || // ERC165
            interfaceId == 0x80ac58cd || // ERC721
            interfaceId == 0x5b5e139f || // ERC721Metadata
            interfaceId == 0x2a55205a;   // ERC2981
    }

    function royaltyInfo(uint256, uint256 salePrice) external view returns (address, uint256) {
        return (_owner, (salePrice * 500) / 10000);
    }

    // ============ ADMIN ============

    function setData(string calldata base, uint128 maxFree, uint128 maxFreePerWallet) external onlyOwner {
        _baseURI = base;
        MAX_FREE = maxFree;
        MAX_FREE_PER_WALLET = maxFreePerWallet;
    }

    function setFreeMintThrottleThreshold(uint256 threshold) external onlyOwner {
        freeMintThrottleThreshold = threshold;
    }

    function withdraw() external onlyOwner {
        (bool success,) = msg.sender.call{value: address(this).balance}("");
        require(success);
    }

    // ============ UTILS ============

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

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyFreeMinted","type":"error"},{"inputs":[],"name":"FreeMintBlockCooldown","type":"error"},{"inputs":[],"name":"FreeMintSoldOut","type":"error"},{"inputs":[],"name":"InsufficientPayment","type":"error"},{"inputs":[],"name":"InvalidTransfer","type":"error"},{"inputs":[],"name":"NoScripts","type":"error"},{"inputs":[],"name":"NonexistentToken","type":"error"},{"inputs":[],"name":"NotApproved","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"SoldOut","type":"error"},{"inputs":[],"name":"TokenBurned","type":"error"},{"inputs":[],"name":"ZeroQuantity","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","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":"uint256","name":"tokenId","type":"uint256"}],"name":"TokenBurnedOnTransfer","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":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BURN_RATE_BPS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_FREE","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_FREE_PER_WALLET","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","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":"SYMBOL","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freeMintThrottleThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freemint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"isBurned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFreeMintAvailableThisBlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastFreeMintBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintableRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"tokenId","type":"uint256"},{"internalType":"bytes","name":"","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":"base","type":"string"},{"internalType":"uint128","name":"maxFree","type":"uint128"},{"internalType":"uint128","name":"maxFreePerWallet","type":"uint128"}],"name":"setData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setFreeMintThrottleThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"teamMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e0604052603b608081815290611b8b60a03960019061001f9082610100565b507001000000000000000000000000000027106002556103e8600455348015610046575f5ffd5b505f80546001600160a01b031916331790556101be565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061008557607f821691505b6020821081036100a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156100fb57828211156100fb57805f5260205f20601f840160051c60208510156100d457505f5b90810190601f840160051c035f5b818110156100f7575f838201556001016100e2565b5050505b505050565b81516001600160401b038111156101195761011961005d565b61012d816101278454610071565b846100a9565b6020601f82116001811461015f575f83156101485750848201515b5f19600385901b1c1916600184901b1784556101b7565b5f84815260208120601f198516915b8281101561018e578785015182556020948501946001909201910161016e565b50848210156101ab57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b6119c0806101cb5f395ff3fe608060405260043610610212575f3560e01c806395d89b411161011e578063bf8fbbd2116100a8578063e985e9c51161006d578063e985e9c514610660578063ed6661c2146106a7578063f76f8d78146106c6578063f99dfeba146106f3578063f9cb63ac14610708575f5ffd5b8063bf8fbbd2146105d2578063c87b56dd146105eb578063d89135cd1461060a578063db44fe071461061e578063df2cb3e41461064c575f5ffd5b8063a2309ff8116100ee578063a2309ff814610524578063a3f4df7e14610547578063abd0a55214610580578063b09d0b5e1461059f578063b88d4fde146105b3575f5ffd5b806395d89b411461048a57806398710d1e146104b4578063a0712d68146104f2578063a22cb46514610505575f5ffd5b80632a55205a1161019f57806342842e0e1161016f57806342842e0e146103575780636352211e146103fc578063656042d01461041b57806370a082311461043a5780638da5cb5b1461046e575f5ffd5b80632a55205a146103765780632fbba115146103b457806332cb6b0c146103d35780633ccfd60b146103e8575f5ffd5b8063095ea7b3116101e5578063095ea7b3146102d457806318160ddd146102f55780631e7269c5146103175780632300f4101461034257806323b872dd14610357575f5ffd5b806301ffc9a7146102165780630226f3291461024a57806306fdde031461025e578063081812fc1461029d575b5f5ffd5b348015610221575f5ffd5b506102356102303660046113df565b61071c565b60405190151581526020015b60405180910390f35b348015610255575f5ffd5b50610235610788565b348015610269575f5ffd5b5060408051808201909152600e81526d52656461637465642050756e6b7360901b60208201525b604051610241919061140d565b3480156102a8575f5ffd5b506102bc6102b7366004611442565b6107bf565b6040516001600160a01b039091168152602001610241565b3480156102df575f5ffd5b506102f36102ee366004611474565b61083b565b005b348015610300575f5ffd5b506103096108fc565b604051908152602001610241565b348015610322575f5ffd5b5061030961033136600461149c565b600a6020525f908152604090205481565b34801561034d575f5ffd5b50610309610bb881565b348015610362575f5ffd5b506102f36103713660046114b5565b610922565b348015610381575f5ffd5b506103956103903660046114ef565b610932565b604080516001600160a01b039093168352602083019190915201610241565b3480156103bf575f5ffd5b506102f36103ce366004611442565b610965565b3480156103de575f5ffd5b5061030961271081565b3480156103f3575f5ffd5b506102f36109dc565b348015610407575f5ffd5b506102bc610416366004611442565b610a57565b348015610426575f5ffd5b506102f3610435366004611442565b610b00565b348015610445575f5ffd5b5061030961045436600461149c565b6001600160a01b03165f9081526007602052604090205490565b348015610479575f5ffd5b505f546001600160a01b03166102bc565b348015610495575f5ffd5b50604080518082019091526002815261052560f41b6020820152610290565b3480156104bf575f5ffd5b506002546104da90600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610241565b6102f3610500366004611442565b610b2f565b348015610510575f5ffd5b506102f361051f36600461150f565b610b9f565b34801561052f575f5ffd5b505f54600160a01b90046001600160601b0316610309565b348015610552575f5ffd5b506102906040518060400160405280600e81526020016d52656461637465642050756e6b7360901b81525081565b34801561058b575f5ffd5b506102f361059a36600461159c565b610c0a565b3480156105aa575f5ffd5b50600554610309565b3480156105be575f5ffd5b506102f36105cd3660046115fd565b610c5d565b3480156105dd575f5ffd5b50610309655af3107a400081565b3480156105f6575f5ffd5b50610290610605366004611442565b610c6f565b348015610615575f5ffd5b50600354610309565b348015610629575f5ffd5b50610235610638366004611442565b5f908152600b602052604090205460ff1690565b348015610657575f5ffd5b50610309610d04565b34801561066b575f5ffd5b5061023561067a366004611667565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b3480156106b2575f5ffd5b506002546104da906001600160801b031681565b3480156106d1575f5ffd5b5061029060405180604001604052806002815260200161052560f41b81525081565b3480156106fe575f5ffd5b5061030960045481565b348015610713575f5ffd5b506102f3610d39565b5f6301ffc9a760e01b6001600160e01b03198316148061074c57506380ac58cd60e01b6001600160e01b03198316145b806107675750635b5e139f60e01b6001600160e01b03198316145b80610782575063152a902d60e11b6001600160e01b03198316145b92915050565b5f6004545f60149054906101000a90046001600160601b03166001600160601b0316106107b9575060055443141590565b50600190565b5f8054600160a01b90046001600160601b031682106107f15760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff16156108205760405163202d8ed160e01b815260040160405180910390fd5b505f908152600860205260409020546001600160a01b031690565b5f61084582610a57565b9050336001600160a01b0382161480159061088357506001600160a01b0381165f90815260096020908152604080832033845290915290205460ff16155b156108a15760405163c19f17a960e01b815260040160405180910390fd5b5f8281526008602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6003545f8054909161091d91600160a01b90046001600160601b03166116ac565b905090565b61092d838383610e90565b505050565b5f805481906001600160a01b031661271061094f856101f46116bf565b61095991906116ea565b915091505b9250929050565b5f546001600160a01b0316331461098f576040516330cd747160e01b815260040160405180910390fd5b5f54612710906109b0908390600160a01b90046001600160601b03166116fd565b11156109cf576040516352df9fe560e01b815260040160405180910390fd5b6109d9338261116c565b50565b5f546001600160a01b03163314610a06576040516330cd747160e01b815260040160405180910390fd5b6040515f90339047908381818185875af1925050503d805f8114610a45576040519150601f19603f3d011682016040523d82523d5f602084013e610a4a565b606091505b50509050806109d9575f5ffd5b5f8054600160a01b90046001600160601b03168210610a895760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff1615610ab85760405163202d8ed160e01b815260040160405180910390fd5b815b5f818152600660205260409020546001600160a01b03168015801590610aeb57506001600160a01b03811661dead14155b15610af7579392505050565b505f1901610aba565b5f546001600160a01b03163314610b2a576040516330cd747160e01b815260040160405180910390fd5b600455565b5f5461271090610b50908390600160a01b90046001600160601b03166116fd565b1115610b6f576040516352df9fe560e01b815260040160405180910390fd5b610b7f655af3107a4000826116bf565b3410156109cf5760405163cd1c886760e01b815260040160405180910390fd5b335f8181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f546001600160a01b03163314610c34576040516330cd747160e01b815260040160405180910390fd5b6001610c418486836117b2565b506001600160801b03908116600160801b029116176002555050565b610c68858585610e90565b5050505050565b5f54606090600160a01b90046001600160601b03168210610ca35760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff1615610cd25760405163202d8ed160e01b815260040160405180910390fd5b6001610cdd83611270565b604051602001610cee929190611883565b6040516020818303038152906040529050919050565b5f8054600160a01b90046001600160601b03166127108110610d27575f91505090565b610d33816127106116ac565b91505090565b323314610d595760405163377401db60e11b815260040160405180910390fd5b6002545f54600160801b82046001600160801b0390811692600160a01b9092046001600160601b03169116610d8e83836116fd565b1115610dad57604051631fcc27c360e11b815260040160405180910390fd5b612710610dba83836116fd565b1115610dd9576040516352df9fe560e01b815260040160405180910390fd5b335f908152600a602052604090205415610e06576040516398bdb27b60e01b815260040160405180910390fd5b6004548110610e71576005544303610e4c57435f908152600c6020526040902054603211610e475760405163b202967360e01b815260040160405180910390fd5b610e51565b436005555b435f908152600c60205260408120805491610e6b83611936565b91905055505b335f818152600a60205260409020839055610e8c908361116c565b5050565b5f818152600b602052604090205460ff1615610ebf5760405163202d8ed160e01b815260040160405180910390fd5b826001600160a01b0316610ed282610a57565b6001600160a01b031614610ef957604051632f35253160e01b815260040160405180910390fd5b336001600160a01b03841614801590610f3557506001600160a01b0383165f90815260096020908152604080832033845290915290205460ff16155b8015610f5757505f818152600860205260409020546001600160a01b03163314155b15610f755760405163c19f17a960e01b815260040160405180910390fd5b5f81815260086020526040812080546001600160a01b0319169055610f9b8260016116fd565b5f54909150600160a01b90046001600160601b031681108015610fd257505f818152600660205260409020546001600160a01b0316155b8015610fec57505f818152600b602052604090205460ff16155b15611018575f81815260066020526040902080546001600160a01b0319166001600160a01b0386161790555b61102182611373565b156110f0575f828152600b60209081526040808320805460ff191660011790556006909152812080546001600160a01b03191661dead179055600380549161106883611936565b90915550506001600160a01b0384165f8181526007602052604080822080545f19019055518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a460405182906001600160a01b038616907fe88ac02f6eeff5588bdc75175a7338ba4ff848f69e3e30cc28b53ab11158c50b905f90a350505050565b6001600160a01b038085165f81815260076020908152604080832080545f1901905593871680835284832080546001019055868352600690915283822080546001600160a01b031916821790559251859392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a450505050565b805f0361118c5760405163f4f5b73360e01b815260040160405180910390fd5b5f8054600160a01b90046001600160601b031680825260066020908152604080842080546001600160a01b0319166001600160a01b0388169081179091558452600790915282208054919284926111e49084906116fd565b909155505f90505b8281101561123b576111fe81836116fd565b6040516001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46001016111ec565b5061124682826116fd565b5f60146101000a8154816001600160601b0302191690836001600160601b03160217905550505050565b6060815f036112965750506040805180820190915260018152600360fc1b602082015290565b815f5b81156112bf57806112a981611936565b91506112b89050600a836116ea565b9150611299565b5f8167ffffffffffffffff8111156112d9576112d9611710565b6040519080825280601f01601f191660200182016040528015611303576020820181803683370190505b5090505b841561136b57611318600a8661194e565b6113239060306116fd565b60f81b8161133084611961565b9350838151811061134357611343611976565b60200101906001600160f81b03191690815f1a905350611364600a866116ea565b9450611307565b949350505050565b60035460408051602080820185905242828401524460608084019190915233901b6bffffffffffffffffffffffff191660808301526094808301949094528251808303909401845260b490910190915281519101205f9060046113d7600a8361194e565b109392505050565b5f602082840312156113ef575f5ffd5b81356001600160e01b031981168114611406575f5ffd5b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215611452575f5ffd5b5035919050565b80356001600160a01b038116811461146f575f5ffd5b919050565b5f5f60408385031215611485575f5ffd5b61148e83611459565b946020939093013593505050565b5f602082840312156114ac575f5ffd5b61140682611459565b5f5f5f606084860312156114c7575f5ffd5b6114d084611459565b92506114de60208501611459565b929592945050506040919091013590565b5f5f60408385031215611500575f5ffd5b50508035926020909101359150565b5f5f60408385031215611520575f5ffd5b61152983611459565b91506020830135801515811461153d575f5ffd5b809150509250929050565b5f5f83601f840112611558575f5ffd5b50813567ffffffffffffffff81111561156f575f5ffd5b60208301915083602082850101111561095e575f5ffd5b80356001600160801b038116811461146f575f5ffd5b5f5f5f5f606085870312156115af575f5ffd5b843567ffffffffffffffff8111156115c5575f5ffd5b6115d187828801611548565b90955093506115e4905060208601611586565b91506115f260408601611586565b905092959194509250565b5f5f5f5f5f60808688031215611611575f5ffd5b61161a86611459565b945061162860208701611459565b935060408601359250606086013567ffffffffffffffff81111561164a575f5ffd5b61165688828901611548565b969995985093965092949392505050565b5f5f60408385031215611678575f5ffd5b61168183611459565b915061168f60208401611459565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078257610782611698565b808202811582820484141761078257610782611698565b634e487b7160e01b5f52601260045260245ffd5b5f826116f8576116f86116d6565b500490565b8082018082111561078257610782611698565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061173857607f821691505b60208210810361175657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561092d578282111561092d57805f5260205f20601f840160051c602085101561178757505f5b90810190601f840160051c035f5b818110156117aa575f83820155600101611795565b505050505050565b67ffffffffffffffff8311156117ca576117ca611710565b6117de836117d88354611724565b8361175c565b5f601f84116001811461180f575f85156117f85750838201355b5f19600387901b1c1916600186901b178355610c68565b5f83815260208120601f198716915b8281101561183e578685013582556020948501946001909201910161181e565b508682101561185a575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f81518060208401855e5f93019283525090919050565b66697066733a2f2f60c81b81525f5f845461189d81611724565b6001821680156118b457600181146118cf57611902565b60ff1983166007870152600782151583028701019350611902565b875f5260205f205f5b838110156118f7578154888201600701526001909101906020016118d8565b505060078287010193505b505050602f60f81b815261192d61191c600183018661186c565b64173539b7b760d91b815260050190565b95945050505050565b5f6001820161194757611947611698565b5060010190565b5f8261195c5761195c6116d6565b500690565b5f8161196f5761196f611698565b505f190190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212200b40813ab735cb2b2c09d2de0c5469df76d637a80c4298658ab576535bd4d31564736f6c634300082100336261667962656962667a32363379627a666f366d64736d6e336b6570347670333373343676733334736a7a65693673756e77327176703765797361

Deployed Bytecode

0x608060405260043610610212575f3560e01c806395d89b411161011e578063bf8fbbd2116100a8578063e985e9c51161006d578063e985e9c514610660578063ed6661c2146106a7578063f76f8d78146106c6578063f99dfeba146106f3578063f9cb63ac14610708575f5ffd5b8063bf8fbbd2146105d2578063c87b56dd146105eb578063d89135cd1461060a578063db44fe071461061e578063df2cb3e41461064c575f5ffd5b8063a2309ff8116100ee578063a2309ff814610524578063a3f4df7e14610547578063abd0a55214610580578063b09d0b5e1461059f578063b88d4fde146105b3575f5ffd5b806395d89b411461048a57806398710d1e146104b4578063a0712d68146104f2578063a22cb46514610505575f5ffd5b80632a55205a1161019f57806342842e0e1161016f57806342842e0e146103575780636352211e146103fc578063656042d01461041b57806370a082311461043a5780638da5cb5b1461046e575f5ffd5b80632a55205a146103765780632fbba115146103b457806332cb6b0c146103d35780633ccfd60b146103e8575f5ffd5b8063095ea7b3116101e5578063095ea7b3146102d457806318160ddd146102f55780631e7269c5146103175780632300f4101461034257806323b872dd14610357575f5ffd5b806301ffc9a7146102165780630226f3291461024a57806306fdde031461025e578063081812fc1461029d575b5f5ffd5b348015610221575f5ffd5b506102356102303660046113df565b61071c565b60405190151581526020015b60405180910390f35b348015610255575f5ffd5b50610235610788565b348015610269575f5ffd5b5060408051808201909152600e81526d52656461637465642050756e6b7360901b60208201525b604051610241919061140d565b3480156102a8575f5ffd5b506102bc6102b7366004611442565b6107bf565b6040516001600160a01b039091168152602001610241565b3480156102df575f5ffd5b506102f36102ee366004611474565b61083b565b005b348015610300575f5ffd5b506103096108fc565b604051908152602001610241565b348015610322575f5ffd5b5061030961033136600461149c565b600a6020525f908152604090205481565b34801561034d575f5ffd5b50610309610bb881565b348015610362575f5ffd5b506102f36103713660046114b5565b610922565b348015610381575f5ffd5b506103956103903660046114ef565b610932565b604080516001600160a01b039093168352602083019190915201610241565b3480156103bf575f5ffd5b506102f36103ce366004611442565b610965565b3480156103de575f5ffd5b5061030961271081565b3480156103f3575f5ffd5b506102f36109dc565b348015610407575f5ffd5b506102bc610416366004611442565b610a57565b348015610426575f5ffd5b506102f3610435366004611442565b610b00565b348015610445575f5ffd5b5061030961045436600461149c565b6001600160a01b03165f9081526007602052604090205490565b348015610479575f5ffd5b505f546001600160a01b03166102bc565b348015610495575f5ffd5b50604080518082019091526002815261052560f41b6020820152610290565b3480156104bf575f5ffd5b506002546104da90600160801b90046001600160801b031681565b6040516001600160801b039091168152602001610241565b6102f3610500366004611442565b610b2f565b348015610510575f5ffd5b506102f361051f36600461150f565b610b9f565b34801561052f575f5ffd5b505f54600160a01b90046001600160601b0316610309565b348015610552575f5ffd5b506102906040518060400160405280600e81526020016d52656461637465642050756e6b7360901b81525081565b34801561058b575f5ffd5b506102f361059a36600461159c565b610c0a565b3480156105aa575f5ffd5b50600554610309565b3480156105be575f5ffd5b506102f36105cd3660046115fd565b610c5d565b3480156105dd575f5ffd5b50610309655af3107a400081565b3480156105f6575f5ffd5b50610290610605366004611442565b610c6f565b348015610615575f5ffd5b50600354610309565b348015610629575f5ffd5b50610235610638366004611442565b5f908152600b602052604090205460ff1690565b348015610657575f5ffd5b50610309610d04565b34801561066b575f5ffd5b5061023561067a366004611667565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b3480156106b2575f5ffd5b506002546104da906001600160801b031681565b3480156106d1575f5ffd5b5061029060405180604001604052806002815260200161052560f41b81525081565b3480156106fe575f5ffd5b5061030960045481565b348015610713575f5ffd5b506102f3610d39565b5f6301ffc9a760e01b6001600160e01b03198316148061074c57506380ac58cd60e01b6001600160e01b03198316145b806107675750635b5e139f60e01b6001600160e01b03198316145b80610782575063152a902d60e11b6001600160e01b03198316145b92915050565b5f6004545f60149054906101000a90046001600160601b03166001600160601b0316106107b9575060055443141590565b50600190565b5f8054600160a01b90046001600160601b031682106107f15760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff16156108205760405163202d8ed160e01b815260040160405180910390fd5b505f908152600860205260409020546001600160a01b031690565b5f61084582610a57565b9050336001600160a01b0382161480159061088357506001600160a01b0381165f90815260096020908152604080832033845290915290205460ff16155b156108a15760405163c19f17a960e01b815260040160405180910390fd5b5f8281526008602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6003545f8054909161091d91600160a01b90046001600160601b03166116ac565b905090565b61092d838383610e90565b505050565b5f805481906001600160a01b031661271061094f856101f46116bf565b61095991906116ea565b915091505b9250929050565b5f546001600160a01b0316331461098f576040516330cd747160e01b815260040160405180910390fd5b5f54612710906109b0908390600160a01b90046001600160601b03166116fd565b11156109cf576040516352df9fe560e01b815260040160405180910390fd5b6109d9338261116c565b50565b5f546001600160a01b03163314610a06576040516330cd747160e01b815260040160405180910390fd5b6040515f90339047908381818185875af1925050503d805f8114610a45576040519150601f19603f3d011682016040523d82523d5f602084013e610a4a565b606091505b50509050806109d9575f5ffd5b5f8054600160a01b90046001600160601b03168210610a895760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff1615610ab85760405163202d8ed160e01b815260040160405180910390fd5b815b5f818152600660205260409020546001600160a01b03168015801590610aeb57506001600160a01b03811661dead14155b15610af7579392505050565b505f1901610aba565b5f546001600160a01b03163314610b2a576040516330cd747160e01b815260040160405180910390fd5b600455565b5f5461271090610b50908390600160a01b90046001600160601b03166116fd565b1115610b6f576040516352df9fe560e01b815260040160405180910390fd5b610b7f655af3107a4000826116bf565b3410156109cf5760405163cd1c886760e01b815260040160405180910390fd5b335f8181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f546001600160a01b03163314610c34576040516330cd747160e01b815260040160405180910390fd5b6001610c418486836117b2565b506001600160801b03908116600160801b029116176002555050565b610c68858585610e90565b5050505050565b5f54606090600160a01b90046001600160601b03168210610ca35760405163163a09e160e31b815260040160405180910390fd5b5f828152600b602052604090205460ff1615610cd25760405163202d8ed160e01b815260040160405180910390fd5b6001610cdd83611270565b604051602001610cee929190611883565b6040516020818303038152906040529050919050565b5f8054600160a01b90046001600160601b03166127108110610d27575f91505090565b610d33816127106116ac565b91505090565b323314610d595760405163377401db60e11b815260040160405180910390fd5b6002545f54600160801b82046001600160801b0390811692600160a01b9092046001600160601b03169116610d8e83836116fd565b1115610dad57604051631fcc27c360e11b815260040160405180910390fd5b612710610dba83836116fd565b1115610dd9576040516352df9fe560e01b815260040160405180910390fd5b335f908152600a602052604090205415610e06576040516398bdb27b60e01b815260040160405180910390fd5b6004548110610e71576005544303610e4c57435f908152600c6020526040902054603211610e475760405163b202967360e01b815260040160405180910390fd5b610e51565b436005555b435f908152600c60205260408120805491610e6b83611936565b91905055505b335f818152600a60205260409020839055610e8c908361116c565b5050565b5f818152600b602052604090205460ff1615610ebf5760405163202d8ed160e01b815260040160405180910390fd5b826001600160a01b0316610ed282610a57565b6001600160a01b031614610ef957604051632f35253160e01b815260040160405180910390fd5b336001600160a01b03841614801590610f3557506001600160a01b0383165f90815260096020908152604080832033845290915290205460ff16155b8015610f5757505f818152600860205260409020546001600160a01b03163314155b15610f755760405163c19f17a960e01b815260040160405180910390fd5b5f81815260086020526040812080546001600160a01b0319169055610f9b8260016116fd565b5f54909150600160a01b90046001600160601b031681108015610fd257505f818152600660205260409020546001600160a01b0316155b8015610fec57505f818152600b602052604090205460ff16155b15611018575f81815260066020526040902080546001600160a01b0319166001600160a01b0386161790555b61102182611373565b156110f0575f828152600b60209081526040808320805460ff191660011790556006909152812080546001600160a01b03191661dead179055600380549161106883611936565b90915550506001600160a01b0384165f8181526007602052604080822080545f19019055518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a460405182906001600160a01b038616907fe88ac02f6eeff5588bdc75175a7338ba4ff848f69e3e30cc28b53ab11158c50b905f90a350505050565b6001600160a01b038085165f81815260076020908152604080832080545f1901905593871680835284832080546001019055868352600690915283822080546001600160a01b031916821790559251859392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a450505050565b805f0361118c5760405163f4f5b73360e01b815260040160405180910390fd5b5f8054600160a01b90046001600160601b031680825260066020908152604080842080546001600160a01b0319166001600160a01b0388169081179091558452600790915282208054919284926111e49084906116fd565b909155505f90505b8281101561123b576111fe81836116fd565b6040516001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46001016111ec565b5061124682826116fd565b5f60146101000a8154816001600160601b0302191690836001600160601b03160217905550505050565b6060815f036112965750506040805180820190915260018152600360fc1b602082015290565b815f5b81156112bf57806112a981611936565b91506112b89050600a836116ea565b9150611299565b5f8167ffffffffffffffff8111156112d9576112d9611710565b6040519080825280601f01601f191660200182016040528015611303576020820181803683370190505b5090505b841561136b57611318600a8661194e565b6113239060306116fd565b60f81b8161133084611961565b9350838151811061134357611343611976565b60200101906001600160f81b03191690815f1a905350611364600a866116ea565b9450611307565b949350505050565b60035460408051602080820185905242828401524460608084019190915233901b6bffffffffffffffffffffffff191660808301526094808301949094528251808303909401845260b490910190915281519101205f9060046113d7600a8361194e565b109392505050565b5f602082840312156113ef575f5ffd5b81356001600160e01b031981168114611406575f5ffd5b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215611452575f5ffd5b5035919050565b80356001600160a01b038116811461146f575f5ffd5b919050565b5f5f60408385031215611485575f5ffd5b61148e83611459565b946020939093013593505050565b5f602082840312156114ac575f5ffd5b61140682611459565b5f5f5f606084860312156114c7575f5ffd5b6114d084611459565b92506114de60208501611459565b929592945050506040919091013590565b5f5f60408385031215611500575f5ffd5b50508035926020909101359150565b5f5f60408385031215611520575f5ffd5b61152983611459565b91506020830135801515811461153d575f5ffd5b809150509250929050565b5f5f83601f840112611558575f5ffd5b50813567ffffffffffffffff81111561156f575f5ffd5b60208301915083602082850101111561095e575f5ffd5b80356001600160801b038116811461146f575f5ffd5b5f5f5f5f606085870312156115af575f5ffd5b843567ffffffffffffffff8111156115c5575f5ffd5b6115d187828801611548565b90955093506115e4905060208601611586565b91506115f260408601611586565b905092959194509250565b5f5f5f5f5f60808688031215611611575f5ffd5b61161a86611459565b945061162860208701611459565b935060408601359250606086013567ffffffffffffffff81111561164a575f5ffd5b61165688828901611548565b969995985093965092949392505050565b5f5f60408385031215611678575f5ffd5b61168183611459565b915061168f60208401611459565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561078257610782611698565b808202811582820484141761078257610782611698565b634e487b7160e01b5f52601260045260245ffd5b5f826116f8576116f86116d6565b500490565b8082018082111561078257610782611698565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061173857607f821691505b60208210810361175657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561092d578282111561092d57805f5260205f20601f840160051c602085101561178757505f5b90810190601f840160051c035f5b818110156117aa575f83820155600101611795565b505050505050565b67ffffffffffffffff8311156117ca576117ca611710565b6117de836117d88354611724565b8361175c565b5f601f84116001811461180f575f85156117f85750838201355b5f19600387901b1c1916600186901b178355610c68565b5f83815260208120601f198716915b8281101561183e578685013582556020948501946001909201910161181e565b508682101561185a575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f81518060208401855e5f93019283525090919050565b66697066733a2f2f60c81b81525f5f845461189d81611724565b6001821680156118b457600181146118cf57611902565b60ff1983166007870152600782151583028701019350611902565b875f5260205f205f5b838110156118f7578154888201600701526001909101906020016118d8565b505060078287010193505b505050602f60f81b815261192d61191c600183018661186c565b64173539b7b760d91b815260050190565b95945050505050565b5f6001820161194757611947611698565b5060010190565b5f8261195c5761195c6116d6565b500690565b5f8161196f5761196f611698565b505f190190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212200b40813ab735cb2b2c09d2de0c5469df76d637a80c4298658ab576535bd4d31564736f6c63430008210033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.