Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

hlmailbox state

Back to all declarations

seatCount

untyped bigint

Value

(6 <untyped> bigint)

guardians

untyped bigint

Value

(4 <untyped> bigint)

FnSends

untyped string

Value

"sends"

FnCredits

untyped string

Value

"credits"

FnPayouts

untyped string

Value

"payouts"

maxFlagIDs

untyped bigint

// ids a payouts flag may name

Value

(256 <untyped> bigint)

launchSeat1

.uverse.address

Value

<gnolang.StringValue>

launchSeat2

.uverse.address

Value

<gnolang.StringValue>

launchSeat3

.uverse.address

Value

<gnolang.StringValue>

launchSeat4

.uverse.address

Value

<gnolang.StringValue>

launchSeat5

.uverse.address

Value

<gnolang.StringValue>

launchSeat6

.uverse.address

Value

<gnolang.StringValue>

seats

[7].uverse.address

// by seat number; 0 unused

Open
OID
012e5f…1d0d:4
seats details

Inspect array

routes

v0.Tree

// pkgpath → \*routeRec

Open
OID
012e5f…1d0d:6
routes details

Inspect ref

flags

v0.Tree

// flagKey(route, fn, seat) → \*flag

Open
OID
012e5f…1d0d:8
flags details

Inspect ref

successors

v0.Tree

// pkgpath → the route it announced for (SymbolGNOT or SymbolBUBBLE): every realm that announced itself as a route's possible successor (R25, AQ5)

Open
OID
012e5f…1d0d:10
successors details

Inspect ref

droppedRoutes

v0.Tree

// pkgpath → the predecessor whose re-point dropped it (R35): the tombstone of a successor that is a route no more, cleared if a later migrate registers it afresh

Open
OID
012e5f…1d0d:12
droppedRoutes details

Inspect ref

SymbolGNOT

untyped string

The routes a successor announces for (AQ5): a migrate names only a successor announced for its own route, so a slip never sends the GNOT lock to a realm whose code moves BUBBLE, or the other way round.

Value

"GNOT"

SymbolBUBBLE

untyped string

The routes a successor announces for (AQ5): a migrate names only a successor announced for its own route, so a slip never sends the GNOT lock to a realm whose code moves BUBBLE, or the other way round.

Value

"BUBBLE"

routeRec

type

routeRec is one route realm's record here: its payouts epoch, its place in the chain of migrations (AQ1), the kind 6 that enrolled it on Solana (AR1), whether it pulled page 0 of its predecessor's migration, and the successors its own re-points dropped (R35).

Value

hlmailbox.routeRec

maxChain

untyped bigint

maxChain bounds the walk along a route's predecessors (Process): a chain never cycles, since AddRoute refuses a path that is a route already, and a bridge sees a handful of migrations in its life.

Value

(16 <untyped> bigint)

flag

type

flag is one seat's standing flag on one function of one route.

Value

hlmailbox.flag

flagKey

func(route string, fn string, seat int) string
Open
OID
012e5f…1d0d:15
flagKey details

Inspect func

flagPrefix

func(route string, fn string) string
Open
OID
012e5f…1d0d:16
flagPrefix details

Inspect func

SeatOf

func(a .uverse.address) int

SeatOf is the seat an address holds, 0 if none.

Open
OID
012e5f…1d0d:20
SeatOf details

Inspect func

IsGuardianSeat

func(n int) bool

IsGuardianSeat is whether a seat number is a guardian's (1–4) rather than a watch key's (5–6).

Open
OID
012e5f…1d0d:21
IsGuardianSeat details

Inspect func

IsRoute

func(path string) bool

IsRoute is whether a pkgpath is one of the route realms this mailbox keeps flags for.

Open
OID
012e5f…1d0d:22
IsRoute details

Inspect func

Routes

func() []string

Routes lists the route realms' pkgpaths.

Open
OID
012e5f…1d0d:23
Routes details

Inspect func

DroppedRoutes

func() []string

DroppedRoutes lists the dropped successors' pkgpaths (R35's tombstones; Dropped names each one's predecessor): routes no more, whose addresses the routes still refuse as a send's recipient and sweep at a credit (AT6), as a registered route's — a holder may have pasted one as a deposit address while its page printed it as the lock's holder to be, and a claim credited to it would be paid into a realm no counter of the line holds. Bounded by the re-points a bridge sees in its life, as Routes is by its migrations.

Open
OID
012e5f…1d0d:24
DroppedRoutes details

Inspect func

Paused

func(route string, fn string) bool

Paused is what the routes ask: whether any seat's flag for fn stands on route.

Open
OID
012e5f…1d0d:25
Paused details

Inspect func

Flagged

func(route string, id string, height int64, verifier bool) bool

Flagged is whether some guardian's standing payouts flag on route names this claim — by its message id, or by a range covering the height it was credited at (a "since" range only if the verifier credited it): the test that makes GovDAO's void of that claim at once (§5.3). A watch key's flag never counts.

Open
OID
012e5f…1d0d:26
Flagged details

Inspect func

PayoutsEpoch

func(route string) (epoch int64, at int64)

PayoutsEpoch is how many times an unpause or a removal cleared a standing payouts flag on route, and when the last one did: the routes empty their meters when it changes (§5.4).

Open
OID
012e5f…1d0d:27
PayoutsEpoch details

Inspect func

Flags

func(route string) []string

Flags lists the standing flags of a route as "fn seat@time\[ids…]" lines.

Open
OID
012e5f…1d0d:28
Flags details

Inspect func

parseIDs

func(s string) (ids []string, rng v0.Range, ranged bool)

