ERC-721
Overview
Max Total Supply
0 N2MOwners
Holders
362
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Balance
1 N2MOwnersLoading...
Loading
Loading...
Loading
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
N2MFactory
Compiler Version
v0.8.27+commit.40a35a09
Optimization Enabled:
Yes with 151 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526// SPDX-License-Identifier: CC0-1.0pragma solidity ^0.8.27;interface IERC4907 {/// Logged when the user of a token assigns a new user or updates expires/// @notice Emitted when the `user` of an NFT or the `expires` of the `user` is changed/// The zero address for user indicates that there is no user addressevent UpdateUser(uint256 indexed tokenId, address indexed user, uint64 expires);/// @notice set the user and expires of a NFT/// @dev The zero address indicates there is no user/// Throws if `tokenId` is not valid NFT/// @param user The new user of the NFT/// @param expires UNIX timestamp, The new user could use the NFT before expiresfunction setUser(uint256 tokenId, address user, uint64 expires) external ;/// @notice Get the user address of an NFT/// @dev The zero address indicates that there is no user or the user is expired/// @param tokenId The NFT to get the user address for/// @return The user address for this NFTfunction userOf(uint256 tokenId) external view returns(address);/// @notice Get the user expires of an NFT/// @dev The zero value indicates that there is no user/// @param tokenId The NFT to get the user expires for
123456789101112131415161718192021// SPDX-License-Identifier: CC0-1.0pragma solidity ^0.8.27;interface IERC5192 {/// @notice Emitted when the locking status is changed to locked./// @dev If a token is minted and the status is locked, this event should be emitted./// @param tokenId The identifier for a token.event Locked(uint256 tokenId);/// @notice Emitted when the locking status is changed to unlocked./// @dev If a token is minted and the status is unlocked, this event should be emitted./// @param tokenId The identifier for a token.event Unlocked(uint256 tokenId);/// @notice Returns the locking status of an Soulbound Token/// @dev SBTs assigned to zero address are considered invalid, and queries/// about them do throw./// @param tokenId The identifier for an SBT.function locked(uint256 tokenId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: CC0-1.0pragma solidity ^0.8.27;interface IERC7496 {/// Eventsevent TraitUpdated(bytes32 indexed traitKey, uint256 tokenId, bytes32 traitValue);event TraitUpdatedRange(bytes32 indexed traitKey, uint256 fromTokenId, uint256 toTokenId);event TraitUpdatedRangeUniformValue(bytes32 indexed traitKey, uint256 fromTokenId, uint256 toTokenId, bytes32 traitValue);event TraitUpdatedList(bytes32 indexed traitKey, uint256[] tokenIds);event TraitUpdatedListUniformValue(bytes32 indexed traitKey, uint256[] tokenIds, bytes32 traitValue);event TraitMetadataURIUpdated();/// Gettersfunction getTraitValue(uint256 tokenId, bytes32 traitKey) external view returns (bytes32 traitValue);function getTraitValues(uint256 tokenId, bytes32[] calldata traitKeys)externalviewreturns (bytes32[] memory traitValues);function getTraitMetadataURI() external view returns (string memory uri);/// Settersfunction setTrait(uint256 tokenId, bytes32 traitKey, bytes32 traitValue) external;/// Errors
12345678// SPDX-License-Identifier: CC0-1.0pragma solidity ^0.8.27;interface IERC7572 {function contractURI() external view returns (string memory);event ContractURIUpdated();}
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526/** ---------------------------------------------------------------------------- //* //* Smart contract generated by https://nfts2me.com //* //* .::. //* ...... //* .... ::. //* .:.. :: ... //* ..:. :: ... //* ::. ..:-- ::. ... //* .: ..:::::-==: :::::.. : //* .: :::::::-====: :::::::: : //* .: :::::::-======. :::::::: : //* .: :::::::-=======-:::::::: : //* .: :::::::-========-::::::: : //* .: ::::::::========-::::::: : //* .: :::::::. .======-::::::: : //* .: :::::::. :====-::::::: : //* .: .:::::. -==-:::::. : //* .:. .:. .--:.. ... //* .:. :. ... //* .... :. .... //* .:. .:. //* .::::. //* :--. //* //
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol)pragma solidity ^0.8.20;/*** @dev Standard ERC-20 Errors* Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.*/interface IERC20Errors {/*** @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.* @param sender Address whose tokens are being transferred.* @param balance Current balance for the interacting account.* @param needed Minimum amount required to perform a transfer.*/error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);/*** @dev Indicates a failure with the token `sender`. Used in transfers.* @param sender Address whose tokens are being transferred.*/error ERC20InvalidSender(address sender);/*** @dev Indicates a failure with the token `receiver`. Used in transfers.* @param receiver Address to which tokens are being transferred.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC2981.sol)pragma solidity ^0.8.20;import {IERC165} from "../utils/introspection/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 paid in that same unit of exchange.** NOTE: ERC-2981 allows setting the royalty to 100% of the price. In that case all the price would be sent to the* royalty receiver and 0 tokens to the seller. Contracts dealing with royalty should consider empty transfers.*/function royaltyInfo(uint256 tokenId,uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount);}
123456// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721.sol)pragma solidity ^0.8.20;import {IERC721} from "../token/ERC721/IERC721.sol";
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.20;/*** @dev Interface of the ERC-20 standard as defined in the ERC.*/interface IERC20 {/*** @dev Emitted when `value` tokens are moved from one account (`from`) to* another (`to`).** Note that `value` may be zero.*/event Transfer(address indexed from, address indexed to, uint256 value);/*** @dev Emitted when the allowance of a `spender` for an `owner` is set by* a call to {approve}. `value` is the new allowance.*/event Approval(address indexed owner, address indexed spender, uint256 value);/*** @dev Returns the value of tokens in existence.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/ERC721.sol)pragma solidity ^0.8.20;import {IERC721} from "./IERC721.sol";import {IERC721Metadata} from "./extensions/IERC721Metadata.sol";import {ERC721Utils} from "./utils/ERC721Utils.sol";import {Context} from "../../utils/Context.sol";import {Strings} from "../../utils/Strings.sol";import {IERC165, ERC165} from "../../utils/introspection/ERC165.sol";import {IERC721Errors} from "../../interfaces/draft-IERC6093.sol";/*** @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC-721] 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, IERC721, IERC721Metadata, IERC721Errors {using Strings for uint256;// Token namestring private _name;// Token symbolstring private _symbol;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Metadata.sol)pragma solidity ^0.8.20;import {IERC721} from "../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);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721.sol)pragma solidity ^0.8.20;import {IERC165} from "../../utils/introspection/IERC165.sol";/*** @dev Required interface of an ERC-721 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: MIT// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721Receiver.sol)pragma solidity ^0.8.20;/*** @title ERC-721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC-721 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 `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/utils/ERC721Utils.sol)pragma solidity ^0.8.20;import {IERC721Receiver} from "../IERC721Receiver.sol";import {IERC721Errors} from "../../../interfaces/draft-IERC6093.sol";/*** @dev Library that provide common ERC-721 utility functions.** See https://eips.ethereum.org/EIPS/eip-721[ERC-721].** _Available since v5.1._*/library ERC721Utils {/*** @dev Performs an acceptance check for the provided `operator` by calling {IERC721-onERC721Received}* on the `to` address. The `operator` is generally the address that initiated the token transfer (i.e. `msg.sender`).** The acceptance call is not executed and treated as a no-op if the target address doesn't contain code (i.e. an EOA).* Otherwise, the recipient must implement {IERC721Receiver-onERC721Received} and return the acceptance magic value to accept* the transfer.*/function checkOnERC721Received(address operator,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)pragma solidity ^0.8.20;/*** @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;}function _contextSuffixLength() internal view virtual returns (uint256) {return 0;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/ERC165.sol)pragma solidity ^0.8.20;import {IERC165} from "./IERC165.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC-165 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);* }* ```*/abstract contract ERC165 is IERC165 {/*** @dev See {IERC165-supportsInterface}.*/function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {return interfaceId == type(IERC165).interfaceId;}
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol)pragma solidity ^0.8.20;/*** @dev Interface of the ERC-165 standard, as defined in the* https://eips.ethereum.org/EIPS/eip-165[ERC].** 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[ERC 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 v5.1.0) (utils/math/Math.sol)pragma solidity ^0.8.20;import {Panic} from "../Panic.sol";import {SafeCast} from "./SafeCast.sol";/*** @dev Standard math utilities missing in the Solidity language.*/library Math {enum Rounding {Floor, // Toward negative infinityCeil, // Toward positive infinityTrunc, // Toward zeroExpand // Away from zero}/*** @dev Returns the addition of two unsigned integers, with an success flag (no overflow).*/function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {unchecked {uint256 c = a + b;if (c < a) return (false, 0);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SafeCast.sol)// This file was procedurally generated from scripts/generate/templates/SafeCast.js.pragma solidity ^0.8.20;/*** @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow* checks.** Downcasting from uint256/int256 in Solidity does not revert on overflow. This can* easily result in undesired exploitation or bugs, since developers usually* assume that overflows raise errors. `SafeCast` restores this intuition by* reverting the transaction when such an operation overflows.** Using this library instead of the unchecked operations eliminates an entire* class of bugs, so it's recommended to use it always.*/library SafeCast {/*** @dev Value doesn't fit in an uint of `bits` size.*/error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);/*** @dev An int value doesn't fit in an uint of `bits` size.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SignedMath.sol)pragma solidity ^0.8.20;import {SafeCast} from "./SafeCast.sol";/*** @dev Standard signed math utilities missing in the Solidity language.*/library SignedMath {/*** @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.** IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.* However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute* one branch when needed, making this function more expensive.*/function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {unchecked {// branchless ternary works because:// b ^ (a ^ b) == a// b ^ 0 == breturn b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/Panic.sol)pragma solidity ^0.8.20;/*** @dev Helper library for emitting standardized panic codes.** ```solidity* contract Example {* using Panic for uint256;** // Use any of the declared internal constants* function foo() { Panic.GENERIC.panic(); }** // Alternatively* function foo() { Panic.panic(Panic.GENERIC); }* }* ```** Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].** _Available since v5.1._*/// slither-disable-next-line unused-statelibrary Panic {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/Strings.sol)pragma solidity ^0.8.20;import {Math} from "./math/Math.sol";import {SignedMath} from "./math/SignedMath.sol";/*** @dev String operations.*/library Strings {bytes16 private constant HEX_DIGITS = "0123456789abcdef";uint8 private constant ADDRESS_LENGTH = 20;/*** @dev The `value` string doesn't fit in the specified `length`.*/error StringsInsufficientHexLength(uint256 value, uint256 length);/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {unchecked {uint256 length = Math.log10(value) + 1;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Simple single owner authorization mixin./// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)////// @dev Note:/// This implementation does NOT auto-initialize the owner to `msg.sender`./// You MUST call the `_initializeOwner` in the constructor / initializer.////// While the ownable portion follows/// [EIP-173](https://eips.ethereum.org/EIPS/eip-173) for compatibility,/// the nomenclature for the 2-step ownership handover may be unique to this codebase.abstract contract Ownable {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The caller is not authorized to call the function.error Unauthorized();/// @dev The `newOwner` cannot be the zero address.error NewOwnerIsZeroAddress();/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* EVENTS */
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Deterministic deployments agnostic to the initialization code./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/CREATE3.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/CREATE3.sol)/// @author Modified from 0xSequence (https://github.com/0xSequence/create3/blob/master/contracts/Create3.sol)library CREATE3 {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev Unable to deploy the contract.error DeploymentFailed();/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* BYTECODE CONSTANTS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//*** -------------------------------------------------------------------+* Opcode | Mnemonic | Stack | Memory |* -------------------------------------------------------------------|* 36 | CALLDATASIZE | cds | |* 3d | RETURNDATASIZE | 0 cds | |* 3d | RETURNDATASIZE | 0 0 cds | |
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Gas optimized ECDSA wrapper./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/ECDSA.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/ECDSA.sol)/// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol)////// @dev Note:/// - The recovery functions use the ecrecover precompile (0x1)./// - As of Solady version 0.0.68, the `recover` variants will revert upon recovery failure./// This is for more safety by default./// Use the `tryRecover` variants if you need to get the zero address back/// upon recovery failure instead./// - As of Solady version 0.0.134, all `bytes signature` variants accept both/// regular 65-byte `(r, s, v)` and EIP-2098 `(r, vs)` short form signatures./// See: https://eips.ethereum.org/EIPS/eip-2098/// This is for calldata efficiency on smart accounts prevalent on L2s.////// WARNING! Do NOT directly use signatures as unique identifiers:/// - The recovery operations do NOT check if a signature is non-malleable./// - Use a nonce in the digest to prevent replay attacks on the same contract./// - Use EIP-712 for the digest to prevent replay attacks across different chains and contracts./// EIP-712 also enables readable signing of typed data for better user safety./// - If you need a unique hash from a signature, please use the `canonicalHash` functions.library ECDSA {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Library for byte related operations./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibBytes.sol)library LibBytes {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* STRUCTS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev Goated bytes storage struct that totally MOGs, no cap, fr./// Uses less gas and bytecode than Solidity's native bytes storage. It's meta af./// Packs length with the first 31 bytes if <255 bytes, so it’s mad tight.struct BytesStorage {bytes32 _spacer;}/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CONSTANTS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The constant returned when the `search` is not found in the bytes.uint256 internal constant NOT_FOUND = type(uint256).max;/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* BYTE STORAGE OPERATIONS */
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Minimal proxy library./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibClone.sol)/// @author Minimal proxy by 0age (https://github.com/0age)/// @author Clones with immutable args by wighawag, zefram.eth, Saw-mon & Natalie/// (https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args)/// @author Minimal ERC1967 proxy by jtriley-eth (https://github.com/jtriley-eth/minimum-viable-proxy)////// @dev Minimal proxy:/// Although the sw0nt pattern saves 5 gas over the ERC1167 pattern during runtime,/// it is not supported out-of-the-box on Etherscan. Hence, we choose to use the 0age pattern,/// which saves 4 gas over the ERC1167 pattern during runtime, and has the smallest bytecode./// - Automatically verified on Etherscan.////// @dev Minimal proxy (PUSH0 variant):/// This is a new minimal proxy that uses the PUSH0 opcode introduced during Shanghai./// It is optimized first for minimal runtime gas, then for minimal bytecode./// The PUSH0 clone functions are intentionally postfixed with a jarring "_PUSH0" as/// many EVM chains may not support the PUSH0 opcode in the early months after Shanghai./// Please use with caution./// - Automatically verified on Etherscan.////// @dev Clones with immutable args (CWIA):/// The implementation of CWIA here is does NOT append the immutable args into the calldata
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;import {LibBytes} from "./LibBytes.sol";/// @notice Library for converting numbers into strings and other string operations./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol)////// @dev Note:/// For performance and bytecode compactness, most of the string operations are restricted to/// byte strings (7-bit ASCII), except where otherwise specified./// Usage of byte string operations on charsets with runes spanning two or more bytes/// can lead to undefined behavior.library LibString {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* STRUCTS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev Goated string storage struct that totally MOGs, no cap, fr./// Uses less gas and bytecode than Solidity's native string storage. It's meta af./// Packs length with the first 31 bytes if <255 bytes, so it’s mad tight.struct StringStorage {bytes32 _spacer;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.4;/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values./// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/SafeTransferLib.sol)/// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)/// @author Permit2 operations from (https://github.com/Uniswap/permit2/blob/main/src/libraries/Permit2Lib.sol)////// @dev Note:/// - For ETH transfers, please use `forceSafeTransferETH` for DoS protection.library SafeTransferLib {/*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*//* CUSTOM ERRORS *//*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*//// @dev The ETH transfer has failed.error ETHTransferFailed();/// @dev The ERC20 `transferFrom` has failed.error TransferFromFailed();/// @dev The ERC20 `transfer` has failed.error TransferFailed();/// @dev The ERC20 `approve` has failed.error ApproveFailed();
123456789101112131415161718192021{"evmVersion": "cancun","optimizer": {"enabled": true,"runs": 151},"viaIR": true,"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"delegatedCreationSigner","type":"address"},{"internalType":"bytes32","name":"type1","type":"bytes32"},{"internalType":"bytes32","name":"type2","type":"bytes32"},{"internalType":"address","name":"type1Address","type":"address"},{"internalType":"address","name":"type2Address","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"BalanceInvariant","type":"error"},{"inputs":[],"name":"CreatorTokenBase__InvalidTransferValidatorContract","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"},{"inputs":[],"name":"FactoryBalanceDecreased","type":"error"},{"inputs":[],"name":"FailedToDeploy","type":"error"},{"inputs":[],"name":"InvalidLengths","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"NewOwnerIsZeroAddress","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValidator","type":"address"},{"indexed":false,"internalType":"address","name":"newValidator","type":"address"}],"name":"TransferValidatorUpdated","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":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes","name":"initCode","type":"bytes"}],"name":"create3","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"collectionInformation","type":"bytes"},{"internalType":"bytes32","name":"collectionId","type":"bytes32"},{"internalType":"bytes32","name":"implementationType","type":"bytes32"}],"name":"createCollection","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"collectionInformation","type":"bytes"},{"internalType":"bytes32","name":"collectionId","type":"bytes32"},{"internalType":"bytes32","name":"implementationType","type":"bytes32"}],"name":"createCollectionN2M_000oEFvt","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"collectionInformation","type":"bytes"},{"internalType":"bytes32","name":"collectionId","type":"bytes32"},{"internalType":"bytes32","name":"implementationType","type":"bytes32"}],"name":"createCrossCollection","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"dynamicAddress","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes","name":"initData","type":"bytes"}],"name":"createNewDynamic","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"collectionInformation","type":"bytes"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bytes32","name":"collectionId","type":"bytes32"},{"internalType":"bytes32","name":"implementationType","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"delegatedCreation","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"CIDHash","type":"bytes32"}],"name":"getIPFSURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"implementationType","type":"bytes32"}],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTransferValidationFunction","outputs":[{"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"internalType":"bool","name":"isViewFunction","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTransferValidator","outputs":[{"internalType":"address","name":"validator","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":"isApproved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"collectionAndSelfcalls","type":"uint256"},{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"collectionsAndCalls","type":"uint256[]"},{"internalType":"uint256[]","name":"collectionsValues","type":"uint256[]"},{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicallMulticollection","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"collectionAndSelfcalls","type":"uint256"},{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicallN2M_001Taw5z","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"n2mVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"implementationTypesAndAddresses","type":"bytes32[]"},{"internalType":"address","name":"delegatedCreationSigner_","type":"address"},{"internalType":"string","name":"ownerTokenURI","type":"string"}],"name":"newContractImplementationsAndSigner","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"result","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":"bytes32","name":"implementationType","type":"bytes32"},{"internalType":"bytes32","name":"collectionId","type":"bytes32"}],"name":"predictDeterministicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"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":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"transferValidator","type":"address"},{"internalType":"bytes[]","name":"customSecurityPolicies","type":"bytes[]"}],"name":"setTransferValidatorAndSecurityPolicy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"transferCollectionOwnership","outputs":[],"stateMutability":"payable","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":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"erc20","type":"address"}],"name":"withdrawTo","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405261278a60c081380391826100178161041d565b9384928339810103126104195761002d81610442565b9061003a60208201610442565b90604081015160608201519261005e60a061005760808601610442565b9401610442565b94610069602061041d565b5f8152610076602061041d565b5f8152815190916001600160401b03821161034a5781906100975f54610456565b601f81116103cc575b50602090601f8311600114610369575f9261035e575b50508160011b915f199060031b1c1916175f555b8051906001600160401b03821161034a5781906100e8600154610456565b601f81116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176001555b610127600954610456565b601f8111610237575b50605f60099081555f9081527f68747470733a2f2f6d657461646174612e6e667473326d652e636f6d2f6170695f51602061276a5f395f51905f52556e2f6f776e6572546f6b656e5552492f60881b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7b0556001600160a01b0391909116638b78c6d819819055907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600780546001600160a01b03199081166001600160a01b03938416179091555f9283526006602052604080842080548316958416959095179094559382529082902080549093169316929092179055516122c590816104a58239f35b60095f5261027a90601f0160051c5f51602061276a5f395f51905f52017f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7b161048e565b5f610130565b015190505f80610107565b60015f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b0160015561011c565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b60015f5261033a907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f850160051c81019160208610610340575b601f0160051c019061048e565b5f6100f1565b909150819061032d565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b6565b5f8080528281209350601f198516905b8181106103b4575090846001959493921061039c575b505050811b015f556100ca565b01515f1960f88460031b161c191690555f808061038f565b92936020600181928786015181550195019301610379565b5f8052610413907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f850160051c8101916020861061034057601f0160051c019061048e565b5f6100a0565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761034a57604052565b51906001600160a01b038216820361041957565b90600182811c92168015610484575b602083101461047057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610465565b818110610499575050565b5f815560010161048e56fe60806040526004361015610011575f80fd5b5f3560e01c80156101dd57806001146101ec57806301ffc9a71461023257806303f30d081461022d57806304dad9351461022857806306fdde0314610223578063081812fc1461021e578063095ea7b314610219578063098144d4146102145780630d705df61461020f57806323b872dd1461020a5780632a55205a146102055780632af252381461020057806338395f19146101fb5780633c2e0828146101f657806342842e0e146101f15780635ae401dc146101ec5780636352211e146101e757806367c0e310146101e25780636a064fce146101dd5780636d07dbf8146101d85780636dce4ab0146101d357806370a08231146101ce5780637ce27a27146101c95780638da5cb5b146101c457806395905e21146101bf57806395d89b41146101ba578063a22cb465146101b5578063b88d4fde146101b0578063c87b56dd146101ab578063c91df5cc146101a6578063cb93c48f146101a1578063d805a4601461019c578063e985e9c5146101975763f2fde38b14610192575f80fd5b611451565b611425565b611325565b611309565b611285565b611190565b611142565b61108a565b611035565b610f46565b610f1a565b610da2565b610d4c565b610c8b565b610bf8565b61029e565b610b7c565b610b4c565b6102ef565b610b23565b610af1565b610a36565b6109f5565b610903565b6108ec565b61088b565b610863565b610789565b61074d565b6106f9565b610674565b61044d565b61041c565b9181601f84011215610264578235916001600160401b038311610264576020838186019501011161026457565b5f80fd5b606060031982011261026457600435906001600160401b0382116102645761029291600401610237565b90916024359060443590565b6102bd6102aa36610268565b926102b89291923384611b2c565b6114fc565b005b9181601f84011215610264578235916001600160401b038311610264576020808501948460051b01011161026457565b6040366003190112610264576004356024356001600160401b0381116102645761031d9036906004016102bf565b5f926001600160a01b0381169060a01c5b8085106103cf57508061033d57005b61036e610362610355835f52600260205260405f2090565b546001600160a01b031690565b6001600160a01b031690565b33036103c157925b81811061037f57005b5f8061038c83858761156b565b9061039c604051809381936114c0565b039082885af16103aa6114cd565b90156103b95750600101610376565b602081519101fd5b6282b42960e81b5f5260045ffd5b935f806103dd83868861156b565b906103ed604051809381936114c0565b0390305af46103fa6114cd565b90156103b957506001019361032e565b6001600160e01b031981160361026457565b3461026457602036600319011261026457602061044360043561043e8161040a565b6115b1565b6040519015158152f35b6060366003190112610264576004356001600160401b038111610264576104789036906004016102bf565b6024356001600160401b038111610264576104979036906004016102bf565b92906044356001600160401b038111610264576104b89036906004016102bf565b92908561060f575b5f925f955f5b8181106104ed575050505050036104de57036104de57005b631df89e8b60e01b5f5260045ffd5b6104f8818387611642565b356001600160a01b0381169060a01c908061056557505f5b8181106105235750506001905b016104c6565b5f806105396105318b611652565b9a8c8a61156b565b90610549604051809381936114c0565b0390305af46105566114cd565b90156103b95750600101610510565b61057d610362610355835f52600260205260405f2090565b33036103c1579088915f5b82811061059b575050505060019061051d565b909192985f908d8d106105f1575b5f916105c1826105ba859491611652565b9d8c61156b565b906105d1604051809381936114c0565b0391865af16105de6114cd565b90156103b9575060010190899291610588565b90508c6105fd8d611652565b9c6106089189611642565b35906105a9565b6106193447611635565b80610625575b506104c0565b5f80808093736db16927dbc38aa39f0ee2cb545e15efd813fb995af1505f61061f565b600435906001600160a01b038216820361026457565b602435906001600160a01b038216820361026457565b602036600319011261026457610688610648565b6001600160a01b039061069c903390611b8f565b16156106a457005b637e27328960e01b5f523360045260245ffd5b5f91031261026457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206106f69281815201906106c1565b90565b34610264575f3660031901126102645761074960405161071a60408261096e565b600e81526d4e465473324d65204f776e65727360901b60208201526040519182916020835260208301906106c1565b0390f35b346102645760203660031901126102645760043561076a81611cb6565b505f526004602052602060018060a01b0360405f205416604051908152f35b34610264576040366003190112610264576107a2610648565b602435906107af82611cb6565b33151580610850575b8061083f575b61082a576102bd9261080b9181906001600160a01b0385811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f52600460205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b63a9fbf51f60e01b5f90815233600452602490fd5b5061084a3382611a8a565b156107be565b506001600160a01b0381163314156107b8565b34610264575f366003190112610264576008546040516001600160a01b039091168152602090f35b34610264575f366003190112610264576040805163657711f560e11b815260016020820152f35b6060906003190112610264576004356001600160a01b038116810361026457906024356001600160a01b0381168103610264579060443590565b34610264576102bd6108fd366108b2565b91611660565b34610264576040366003190112610264576024356101f48102908082046101f414901517156109555760408051736db16927dbc38aa39f0ee2cb545e15efd813fb998152612710909204602083015290f35b611621565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761098f57604052565b61095a565b6001600160401b03811161098f57601f01601f191660200190565b81601f82011215610264578035906109c682610994565b926109d4604051948561096e565b8284526020838301011161026457815f926020809301838601378301015290565b6040366003190112610264576024356004356001600160401b03821161026457610a266102bd9236906004016109af565b610a303383611b2c565b34611d43565b610ab05f80610a4436610268565b610a52969293963383611b2c565b8452600660205260408085205481516c5af43d3d93803e602a57fd5bf360581b818401526001600160a01b03909116602882015273602c3d8160093d39f33d3d3d3d363d3d37363d7360148201526035815260608101909152611cea565b93610ac0604051809381936114c0565b039082855af190610acf6114cd565b9115610ae8576102bd906001600160a01b031633611b52565b50602081519101fd5b34610264576020366003190112610264576004355f526006602052602060018060a01b0360405f205416604051908152f35b34610264576102bd610b34366108b2565b9060405192610b4460208561096e565b5f8452611845565b34610264576020366003190112610264576020610b6a600435611cb6565b6040516001600160a01b039091168152f35b606036600319011261026457610b90610648565b602435906044356001600160401b03811161026457610bb6610bc8913690600401610237565b939092610bc33383611b2c565b6120ae565b82610bcf57005b825f9392849360405192839283378101848152039134905af1610bf06114cd565b90156103b957005b3461026457604036600319011261026457600435602435905f52600660205260018060a01b0360405f2054166c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c205f60215260ff5f5360359081523060601b60015260159190915260555f90812091526040516001600160a01b039091168152602090f35b604036600319011261026457610c9f610648565b610ca761065e565b610caf611d8e565b5f80808047865af1506001600160a01b0381169182610cca57005b610d0f92610cdb6020933090611daa565b60405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909283919082905f9082906044820190565b03925af18015610d4757610d1f57005b6102bd9060203d602011610d40575b610d38818361096e565b8101906117df565b503d610d2e565b6117f4565b34610264576020366003190112610264576001600160a01b03610d6d610648565b168015610d8f575f52600360205260405f205460405190815260208180030190f35b6322718ad960e21b5f525f60045260245ffd5b60a0366003190112610264576004356001600160401b03811161026457610dcd903690600401610237565b610dd561065e565b90604435606435916084356001600160401b03811161026457610dff610e6a913690600401610237565b90610e0a8786611b2c565b610e658886610e388a610e2a8b6040519485938c6020860198468a6117ff565b03601f19810183528261096e565b5190206020527b19457468657265756d205369676e6564204d6573736167653a0a33325f52603c60042090565b611dcf565b600754610e7f906001600160a01b0316610362565b6001600160a01b03909116908114159081610f06575b50610ef757610eb65f9392610bc361035586955f52600660205260405f2090565b94610ec6604051809381936114c0565b039082865af191610ed56114cd565b9215610eef576102bd92506001600160a01b031690611b52565b825160208401fd5b638baa579f60e01b5f5260045ffd5b6001600160a01b038616141590505f610e95565b34610264575f36600319011261026457638b78c6d819546040516001600160a01b039091168152602090f35b6060366003190112610264576004356001600160401b03811161026457610f719036906004016102bf565b610f7961065e565b6044356001600160401b03811161026457610f98903690600401610237565b929093610fa3611d8e565b5f5b828110610ff4575050506001600160a01b038116610fcf575b5080610fc657005b6102bd91611e9f565b600780546001600160a01b0319166001600160a01b039092169190911790555f610fbe565b8061102f6110056001938686611642565b3561080b611014848888611642565b3591858060a01b03169160a01c5f52600660205260405f2090565b01610fa5565b34610264575f3660031901126102645761074960405161105660408261096e565b60098152684e324d4f776e65727360b81b60208201526040519182916020835260208301906106c1565b8015150361026457565b34610264576040366003190112610264576110a3610648565b6024356110af81611080565b6001600160a01b03821691821561112f57335f9081526005602090815260408083206001600160a01b0390941683529290522060ff1981541660ff831515161790557f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c316040518061112a339482919091602081019215159052565b0390a3005b82630b61174360e31b5f5260045260245ffd5b346102645760803660031901126102645761115b610648565b61116361065e565b90604435606435926001600160401b0384116102645761118a6102bd9436906004016109af565b92611845565b34610264576020366003190112610264576004356040516329ffa82360e11b81526020816004816001600160a01b0386165afa908115610d47576020610e2a61123f6107499561123961123f6112399761124c975f91611258575b5061123961123f6111fb46611fc6565b9561123961123f61122b61122561122061036261036261121a88611fc6565b97611cb6565b611fc6565b96611fc6565b986040519e8f9d8e01611987565b90611a0e565b602f60f81b815260010190565b604051918291826106e5565b6112789150873d891161127e575b611270818361096e565b810190611940565b5f6111eb565b503d611266565b3461026457602036600319011261026457604051620b809160e51b602082015260043560248201525f6044820152602581526112c260458261096e565b6112ca611a20565b905f5b603a81106112e15761074961124c84611a53565b806112f66112f16001938561200b565b61206c565b5f1a6113028286611a42565b53016112cd565b34610264575f36600319011261026457602060405161084a8152f35b604036600319011261026457611339610648565b6024356001600160401b038111610264576113589036906004016102bf565b91611361611d8e565b803b1561141657600854604080516001600160a01b038084168252841660208201529192917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9190a16001600160a01b03166001600160a01b031991909116176008555f5b8281106113cf57005b6008545f9081906001600160a01b0316816113eb85888861156b565b9190826040519384928337810182815203925af16114076114cd565b90156103b957506001016113c6565b6332483afb60e01b5f5260045ffd5b34610264576040366003190112610264576020610443611443610648565b61144b61065e565b90611a8a565b602036600319011261026457611465610648565b61146d611d8e565b8060601b156114b35760018060a01b031680638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3638b78c6d81955005b637448fbae5f526004601cfd5b908092918237015f815290565b3d156114f7573d906114de82610994565b916114ec604051938461096e565b82523d5f602084013e565b606090565b929061151e5f9384938452600660205260018060a01b036040852054166120ae565b938160405192839283378101838152039082855af161153b6114cd565b90156103b95750611555906001600160a01b031633611b52565b565b634e487b7160e01b5f52603260045260245ffd5b91908110156115ac5760051b81013590601e19813603018212156102645701908135916001600160401b038311610264576020018236038113610264579190565b611557565b6001600160e01b0319166301ffc9a760e01b811461161b576307f5828d60e41b811461161b576380ac58cd60e01b811461161b57635b5e139f60e01b811461161b5763152a902d60e11b811461161b57632b435fdb60e21b811461161b5763503e914d60e11b1490565b50600190565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161095557565b91908110156115ac5760051b0190565b5f1981146109555760010190565b9091906001600160a01b038316156117cc5761167d3383856120ec565b6001600160a01b03811693846116bd575b50506001600160a01b03168083036116a557505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b6001600160a01b038416803b1561026457604051637699c77f60e01b81526001600160a01b03848116600483015283166024820152905f908290604490829084905af18015610d47576117b8575b506008546001600160a01b03168080611726575b505061168e565b336001600160a01b039091160361173e575b8061171f565b6001600160a01b031691823b156102645760405163657711f560e11b81523360048201526001600160a01b0391821660248201529116604482015260648101849052905f90829060849082905afa8015610d475761179e575b8080611738565b806117ac5f6117b29361096e565b806106b7565b5f611797565b806117ac5f6117c69361096e565b5f61170b565b633250574960e11b5f525f60045260245ffd5b9081602091031261026457516106f681611080565b6040513d5f823e3d90fd5b90928092607897959694637ce27a2760e01b84526004840152602483013701926bffffffffffffffffffffffff199060601b166024840152603883015260588201520190565b909291611853818584611660565b833b611860575b50505050565b6020916118826040519485938493630a85bd0160e11b85523360048601611f95565b03815f6001600160a01b0387165af15f918161190f575b506118d357506118a76114cd565b80519190826118cc57633250574960e11b5f526001600160a01b03821660045260245ffd5b9050602001fd5b6001600160e01b03191663757a42ff60e11b016118f457505f80808061185a565b633250574960e11b5f526001600160a01b031660045260245ffd5b61193291925060203d602011611939575b61192a818361096e565b810190611f80565b905f611899565b503d611920565b90816020910312610264575190565b90600182811c9216801561197d575b602083101461196957565b634e487b7160e01b5f52602260045260245ffd5b91607f169161195e565b6009545f92916119968261194f565b91600181169081156119fc57506001146119ae575050565b60095f90815292935090917f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8382106119e85750500190565b6001816020925484860152019101906119db565b60ff1916825250811515909102019150565b805191908290602001825e015f815290565b60405160609190611a31838261096e565b603a815291601f1901366020840137565b9081518110156115ac570160200190565b90611555611a7c926040519384916734b833399d1797b160c11b60208401526028830190611a0e565b03601f19810184528361096e565b6001600160a01b039081165f9081526005602090815260408083209385168352929052205460ff1691908215611abd5750565b600854919250906001600160a01b03168015159081611b19575b5061161b576001600160a01b0316731e0049783f008a0085193e00003d00cd54003c71811461161b577388899dc0b84c6e726840e00dfb94abc6248825ec1490565b6001600160a01b0383161490505f611ad7565b60601c80156001600160a01b03909216141715611b4557565b630c4549ef5f526004601cfd5b906001600160a01b038216156117cc576001600160a01b0391611b759190611b8f565b16611b7c57565b6339e3563760e11b5f525f60045260245ffd5b9190611b9c5f82856120ec565b926001600160a01b038416611baf575050565b6001600160a01b038216803b1561026457604051637699c77f60e01b81526001600160a01b03868116600483015283166024820152905f908290604490829084905af18015610d4757611ca2575b506008546001600160a01b03168080611c165750505050565b336001600160a01b0390911603611c2e575b8061185a565b6001600160a01b031691823b156102645760405163657711f560e11b81523360048201526001600160a01b0386811660248301529290921660448301526064820152905f90829060849082905afa8015610d4757611c8e575b8080611c28565b806117ac5f611c9c9361096e565b5f611c87565b806117ac5f611cb09361096e565b5f611bfd565b5f818152600260205260409020546001600160a01b0316908115611cd8575090565b637e27328960e01b5f5260045260245ffd5b91906f67363d3d37363d34f03d5260086018f35f526010805ff5918215611d36575f80918460145261d694825260016034536017601e209482602083519301915af1823b0215611d3657565b63301164255f526004601cfd5b92916f67363d3d37363d34f03d5260086018f35f526010805ff58015611d36575f9181839260145261d694835260016034536017601e2095602083519301915af1823b0215611d3657565b638b78c6d819543303611d9d57565b6382b429005f526004601cfd5b602460106020939284936014526370a0823160601b5f525afa601f3d11166020510290565b909291926040519380604014611e2857604114611df857505050505b638baa579f5f526004601cfd5b806040809201355f1a60205281375b5f526020600160805f825afa51915f6060526040523d611555575050611deb565b5060208181013560ff81901c601b0190915290356040526001600160ff1b0316606052611e07565b601f8211611e5d57505050565b5f5260205f20906020601f840160051c83019310611e95575b601f0160051c01905b818110611e8a575050565b5f8155600101611e7f565b9091508190611e76565b91906001600160401b03811161098f57611ec581611ebe60095461194f565b6009611e50565b5f601f8211600114611f03578190611ef393945f92611ef8575b50508160011b915f199060031b1c19161790565b600955565b013590505f80611edf565b60095f52601f198216937f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af915f5b868110611f685750836001959610611f4f575b505050811b01600955565b01355f19600384901b60f8161c191690555f8080611f44565b90926020600181928686013581550194019101611f31565b9081602091031261026457516106f68161040a565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526106f6929101906106c1565b90604051600a608082019360a083016040525f8552935b5f190193603082820601855304928315611ff957600a90611fdd565b809350608091030191601f1901918252565b9060058102908082046005149015171561095557600381901c906001600160f81b03196120388385611a42565b511691600181018091116109555761205460079160ff95611a42565b5160081c60f085901b169290921791161b60fb1c1690565b60ff16601a8110156120935760610160ff81116109555760f81b6001600160f81b03191690565b60180160ff81116109555760f81b6001600160f81b03191690565b6c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c5ff5908115611d36575f602152565b5f828152600260205260409020546001600160a01b03908116939081166121bc575b506001600160a01b03831680612190575b6001600160a01b03821691612146908361216d575b61080b855f52600260205260405f2090565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a490565b6001600160a01b0381165f90815260036020526040902060018154019055612134565b6121998361226d565b6001600160a01b0384165f90815260036020526040902080545f1901905561211f565b6121d76001600160a01b038216801515908161221d57501590565b1561210e57826001600160a01b0385166121fd57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f526001600160a01b0390911660045260245260445ffd5b6001600160a01b03871681149150811561225b575b811561223d57501590565b5f868152600460205260409020546001600160a01b03161415919050565b90506122678387611a8a565b90612232565b61227f905f52600460205260405f2090565b80546001600160a01b031916905556fea2646970667358221220ac0ee8949a500029c7c225c9aefbe7ad5055b53d320630ddc002b165ca08447264736f6c634300081b00336e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af000000000000000000000000c5557771673109cab9d05358e1d280fab522597700000000000000000000000000000000156d54b85de04c897356026a5ff2cbc9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000a248a99f797ec03160a76b184150740000000000000000000000000000000000bfd16d286a2ec182c471fb712f65de
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f3560e01c80156101dd57806001146101ec57806301ffc9a71461023257806303f30d081461022d57806304dad9351461022857806306fdde0314610223578063081812fc1461021e578063095ea7b314610219578063098144d4146102145780630d705df61461020f57806323b872dd1461020a5780632a55205a146102055780632af252381461020057806338395f19146101fb5780633c2e0828146101f657806342842e0e146101f15780635ae401dc146101ec5780636352211e146101e757806367c0e310146101e25780636a064fce146101dd5780636d07dbf8146101d85780636dce4ab0146101d357806370a08231146101ce5780637ce27a27146101c95780638da5cb5b146101c457806395905e21146101bf57806395d89b41146101ba578063a22cb465146101b5578063b88d4fde146101b0578063c87b56dd146101ab578063c91df5cc146101a6578063cb93c48f146101a1578063d805a4601461019c578063e985e9c5146101975763f2fde38b14610192575f80fd5b611451565b611425565b611325565b611309565b611285565b611190565b611142565b61108a565b611035565b610f46565b610f1a565b610da2565b610d4c565b610c8b565b610bf8565b61029e565b610b7c565b610b4c565b6102ef565b610b23565b610af1565b610a36565b6109f5565b610903565b6108ec565b61088b565b610863565b610789565b61074d565b6106f9565b610674565b61044d565b61041c565b9181601f84011215610264578235916001600160401b038311610264576020838186019501011161026457565b5f80fd5b606060031982011261026457600435906001600160401b0382116102645761029291600401610237565b90916024359060443590565b6102bd6102aa36610268565b926102b89291923384611b2c565b6114fc565b005b9181601f84011215610264578235916001600160401b038311610264576020808501948460051b01011161026457565b6040366003190112610264576004356024356001600160401b0381116102645761031d9036906004016102bf565b5f926001600160a01b0381169060a01c5b8085106103cf57508061033d57005b61036e610362610355835f52600260205260405f2090565b546001600160a01b031690565b6001600160a01b031690565b33036103c157925b81811061037f57005b5f8061038c83858761156b565b9061039c604051809381936114c0565b039082885af16103aa6114cd565b90156103b95750600101610376565b602081519101fd5b6282b42960e81b5f5260045ffd5b935f806103dd83868861156b565b906103ed604051809381936114c0565b0390305af46103fa6114cd565b90156103b957506001019361032e565b6001600160e01b031981160361026457565b3461026457602036600319011261026457602061044360043561043e8161040a565b6115b1565b6040519015158152f35b6060366003190112610264576004356001600160401b038111610264576104789036906004016102bf565b6024356001600160401b038111610264576104979036906004016102bf565b92906044356001600160401b038111610264576104b89036906004016102bf565b92908561060f575b5f925f955f5b8181106104ed575050505050036104de57036104de57005b631df89e8b60e01b5f5260045ffd5b6104f8818387611642565b356001600160a01b0381169060a01c908061056557505f5b8181106105235750506001905b016104c6565b5f806105396105318b611652565b9a8c8a61156b565b90610549604051809381936114c0565b0390305af46105566114cd565b90156103b95750600101610510565b61057d610362610355835f52600260205260405f2090565b33036103c1579088915f5b82811061059b575050505060019061051d565b909192985f908d8d106105f1575b5f916105c1826105ba859491611652565b9d8c61156b565b906105d1604051809381936114c0565b0391865af16105de6114cd565b90156103b9575060010190899291610588565b90508c6105fd8d611652565b9c6106089189611642565b35906105a9565b6106193447611635565b80610625575b506104c0565b5f80808093736db16927dbc38aa39f0ee2cb545e15efd813fb995af1505f61061f565b600435906001600160a01b038216820361026457565b602435906001600160a01b038216820361026457565b602036600319011261026457610688610648565b6001600160a01b039061069c903390611b8f565b16156106a457005b637e27328960e01b5f523360045260245ffd5b5f91031261026457565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206106f69281815201906106c1565b90565b34610264575f3660031901126102645761074960405161071a60408261096e565b600e81526d4e465473324d65204f776e65727360901b60208201526040519182916020835260208301906106c1565b0390f35b346102645760203660031901126102645760043561076a81611cb6565b505f526004602052602060018060a01b0360405f205416604051908152f35b34610264576040366003190112610264576107a2610648565b602435906107af82611cb6565b33151580610850575b8061083f575b61082a576102bd9261080b9181906001600160a01b0385811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f52600460205260405f2090565b80546001600160a01b0319166001600160a01b03909216919091179055565b63a9fbf51f60e01b5f90815233600452602490fd5b5061084a3382611a8a565b156107be565b506001600160a01b0381163314156107b8565b34610264575f366003190112610264576008546040516001600160a01b039091168152602090f35b34610264575f366003190112610264576040805163657711f560e11b815260016020820152f35b6060906003190112610264576004356001600160a01b038116810361026457906024356001600160a01b0381168103610264579060443590565b34610264576102bd6108fd366108b2565b91611660565b34610264576040366003190112610264576024356101f48102908082046101f414901517156109555760408051736db16927dbc38aa39f0ee2cb545e15efd813fb998152612710909204602083015290f35b611621565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761098f57604052565b61095a565b6001600160401b03811161098f57601f01601f191660200190565b81601f82011215610264578035906109c682610994565b926109d4604051948561096e565b8284526020838301011161026457815f926020809301838601378301015290565b6040366003190112610264576024356004356001600160401b03821161026457610a266102bd9236906004016109af565b610a303383611b2c565b34611d43565b610ab05f80610a4436610268565b610a52969293963383611b2c565b8452600660205260408085205481516c5af43d3d93803e602a57fd5bf360581b818401526001600160a01b03909116602882015273602c3d8160093d39f33d3d3d3d363d3d37363d7360148201526035815260608101909152611cea565b93610ac0604051809381936114c0565b039082855af190610acf6114cd565b9115610ae8576102bd906001600160a01b031633611b52565b50602081519101fd5b34610264576020366003190112610264576004355f526006602052602060018060a01b0360405f205416604051908152f35b34610264576102bd610b34366108b2565b9060405192610b4460208561096e565b5f8452611845565b34610264576020366003190112610264576020610b6a600435611cb6565b6040516001600160a01b039091168152f35b606036600319011261026457610b90610648565b602435906044356001600160401b03811161026457610bb6610bc8913690600401610237565b939092610bc33383611b2c565b6120ae565b82610bcf57005b825f9392849360405192839283378101848152039134905af1610bf06114cd565b90156103b957005b3461026457604036600319011261026457600435602435905f52600660205260018060a01b0360405f2054166c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c205f60215260ff5f5360359081523060601b60015260159190915260555f90812091526040516001600160a01b039091168152602090f35b604036600319011261026457610c9f610648565b610ca761065e565b610caf611d8e565b5f80808047865af1506001600160a01b0381169182610cca57005b610d0f92610cdb6020933090611daa565b60405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909283919082905f9082906044820190565b03925af18015610d4757610d1f57005b6102bd9060203d602011610d40575b610d38818361096e565b8101906117df565b503d610d2e565b6117f4565b34610264576020366003190112610264576001600160a01b03610d6d610648565b168015610d8f575f52600360205260405f205460405190815260208180030190f35b6322718ad960e21b5f525f60045260245ffd5b60a0366003190112610264576004356001600160401b03811161026457610dcd903690600401610237565b610dd561065e565b90604435606435916084356001600160401b03811161026457610dff610e6a913690600401610237565b90610e0a8786611b2c565b610e658886610e388a610e2a8b6040519485938c6020860198468a6117ff565b03601f19810183528261096e565b5190206020527b19457468657265756d205369676e6564204d6573736167653a0a33325f52603c60042090565b611dcf565b600754610e7f906001600160a01b0316610362565b6001600160a01b03909116908114159081610f06575b50610ef757610eb65f9392610bc361035586955f52600660205260405f2090565b94610ec6604051809381936114c0565b039082865af191610ed56114cd565b9215610eef576102bd92506001600160a01b031690611b52565b825160208401fd5b638baa579f60e01b5f5260045ffd5b6001600160a01b038616141590505f610e95565b34610264575f36600319011261026457638b78c6d819546040516001600160a01b039091168152602090f35b6060366003190112610264576004356001600160401b03811161026457610f719036906004016102bf565b610f7961065e565b6044356001600160401b03811161026457610f98903690600401610237565b929093610fa3611d8e565b5f5b828110610ff4575050506001600160a01b038116610fcf575b5080610fc657005b6102bd91611e9f565b600780546001600160a01b0319166001600160a01b039092169190911790555f610fbe565b8061102f6110056001938686611642565b3561080b611014848888611642565b3591858060a01b03169160a01c5f52600660205260405f2090565b01610fa5565b34610264575f3660031901126102645761074960405161105660408261096e565b60098152684e324d4f776e65727360b81b60208201526040519182916020835260208301906106c1565b8015150361026457565b34610264576040366003190112610264576110a3610648565b6024356110af81611080565b6001600160a01b03821691821561112f57335f9081526005602090815260408083206001600160a01b0390941683529290522060ff1981541660ff831515161790557f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c316040518061112a339482919091602081019215159052565b0390a3005b82630b61174360e31b5f5260045260245ffd5b346102645760803660031901126102645761115b610648565b61116361065e565b90604435606435926001600160401b0384116102645761118a6102bd9436906004016109af565b92611845565b34610264576020366003190112610264576004356040516329ffa82360e11b81526020816004816001600160a01b0386165afa908115610d47576020610e2a61123f6107499561123961123f6112399761124c975f91611258575b5061123961123f6111fb46611fc6565b9561123961123f61122b61122561122061036261036261121a88611fc6565b97611cb6565b611fc6565b96611fc6565b986040519e8f9d8e01611987565b90611a0e565b602f60f81b815260010190565b604051918291826106e5565b6112789150873d891161127e575b611270818361096e565b810190611940565b5f6111eb565b503d611266565b3461026457602036600319011261026457604051620b809160e51b602082015260043560248201525f6044820152602581526112c260458261096e565b6112ca611a20565b905f5b603a81106112e15761074961124c84611a53565b806112f66112f16001938561200b565b61206c565b5f1a6113028286611a42565b53016112cd565b34610264575f36600319011261026457602060405161084a8152f35b604036600319011261026457611339610648565b6024356001600160401b038111610264576113589036906004016102bf565b91611361611d8e565b803b1561141657600854604080516001600160a01b038084168252841660208201529192917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9190a16001600160a01b03166001600160a01b031991909116176008555f5b8281106113cf57005b6008545f9081906001600160a01b0316816113eb85888861156b565b9190826040519384928337810182815203925af16114076114cd565b90156103b957506001016113c6565b6332483afb60e01b5f5260045ffd5b34610264576040366003190112610264576020610443611443610648565b61144b61065e565b90611a8a565b602036600319011261026457611465610648565b61146d611d8e565b8060601b156114b35760018060a01b031680638b78c6d819547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3638b78c6d81955005b637448fbae5f526004601cfd5b908092918237015f815290565b3d156114f7573d906114de82610994565b916114ec604051938461096e565b82523d5f602084013e565b606090565b929061151e5f9384938452600660205260018060a01b036040852054166120ae565b938160405192839283378101838152039082855af161153b6114cd565b90156103b95750611555906001600160a01b031633611b52565b565b634e487b7160e01b5f52603260045260245ffd5b91908110156115ac5760051b81013590601e19813603018212156102645701908135916001600160401b038311610264576020018236038113610264579190565b611557565b6001600160e01b0319166301ffc9a760e01b811461161b576307f5828d60e41b811461161b576380ac58cd60e01b811461161b57635b5e139f60e01b811461161b5763152a902d60e11b811461161b57632b435fdb60e21b811461161b5763503e914d60e11b1490565b50600190565b634e487b7160e01b5f52601160045260245ffd5b9190820391821161095557565b91908110156115ac5760051b0190565b5f1981146109555760010190565b9091906001600160a01b038316156117cc5761167d3383856120ec565b6001600160a01b03811693846116bd575b50506001600160a01b03168083036116a557505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b6001600160a01b038416803b1561026457604051637699c77f60e01b81526001600160a01b03848116600483015283166024820152905f908290604490829084905af18015610d47576117b8575b506008546001600160a01b03168080611726575b505061168e565b336001600160a01b039091160361173e575b8061171f565b6001600160a01b031691823b156102645760405163657711f560e11b81523360048201526001600160a01b0391821660248201529116604482015260648101849052905f90829060849082905afa8015610d475761179e575b8080611738565b806117ac5f6117b29361096e565b806106b7565b5f611797565b806117ac5f6117c69361096e565b5f61170b565b633250574960e11b5f525f60045260245ffd5b9081602091031261026457516106f681611080565b6040513d5f823e3d90fd5b90928092607897959694637ce27a2760e01b84526004840152602483013701926bffffffffffffffffffffffff199060601b166024840152603883015260588201520190565b909291611853818584611660565b833b611860575b50505050565b6020916118826040519485938493630a85bd0160e11b85523360048601611f95565b03815f6001600160a01b0387165af15f918161190f575b506118d357506118a76114cd565b80519190826118cc57633250574960e11b5f526001600160a01b03821660045260245ffd5b9050602001fd5b6001600160e01b03191663757a42ff60e11b016118f457505f80808061185a565b633250574960e11b5f526001600160a01b031660045260245ffd5b61193291925060203d602011611939575b61192a818361096e565b810190611f80565b905f611899565b503d611920565b90816020910312610264575190565b90600182811c9216801561197d575b602083101461196957565b634e487b7160e01b5f52602260045260245ffd5b91607f169161195e565b6009545f92916119968261194f565b91600181169081156119fc57506001146119ae575050565b60095f90815292935090917f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b8382106119e85750500190565b6001816020925484860152019101906119db565b60ff1916825250811515909102019150565b805191908290602001825e015f815290565b60405160609190611a31838261096e565b603a815291601f1901366020840137565b9081518110156115ac570160200190565b90611555611a7c926040519384916734b833399d1797b160c11b60208401526028830190611a0e565b03601f19810184528361096e565b6001600160a01b039081165f9081526005602090815260408083209385168352929052205460ff1691908215611abd5750565b600854919250906001600160a01b03168015159081611b19575b5061161b576001600160a01b0316731e0049783f008a0085193e00003d00cd54003c71811461161b577388899dc0b84c6e726840e00dfb94abc6248825ec1490565b6001600160a01b0383161490505f611ad7565b60601c80156001600160a01b03909216141715611b4557565b630c4549ef5f526004601cfd5b906001600160a01b038216156117cc576001600160a01b0391611b759190611b8f565b16611b7c57565b6339e3563760e11b5f525f60045260245ffd5b9190611b9c5f82856120ec565b926001600160a01b038416611baf575050565b6001600160a01b038216803b1561026457604051637699c77f60e01b81526001600160a01b03868116600483015283166024820152905f908290604490829084905af18015610d4757611ca2575b506008546001600160a01b03168080611c165750505050565b336001600160a01b0390911603611c2e575b8061185a565b6001600160a01b031691823b156102645760405163657711f560e11b81523360048201526001600160a01b0386811660248301529290921660448301526064820152905f90829060849082905afa8015610d4757611c8e575b8080611c28565b806117ac5f611c9c9361096e565b5f611c87565b806117ac5f611cb09361096e565b5f611bfd565b5f818152600260205260409020546001600160a01b0316908115611cd8575090565b637e27328960e01b5f5260045260245ffd5b91906f67363d3d37363d34f03d5260086018f35f526010805ff5918215611d36575f80918460145261d694825260016034536017601e209482602083519301915af1823b0215611d3657565b63301164255f526004601cfd5b92916f67363d3d37363d34f03d5260086018f35f526010805ff58015611d36575f9181839260145261d694835260016034536017601e2095602083519301915af1823b0215611d3657565b638b78c6d819543303611d9d57565b6382b429005f526004601cfd5b602460106020939284936014526370a0823160601b5f525afa601f3d11166020510290565b909291926040519380604014611e2857604114611df857505050505b638baa579f5f526004601cfd5b806040809201355f1a60205281375b5f526020600160805f825afa51915f6060526040523d611555575050611deb565b5060208181013560ff81901c601b0190915290356040526001600160ff1b0316606052611e07565b601f8211611e5d57505050565b5f5260205f20906020601f840160051c83019310611e95575b601f0160051c01905b818110611e8a575050565b5f8155600101611e7f565b9091508190611e76565b91906001600160401b03811161098f57611ec581611ebe60095461194f565b6009611e50565b5f601f8211600114611f03578190611ef393945f92611ef8575b50508160011b915f199060031b1c19161790565b600955565b013590505f80611edf565b60095f52601f198216937f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af915f5b868110611f685750836001959610611f4f575b505050811b01600955565b01355f19600384901b60f8161c191690555f8080611f44565b90926020600181928686013581550194019101611f31565b9081602091031261026457516106f68161040a565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526106f6929101906106c1565b90604051600a608082019360a083016040525f8552935b5f190193603082820601855304928315611ff957600a90611fdd565b809350608091030191601f1901918252565b9060058102908082046005149015171561095557600381901c906001600160f81b03196120388385611a42565b511691600181018091116109555761205460079160ff95611a42565b5160081c60f085901b169290921791161b60fb1c1690565b60ff16601a8110156120935760610160ff81116109555760f81b6001600160f81b03191690565b60180160ff81116109555760f81b6001600160f81b03191690565b6c5af43d3d93803e602a57fd5bf360215260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c5ff5908115611d36575f602152565b5f828152600260205260409020546001600160a01b03908116939081166121bc575b506001600160a01b03831680612190575b6001600160a01b03821691612146908361216d575b61080b855f52600260205260405f2090565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a490565b6001600160a01b0381165f90815260036020526040902060018154019055612134565b6121998361226d565b6001600160a01b0384165f90815260036020526040902080545f1901905561211f565b6121d76001600160a01b038216801515908161221d57501590565b1561210e57826001600160a01b0385166121fd57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f526001600160a01b0390911660045260245260445ffd5b6001600160a01b03871681149150811561225b575b811561223d57501590565b5f868152600460205260409020546001600160a01b03161415919050565b90506122678387611a8a565b90612232565b61227f905f52600460205260405f2090565b80546001600160a01b031916905556fea2646970667358221220ac0ee8949a500029c7c225c9aefbe7ad5055b53d320630ddc002b165ca08447264736f6c634300081b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c5557771673109cab9d05358e1d280fab522597700000000000000000000000000000000156d54b85de04c897356026a5ff2cbc9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000a248a99f797ec03160a76b184150740000000000000000000000000000000000bfd16d286a2ec182c471fb712f65de
-----Decoded View---------------
Arg [0] : owner (address): 0xC5557771673109CAB9d05358E1D280fab5225977
Arg [1] : delegatedCreationSigner (address): 0x00000000156D54b85de04c897356026a5ff2cBc9
Arg [2] : type1 (bytes32): 0x0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : type2 (bytes32): 0x0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : type1Address (address): 0x0000000000a248a99F797ec03160a76b18415074
Arg [5] : type2Address (address): 0x0000000000bFD16d286a2ec182c471FB712f65de
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000c5557771673109cab9d05358e1d280fab5225977
Arg [1] : 00000000000000000000000000000000156d54b85de04c897356026a5ff2cbc9
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 0000000000000000000000000000000000a248a99f797ec03160a76b18415074
Arg [5] : 0000000000000000000000000000000000bfd16d286a2ec182c471fb712f65de
[ 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.