adminAddr
.uverse.addressValue
<gnolang.StringValue>
Error
typeError is the type of every failure the registry reports (API C10, §7). Each one is a constant led by its copy key, the same keys v0 uses (UI spec §8).
Value
bolo.Error
ErrNotUserCall
bolo.ErrorValue
<gnolang.StringValue>
ErrSessionKey
bolo.ErrorValue
<gnolang.StringValue>
ErrNotAdmin
bolo.ErrorValue
<gnolang.StringValue>
ErrSetting
bolo.ErrorValue
<gnolang.StringValue>
assertCurrent
func()assertCurrent is the first statement of every crossing function (API C2).
- OID
- 053643…837f:3
assertCurrent details
assertCodeCaller
func()assertCodeCaller refuses any caller but a deployed realm (API C11). A maketx run script is ephemeral and code at once: it is refused here, as is a user.
- OID
- 053643…837f:5
assertCodeCaller details
assertSigner
func(who .uverse.address)assertSigner runs right after C11's branch in every write: no session key, in either branch (C11), then the caller must be who (API §3.7).
- OID
- 053643…837f:6
assertSigner details
checkCandidate
func(a .uverse.address)checkCandidate refuses, with ErrSetting, a malformed address (C12: exactly 40 characters, a lowercase "g" first, then IsValid) and the registry's own address and storage-deposit address, which can never accept the admin role (API §3.7).
- OID
- 053643…837f:7
checkCandidate details
init.10
func()- OID
- 053643…837f:8
init.10 details
registryPath
untyped stringValue
"gno.land/r/g12yg9nh4ncma44emgm8msxe8aavzywt0p95tanv/bolo"
versionPrefix
untyped stringValue
"gno.land/r/g12yg9nh4ncma44emgm8msxe8aavzywt0p95tanv/bolo/v"
maxVersions
untyped bigintValue
(50 <untyped> bigint)
maxPathLen
untyped bigintValue
(256 <untyped> bigint)
admin
.uverse.address// a realm once a DAO accepts the role (ADR D11)
Value
<gnolang.StringValue>
pendingAdmin
.uverse.address// the proposed admin until it accepts; "" for none
Value
<zero>
versions
[]string// every version added, oldest first
- OID
- 053643…837f:32
versions details
added
v0.Tree// path → true, for lookups
- OID
- 053643…837f:14
added details
current
string// "" until the first SetCurrent
Value
"gno.land/r/g12yg9nh4ncma44emgm8msxe8aavzywt0p95tanv/bolo/v0"
evVersionAdded
untyped stringThe registry's events (API §6).
Value
"VersionAdded"
evCurrentSet
untyped stringThe registry's events (API §6).
Value
"CurrentSet"
evAdminProposed
untyped stringThe registry's events (API §6).
Value
"AdminProposed"
evAdminChanged
untyped stringThe registry's events (API §6).
Value
"AdminChanged"
Current
func() stringCurrent returns the version new campaigns should use: a pkgpath, or "" before the first SetCurrent.
- OID
- 053643…837f:16
Current details
Versions
func() []stringVersions returns every version ever added, oldest first, as a copy.
- OID
- 053643…837f:18
Versions details
GetAdmin
func() (.uverse.address, .uverse.address)GetAdmin returns the admin and the proposed admin, "" when there is none.
- OID
- 053643…837f:19
GetAdmin details
AddVersion
func(path string)AddVersion registers a version. None is ever removed.
- OID
- 053643…837f:20
AddVersion details
SetCurrent
func(path string)SetCurrent points new campaigns, and their donors' money, at a version already added.
- OID
- 053643…837f:21
SetCurrent details
ProposeAdmin
func(next .uverse.address)ProposeAdmin proposes next as the registry's admin, who takes over by accepting. A second proposal replaces the first.
- OID
- 053643…837f:22
ProposeAdmin details
AcceptAdmin
func()AcceptAdmin makes the proposed admin the admin, and ends the proposal.
- OID
- 053643…837f:23
AcceptAdmin details
Render
func(path string) stringRender is Bolo's front page on gnoweb, the twin of the web app's Home (UI spec §3, §4.13): the name, the tagline, a link to the current version, then the versions, oldest first, the current one marked. It ignores path: nothing a visitor types reaches the page (API §3.7).
- OID
- 053643…837f:24
Render details
checkNewVersion
func(path string)checkNewVersion refuses, with ErrSetting, a path that isn't a version path, one already added, and one past the cap (API §3.7).
- OID
- 053643…837f:25
checkNewVersion details
isVersionPath
func(path string) boolisVersionPath reports whether path names a Bolo version (API §3.7), parsed by hand: exactly versionPrefix, then 0 or a number without a leading zero, and nothing else, in at most maxPathLen bytes. v012 would be another package than v12, so it is refused.
- OID
- 053643…837f:26