Extensions List
ERC721
| Name | Description |
|---|---|
| ERC721 | Basic functionality of ERC721 "non-fungible" NFTs |
| ERC721BatchMintable | Batch minting of new NFTs |
| ERC721Burnable | Burn (take out of circulation) NFTs |
| ERC721Claimable | Interface to allow users to claim NFTs that you have lazy minted |
| ERC721ClaimConditions | Allow users to claim NFTs from your drop under specific conditions (one claim phase) |
| ERC721ClaimCustom | Allow users to claim NFTs from your drop under specific conditions |
| ERC721ClaimPhases | Allow users to claim NFTs from your drop under specific conditions (multiple claim phases) |
| ERC721Enumerable | Enumerate through NFTs in a contract to get all or get owned NFTs |
| ERC721Mintable | Mint new NFTs into the contract |
| ERC721Revealable | NFTs that can be revealed at a later date after they have been minted and claimed |
| ERC721SignatureMint | Use signature-based minting functionality to mint new NFTs into the contract |
| ERC721Staking | Implement ERC721 staking mechanism |
| ERC721Supply | View information about the supply of the NFT collection |
ERC1155
| Name | Description |
|---|---|
| ERC1155 | Basic functionality of ERC1155 "semi-fungible" NFTs |
| ERC1155BatchMintable | Batch minting of new NFTs |
| ERC1155Burnable | Burn (take out of circulation) NFTs |
| ERC1155Claimable | Interface to allow users to claim NFTs that you have lazy minted |
| ERC1155ClaimConditions | Allow users to claim NFTs from your drop under specific conditions (one claim phase) |
| ERC1155ClaimCustom | Allow users to claim NFTs from your drop under specific conditions |
| ERC1155ClaimPhases | Allow users to claim NFTs from your drop under specific conditions (multiple claim phases) |
| ERC1155Drop | For distributing ERC21155 tokens to set up multiple claim phases |
| ERC1155DropSinglePhase | For distributing ERC1155 tokens to set up a single claim phase |
| ERC1155Enumerable | Enumerate through NFTs in a contract to get all or get owned NFTs |
| ERC1155Mintable | Mint new NFTs into the contract |
| ERC1155Revealable | NFTs that can be revealed at a later date after they have been minted and claimed |
| ERC1155SignatureMint | Use signature-based minting functionality to mint new NFTs into the contract |
| ERC1155Staking | Implement ERC721 staking mechanism |
ERC20
| Name | Description |
|---|---|
| ERC20 | Basic functionality of ERC20 "fungible" tokens |
| ERC20BatchMintable | Batch minting of new tokens |
| ERC20Burnable | Burn (take out of circulation) tokens |
| ERC20ClaimConditions | Allow users to claim tokens from your drop under specific conditions (one claim phase) |
| ERC20ClaimPhases | Allow users to claim tokens from your drop under specific conditions (multiple claim phases) |
| ERC20Mintable | Mint new tokens into the contract |
| ERC20Permit | Mint new tokens into the contract |
| ERC20SignatureMint | Use signature-based minting functionality to mint new tokens into the contract |
| ERC20Staking | Implement ERC20 staking mechanism |
General & Mixed
| Name | Description |
|---|---|
| BatchMintMetadata | Batch minting of new tokens |
| ContractMetadata | Define metadata for your smart contract |
| DelayedReveal | create batches of 'delayed-reveal' NFTs |
| Drop | for distributing ERC20 or ERC721 tokens to set up multiple claim phases |
| DropSinglePhase | for distributing ERC20 or ERC721 tokens to set up a single claim phase |
| LazyMint | Pre define the metadata for NFTs before they are minted & upload to IPFS |
| Multicall | Batch together multiple calls in a single external call |
| Ownable | Set an owner for your smart contract |
| Permissions | Provide role-based access control |
| PermissionsEnumerable | Provide role-based access control, plus the capability to view all the addresses holding a specific role |
| PlatformFee | Charge a percentage fee wherever there is a transfer of currency |
| PrimarySale | Set a recipient for any sale value you intend to collect |
| Royalty | Take a percentage fee of secondary sales of your NFTs by giving royalty support on NFT marketplaces |