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

gnobuilders_badges_v2 state

Back to all declarations

CollectionName

untyped string

Value

"GnoBuilders Badges"

CollectionSymbol

untyped string

Value

"GNOBADGE"

MaxAdmins

untyped bigint

Value

(10 <untyped> bigint)

Badge

type

Value

gnobuilders_badges_v2.Badge

ownerIndex

*avl.Tree

// address -> comma-separated tokenIDs (secondary index)

Open
OID
064918…0d48:56
ownerIndex details

Inspect pointer

balances

*avl.Tree

// address -> int (badge count)

Open
OID
064918…0d48:58
balances details

Inspect pointer

approvals

*avl.Tree

// tokenID -> approved address

Open
OID
064918…0d48:60
approvals details

Inspect pointer

opApprove

*avl.Tree

// "owner:operator" -> bool (approval for all)

Open
OID
064918…0d48:62
opApprove details

Inspect pointer

owner

.uverse.address

Value

<gnolang.StringValue>

totalMinted

uint64

Value

0

paused

bool

Value

false

BalanceOf

func(addr .uverse.address) uint64
Open
OID
064918…0d48:21
BalanceOf details

Inspect func

OwnerOf

func(tokenID string) .uverse.address
Open
OID
064918…0d48:22
OwnerOf details

Inspect func

TokenURI

func(tokenID string) string
Open
OID
064918…0d48:23
TokenURI details

Inspect func

Approve

func(approved .uverse.address, tokenID string)
Open
OID
064918…0d48:24
Approve details

Inspect func

SetApprovalForAll

func(operator .uverse.address, approved bool)
Open
OID
064918…0d48:25
SetApprovalForAll details

Inspect func

IsApprovedForAll

func(ownerAddr .uverse.address, operator .uverse.address) bool
Open
OID
064918…0d48:26
IsApprovedForAll details

Inspect func

GetApproved

func(tokenID string) .uverse.address
Open
OID
064918…0d48:27
GetApproved details

Inspect func

TransferFrom

func(from .uverse.address, to .uverse.address, tokenID string)
Open
OID
064918…0d48:28
TransferFrom details

Inspect func

MintQuestBadge

func(to .uverse.address, questID string, tokenURI string) string

MintQuestBadge mints a quest completion badge to a user. Token ID is "{address}:{questId}" to enforce one badge per quest per user. Quest badges are transferable by default.

Open
OID
064918…0d48:29
MintQuestBadge details

Inspect func

MintRankBadge

func(to .uverse.address, tier int, tokenURI string) string

MintRankBadge mints a soulbound rank badge to a user. Token ID is "{address}:rank:{tier}" to enforce one rank badge per tier per user. Rank badges are NON-transferable (soulbound).

Open
OID
064918…0d48:30
MintRankBadge details

Inspect func

UpdateTokenURI

func(tokenID string, newURI string)

UpdateTokenURI allows an admin to update the metadata URI of a badge. This is critical because realm code is immutable once deployed — if badge metadata needs correction (e.g., broken IPFS CID), this is the only mechanism.

Open
OID
064918…0d48:31
UpdateTokenURI details

Inspect func

BurnBadge

func(tokenID string)

BurnBadge permanently removes a badge. Admin-only for soulbound badges, owner or admin for transferable badges.

Open
OID
064918…0d48:32
BurnBadge details

Inspect func

AddAdmin

func(addr .uverse.address)
Open
OID
064918…0d48:33
AddAdmin details

Inspect func

RemoveAdmin

func(addr .uverse.address)
Open
OID
064918…0d48:34
RemoveAdmin details

Inspect func

TransferOwnership

func(newOwner .uverse.address)

TransferOwnership transfers realm ownership. The old owner remains as admin (the new owner can call RemoveAdmin to revoke). This is intentional to prevent accidental lockout during multi-step ownership transfers.

Open
OID
064918…0d48:35
TransferOwnership details

Inspect func

IsAdmin

func(addr .uverse.address) bool
Open
OID
064918…0d48:36
IsAdmin details

Inspect func

GetBadge

func(tokenID string) string

GetBadge returns badge info as a pipe-delimited string.

Open
OID
064918…0d48:38
GetBadge details

Inspect func

GetUserBadges

func(addr .uverse.address) string

GetUserBadges returns all badge token IDs for a user as comma-separated string. Uses the ownerIndex for O(1) lookup instead of full table scan.

Open
OID
064918…0d48:39
GetUserBadges details

Inspect func

GetUserBadgeDetails

func(addr .uverse.address) string

