ETH Price: $3,387.39 (+1.18%)

Token

Bubblehouse NFT V3 (BUBBLENFT3)
 

Overview

Max Total Supply

0 BUBBLENFT3

Holders

200

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Balance
1 BUBBLENFT3
0x11b576d57f3c6f344a8719e35acc19b4284902f5
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BubblehouseNFT3

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
constantinople EvmVersion
File 1 of 1 : BubblehouseNFTV3.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract OwnableDelegateProxy {}
// Used to delegate ownership of a contract to another address, to save on unneeded transactions to approve contract use for users
contract OpenSeaProxyRegistry {
    mapping(address => OwnableDelegateProxy) public proxies;
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC721 is IERC165 {
    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);

    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function transferFrom(address from, address to, uint256 tokenId) external;

    function approve(address to, uint256 tokenId) external;
    function setApprovalForAll(address operator, bool _approved) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function isApprovedForAll(address owner, address operator) external view returns (bool);
}

interface IERC721Metadata is IERC721 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function tokenURI(uint256 tokenId) external view returns (string memory);
}

contract BubblehouseNFT3 is IERC165, IERC721, IERC721Metadata {

    // --- Init ---

    constructor(string memory name_, address openSeaProxyRegistryAddress_, string memory baseURI_, address sharedWallet_) {
        _name = name_;
        _owner = msg.sender;
        openSeaProxyRegistryAddress = openSeaProxyRegistryAddress_;
        isOpenSeaEnabled = (openSeaProxyRegistryAddress_ != address(0));
        _baseURI = baseURI_;
        if (sharedWallet_ != address(0)) {
            _isMinter[sharedWallet_] = true;
        }
    }


    // --- Name and symbol ---

    string private _name;

    function name() public view override returns (string memory) {
        return _name;
    }

    function symbol() public pure override returns (string memory) {
        return "BUBBLENFT3";
    }


    // --- ERC165 ---

    function supportsInterface(bytes4 interfaceId) public pure override returns (bool) {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC721Metadata).interfaceId ||
            interfaceId == type(IERC165).interfaceId;
    }


    // --- Delegation ---

    function _msgSender() internal view returns (address) {
        // TODO: support for OpenSea's metatransactions?
        return msg.sender;
    }


    // --- Balances ----

    // owner address => token count
    mapping(address => uint256) private _balances;

    function balanceOf(address owner) public view override returns (uint256) {
        require(owner != address(0), "ZERO_ADDR");
        return _balances[owner];
    }


    // --- Owners ---

    // token ID => owner address
    mapping(uint256 => address) private _owners;

    function ownerOf(uint256 tokenId) public view override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "INVALID_TOKEN");
        return owner;
    }

    function _exists(uint256 tokenId) internal view returns (bool) {
        return _owners[tokenId] != address(0);
    }



    // --- Approvals ---

    // token ID => approved address
    mapping(uint256 => address) private _tokenApprovals;

    // owner => operator approvals
    mapping(address => mapping(address => bool)) private _operatorApprovals;

    function approve(address to, uint256 tokenId) public override {
        address owner = ownerOf(tokenId);
        require(to != owner, "IDEMPOTENT");
        require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()), "Forbidden");
        _approve(to, tokenId);
    }

    function getApproved(uint256 tokenId) public view override returns (address) {
        require(_exists(tokenId), "INVALID_TOKEN");
        return _tokenApprovals[tokenId];
    }

    function setApprovalForAll(address operator, bool approved) public override {
        _setApprovalForAll(_msgSender(), operator, approved);
    }

    function isApprovedForAll(address owner, address operator) public view override returns (bool) {
        return _operatorApprovals[owner][operator] || isOpenSeaOperator(owner, operator);
    }

    function _approve(address to, uint256 tokenId) internal {
        _tokenApprovals[tokenId] = to;
        emit Approval(ownerOf(tokenId), to, tokenId);
    }

    function _clearApproval(uint256 tokenId) internal {
        _approve(address(0), tokenId);
    }

    function _setApprovalForAll(address owner, address operator, bool approved) internal {
        require(owner != operator, "IDEMPOTENT");
        _operatorApprovals[owner][operator] = approved;
        emit ApprovalForAll(owner, operator, approved);
    }


    // --- OpenSea ---

    bool public isOpenSeaEnabled = true;
    address public openSeaProxyRegistryAddress;

    function isOpenSeaOperator(address owner, address operator) internal view returns (bool) {
        if (!isOpenSeaEnabled) {
            return false;
        }
        OpenSeaProxyRegistry proxyRegistry = OpenSeaProxyRegistry(openSeaProxyRegistryAddress);
        return (address(proxyRegistry.proxies(owner)) == operator);
    }

    function setOpenSeaEnabled(bool enabled) external onlyOwner {
        isOpenSeaEnabled = enabled;
    }

    function setOpenSeaProxyRegistryAddress(address addr) external onlyOwner {
        openSeaProxyRegistryAddress = addr;
    }


    // -- Access checks ---

    // Returns whether `spender` is allowed to manage `tokenId`.
    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view returns (bool) {
        address owner = _owners[tokenId];
        return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);
    }


    // --- Metadata ---

    string private _baseURI;

    function setBaseURI(string memory newBaseURI) public onlyOwner {
        _baseURI = newBaseURI;
    }

    function baseTokenURI() public view returns (string memory) {
        return _baseURI;
    }

    function tokenURI(uint256 tokenId) public view override returns (string memory) {
        require(_exists(tokenId), "INVALID_TOKEN");
        return string(abi.encodePacked(_baseURI, intToString(tokenId)));
    }



    // --- Minting ---

    function mint(address to, uint256 tokenId) public onlyMinter {
        _mint(to, tokenId);
    }

    function _mint(address to, uint256 tokenId) internal {
        require(to != address(0), "ZERO_ADDR");

        address owner = _owners[tokenId];
        if (owner != address(0)) {
            if (owner == to) {
                revert("IDEMPOTENT");
            }
            revert("TOKEN_EXISTS");
        }

        _beforeTokenTransfer(address(0), to, tokenId);

        unchecked { _balances[to] += 1; }
        _owners[tokenId] = to;

        emit Transfer(address(0), to, tokenId);

        _afterTokenTransfer(address(0), to, tokenId);
    }


    // --- Transfers ---

    function transferFrom(address from, address to, uint256 tokenId) public override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "FORBIDDEN");
        _transfer(from, to, tokenId);
    }

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

    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory /*data*/) public override {
        transferFrom(from, to, tokenId);
    }

    function _transfer(address from, address to, uint256 tokenId) internal {
        require(_owners[tokenId] == from, "FORBIDDEN");
        require(to != address(0), "ZERO_ADDR");

        _beforeTokenTransfer(from, to, tokenId);

        _clearApproval(tokenId);

        unchecked {
            _balances[from] -= 1;
            _balances[to] += 1;
        }
        _owners[tokenId] = to;

        emit Transfer(from, to, tokenId);

        _afterTokenTransfer(from, to, tokenId);
    }


    // --- Burn ---

    function burn(uint256 tokenId) public {
        address owner = _owners[tokenId];
        if (owner == address(0)) {
            revert("ALREADY_BURNED");
        }
        require(_isApprovedOrOwner(_msgSender(), tokenId), "FORBIDDEN");
        _burn(tokenId);
    }

    function _burn(uint256 tokenId) internal {
        address owner = ownerOf(tokenId);

        _beforeTokenTransfer(owner, address(0), tokenId);

        _clearApproval(tokenId);

        unchecked {
            _balances[owner] -= 1;
        }
        delete _owners[tokenId];

        emit Transfer(owner, address(0), tokenId);

        _afterTokenTransfer(owner, address(0), tokenId);
    }


    // --- Hooks ---
    //
    // Zero `from` is mint, zero `to` is burn.

    function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal {}
    function _afterTokenTransfer(address from, address to, uint256 tokenId) internal {}


    // --- Ownership ---

    address private _owner;

    modifier onlyOwner() {
        require(_owner == msg.sender, "FORBIDDEN");
        _;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "ZERO_ADDR");
        _owner = newOwner;
    }


    // --- Minters ---

    mapping(address => bool) private _isMinter;

    modifier onlyMinter() {
        require(_isMinter[msg.sender], "FORBIDDEN");
        _;
    }

    function setMinter(address addr, bool authorized) external onlyOwner {
        require(addr != address(0), "ZERO_ADDR");
        _isMinter[addr] = authorized;
    }


    // --- Utils ---
    
    // From @openzeppelin/contracts/utils/Strings.sol
    function intToString(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);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"address","name":"openSeaProxyRegistryAddress_","type":"address"},{"internalType":"string","name":"baseURI_","type":"string"},{"internalType":"address","name":"sharedWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","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":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOpenSeaEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openSeaProxyRegistryAddress","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":"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":"newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"authorized","type":"bool"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setOpenSeaEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setOpenSeaProxyRegistryAddress","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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526005805460ff191660011790553480156200001e57600080fd5b50604051620018b2380380620018b2833981016040819052620000419162000293565b835162000056906000906020870190620000ea565b5060078054336001600160a01b0319909116179055600580546001600160a01b0385168015156001600160a81b031990921661010090910260ff1916171790558151620000ab906006906020850190620000ea565b506001600160a01b03811615620000e0576001600160a01b0381166000908152600860205260409020805460ff191660011790555b5050505062000377565b828054620000f89062000322565b90600052602060002090601f0160209004810192826200011c576000855562000167565b82601f106200013757805160ff191683800117855562000167565b8280016001018555821562000167579182015b82811115620001675782518255916020019190600101906200014a565b506200017592915062000179565b5090565b5b808211156200017557600081556001016200017a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620001d157600080fd5b81516001600160401b0380821115620001ee57620001ee62000190565b604051601f8301601f19908116603f0116810190828211818310171562000219576200021962000190565b816040528381526020925086838588010111156200023657600080fd5b600091505b838210156200025a57858201830151818301840152908201906200023b565b838211156200026c5760008385830101525b9695505050505050565b80516001600160a01b03811681146200028e57600080fd5b919050565b60008060008060808587031215620002aa57600080fd5b84516001600160401b0380821115620002c257600080fd5b620002d088838901620001bf565b9550620002e06020880162000276565b94506040870151915080821115620002f757600080fd5b506200030687828801620001bf565b925050620003176060860162000276565b905092959194509250565b600181811c908216806200033757607f821691505b60208210810362000371577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b61152b80620003876000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063b88d4fde1161007c578063b88d4fde14610302578063c87b56dd14610315578063cf456ae714610328578063d547cfb71461033b578063e985e9c514610343578063f2fde38b1461035657600080fd5b806370a08231146102725780637222ebe114610293578063893d20e8146102a057806395d89b41146102b1578063a22cb465146102d7578063b7f47d32146102ea57600080fd5b806340c10f191161011557806340c10f191461020057806342842e0e1461021357806342966c681461022657806355f804b3146102395780636352211e1461024c578063687e17531461025f57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a57806308abf026146101c5578063095ea7b3146101da57806323b872dd146101ed575b600080fd5b61017061016b366004610f65565b610369565b60405190151581526020015b60405180910390f35b61018d6103bb565b60405161017c9190610fbb565b6101ad6101a8366004610fee565b61044d565b6040516001600160a01b03909116815260200161017c565b6101d86101d336600461101c565b6104a6565b005b6101d86101e8366004611039565b6104f8565b6101d86101fb366004611065565b610599565b6101d861020e366004611039565b6105ca565b6101d8610221366004611065565b610607565b6101d8610234366004610fee565b610612565b6101d8610247366004611132565b610697565b6101ad61025a366004610fee565b6106d4565b6101d861026d366004611190565b610709565b61028561028036600461101c565b610746565b60405190815260200161017c565b6005546101709060ff1681565b6007546001600160a01b03166101ad565b60408051808201909152600a815269425542424c454e46543360b01b602082015261018d565b6101d86102e53660046111ab565b61078a565b6005546101ad9061010090046001600160a01b031681565b6101d86103103660046111e0565b610795565b61018d610323366004610fee565b6107a6565b6101d86103363660046111ab565b61080f565b61018d61088a565b610170610351366004611260565b610899565b6101d861036436600461101c565b6108db565b60006001600160e01b031982166380ac58cd60e01b148061039a57506001600160e01b03198216635b5e139f60e01b145b806103b557506001600160e01b031982166301ffc9a760e01b145b92915050565b6060600080546103ca90611299565b80601f01602080910402602001604051908101604052809291908181526020018280546103f690611299565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661048a5760405162461bcd60e51b8152600401610481906112d3565b60405180910390fd5b506000908152600360205260409020546001600160a01b031690565b6007546001600160a01b031633146104d05760405162461bcd60e51b8152600401610481906112fa565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000610503826106d4565b9050806001600160a01b0316836001600160a01b0316036105365760405162461bcd60e51b81526004016104819061131d565b336001600160a01b038216148061055257506105528133610899565b61058a5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b6044820152606401610481565b610594838361094d565b505050565b6105a333826109bb565b6105bf5760405162461bcd60e51b8152600401610481906112fa565b610594838383610a16565b3360009081526008602052604090205460ff166105f95760405162461bcd60e51b8152600401610481906112fa565b6106038282610afb565b5050565b610594838383610599565b6000818152600260205260409020546001600160a01b0316806106685760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d0955493915160921b6044820152606401610481565b61067233836109bb565b61068e5760405162461bcd60e51b8152600401610481906112fa565b61060382610c13565b6007546001600160a01b031633146106c15760405162461bcd60e51b8152600401610481906112fa565b8051610603906006906020840190610ecc565b6000818152600260205260408120546001600160a01b0316806103b55760405162461bcd60e51b8152600401610481906112d3565b6007546001600160a01b031633146107335760405162461bcd60e51b8152600401610481906112fa565b6005805460ff1916911515919091179055565b60006001600160a01b03821661076e5760405162461bcd60e51b815260040161048190611341565b506001600160a01b031660009081526001602052604090205490565b610603338383610c92565b6107a0848484610599565b50505050565b6000818152600260205260409020546060906001600160a01b03166107dd5760405162461bcd60e51b8152600401610481906112d3565b60066107e883610d30565b6040516020016107f9929190611380565b6040516020818303038152906040529050919050565b6007546001600160a01b031633146108395760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b03821661085f5760405162461bcd60e51b815260040161048190611341565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6060600680546103ca90611299565b6001600160a01b03808316600090815260046020908152604080832093851683529290529081205460ff16806108d457506108d48383610e31565b9392505050565b6007546001600160a01b031633146109055760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b03811661092b5760405162461bcd60e51b815260040161048190611341565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610982826106d4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b039081169084168114806109ea57506109ea8185610899565b80610a0e5750836001600160a01b0316610a038461044d565b6001600160a01b0316145b949350505050565b6000818152600260205260409020546001600160a01b03848116911614610a4f5760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b038216610a755760405162461bcd60e51b815260040161048190611341565b610a7e81610ebe565b6001600160a01b038084166000818152600160208181526040808420805460001901905594871680845285842080549093019092558583526002905283822080546001600160a01b031916821790559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b215760405162461bcd60e51b815260040161048190611341565b6000818152600260205260409020546001600160a01b03168015610ba757826001600160a01b0316816001600160a01b031603610b705760405162461bcd60e51b81526004016104819061131d565b60405162461bcd60e51b815260206004820152600c60248201526b544f4b454e5f45584953545360a01b6044820152606401610481565b6001600160a01b038316600081815260016020818152604080842080549093019092558583526002905280822080546001600160a01b0319168417905551849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b6000610c1e826106d4565b9050610c2982610ebe565b6001600160a01b03811660008181526001602090815260408083208054600019019055858352600290915280822080546001600160a01b0319169055518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b031603610cc35760405162461bcd60e51b81526004016104819061131d565b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606081600003610d575750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d815780610d6b8161143c565b9150610d7a9050600a8361146b565b9150610d5b565b60008167ffffffffffffffff811115610d9c57610d9c6110a6565b6040519080825280601f01601f191660200182016040528015610dc6576020820181803683370190505b5090505b8415610a0e57610ddb60018361147f565b9150610de8600a86611496565b610df39060306114aa565b60f81b818381518110610e0857610e086114c2565b60200101906001600160f81b031916908160001a905350610e2a600a8661146b565b9450610dca565b60055460009060ff16610e46575060006103b5565b60055460405163c455279160e01b81526001600160a01b038581166004830152610100909204821691841690829063c455279190602401602060405180830381865afa158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0391906114d8565b610ec960008261094d565b50565b828054610ed890611299565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b600060208284031215610f7757600080fd5b81356001600160e01b0319811681146108d457600080fd5b60005b83811015610faa578181015183820152602001610f92565b838111156107a05750506000910152565b6020815260008251806020840152610fda816040850160208701610f8f565b601f01601f19169190910160400192915050565b60006020828403121561100057600080fd5b5035919050565b6001600160a01b0381168114610ec957600080fd5b60006020828403121561102e57600080fd5b81356108d481611007565b6000806040838503121561104c57600080fd5b823561105781611007565b946020939093013593505050565b60008060006060848603121561107a57600080fd5b833561108581611007565b9250602084013561109581611007565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110d7576110d76110a6565b604051601f8501601f19908116603f011681019082821181831017156110ff576110ff6110a6565b8160405280935085815286868601111561111857600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b8201601f8101841361116c57600080fd5b610a0e848235602084016110bc565b8035801515811461118b57600080fd5b919050565b6000602082840312156111a257600080fd5b6108d48261117b565b600080604083850312156111be57600080fd5b82356111c981611007565b91506111d76020840161117b565b90509250929050565b600080600080608085870312156111f657600080fd5b843561120181611007565b9350602085013561121181611007565b925060408501359150606085013567ffffffffffffffff81111561123457600080fd5b8501601f8101871361124557600080fd5b611254878235602084016110bc565b91505092959194509250565b6000806040838503121561127357600080fd5b823561127e81611007565b9150602083013561128e81611007565b809150509250929050565b600181811c908216806112ad57607f821691505b6020821081036112cd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b6020808252600990820152682327a92124a22222a760b91b604082015260600190565b6020808252600a9082015269125111535413d511539560b21b604082015260600190565b6020808252600990820152682d22a927afa0a2222960b91b604082015260600190565b60008151611376818560208601610f8f565b9290920192915050565b600080845481600182811c91508083168061139c57607f831692505b602080841082036113bb57634e487b7160e01b86526022600452602486fd5b8180156113cf57600181146113e05761140d565b60ff1986168952848901965061140d565b60008b81526020902060005b868110156114055781548b8201529085019083016113ec565b505084890196505b50505050505061141d8185611364565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161144e5761144e611426565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261147a5761147a611455565b500490565b60008282101561149157611491611426565b500390565b6000826114a5576114a5611455565b500690565b600082198211156114bd576114bd611426565b500190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ea57600080fd5b81516108d48161100756fea2646970667358221220386a922d734cb582609ede3d8bc648a592887df62df52e46f85536974bfadc8f64736f6c634300080e00330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000060bdb84551e1e0e42a54a1951015410dfa54f81d0000000000000000000000000000000000000000000000000000000000000012427562626c65686f757365204e46542056330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f6170692e627562626c65686f7573652e636f6d2f746f6b656e732f302f000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063b88d4fde1161007c578063b88d4fde14610302578063c87b56dd14610315578063cf456ae714610328578063d547cfb71461033b578063e985e9c514610343578063f2fde38b1461035657600080fd5b806370a08231146102725780637222ebe114610293578063893d20e8146102a057806395d89b41146102b1578063a22cb465146102d7578063b7f47d32146102ea57600080fd5b806340c10f191161011557806340c10f191461020057806342842e0e1461021357806342966c681461022657806355f804b3146102395780636352211e1461024c578063687e17531461025f57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a57806308abf026146101c5578063095ea7b3146101da57806323b872dd146101ed575b600080fd5b61017061016b366004610f65565b610369565b60405190151581526020015b60405180910390f35b61018d6103bb565b60405161017c9190610fbb565b6101ad6101a8366004610fee565b61044d565b6040516001600160a01b03909116815260200161017c565b6101d86101d336600461101c565b6104a6565b005b6101d86101e8366004611039565b6104f8565b6101d86101fb366004611065565b610599565b6101d861020e366004611039565b6105ca565b6101d8610221366004611065565b610607565b6101d8610234366004610fee565b610612565b6101d8610247366004611132565b610697565b6101ad61025a366004610fee565b6106d4565b6101d861026d366004611190565b610709565b61028561028036600461101c565b610746565b60405190815260200161017c565b6005546101709060ff1681565b6007546001600160a01b03166101ad565b60408051808201909152600a815269425542424c454e46543360b01b602082015261018d565b6101d86102e53660046111ab565b61078a565b6005546101ad9061010090046001600160a01b031681565b6101d86103103660046111e0565b610795565b61018d610323366004610fee565b6107a6565b6101d86103363660046111ab565b61080f565b61018d61088a565b610170610351366004611260565b610899565b6101d861036436600461101c565b6108db565b60006001600160e01b031982166380ac58cd60e01b148061039a57506001600160e01b03198216635b5e139f60e01b145b806103b557506001600160e01b031982166301ffc9a760e01b145b92915050565b6060600080546103ca90611299565b80601f01602080910402602001604051908101604052809291908181526020018280546103f690611299565b80156104435780601f1061041857610100808354040283529160200191610443565b820191906000526020600020905b81548152906001019060200180831161042657829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661048a5760405162461bcd60e51b8152600401610481906112d3565b60405180910390fd5b506000908152600360205260409020546001600160a01b031690565b6007546001600160a01b031633146104d05760405162461bcd60e51b8152600401610481906112fa565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000610503826106d4565b9050806001600160a01b0316836001600160a01b0316036105365760405162461bcd60e51b81526004016104819061131d565b336001600160a01b038216148061055257506105528133610899565b61058a5760405162461bcd60e51b81526020600482015260096024820152682337b93134b23232b760b91b6044820152606401610481565b610594838361094d565b505050565b6105a333826109bb565b6105bf5760405162461bcd60e51b8152600401610481906112fa565b610594838383610a16565b3360009081526008602052604090205460ff166105f95760405162461bcd60e51b8152600401610481906112fa565b6106038282610afb565b5050565b610594838383610599565b6000818152600260205260409020546001600160a01b0316806106685760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d0955493915160921b6044820152606401610481565b61067233836109bb565b61068e5760405162461bcd60e51b8152600401610481906112fa565b61060382610c13565b6007546001600160a01b031633146106c15760405162461bcd60e51b8152600401610481906112fa565b8051610603906006906020840190610ecc565b6000818152600260205260408120546001600160a01b0316806103b55760405162461bcd60e51b8152600401610481906112d3565b6007546001600160a01b031633146107335760405162461bcd60e51b8152600401610481906112fa565b6005805460ff1916911515919091179055565b60006001600160a01b03821661076e5760405162461bcd60e51b815260040161048190611341565b506001600160a01b031660009081526001602052604090205490565b610603338383610c92565b6107a0848484610599565b50505050565b6000818152600260205260409020546060906001600160a01b03166107dd5760405162461bcd60e51b8152600401610481906112d3565b60066107e883610d30565b6040516020016107f9929190611380565b6040516020818303038152906040529050919050565b6007546001600160a01b031633146108395760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b03821661085f5760405162461bcd60e51b815260040161048190611341565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6060600680546103ca90611299565b6001600160a01b03808316600090815260046020908152604080832093851683529290529081205460ff16806108d457506108d48383610e31565b9392505050565b6007546001600160a01b031633146109055760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b03811661092b5760405162461bcd60e51b815260040161048190611341565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610982826106d4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b039081169084168114806109ea57506109ea8185610899565b80610a0e5750836001600160a01b0316610a038461044d565b6001600160a01b0316145b949350505050565b6000818152600260205260409020546001600160a01b03848116911614610a4f5760405162461bcd60e51b8152600401610481906112fa565b6001600160a01b038216610a755760405162461bcd60e51b815260040161048190611341565b610a7e81610ebe565b6001600160a01b038084166000818152600160208181526040808420805460001901905594871680845285842080549093019092558583526002905283822080546001600160a01b031916821790559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b215760405162461bcd60e51b815260040161048190611341565b6000818152600260205260409020546001600160a01b03168015610ba757826001600160a01b0316816001600160a01b031603610b705760405162461bcd60e51b81526004016104819061131d565b60405162461bcd60e51b815260206004820152600c60248201526b544f4b454e5f45584953545360a01b6044820152606401610481565b6001600160a01b038316600081815260016020818152604080842080549093019092558583526002905280822080546001600160a01b0319168417905551849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b6000610c1e826106d4565b9050610c2982610ebe565b6001600160a01b03811660008181526001602090815260408083208054600019019055858352600290915280822080546001600160a01b0319169055518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b031603610cc35760405162461bcd60e51b81526004016104819061131d565b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606081600003610d575750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d815780610d6b8161143c565b9150610d7a9050600a8361146b565b9150610d5b565b60008167ffffffffffffffff811115610d9c57610d9c6110a6565b6040519080825280601f01601f191660200182016040528015610dc6576020820181803683370190505b5090505b8415610a0e57610ddb60018361147f565b9150610de8600a86611496565b610df39060306114aa565b60f81b818381518110610e0857610e086114c2565b60200101906001600160f81b031916908160001a905350610e2a600a8661146b565b9450610dca565b60055460009060ff16610e46575060006103b5565b60055460405163c455279160e01b81526001600160a01b038581166004830152610100909204821691841690829063c455279190602401602060405180830381865afa158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0391906114d8565b610ec960008261094d565b50565b828054610ed890611299565b90600052602060002090601f016020900481019282610efa5760008555610f40565b82601f10610f1357805160ff1916838001178555610f40565b82800160010185558215610f40579182015b82811115610f40578251825591602001919060010190610f25565b50610f4c929150610f50565b5090565b5b80821115610f4c5760008155600101610f51565b600060208284031215610f7757600080fd5b81356001600160e01b0319811681146108d457600080fd5b60005b83811015610faa578181015183820152602001610f92565b838111156107a05750506000910152565b6020815260008251806020840152610fda816040850160208701610f8f565b601f01601f19169190910160400192915050565b60006020828403121561100057600080fd5b5035919050565b6001600160a01b0381168114610ec957600080fd5b60006020828403121561102e57600080fd5b81356108d481611007565b6000806040838503121561104c57600080fd5b823561105781611007565b946020939093013593505050565b60008060006060848603121561107a57600080fd5b833561108581611007565b9250602084013561109581611007565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110d7576110d76110a6565b604051601f8501601f19908116603f011681019082821181831017156110ff576110ff6110a6565b8160405280935085815286868601111561111857600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b8201601f8101841361116c57600080fd5b610a0e848235602084016110bc565b8035801515811461118b57600080fd5b919050565b6000602082840312156111a257600080fd5b6108d48261117b565b600080604083850312156111be57600080fd5b82356111c981611007565b91506111d76020840161117b565b90509250929050565b600080600080608085870312156111f657600080fd5b843561120181611007565b9350602085013561121181611007565b925060408501359150606085013567ffffffffffffffff81111561123457600080fd5b8501601f8101871361124557600080fd5b611254878235602084016110bc565b91505092959194509250565b6000806040838503121561127357600080fd5b823561127e81611007565b9150602083013561128e81611007565b809150509250929050565b600181811c908216806112ad57607f821691505b6020821081036112cd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b6020808252600990820152682327a92124a22222a760b91b604082015260600190565b6020808252600a9082015269125111535413d511539560b21b604082015260600190565b6020808252600990820152682d22a927afa0a2222960b91b604082015260600190565b60008151611376818560208601610f8f565b9290920192915050565b600080845481600182811c91508083168061139c57607f831692505b602080841082036113bb57634e487b7160e01b86526022600452602486fd5b8180156113cf57600181146113e05761140d565b60ff1986168952848901965061140d565b60008b81526020902060005b868110156114055781548b8201529085019083016113ec565b505084890196505b50505050505061141d8185611364565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161144e5761144e611426565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261147a5761147a611455565b500490565b60008282101561149157611491611426565b500390565b6000826114a5576114a5611455565b500690565b600082198211156114bd576114bd611426565b500190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ea57600080fd5b81516108d48161100756fea2646970667358221220386a922d734cb582609ede3d8bc648a592887df62df52e46f85536974bfadc8f64736f6c634300080e0033

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

0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000060bdb84551e1e0e42a54a1951015410dfa54f81d0000000000000000000000000000000000000000000000000000000000000012427562626c65686f757365204e46542056330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f6170692e627562626c65686f7573652e636f6d2f746f6b656e732f302f000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Bubblehouse NFT V3
Arg [1] : openSeaProxyRegistryAddress_ (address): 0xa5409ec958C83C3f309868babACA7c86DCB077c1
Arg [2] : baseURI_ (string): https://api.bubblehouse.com/tokens/0/
Arg [3] : sharedWallet_ (address): 0x60BdB84551e1E0e42A54a1951015410dfA54f81D

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 00000000000000000000000060bdb84551e1e0e42a54a1951015410dfa54f81d
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [5] : 427562626c65686f757365204e46542056330000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000025
Arg [7] : 68747470733a2f2f6170692e627562626c65686f7573652e636f6d2f746f6b65
Arg [8] : 6e732f302f000000000000000000000000000000000000000000000000000000


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.