Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

v2 state

Back to all declarations

tokenName

untyped string

Value

"Golden Ticket"

tokenSymbol

untyped string

Value

"GOLD"

ticket

v0.TokenID

Value

<gnolang.StringValue>

defaultImage

untyped string

Value

"https://raw.githubusercontent.com/gnolang/workshops/main/assets/gno-icon-white.png"

errNoTicket

untyped string

Value

"goldenticket: there is one ticket, id 1"

errNotOwner

untyped string

Value

"goldenticket: caller does not hold the ticket"

errBadOwner

untyped string

Value

"goldenticket: invalid recipient address"

errNotAdmin

untyped string

Value

"goldenticket: caller is not the admin"

errBadImage

untyped string

Value

"goldenticket: image must be an https URL, 12 to 300 characters of [A-Za-z0-9./_-:?=&%~+]"

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"

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.

Open
OID
046b0e…e85c:9
bootstrap details

Inspect func

Name

func() string

Name and Symbol, as GRC721 tokens have them. Adena reads both from the NewToken event.

Open
OID
046b0e…e85c:10
Name details

Inspect func

Image

func() string

Image returns the current image URL.

Open
OID
046b0e…e85c:13
Image details

Inspect func

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.

Open
OID
046b0e…e85c:14
SetImage details

Inspect func

validImage

func(s string) bool

validImage 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.

Open
OID
046b0e…e85c:15
validImage details

Inspect func

OwnerOf

func(tid v0.TokenID) (.uverse.address, .uverse.error)
Open
OID
046b0e…e85c:16
OwnerOf details

Inspect func

BalanceOf

func(addr .uverse.address) (int64, .uverse.error)

BalanceOf returns 1 for the holder of the ticket, 0 for everyone else.

Open
OID
046b0e…e85c:17
BalanceOf details

Inspect func

TokenURI

func(tid v0.TokenID) (string, .uverse.error)

TokenURI returns the image of the ticket: what Adena shows.

Open
OID
046b0e…e85c:18
TokenURI details

Inspect func

TokenMetadata

func(tid v0.TokenID) (string, .uverse.error)

TokenMetadata returns the metadata of the ticket as JSON, with the keys Adena reads.

Open
OID
046b0e…e85c:19
TokenMetadata details

Inspect func

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.

Open
OID
046b0e…e85c:20
Transfer details

Inspect func

Render

func(string) string

Render shows the ticket and who holds it.

Open
OID
046b0e…e85c:21
Render details

Inspect func
tokenName : untyped string ="Golden Ticket"
tokenSymbol : untyped string ="GOLD"
ticket : v0.TokenID =<gnolang.StringValue>
defaultImage : untyped string ="https://raw.githubusercontent.com/gnolang/workshops/main/assets/gno-icon-white.png"
errNoTicket : untyped string ="goldenticket: there is one ticket, id 1"
errNotOwner : untyped string ="goldenticket: caller does not hold the ticket"
errBadOwner : untyped string ="goldenticket: invalid recipient address"
errNotAdmin : untyped string ="goldenticket: caller is not the admin"
errBadImage : untyped string ="goldenticket: image must be an https URL, 12 to 300 characters of [A-Za-z0-9./_-:?=&%~+]"
Token : *v0.Token Inspect
ledger : *v0.PrivateLedger Inspect
admin : .uverse.address =<gnolang.StringValue>
image : string ="https://raw.githubusercontent.com/gnolang/workshops/main/assets/gno-icon-white.png"
init.13 : func() Inspect
bootstrap : func(publisher .uverse.address, rlm .uverse.realm) Inspect
Name : func() string Inspect
Symbol : func() string Inspect
Admin : func() .uverse.address Inspect
Image : func() string Inspect
SetImage : func(url string) Inspect
validImage : func(s string) bool Inspect
OwnerOf : func(tid v0.TokenID) (.uverse.address, .uverse.error) Inspect
BalanceOf : func(addr .uverse.address) (int64, .uverse.error) Inspect
TokenURI : func(tid v0.TokenID) (string, .uverse.error) Inspect
TokenMetadata : func(tid v0.TokenID) (string, .uverse.error) Inspect
Transfer : func(to .uverse.address) Inspect
Render : func(string) string Inspect