ERC721 Signature Mint
import "@thirdweb-dev/contracts/base/ERC721SignatureMint.sol";
The ERC721SignatureMint
smart contract uses the
ERC721Base
base contract along with the SignatureMintERC721 contract extension.
Signature minting uses the EIP-712 standard, enables a contract admin to authorize an external party's request to mint tokens on the admin's contract. At a high level, this means you can authorize another wallet to mint tokens on your contract, and specify what exactly will be minted by that external party.
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
- ERC721Mintable
- ERC721BatchMintable
- ERC721Supply
- ERC721SignatureMintV2
- PrimarySale
- Royalty
- ContractMetadata
- Ownable
Usage
Import the contract extension and make your contract inherit it.
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/ERC721SignatureMint.sol";
contract MyNFT is ERC721SignatureMint {
constructor(
address _defaultAdmin,
string memory _name,
string memory _symbol,
address _royaltyRecipient,
uint128 _royaltyBps,
address _primarySaleRecipient
)
ERC721SignatureMint(
_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: