Voucher NFT Collection
Overview
Each Voucher consists of two parts: an NFT (representing ownership) and an ERC6551Account (representing data). The Voucher NFT must belong to a Vemo Voucher NFT Collection, which is associated with a specific token address (locked asset) and must be pre-deployed before minting vouchers.
Types of Voucher NFT Collections
Manual TokenURI Provision: TokenURI must be provided (selfhost tokenURI) but the collection's name and symbol can be customized according.
Auto-Generating TokenURI (Coming Soon): Vemo will offer an algorithm to automatically generate TokenURIs based on a provided template. The collection's name and symbol will be automatically generated based on Vemo's standard.
How to create a collection
The VoucherFactory provides interfaces for creating VoucherCollection,
The deployment contract addresses of VoucherCollection.sol on different chains:
Avalanche Fuji Testnet
0x65B903D7903d277bE600B8524a759aBEa3CC7e1A
Avalanche Mainnet
0xbB740E17f3c177172CaAcCef2F472DB41b9b1d19
Bnb Mainnet
0x9869524fd160fe3adDA6218883B6526c0977D3a5
Manual TokenURI Provision
createVoucherCollection: Create a Collection that associated with a token address, name and symbol need to provide
function createVoucherCollection(
address token,
string calldata name,
string calldata symbol,
IFactory.CollectionSettings calldata settings
) public nonReentrant returns (address) {}
struct CollectionSettings {
uint96 royaltyRate;
bool isSoulBound;
FreeMintableType isFreeMintable;
bool isSemiTransferable;
}
enum FreeMintableType {
NON_FREE_MINTABLE,
FREE_MINT_COMMUNITY,
FREE_MINT_WHITELIST
}
Auto-Generating TokenURI (Coming Soon)
createAutoURIVoucherCollection: Create a Collection that associated with a token address, all tokenURI of tokens will be automatically generated.
function createAutoURIVoucherCollection(
address token,
address descriptor
) public nonReentrant returns (address) {}
Last updated