const CEvents, CTickets, Chunk
The tickets records this realm reads, written by the tickets writer. Every tickets release keeps this layout: the artwork of existing tickets depends on it.
Package nft holds GnoRadio's concert tickets as GRC721 NFTs. It is permanent, like the data realm: a tickets release ...
Package nft holds GnoRadio's concert tickets as GRC721 NFTs. It is permanent, like the data realm: a tickets release changes the rules, never this ledger, so no ticket ever moves to a new contract.
Only the realm that writes the tickets role now (data.Writer("tickets")) mints and transfers, only while that role is not paused, and only for the wallet that signs the transaction (OriginCaller): a release can never move the ticket of a holder who signs nothing. That is the whole guarantee. The signature proves the holder sent some transaction through the tickets writer, not that they asked for this move: a malicious tickets release (it takes over only after the data realm's public 72 h window, which the guardian can cancel) could move every ticket of a holder who then signs any call to it. This realm cannot see further up the call stack. Anyone reads.
A ticket's metadata and artwork are drawn on the fly from the tickets data (art.gno), whose record layout below is frozen for that reason.
The tickets records this realm reads, written by the tickets writer. Every tickets release keeps this layout: the artwork of existing tickets depends on it.
Event record fields (store.Rec); the one each sale changes comes first.
Ticket record fields.
The catalog's artist heads, read for a ticket's artist line: every catalog release keeps this layout, since it shares the data realm's records (catalog/v1 records.gno). Reading them here, not through a catalog realm, keeps this permanent realm free of any versioned import.
ArtistName is a visible artist's name, "" otherwise (one data read: the catalog's artist record, through the frozen layout).
BalanceOf is how many tickets owner holds.
EventSVG is the specimen ticket of a visible concert as a markdown image, or "" when the concert is not visible.
Mint creates ticket id for to, the wallet that signed the transaction. The tickets writer only.
Render shows the collection.
TicketSVG is a ticket as a markdown image, or "" if unknown.
TokenURI is a ticket's GRC721 metadata as a data URI, its artwork drawn on the fly. It panics for an unknown ticket.
Transfer moves ticket id from its holder from to to. The tickets writer only, and only in a transaction from signed: no release moves the tickets of a holder who signs nothing (see the package comment for what a malicious release could still do). The rules decide who may gift.