tokenName
untyped stringValue
"Golden Ticket"
tokenSymbol
untyped stringValue
"GOLD"
ticket
v0.TokenIDValue
<gnolang.StringValue>
defaultImage
untyped stringValue
"https://raw.githubusercontent.com/gnolang/workshops/main/assets/gno-icon-white.png"
errNoTicket
untyped stringValue
"goldenticket: there is one ticket, id 1"
errNotOwner
untyped stringValue
"goldenticket: caller does not hold the ticket"
errBadOwner
untyped stringValue
"goldenticket: invalid recipient address"
errNotAdmin
untyped stringValue
"goldenticket: caller is not the admin"
errBadImage
untyped stringValue
"goldenticket: image must be an https URL, 12 to 300 characters of [A-Za-z0-9./_-:?=&%~+]"
Token
*v0.Token- OID
- 046b0e…e85c:22
Token details
ledger
*v0.PrivateLedger- OID
- 046b0e…e85c:24
ledger details
admin
.uverse.address// the publisher: the only one who sets the image
Value
<gnolang.StringValue>
image
string// what TokenURI returns, and Render and TokenMetadata show
Value
"https://raw.githubusercontent.com/gnolang/workshops/main/assets/gno-icon-white.png"
init.13
func()- OID
- 046b0e…e85c:7
init.13 details
bootstrap
func(publisher .uverse.address, rlm .uverse.realm)bootstrap creates the collection and mints the ticket to publisher; with no valid publisher, under \`gno test\`, it mints nothing.
- OID
- 046b0e…e85c:9
bootstrap details
Name
func() stringName and Symbol, as GRC721 tokens have them. Adena reads both from the NewToken event.
- OID
- 046b0e…e85c:10
Name details
Symbol
func() string- OID
- 046b0e…e85c:11
Symbol details
Admin
func() .uverse.address- OID
- 046b0e…e85c:12
Admin details
Image
func() stringImage returns the current image URL.
- OID
- 046b0e…e85c:13
Image details
SetImage
func(url string)SetImage points the ticket at another image, at once: TokenURI is computed on every read. Admin only, by a direct call.
- OID
- 046b0e…e85c:14
SetImage details
validImage
func(s string) boolvalidImage reports whether s is an https URL of 12 to 300 characters of \[A-Za-z0-9./\_-:?=&%~+]. The charset keeps it safe in JSON and markdown without escaping: no quote, bracket, parenthesis, space or backslash.
- OID
- 046b0e…e85c:15
validImage details
OwnerOf
func(tid v0.TokenID) (.uverse.address, .uverse.error)- OID
- 046b0e…e85c:16
OwnerOf details
BalanceOf
func(addr .uverse.address) (int64, .uverse.error)BalanceOf returns 1 for the holder of the ticket, 0 for everyone else.
- OID
- 046b0e…e85c:17
BalanceOf details
TokenURI
func(tid v0.TokenID) (string, .uverse.error)TokenURI returns the image of the ticket: what Adena shows.
- OID
- 046b0e…e85c:18
TokenURI details
TokenMetadata
func(tid v0.TokenID) (string, .uverse.error)TokenMetadata returns the metadata of the ticket as JSON, with the keys Adena reads.
- OID
- 046b0e…e85c:19
TokenMetadata details
Transfer
func(to .uverse.address)Transfer gives the ticket to someone else. Only its holder can, by a direct call (maketx call or Adena), not through another realm.
- OID
- 046b0e…e85c:20
Transfer details
Render
func(string) stringRender shows the ticket and who holds it.
- OID
- 046b0e…e85c:21