ERC-721
Overview
Max Total Supply
20 HOPE
Holders
6
Total Transfers
-
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Minimal Proxy Contract for 0xf61f4f2c896219a90670e19e188ebb93fcc002e8
Contract Name:
NFTCollection
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1337 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;import "./interfaces/internal/INFTCollectionInitializer.sol";import "./interfaces/standards/royalties/IGetRoyalties.sol";import "./interfaces/standards/royalties/ITokenCreator.sol";import "./interfaces/standards/royalties/IGetFees.sol";import "./interfaces/standards/royalties/IRoyaltyInfo.sol";import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";import "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol";import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";import "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";import "./libraries/AddressLibrary.sol";import "./mixins/collections/SequentialMintCollection.sol";import "./mixins/collections/CollectionRoyalties.sol";import "./mixins/shared/ContractFactory.sol";/*** @title A collection of NFTs by a single creator.* @notice All NFTs from this contract are minted by the same creator.* A 10% royalty to the creator is included which may be split with collaborators on a per-NFT basis.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;import "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";struct CallWithoutValue {address target;bytes callData;}/*** @title A library for address helpers not already covered by the OZ library.* @author batu-inal & HardlyDifficult*/library AddressLibrary {using AddressUpgradeable for address;using AddressUpgradeable for address payable;/*** @notice Calls an external contract with arbitrary data and parse the return value into an address.* @param externalContract The address of the contract to call.* @param callData The data to send to the contract.* @return contractAddress The address of the contract returned by the call.*/function callAndReturnContractAddress(address externalContract, bytes calldata callData)
1234567891011121314// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;/*** @author batu-inal & HardlyDifficult*/interface INFTCollectionInitializer {function initialize(address payable _creator,string memory _name,string memory _symbol) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";import "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";import "../../interfaces/standards/royalties/ITokenCreator.sol";/*** @title Extends the OZ ERC721 implementation for collections which mint sequential token IDs.* @author batu-inal & HardlyDifficult*/abstract contract SequentialMintCollection is ITokenCreator, Initializable, ERC721BurnableUpgradeable {/****** Slot 0 (after inheritance) ******//*** @notice The creator/owner of this NFT collection.* @dev This is the default royalty recipient if a different `paymentAddress` was not provided.* @return The collection's creator/owner address.*/address payable public owner;/*** @notice The tokenId of the most recently created NFT.* @dev Minting starts at tokenId 1. Each mint will use this value + 1.* @return The most recently minted tokenId, or 0 if no NFTs have been minted yet.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;import "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol";import "../../interfaces/standards/royalties/IGetFees.sol";import "../../interfaces/standards/royalties/IGetRoyalties.sol";import "../../interfaces/standards/royalties/IRoyaltyInfo.sol";import "../../interfaces/standards/royalties/ITokenCreator.sol";import "../shared/Constants.sol";/*** @title Defines various royalty APIs for broad marketplace support.* @author batu-inal & HardlyDifficult*/abstract contract CollectionRoyalties is IGetRoyalties, IGetFees, IRoyaltyInfo, ITokenCreator, ERC165Upgradeable {/*** @inheritdoc IGetFees*/function getFeeRecipients(uint256 tokenId) external view returns (address payable[] memory recipients) {recipients = new address payable[](1);recipients[0] = getTokenCreatorPaymentAddress(tokenId);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;import "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";/*** @title Stores a reference to the factory which is used to create contract proxies.* @author batu-inal & HardlyDifficult*/abstract contract ContractFactory {using AddressUpgradeable for address;/*** @notice The address of the factory which was used to create this contract.* @return The factory contract address.*/address public immutable contractFactory;modifier onlyContractFactory() {require(msg.sender == contractFactory, "ContractFactory: Caller is not the factory");_;}/*** @notice Initialize the template's immutable variables.
1234567891011121314151617// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;interface IGetRoyalties {/*** @notice Get the creator royalties to be sent.* @dev The data is the same as when calling `getFeeRecipients` and `getFeeBps` separately.* @param tokenId The ID of the NFT to get royalties for.* @return recipients An array of addresses to which royalties should be sent.* @return royaltiesInBasisPoints The array of fees to be sent to each recipient, in basis points.*/function getRoyalties(uint256 tokenId)externalviewreturns (address payable[] memory recipients, uint256[] memory royaltiesInBasisPoints);}
123456789101112// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;interface ITokenCreator {/*** @notice Returns the creator of this NFT collection.* @param tokenId The ID of the NFT to get the creator payment address for.* @return creator The creator of this collection.*/function tokenCreator(uint256 tokenId) external view returns (address payable creator);}
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;/*** @notice An interface for communicating fees to 3rd party marketplaces.* @dev Originally implemented in mainnet contract 0x44d6e8933f8271abcf253c72f9ed7e0e4c0323b3*/interface IGetFees {/*** @notice Get the recipient addresses to which creator royalties should be sent.* @dev The expected royalty amounts are communicated with `getFeeBps`.* @param tokenId The ID of the NFT to get royalties for.* @return recipients An array of addresses to which royalties should be sent.*/function getFeeRecipients(uint256 tokenId) external view returns (address payable[] memory recipients);/*** @notice Get the creator royalty amounts to be sent to each recipient, in basis points.* @dev The expected recipients are communicated with `getFeeRecipients`.* @param tokenId The ID of the NFT to get royalties for.* @return royaltiesInBasisPoints The array of fees to be sent to each recipient, in basis points.*/function getFeeBps(uint256 tokenId) external view returns (uint256[] memory royaltiesInBasisPoints);}
123456789101112131415161718192021// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;/*** @notice Interface for EIP-2981: NFT Royalty Standard.* For more see: https://eips.ethereum.org/EIPS/eip-2981.*/interface IRoyaltyInfo {/*** @notice Get the creator royalties to be sent.* @param tokenId The ID of the NFT to get royalties for.* @param salePrice The total price of the sale.* @return receiver The address to which royalties should be sent.* @return royaltyAmount The total amount that should be sent to the `receiver`.*/function royaltyInfo(uint256 tokenId, uint256 salePrice)externalviewreturns (address receiver, uint256 royaltyAmount);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (proxy/utils/Initializable.sol)pragma solidity ^0.8.2;import "../../utils/AddressUpgradeable.sol";/*** @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed* behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an* external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer* function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.** The initialization functions use a version number. Once a version number is used, it is consumed and cannot be* reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in* case an upgrade adds a module that needs to be initialized.** For example:** [.hljs-theme-light.nopadding]* ```* contract MyToken is ERC20Upgradeable {* function initialize() initializer public {* __ERC20_init("MyToken", "MTK");* }* }
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)pragma solidity ^0.8.0;import "./IERC165Upgradeable.sol";import "../../proxy/utils/Initializable.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*/abstract contract ERC165Upgradeable is Initializable, IERC165Upgradeable {function __ERC165_init() internal onlyInitializing {}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/ERC721.sol)pragma solidity ^0.8.0;import "./IERC721Upgradeable.sol";import "./IERC721ReceiverUpgradeable.sol";import "./extensions/IERC721MetadataUpgradeable.sol";import "../../utils/AddressUpgradeable.sol";import "../../utils/ContextUpgradeable.sol";import "../../utils/StringsUpgradeable.sol";import "../../utils/introspection/ERC165Upgradeable.sol";import "../../proxy/utils/Initializable.sol";/*** @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including* the Metadata extension, but not including the Enumerable extension, which is available separately as* {ERC721Enumerable}.*/contract ERC721Upgradeable is Initializable, ContextUpgradeable, ERC165Upgradeable, IERC721Upgradeable, IERC721MetadataUpgradeable {using AddressUpgradeable for address;using StringsUpgradeable for uint256;// Token namestring private _name;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (utils/Address.sol)pragma solidity ^0.8.1;/*** @dev Collection of functions related to the address type*/library AddressUpgradeable {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed* ====*
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/extensions/ERC721Burnable.sol)pragma solidity ^0.8.0;import "../ERC721Upgradeable.sol";import "../../../utils/ContextUpgradeable.sol";import "../../../proxy/utils/Initializable.sol";/*** @title ERC721 Burnable Token* @dev ERC721 Token that can be burned (destroyed).*/abstract contract ERC721BurnableUpgradeable is Initializable, ContextUpgradeable, ERC721Upgradeable {function __ERC721Burnable_init() internal onlyInitializing {}function __ERC721Burnable_init_unchained() internal onlyInitializing {}/*** @dev Burns `tokenId`. See {ERC721-_burn}.** Requirements:** - The caller must own `tokenId` or be an approved operator.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;import "../proxy/utils/Initializable.sol";/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract ContextUpgradeable is Initializable {function __Context_init() internal onlyInitializing {}function __Context_init_unchained() internal onlyInitializing {}function _msgSender() internal view virtual returns (address) {return msg.sender;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)pragma solidity ^0.8.0;/*** @dev String operations.*/library StringsUpgradeable {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {// Inspired by OraclizeAPI's implementation - MIT licence// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.solif (value == 0) {return "0";}uint256 temp = value;uint256 digits;while (temp != 0) {digits++;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.0;import "../../utils/introspection/IERC165Upgradeable.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721Upgradeable is IERC165Upgradeable {/*** @dev Emitted when `tokenId` token is transferred from `from` to `to`.*/event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.*/event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);/*** @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.*/event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)pragma solidity ^0.8.0;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721ReceiverUpgradeable {/*** @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}* by `operator` from `from`, this function is called.** It must return its Solidity selector to confirm the token transfer.* If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.** The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)pragma solidity ^0.8.0;import "../IERC721Upgradeable.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721MetadataUpgradeable is IERC721Upgradeable {/*** @dev Returns the token collection name.*/function name() external view returns (string memory);/*** @dev Returns the token collection symbol.*/function symbol() external view returns (string memory);/*** @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.*/function tokenURI(uint256 tokenId) external view returns (string memory);
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[EIP].** Implementers can declare support of contract interfaces, which can then be* queried by others ({ERC165Checker}).** For an implementation, see {ERC165}.*/interface IERC165Upgradeable {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT OR Apache-2.0pragma solidity ^0.8.12;/// Constant values shared across mixins./*** @dev 100% in basis points.*/uint256 constant BASIS_POINTS = 10_000;/*** @dev The default admin role defined by OZ ACL modules.*/bytes32 constant DEFAULT_ADMIN_ROLE = 0x00;/*** @dev Cap the number of royalty recipients.* A cap is required to ensure gas costs are not too high when a sale is settled.*/uint256 constant MAX_ROYALTY_RECIPIENTS = 5;/*** @dev The minimum increase of 10% required when making an offer or placing a bid.*/uint256 constant MIN_PERCENT_INCREMENT_DENOMINATOR = BASIS_POINTS / 1_000;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../contracts/NFTCollection.sol";contract $NFTCollection is NFTCollection {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor(address _contractFactory) NFTCollection(_contractFactory) {}function $_burn(uint256 tokenId) external {return super._burn(tokenId);}function $_baseURI() external view returns (string memory) {return super._baseURI();}function $_initializeSequentialMintCollection(address payable _creator,uint32 _maxTokenId) external {return super._initializeSequentialMintCollection(_creator,_maxTokenId);}function $_selfDestruct() external {return super._selfDestruct();}
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../contracts/interfaces/internal/INFTCollectionInitializer.sol";abstract contract $INFTCollectionInitializer is INFTCollectionInitializer {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}receive() external payable {}}
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../../contracts/interfaces/standards/royalties/IGetFees.sol";abstract contract $IGetFees is IGetFees {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}receive() external payable {}}
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../../contracts/interfaces/standards/royalties/IGetRoyalties.sol";abstract contract $IGetRoyalties is IGetRoyalties {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}receive() external payable {}}
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../../contracts/interfaces/standards/royalties/IRoyaltyInfo.sol";abstract contract $IRoyaltyInfo is IRoyaltyInfo {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}receive() external payable {}}
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../../contracts/interfaces/standards/royalties/ITokenCreator.sol";abstract contract $ITokenCreator is ITokenCreator {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}receive() external payable {}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../contracts/libraries/AddressLibrary.sol";contract $AddressLibrary {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";event $callAndReturnContractAddress_address_bytes_Returned(address payable arg0);event $callAndReturnContractAddress_CallWithoutValue_Returned(address payable arg0);constructor() {}function $callAndReturnContractAddress(address externalContract,bytes calldata callData) external payable returns (address payable) {(address payable ret0) = AddressLibrary.callAndReturnContractAddress(externalContract,callData);emit $callAndReturnContractAddress_address_bytes_Returned(ret0);return (ret0);}function $callAndReturnContractAddress(CallWithoutValue calldata call) external payable returns (address payable) {(address payable ret0) = AddressLibrary.callAndReturnContractAddress(call);emit $callAndReturnContractAddress_CallWithoutValue_Returned(ret0);return (ret0);}
12345678910111213141516171819202122232425// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../contracts/mixins/collections/CollectionRoyalties.sol";abstract contract $CollectionRoyalties is CollectionRoyalties {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}function $__ERC165_init() external {return super.__ERC165_init();}function $__ERC165_init_unchained() external {return super.__ERC165_init_unchained();}function $_disableInitializers() external {return super._disableInitializers();}receive() external payable {}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../contracts/mixins/collections/SequentialMintCollection.sol";contract $SequentialMintCollection is SequentialMintCollection {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor() {}function $_initializeSequentialMintCollection(address payable _creator,uint32 _maxTokenId) external {return super._initializeSequentialMintCollection(_creator,_maxTokenId);}function $_selfDestruct() external {return super._selfDestruct();}function $_updateMaxTokenId(uint32 _maxTokenId) external {return super._updateMaxTokenId(_maxTokenId);}function $_burn(uint256 tokenId) external {return super._burn(tokenId);}
12345// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../contracts/mixins/shared/Constants.sol";
12345678910111213// SPDX-License-Identifier: UNLICENSEDpragma solidity >=0.6.0;import "../../../contracts/mixins/shared/ContractFactory.sol";contract $ContractFactory is ContractFactory {bytes32 public __hh_exposed_bytecode_marker = "hardhat-exposed";constructor(address _contractFactory) ContractFactory(_contractFactory) {}receive() external payable {}}
12345678910111213141516171819202122{"optimizer": {"enabled": true,"runs": 1337},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"metadata": {"useLiteralContent": true},"libraries": {}}
[{"inputs":[{"internalType":"address","name":"_contractFactory","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":false,"internalType":"string","name":"baseURI","type":"string"}],"name":"BaseURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxTokenId","type":"uint256"}],"name":"MaxTokenIdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"creator","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"string","name":"indexedTokenCID","type":"string"},{"indexed":false,"internalType":"string","name":"tokenCID","type":"string"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"SelfDestruct","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromPaymentAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toPaymentAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"TokenCreatorPaymentAddressSet","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":"baseURI","outputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getFeeBps","outputs":[{"internalType":"uint256[]","name":"royaltiesInBasisPoints","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getFeeRecipients","outputs":[{"internalType":"address payable[]","name":"recipients","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"}],"name":"getHasMintedCID","outputs":[{"internalType":"bool","name":"hasBeenMinted","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getRoyalties","outputs":[{"internalType":"address payable[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"royaltiesInBasisPoints","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenCreatorPaymentAddress","outputs":[{"internalType":"address payable","name":"creatorPaymentAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_creator","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","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":"latestTokenId","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTokenId","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"}],"name":"mint","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"},{"internalType":"address","name":"operator","type":"address"}],"name":"mintAndApprove","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"},{"internalType":"address payable","name":"tokenCreatorPaymentAddress","type":"address"}],"name":"mintWithCreatorPaymentAddress","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"},{"internalType":"address payable","name":"tokenCreatorPaymentAddress","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"mintWithCreatorPaymentAddressAndApprove","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"},{"internalType":"address","name":"paymentAddressFactory","type":"address"},{"internalType":"bytes","name":"paymentAddressCall","type":"bytes"}],"name":"mintWithCreatorPaymentFactory","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"tokenCID","type":"string"},{"internalType":"address","name":"paymentAddressFactory","type":"address"},{"internalType":"bytes","name":"paymentAddressCall","type":"bytes"},{"internalType":"address","name":"operator","type":"address"}],"name":"mintWithCreatorPaymentFactoryAndApprove","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","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":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","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":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"selfDestruct","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":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"interfaceSupported","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenCreator","outputs":[{"internalType":"address payable","name":"creator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"supply","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":[{"internalType":"string","name":"baseURIOverride","type":"string"}],"name":"updateBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_maxTokenId","type":"uint32"}],"name":"updateMaxTokenId","outputs":[],"stateMutability":"nonpayable","type":"function"}]
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.