namespace
untyped stringValue
"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/"
pkgPath
untyped string// must match gnomod.toml
Value
"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgov"
KindCancel
uint8Value
1
KindUnpause
uint8Value
2
KindTokenISM
uint8Value
3
KindReserved
uint8// reserved (§13): the client's state layout is fixed for the deployment's life; refused
Value
4
KindGuardians
uint8Value
5
KindRouter
uint8Value
6
KindProtocolFee
uint8Value
7
KindUpgrade
uint8Value
8
KindSuccessor
uint8Value
9
KindMintLimits
uint8// set mint limits (§13): a token's per-message maximum and day cap on the pausable ISM; the 7-day group
Value
12
maxCancel
untyped bigint// numbers one cancel names
Value
(16 <untyped> bigint)
maxProtocolFee
untyped bigint// lamports: the mailbox's max\_protocol\_fee, 0.05 SOL, fixed at its init (§5.5)
Value
(50000000 <untyped> bigint)
MaxDecisionBody
untyped bigintValue
(512 <untyped> bigint)
syncReach
uint64// a sync sequence raises the counter by at most this (the realm's own bound, §13; kind 10 is reserved since v35)
Value
4294967296
seatCount
untyped bigintValue
(6 <untyped> bigint)
guardianSeats
untyped bigintValue
(4 <untyped> bigint)
maxSeatChanges
untyped bigint// kind 5: two guardian seats plus either watch slot
Value
(4 <untyped> bigint)
launchRecipient
untyped string// the admin program 4ogRnw9iPGa4dY8qqCs1aBWxHQvKSzHh5ttz53sLFTM9
Value
"38885bd746ab9dc9b6175331a61842d0ad8e0c4c2532f72e286ef7dac82b0358"
launchPausableISM
untyped string// the pausable ISM 6oudxto59ktYrpvqEVXTb5Tuo7vzBpkgnsPWoPXVF5Fv
Value
"564eab462a321148f88d548996d0fd5e84c66ab630f0f4da63331592d7dce221"
launchClient
untyped string// the light client 2mphYtLZ7HnCfrFhGH2c4Do9C9UoysevkmkDb8UkbAu2
Value
"1a572d156787a62750999f343e5af6f7394f91c11f75a2949e9aefd8914e07ad"
launchSolSeat1
untyped string// Nz2u3N3RAMwq9pjw1Vv7ktN7nX4rNe4Uw5rdL9o9c3o
Value
"05a1af200cfddc3b3ace76353505098855c9994913f7282f2e45ce6e473dcd6e"
launchSolSeat2
untyped string// AvqEe2hdx3HH87NU9CR5GSarCD1sR6PQ2H5AjwSnC4b
Value
"028b184c1fe43ac501409db4eb45a47bc2cd280226cca57345b802d27175e5b4"
launchSolSeat3
untyped string// B5NgM4oD1vYKTEGSe33RaSsHbyGzxKvoaycGqhjbyEV1
Value
"95b3b44e5adc9a0e849285e59cf6e7b0dab53e3a8772f680990f73a6111f494c"
launchSolSeat4
untyped string// Q8HoML8efSufEhvYsSffmHAGJ6YnYb2QwyMVwQYt9Ds
Value
"05ec99dd32dbee307eb064892f68581b9da9ee928df5a00d7f491f0f1b4fc3d2"
launchSolSeat5
untyped string// 2hxnxGiPf6cuuYXjThehyDnkXpUKjQai8fp14zkcgzjB
Value
"195a00fb58ce0d7f762cc2b3d72017100724768fa2ae828c055d57530b34077a"
launchSolSeat6
untyped string// 3SpxeQf1JTfErvkpd3Kq33Q72H4yhLynKPVECdj9ckmf
Value
"24551f378d8bbdc915fd4497aa9bf73a5eb5f99447755eb9f7c751aed3d558e2"
launchSequence
uint64Value
0
launchGovernor
.uverse.addresslaunchGovernor is the governor (M1k): the mailbox's, compiled here too so a member reads it in this realm's served source; init refuses a deploy with another. bridge/local/e2e.sh swaps it for gnodev's test1.
Value
<gnolang.StringValue>
destination
uint32Value
1399811149
recipient
[32]uint8- OID
- 04db45…40c5:5
recipient details
former
[][32]uint8// every decision recipient a swap replaced (R29): retired admin programs, which kind 9 and a swap refuse for good
Value
<zero>
client
[32]uint8// the light client: shown on the page; no kind names it (kind 4 is reserved)
- OID
- 04db45…40c5:8
client details
solSeats
[7][32]uint8// Solana's seats as this realm last set them: a mirror kind 5 warns against, shown on the page
- OID
- 04db45…40c5:10
solSeats details
last
uint64// the number of the last decision dispatched; the next is last + 1
Value
0
sent
v0.Tree// seqKey(number) → \*decision
- OID
- 04db45…40c5:20
sent details
ledger
v0.Ledger- OID
- 04db45…40c5:22
ledger details
decision
typedecision is one dispatched decision: its body (kind ‖ number ‖ params) and its dispatches; a kind 6 for a route of this chain also keeps the route it enrolled and the height it noted with the mailbox (R37: a cancel of it clears that note while it is the latest).
Value
hlgov.decision
recipientParams
typeValue
hlgov.recipientParams
sequenceParams
typeValue
hlgov.sequenceParams
cancelParams
typeValue
hlgov.cancelParams
kindParams
typeValue
hlgov.kindParams
init.43
func()- OID
- 04db45…40c5:24
init.43 details
mustKey
func(s string) [32]uint8- OID
- 04db45…40c5:26
mustKey details
now
func() int64- OID
- 04db45…40c5:27
now details
itoa
func(n int64) string- OID
- 04db45…40c5:28
itoa details
u64s
func(n uint64) string- OID
- 04db45…40c5:29
u64s details
hx
func(b []uint8) string- OID
- 04db45…40c5:30
hx details
seqKey
func(n uint64) string- OID
- 04db45…40c5:31
seqKey details
caller
func() .uverse.address- OID
- 04db45…40c5:32
caller details
mustBeLive
func()- OID
- 04db45…40c5:33
mustBeLive details
Request
typeRequest is what a builder returns (M1k): the proposal GovDAO's proxy executes after the yield (Proposal), and the same decision the governor runs directly before it (Govern); see hlgnot's.
Value
hlgov.Request
who
func(path string, a .uverse.address) stringwho names a previous realm in a refusal: its pkgpath, or a user's address.
- OID
- 04db45…40c5:34
who details
mustBeGovernor
func()mustBeGovernor is a decision's identity check (M1k), read from the closure's own live cur: the governor's own call until it yields on r/hlmailbox, gno.land/r/gov/dao's proxy exactly after (or from the first block, when no governor was compiled); see hlgnot's.
- OID
- 04db45…40c5:35
mustBeGovernor details
Govern
func(r hlgov.Request)Govern is the governor's way in before the yield (M1k): the same closure GovDAO's proxy runs after it, called non-crossing in this frame so it reads the governor from cur.Previous() — and dispatches through the mailbox under this realm's own authority, as the proxy's execution does; refused for anyone else and for everyone once the governor yielded on r/hlmailbox (or when none was compiled); see hlgnot's.
- OID
- 04db45…40c5:36
Govern details
Address
func() .uverse.address- OID
- 04db45…40c5:37
Address details
Recipient
func() stringRecipient is the program decisions are addressed to, in hex.
- OID
- 04db45…40c5:38
Recipient details
Former
func() []stringFormer lists every decision recipient a swap replaced, in hex, oldest first (R29): retired admin programs.
- OID
- 04db45…40c5:39
Former details
isFormer
func(k [32]uint8) bool- OID
- 04db45…40c5:40
isFormer details
mustNotBeFormer
func(k [32]uint8, what string)mustNotBeFormer refuses a retired admin program as a kind 9's successor or as the decision recipient (R29): a program whose authorities went to a successor answers Retired to every decision, and a kind 9 naming it dies on its successor\_init (NotInherited), so the decision would pend until a cancel — a wasted vote and a standing line on hlwatch. Checked when a proposal is made, in its closure, and when a queued swap would apply.
- OID
- 04db45…40c5:41
mustNotBeFormer details
Destination
func() uint32Destination is the Solana domain decisions go to.
- OID
- 04db45…40c5:42
Destination details
Last
func() uint64Last is the number of the last decision dispatched; Next the number the next one takes; Start the compiled number the counter began at (the predecessor's last number; 0 for a chain's first r/hlgov).
- OID
- 04db45…40c5:43
Last details
Next
func() uint64- OID
- 04db45…40c5:44
Next details
Start
func() uint64- OID
- 04db45…40c5:45
Start details
SolSeat
func(n int) stringSolSeat is the Solana pubkey this realm last set for a seat (1–4 guardians, 5–6 watch keys), in hex.
- OID
- 04db45…40c5:46
SolSeat details
Body
func(n uint64) stringBody is a dispatched decision's body in hex, by number ("" if none).
- OID
- 04db45…40c5:47
Body details
be32
func(n uint32) []uint8- OID
- 04db45…40c5:48
be32 details
be64
func(n uint64) []uint8- OID
- 04db45…40c5:49
be64 details
body
func(kind uint8, n uint64, params []uint8) []uint8body is kind u8 ‖ seq u64 BE ‖ params (§13).
- OID
- 04db45…40c5:50
body details
mustFit
func(raw []uint8)mustFit refuses a body above MaxDecisionBody: the one check every dispatch makes, so no builder can author a decision the mailbox cannot deliver.
- OID
- 04db45…40c5:51
mustFit details
dispatch
func(kind uint8, params []uint8, text string, t int64) uint64dispatch sends a decision with the next number and records it; a body above MaxDecisionBody is refused first.
- OID
- 04db45…40c5:52
dispatch details
Redispatch
func(n uint64)Redispatch sends an executed decision again — the same number and parameters, a new message — by anyone, until the admin program has recorded it (a copy it has recorded is accepted and ignored there).
- OID
- 04db45…40c5:53
Redispatch details
propose
func(kind string, text string, apply func(...)) hlgov.Request- OID
- 04db45…40c5:54
propose details
proposeKind
func(kind uint8, name string, text string, params []uint8, check func(...)) hlgov.RequestproposeKind is a Solana decision's builder: at execution it dispatches the message and records the decision as applied; the parameters were checked at creation and are checked again then, the body's size with them.
- OID
- 04db45…40c5:55
proposeKind details
parseNumber
func(p string) uint64- OID
- 04db45…40c5:56
parseNumber details
salt
func(t int64) []uint8salt is the 8 bytes a cancel body starts with (§13: random, ignored by the program, so no body is predictable and two cancels of one list differ). gno.land gives a realm no block hash, so it is sha256 over what the block and the decision give — the chain id, the height, the block time, the mailbox's nonce, the decision number and the ledger's next id — drawn in the executing transaction; the decision number alone makes two cancels of one list differ, the rest make it as unpredictable as the block it lands in.
- OID
- 04db45…40c5:57
salt details
NewCancelRequest
func(numbers string) hlgov.RequestNewCancelRequest is kind 1: cancel pending decisions of the mailbox channel on Solana (channel 0, the only one this realm writes), by a list of numbers (comma separated, at most 16: form 0) or by a range "from-to", inclusive (form 1); each number one this realm dispatched. It executes at once there. The body is \`salt u64 ‖ form u8 ‖ …\` (§13), the salt drawn when the proposal executes, so the description names the numbers and the ledger's note and the decision's page carry the salt.
- OID
- 04db45…40c5:58
NewCancelRequest details
eachCancelled
func(numbers string, fn func(...))eachCancelled walks the decisions a cancel's numbers name — the list, or every dispatched number of the range — in number order.
- OID
- 04db45…40c5:59
eachCancelled details
NewUnpauseRequest
func(object uint8) hlgov.RequestNewUnpauseRequest is kind 2: clear the flags set before its delivery on the pausable ISM (object 0) or the admin program (object 1), 24 hours after it arrives, unless two guardians' flags hold.
- OID
- 04db45…40c5:60
NewUnpauseRequest details
parseToken
func(token uint8) string- OID
- 04db45…40c5:61
parseToken details
NewSetTokenISMRequest
func(token uint8, ism string) hlgov.RequestNewSetTokenISMRequest is kind 3: point a token (0 GNOT, 1 BUBBLE) at the pausable ISM, or at none (all zeros).
- OID
- 04db45…40c5:62
NewSetTokenISMRequest details
NewSetClientLayoutRequest
func(target string, version uint8) hlgov.RequestNewSetClientLayoutRequest is kind 4, which §13 reserves (v27, AM7): the client's state layout the pausable ISM and the immutable admin program read is fixed for the deployment's life (version 1), a client upgrade keeps it, and a new layout is a successor admin program and pausable ISM by kind 9. The builder refuses every call, so no kind-4 message ever leaves here; the admin program refuses one at execution too.
- OID
- 04db45…40c5:63
NewSetClientLayoutRequest details
parseSeatChanges
func(changes string) ([]int, [][32]uint8)parseSeatChanges reads "seat:pubkey" pairs (comma separated; the pubkey in base58 or hex): seats 1–6, two guardian seats at most, four entries at most, no seat or key twice.
- OID
- 04db45…40c5:64
parseSeatChanges details
seatWarnings
func(ns []int, ks [][32]uint8) stringseatWarnings names the keys that hold a seat as this realm last set it. The real seats are Solana's, and the admin program refuses a seat's current key itself (§6.5), spending the decision: a true no-op. The mirror here can sit ahead of the truth (a kind 5 the admin program spent) or behind it (a kind 5 of another decision moved a seat), so it is no ground to refuse a proposal — the builder warns in the description and the member reads \`hlwatch\`'s list of the seats as they stand.
- OID
- 04db45…40c5:65
seatWarnings details
NewSetGuardiansRequest
func(changes string) hlgov.RequestNewSetGuardiansRequest is kind 5: replace guardian seats (1–4, two at most) and watch slots (5–6) on Solana, four entries at most. A key that holds a seat as this realm last set it is warned about in the description, not refused: the admin program's own check spends a decision naming a seat's current key, and this realm's mirror of the seats can drift from the truth. It lands 7 days after delivery through any flag or hold.
- OID
- 04db45…40c5:66
NewSetGuardiansRequest details
NewEnrollRouterRequest
func(token uint8, domain uint32, router string) hlgov.RequestNewEnrollRouterRequest is kind 6: enroll a token's remote router for a domain. For gno.land's own domain the router must be a route realm registered with hlmailbox — the launch routes, and the successors their migrations named — as 32 bytes: the synthetic program takes every Dispatch from the router it enrolls as a mint order, and hlmailbox's Dispatch is open to any realm, so any other address would mint synthetic that no lock backs; the token's own route (R36), unmigrated, and — a successor — one that pulled page 0 (R35). The rules are checked when the proposal is made and again when it executes. The closure then notes with the mailbox the route it enrolled and the height (hlmailbox.NoteEnrolled, AR1): that route's refund builder waits 14 days after the note (R37: a week for the delivery, a week for Solana's clock), since a refunded send stays deliverable on Solana until the predecessor's router is replaced; a cancel of the kind 6 clears the note (NewCancelRequest).
- OID
- 04db45…40c5:67
NewEnrollRouterRequest details
routePathOf
func(k [32]uint8) stringroutePathOf is the pkgpath of the route realm hlmailbox registers whose address, as 32 bytes, is k; "" if none.
- OID
- 04db45…40c5:68
routePathOf details
NewSetProtocolFeeRequest
func(lamports uint64, beneficiary string) hlgov.RequestNewSetProtocolFeeRequest is kind 7: the mailbox's protocol fee (lamports, at most its 0.05 SOL maximum) and its beneficiary (the treasurer's Solana key).
- OID
- 04db45…40c5:69
NewSetProtocolFeeRequest details
NewUpgradeRequest
func(program string, buffer string, elfHash string) hlgov.RequestNewUpgradeRequest is kind 8: upgrade a program from a staged buffer whose ELF hashes to elfHash (sha256, hex) — never the admin program's own id (§13: its upgrade authority is burned, so the decision could only be spent; a new admin program is a successor by kind 9), checked when the proposal is made and when it executes.
- OID
- 04db45…40c5:70
NewUpgradeRequest details
NewTransferToSuccessorRequest
func(program string) hlgov.RequestNewTransferToSuccessorRequest is kind 9: hand every authority to an immutable successor admin program — never the admin program itself, the decision recipient this realm knows, checked when the proposal is made and again when it executes (a recipient swap landing in between would otherwise turn a pre-armed transfer into one the admin program only spends: it re-points every authority to itself and dies on its own SuccessorInit, the programs lane's S-15), as kind 8 refuses its self-upgrade; and never a former recipient (R29), a retired program whose successor\_init answers NotInherited. The admin program refuses a successor whose programdata shows an upgrade authority; the builder cannot read Solana, so a member checks that by RPC before proposing.
- OID
- 04db45…40c5:71
NewTransferToSuccessorRequest details
routeMaximum
func(token uint8) uint64routeMaximum is a token's per-message maximum on its gno.land route now (base units): what a send may carry out.
- OID
- 04db45…40c5:72
routeMaximum details
NewSetMintLimitsRequest
func(token uint8, maximum uint64, dayCap uint64) hlgov.RequestNewSetMintLimitsRequest is kind 12: a token's (0 GNOT, 1 BUBBLE) per-message maximum and rolling day cap on the pausable ISM, in base units (§13: token u8 ‖ maximum u64 ‖ day cap u64; compiled there at launch as 25,000 a message and 100,000 a day of each token). A maximum of 0 (every mint refused) and a day cap below the maximum (a message at the maximum could never pass) are refused when the proposal is made: the admin program and the pausable ISM take any values, so the nonsense is caught here, as every builder catches it early. The maximum is never below the token's route's per-message maximum on gno.land (R15), checked when the proposal is made and when it executes: a send between the two would leave gno.land and be refused at delivery for good, stranded until a refund by id — so a raise is the Solana limit first (this), the route's maximum after, and a lowering the other way round. It lands 7 days after delivery.
- OID
- 04db45…40c5:73
NewSetMintLimitsRequest details
mustRaise
func(n uint64)mustRaise refuses a sync sequence that would not raise the counter (§5.3: it never lowers it): n is the number the next decision takes, so the counter becomes n-1, which must be above the counter now — and by at most 2^32, the realm's own bound (§13, R18; kind 10 is reserved since v35 and moves nothing on Solana), so a mistyped number can neither wrap the counter onto numbers the admin program recorded nor put every decision beyond the next number it expects.
- OID
- 04db45…40c5:74
mustRaise details
NewSyncSequenceRequest
func(n uint64) hlgov.RequestNewSyncSequenceRequest raises this realm's counter so that the next decision takes number n — the number the admin program expects next after a foreign decision took one — at once; nothing moves on Solana. It only ever raises: a number at or below the next one is refused when the proposal is made and again when it executes (the counter may have moved in between), so a number the admin program recorded is never reused.
- OID
- 04db45…40c5:75
NewSyncSequenceRequest details
NewSetDecisionRecipientRequest
func(program string) hlgov.RequestNewSetDecisionRecipientRequest changes the program decisions are addressed to, 7 days after the proposal executes: how a successor admin program receives them. Never the current recipient, and never a former one (R29: a retired program answers Retired to every decision) — checked when the proposal is made, in its closure and when the queued change would apply.
- OID
- 04db45…40c5:76
NewSetDecisionRecipientRequest details
NewCancelQueuedRequest
func(id int64) hlgov.RequestNewCancelQueuedRequest cancels a queued change of this realm (a recipient swap), at once; it is proposed before Launch too.
- OID
- 04db45…40c5:77
NewCancelQueuedRequest details
Execute
func(id int64)Execute applies a queued change (a recipient swap) whose 7 days have passed; anyone may call it. A swap decided while its target was nobody applies only while that holds (R29): one that finds its target the recipient already (a second swap to the same program) or a former recipient (replaced since) is refused and stays pending for GovDAO's cancel; the recipient it replaces joins the former ones.
- OID
- 04db45…40c5:78
Execute details
Render
func(path string) stringRender: "" the page; "json"; "decisions" and "decisions.json" the ledger; "decision/\<n>" one dispatched decision.
- OID
- 04db45…40c5:79