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

stable package

Overview

Package stablev4 is the permanent half of the gems6v2 split-realm design (stablev3 plus two fixes from the 2026-09-15 Pearl test run: a burned token's own page, and no per-token copy of the sealed image) -- a candidate successor to the real gems6/stable, built to prove two things together before either goes anywhere near mainnet: a delayed-reveal mint (fixing the OutOfGasError problem the real gems6/v1's instant-reveal MintAssembled has against Adena's own gas estimation -- confirmed on a throwaway single-realm spike, gno.land/r/g1gn6t0q9wenwhdda47rkrpfd63kcxjvyp7eqwku/revealpoc, before this real split-realm version was attempted), and the approved gemsartfab art package (crystal-look repaint + a real Rose Cut cascade fix + a facet-merge seam fix on Round Brilliant/Oval).

Deployed under a test address (not the vesting wallet) so this whole prototype -- stable, campaign, v2, and gemsartfab itself -- is self-contained and doesn't need the real collection's own keys to validate. Folding a confirmed-good design into the real mainnet deploy is a separate step once this proves out.

Reveal mechanism: MintAssembled records a trait selection and a SEALED placeholder image immediately (cheap, see RecordMint's own doc comment for why this is the whole point). TokenURI/TokenMetadata compute the real image via gemsartfab -- but ONLY once RevealDelayBlocks has passed -- through currentMetadata, which is the one addition to the real stable's own read path. This DOES mean this realm, unlike the real gems6/stable, imports an art package directly: unavoidable given gno's static imports (the realm serving TokenURI has to know how to render, and rendering can't be deferred to "whichever realm is currently approved" the way minting can, since a future version's own art package isn't importable before it exists). Matches the tradeoff the older g20 collection already accepted for the exact same reason -- not a new problem introduced here.

Everything else (ownership, whitelist, royalty, claim log, campaign wiring) is unchanged from the real gems6/stable -- see that package's own doc comments for the full design history.

Ledger: the standard gno.land/p/nt/grc721/v0 (2026-09-26), not a vendored grc721. Adena lists only collections whose NewToken/Transfer events come from that exact package (see ~/gno-land-dev-notes.md), and chain.Emit stamps the emitting package, so this cannot be retrofitted later. The package stores ownership only; every token's metadata is computed here from its traits (sealedData), never stored per token. TokenURI returns the image itself (Adena puts it straight into an <img>); TokenMetadata returns the metadata as a JSON string, and TokenJSON the classic base64 JSON data URI for marketplaces that want it.

Functions

AddToWhitelist

func AddToWhitelist(cur realm, wallet address, bps int64)

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "AddToWhitelist" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "AddToWhitelist" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

AddToWhitelistBatch

func AddToWhitelistBatch(cur realm, walletsCSV string, bps int64)

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "AddToWhitelistBatch" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "AddToWhitelistBatch" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

Age

func Age(tid grc721.TokenID) int64

Age returns real blocks elapsed since tid was minted, or -1 if it doesn't exist / was never sealed.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.Age()"

Result

Approve

func Approve(cur realm, to address, tid grc721.TokenID)

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "Approve" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "Approve" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

ApprovedVersion

func ApprovedVersion() string

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.ApprovedVersion()"

Result

BalanceOf

func BalanceOf(owner address) (int64, error)

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.BalanceOf()"

Result

Burn

func Burn(cur realm, tid grc721.TokenID)

Burn destroys a token. Caller must be its current owner. Archives the real trait combination as text -- always the real traits, even if burned before the reveal delay passed, since sealedData already has them regardless of whether TokenURI has started showing them publicly yet. Deliberately never renders or stores an image: the archive was only ever a text record (see BurnedTokenSummary/ renderMintedListPage's own "Burned" row), so calling gemsart.RenderTokenSVG here just to immediately discard its output was pure waste -- confirmed live, a burn on an already-revealed token cost ~165M gas, almost entirely that one re-render, roughly the same cost the whole reveal-delay design exists to avoid paying on mint. Releases the trait combo AND the reveal bookkeeping (sealedData/ mintHeight) -- maximizes the real storage-deposit refund, same reasoning the real gems6/stable's own Burn already documents.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "Burn" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "Burn" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

BurnedTokenSummary

func BurnedTokenSummary(tid grc721.TokenID) (string, error)

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.BurnedTokenSummary()"

Result

ClaimCount

func ClaimCount() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.ClaimCount()"

Result

CollectionSummary

func CollectionSummary(page int) string

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.CollectionSummary()"

Result

EffectivePrice

func EffectivePrice(caller address) int64

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.EffectivePrice()"

Result

GetName

func GetName() string

GetName/GetSymbol: the Teller-style names some tools look for.

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.GetName()"

Result

GetSymbol

func GetSymbol() string

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.GetSymbol()"

Result

IsApprovedForAll

func IsApprovedForAll(owner, operator address) bool

Params

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.IsApprovedForAll(,)"

Result

IsRevealed

func IsRevealed(tid grc721.TokenID) bool

IsRevealed reports whether tid's real metadata is visible yet.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.IsRevealed()"

Result

IsTraitComboAvailable

func IsTraitComboAvailable(comboKey string) bool

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.IsTraitComboAvailable()"

Result

MaxMintsPerWallet

func MaxMintsPerWallet() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.MaxMintsPerWallet()"

Result

MintPrice

func MintPrice() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.MintPrice()"

Result

MintedIDs

func MintedIDs() []grc721.TokenID

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.MintedIDs()"

Result

MintingOpen

func MintingOpen() bool

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.MintingOpen()"

Result

MintsByWallet

func MintsByWallet(owner address) int64

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.MintsByWallet()"

Result

Name

func Name() string

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.Name()"

Result

RecordMint

func RecordMint(cur realm, to address, payer address, tid grc721.TokenID, chainName string, shapeIdx, colorIdx int, metal string, active bool, comboKey string, rarity string) grc721.TokenID

RecordMint: the ENTIRE point of this v2 candidate. Unlike the real gems6/stable's own RecordMint, this does NOT take a full, rendered grc721.Metadata -- it takes the raw trait fields instead, and writes a small fixed-size SEALED placeholder to nft's own storage. The real image is never computed here, or anywhere, during a mint transaction -- see currentMetadata for where it actually happens (a plain read, unbound by any tx-level gas-wanted). Only the approved version realm may call this. Reserves comboKey atomically with the mint, same authoritative-check role the real stable's RecordMint plays.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "RecordMint" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "RecordMint" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

RemoveFromWhitelist

func RemoveFromWhitelist(cur realm, wallet address)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "RemoveFromWhitelist" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "RemoveFromWhitelist" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

Render

func Render(path string) string

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.Render()"

Result

ReportMaxMintsPerWallet

func ReportMaxMintsPerWallet(cur realm, max int64)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "ReportMaxMintsPerWallet" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "ReportMaxMintsPerWallet" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

ReportMintingOpen

func ReportMintingOpen(cur realm, open bool)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "ReportMintingOpen" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "ReportMintingOpen" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

RoyaltyBps

func RoyaltyBps() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.RoyaltyBps()"

Result

SafeTransferFrom

func SafeTransferFrom(cur realm, from, to address, tid grc721.TokenID)

SafeTransferFrom: kept for the standard signature. grc721/v0 has no receiver-contract hook, so it is TransferFrom.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SafeTransferFrom" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SafeTransferFrom" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

SetApprovalForAll

func SetApprovalForAll(cur realm, operator address, approved bool)

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetApprovalForAll" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetApprovalForAll" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

SetApprovedVersion

func SetApprovedVersion(cur realm, pkgpath string)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetApprovedVersion" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetApprovedVersion" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

SetMintPrice

func SetMintPrice(cur realm, ugnot int64)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetMintPrice" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetMintPrice" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

SetRoyaltyBps

func SetRoyaltyBps(cur realm, bps int64)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetRoyaltyBps" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetRoyaltyBps" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

SetRoyaltyRecipient

func SetRoyaltyRecipient(cur realm, recipient address)

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetRoyaltyRecipient" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "SetRoyaltyRecipient" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

Symbol

func Symbol() string

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.Symbol()"

Result

TokenCount

func TokenCount() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenCount()"

Result

TokenID

func TokenID() string

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenID()"

Result

TokenJSON

func TokenJSON(tid grc721.TokenID) (string, error)

TokenJSON is the classic OpenSea-style metadata (snake_case keys, the image inline) as a base64 JSON data URI, for marketplaces that expect a tokenURI of that shape.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenJSON()"

Result

TokenMetadata

func TokenMetadata(tid grc721.TokenID) (string, error)

TokenMetadata is the metadata as a JSON string in the camelCase shape Adena reads (name, description, backgroundColor, attributes of {traitType, value}). No image in it, so it costs no render: the image is TokenURI.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenMetadata()"

Result

TokenSummary

func TokenSummary(tid grc721.TokenID) (string, error)

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenSummary()"

Result

TokenURI

func TokenURI(tid grc721.TokenID) (string, error)

TokenURI is the token's image itself, as a data URI: the sealed placeholder until the reveal block, then the full art. Adena puts it straight into an <img>, which also runs the art's CSS animation.

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TokenURI()"

Result

TotalBurned

func TotalBurned() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.TotalBurned()"

Result

TransferFrom

func TransferFrom(cur realm, from, to address, tid grc721.TokenID)

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "TransferFrom" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable" -func "TransferFrom" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
  

WalletSummary

func WalletSummary(owner address, startIdx int64) (summary string, nextIdx int64)

Params

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.WalletSummary(,)"

Result

WhitelistBps

func WhitelistBps(wallet address) (bps int64, ok bool)

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.WhitelistBps()"

Result

WhitelistCount

func WhitelistCount() int64

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.WhitelistCount()"

Result

WhitelistEntry

func WhitelistEntry(index int) (wallet string, bps int64)

Param

Command

gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/g17cjym5e9hhws46lt6329pv2gtx2ay0503hgems/gems/stable.WhitelistEntry()"

Result