Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
0 LIFEINJAPAN
Holders
541
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
2 LIFEINJAPANLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Minimal Proxy Contract for 0xee2c03ced8b6755e8d76ab144677f5f350203cab
Contract Name:
NiftyERC721Token
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 1500 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
12345678910111213141516171819202122232425// SPDX-License-Identifier: MITpragma solidity 0.8.9;// ,|||||< ~|||||' `_+7ykKD%RDqmI*~`// 8@@@@@@8' `Q@@@@@` `^oB@@@@@@@@@@@@@@@@@R|`// !@@@@@@@@Q; L@@@@@J '}Q@@@@@@QqonzJfk8@@@@@@@Q,// Q@@@@@@@@@@j `Q@@@@Q` `m@@@@@@h^` `?Q@@@@@*// =@@@@@@@@@@@@D. 7@@@@@i ~Q@@@@@w' ^@@@@@*// Q@@@@@m@@@@@@@Q! `@@@@@Q ;@@@@@@; .txxxx:// |@@@@@u *@@@@@@@@z u@@@@@* `Q@@@@@^// `Q@@@@Q` 'W@@@@@@@R.'@@@@@B 7@@@@@% :DDDDDDDDDDDDDD5// c@@@@@7 `Z@@@@@@@QK@@@@@+ 6@@@@@K aQQQQQQQ@@@@@@@*// `@@@@@Q` ^Q@@@@@@@@@@@W j@@@@@@; ,6@@@@@@#// t@@@@@L ,8@@@@@@@@@@! 'Q@@@@@@u, .=A@@@@@@@@^// .@@@@@Q }@@@@@@@@D 'd@@@@@@@@gUwwU%Q@@@@@@@@@@g// j@@@@@< +@@@@@@@; ;wQ@@@@@@@@@@@@@@@Wf;8@@@;// ~;;;;; .;;;;;~ '!Lx5mEEmyt|!' ;;;~//// Powered By: @niftygateway// Author: @niftynathang// Collaborators: @conviction_1// @stormihoebe// @smatthewenglish// @dccockfoster
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./ERC721.sol";import "../interfaces/IERC721DefaultOwnerCloneable.sol";abstract contract ERC721Omnibus is ERC721, IERC721DefaultOwnerCloneable {struct TokenOwner {bool transferred;address ownerAddress;}struct CollectionStatus {bool isContractFinalized; // 1 byteuint88 amountCreated; // 11 bytesaddress defaultOwner; // 20 bytes}// Only allow Nifty Entity to be initialized oncebool internal initializedDefaultOwner;CollectionStatus internal collectionStatus;// Mapping from token ID to owner addressmapping(uint256 => TokenOwner) internal ownersOptimized;
1234567891011121314151617// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @dev Interface of the ERC2309 standard as defined in the EIP.*/interface IERC2309 {/*** @dev Emitted when consecutive token ids in range ('fromTokenId') to ('toTokenId') are transferred from one account (`fromAddress`) to* another (`toAddress`).** Note that `value` may be zero.*/event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed fromAddress, address indexed toAddress);}
12345678910// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.sol";interface IERC721MetadataGenerator is IERC165 {function contractMetadata() external view returns (string memory);function tokenMetadata(uint256 tokenId, uint256 niftyType, bytes calldata data) external view returns (string memory);}
123456789// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.sol";interface IERC721DefaultOwnerCloneable is IERC165 {function initializeDefaultOwner(address defaultOwner_) external;}
12345678910// SPDX-License-Identifier: MITpragma solidity 0.8.9;struct NiftyType {bool isMinted; // 1 bytesuint72 niftyType; // 9 bytesuint88 idFirst; // 11 bytesuint88 idLast; // 11 bytes}
1234567891011121314151617181920212223// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./NiftyPermissions.sol";abstract contract Ownable is NiftyPermissions {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);function owner() public view virtual returns (address) {return _owner;}function transferOwnership(address newOwner) public virtual {_requireOnlyValidSender();address oldOwner = _owner;_owner = newOwner;emit OwnershipTransferred(oldOwner, newOwner);}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./NiftyPermissions.sol";import "../libraries/ECDSA.sol";import "../structs/SignatureStatus.sol";abstract contract Signable is NiftyPermissions {event ContractSigned(address signer, bytes32 data, bytes signature);SignatureStatus public signatureStatus;bytes public signature;string internal constant ERROR_CONTRACT_ALREADY_SIGNED = "Contract already signed";string internal constant ERROR_CONTRACT_NOT_SALTED = "Contract not salted";string internal constant ERROR_INCORRECT_SECRET_SALT = "Incorrect secret salt";string internal constant ERROR_SALTED_HASH_SET_TO_ZERO = "Salted hash set to zero";string internal constant ERROR_SIGNER_SET_TO_ZERO = "Signer set to zero address";function setSigner(address signer_, bytes32 saltedHash_) external {_requireOnlyValidSender();require(signer_ != address(0), ERROR_SIGNER_SET_TO_ZERO);require(saltedHash_ != bytes32(0), ERROR_SALTED_HASH_SET_TO_ZERO);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./RejectEther.sol";import "./NiftyPermissions.sol";import "../interfaces/IERC20.sol";import "../interfaces/IERC721.sol";abstract contract Withdrawable is RejectEther, NiftyPermissions {/*** @dev Slither identifies an issue with sending ETH to an arbitrary destianation.* https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations* Recommended mitigation is to "Ensure that an arbitrary user cannot withdraw unauthorized funds."* This mitigation has been performed, as only the contract admin can call 'withdrawETH' and they should* verify the recipient should receive the ETH first.*/function withdrawETH(address payable recipient, uint256 amount) external {_requireOnlyValidSender();require(amount > 0, ERROR_ZERO_ETH_TRANSFER);require(recipient != address(0), "Transfer to zero address");uint256 currentBalance = address(this).balance;require(amount <= currentBalance, ERROR_INSUFFICIENT_BALANCE);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./NiftyPermissions.sol";import "../libraries/Clones.sol";import "../interfaces/IERC20.sol";import "../interfaces/IERC721.sol";import "../interfaces/IERC2981.sol";import "../interfaces/ICloneablePaymentSplitter.sol";import "../structs/RoyaltyRecipient.sol";abstract contract Royalties is NiftyPermissions, IERC2981 {event RoyaltyReceiverUpdated(uint256 indexed niftyType, address previousReceiver, address newReceiver);uint256 constant public BIPS_PERCENTAGE_TOTAL = 10000;// Royalty information mapped by nifty typemapping (uint256 => RoyaltyRecipient) internal royaltyRecipients;function supportsInterface(bytes4 interfaceId) public view virtual override(NiftyPermissions, IERC165) returns (bool) {returninterfaceId == type(IERC2981).interfaceId ||super.supportsInterface(interfaceId);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./ERC721Errors.sol";import "../interfaces/IERC721.sol";import "../interfaces/IERC721Receiver.sol";import "../interfaces/IERC721Metadata.sol";import "../interfaces/IERC721Cloneable.sol";import "../libraries/Address.sol";import "../libraries/Context.sol";import "../libraries/Strings.sol";import "../utils/ERC165.sol";import "../utils/GenericErrors.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}.*/abstract contract ERC721 is Context, ERC165, ERC721Errors, GenericErrors, IERC721Metadata, IERC721Cloneable {using Address for address;using Strings for uint256;// Only allow ERC721 to be initialized oncebool internal initializedERC721;
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.9;abstract contract ERC721Errors {string internal constant ERROR_QUERY_FOR_ZERO_ADDRESS = "Query for zero address";string internal constant ERROR_QUERY_FOR_NONEXISTENT_TOKEN = "Token does not exist";string internal constant ERROR_APPROVAL_TO_CURRENT_OWNER = "Current owner approval";string internal constant ERROR_APPROVE_TO_CALLER = "Approve to caller";string internal constant ERROR_NOT_OWNER_NOR_APPROVED = "Not owner nor approved";string internal constant ERROR_NOT_AN_ERC721_RECEIVER = "Not an ERC721Receiver";string internal constant ERROR_TRANSFER_FROM_INCORRECT_OWNER = "Transfer from incorrect owner";string internal constant ERROR_TRANSFER_TO_ZERO_ADDRESS = "Transfer to zero address";string internal constant ERROR_ALREADY_MINTED = "Token already minted";string internal constant ERROR_NO_TOKENS_MINTED = "No tokens minted";}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.sol";/*** @dev Required interface of an ERC721 compliant contract.*/interface IERC721 is IERC165 {/*** @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: MITpragma solidity 0.8.9;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721Receiver {/*** @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 `IERC721.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC721.sol";/*** @title ERC-721 Non-Fungible Token Standard, optional metadata extension* @dev See https://eips.ethereum.org/EIPS/eip-721*/interface IERC721Metadata is IERC721 {/*** @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);}
123456789// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC721.sol";interface IERC721Cloneable is IERC721 {function initializeERC721(string calldata name_, string calldata symbol_, string calldata baseURI_) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @dev Collection of functions related to the address type*/library Address {/*** @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* ====** [IMPORTANT]
1234567891011121314151617181920212223// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @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 Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @dev String operations.*/library Strings {bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";/*** @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++;temp /= 10;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "../interfaces/IERC165.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 ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {return interfaceId == type(IERC165).interfaceId;
12345678910111213141516171819// SPDX-License-Identifier: MITpragma solidity 0.8.9;abstract contract GenericErrors {string internal constant ERROR_INPUT_ARRAY_EMPTY = "Input array empty";string internal constant ERROR_INPUT_ARRAY_SIZE_MISMATCH = "Input array size mismatch";string internal constant ERROR_INVALID_MSG_SENDER = "Invalid msg.sender";string internal constant ERROR_UNEXPECTED_DATA_SIGNER = "Unexpected data signer";string internal constant ERROR_INSUFFICIENT_BALANCE = "Insufficient balance";string internal constant ERROR_WITHDRAW_UNSUCCESSFUL = "Withdraw unsuccessful";string internal constant ERROR_CONTRACT_IS_FINALIZED = "Contract is finalized";string internal constant ERROR_CANNOT_CHANGE_DEFAULT_OWNER = "Cannot change default owner";string internal constant ERROR_UNCLONEABLE_REFERENCE_CONTRACT = "Uncloneable reference contract";string internal constant ERROR_BIPS_OVER_100_PERCENT = "Bips over 100%";string internal constant ERROR_NO_ROYALTY_RECEIVER = "No royalty receiver";string internal constant ERROR_REINITIALIZATION_NOT_PERMITTED = "Re-initialization not permitted";string internal constant ERROR_ZERO_ETH_TRANSFER = "Zero ETH Transfer";}
123456789101112131415161718192021222324// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @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.9;import "./ERC165.sol";import "./GenericErrors.sol";import "../interfaces/INiftyEntityCloneable.sol";import "../interfaces/INiftyRegistry.sol";import "../libraries/Context.sol";abstract contract NiftyPermissions is Context, ERC165, GenericErrors, INiftyEntityCloneable {event AdminTransferred(address indexed previousAdmin, address indexed newAdmin);// Only allow Nifty Entity to be initialized oncebool internal initializedNiftyEntity;// If address(0), use enable Nifty Gateway permissions - otherwise, specifies the address with permissionsaddress public admin;// To prevent a mistake, transferring admin rights will be a two step process// First, the current admin nominates a new admin// Second, the nominee accepts adminaddress public nominatedAdmin;// Nifty Registry Contract
123456789// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.sol";interface INiftyEntityCloneable is IERC165 {function initializeNiftyEntity(address niftyRegistryContract_) external;}
1234567// SPDX-License-Identifier: MITpragma solidity 0.8.9;interface INiftyRegistry {function isValidNiftySender(address sendingKey) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/cryptography/ECDSA.sol)pragma solidity 0.8.9;import "./Strings.sol";/*** @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.** These functions can be used to verify that a message was signed by the holder* of the private keys of a given address.*/library ECDSA {enum RecoverError {NoError,InvalidSignature,InvalidSignatureLength,InvalidSignatureS,InvalidSignatureV}function _throwError(RecoverError error) private pure {if (error == RecoverError.NoError) {return; // no error: do nothing} else if (error == RecoverError.InvalidSignature) {
12345678910// SPDX-License-Identifier: MITpragma solidity 0.8.9;struct SignatureStatus {bool isSalted;bool isVerified;address signer;bytes32 saltedHash;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @title A base contract that may be inherited in order to protect a contract from having its fallback function* invoked and to block the receipt of ETH by a contract.* @author Nathan Gang* @notice This contract bestows on inheritors the ability to block ETH transfers into the contract* @dev ETH may still be forced into the contract - it is impossible to block certain attacks, but this protects from accidental ETH deposits*/// For more info, see: "https://medium.com/@alexsherbuck/two-ways-to-force-ether-into-a-contract-1543c1311c56"abstract contract RejectEther {/*** @dev For most contracts, it is safest to explicitly restrict the use of the fallback function* This would generally be invoked if sending ETH to this contract with a 'data' value provided*/fallback() external payable {revert("Fallback function not permitted");}/*** @dev This is the standard path where ETH would land if sending ETH to this contract without a 'data' value* In our case, we don't want our contract to receive ETH, so we restrict it here*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);/*** @dev Returns the amount of tokens owned by `account`.*/function balanceOf(address account) external view returns (uint256);/*** @dev Moves `amount` tokens from the caller's account to `recipient`.** Returns a boolean value indicating whether the operation succeeded.** Emits a {Transfer} event.*/function transfer(address recipient, uint256 amount) external returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;/*** @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for* deploying minimal proxy contracts, also known as "clones".** > To simply and cheaply clone contract functionality in an immutable way, this standard specifies* > a minimal bytecode implementation that delegates all calls to a known, fixed address.** The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`* (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the* deterministic method.**/library Clones {/*** @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.** This function uses the create opcode, which should never revert.*/function clone(address implementation) internal returns (address instance) {assembly {let ptr := mload(0x40)mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
1234567891011121314151617181920212223// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.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.**/interface IERC2981 is IERC165 {/*** @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 payed in that same unit of exchange.*/function royaltyInfo(uint256 tokenId, uint256 salePrice)externalviewreturns (address receiver, uint256 royaltyAmount);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "./IERC165.sol";import "../libraries/SafeERC20.sol";interface ICloneablePaymentSplitter is IERC165 {event PayeeAdded(address account, uint256 shares);event PaymentReleased(address to, uint256 amount);event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount);event PaymentReceived(address from, uint256 amount);function initialize(address[] calldata payees, uint256[] calldata shares_) external;function totalShares() external view returns (uint256);function totalReleased() external view returns (uint256);function totalReleased(IERC20 token) external view returns (uint256);function shares(address account) external view returns (uint256);function released(address account) external view returns (uint256);function released(IERC20 token, address account) external view returns (uint256);function payee(uint256 index) external view returns (address);function release(address payable account) external;function release(IERC20 token, address account) external;function pendingPayment(address account) external view returns (uint256);function pendingPayment(IERC20 token, address account) external view returns (uint256);
123456789// SPDX-License-Identifier: MITpragma solidity 0.8.9;struct RoyaltyRecipient {bool isPaymentSplitter; // 1 byteuint16 bips; // 2 bytesaddress recipient; // 20 bytes}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.9;import "../interfaces/IERC20.sol";import "./Address.sol";/*** @title SafeERC20* @dev Wrappers around ERC20 operations that throw on failure (when the token* contract returns false). Tokens that return no value (and instead revert or* throw on failure) are also supported, non-reverting calls are assumed to be* successful.* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.*/library SafeERC20 {using Address for address;function safeTransfer(IERC20 token,address to,uint256 value) internal {_callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));}
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 1500},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminTransferred","type":"event"},{"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":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"bytes32","name":"data","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"}],"name":"ContractSigned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"niftyType","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"idFirst","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"idLast","type":"uint256"}],"name":"NiftyTypeCreated","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":"uint256","name":"niftyType","type":"uint256"},{"indexed":false,"internalType":"address","name":"previousReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"newReceiver","type":"address"}],"name":"RoyaltyReceiverUpdated","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BIPS_PERCENTAGE_TOTAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeContract","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":"getCollectionStatus","outputs":[{"components":[{"internalType":"bool","name":"isContractFinalized","type":"bool"},{"internalType":"uint88","name":"amountCreated","type":"uint88"},{"internalType":"address","name":"defaultOwner","type":"address"}],"internalType":"struct ERC721Omnibus.CollectionStatus","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getNiftyType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"}],"name":"getNiftyTypeDetails","outputs":[{"components":[{"internalType":"bool","name":"isMinted","type":"bool"},{"internalType":"uint72","name":"niftyType","type":"uint72"},{"internalType":"uint88","name":"idFirst","type":"uint88"},{"internalType":"uint88","name":"idLast","type":"uint88"}],"internalType":"struct NiftyType","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNiftyTypes","outputs":[{"components":[{"internalType":"bool","name":"isMinted","type":"bool"},{"internalType":"uint72","name":"niftyType","type":"uint72"},{"internalType":"uint88","name":"idFirst","type":"uint88"},{"internalType":"uint88","name":"idLast","type":"uint88"}],"internalType":"struct NiftyType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"}],"name":"getPaymentSplitterByNiftyType","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getPaymentSplitterByTokenId","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"}],"name":"getRoyaltySettings","outputs":[{"components":[{"internalType":"bool","name":"isPaymentSplitter","type":"bool"},{"internalType":"uint16","name":"bips","type":"uint16"},{"internalType":"address","name":"recipient","type":"address"}],"internalType":"struct RoyaltyRecipient","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"defaultOwner_","type":"address"}],"name":"initializeDefaultOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"baseURI_","type":"string"}],"name":"initializeERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"niftyRegistryContract_","type":"address"}],"name":"initializeNiftyEntity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"},{"internalType":"address","name":"splitterImplementation","type":"address"},{"internalType":"address[]","name":"payees","type":"address[]"},{"internalType":"uint256[]","name":"shares","type":"uint256[]"}],"name":"initializeRoyalties","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"string[]","name":"ipfsHashes","type":"string[]"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nominee","type":"address"}],"name":"nominateAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceAdmin","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":"uri","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"},{"internalType":"string","name":"ipfsHash","type":"string"}],"name":"setIPFSHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"metadataGenerator_","type":"address"}],"name":"setMetadataGenerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"},{"internalType":"uint256","name":"bips","type":"uint256"}],"name":"setRoyaltyBips","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"signer_","type":"address"},{"internalType":"bytes32","name":"saltedHash_","type":"bytes32"}],"name":"setSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"sign","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signature","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"signatureStatus","outputs":[{"internalType":"bool","name":"isSalted","type":"bool"},{"internalType":"bool","name":"isVerified","type":"bool"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"saltedHash","type":"bytes32"}],"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":"tokenIPFSHash","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":[{"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"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"withdrawERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
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.