ERC721 Drop
import "@thirdweb-dev/contracts/base/ERC721Drop.sol";
The ERC721Drop
base contract allows you to create an NFT Drop that other wallets can claim.
It implements the ERC721A standard with the Lazy Mint, Delayed Reveal and Drop extensions; allowing you to batch lazy-mint NFTs and allow other wallets to claim them under the criteria of claim conditions, with an optional delayed reveal.
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.
- ERC721
- ERC721Burnable
- ERC721ClaimConditionsV2
- ERC721LazyMintable
- ERC721Revealable
- ERC721Supply
- Royalty
- PrimarySale
- ContractMetadata
- Ownable
Usage
Import the contract and inherit from it.
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC721Drop.sol";
contract MyNFT is ERC721Drop {
constructor(
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps,
address _primarySaleRecipient
)
ERC721Drop(
_defaultAdmin,
_name,
_symbol,
_royaltyRecipient,
_royaltyBps,
_primarySaleRecipient
)
{}
}
Functions to Override
The following functions have been implemented on this contract & are available to be overridden to add custom logic: