ERC721 Lazy Mint
import "@thirdweb-dev/contracts/base/ERC721LazyMint.sol";
ERC721LazyMint
allows you to lazy-mint ERC-721 tokens, which allows any wallet to claim a lazy-minted NFT.
It exposes a verifyClaim
function that you can override to add your claim-restriction logic.
Lazy minting allows you to define the metadata of NFTs without minting it to an address. As a contract admin, this lets you prepare the metadata for NFTs that will be minted by other wallets, without paying the gas cost for actually minting the NFTs.
Detected Extensions
Once deployed, you can use the features made available by these extensions on the SDK and dashboard:
Click on each feature to learn more about what functions are available.
Usage
Import the contract and inherit from it.
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC721LazyMint.sol";
contract MyNFT is ERC721LazyMint {
constructor(
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps
) ERC721LazyMint(_defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps) {}
function verifyClaim(address _claimer, uint256 _quantity) public view virtual override {
// Your custom claim restriction logic
}
}
Functions to Override
The following functions have been implemented on this contract & are available to be overridden to add custom logic: