grc721v2 source pure
2
1
var ErrInvalidTokenId, ErrInvalidAddress, ErrTokenIdNotHasApproved, ErrApprovalToCurrentOwner, ErrCallerIsNotOwner, ErrCallerNotApprovedForAll, ErrCannotTransferToSelf, ErrTransferFromIncorrectOwner, ErrTransferToNonGRC721Receiver, ErrCallerIsNotOwnerOrApproved, ErrTokenIdAlreadyExists, ErrNotRealm, ErrInvalidName, ErrInvalidSymbol
1var (
2 ErrInvalidTokenId = errors.New("invalid token id")
3 ErrInvalidAddress = errors.New("invalid address")
4 ErrTokenIdNotHasApproved = errors.New("token id not approved for anyone")
5 ErrApprovalToCurrentOwner = errors.New("approval to current owner")
6 ErrCallerIsNotOwner = errors.New("caller is not token owner")
7 ErrCallerNotApprovedForAll = errors.New("caller is not approved for all")
8 ErrCannotTransferToSelf = errors.New("cannot send transfer to self")
9 ErrTransferFromIncorrectOwner = errors.New("transfer from incorrect owner")
10 ErrTransferToNonGRC721Receiver = errors.New("transfer to non GRC721Receiver implementer")
11 ErrCallerIsNotOwnerOrApproved = errors.New("caller is not token owner or approved")
12 ErrTokenIdAlreadyExists = errors.New("token id already exists")
13
14 ErrNotRealm = errors.New("rlm must be a realm (got EOA/origin)")
15 ErrInvalidName = errors.New("invalid token name (empty, too long, or contains control chars)")
16 ErrInvalidSymbol = errors.New("invalid token symbol (empty, too long, or contains chars outside [A-Za-z0-9_-])")
17)2
func NewBasicNFT
func NewNFTWithMetadata
11
type BasicNFT
struct 1type BasicNFT struct {
2 name string
3 symbol string
4 origRealm string // owning realm's package path
5 owners avl.Tree // tokenId -> OwnerAddress
6 balances avl.Tree // OwnerAddress -> TokenCount
7 tokenApprovals avl.Tree // TokenId -> ApprovedAddress
8 tokenURIs avl.Tree // TokenId -> URIs
9 operatorApprovals avl.Tree // "OwnerAddress:OperatorAddress" -> bool
10}Methods on BasicNFT
func Approve
method on BasicNFTfunc BalanceOf
method on BasicNFTfunc Burn
method on BasicNFTfunc GetApproved
method on BasicNFTfunc Getter
method on BasicNFTfunc ID
method on BasicNFTfunc IsApprovedForAll
method on BasicNFTfunc Mint
method on BasicNFTfunc Name
method on BasicNFTfunc OwnerOf
method on BasicNFTfunc RenderHome
method on BasicNFTfunc SafeMint
method on BasicNFTfunc SafeTransferFrom
method on BasicNFTfunc SetApprovalForAll
method on BasicNFTfunc SetTokenURI
method on BasicNFTfunc Symbol
method on BasicNFTfunc TokenCount
method on BasicNFTfunc TokenURI
method on BasicNFTfunc TransferFrom
method on BasicNFTtype IGRC721CollectionMetadata
interfacetype IGRC721Metadata
interfacetype IGRC721MetadataOnchain
interfacetype IGRC721Reader
interfacetype Metadata
struct 1type Metadata struct {
2 Image string // URL, IPFS/Arweave path, or (commonly here) a data: URI holding the image itself.
3 ImageData string // Raw SVG image data, if generating images on the fly. Only used if Image is empty.
4 ExternalURL string // URL shown alongside the asset on marketplaces, linking back to the collection's own site.
5 Description string // Human-readable description of the item. Markdown is supported.
6 Name string // Name of the item.
7 Attributes []Trait // Attributes for the item, shown on marketplace pages for the item.
8 BackgroundColor string // Background color of the item on marketplaces. Six-character hex, no leading #.
9 AnimationURL string // URL/data URI to a multimedia attachment for the item.
10 YoutubeURL string // URL to a YouTube video (only used if AnimationURL is not provided).
11}type MetadataNFT
structMethods on MetadataNFT
func Approve
method on MetadataNFTfunc BalanceOf
method on MetadataNFTfunc Burn
method on MetadataNFTfunc GetApproved
method on MetadataNFTfunc IsApprovedForAll
method on MetadataNFTfunc Mint
method on MetadataNFTfunc Name
method on MetadataNFTfunc OwnerOf
method on MetadataNFTfunc RenderHome
method on MetadataNFTfunc SafeMint
method on MetadataNFTfunc SafeTransferFrom
method on MetadataNFTfunc SetApprovalForAll
method on MetadataNFTfunc SetTokenMetadata
method on MetadataNFTfunc SetTokenURI
method on MetadataNFTfunc Symbol
method on MetadataNFTfunc TokenCount
method on MetadataNFTfunc TokenMetadata
method on MetadataNFTfunc TokenURI
method on MetadataNFTfunc TransferFrom
method on MetadataNFTtype NFTGetter
functype TokenID
identtype TokenURI
identtype Trait
struct9
- chain stdlib
- chain/runtime/unsafe stdlib
- encoding/base64 stdlib
- errors stdlib
- gno.land/p/g1wx60nkcp5lfsxmedeg7sfs47tzxkath05u63t4/avl package
- gno.land/p/nt/ufmt/v0 package
- math/overflow stdlib
- strconv stdlib
- strings stdlib