Registers an extension, allowing it to access the mint function, and ability to set a token’s metadata URI or a base URI for that extension. The token URI for tokens minted by this extension will be baseURI<tokenID>. When registering an extension you can specify a third boolean parameter of "true" for baseURIIdentical to specify the token URI for all tokens to be identical (will not increment with appended tokenId).
Permissions: Owner/Admin function callable by contract owner only.
Unregisters an extension and removes access to the mint function and all other extension capabilities.
Permissions: Owner/Admin function callable by contract owner only.
functionunregisterExtension(address extension)
blacklistExtension
Blacklists an extension, preventing future registrations of the address. This function also destroys all references to metadata associated with tokens created by this extension, making them effectively useless.
Permissions: Owner/Admin function callable by contract owner only.
functionblacklistExtension(address extension)
setApproveTransferExtension
If set as true, indicates that the creator should check with the extension for transfer approval prior to each transfer.
Permissions: Owner/Admin function callable by contract owner only.
functionsetApproveTransferExtension(bool enabled)
setRoyaltiesExtension
Override the royalties for all tokens minted by the specified extension
Permissions: Owner/Admin function callable by contract owner only.
Set the tokenURI for a specific token minted from this extension. Useful if you want to do something with a dynamic metadata server and need sequential numbering of tokens. Various methods defined below.
Permissions: Only callable by an extension and only on token minted by the extension
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.
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.