parseIDs reads what a payouts flag names: a range (hlroute.ParseRange's forms), or a comma-separated list of message ids, at most maxFlagIDs; "" names nothing.

Open
OID
012e5f…1d0d:30
parseIDs details

Inspect func

SetFlag

func(route string, fn string, ids string)

SetFlag sets, or re-asserts, the caller's flag on one function of a route: fn is sends, credits or payouts. ids is what a guardian's payouts flag suspects — a comma-separated list of message ids, or a range of credits ("heights:\<from>-\<to>" inclusive, or "since:\<from>" for every credit the verifier makes from that height on) — "" otherwise; a re-assertion replaces it. A watch key's flag never names ids or a range.

Open
OID
012e5f…1d0d:31
SetFlag details

Inspect func

ClearFlag

func(route string, fn string)

ClearFlag clears the caller's own flag on one function of a route. It resets no meter.

Open
OID
012e5f…1d0d:32
ClearFlag details

Inspect func

ClearFlags

func(fn string) bool

ClearFlags clears every seat's flag for fn on the calling route — the void builder's andUnpause option (§5.3), which reopens payouts in the same closure as the void. It reports whether any flag was cleared.

Open
OID
012e5f…1d0d:33
ClearFlags details

Inspect func

VacateSeat

func(seat int, holder .uverse.address) bool

VacateSeat removes the key in a seat if holder still has it, its flags with it (a payouts flag among them restarting the route's meters): the void builder's unpause option retires keys in the same closure as the void (§5.3). Only a route realm may call it. It reports whether the seat was vacated: a seat whose occupant changed since the proposal named it, or one emptied since, is left as it is (R17), so a replacement that landed in between is never undone by a removal that meant the key before it.

Open
OID
012e5f…1d0d:34
VacateSeat details

Inspect func

AddRoute

func(path string)

AddRoute registers a successor route realm (a route's migrate names it), so flags can be set on it too, and records the succession both ways (AQ1): the caller's \`successor\`, the new route's \`predecessor\`, which is what lets the successor take a message addressed to the predecessor (Process) — the burns name the predecessor until kind 6 enrolls the successor. The path is a deployed realm's: a sub-identity's (\`host#subpath\`) is refused, since the route powers are keyed by exact pkgpath (mustBeRoute) and such a path would hand them to a token its host mints for free; a path that is a route already is refused (a chain never cycles). A route that migrated already re-points its migration (AR2): its migrate decision names another successor while the first pulled nothing — the route's own state refuses once page 0 moved, and a first successor that migrated on holds the lock, so it is refused here too — and the first's registration is dropped with the flags copied to it, the new path taking its place with the flags standing on the route now.

Open
OID
012e5f…1d0d:35
AddRoute details

Inspect func

dropRoute

func(from string, rec *hlmailbox.routeRec, path string)

dropRoute forgets a successor's registration (AR2: its predecessor re-pointed the migration before it pulled anything): the record and every flag standing on its path. It is a route no more — nothing addressed to its predecessor is its to take, no route power is its — but it is remembered (R35): on its predecessor's record and as a tombstone, since Solana's token may still name it the router until the next kind 6 and a burn addressed to it must be the line's last realm's to take, never its own. A later migrate may register it afresh (undrop).

Open
OID
012e5f…1d0d:36
dropRoute details

Inspect func

undrop

func(path string)

undrop clears a path's tombstone when a migrate registers it afresh (R35): the migration re-pointed back to it while the newer successor pulled nothing, or a later route of the line named it. It is then a route like any other, with nothing pulled.

Open
OID
012e5f…1d0d:37
undrop details

Inspect func

Dropped

func(path string) string

Dropped is the predecessor whose re-point dropped the realm at path from the line (R35) — a route no more, in nobody's chain, that neither sends (Dispatch refuses it) nor takes (Process refuses it) — or "" for a route, a realm never registered, or one registered afresh since.

Open
OID
012e5f…1d0d:38
Dropped details

Inspect func

Pulled

func(path string) bool

Pulled is whether the successor at path pulled page 0 of its predecessor's migration, as the predecessor's Pull noted it (NotePulled): the lock and the counters moved, so the migration is never re-pointed and a kind 6 may enrol it (R35). False for a launch route, a successor that pulled nothing, or no route.

Open
OID
012e5f…1d0d:39
Pulled details

Inspect func

NotePulled

func(path string)

NotePulled is the predecessor's note, from its Pull, that the successor its migrate registered has pulled page 0 (R35): the lock and the counters moved with it, so the migration is under way — the route's own state refuses a re-point from here on, and AddRoute refuses one too — and r/hlgov's kind 6 may enrol the successor: before it a kind 6 could name a route a re-point then drops, leaving Solana's token minting for a realm in nobody's chain. Only the route whose successor it is notes it; a second note (a second Pull of page 0) changes nothing.

Open
OID
012e5f…1d0d:40
NotePulled details

Inspect func

copyFlags

func(from string, to string) n int

copyFlags gives the route at \`to\` a copy of every flag standing on \`from\` — the seat, the time it was set, the ids or the range it names — keyed by the new path (R27): the pause follows the lock and the claims to the successor, whose Claim and Process ask their own path's flags, and clears there as any flag does — by the seat, by GovDAO's unpause, or with the seat's removal. It reports how many were copied.

Open
OID
012e5f…1d0d:41
copyFlags details

Inspect func

Predecessor

func(path string) string

Predecessor is the route whose migrate registered path as its successor; "" for a launch route, or no route.

Open
OID
012e5f…1d0d:42
Predecessor details

Inspect func

Successor

func(path string) string

Successor is the route path's migrate registered; "" while it never migrated, or for no route.

Open
OID
012e5f…1d0d:43
Successor details

Inspect func

Enrolled

func(path string) (height int64, at int64)

Enrolled is the block height and unix time r/hlgov last dispatched a kind 6 enrolling the route at path as the token's router on Solana (NoteEnrolled); 0, 0 if never, or for no route. A route's refund builder waits 7 days after it (AR1).

Open
OID
012e5f…1d0d:44
Enrolled details

Inspect func

mustBeHlgov

func()

mustBeHlgov is the caller check of what r/hlgov alone does here: its exact pkgpath, read from the live cur.

Open
OID
012e5f…1d0d:45
mustBeHlgov details

Inspect func

NoteEnrolled

func(path string, height int64)

NoteEnrolled is r/hlgov's note, from its kind-6 closure, that it dispatched a decision enrolling the route at path as the token's router on Solana at this block height (AR1): the route's refund builder and its apply read it (Enrolled) and refuse a refund until the note is 14 days old (R37: a week for the delivery, a week for Solana's own clock), since a refunded send stays deliverable on Solana until the predecessor's router is replaced and a refund that lands first lets one stranger's Reemit and delivery mint it twice. The latest note counts: a later kind 6 for the route restarts the wait; a cancelled one clears it (ClearEnrolled). Necessary, not sufficient — the realm cannot see Solana; hlwatch reads the token's enrolled router there and alarms a refund proposal whose successor the token has not enrolled.

Open
OID
012e5f…1d0d:46
NoteEnrolled details

Inspect func

ClearEnrolled

func(path string)

ClearEnrolled is r/hlgov's word, from its cancel closure, that the kind 6 whose note stands on the route at path was cancelled (R37, AS2): the note goes, so the route's refund gate reads "no kind 6" again and its clock restarts with a re-proposal — before, a cancelled, lost or held kind 6 left the note standing and the gate opened on the realm's clock alone while the predecessor was still the enrolled router. r/hlgov's exact pkgpath alone, for a route; a route with no note is left as it is.

Open
OID
012e5f…1d0d:47
ClearEnrolled details

Inspect func

successorOf

func(path string, recipient [32]uint8) bool

successorOf is whether the route at path succeeds the route whose address, as 32 bytes, is recipient — along the chain of migrations, at any distance (AQ1): a burn addressed to a migrated route is taken by the successor that holds its lock. A successor a predecessor's re-point dropped counts as that predecessor's (R35): a burn made while Solana still named it the router is the line's live last realm's to take, never its own. A caller that is no route, or whose chain never reaches the recipient, is not.

Open
OID
012e5f…1d0d:48
successorOf details

Inspect func

AnnounceSuccessor

func(symbol string)

AnnounceSuccessor is how a realm offers itself as a route's successor (R25): called once from that realm's own code (its init, usually), naming the route it succeeds — GNOT or BUBBLE (AQ5: a migrate names only a successor announced for its own route) — it is kept under the caller's exact pkgpath, which a route's migrate builder and its closure require of the path they name — so the lock never goes to a path with no realm behind it (a typo, or an undeployed path whose namespace owner could deploy anything there and pull the lock). Only an /r/ realm, with its own cur: a sub-realm identity (host#subpath, a token a realm mints for free) is refused as in RegisterVerifier, so every entry costs a package deployment and the listing (render.gno) is bounded. Nothing is ever withdrawn; GovDAO reads the successor's source before it votes, as before.

Open
OID
012e5f…1d0d:49
AnnounceSuccessor details

Inspect func

SuccessorAnnounced

func(path string) bool

SuccessorAnnounced is whether a realm at this pkgpath announced itself as a possible successor: what a route's migrate builder and its closure require of the path they name (R25).

Open
OID
012e5f…1d0d:50
SuccessorAnnounced details

Inspect func

SuccessorFor

func(path string) string

SuccessorFor is the route — GNOT or BUBBLE — a realm at this pkgpath announced itself as a successor of (AQ5); "" if it never announced itself. A route's migrate builder and its closure refuse another route's successor.

Open
OID
012e5f…1d0d:51
SuccessorFor details

Inspect func

RouteSymbol

func(path string) string

RouteSymbol is the token a realm's route is for (R36): the launch paths' compiled symbols; for every other realm the route it announced itself a successor of (SuccessorFor — a registered successor always announced, AQ5); "" for one that never did. r/hlgov's kind 6 compares it with the token it names, so a slip can never enrol one token's route as the other's router.

Open
OID
012e5f…1d0d:52
RouteSymbol details

Inspect func

clearFns

func(path string, fns []string, t int64) (n int, payouts bool)

clearFns removes every seat's flag for the named functions on a route; payouts says whether a standing payouts flag went with them, in which case the route's meters restart (the epoch bumps).

Open
OID
012e5f…1d0d:53
clearFns details

Inspect func

clearSeat

func(seat int, t int64) n int

clearSeat removes every flag a seat holds, on every route, bumping the epoch of each route where a payouts flag stood.

Open
OID
012e5f…1d0d:54
clearSeat details

Inspect func

Request

type

Request 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). The closure is one; only who may run it changes with the yield. A Request comes from a builder alone — the type is this realm's and the closure unexported, so no other code can build one or change what it decides (the construction and conversion guards of the interrealm spec, §3.2 and §8.2) — and a stranger holding one can only hand it back to Govern, which refuses everyone but the governor.

Value

hlmailbox.Request

launchParams

type

Value

hlmailbox.launchParams

setVerifierParams

type

Value

hlmailbox.setVerifierParams

rotateSignersParams

type

Value

hlmailbox.rotateSignersParams

rotateSeatsParams

type

Value

hlmailbox.rotateSeatsParams

unpauseParams

type

Value

hlmailbox.unpauseParams

cancelParams

type

Value

hlmailbox.cancelParams

who

func(path string, a .uverse.address) string

who names a previous realm in a refusal: its pkgpath, or a user's address.

Open
OID
012e5f…1d0d:56
who details

Inspect func

mustBeGovernor

func()

mustBeGovernor is a decision's identity check (M1k), read from the closure's own live cur: until the yield the governor's own call — the compiled address, by its own transaction (cur.Previous() a user realm: a MsgCall's, or a MsgRun script's ephemeral realm, whose address is the signer's; never another realm), which is Govern's non-crossing call of the closure — and gno.land/r/gov/dao's proposals refused; after it, or when no governor was compiled, the proxy's exact pkgpath, as before M1k, and the governor refused like anyone. A refusal is a panic: a proposal made before the yield survives for a retry after it, within its 14 days.

Open
OID
012e5f…1d0d:58
mustBeGovernor details

Inspect func

propose

func(kind string, text string, apply func(...)) hlmailbox.Request

propose wraps a builder's effect in the closure every builder shares. apply runs at the decision with the time the request was made and the time now; it records the decision.

Open
OID
012e5f…1d0d:60
propose details

Inspect func

request

func(kind string, text string, cb func(...)) hlmailbox.Request

request is a builder's Request: the proposal around the closure for GovDAO's path, the closure itself for the governor's.

Open
OID
012e5f…1d0d:61
request details

Inspect func

Govern

func(r hlmailbox.Request)

Govern is the governor's way in before the yield (M1k): the governor — the compiled launchGovernor, by its own transaction (a MsgCall, or the MsgRun script that makes the request in the same transaction; never through another realm) — makes a builder's decision directly, the same closure GovDAO's proxy runs after the yield: the same checks, the same at-once test, the same 7-day queue and 14-day deadline, the same record and events. The closure is called non-crossing, in this frame, so it reads the governor from cur.Previous() as it reads the proxy after the yield. Refused for anyone else, and for everyone once the governor yielded (or when none was compiled): GovDAO's proposals decide then. A request past its 14 days is refused (the deadline error, as a proposal's denial) and made afresh.

Open
OID
012e5f…1d0d:62
Govern details

Inspect func

governedBy

func() string

governedBy says why Govern is closed: the yield's height, or no governor compiled.

Open
OID
012e5f…1d0d:63
governedBy details

Inspect func

Yield

func()

Yield is the governor's one-way hand-over to GovDAO (M1k): from this block gno.land/r/gov/dao's proposals are the only way a decision is made on every bridge realm — each reads Yielded here before it accepts one, so no realm is ever yielded apart from the rest — and Govern is closed for good. The governor alone, by its own transaction; refused when no governor was compiled (GovDAO governs from the first block) and a second time. A decision the governor queued still applies by Execute(id) after its 7 days, or GovDAO cancels it.

Open
OID
012e5f…1d0d:64
Yield details

Inspect func

queue

func(kind string, text string, params interface{...}, made int64, t int64) *v0.Decision
Open
OID
012e5f…1d0d:65
queue details

Inspect func

atOnce

func(kind string, text string, params interface{...}, made int64, t int64, note string) *v0.Decision
Open
OID
012e5f…1d0d:66
atOnce details

Inspect func

NewLaunchRequest

func() hlmailbox.Request

NewLaunchRequest is the launch's builder — the governor's decision like any other (M1k), the launch vote's once the governor has yielded: its execution makes the realms live, once, with the compiled values. It carries the 14-day deadline every builder carries: a passed launch nobody executed within 14 days of its proposal returns the deadline error (GovDAO denies it for good) and the launch is proposed again, so a forgotten vote is never a standing trap. A second execution errors.

Open
OID
012e5f…1d0d:67
NewLaunchRequest details

Inspect func

NewSetVerifierRequest

func(origin uint32, path string) hlmailbox.Request

NewSetVerifierRequest activates a registered verifier for an origin, 7 days after the proposal executes.

Open
OID
012e5f…1d0d:69
NewSetVerifierRequest details

Inspect func

parseSigners

func(keys string, threshold int, groupA string, groupB string) ([]hlmailbox.Key, hlmailbox.Rule)

parseSigners reads a signer set and its rule: keys in hex, comma separated; a threshold, or both groups (comma separated hex, subsets of the keys) with threshold 0.

Open
OID
012e5f…1d0d:70
parseSigners details

Inspect func

pruned

func(ks []hlmailbox.Key) hlmailbox.Rule

pruned is the live rule with every key absent from ks dropped from both groups: what a pure removal leaves of the rule. A threshold is not pruned (§5.3: a 2-of-3 rule is still met by the 2 that remain after one removal); a group is (one of A and one of B is still met by the members that remain). Removing a partner — the only member of its group — leaves a group empty, which no proposal names, so that removal is never at once.

Open
OID
012e5f…1d0d:71
pruned details

Inspect func

NewRotateSignersRequest

func(keys string, threshold int, groupA string, groupB string) hlmailbox.Request

NewRotateSignersRequest sets the signer set and its rule together (§5.3): the keys in hex, comma separated, in the order signatures name them; a threshold, or §11.13's two groups (one of each must sign; threshold 0). It applies at once only as a pure removal — the new set a subset of the old, under the live rule pruned of the removed keys (the same threshold; the groups less the keys that leave), which the active verifier says the remaining set can still meet (Satisfiable, decided when the proposal executes); any other change, a lowered threshold among them, is queued 7 days, and a queued rotation applies only while the signer set and rule are still those it was decided against.

Open
OID
012e5f…1d0d:72
NewRotateSignersRequest details

Inspect func

parseSeatChanges

func(changes string) ([]int, [].uverse.address)
Open
OID
012e5f…1d0d:73
parseSeatChanges details

Inspect func

seatChangesText

func(ns []int, as [].uverse.address) string
Open
OID
012e5f…1d0d:74
seatChangesText details

Inspect func

NewRotateSeatsRequest

func(changes string) hlmailbox.Request

NewRotateSeatsRequest replaces or vacates guardian and watch-key seats: changes is "seat:address" pairs, comma separated, an empty address vacating the seat; two guardians at most per proposal; a seat's current key is refused. Removals alone apply at once; any replacement queues the whole proposal 7 days, and a queued one applies only while the six seats still stand as they did when it was decided. A removed or replaced key's flags clear with it. A removal means the key the seat holds when the proposal is made (the description names it): a seat whose occupant changed by execution — a replacement landed in between — is skipped and the note says so (R21), the proposal spent if nothing was left to remove.

Open
OID
012e5f…1d0d:75
NewRotateSeatsRequest details

Inspect func

applySeats

func(p hlmailbox.rotateSeatsParams, t int64) (vacated []int, skipped []int)

applySeats makes a proposal's seat changes: a replacement as named; a removal only while the seat still holds the key the proposal was made against (R21). It reports the seats vacated and the removals skipped.

Open
OID
012e5f…1d0d:76
applySeats details

Inspect func

seatsNote

func(vacated []int, skipped []int) string

seatsNote says which seats a proposal vacated and which it skipped.

Open
OID
012e5f…1d0d:77
seatsNote details

Inspect func

parseFns

func(fns string) []string
Open
OID
012e5f…1d0d:79
parseFns details

Inspect func

NewUnpauseRequest

func(routePath string, fns string, removeSeat int) hlmailbox.Request

NewUnpauseRequest clears every seat's flag for the named functions of a route (sends, credits, payouts; comma separated), and may vacate one seat in the same stroke (removeSeat, 0 for none — one seat, so §5.3's cap of two guardians per proposal holds by construction; the void builder's unpause option, which takes a list, counts them). The seat's holder now is what the proposal means and is recorded with it: a seat whose occupant changed by execution — a replacement landed in between — is skipped, and the note says so (R17). It applies at once; the builder refuses one that would clear nothing now, and an executed one that finds nothing to clear is spent (recorded, no effect, no meter reset), never queued.

Open
OID
012e5f…1d0d:80
NewUnpauseRequest details

Inspect func

NewCancelRequest

func(id int64) hlmailbox.Request

NewCancelRequest cancels a queued decision of this realm, at once. It is the one builder proposed before Launch.

Open
OID
012e5f…1d0d:81
NewCancelRequest details

Inspect func

Execute

func(id int64)

Execute applies a queued decision whose 7 days have passed. Anyone may call it; the relayers do. A queued rotation of signers or seats applies only while the set it was decided against still stands: one that finds the signers or the seats changed in between panics (it stays pending; GovDAO cancels it and proposes afresh).

Open
OID
012e5f…1d0d:82
Execute details

Inspect func

namespace

untyped string

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/"

pkgPath

untyped string

// must match gnomod.toml

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlmailbox"

DomainMainnet

uint32

Value

1198419788

DomainTest

uint32

Value

1198419796

mainnetChainID

untyped string

Value

"gnoland-1"

SolanaMainnet

uint32

Value

1399811149

SolanaLocal

uint32

Value

1399811150

launchVerifier

untyped string

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlverifier"

launchThreshold

untyped bigint

Value

(2 <untyped> bigint)

launchSigners

untyped string

Value

"e2c2b621677535e5b2a0a92f37aec61e7ce0397cf1cf713f91a18227eafec2ef,d837b6369a315b6d26babddc0af241d8908a1809481b29e98365965cf8301689,c0b2dc0da05eb6ee67b68068611a72858f3093c79e8d90589ff2ac1f0ea4da26"

launchRouteGNOT

untyped string

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgnot"

launchRouteBUBBLE

untyped string

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlbubble"

hlgovPath

untyped string

// r/hlgov: the one realm that notes a route's enrolment on Solana (NoteEnrolled, AR1)

Value

"gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgov"

maxSigners

untyped bigint

// a signature names its signer in one byte

Value

(255 <untyped> bigint)

launchGovernor

.uverse.address

launchGovernor is the governor (M1k, §5.3): the one address whose own direct call decides — through Govern, the same closures, checks, queues and delays a GovDAO proposal's execution runs — until it yields (Yield), from which block GovDAO's proposals decide and nothing else; "" means GovDAO from the first block. Every bridge realm compiles the same address and refuses to deploy with another (its init reads Governor here), and reads Yielded here, so no realm is ever governed apart from the rest. A PLACEHOLDER (testutils.TestAddress("hl- governor")) until the launch notice names the real key; bridge/local/e2e.sh swaps it for gnodev's test1 in all six realms. Its own line, so one sed on \`^const launchGovernor = address(…)\` finds it in every realm.

Value

<gnolang.StringValue>

localDomain

uint32

Value

1198419788

launchOrigin

uint32

Value

1399811149

sent

v0.Tree

// nonceKey(nonce) → \*sentMsg

Open
OID
012e5f…1d0d:123
sent details

Inspect ref

done

v0.Tree

// message id in hex → the block height it was delivered at

Open
OID
012e5f…1d0d:125
done details

Inspect ref

verifiers

v0.Tree

// pkgpath → Verifier, every realm that registered

Open
OID
012e5f…1d0d:127
verifiers details

Inspect ref

active

v0.Tree

// domainKey(origin) → the pkgpath of the verifier GovDAO chose for that origin

Open
OID
012e5f…1d0d:129
active details

Inspect ref

signerKeys

[]hlmailbox.Key (len=3)

// the one signer set, in the order signatures name them

Open
OID
012e5f…1d0d:196
signerKeys details (len=3)

+3 more Inspect slice

signerRule

hlmailbox.Rule
Open
OID
012e5f…1d0d:200
signerRule details

Inspect ref

live

bool

// after the Launch decision executed

Value

true

launchedAt

int64

// unix time it did

Value

1791955682

yielded

int64

// the block height the governor yielded at (Yield); 0 until then — every bridge realm reads it

Value

0

sentMsg

type

sentMsg is one dispatched message and the checkpoint it made.

Value

hlmailbox.sentMsg

Key

type

Key is a signer's ed25519 public key.

Value

hlmailbox.Key

Rule

type

Rule is how many signers must sign: Threshold of the set, or — when both groups are named (§11.13) — one key of GroupA and one of GroupB. The verifier applies it; Satisfiable says whether a set can still meet it.

Value

hlmailbox.Rule

Verifier

type

Verifier decides whether an incoming message is genuine (§5.1). A verifier is a realm; it registers once with RegisterVerifier and GovDAO activates it by pkgpath. Both methods are non-crossing. An implementation is a type declared in the registering realm: its methods then run under that realm's authority (borrow rule #1) and can write nothing of this realm's. A type declared in /p/ with no object to anchor on (\`type V int\`) would run under this realm's own authority instead — the no-anchor case — which RegisterVerifier cannot tell apart, so GovDAO activates a verifier whose source it has read; what the mailbox hands a verifier is the recipient's bytes (Verify) or a copy of its own keys (Satisfiable), never a value it keeps.

Value

hlmailbox.Verifier

domainOf

func(chainID string) uint32
Open
OID
012e5f…1d0d:139
domainOf details

Inspect func

solanaOf

func(chainID string) uint32
Open
OID
012e5f…1d0d:141
solanaOf details

Inspect func

mustBytes32

func(a .uverse.address) [32]uint8
Open
OID
012e5f…1d0d:142
mustBytes32 details

Inspect func

keysHex

func(ks []hlmailbox.Key) string
Open
OID
012e5f…1d0d:146
keysHex details

Inspect func

nonceKey

func(n uint32) string

nonceKey sorts nonces by number.

Open
OID
012e5f…1d0d:147
nonceKey details

Inspect func

domainKey

func(d uint32) string
Open
OID
012e5f…1d0d:148
domainKey details

Inspect func

LocalDomain

func() uint32

LocalDomain is this chain's Hyperlane domain id.

Open
OID
012e5f…1d0d:150
LocalDomain details

Inspect func

LaunchOrigin

func() uint32

LaunchOrigin is the Solana domain the launch values name.

Open
OID
012e5f…1d0d:151
LaunchOrigin details

Inspect func

Hook

func() string

Hook is this mailbox's merkle tree hook id in hex: the 32 bytes every checkpoint for a message from here names.

Open
OID
012e5f…1d0d:153
Hook details

Inspect func

Count

func() uint32

Count is how many messages went out: the next message's nonce.

Open
OID
012e5f…1d0d:154
Count details

Inspect func

Root

func() string

Root is the merkle tree's root now, in hex.

Open
OID
012e5f…1d0d:155
Root details

Inspect func

Live

func() bool

Live is whether the Launch decision has executed: before it the routes refuse sends and credits.

Open
OID
012e5f…1d0d:156
Live details

Inspect func

LaunchedAt

func() int64

LaunchedAt is the unix time the Launch decision executed, 0 before: the routes' meters start empty there.

Open
OID
012e5f…1d0d:157
LaunchedAt details

Inspect func

Governor

func() .uverse.address
Open
OID
012e5f…1d0d:158
Governor details

Inspect func

Yielded

func() int64

Yielded is the block height the governor yielded at (Yield), 0 until then: what every bridge realm reads before it accepts a decision — the governor's own call before, GovDAO's proxy after (decisions.DAOGoverns).

Open
OID
012e5f…1d0d:159
Yielded details

Inspect func

Message

func(nonce uint32) (message string, root string)

Message is the message dispatched with this nonce, in hex, and the tree's root right after it ("", "" if none).

Open
OID
012e5f…1d0d:160
Message details

Inspect func

Delivered

func(id string) int64

Delivered is the block height a message (by id, in hex) was delivered at here; 0 if it never was.

Open
OID
012e5f…1d0d:161
Delivered details

Inspect func

Signers

func() ([]hlmailbox.Key, hlmailbox.Rule)

Signers is the signer set and its rule: copies, so a verifier can read them and nobody can change them.

Open
OID
012e5f…1d0d:163
Signers details

Inspect func

SignerKeys

func() string

SignerKeys is the signer set in hex, comma separated, in the order signatures name them.

Open
OID
012e5f…1d0d:164
SignerKeys details

Inspect func

ActiveVerifier

func(origin uint32) string

ActiveVerifier is the pkgpath of the verifier GovDAO chose for an origin ("" if none).

Open
OID
012e5f…1d0d:165
ActiveVerifier details

Inspect func

VerifierRegistered

func(path string) bool

VerifierRegistered is whether a realm at this pkgpath registered as a verifier.

Open
OID
012e5f…1d0d:166
VerifierRegistered details

Inspect func

parseKey

func(s string) hlmailbox.Key
Open
OID
012e5f…1d0d:167
parseKey details

Inspect func

parseKeys

func(s string) []hlmailbox.Key

parseKeys reads comma-separated keys in hex, refusing a key named twice.

Open
OID
012e5f…1d0d:168
parseKeys details

Inspect func

indexOf

func(ks []hlmailbox.Key, k hlmailbox.Key) int
Open
OID
012e5f…1d0d:169
indexOf details

Inspect func

sameKeys

func(a []hlmailbox.Key, b []hlmailbox.Key) bool

sameKeys is whether two lists hold the same keys in the same order.

Open
OID
012e5f…1d0d:170
sameKeys details

Inspect func

subset

func(a []hlmailbox.Key, b []hlmailbox.Key) bool

subset is whether every key of a is in b.

Open
OID
012e5f…1d0d:171
subset details

Inspect func

sameSet

func(a []hlmailbox.Key, b []hlmailbox.Key) bool

sameSet is whether two lists hold the same keys, in any order (a list never names a key twice).

Open
OID
012e5f…1d0d:172
sameSet details

Inspect func

RegisterVerifier

func(v hlmailbox.Verifier)

RegisterVerifier is how a verifier realm offers itself: called once from that realm (its init, usually), it is kept under the caller's pkgpath, which GovDAO names to activate it. Only an /r/ realm may register, and once; a sub-realm identity (\`cur.Sub(…)\`, a token a realm mints for free, whose pkgpath \`host#subpath\` passes the prefix test) is refused, so every entry costs a package deployment and the listing (bounded; render.gno) cannot be flooded. Nothing is ever unregistered.

Open
OID
012e5f…1d0d:173
RegisterVerifier details

Inspect func

satisfiable

func(ks []hlmailbox.Key) bool

satisfiable asks every active verifier whether the signer set ks can still meet the rule; an active verifier that is not registered answers no. Each verifier is handed its own copy of ks: the builders store ks after asking, and a verifier that runs under this realm's authority (the no-anchor case, see Verifier) must find nothing of the mailbox's to write into.

Open
OID
012e5f…1d0d:174
satisfiable details

Inspect func

Dispatch

func(destination uint32, recipient [32]uint8, body []uint8) [32]uint8

Dispatch sends body to recipient on destination, from whoever calls it — a realm, usually — and returns the message's id. The sender is the caller's address as Hyperlane carries one; the nonce is the message's index in the merkle tree. The event is §13's: id, nonce, origin, destination, sender, recipient, hash.

Open
OID
012e5f…1d0d:175
Dispatch details

Inspect func

emitDispatch

func(m v0.Message, raw []uint8, id [32]uint8)
Open
OID
012e5f…1d0d:176
emitDispatch details

Inspect func

Reemit

func(nonce uint32)

Reemit emits the Dispatch event of a message dispatched earlier again, in this block, by anyone: a message dispatched before a validator-set change, or whose results leaf is bigger than the ISM accepts, is then delivered from a fresh header. The id is unchanged, so the other side's processed-message record still refuses a second delivery.

Open
OID
012e5f…1d0d:177
Reemit details

Inspect func

Process

func(metadata []uint8, message []uint8) (origin uint32, sender [32]uint8, body []uint8)

Process takes a message from another chain for the caller, who must be its recipient — or a route that succeeds the recipient along the chain of migrations (AQ1: a burn addressed to a migrated route is the successor's to credit, once its last page is in; the route decides when), a successor a re-point dropped from that chain counted as a hop of its predecessor's (R35: the line's last realm takes what is addressed to it; the dropped realm itself, a route no more, is refused). metadata is whatever the origin's active verifier needs (the signers' checkpoint and signatures, for the ed25519 one). The message must be for this chain and never delivered; it is marked delivered, then the verifier is asked, and a verifier's error is a panic, so the whole transaction reverts with the mark and the message stays deliverable (§5.1). It is then handed back for the recipient to act on.

Open
OID
012e5f…1d0d:178
Process details

Inspect func

MarkDone

func(id string)

MarkDone marks a message id delivered without a message: a route's credit-by-vote (§5.3) does it, so the id can never be credited twice. Only a registered route may call it, and only for an id not done.

Open
OID
012e5f…1d0d:179
MarkDone details

Inspect func

pageMax

untyped bigint

// messages a "msgs/" page holds

Value

(20 <untyped> bigint)

verifiersMax

untyped bigint

// registered verifier paths (and announced successors) the page and "json" name, and a "verifiers/" ("successors/") page holds

Value

(20 <untyped> bigint)

Render

func(path string) string

Render: "" the mailbox's page: the launch values live or waiting, verifiers, signers, seats, flags "decisions" the decisions page: the last 100 pending and executed per kind "json" domain, hook, count, root, live, signers, verifiers (the first 20 registered paths and the count), seats, flags, routes (each with its predecessor and successor, and the height and time of the kind 6 that enrolled it on Solana: enrolled, enrolledAt), successors (the first 20 announced paths, the count, and successorRoutes: the route each announced for), for the agents "decisions.json" every decision, as a JSON array "msg/<nonce>" one dispatched message: {"nonce","id","root","height","message"}; "null" if none "msgs/<from>" up to 20 messages from nonce <from> on, as a JSON array "verifiers/<from>" up to 20 registered verifier paths from offset <from> on, in path order, as a JSON array "successors/<from>" up to 20 announced successor paths from offset <from> on, in path order, as a JSON array "delivered/<id>" the block height a message id (hex) was delivered at here, 0 if never

Open
OID
012e5f…1d0d:180
Render details

Inspect func

parseNonce

func(s string) (uint32, bool)
Open
OID
012e5f…1d0d:182
parseNonce details

Inspect func

keysJSON

func(ks []hlmailbox.Key) string
Open
OID
012e5f…1d0d:185
keysJSON details

Inspect func

pathsJSON

func(t *v0.Tree, from int) string

pathsJSON is up to verifiersMax keys of a tree of pkgpaths (the registered verifiers, the announced successors) from offset from on, in path order: the listing is bounded whatever the count, since nothing is ever removed.

Open
OID
012e5f…1d0d:186
pathsJSON details

Inspect func

pathsLine

func(t *v0.Tree, page string) string

pathsLine is a tree of pkgpaths on the page: the first verifiersMax in path order and, past them, where the rest are (page is the Render path that pages them); "none" for an empty tree.

Open
OID
012e5f…1d0d:187
pathsLine details

Inspect func

quotedJSON

func(ss []string) string

quotedJSON is a list of strings as a JSON array.

Open
OID
012e5f…1d0d:189
quotedJSON details

Inspect func

droppedRoutesJSON

func() string

droppedRoutesJSON is every dropped successor (R35) with the predecessor whose re-point dropped it, as an object of pkgpath → pkgpath: the tombstones, bounded by the migrations a bridge sees in its life.

Open
OID
012e5f…1d0d:190
droppedRoutesJSON details

Inspect func

droppedLine

func() string

droppedLine is the dropped successors on the page, each with the predecessor that re-pointed away from it; "" when none.

Open
OID
012e5f…1d0d:191
droppedLine details

Inspect func

successorRoutesJSON

func() string

successorRoutesJSON is the first verifiersMax announced successors with the route each announced for (AQ5), as an object of pkgpath → "GNOT" or "BUBBLE".

Open
OID
012e5f…1d0d:192
successorRoutesJSON details

Inspect func

successorsLine

func() string

successorsLine is the announced successors on the page, each with the route it announced for (AQ5): the first verifiersMax in path order and, past them, where the rest are; "none" for an empty tree.

Open
OID
012e5f…1d0d:193
successorsLine details

Inspect func
seatCount : untyped bigint =(6 <untyped> bigint)
guardians : untyped bigint =(4 <untyped> bigint)
FnSends : untyped string ="sends"
FnCredits : untyped string ="credits"
FnPayouts : untyped string ="payouts"
maxFlagIDs : untyped bigint =(256 <untyped> bigint)
launchSeat1 : .uverse.address =<gnolang.StringValue>
launchSeat2 : .uverse.address =<gnolang.StringValue>
launchSeat3 : .uverse.address =<gnolang.StringValue>
launchSeat4 : .uverse.address =<gnolang.StringValue>
launchSeat5 : .uverse.address =<gnolang.StringValue>
launchSeat6 : .uverse.address =<gnolang.StringValue>
seats : [7].uverse.address Inspect
routes : v0.Tree Inspect
flags : v0.Tree Inspect
successors : v0.Tree Inspect
droppedRoutes : v0.Tree Inspect
SymbolGNOT : untyped string ="GNOT"
SymbolBUBBLE : untyped string ="BUBBLE"
routeRec : type =hlmailbox.routeRec
maxChain : untyped bigint =(16 <untyped> bigint)
flag : type =hlmailbox.flag
initSeats : func() Inspect
flagKey : func(route string, fn string, seat int) string Inspect
flagPrefix : func(route string, fn string) string Inspect
isFn : func(fn string) bool Inspect
now : func() int64 Inspect
Seat : func(n int) .uverse.address Inspect
SeatOf : func(a .uverse.address) int Inspect
IsGuardianSeat : func(n int) bool Inspect
IsRoute : func(path string) bool Inspect
Routes : func() []string Inspect
DroppedRoutes : func() []string Inspect
Paused : func(route string, fn string) bool Inspect
Flagged : func(route string, id string, height int64, verifier bool) bool Inspect
PayoutsEpoch : func(route string) (epoch int64, at int64) Inspect
Flags : func(route string) []string Inspect
mustBeRoute : func() string Inspect
parseIDs : func(s string) (ids []string, rng v0.Range, ranged bool) Inspect
SetFlag : func(route string, fn string, ids string) Inspect
ClearFlag : func(route string, fn string) Inspect
ClearFlags : func(fn string) bool Inspect
VacateSeat : func(seat int, holder .uverse.address) bool Inspect
AddRoute : func(path string) Inspect
dropRoute : func(from string, rec *hlmailbox.routeRec, path string) Inspect
undrop : func(path string) Inspect
Dropped : func(path string) string Inspect
Pulled : func(path string) bool Inspect
NotePulled : func(path string) Inspect
copyFlags : func(from string, to string) n int Inspect
Predecessor : func(path string) string Inspect
Successor : func(path string) string Inspect
Enrolled : func(path string) (height int64, at int64) Inspect
mustBeHlgov : func() Inspect
NoteEnrolled : func(path string, height int64) Inspect
ClearEnrolled : func(path string) Inspect
successorOf : func(path string, recipient [32]uint8) bool Inspect
AnnounceSuccessor : func(symbol string) Inspect
SuccessorAnnounced : func(path string) bool Inspect
SuccessorFor : func(path string) string Inspect
RouteSymbol : func(path string) string Inspect
clearFns : func(path string, fns []string, t int64) (n int, payouts bool) Inspect
clearSeat : func(seat int, t int64) n int Inspect
bump : func(path string, t int64) Inspect
Request : type =hlmailbox.Request
launchParams : type =hlmailbox.launchParams
setVerifierParams : type =hlmailbox.setVerifierParams
rotateSignersParams : type =hlmailbox.rotateSignersParams
rotateSeatsParams : type =hlmailbox.rotateSeatsParams
unpauseParams : type =hlmailbox.unpauseParams
cancelParams : type =hlmailbox.cancelParams
who : func(path string, a .uverse.address) string Inspect
mustBeGovernor : func() Inspect
mustBeLive : func() Inspect
propose : func(kind string, text string, apply func(...)) hlmailbox.Request Inspect
request : func(kind string, text string, cb func(...)) hlmailbox.Request Inspect
Govern : func(r hlmailbox.Request) Inspect
governedBy : func() string Inspect
Yield : func() Inspect
queue : func(kind string, text string, params interface{...}, made int64, t int64) *v0.Decision Inspect
atOnce : func(kind string, text string, params interface{...}, made int64, t int64, note string) *v0.Decision Inspect
NewLaunchRequest : func() hlmailbox.Request Inspect
seatsText : func() string Inspect
NewSetVerifierRequest : func(origin uint32, path string) hlmailbox.Request Inspect
parseSigners : func(keys string, threshold int, groupA string, groupB string) ([]hlmailbox.Key, hlmailbox.Rule) Inspect
pruned : func(ks []hlmailbox.Key) hlmailbox.Rule Inspect
NewRotateSignersRequest : func(keys string, threshold int, groupA string, groupB string) hlmailbox.Request Inspect
parseSeatChanges : func(changes string) ([]int, [].uverse.address) Inspect
seatChangesText : func(ns []int, as [].uverse.address) string Inspect
NewRotateSeatsRequest : func(changes string) hlmailbox.Request Inspect
applySeats : func(p hlmailbox.rotateSeatsParams, t int64) (vacated []int, skipped []int) Inspect
seatsNote : func(vacated []int, skipped []int) string Inspect
seatList : func(ns []int) string Inspect
parseFns : func(fns string) []string Inspect
NewUnpauseRequest : func(routePath string, fns string, removeSeat int) hlmailbox.Request Inspect
NewCancelRequest : func(id int64) hlmailbox.Request Inspect
Execute : func(id int64) Inspect
namespace : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/"
pkgPath : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlmailbox"
DomainMainnet : uint32 =1198419788
DomainTest : uint32 =1198419796
mainnetChainID : untyped string ="gnoland-1"
SolanaMainnet : uint32 =1399811149
SolanaLocal : uint32 =1399811150
launchVerifier : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlverifier"
launchThreshold : untyped bigint =(2 <untyped> bigint)
launchSigners : untyped string ="e2c2b621677535e5b2a0a92f37aec61e7ce0397cf1cf713f91a18227eafec2ef,d837b6369a315b6d26babddc0af241d8908a1809481b29e98365965cf8301689,c0b2dc0da05eb6ee67b68068611a72858f3093c79e8d90589ff2ac1f0ea4da26"
launchRouteGNOT : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgnot"
launchRouteBUBBLE : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlbubble"
hlgovPath : untyped string ="gno.land/r/g1zdaz6sypk5tdsjc2fzsqrrn4ttn8qzmnl4waqp/hlgov"
maxSigners : untyped bigint =(255 <untyped> bigint)
launchGovernor : .uverse.address =<gnolang.StringValue>
localDomain : uint32 =1198419788
launchOrigin : uint32 =1399811149
hook : [32]uint8 Inspect
tree : v0.Tree Inspect
sent : v0.Tree Inspect
done : v0.Tree Inspect
verifiers : v0.Tree Inspect
active : v0.Tree Inspect
signerKeys : []hlmailbox.Key (len=3) Inspect
signerRule : hlmailbox.Rule Inspect
live : bool =true
launchedAt : int64 =1791955682
yielded : int64 =0
ledger : v0.Ledger Inspect
sentMsg : type =hlmailbox.sentMsg
Key : type =hlmailbox.Key
Rule : type =hlmailbox.Rule
Verifier : type =hlmailbox.Verifier
domainOf : func(chainID string) uint32 Inspect
solanaOf : func(chainID string) uint32 Inspect
mustBytes32 : func(a .uverse.address) [32]uint8 Inspect
caller : func() .uverse.address Inspect
u32 : func(n uint32) string Inspect
hx : func(b []uint8) string Inspect
keysHex : func(ks []hlmailbox.Key) string Inspect
nonceKey : func(n uint32) string Inspect
domainKey : func(d uint32) string Inspect
init.139 : func() Inspect
LocalDomain : func() uint32 Inspect
LaunchOrigin : func() uint32 Inspect
Address : func() .uverse.address Inspect
Hook : func() string Inspect
Count : func() uint32 Inspect
Root : func() string Inspect
Live : func() bool Inspect
LaunchedAt : func() int64 Inspect
Governor : func() .uverse.address Inspect
Yielded : func() int64 Inspect
Message : func(nonce uint32) (message string, root string) Inspect
Delivered : func(id string) int64 Inspect
cleanID : func(id string) string Inspect
Signers : func() ([]hlmailbox.Key, hlmailbox.Rule) Inspect
SignerKeys : func() string Inspect
ActiveVerifier : func(origin uint32) string Inspect
VerifierRegistered : func(path string) bool Inspect
parseKey : func(s string) hlmailbox.Key Inspect
parseKeys : func(s string) []hlmailbox.Key Inspect
indexOf : func(ks []hlmailbox.Key, k hlmailbox.Key) int Inspect
sameKeys : func(a []hlmailbox.Key, b []hlmailbox.Key) bool Inspect
subset : func(a []hlmailbox.Key, b []hlmailbox.Key) bool Inspect
sameSet : func(a []hlmailbox.Key, b []hlmailbox.Key) bool Inspect
RegisterVerifier : func(v hlmailbox.Verifier) Inspect
satisfiable : func(ks []hlmailbox.Key) bool Inspect
Dispatch : func(destination uint32, recipient [32]uint8, body []uint8) [32]uint8 Inspect
emitDispatch : func(m v0.Message, raw []uint8, id [32]uint8) Inspect
Reemit : func(nonce uint32) Inspect
Process : func(metadata []uint8, message []uint8) (origin uint32, sender [32]uint8, body []uint8) Inspect
MarkDone : func(id string) Inspect
pageMax : untyped bigint =(20 <untyped> bigint)
verifiersMax : untyped bigint =(20 <untyped> bigint)
Render : func(path string) string Inspect
parseNonce : func(s string) (uint32, bool) Inspect
q : func(s string) string Inspect
msgJSON : func(n uint32) string Inspect
keysJSON : func(ks []hlmailbox.Key) string Inspect
pathsJSON : func(t *v0.Tree, from int) string Inspect
pathsLine : func(t *v0.Tree, page string) string Inspect
summaryJSON : func() string Inspect
quotedJSON : func(ss []string) string Inspect
droppedRoutesJSON : func() string Inspect
droppedLine : func() string Inspect
successorRoutesJSON : func() string Inspect
successorsLine : func() string Inspect
page : func() string Inspect