package mynft5 import ( "strconv" "chain/runtime" "gno.land/p/demo/tokens/grc721" "gno.land/r/pierre115/nftregistry4" ) type NFTCollection interface { grc721.IGRC721 Mint(to address, tid grc721.TokenID) error Getter() grc721.NFTGetter } var ( nft NFTCollection nextTokenId = 1 ) func init() { nft = grc721.NewBasicNFT("Test NFT Collection 5", "TEST5") } // Register registers this collection on the NFT registry func Register(_ realm) { nftregistry4.RegisterCollection( "Test NFT Collection 5", "TEST5", "art", "My awesome NFT collection", "https://example.com", false, // ← supportsMetadata - BasicNFT ne supporte pas les metadata avancées nft.Getter(), ) } func MintNFT(_ realm) int { caller := runtime.PreviousRealm().Address() tokenId := grc721.TokenID(strconv.Itoa(nextTokenId)) err := nft.Mint(caller, tokenId) if err != nil { panic(err.Error()) } nextTokenId++ return nextTokenId - 1 } func SetApprovalForAll(_ realm, operator address, approved bool) { err := nft.SetApprovalForAll(operator, approved) if err != nil { panic(err.Error()) } } func Getter() grc721.NFTGetter { return nft.Getter() } func Render(path string) string { output := "# My test collection\n\n" output += "## test 5\n\n" return output }