Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.
Count() int
Declare(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}, original int64, start int64, end int64, delayed bool)
Forget(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})
LockedOf(addr string) (locked int64, ok bool)
Render(path string) string
ScheduleOf(addr string) (original int64, start int64, end int64, delayed bool, ok bool)
SpendableOf(addr string) (spendable int64, ok bool)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
# Vesting
How much of an account's balance can actually move right now.
| account | balance | spendable | locked | vested |
| --- | --- | --- | --- | --- |
| moul `g1manfre…dlf5` | 104769.019392 GNOT | 2413.726049 GNOT | 102355.293343 GNOT | 3.9% |
## Check another address
Append it to the path: `/r/moul/vesting/v0:g1…`
| | |
|---|---|
| put your own schedule on file | [Declare](/r/moul/vesting/v0$help&func=Declare&delayed=false&end=&original=&start=) |
| take it off again | [Forget](/r/moul/vesting/v0$help&func=Forget) |
## What is real here, and what is not
| figure | where it comes from |
|---|---|
| balance | read from the chain every render, `banker.GetCoins` |
| the clock | read from the chain every render, the block time |
| the schedule | **supplied**, because no realm can read one |
A realm's whole view of an account is its TOTAL balance, locked coins included. `std.VestingSchedule` lives in the auth store and no native reaches it, so the curve has to be told to this realm rather than found.
That is safe to cache because a schedule can never change: it is set once, at genesis, and no message type creates or modifies one. A schedule declared correctly today is correct forever.
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.