Extensions

ERC721

NameDescription
ERC721Basic functionality of ERC721 "non-fungible" NFTs
ERC721BatchMintableBatch minting of new NFTs
ERC721BurnableBurn (take out of circulation) NFTs
ERC721ClaimableInterface to allow users to claim NFTs that you have lazy minted
ERC721ClaimConditionsAllow users to claim NFTs from your drop under specific conditions (one claim phase)
ERC721ClaimCustomAllow users to claim NFTs from your drop under specific conditions
ERC721ClaimPhasesAllow users to claim NFTs from your drop under specific conditions (multiple claim phases)
ERC721EnumerableEnumerate through NFTs in a contract to get all or get owned NFTs
ERC721MintableMint new NFTs into the contract
ERC721RevealableNFTs that can be revealed at a later date after they have been minted and claimed
ERC721SignatureMintUse signature-based minting functionality to mint new NFTs into the contract
ERC721StakingImplement ERC721 staking mechanism
ERC721SupplyView information about the supply of the NFT collection

ERC1155

NameDescription
ERC1155Basic functionality of ERC1155 "semi-fungible" NFTs
ERC1155BatchMintableBatch minting of new NFTs
ERC1155BurnableBurn (take out of circulation) NFTs
ERC1155ClaimableInterface to allow users to claim NFTs that you have lazy minted
ERC1155ClaimConditionsAllow users to claim NFTs from your drop under specific conditions (one claim phase)
ERC1155ClaimCustomAllow users to claim NFTs from your drop under specific conditions
ERC1155ClaimPhasesAllow users to claim NFTs from your drop under specific conditions (multiple claim phases)
ERC1155DropFor distributing ERC1155 tokens to set up multiple claim phases
ERC1155DropSinglePhaseFor distributing ERC1155 tokens to set up a single claim phase
ERC1155EnumerableEnumerate through NFTs in a contract to get all or get owned NFTs
ERC1155MintableMint new NFTs into the contract
ERC1155RevealableNFTs that can be revealed at a later date after they have been minted and claimed
ERC1155SignatureMintUse signature-based minting functionality to mint new NFTs into the contract
ERC1155StakingImplement ERC721 staking mechanism

ERC20

NameDescription
ERC20Basic functionality of ERC20 "fungible" tokens
ERC20BatchMintableBatch minting of new tokens
ERC20BurnableBurn (take out of circulation) tokens
ERC20ClaimConditionsAllow users to claim tokens from your drop under specific conditions (one claim phase)
ERC20MintableMint new tokens into the contract
ERC20PermitMint new tokens into the contract
ERC20SignatureMintUse signature-based minting functionality to mint new tokens into the contract
ERC20StakingImplement ERC20 staking mechanism

General

NameDescription
BatchMintMetadataBatch minting of new tokens
ContractMetadataDefine metadata for your smart contract
DelayedRevealcreate batches of 'delayed-reveal' NFTs
Dropfor distributing ERC20 or ERC721 tokens to set up multiple claim phases
DropSinglePhasefor distributing ERC20 or ERC721 tokens to set up a single claim phase
LazyMintPre define the metadata for NFTs before they are minted & upload to IPFS
MulticallBatch together multiple calls in a single external call
OwnableSet an owner for your smart contract
PermissionsProvide role-based access control
PermissionsEnumerableProvide role-based access control, plus the capability to view all the addresses holding a specific role
PlatformFeeCharge a percentage fee wherever there is a transfer of currency
PrimarySaleSet a recipient for any sale value you intend to collect
RoyaltyTake a percentage fee of secondary sales of your NFTs by giving royalty support on NFT marketplaces

Account Abstraction

NameDescription
AccountExtensionBatch minting of new tokens
BaseAccountImplementation of the IAccount interface used to detect the SmartWallet Dashboard extension.
BaseAccountFactoryImplementation of the IAccountFactory interface used to detect the SmartWalletFactory Dashboard extension.