GetUserBadgeDetails returns full badge details for a user as a multi-line string. Each line: tokenID|owner|questID|tokenURI|soulbound|mintedAt This avoids N+1 queries from the frontend — one call returns all badge data.

Open
OID
064918…0d48:40
GetUserBadgeDetails details

Inspect func

renderBadge

func(tokenID string) string
Open
OID
064918…0d48:43
renderBadge details

Inspect func

renderUserBadges

func(addr string) string
Open
OID
064918…0d48:44
renderUserBadges details

Inspect func

assertCallerIsAdmin

func()
Open
OID
064918…0d48:45
assertCallerIsAdmin details

Inspect func

assertCallerIsOwner

func()
Open
OID
064918…0d48:46
assertCallerIsOwner details

Inspect func

incBalance

func(addr .uverse.address)
Open
OID
064918…0d48:47
incBalance details

Inspect func

decBalance

func(addr .uverse.address)
Open
OID
064918…0d48:48
decBalance details

Inspect func

truncAddr

func(addr .uverse.address) string
Open
OID
064918…0d48:49
truncAddr details

Inspect func

truncStr

func(s string, maxLen int) string
Open
OID
064918…0d48:50
truncStr details

Inspect func

addToOwnerIndex

func(addr .uverse.address, tokenID string)
Open
OID
064918…0d48:51
addToOwnerIndex details

Inspect func

containsChar

func(s string, ch int32) bool
Open
OID
064918…0d48:52
containsChar details

Inspect func

removeFromOwnerIndex

func(addr .uverse.address, tokenID string)
Open
OID
064918…0d48:53
removeFromOwnerIndex details

Inspect func
CollectionName : untyped string ="GnoBuilders Badges"
CollectionSymbol : untyped string ="GNOBADGE"
MaxAdmins : untyped bigint =(10 <untyped> bigint)
Badge : type =gnobuilders_badges_v2.Badge
badges : *avl.Tree Inspect
ownerIndex : *avl.Tree Inspect
balances : *avl.Tree Inspect
approvals : *avl.Tree Inspect
opApprove : *avl.Tree Inspect
admins : *avl.Tree Inspect
owner : .uverse.address =<gnolang.StringValue>
totalMinted : uint64 =0
paused : bool =false
init.13 : func() Inspect
assertNotPaused : func() Inspect
Pause : func() Inspect
Unpause : func() Inspect
IsPaused : func() bool Inspect
Name : func() string Inspect
Symbol : func() string Inspect
TotalSupply : func() uint64 Inspect
BalanceOf : func(addr .uverse.address) uint64 Inspect
OwnerOf : func(tokenID string) .uverse.address Inspect
TokenURI : func(tokenID string) string Inspect
Approve : func(approved .uverse.address, tokenID string) Inspect
SetApprovalForAll : func(operator .uverse.address, approved bool) Inspect
IsApprovedForAll : func(ownerAddr .uverse.address, operator .uverse.address) bool Inspect
GetApproved : func(tokenID string) .uverse.address Inspect
TransferFrom : func(from .uverse.address, to .uverse.address, tokenID string) Inspect
MintQuestBadge : func(to .uverse.address, questID string, tokenURI string) string Inspect
MintRankBadge : func(to .uverse.address, tier int, tokenURI string) string Inspect
UpdateTokenURI : func(tokenID string, newURI string) Inspect
BurnBadge : func(tokenID string) Inspect
AddAdmin : func(addr .uverse.address) Inspect
RemoveAdmin : func(addr .uverse.address) Inspect
TransferOwnership : func(newOwner .uverse.address) Inspect
IsAdmin : func(addr .uverse.address) bool Inspect
GetOwner : func() .uverse.address Inspect
GetBadge : func(tokenID string) string Inspect
GetUserBadges : func(addr .uverse.address) string Inspect
GetUserBadgeDetails : func(addr .uverse.address) string Inspect
Render : func(path string) string Inspect
renderHome : func() string Inspect
renderBadge : func(tokenID string) string Inspect
renderUserBadges : func(addr string) string Inspect
assertCallerIsAdmin : func() Inspect
assertCallerIsOwner : func() Inspect
incBalance : func(addr .uverse.address) Inspect
decBalance : func(addr .uverse.address) Inspect
truncAddr : func(addr .uverse.address) string Inspect
truncStr : func(s string, maxLen int) string Inspect
addToOwnerIndex : func(addr .uverse.address, tokenID string) Inspect
containsChar : func(s string, ch int32) bool Inspect
removeFromOwnerIndex : func(addr .uverse.address, tokenID string) Inspect