Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.
AddToWhitelist(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, wallet string, bps int64)
AddToWhitelistBatch(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, walletsCSV string, bps int64)
Age(tid string) int64
Approve(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, to string, tid string)
ApprovedVersion() string
BalanceOf(owner string) (int64, interface {Error func() string})
Burn(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, tid string)
BurnedTokenSummary(tid string) (string, interface {Error func() string})
ClaimAt(index int) (wallet string, bps int64, mintHeight_ int64, tid string)
ClaimCount() int64
CollectionSummary(page int) string
EffectivePrice(caller string) int64
GetApproved(tid string) (string, interface {Error func() string})
GetName() string
GetSymbol() string
IsApprovedForAll(owner string, operator string) bool
IsRevealed(tid string) bool
IsTraitComboAvailable(comboKey string) bool
MaxMintsPerWallet() int64
MintedIDs() []gno.land/p/nt/grc721/v0.TokenID
MintingOpen() bool
MintPrice() int64
MintsByWallet(owner string) int64
Name() string
Owner() string
OwnerOf(tid string) (string, interface {Error func() string})
RecordMint(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, to string, payer string, tid string, chainName string, shapeIdx int, colorIdx int, metal string, active bool, comboKey string, rarity string) string
RemoveFromWhitelist(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, wallet string)
Render(path string) string
ReportMaxMintsPerWallet(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, max int64)
ReportMintingOpen(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, open bool)
RoyaltyBps() int64
RoyaltyInfo(tid string, salePrice int64) (string, int64, interface {Error func() string})
RoyaltyRecipient() string
SafeTransferFrom(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, from string, to string, tid string)
SetApprovalForAll(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, operator string, approved bool)
SetApprovedVersion(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, pkgpath string)
SetMintPrice(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, ugnot int64)
SetRoyaltyBps(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, bps int64)
SetRoyaltyRecipient(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, recipient string)
Symbol() string
TokenCount() int64
TokenID() string
TokenJSON(tid string) (string, interface {Error func() string})
TokenMetadata(tid string) (string, interface {Error func() string})
TokenSummary(tid string) (string, interface {Error func() string})
TokenURI(tid string) (string, interface {Error func() string})
TotalBurned() int64
TransferFrom(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, from string, to string, tid string)
WalletSummary(owner string, startIdx int64) (summary string, nextIdx int64)
WhitelistBps(wallet string) (bps int64, ok bool)
WhitelistCount() int64
WhitelistEntry(index int) (wallet string, bps int64)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
# GNO Gems ($GEMS)
* **Total supply**: 41
* **Known accounts**: 21
## About
GNO Gems are gemstones captured in an anti-gravity field. Each stone floats, suspended, at the heart of the ring around it -- gold, platinum, silver, bronze or obsidian -- which holds it in place and turns it into a display piece for the collector.
The collection is inspired by the names of gno.land's chains. Every piece's Chain trait names a gno.land chain generation, and its stone is that chain's own: Topaz, Sapphire and Pearl for the testnets that carry those names, Diamond for mainnet, and Quartz for the testnets without one. Only real cuts and colours; every image is drawn on-chain. Delayed-reveal mint: each piece's traits stay sealed for a few blocks after it is minted.
* **Owner**: g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems
* **Assembled trait combinations minted**: 41
* **Max supply**: unlimited
* **Minting**: open
* **Mint price**: 100 GNOT
* **Reveal delay**: 5 block(s)
* **Max mints per wallet**: unlimited
* **Secondary sale royalty**: 5% (EIP-2981 RoyaltyInfo)
* **Burned**: 1 -- [view burned tokens ->](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:burned)
## Minted so far
_page 1 of 5 -- 42 minted total_
| Image | Index | Name | Owner |
|:---:|:---:|---|---|
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/42) | [#42](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/42) | Rock Crystal Heart · Gold Ring · TEST-7 | g1tllj…2ttr |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/41) | [#41](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/41) | Citrine Princess Cut · Obsidian Ring · TEST-6 | g12l0n…nhv5 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/40) | [#40](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/40) | Smoky Quartz Cushion · Silver Ring · TEST-1 | g1w93f…qzrc |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/39) | [#39](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/39) | Rock Crystal Marquise · Silver Ring · TEST-3 | g10h82…uya8 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/38) | [#38](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/38) | Amethyst Pear · Platinum Ring · TEST-4 | g10h82…uya8 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/37) | [#37](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/37) | Citrine Rose Cut · Obsidian Ring · TEST-12 | g1g8l8…7qsf |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/36) | [#36](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/36) | Citrine Trillion · Bronze Ring · TEST-5 | g17ypm…zuf6 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/35) | [#35](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/35) | Amethyst Round Brilliant · Platinum Ring · TEST-2 | g12mkj…nxn3 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/34) | [#34](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/34) | Pink Topaz Pear · Platinum Ring · TOPAZ-1 | g12mkj…nxn3 |
| [](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/33) | [#33](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:token/33) | Amethyst Heart · Silver Ring · TEST-2 | g12mkj…nxn3 |
**1** - [2](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:page/2) - [3](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:page/3) - ... - [5](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:page/5) - [older ->](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:page/2) - [Last >>](/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable:page/5)
vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.