PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/bubble

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
bubble
Namespace
g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr
Files
7 (gnomod.toml)
Exported functions
54
Module
gno.land/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/bubble
gno
0.9

Files (7)

  • gnomod.tomltoml
  • admin.gnogno
  • govern.gnogno
  • kinds.gnogno
  • mint.gnogno
  • render.gnogno
  • token.gnogno
admin.gnogno
1package bubble23// The settings, and who may change them.4//5// admin is whoever deployed the realm (Jae's hotkey signs the addpkg) and is handed to the box's keeper key in the6// same minute ("a token that you control, but admin can be transferred and even destroyed"). An empty admin is7// nobody, permanently: RenounceAdmin is the "destroyed" Jae asked for. After it, every one of these settings moves

Functions

  • Admin() string

  • Allowance(owner string, spender 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}, spender string, amount int64)

  • BalanceOf(owner string) int64

  • Batches() int64

  • 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}, amount int64)

  • Cancel(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}, id int64)

  • DayCap() int64

  • Delegate(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)

  • DelegateOf(who string) string

  • Describe(id int64) string

  • Epoch() uint32

  • Execute(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}, id int64)

  • GetDecimals() int

  • GetName() string

  • GetSymbol() string

  • HasVoted(id int64, who string) bool

  • KindRules(name string) (struct{QuorumBps int64; ThresholdBps int64; ProposeBps int64; VotingBlocks int64; DelayBlocks int64; GraceBlocks int64}, bool)

  • LastBatch() string

  • MeanTurnout() int64

  • Mint(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, amount int64)

  • MintedToday() (minted int64, ceiling int64)

  • Minter() string

  • MintMany(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}, batchID string, list string)

  • NewRules(quorumBps int64, thresholdBps int64, votingBlocks int64, delayBlocks int64, graceBlocks int64, proposeBps int64) struct{QuorumBps int64; ThresholdBps int64; ProposeBps int64; VotingBlocks int64; DelayBlocks int64; GraceBlocks int64}

  • Offer(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}, k interface {Check func(string) .uverse.error; Describe func(string) string; Do func(int, .uverse.realm, string) .uverse.error; Name func() string}, r struct{QuorumBps int64; ThresholdBps int64; ProposeBps int64; VotingBlocks int64; DelayBlocks int64; GraceBlocks int64})

  • PastTotalVotes(at uint32) int64

  • PastVotes(who string, at uint32) int64

  • Paused() bool

  • Premined() int64

  • Preview(kind string, payload string) string

  • Propose(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}, kind string, payload string, title string) int64

  • ReferralMinted() int64

  • ReleaseRoll(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}, id int64)

  • Render(path string) string

  • RenounceAdmin(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})

  • ReserveMinted() int64

  • SetAdmin(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)

  • SetDayCap(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}, n int64)

  • SetMinter(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)

  • SetPaused(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}, on bool)

  • Settle(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}, id int64)

  • State(id int64) string

  • Sweep(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})

  • Tally(id int64) (yes int64, no int64, abstain int64, total int64)

  • TextOnly(s string) interface {Error func() string}

  • Timings(id int64) (opened int64, closes int64, ready int64, expires int64)

  • TotalSupply() int64

  • Transfer(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, amount 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, amount int64)

  • Vote(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}, id int64, choice string)

  • VoteOf(id int64, who string) (choice string, weight int64, ok bool)

  • VotesOf(who string) int64

  • VoteWithReason(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}, id int64, choice string, reason string)

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

Rendered

RenderedRawgnoweb ↗
8// only by a holders' vote (kinds.gno), and the mint goes on under the minter until the holders stop it.
9var (
10 // admin is Jae's cold key (jarvis room 201, 2026-09-25: "(b) g1ecsu … make sure that even if the hotkey is
11 // hacked the g1ecsu can restore"), named here rather than read from OriginCaller at init: the deployer is the
12 // hotkey, which holds no power once the realm is up, and a test package or a filetest loads with no deployer
13 // at all. The box holds the minter, whose damage the day cap bounds; if the box or the hotkey is ever taken,
14 // this key pauses, names another minter, and goes on.
15 admin = address("g1ecsuj0q572jr0dhu29q9njtnmw03hyu7tyyvv6")
16 // minter is the box's keeper key, the only address that mints referrals; "" is nobody.
17 minter = address("g18dd5mstjqlcg9ngqpg26azeya6wqg7upd9t8xa")
18 paused bool // the admin's brake: stops Mint and MintMany, nothing else
19 dayCap = 250_000 * one
20)
21
22func init() {
23 ledger.SetID(tokenID)
24 ledger.Mint(premineTo, premine)
25 premined = premine
26}
27
28func Admin() address { return admin }
29func Minter() address { return minter }
30func Paused() bool { return paused }
31func DayCap() int64 { return dayCap }
32
33func mustBeAdmin(cur realm) {
34 who := caller(cur)
35 if admin == "" {
36 panic("bubble: the admin was given up; the holders decide now")
37 }
38 if who != admin {
39 panic("bubble: only the admin")
40 }
41}
42
43// SetAdmin hands the settings to another address.
44func SetAdmin(cur realm, to address) {
45 mustBeAdmin(cur)
46 if !to.IsValid() {
47 panic("bubble: not an address")
48 }
49 admin = to
50}
51
52// RenounceAdmin gives the settings up for good: from here they move only by vote.
53func RenounceAdmin(cur realm) {
54 mustBeAdmin(cur)
55 admin = ""
56}
57
58// SetMinter names who mints; "" is nobody (the referral mint stops until a vote names one).
59func SetMinter(cur realm, to address) {
60 mustBeAdmin(cur)
61 if to != "" && !to.IsValid() {
62 panic("bubble: not an address")
63 }
64 minter = to
65}
66
67// SetPaused stops the mint, or lets it go on.
68func SetPaused(cur realm, on bool) {
69 mustBeAdmin(cur)
70 paused = on
71}
72
73// SetDayCap lowers the daily ceiling. Raising it is the holders' (govern:daycap): the cap is what bounds a stolen
74// key, so the key it bounds may not raise it.
75func SetDayCap(cur realm, n int64) {
76 mustBeAdmin(cur)
77 if n < 0 || n > dayCap {
78 panic("bubble: the admin can only lower the day cap; raising it is a vote")
79 }
80 dayCap = n
81}
82

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.