Skip to main content

ERC1155Revealable

import "@thirdweb-dev/contracts/eip/ERC1155.sol";
import "@thirdweb-dev/contracts/extension/DelayedReveal.sol";

Create batches of 'delayed-reveal' NFTs that can be revealed at a later date after they have been minted and claimed.

This is an extension which is detectable in the dashboard if the smart contract implements the ERC1155 and DelayedReveal extensions.

Usage​

This is an example smart contract demonstrating how to inherit from this extension and override the functions to add (optional) custom functionality.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/eip/ERC1155.sol";
import "@thirdweb-dev/contracts/extension/LazyMint.sol";
import "@thirdweb-dev/contracts/extension/DelayedReveal.sol";

contract Contract is ERC1155, LazyMint, DelayedReveal {
constructor(
string memory _name,
string memory _symbol
)
ERC1155(
_name,
_symbol
)
{}

function reveal(uint256 _index, bytes calldata _key)
external
override
returns (string memory revealedURI)
{
// Your custom implementation here
}

function _canLazyMint() internal view override returns (bool) {
// Your custom implementation here
}
}

SDK Usage​

By adding this extension to a smart contract, the following features, hooks and functions are unlocked in the SDK:

Base Contracts Implementing This Extension​