admin
.uverse.addressThe settings, and who may change them. admin is whoever deployed the realm (Jae's hotkey signs the addpkg) and is handed to the box's keeper key in the same minute ("a token that you control, but admin can be transferred and even destroyed"). An empty admin is nobody, permanently: RenounceAdmin is the "destroyed" Jae asked for. After it, every one of these settings moves only by a holders' vote (kinds.gno), and the mint goes on under the minter until the holders stop it.
Value
<gnolang.StringValue>
minter
.uverse.addressThe settings, and who may change them. admin is whoever deployed the realm (Jae's hotkey signs the addpkg) and is handed to the box's keeper key in the same minute ("a token that you control, but admin can be transferred and even destroyed"). An empty admin is nobody, permanently: RenounceAdmin is the "destroyed" Jae asked for. After it, every one of these settings moves only by a holders' vote (kinds.gno), and the mint goes on under the minter until the holders stop it.
Value
<gnolang.StringValue>
paused
bool// the admin's brake: stops Mint and MintMany, nothing else
Value
false
dayCap
int64The settings, and who may change them. admin is whoever deployed the realm (Jae's hotkey signs the addpkg) and is handed to the box's keeper key in the same minute ("a token that you control, but admin can be transferred and even destroyed"). An empty admin is nobody, permanently: RenounceAdmin is the "destroyed" Jae asked for. After it, every one of these settings moves only by a holders' vote (kinds.gno), and the mint goes on under the minter until the holders stop it.
Value
250000000000
init.4
func()- OID
- 02792f…0cfa:7
init.4 details
Admin
func() .uverse.address- OID
- 02792f…0cfa:9
Admin details
Minter
func() .uverse.address- OID
- 02792f…0cfa:10
Minter details
Paused
func() bool- OID
- 02792f…0cfa:11
Paused details
DayCap
func() int64- OID
- 02792f…0cfa:12
DayCap details
mustBeAdmin
func()- OID
- 02792f…0cfa:13
mustBeAdmin details
SetAdmin
func(to .uverse.address)SetAdmin hands the settings to another address.
- OID
- 02792f…0cfa:14
SetAdmin details
RenounceAdmin
func()RenounceAdmin gives the settings up for good: from here they move only by vote.
- OID
- 02792f…0cfa:15
RenounceAdmin details
SetMinter
func(to .uverse.address)SetMinter names who mints; "" is nobody (the referral mint stops until a vote names one).
- OID
- 02792f…0cfa:16
SetMinter details
SetPaused
func(on bool)SetPaused stops the mint, or lets it go on.
- OID
- 02792f…0cfa:17
SetPaused details
SetDayCap
func(n int64)SetDayCap lowers the daily ceiling. Raising it is the holders' (govern:daycap): the cap is what bounds a stolen key, so the key it bounds may not raise it.
- OID
- 02792f…0cfa:18
SetDayCap details
Kind
typeValue
v0.Kind
Rules
typeValue
v0.Rules
NewRules
func(quorumBps int64, thresholdBps int64, votingBlocks int64, delayBlocks int64, graceBlocks int64, proposeBps int64) v0.Rules- OID
- 02792f…0cfa:19
NewRules details
TextOnly
func(s string) .uverse.error- OID
- 02792f…0cfa:21
TextOnly details
engine
*v0.Governorengine is this realm's governor. Unexported: whoever holds it can adopt a kind without a vote.
- OID
- 02792f…0cfa:23
engine details
init.20
func()- OID
- 02792f…0cfa:66
init.20 details
dispatch
func() v0.Dispatchdispatch runs a decided kind with a SUB-realm, never this realm's own capability (the engine's note on dispatch: a kind holding the live cur could cross into anything that trusts this realm).
- OID
- 02792f…0cfa:67
dispatch details
Offer
func(k v0.Kind, r v0.Rules)Offer publishes a kind. It grants nothing: the holders adopt it by vote.
- OID
- 02792f…0cfa:68
Offer details
Propose
func(kind string, payload string, title string) int64Propose asks a question under an adopted kind. A money kind carries its absolute turnout floor (kinds.gno).
- OID
- 02792f…0cfa:69
Propose details
Vote
func(id int64, choice string)Vote casts the caller's weight as of the proposal's sealed epoch: "yes", "no" or "abstain".
- OID
- 02792f…0cfa:70
Vote details
VoteWithReason
func(id int64, choice string, reason string)- OID
- 02792f…0cfa:71
VoteWithReason details
Cancel
func(id int64)Cancel withdraws the proposer's own open proposal.
- OID
- 02792f…0cfa:72
Cancel details
Settle
func(id int64)Settle writes down a conclusion the rules already reached. Permissionless. A decided money vote's turnout goes into the bar's memory (kinds.gno).
- OID
- 02792f…0cfa:73
Settle details
Execute
func(id int64)Execute runs a decided proposal after its delay. Permissionless.
- OID
- 02792f…0cfa:74
Execute details
kindOf
func(id int64) stringkindOf is the kind a proposal was asked under, as this realm noted it at Propose (the engine describes a proposal by its payload alone); an id it never saw is "".
- OID
- 02792f…0cfa:75
kindOf details
askedKinds
map[int64]stringaskedKinds is id -> kind for the proposals asked here, the last few hundred.
- OID
- 02792f…0cfa:77
askedKinds details
ReleaseRoll
func(id int64)- OID
- 02792f…0cfa:78
ReleaseRoll details
Sweep
func()- OID
- 02792f…0cfa:79
Sweep details
State
func(id int64) string- OID
- 02792f…0cfa:80
State details
Describe
func(id int64) string- OID
- 02792f…0cfa:81
Describe details
Preview
func(kind string, payload string) string- OID
- 02792f…0cfa:82
Preview details
HasVoted
func(id int64, who .uverse.address) bool- OID
- 02792f…0cfa:83
HasVoted details
Tally
func(id int64) (yes int64, no int64, abstain int64, total int64)- OID
- 02792f…0cfa:84
Tally details
KindRules
func(name string) (v0.Rules, bool)- OID
- 02792f…0cfa:85
KindRules details
Timings
func(id int64) (opened int64, closes int64, ready int64, expires int64)- OID
- 02792f…0cfa:86
Timings details
VoteOf
func(id int64, who .uverse.address) (choice string, weight int64, ok bool)- OID
- 02792f…0cfa:87
VoteOf details
none
untyped stringValue
"none"
ReserveMaxPer
int64// per proposal
Value
2000000000000
ReserveGap
int64// seconds between two reserve mints: a full drain is 25 votes over 6 years
Value
7776000
turnoutKeep
untyped bigint// money votes the mean remembers
Value
(8 <untyped> bigint)
reserveLast
int64// block time of the last reserve mint
Value
0
turnouts
[]int64// the last turnoutKeep money votes' turnout (yes+no+abstain), newest last
Value
<zero>
noted
map[int64]bool- OID
- 02792f…0cfa:91
noted details
installKinds
func()- OID
- 02792f…0cfa:92
installKinds details
isMoneyKind
func(kind string) bool- OID
- 02792f…0cfa:94
isMoneyKind details
quorumFloor
func(kind string) int64quorumFloor is the absolute turnout a money kind needs at the last sealed epoch: max(supply/5, min(X̄, supply/3)), X̄ the mean turnout of the last money votes. Zero for the rest (the rules' fraction alone).
- OID
- 02792f…0cfa:95
quorumFloor details
meanTurnout
func() int64- OID
- 02792f…0cfa:96
meanTurnout details
noteTurnout
func(id int64)noteTurnout remembers a decided money vote's turnout, once, when it is settled or executed.
- OID
- 02792f…0cfa:97
noteTurnout details
MeanTurnout
func() int64MeanTurnout is what the bar follows, for the page and the box.
- OID
- 02792f…0cfa:98
MeanTurnout details
bubbleErr
typeValue
bubble.bubbleErr
errf
func(s string) .uverse.error- OID
- 02792f…0cfa:99
errf details
addrOrNone
func(payload string, what string) .uverse.error- OID
- 02792f…0cfa:100
addrOrNone details
adminKind
typeValue
bubble.adminKind
minterKind
typeValue
bubble.minterKind
pauseKind
typeValue
bubble.pauseKind
daycapKind
typeValue
bubble.daycapKind
reserveKind
typeValue
bubble.reserveKind
parseReserve
func(p string) (.uverse.address, int64, .uverse.error)- OID
- 02792f…0cfa:101
parseReserve details
signalKind
typeValue
bubble.signalKind
MaxSupply
int64The supply, in three pools that add up to the maximum and never mix.
Value
100000000000000
premine
int64// Jae's, at init
Value
10000000000000
ReferralPool
int64// the minter's, for referrals, under the day cap
Value
40000000000000
Reserve
int64// the holders', by govern:reserve only
Value
50000000000000
MaxBatch
untyped bigint// entries in one MintMany
Value
(100 <untyped> bigint)
MaxEntry
int64// per address per batch: room for a big inviter's day, never a whole day's cap
Value
50000000000
premineTo
.uverse.addresspremineTo is the address the premine goes to (Jae, jarvis room 99/102/105, 2026-09-25).
Value
<gnolang.StringValue>
premined
int64// what init minted (the premine)
Value
10000000000000
referralMinted
int64// out of ReferralPool
Value
12000000000
reserveMinted
int64// out of Reserve
Value
0
mintedDay
int64// minted by the minter on dayKey's day
Value
12000000000
dayKey
int64// unix day of mintedDay
Value
20721
lastBatch
stringValue
"26092501"
batches
int64Value
1
Premined
func() int64- OID
- 02792f…0cfa:109
Premined details
ReferralMinted
func() int64- OID
- 02792f…0cfa:111
ReferralMinted details
ReserveMinted
func() int64- OID
- 02792f…0cfa:112
ReserveMinted details
Batches
func() int64- OID
- 02792f…0cfa:113
Batches details
LastBatch
func() string- OID
- 02792f…0cfa:114
LastBatch details
MintedToday
func() (minted int64, ceiling int64)MintedToday is what the minter has minted on the current UTC day, and the day's cap.
- OID
- 02792f…0cfa:115
MintedToday details
dayOf
func() int64- OID
- 02792f…0cfa:116
dayOf details
mustBeMinter
func()- OID
- 02792f…0cfa:117
mustBeMinter details
referralMint
func(to .uverse.address, amount int64)referralMint is one credit out of the referral pool, under every wall. amount is base units.
- OID
- 02792f…0cfa:118
referralMint details
Mint
func(to .uverse.address, amount int64)Mint credits one address. The minter's hand tool; the box mints through MintMany.
- OID
- 02792f…0cfa:119
Mint details
MintMany
func(batchID string, list string)MintMany credits a batch: "g1…:amount,g1…:amount" (base units), at most MaxBatch entries, no address twice, under the pool and the day cap. All or nothing — a bad entry panics, which aborts the whole transaction, and names the entry ("entry 3 g1…: over today's cap") so the box can drop it and send the rest. batchID is eight ASCII digits that must exceed the last one landed, so a batch the box re-sends after a lost receipt cannot land twice.
- OID
- 02792f…0cfa:120
MintMany details
toString
func(r interface{...}) string- OID
- 02792f…0cfa:121
toString details
whole
func(n int64) stringwhole renders base units as whole BUBBLE for a message.
- OID
- 02792f…0cfa:122
whole details
Render
func(path string) stringRender: "" the front page (the token's figures, then the governor's page); "gov/…" the governor's pages alone; "json" the figures for the box; "me/\<addr>" one holder's balance and votes.
- OID
- 02792f…0cfa:123
Render details
notes
func() stringnotes are this realm's lines on the governor's front page: the figures the engine cannot know.
- OID
- 02792f…0cfa:125
notes details
jsonAll
func() string- OID
- 02792f…0cfa:126
jsonAll details
itoa
func(n int64) string- OID
- 02792f…0cfa:127
itoa details
tokenName
untyped stringValue
"Bubble"
tokenSymbol
untyped stringValue
"BUBBLE"
tokenDecimals
untyped bigintValue
(6 <untyped> bigint)
pkgPath
untyped string// must match gnomod.toml
Value
"gno.land/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/bubble"
tokenID
untyped stringValue
"gno.land/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/bubble.BUBBLE"
one
int64Value
1000000
epochBlocks
int64Value
1000
ledger
*v0.Ledgerledger is the token. Unexported and never handed out: whoever holds a \*Ledger can mint.
- OID
- 02792f…0cfa:25
ledger details
GetName
func() string- OID
- 02792f…0cfa:129
GetName details
GetSymbol
func() string- OID
- 02792f…0cfa:131
GetSymbol details
GetDecimals
func() int- OID
- 02792f…0cfa:132
GetDecimals details
TotalSupply
func() int64- OID
- 02792f…0cfa:133
TotalSupply details
BalanceOf
func(owner .uverse.address) int64- OID
- 02792f…0cfa:134
BalanceOf details
Allowance
func(owner .uverse.address, spender .uverse.address) int64- OID
- 02792f…0cfa:135
Allowance details
VotesOf
func(who .uverse.address) int64- OID
- 02792f…0cfa:136
VotesOf details
DelegateOf
func(who .uverse.address) .uverse.address- OID
- 02792f…0cfa:137
DelegateOf details
PastVotes
func(who .uverse.address, at uint32) int64- OID
- 02792f…0cfa:138
PastVotes details
PastTotalVotes
func(at uint32) int64- OID
- 02792f…0cfa:139
PastTotalVotes details
Epoch
func() uint32- OID
- 02792f…0cfa:140
Epoch details
errStaleRealm
untyped stringValue
"bubble: that realm value is not live; pass your own cur"
caller
func() .uverse.address- OID
- 02792f…0cfa:141
caller details
Transfer
func(to .uverse.address, amount int64)Transfer moves the caller's own tokens.
- OID
- 02792f…0cfa:142
Transfer details
Approve
func(spender .uverse.address, amount int64)Approve lets a spender move some of the caller's balance.
- OID
- 02792f…0cfa:143
Approve details
TransferFrom
func(from .uverse.address, to .uverse.address, amount int64)TransferFrom spends an allowance.
- OID
- 02792f…0cfa:144
TransferFrom details
Burn
func(amount int64)Burn destroys the caller's own tokens. What is burned is gone from the supply and never re-minted: the pools count what was minted, not what exists.
- OID
- 02792f…0cfa:145
Burn details
Delegate
func(to .uverse.address)Delegate points the caller's voting power at someone else (one hop; self is the default).
- OID
- 02792f…0cfa:146