maxSeats
untyped bigintValue
(5 <untyped> bigint)
maxTerm
untyped bigint// seconds
Value
(7776000 <untyped> bigint)
StatusSubmitted
untyped stringValue
"submitted"
StatusChangesRequested
untyped stringValue
"changes_requested"
StatusRecommended
untyped stringValue
"recommended"
StatusDeclined
untyped stringValue
"declined"
seat
typeA seat is active strictly before until. Lead is a public label and grants nothing.
Value
v1.seat
Application
typeAn Application is a founder's request for review and the latest decision on it. Earlier revisions and decisions stay in the event log.
Value
v1.Application
admin
.uverse.addressValue
<gnolang.StringValue>
pendingAdmin
.uverse.addressValue
<zero>
seats
v0.Tree// manager address -> seat; at most maxSeats entries
- OID
- 0afffa…bffb:6
seats details
conflicts
v0.Tree// "\<collection>/\<address>" -> true; never removed
- OID
- 0afffa…bffb:8
conflicts details
applications
v0.Tree// collection -> \*Application
- OID
- 0afffa…bffb:10
applications details
lastFiling
v0.IDValue
<zero>
filings
v0.Tree// seqid key -> collection, in order of first filing
- OID
- 0afffa…bffb:13
filings details
init.15
func()- OID
- 0afffa…bffb:14
init.15 details
now
func() int64- OID
- 0afffa…bffb:16
now details
caller
func() .uverse.address- OID
- 0afffa…bffb:17
caller details
direct
func() .uverse.address- OID
- 0afffa…bffb:18
direct details
requireAdmin
func()- OID
- 0afffa…bffb:19
requireAdmin details
zeroHash
stringValue
"0000000000000000000000000000000000000000000000000000000000000000"
commitment
func(hash string, cid string)commitment checks a pointer to public text: the SHA-256 of its exact bytes as 64 lowercase hex digits, not all zero, and a bounded IPFS CID it can be fetched from (CIDv1 "bafy..." or "bafk..." in base32, or CIDv0 "Qm..." in base58). Clients must hash what they fetch before showing it. Private prose never goes on chain. Byte ranges, not alphabet lookups: this is most of the cost of a call that takes a pointer.
- OID
- 0afffa…bffb:21
commitment details
ProposeAdmin
func(next .uverse.address)ProposeAdmin starts a handoff to any account or realm. Nothing changes until that exact address accepts.
- OID
- 0afffa…bffb:22
ProposeAdmin details
CancelAdminProposal
func()- OID
- 0afffa…bffb:23
CancelAdminProposal details
AcceptAdmin
func()AcceptAdmin completes the handoff. No caller has the empty address, so nobody accepts while nothing is proposed. The admin holds no seat: a manager who accepts gives its seat up.
- OID
- 0afffa…bffb:24
AcceptAdmin details
GetAdmin
func() .uverse.address- OID
- 0afffa…bffb:25
GetAdmin details
GetPendingAdmin
func() .uverse.address- OID
- 0afffa…bffb:26
GetPendingAdmin details
checkAccount
func(who .uverse.address)checkAccount refuses an address the chain never gives a caller: another spelling of an account would read as a stranger.
- OID
- 0afffa…bffb:27
checkAccount details
active
func(who .uverse.address) bool- OID
- 0afffa…bffb:28
active details
ActiveManager
func(who .uverse.address) bool- OID
- 0afffa…bffb:29
ActiveManager details
ActiveManagerCount
func() int- OID
- 0afffa…bffb:30
ActiveManagerCount details
AppointManager
func(who .uverse.address, lead bool, until int64)AppointManager seats a manager until a time at most 90 days ahead, or replaces the term of one already seated. Expired seats are dropped first, so the tree never holds more than maxSeats entries.
- OID
- 0afffa…bffb:31
AppointManager details
RemoveManager
func(who .uverse.address)- OID
- 0afffa…bffb:32
RemoveManager details
conflictKey
func(collection string, who .uverse.address) string- OID
- 0afffa…bffb:33
conflictKey details
recorded
func(collection string, who .uverse.address) bool- OID
- 0afffa…bffb:34
recorded details
HasConflict
func(collection string, who .uverse.address) boolHasConflict reports a recorded conflict only: a filing, a recusal or an admin's mark. Conflicted is the full rule.
- OID
- 0afffa…bffb:35
HasConflict details
Conflicted
func(collection string, who .uverse.address) boolConflicted reports whether an account may not act as a manager on a collection: it created the collection, holds or is proposed for its creator role now, or has a recorded conflict. It aborts on an unknown collection.
- OID
- 0afffa…bffb:36
Conflicted details
conflicted
func(info v1.Info, who .uverse.address) bool- OID
- 0afffa…bffb:37
conflicted details
seated
func() .uverse.address- OID
- 0afffa…bffb:38
seated details
manager
func(collection string) .uverse.address- OID
- 0afffa…bffb:39
manager details
Resign
func()Resign gives up the calling manager's own seat at once.
- OID
- 0afffa…bffb:40
Resign details
reopen
func(collection string, who .uverse.address)reopen voids the decision of a manager found conflicted after making it: the application awaits review again, so a conflict cannot be dodged by deciding first and disclosing later.
- OID
- 0afffa…bffb:41
reopen details
Recuse
func(collection string)Recuse records the calling manager's own conflict on a collection and voids its decision there, if it made the latest one. A recorded conflict is permanent: nobody, the admin included, can clear it, and recusing again records and emits nothing.
- OID
- 0afffa…bffb:42
Recuse details
MarkConflict
func(collection string, who .uverse.address)MarkConflict records a conflict the admin knows of, on a manager or on an account that may become one, and voids that account's latest decision on the collection as Recuse does. Marking a recorded conflict again records and emits nothing.
- OID
- 0afffa…bffb:43
MarkConflict details
founder
func(collection string) .uverse.address- OID
- 0afffa…bffb:44
founder details
applicationOf
func(collection string) *v1.Application- OID
- 0afffa…bffb:45
applicationOf details
GetApplication
func(collection string) v1.ApplicationGetApplication returns a copy of a collection's application, the zero value (revision 0) when nobody applied, as ApplicationJSON answers null.
- OID
- 0afffa…bffb:46
GetApplication details
Apply
func(collection string, statementHash string, statementCID string)Apply files the founder's application for a collection. The founder may file again at any time before a recommendation, to correct a pointer or after a manager asked for changes or declined. Each filing is a new revision awaiting review. Filing records the filer's conflict on the collection for good. A realm that holds the creator role never applies: the founder calls in person.
- OID
- 0afffa…bffb:47
Apply details
Review
func(collection string, revision int64, status string, reasonHash string, reasonCID string)Review records one manager's decision on the revision it read, which must still be the latest. Any unconflicted manager may decide again, whatever the latest decision. A recommendation is advice to the admin and gives the collection nothing by itself.
- OID
- 0afffa…bffb:48
Review details
Render
func(string) string- OID
- 0afffa…bffb:49
Render details
maxFeature
untyped bigint// seconds
Value
(1209600 <untyped> bigint)
holdSpan
untyped bigintValue
(86400 <untyped> bigint)
maxHold
untyped bigintValue
(2592000 <untyped> bigint)
subjects
[4]stringWhat a founder may appeal: the decision on its application, a hold, the collection's verification, or a feature decision.
- OID
- 0afffa…bffb:51
subjects details
feature
typeA feature slot exists only when one manager proposed it and another approved it. The admin can clear a slot and can never create one.
Value
v1.feature
hold
typeA hold hides a collection from curated views until a time. It changes presentation only: nothing about the collection's tokens is frozen.
Value
v1.hold
verification
typeValue
v1.verification
appeal
typeValue
v1.appeal
features
v0.Tree// collection -> \*feature
- OID
- 0afffa…bffb:53
features details
holds
v0.Tree// collection -> \*hold
- OID
- 0afffa…bffb:55
holds details
verifications
v0.Tree// collection -> verification
- OID
- 0afffa…bffb:57
verifications details
appeals
v0.Tree// "\<collection>/\<subject>" -> \*appeal, the latest
- OID
- 0afffa…bffb:59
appeals details
lastAppeal
v0.IDValue
<zero>
openAppeals
v0.Tree// seqid key -> appeals key, in filing order
- OID
- 0afffa…bffb:62
openAppeals details
featureOf
func(collection string) *v1.feature- OID
- 0afffa…bffb:63
featureOf details
holdOf
func(collection string) *v1.hold- OID
- 0afffa…bffb:65
holdOf details
appealOf
func(key string) *v1.appeal- OID
- 0afffa…bffb:66
appealOf details
standing
func(collection string, who .uverse.address) boolstanding reports whether who could act on the collection as a manager now. An unapproved slot's empty approver holds no seat.
- OID
- 0afffa…bffb:67
standing details
pair
func(collection string, first .uverse.address, second .uverse.address)pair enforces the two-manager rule when second completes what first began: two different managers, the first still seated and unconflicted. The second was checked as the caller.
- OID
- 0afffa…bffb:68
pair details
running
func(collection string, f *v1.feature) boolrunning reports a slot that runs, approved by two managers that both keep their standing: whether hidden or not, it is the collection's slot.
- OID
- 0afffa…bffb:69
running details
ProposeFeature
func(collection string, reasonHash string, reasonCID string, until int64)ProposeFeature opens a slot of at most 14 days. It features nothing until a second manager approves. It replaces a slot that is not running: one still unapproved, or one whose proposer or approver lost its standing.
- OID
- 0afffa…bffb:70
ProposeFeature details
ApproveFeature
func(collection string)- OID
- 0afffa…bffb:71
ApproveFeature details
IsFeatured
func(collection string) boolIsFeatured holds only while the slot runs, both of its managers keep their standing and the collection is not hidden.
- OID
- 0afffa…bffb:72
IsFeatured details
ClearFeature
func(collection string, reasonHash string, reasonCID string)- OID
- 0afffa…bffb:73
ClearFeature details
HideTemporarily
func(collection string, reasonHash string, reasonCID string)HideTemporarily hides a collection for 24 hours on one manager's word. The record outlives the hold: no manager can start another until the admin clears it.
- OID
- 0afffa…bffb:74
HideTemporarily details
ConfirmHide
func(collection string)ConfirmHide lets a second manager keep a running hold for 24 hours from now, once. After that, or once the admin has set the term, only the admin changes it.
- OID
- 0afffa…bffb:75
ConfirmHide details
ExtendHide
func(collection string, until int64, reasonHash string, reasonCID string)ExtendHide sets the term of a recorded hold, running or over, to a time at most 30 days ahead, and replaces its public reason.
- OID
- 0afffa…bffb:76
ExtendHide details
ClearHide
func(collection string, reasonHash string, reasonCID string)- OID
- 0afffa…bffb:77
ClearHide details
SetVerified
func(collection string, value bool, reasonHash string, reasonCID string)SetVerified is the admin's statement that a collection is what it claims to be. It says nothing about price or future value.
- OID
- 0afffa…bffb:79
SetVerified details
IsVerified
func(collection string) bool- OID
- 0afffa…bffb:80
IsVerified details
Appeal
func(collection string, subject string, statementHash string, statementCID string)Appeal files the founder's objection on one subject. A collection has at most one open appeal per subject; a resolved one can be followed by another.
- OID
- 0afffa…bffb:81
Appeal details
ResolveAppeal
func(collection string, subject string, upheld bool, reasonHash string, reasonCID string)ResolveAppeal records the admin's answer and its public reason. It changes nothing else: the admin acts on an upheld appeal with the ordinary calls.
- OID
- 0afffa…bffb:82
ResolveAppeal details
jsonInt
func(n int64) stringint64 values are decimal strings so a JSON client cannot round them.
- OID
- 0afffa…bffb:83
jsonInt details
StateJSON
func() string- OID
- 0afffa…bffb:85
StateJSON details
ManagersJSON
func() stringManagersJSON lists the active seats, ordered by account.
- OID
- 0afffa…bffb:86
ManagersJSON details
ApplicationJSON
func(collection string) stringApplicationJSON returns null for a collection nobody applied for.
- OID
- 0afffa…bffb:87
ApplicationJSON details
pageJSON
func(tree *v0.Tree, page int64, size int64, item func(...)) stringpageJSON renders a zero-based page of a tree in key order; the page size is 1..50.
- OID
- 0afffa…bffb:88
pageJSON details
ApplicationsJSON
func(page int64, size int64) stringApplicationsJSON pages through the applications in order of first filing.
- OID
- 0afffa…bffb:89
ApplicationsJSON details
AccessJSON
func(collection string, who string) stringAccessJSON tells a private inbox what an account is to a collection right now: whether it holds the creator role ("founder"), an active manager, and whether Conflicted bars it from acting as one. It is public data to be read on every request, not a token. The answer also says where and when it was evaluated: the chain ID, the block height and the block time. The answer is not signed: checking them exposes an honest node on the wrong chain or behind it, and proves nothing against a node that lies. Its eight fields are a contract with that reader.
- OID
- 0afffa…bffb:90
AccessJSON details
featureJSON
func(collection string) string- OID
- 0afffa…bffb:91
featureJSON details
holdJSON
func(collection string) string- OID
- 0afffa…bffb:92
holdJSON details
verificationJSON
func(collection string) string- OID
- 0afffa…bffb:93
verificationJSON details
appealJSON
func(key string) string- OID
- 0afffa…bffb:94
appealJSON details
CollectionJSON
func(collection string) stringCollectionJSON is a collection's editorial record: what a client may show now, then the records behind it and the latest appeal on each subject. A part with no record is null.
- OID
- 0afffa…bffb:95
CollectionJSON details
AppealsJSON
func(page int64, size int64) stringAppealsJSON pages through the open appeals in filing order.
- OID
- 0afffa…bffb:96
AppealsJSON details
FeaturesJSON
func(page int64, size int64) stringFeaturesJSON pages through every collection that has a feature slot on record, in ID text order, saying whether it is featured right now.
- OID
- 0afffa…bffb:97