Overview
Max Total Supply
999 EMERGENCE
Holders
323
Market
Volume (24H)
0.0275 ETH
Min Price (24H)
$37.50 @ 0.013700 ETH
Max Price (24H)
$37.77 @ 0.013800 ETH
Other Info
Token Contract
Balance
1 EMERGENCELoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Minimal Proxy Contract for 0xc20138a9f737bdd1e0db8edb926bede7fbd5cd94
Contract Name:
ERC721SequentialId
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
123456789101112131415161718192021222324// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;import {ERC721Base} from "./ERC721Base.sol";import {INOStorage} from "../INOStorage.sol";contract ERC721SequentialId isERC721Base // 12 inherited components{function initialize(INOStorage.NFTCollectionData calldata data,address initialOwner,address ino_) public override {super.initialize(data, initialOwner, ino_);emit NFTDeployed(Type.Sequential,initialOwner,data.name,data.symbol);}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;import {ERC2981Upgradeable} from "openzeppelin-contracts-upgradeable/token/common/ERC2981Upgradeable.sol";import {ReentrancyGuardUpgradeable} from "openzeppelin-contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";import {INFT} from "./interfaces/INFT.sol";import {INFTInternal} from "./interfaces/INFTInternal.sol";import {ISaleReadable} from "../../common/readable/ISaleReadable.sol";/// @custom:audit OpenSea base contract (imported in `seadrop` library) - very few changesimport {ERC721ContractMetadataCloneable} from "./imported/ERC721ContractMetadataCloneable.sol";import {INOStorage} from "../INOStorage.sol";// import structimport {Status} from "../../common/SaleStruct.sol";abstract contract ERC721Base isINFT, // 1 inherited componentINFTInternal, // 1 inherited componentERC2981Upgradeable, // 4 inherited componentsERC721ContractMetadataCloneable, // 7 inherited componentsReentrancyGuardUpgradeable // 2 inherited components{uint256 public startTokenId;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;/*** @title INOStorage* @notice Mapps the storage layout of the {INO} contract.* @dev Diamond proxy (ERC-2535) storage style.*/library INOStorage {/*** @notice Struct reprensenting the main setup of the INO.** @param paymentReceiver The address which will receive the funds from the INO.* @param projectWallet The address of the project issuing NFTs - transfer ownership once sale closed.*/struct SetUp {address paymentReceiver;address projectWallet;}/*** @notice Struct reprensenting the data of the NFT collection to be deployed through INO.** @param name The name of the NFTs to be minted during the INO.* @param symbol The symbol of the NFTs to be minted during the INO.* @param uri The base URI of the NFTs to be minted during the INO - only used for reveal on minint,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/common/ERC2981.sol)pragma solidity ^0.8.0;import "../../interfaces/IERC2981Upgradeable.sol";import "../../utils/introspection/ERC165Upgradeable.sol";import "../../proxy/utils/Initializable.sol";/*** @dev Implementation of the NFT Royalty Standard, a standardized way to retrieve royalty payment information.** Royalty information can be specified globally for all token ids via {_setDefaultRoyalty}, and/or individually for* specific token ids via {_setTokenRoyalty}. The latter takes precedence over the first.** Royalty is specified as a fraction of sale price. {_feeDenominator} is overridable but defaults to 10000, meaning the* fee is specified in basis points by default.** IMPORTANT: ERC-2981 only specifies a way to signal royalty information and does not enforce its payment. See* https://eips.ethereum.org/EIPS/eip-2981#optional-royalty-payments[Rationale] in the EIP. Marketplaces are expected to* voluntarily pay royalties together with sales, but note that this standard is not yet widely supported.** _Available since v4.5._*/abstract contract ERC2981Upgradeable is Initializable, IERC2981Upgradeable, ERC165Upgradeable {function __ERC2981_init() internal onlyInitializing {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)pragma solidity ^0.8.0;import "../proxy/utils/Initializable.sol";/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuardUpgradeable is Initializable {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;import {INOStorage} from "../../INOStorage.sol";/*** @title INFT* @notice Define external and public functions used by NFTs listed in INOs.*/interface INFT {/// @dev Removes default royalty information.function deleteDefaultRoyalty() external;/*** @notice Initialize a clones NFT to sell & mint for an INO.* @dev Need to be public as childs override it while calling {super.initialize()}.** @param data The NFT collection data.* @param initialOwner The initial owner of the NFT collection.* @param ino_ The linked INO contract address.*/function initialize(INOStorage.NFTCollectionData calldata data,address initialOwner,address ino_) external;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;import {Status} from "../../../common/SaleStruct.sol";/*** @title INFTInternal* @notice Define enum, struct, event and errors used by NFTs listed in INOs.*/interface INFTInternal {/// @ notice Define the type of NFT according to INO needs.enum Type {Sequential,RandomisedUri,ConfigRoyalty}/// @notice Thrown when someone other than the INO tries to mint.error ERC721Base_InoOnlyApprovedMinter();/// @notice Thrown when trying to mint more than maximum supply.error ERC721Base_MintQuantityExceedsMaxSupply(uint256 total,uint256 maxSupply);/// @notice Thrown when trying to make an action BUT INO is not completed.error ERC721Base_OnlyIfInoCompleted(Status current);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;// import structimport {Status, Phase} from "../SaleStruct.sol";/*** @title ISaleReadable* @notice Interface made for read-only data from {Sale}.*/interface ISaleReadable {/*** @param account Address of the user.* @param phaseId Identifier of the phase.** @return amount Amount of paymentToken paid by phase by each user,* expressed in {SetUp.paymentToken}.*/function freeAllocationMintedBy(address account,string calldata phaseId) external view returns (uint256);/*** @return Total Sum of maximum cap of each phase, expressed in {SetUp.paymentToken}.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.23;import {IERC165} from "openzeppelin-contracts/utils/introspection/IERC165.sol";import {INFTContractMetadata} from "./INFTContractMetadata.sol";import {ERC721ACloneable} from "./ERC721ACloneable.sol";import {Ownable2StepUpgradeable} from "openzeppelin-contracts-upgradeable/access/Ownable2StepUpgradeable.sol";/*** @title ERC721ContractMetadataCloneable* @author James Wenzel (emo.eth)* @author Ryan Ghods (ralxz.eth)* @author Stephan Min (stephanm.eth)* @notice ERC721ContractMetadata is a token contract that extends ERC721A* with additional metadata and ownership capabilities.** @custom:audit Only changes from base contract in `seadrop` library are located in {setBaseURI} and* {_setMaxSupply}.*/abstract contract ERC721ContractMetadataCloneable isERC721ACloneable, // 3 inherited componentsOwnable2StepUpgradeable, // 2 inherited componentsINFTContractMetadata // 1 inherited component
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.23;/*** @notice Shared enum representing the different status of a phase or the whole IGO.** @custom:value NOT_STARTED IGO/Phase created but not started; allocations/buyAndMint are allowed.* @custom:value OPENED IGO/Phase started according to start date; allocations/buyAndMint are allowed.* @custom:value COMPLETED IGO/Phase everything has been sold or time has been elapsed;* allocations/buyAndMint can't be reserved anymore.* @custom:value PAUSED IGO/Phase has been paused by the owner; allocations/buyAndMint can't be* reserved until further notice.*/enum Status {NOT_STARTED,OPENED,COMPLETED,PAUSED}/*** @notice Struct representing an allocation of a wallet for a specific phase of a sale.** @param phaseId Phase identifier of the in the current sale, e.g. "vpr-social-task",* "sale-public-phase-1", "ino-public" etc...* @param maxAllocation Maximum amount to spend in {SaleStorage.SetUp.paymentToken}.
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC2981.sol)pragma solidity ^0.8.0;import "../utils/introspection/IERC165Upgradeable.sol";/*** @dev Interface for the NFT Royalty Standard.** A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal* support for royalty payments across all NFT marketplaces and ecosystem participants.** _Available since v4.5._*/interface IERC2981Upgradeable is IERC165Upgradeable {/*** @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of* exchange. The royalty amount is denominated and should be paid in that same unit of exchange.*/function royaltyInfo(uint256 tokenId,uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount);}
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.9.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]* ```solidity* contract MyToken is ERC20Upgradeable {* function initialize() initializer public {* __ERC20_init("MyToken", "MTK");* }* }
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 IERC165 {/*** @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: MITpragma solidity 0.8.23;/*** @custom:audit Changes from base contract `seadrop/src/interfaces/ISeaDropTokenContractMetadata.sol`:* - deleted {setMaxSupply},* - deleted everything related to royalties.*/interface INFTContractMetadata {/*** @notice Throw if the max supply exceeds uint64, a limit* due to the storage of bit-packed variables in ERC721A.*/error CannotExceedMaxSupplyOfUint64(uint256 newMaxSupply);/*** @dev Revert with an error when attempting to set the provenance* hash after the mint has started.*/error ProvenanceHashCannotBeSetAfterMintStarted();/*** @dev Emit an event for token metadata reveals/updates,* according to EIP-4906.** @param _fromTokenId The start token id.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.23;import {IERC721A} from "ERC721A/IERC721A.sol";import {Initializable} from "openzeppelin-contracts-upgradeable/proxy/utils/Initializable.sol";/*** @dev Interface of ERC721 token receiver.*/interface ERC721A__IERC721Receiver {function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}/*** @custom:audit Added `minterOf` support in `_mint`, compared to OpenSea base contract.** @title ERC721A
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol)pragma solidity ^0.8.0;import "./OwnableUpgradeable.sol";import "../proxy/utils/Initializable.sol";/*** @dev Contract module which provides access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership} and {acceptOwnership}.** This module is used through inheritance. It will make available all functions* from parent (Ownable).*/abstract contract Ownable2StepUpgradeable is Initializable, OwnableUpgradeable {function __Ownable2Step_init() internal onlyInitializing {__Ownable_init_unchained();}function __Ownable2Step_init_unchained() internal onlyInitializing {}
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// OpenZeppelin Contracts (last updated v4.9.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** Furthermore, `isContract` will also return true if the target contract within
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.2// Creator: Chiru Labspragma solidity ^0.8.4;/*** @dev Interface of ERC721A.*/interface IERC721A {/*** The caller must own the token or be an approved operator.*/error ApprovalCallerNotOwnerNorApproved();/*** The token does not exist.*/error ApprovalQueryForNonexistentToken();/*** The caller cannot approve to their own address.*/error ApproveToCaller();/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/ContextUpgradeable.sol";import "../proxy/utils/Initializable.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/**
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{"remappings": ["forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","murky/=lib/murky/","permit2/=lib/permit2/src/","solmate/=lib/solmate/","vesting-schedule/=lib/vesting-schedule/src/","layer0/=lib/layer-zero-examples/contracts/","seadrop/=lib/seadrop/","ERC721A/=lib/ERC721A/contracts/","chainlink/=lib/chainlink-brownie-contracts/contracts/src/v0.8/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2-test/=lib/permit2/test/","@ensdomains/=lib/vesting-schedule/node_modules/@ensdomains/","@prb/test/=lib/vesting-schedule/lib/prb-test/src/","@uniswap/=lib/layer-zero-examples/node_modules/@uniswap/","ERC721A-Upgradeable/=lib/seadrop/lib/ERC721A-Upgradeable/contracts/","chainlink-brownie-contracts/=lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/","create2-helpers/=lib/seadrop/lib/create2-helpers/","create2-scripts/=lib/seadrop/lib/create2-helpers/script/","decubate-vesting-refund/=lib/decubate-vesting-refund/src/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
[{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ApproveToCaller","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[{"internalType":"uint256","name":"newMaxSupply","type":"uint256"}],"name":"CannotExceedMaxSupplyOfUint64","type":"error"},{"inputs":[],"name":"ERC721Base_InoOnlyApprovedMinter","type":"error"},{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"maxSupply","type":"uint256"}],"name":"ERC721Base_MintQuantityExceedsMaxSupply","type":"error"},{"inputs":[{"internalType":"enum Status","name":"current","type":"uint8"}],"name":"ERC721Base_OnlyIfInoCompleted","type":"error"},{"inputs":[{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint256","name":"exceededBy","type":"uint256"}],"name":"ERC721Base_PostmintAndReduceSupply_QuantityExceedsMaxSupply","type":"error"},{"inputs":[{"internalType":"enum Status","name":"current","type":"uint8"}],"name":"ERC721Base_Premint_INOStarted","type":"error"},{"inputs":[{"internalType":"uint256","name":"maxSupply","type":"uint256"}],"name":"ERC721Base_ReduceSupplyTo_NotGreaterEqThan","type":"error"},{"inputs":[{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"ERC721Base_ReduceSupplyTo_NotLowerEqThan","type":"error"},{"inputs":[{"internalType":"enum Status","name":"current","type":"uint8"}],"name":"ERC721Base_SetBaseURI","type":"error"},{"inputs":[{"internalType":"enum Status","name":"current","type":"uint8"}],"name":"ERC721Base_SetProvenanceHash","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OnlyOwner","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"ProvenanceHashCannotBeSetAfterMintStarted","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","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":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"newContractURI","type":"string"}],"name":"ContractURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMaxSupply","type":"uint256"}],"name":"MaxSupplyUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"MintedAllUnsold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"reducedBy","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"MintedSomeUnsoldAndReducedSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"enum INFTInternal.Type","name":"nftType","type":"uint8"},{"indexed":true,"internalType":"address","name":"initialOwner","type":"address"},{"indexed":true,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"}],"name":"NFTDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"startTokenId","type":"uint256"}],"name":"Preminted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"previousHash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"newHash","type":"bytes32"}],"name":"ProvenanceHashUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"bps","type":"uint256"}],"name":"RoyaltyInfoUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oldSupply","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSupply","type":"uint256"}],"name":"SupplyReduced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"bps","type":"uint256"}],"name":"TokenRoyaltyInfoUpdated","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":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","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":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deleteDefaultRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"internalType":"uint256","name":"toTokenId","type":"uint256"}],"name":"emitBatchMetadataUpdate","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":"minter","type":"address"}],"name":"getMintStats","outputs":[{"internalType":"uint256","name":"minterNumMinted","type":"uint256"},{"internalType":"uint256","name":"currentTotalSupply","type":"uint256"},{"internalType":"uint256","name":"maxSupply_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"uint256","name":"maxCap","type":"uint256"},{"internalType":"uint256","name":"startTokenId","type":"uint256"}],"internalType":"struct INOStorage.NFTCollectionData","name":"data","type":"tuple"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"ino_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ino","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":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"minterOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"postmintAllUnsold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"postmintAndReduceSupply","outputs":[{"internalType":"uint256","name":"reducedBy","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"premint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"provenanceHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSupply","type":"uint256"}],"name":"reduceSupplyTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"resetTokenRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","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":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newContractURI","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint96","name":"feeNumerator","type":"uint96"}],"name":"setDefaultRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"newProvenanceHash","type":"bytes32"}],"name":"setProvenanceHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint96","name":"feeNumerator","type":"uint96"}],"name":"setTokenRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]
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.