Extensions Functions
These functions are common for any extensions build for ERC721 and ERC1155
General Functions
Extension Mangement
Functions used to manage installed extensions
Extension Metadata Functions
Functions used by extensions to set the metadata of tokens minted by the extension
Extension Logic Overriding
The powerful thing about Manifold Creator is the ability for extensions to fully override core functionality of NFT smart contracts. The following is a list of functionality extensions can override.
Metadata Handling
An extension can fully manage the token metadata logic by implementing the ICreatorExtensionTokenURI interface.
If an extension implements this interface then all metadata logic will be deferred to the extension's tokenURI
function.
Token Transfer Approval
An extension can control whether or not a token can be transferred. To do this, the extension must implement the IERC721CreatorExtensionApproveTransfer interface (for ERC721) or the IERC1155CreatorExtensionApproveTransfer interface (for ERC1155).
If an extension implements this interface, by default, all transfers will call the extension's approveTransfer
function prior to every token transfer. An extension can enable/disable this by calling the setApproveTransferExtension function.
Token Burn Callback
An extension can receive a callback whenever a token is burned. To do this, the extension must implement the IERC721CreatorExtensionBurnable interface (for ERC721) or the IERC1155CreatorExtensionBurnable interface (for ERC1155).
If an extension implements this interface, every time a token is burned it will call the extension's onBurn
function.
Royalties
An extension can define the royalties for any tokens they mint. To do this, the extension must implement the ICreatorExtensionRoyalties interface.
If an extension implements this interface, the Creator Contract will defer all royalty lookups to the extension for tokens minted by it.
Minting
These are functions used by extensions to mint NFTs. NFTs minted by the extension will adhere to the extension's overriding logic.
ERC721
ERC1155
Last updated