Overview
APE Balance
APE Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Safe Transfer Fr... | 9242048 | 55 days ago | IN | 0 APE | 0.00194376 |
Loading...
Loading
Minimal Proxy Contract for 0x8c23711a0536397c261bf83ec474b9aaf05c549b
Contract Name:
ERC1155EditionsDFS
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 1 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "./interfaces/IERC1155EditionsDFS.sol";import "./ERC1155Base.sol";import "../utils/Ownable.sol";import "../metadata/interfaces/IMetadataRenderer.sol";import "../metadata/interfaces/IEditionsMetadataRenderer.sol";import "../auction/interfaces/IAuctionManager.sol";import "../erc721/interfaces/IEditionCollection.sol";import "../tokenManager/interfaces/IPostTransfer.sol";import "../tokenManager/interfaces/IPostBurn.sol";import "../tokenManager/interfaces/ITokenManagerEditions.sol";import "../erc721/interfaces/IERC721EditionMint.sol";import "../utils/ERC1155/ERC1155Upgradeable.sol";import "../mint/interfaces/IAbridgedMintVector.sol";import "../mint/mechanics/interfaces/IMechanicMintManager.sol";import "./interfaces/IERC1155Standard.sol";/*** @title ERC1155 Editions* @author highlight.xyz* @notice Multiple Editions Per Collection* @dev Using Decentralized File Storage*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/ContextUpgradeable.sol";import "../proxy/utils/Initializable.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (proxy/utils/Initializable.sol)pragma solidity ^0.8.2;import "../../utils/AddressUpgradeable.sol";/*** @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed* behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an* external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer* function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.** The initialization functions use a version number. Once a version number is used, it is consumed and cannot be* reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in* case an upgrade adds a module that needs to be initialized.** For example:** [.hljs-theme-light.nopadding]* ```solidity* contract MyToken is ERC20Upgradeable {* function initialize() initializer public {* __ERC20_init("MyToken", "MTK");* }* }
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)pragma solidity ^0.8.0;import "../proxy/utils/Initializable.sol";/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuardUpgradeable is Initializable {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)pragma solidity ^0.8.1;/*** @dev Collection of functions related to the address type*/library AddressUpgradeable {/*** @dev Returns true if `account` is a contract.** [IMPORTANT]* ====* It is unsafe to assume that an address for which this function returns* false is an externally-owned account (EOA) and not a contract.** Among others, `isContract` will return false for the following* types of addresses:** - an externally-owned account* - a contract in construction* - an address where a contract will be created* - an address where a contract lived, but was destroyed** Furthermore, `isContract` will also return true if the target contract within
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;import "../proxy/utils/Initializable.sol";/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract ContextUpgradeable is Initializable {function __Context_init() internal onlyInitializing {}function __Context_init_unchained() internal onlyInitializing {}function _msgSender() internal view virtual returns (address) {return msg.sender;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)pragma solidity ^0.8.0;/*** @dev Standard math utilities missing in the Solidity language.*/library MathUpgradeable {enum Rounding {Down, // Toward negative infinityUp, // Toward infinityZero // Toward zero}/*** @dev Returns the largest of two numbers.*/function max(uint256 a, uint256 b) internal pure returns (uint256) {return a > b ? a : b;}/*** @dev Returns the smallest of two numbers.*/function min(uint256 a, uint256 b) internal pure returns (uint256) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)pragma solidity ^0.8.0;/*** @dev Standard signed math utilities missing in the Solidity language.*/library SignedMathUpgradeable {/*** @dev Returns the largest of two signed numbers.*/function max(int256 a, int256 b) internal pure returns (int256) {return a > b ? a : b;}/*** @dev Returns the smallest of two signed numbers.*/function min(int256 a, int256 b) internal pure returns (int256) {return a < b ? a : b;}/*** @dev Returns the average of two signed numbers without overflow.* The result is rounded towards zero.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)pragma solidity ^0.8.0;import "./math/MathUpgradeable.sol";import "./math/SignedMathUpgradeable.sol";/*** @dev String operations.*/library StringsUpgradeable {bytes16 private constant _SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {unchecked {uint256 length = MathUpgradeable.log10(value) + 1;string memory buffer = new string(length);uint256 ptr;/// @solidity memory-safe-assemblyassembly {ptr := add(buffer, add(32, length))
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @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: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/structs/EnumerableSet.sol)// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.pragma solidity ^0.8.0;/*** @dev Library for managing* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive* types.** Sets have the following properties:** - Elements are added, removed, and checked for existence in constant time* (O(1)).* - Elements are enumerated in O(n). No guarantees are made on the ordering.** ```solidity* contract Example {* // Add the library methods* using EnumerableSet for EnumerableSet.AddressSet;** // Declare a set state variable* EnumerableSet.AddressSet private mySet;* }* ```
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Unlicensedpragma solidity 0.8.10;import { IMinimalForwarder } from "./IMinimalForwarder.sol";/*** @title Interface for AuctionManager* @notice Defines behaviour encapsulated in AuctionManager* @author highlight.xyz*/interface IAuctionManager {/*** @notice The state an auction is in* @param NON_EXISTENT Default state of auction pre-creation* @param LIVE_ON_CHAIN State of auction after creation but before the auction ends or is cancelled* @param CANCELLED_ON_CHAIN State of auction after auction is cancelled* @param FULFILLED State of auction after winning bid has been dispersed and NFT has left escrow*/enum AuctionState {NON_EXISTENT,LIVE_ON_CHAIN,CANCELLED_ON_CHAIN,FULFILLED}/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Unlicensedpragma solidity 0.8.10;/*** @title Minimal forwarder interface* @author highlight.xyz*/interface IMinimalForwarder {struct ForwardRequest {address from;address to;uint256 value;uint256 gas;uint256 nonce;bytes data;}function execute(ForwardRequest calldata req,bytes calldata signature) external payable returns (bool, bytes memory);function getNonce(address from) external view returns (uint256);function verify(ForwardRequest calldata req, bytes calldata signature) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "../royaltyManager/interfaces/IRoyaltyManager.sol";import "../tokenManager/interfaces/ITokenManager.sol";import "../utils/Ownable.sol";import "../utils/ERC2981/IERC2981Upgradeable.sol";import "../utils/ERC165/ERC165CheckerUpgradeable.sol";import "../metatx/ERC2771ContextUpgradeable.sol";import "../observability/IObservabilityV3.sol";import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";/*** @title Base ERC1155* @author highlight.xyz* @notice Core piece of Highlight NFT contracts (v2)*/abstract contract ERC1155Base isOwnableUpgradeable,IERC2981Upgradeable,ERC2771ContextUpgradeable,ReentrancyGuardUpgradeable{
12345678910111213141516171819202122232425// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "../../royaltyManager/interfaces/IRoyaltyManager.sol";/*** @notice Core creation interface (1155s)* @author highlight.xyz*/interface IERC1155EditionsDFS {/*** @notice Create an edition* @param _editionUri Edition uri (metadata)* @param _editionSize Edition size* @param _editionTokenManager Token manager for edition* @param editionRoyalty Edition's royalty*/function createEdition(string memory _editionUri,uint256 _editionSize,address _editionTokenManager,IRoyaltyManager.Royalty memory editionRoyalty,bytes calldata mintVectorData) external returns (uint256);}
123456789// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;interface IERC1155Standard {/*** @notice Return Highlight contract standard hash*/function highlightContractStandardHash() external view returns (bytes32);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @notice Interfaces with the details of editions on collections* @author highlight.xyz*/interface IEditionCollection {/*** @notice Edition details* @param name Edition name* @param size Edition size* @param supply Total number of tokens minted on edition* @param initialTokenId Token id of first token minted in edition*/struct EditionDetails {string name;uint256 size;uint256 supply;uint256 initialTokenId;}/*** @notice Get the edition a token belongs to* @param tokenId The token id of the token*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @notice Mint interface on editions contracts* @author highlight.xyz*/interface IERC721EditionMint {/*** @notice Mints one NFT to one recipient* @param editionId Edition to mint the NFT on* @param recipient Recipient of minted NFT*/function mintOneToRecipient(uint256 editionId, address recipient) external returns (uint256);/*** @notice Mints an amount of NFTs to one recipient* @param editionId Edition to mint the NFTs on* @param recipient Recipient of minted NFTs* @param amount Amount of NFTs minted*/function mintAmountToRecipient(uint256 editionId, address recipient, uint256 amount) external returns (uint256);/*** @notice Mints one NFT each to a number of recipients* @param editionId Edition to mint the NFTs on
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @notice Used to interface with EditionsMetadataRenderer* @author highlight.xyz*/interface IEditionsMetadataRenderer {/*** @notice Token edition info* @param name Edition name* @param description Edition description* @param imageUrl Edition image url* @param animationUrl Edition animation url* @param externalUrl Edition external url* @param attributes Edition attributes*/struct TokenEditionInfo {string name;string description;string imageUrl;string animationUrl;string externalUrl;string attributes;}
1234567891011121314151617181920// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @notice Used to interface with core of EditionsMetadataRenderer* @author Zora, sarib@highlight.xyz*/interface IMetadataRenderer {/*** @notice Store metadata for an edition* @param data Metadata*/function initializeMetadata(bytes memory data) external;/*** @notice Get uri for token* @param tokenId ID of token to get uri for*/function tokenURI(uint256 tokenId) external view returns (string memory);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (metatx/ERC2771Context.sol)pragma solidity 0.8.10;import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";/*** @dev Context variant with ERC2771 support.* Openzeppelin contract slightly modified by ishan@ highlight.xyz to be upgradeable.*/abstract contract ERC2771ContextUpgradeable is Initializable {address private _trustedForwarder;/*** @dev This empty reserved space is put in place to allow future versions to add new* variables without shifting down storage in the inheritance chain.* See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps*/uint256[49] private __gap;function isTrustedForwarder(address forwarder) public view virtual returns (bool) {return forwarder == _trustedForwarder;}function __ERC2771ContextUpgradeable__init__(address trustedForwarder) internal onlyInitializing {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @title MintManager interface for onchain abridged mint vectors* @author highlight.xyz*/interface IAbridgedMintVector {/*** @notice On-chain mint vector (stored data)* @param contractAddress NFT smart contract address* @param startTimestamp When minting opens on vector* @param endTimestamp When minting ends on vector* @param paymentRecipient Payment recipient* @param maxTotalClaimableViaVector Max number of tokens that can be minted via vector* @param totalClaimedViaVector Total number of tokens minted via vector* @param currency Currency used for payment. Native gas token, if zero address* @param tokenLimitPerTx Max number of tokens that can be minted in one transaction* @param maxUserClaimableViaVector Max number of tokens that can be minted by user via vector* @param pricePerToken Price that has to be paid per minted token* @param editionId Edition ID, if vector is for edition based collection* @param editionBasedCollection If vector is for an edition based collection* @param requireDirectEOA Require minters to directly be EOAs* @param allowlistRoot Root of merkle tree with allowlist*/
12345678910111213141516171819202122232425// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @notice Defines a mechanic's metadata on the MintManager*/interface IMechanicData {/*** @notice A mechanic's metadata* @param contractAddress Collection contract address* @param editionId Edition ID if the collection is edition based* @param mechanic Address of mint mechanic contract* @param isEditionBased True if collection is edition based* @param isChoose True if collection uses a collector's choice mint paradigm* @param paused True if mechanic vector is paused*/struct MechanicVectorMetadata {address contractAddress;uint96 editionId;address mechanic;bool isEditionBased;bool isChoose;bool paused;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "./IMechanicData.sol";/*** @notice Capabilities on MintManager pertaining to mechanics*/interface IMechanicMintManager is IMechanicData {/*** @notice Register a new mechanic vector* @param _mechanicVectorMetadata Mechanic vector metadata* @param seed Used to seed uniqueness into mechanic vector ID generation* @param vectorData Vector data to store on mechanic (optional)*/function registerMechanicVector(MechanicVectorMetadata calldata _mechanicVectorMetadata,uint96 seed,bytes calldata vectorData) external;/*** @notice Pause or unpause a mechanic vector* @param mechanicVectorId Global mechanic ID* @param pause If true, pause the mechanic mint vector. If false, unpause*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "../royaltyManager/interfaces/IRoyaltyManager.sol";/*** @title IObservability* @author highlight.xyz* @notice Interface to interact with the Highlight observability singleton* @dev Singleton to coalesce select Highlight protocol events*/interface IObservability {/**************************ERC721Base / ERC721MinimizedBase events**************************//*** @notice Emitted when minter is registered or unregistered* @param contractAddress Initial contract that emitted event* @param minter Minter that was changed* @param registered True if the minter was registered, false if unregistered*/event MinterRegistrationChanged(address indexed contractAddress, address indexed minter, bool indexed registered);/*** @notice Emitted when token managers are set for token/edition ids
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "./IObservability.sol";/*** @title IObservabilityV2* @author highlight.xyz* @notice Interface to interact with the Highlight observabilityV2 singleton* @dev Singleton to coalesce select Highlight protocol events*/interface IObservabilityV2 is IObservability {/**************************Deployment events**************************//*** @notice Emitted when Editions1155 contract is deployed* @param deployer Contract deployer* @param contractAddress Address of contract that was deployed*/event Editions1155Deployed(address indexed deployer, address indexed contractAddress);/**************************ERC1155 events**************************/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "./IObservabilityV2.sol";/*** @title IObservabilityV3* @author highlight.xyz* @notice Interface to interact with the Highlight observabilityV3 singleton* @dev Singleton to coalesce select Highlight protocol events*/interface IObservabilityV3 is IObservabilityV2 {/*** @notice Emitted when ownership of contract is transferred* @param contractAddress Address of contract that was deployed* @param previousOwner Previous owner* @param newOwner New owner*/event OwnershipTransferred(address indexed contractAddress,address indexed previousOwner,address indexed newOwner);/*** @notice Emit OwnershipTransferred
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @title IRoyaltyManager* @author highlight.xyz* @notice Enables interfacing with custom royalty managers that define conditions on setting royalties for* NFT contracts*/interface IRoyaltyManager {/*** @notice Struct containing values required to adhere to ERC-2981* @param recipientAddress Royalty recipient - can be EOA, royalty splitter contract, etc.* @param royaltyPercentageBPS Royalty cut, in basis points*/struct Royalty {address recipientAddress;uint16 royaltyPercentageBPS;}/*** @notice Defines conditions around being able to swap royalty manager for another one* @param newRoyaltyManager New royalty manager being swapped in* @param sender msg sender*/function canSwap(address newRoyaltyManager, address sender) external view returns (bool);
12345678910111213141516171819// SPDX-License-Identifier: MITpragma solidity 0.8.10;/*** @author highlight.xyz* @notice If token managers implement this, transfer actions will call* postBurn on the token manager.*/interface IPostBurn {/*** @notice Hook called by contract after burn, if token manager of burned token implements this* interface.* @param operator Operator burning tokens* @param sender Msg sender* @param id Burned token's id or id of edition of token that is burned*/function postBurn(address operator, address sender, uint256 id) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.10;/*** @author highlight.xyz* @notice If token managers implement this, transfer actions will call* postSafeTransferFrom or postTransferFrom on the token manager.*/interface IPostTransfer {/*** @notice Hook called by community after safe transfers, if token manager of transferred token implements this* interface.* @param operator Operator transferring tokens* @param from Token(s) sender* @param to Token(s) recipient* @param id Transferred token's id* @param data Arbitrary data*/function postSafeTransferFrom(address operator, address from, address to, uint256 id, bytes memory data) external;/*** @notice Hook called by community after transfers, if token manager of transferred token implements* this interface.* @param operator Operator transferring tokens* @param from Token(s) sender
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;/*** @title ITokenManager* @author highlight.xyz* @notice Enables interfacing with custom token managers*/interface ITokenManager {/*** @notice Returns whether metadata updater is allowed to update* @param sender Updater* @param id Token/edition who's uri is being updated* If id is 0, implementation should decide behaviour for base uri update* @param newData Token's new uri if called by general contract, and any metadata field if called by editions* @return If invocation can update metadata*/function canUpdateMetadata(address sender, uint256 id, bytes calldata newData) external returns (bool);/*** @notice Returns whether token manager can be swapped for another one by invocator* @notice Default token manager implementations should ignore id* @param sender Swapper* @param id Token grouping id (token id or edition id)* @param newTokenManager New token manager being swapped to* @return If invocation can swap token managers
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.8.10;import "./ITokenManager.sol";/*** @title ITokenManager* @author highlight.xyz* @notice Enables interfacing with custom token managers for editions contracts*/interface ITokenManagerEditions is ITokenManager {/*** @notice The updated field in metadata updates*/enum FieldUpdated {name,description,imageUrl,animationUrl,externalUrl,attributes,other}/*** @notice Returns whether metadata updater is allowed to update
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC1155/ERC1155.sol)pragma solidity 0.8.10;import "./IERC1155Upgradeable.sol";import "./IERC1155ReceiverUpgradeable.sol";import "./IERC1155MetadataURIUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol";import "../ERC165/ERC165Upgradeable.sol";import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";/*** @dev Implementation of the basic standard multi-token.* See https://eips.ethereum.org/EIPS/eip-1155* Originally based on code by Enjin: https://github.com/enjin/erc-1155** _Available since v3.1._*/contract ERC1155Upgradeable isInitializable,ContextUpgradeable,ERC165Upgradeable,IERC1155Upgradeable,
12345678910111213141516171819202122// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC1155/extensions/IERC1155MetadataURI.sol)pragma solidity 0.8.10;import "./IERC1155Upgradeable.sol";/*** @dev Interface of the optional ERC1155MetadataExtension interface, as defined* in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].** _Available since v3.1._*/interface IERC1155MetadataURIUpgradeable is IERC1155Upgradeable {/*** @dev Returns the URI for token type `id`.** If the `\{id\}` substring is present in the URI, it must be replaced by* clients with the actual token type ID.*/function uri(uint256 id) external view returns (string memory);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/IERC1155Receiver.sol)pragma solidity 0.8.10;import "../ERC165/IERC165Upgradeable.sol";/*** @dev _Available since v3.1._*/interface IERC1155ReceiverUpgradeable is IERC165Upgradeable {/*** @dev Handles the receipt of a single ERC1155 token type. This function is* called at the end of a `safeTransferFrom` after the balance has been updated.** NOTE: To accept the transfer, this must return* `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`* (i.e. 0xf23a6e61, or its own function selector).** @param operator The address which initiated the transfer (i.e. msg.sender)* @param from The address which previously owned the token* @param id The ID of the token being transferred* @param value The amount of tokens being transferred* @param data Additional data with no specified format* @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC1155/IERC1155.sol)pragma solidity 0.8.10;import "../ERC165/IERC165Upgradeable.sol";/*** @dev Required interface of an ERC1155 compliant contract, as defined in the* https://eips.ethereum.org/EIPS/eip-1155[EIP].** _Available since v3.1._*/interface IERC1155Upgradeable is IERC165Upgradeable {/*** @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.*/event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);/*** @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all* transfers.*/event TransferBatch(address indexed operator,address indexed from,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165Checker.sol)pragma solidity 0.8.10;import "./IERC165Upgradeable.sol";/*** @dev Library used to query support of an interface declared via {IERC165}.** Note that these functions return the actual result of the query: they do not* `revert` if an interface is not supported. It is up to the caller to decide* what to do in these cases.*//* solhint-disable */library ERC165CheckerUpgradeable {// As per the EIP-165 spec, no interface should ever match 0xffffffffbytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff;/*** @dev Returns true if `account` supports the {IERC165} interface,*/function supportsERC165(address account) internal view returns (bool) {// Any contract that implements ERC165 must explicitly indicate support of// InterfaceId_ERC165 and explicitly indicate non-support of InterfaceId_Invalidreturn
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)pragma solidity 0.8.10;import "./IERC165Upgradeable.sol";import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";/*** @dev Implementation of the {IERC165} interface.** Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check* for the additional interface id that will be supported. For example:** ```solidity* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);* }* ```** Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.*//* solhint-disable */abstract contract ERC165Upgradeable is Initializable, IERC165Upgradeable {function __ERC165_init() internal onlyInitializing {}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)pragma solidity 0.8.10;/*** @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}.*//* solhint-disable */interface IERC165Upgradeable {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
12345678910111213141516171819202122232425// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (interfaces/IERC2981Upgradeable.sol)pragma solidity 0.8.10;import "../ERC165/IERC165Upgradeable.sol";/*** @dev Interface for the NFT Royalty Standard.** A standardized way to retrieve royalty payment information for non-fungible tokens (NFTs) to enable universal* support for royalty payments across all NFT marketplaces and ecosystem participants.** _Available since v4.5._*/interface IERC2981Upgradeable is IERC165Upgradeable {/*** @dev Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of* exchange. The royalty amount is denominated and should be paid in that same unit of exchange.*/function royaltyInfo(uint256 tokenId,uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity 0.8.10;import "@openzeppelin/contracts/utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*//* solhint-disable */abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/**
12345678910111213141516171819202122{"metadata": {"bytecodeHash": "none"},"optimizer": {"enabled": true,"runs": 1},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract ABI
API[{"inputs":[],"name":"EditionDoesNotExist","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidBurn","type":"error"},{"inputs":[],"name":"InvalidEditionSizeUpdate","type":"error"},{"inputs":[],"name":"InvalidInput","type":"error"},{"inputs":[],"name":"InvalidManager","type":"error"},{"inputs":[],"name":"InvalidOperator","type":"error"},{"inputs":[],"name":"InvalidOwner","type":"error"},{"inputs":[],"name":"InvalidSize","type":"error"},{"inputs":[],"name":"ManagerDoesNotExist","type":"error"},{"inputs":[],"name":"ManagerRemoveBlocked","type":"error"},{"inputs":[],"name":"ManagerSwapBlocked","type":"error"},{"inputs":[],"name":"MetadataUpdateBlocked","type":"error"},{"inputs":[],"name":"MintFrozen","type":"error"},{"inputs":[],"name":"MinterRegistrationInvalid","type":"error"},{"inputs":[],"name":"NotMinter","type":"error"},{"inputs":[],"name":"NotTokenOwnerOrApproved","type":"error"},{"inputs":[],"name":"ReceiverNonImplementer","type":"error"},{"inputs":[],"name":"ReceiverRejectedTokens","type":"error"},{"inputs":[],"name":"RoyaltyBPSInvalid","type":"error"},{"inputs":[],"name":"RoyaltySetBlocked","type":"error"},{"inputs":[],"name":"SoldOut","type":"error"},{"inputs":[],"name":"TokenDoesNotExist","type":"error"},{"inputs":[],"name":"TransferFromZeroAddress","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","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":"recipientAddress","type":"address"},{"indexed":true,"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"name":"DefaultRoyaltySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newDefaultTokenManager","type":"address"}],"name":"DefaultTokenManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"editionId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"size","type":"uint256"},{"indexed":true,"internalType":"address","name":"editionTokenManager","type":"address"}],"name":"EditionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"indexed":false,"internalType":"struct IRoyaltyManager.Royalty[]","name":"_newRoyalties","type":"tuple[]"}],"name":"GranularRoyaltiesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"}],"name":"GranularTokenManagersRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"indexed":false,"internalType":"address[]","name":"_tokenManagers","type":"address[]"}],"name":"GranularTokenManagersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"editionId","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"oldSize","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"newSize","type":"uint128"}],"name":"HighlightUpdated1155EditionSize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":true,"internalType":"bool","name":"registered","type":"bool"}],"name":"MinterRegistrationChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"MintsFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newRoyaltyManager","type":"address"}],"name":"RoyaltyManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_editionUri","type":"string"},{"internalType":"uint256","name":"_editionSize","type":"uint256"},{"internalType":"address","name":"_editionTokenManager","type":"address"},{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"internalType":"struct IRoyaltyManager.Royalty","name":"editionRoyalty","type":"tuple"},{"internalType":"bytes","name":"mintVectorData","type":"bytes"}],"name":"createEdition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_editionUri","type":"string"},{"internalType":"uint256","name":"_editionSize","type":"uint256"},{"internalType":"address","name":"_editionTokenManager","type":"address"},{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"internalType":"struct IRoyaltyManager.Royalty","name":"editionRoyalty","type":"tuple"},{"internalType":"bytes","name":"mechanicVectorData","type":"bytes"}],"name":"createEditionWithMechanicVector","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_editionUri","type":"string"},{"internalType":"uint256","name":"_editionSize","type":"uint256"},{"internalType":"address","name":"_editionTokenManager","type":"address"},{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"internalType":"struct IRoyaltyManager.Royalty","name":"editionRoyalty","type":"tuple"},{"internalType":"bytes","name":"mintVectorData","type":"bytes"},{"internalType":"bytes","name":"mechanicVectorData","type":"bytes"}],"name":"createEditionWithMechanicVectorAndPublicFixedPriceVector","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"editionSupply","outputs":[{"internalType":"uint128","name":"currentSupply","type":"uint128"},{"internalType":"uint128","name":"maxSupply","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"}],"name":"editionURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"}],"name":"getEditionDetails","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"size","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"initialTokenId","type":"uint256"}],"internalType":"struct IEditionCollection.EditionDetails","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getEditionId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"editionIds","type":"uint256[]"}],"name":"getEditionsDetailsAndUri","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"size","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"initialTokenId","type":"uint256"}],"internalType":"struct IEditionCollection.EditionDetails[]","name":"","type":"tuple[]"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"highlightContractStandardHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintAmountToRecipient","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintAmountToRecipients","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"mintOneToRecipient","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"address[]","name":"recipients","type":"address[]"}],"name":"mintOneToRecipients","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"observability","outputs":[{"internalType":"contract IObservabilityV3","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"registerMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeDefaultTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_ids","type":"uint256[]"}],"name":"removeGranularTokenManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeRoyaltyManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royaltyManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","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":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"},{"internalType":"string","name":"newContractUri","type":"string"}],"name":"setContractMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"internalType":"struct IRoyaltyManager.Royalty","name":"_royalty","type":"tuple"}],"name":"setDefaultRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_defaultTokenManager","type":"address"}],"name":"setDefaultTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"uint128","name":"newSize","type":"uint128"}],"name":"setEditionSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"editionId","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"}],"name":"setEditionURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint16","name":"royaltyPercentageBPS","type":"uint16"}],"internalType":"struct IRoyaltyManager.Royalty[]","name":"_newRoyalties","type":"tuple[]"}],"name":"setGranularRoyalties","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"address[]","name":"_tokenManagers","type":"address[]"}],"name":"setGranularTokenManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_royaltyManager","type":"address"}],"name":"setRoyaltyManager","outputs":[],"stateMutability":"nonpayable","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":"id","type":"uint256"}],"name":"tokenManager","outputs":[{"internalType":"address","name":"manager","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenManagerByTokenId","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"unregisterMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.