DELAY
untyped bigintDELAY is how long a ready release waits before it takes over. It is a constant so that it can never be shortened.
Value
(259200 <untyped> bigint)
maxKey
untyped bigintLimits: every call is bounded.
Value
(128 <untyped> bigint)
maxValue
untyped bigintLimits: every call is bounded.
Value
(16384 <untyped> bigint)
maxOps
untyped bigintLimits: every call is bounded.
Value
(64 <untyped> bigint)
maxPage
untyped bigintLimits: every call is bounded.
Value
(100 <untyped> bigint)
maxColls
untyped bigint// per role
Value
(32 <untyped> bigint)
maxCollName
untyped bigintLimits: every call is bounded.
Value
(32 <untyped> bigint)
maxPath
untyped bigintLimits: every call is bounded.
Value
(100 <untyped> bigint)
roles
[4]string- OID
- 0c9660…3858:4
roles details
self
string// this realm's path
Value
"gno.land/r/nym-alexiscolin000/gnoradio/data"
owner
*v0.Role- OID
- 0c9660…3858:100
owner details
guardian
*v0.Role- OID
- 0c9660…3858:102
guardian details
writer
[4]string// pkgpath per role
- OID
- 0c9660…3858:9
writer details
paused
[4]bool- OID
- 0c9660…3858:11
paused details
proposed
[4]string// "" = role unchanged by the release
- OID
- 0c9660…3858:13
proposed details
ready
[4]bool- OID
- 0c9660…3858:15
ready details
at
int64// when the release takes over; 0 until every proposed realm said Ready
Value
0
colls
map[string]*v0.BPTree- OID
- 0c9660…3858:18
colls details
nColls
[4]int- OID
- 0c9660…3858:20
nColls details
past
*v0.BPTree// address -> pkgpath of every realm that has been a writer
- OID
- 0c9660…3858:22
past details
frozen
int64// seconds some role has been paused, ended pauses only
Value
0
frozeAt
int64// when the current pause of some role began, 0 if none
Value
0
nextGuardian
.uverse.address// the owner's replacement for the guardian, "" if none
Value
<zero>
guardianAt
int64// when nextGuardian takes over
Value
0
init.24
func()- OID
- 0c9660…3858:28
init.24 details
start
func(deployer .uverse.address)start puts release 1 in force (gno.land/r/\<ns>/gnoradio/\<role>/v1), with the deployer as owner and guardian.
- OID
- 0c9660…3858:30
start details
nftPath
func() stringnftPath is the permanent ticket NFT realm (phase 5). It is not a writer: it mints and transfers only for the tickets writer, and like every GnoRadio realm it never takes vault payouts.
- OID
- 0c9660…3858:31
nftPath details
remember
func(pkgpath string)- OID
- 0c9660…3858:32
remember details
roleIndex
func(r string) int- OID
- 0c9660…3858:33
roleIndex details
roleOf
func(name string) introleOf is the role of a collection or vault account: its name's prefix.
- OID
- 0c9660…3858:34
roleOf details
noPayment
func()- OID
- 0c9660…3858:35
noPayment details
now
func() int64- OID
- 0c9660…3858:36
now details
matured
func() bool- OID
- 0c9660…3858:37
matured details
settle
func()settle puts a release whose delay is over in force.
- OID
- 0c9660…3858:38
settle details
drop
func()drop forgets the release not yet in force.
- OID
- 0c9660…3858:39
drop details
Writer
func(r string) stringWriter is the realm that writes a role's collections now.
- OID
- 0c9660…3858:40
Writer details
gate
func(name string)gate lets only the writer of a collection's or account's role through, and only while that role is not paused. The writer is the immediate caller: accounts, MsgRun and the owner never pass.
- OID
- 0c9660…3858:41
gate details
IsGnoRadio
func(addr .uverse.address) boolIsGnoRadio reports whether addr is a GnoRadio realm: this one, the ticket NFT realm, or any current, proposed or past writer.
- OID
- 0c9660…3858:42
IsGnoRadio details
onlyOwner
func()- OID
- 0c9660…3858:43
onlyOwner details
checkPath
func(p string)checkPath refuses anything but a plain realm path.
- OID
- 0c9660…3858:44
checkPath details
Propose
func(r string, pkgpath string)Propose adds a role's new writer to the next release. Any change restarts the clock. Owner only.
- OID
- 0c9660…3858:45
Propose details
Ready
func()Ready is a proposed realm's own call (each rules realm exposes it): once every proposed realm said it, the release takes over DELAY later.
- OID
- 0c9660…3858:46
Ready details
Cancel
func()Cancel drops the release not yet in force. Owner or guardian. It never touches a guardian replacement.
- OID
- 0c9660…3858:47
Cancel details
Pause
func(r string, on bool)Pause stops a role's writes and vault operations at once ("" every role); reads and VaultWithdraw go on. on=false resumes the same writer. The owner pauses and resumes; the guardian only pauses, and only while there is an owner to resume.
- OID
- 0c9660…3858:48
Pause details
Renounce
func()Renounce gives the owner role up: writers never change again and nothing can be paused. Refused while a role is paused, which could then never write again. It drops the release not yet in force.
- OID
- 0c9660…3858:49
Renounce details
Offer
func(to .uverse.address)Offer offers the owner role to an address (offering it to the owner cancels the offer); Accept takes it.
- OID
- 0c9660…3858:50
Offer details
Accept
func()- OID
- 0c9660…3858:51
Accept details
GuardianOffer
func(to .uverse.address)GuardianOffer and GuardianAccept pass the guardian role in two steps; the guardian offers it. The owner's only call on the role is GuardianReplace.
- OID
- 0c9660…3858:52
GuardianOffer details
GuardianAccept
func()- OID
- 0c9660…3858:53
GuardianAccept details
GuardianRenounce
func()GuardianRenounce gives the guardian role up. A replacement the owner already announced still takes over.
- OID
- 0c9660…3858:54
GuardianRenounce details
GuardianReplace
func(to .uverse.address)GuardianReplace is the owner's way out of a lost or stolen guardian key, which could otherwise cancel every release and pause after every resume for good: to becomes the guardian 2x DELAY (six days) later. The guardian cannot cancel it; the owner withdraws it with to = "" or announces another one, which restarts the clock. The wait outlasts a release's DELAY, so a stolen owner key that replaces the guardian is public for six days before its own release can even start its 72 hours. Owner only.
- OID
- 0c9660…3858:55
GuardianReplace details
settleGuardian
func()settleGuardian puts a replacement whose wait is over in force: a fresh role, so any offer the old guardian left dies with it.
- OID
- 0c9660…3858:56
settleGuardian details
guardianNow
func() (holder .uverse.address, pending .uverse.address)- OID
- 0c9660…3858:57
guardianNow details
Paused
func(r string) boolPaused reports whether a role's writes are stopped now.
- OID
- 0c9660…3858:58
Paused details
anyPaused
func() bool- OID
- 0c9660…3858:59
anyPaused details
Owner
func() .uverse.address- OID
- 0c9660…3858:60
Owner details
Guardian
func() .uverse.address- OID
- 0c9660…3858:61
Guardian details
Writers
func() stringWriters is the state of every role, as JSON: {"owner","pendingOwner", "guardian","pendingGuardian","nextGuardian","guardianAt","at","roles": {"catalog":{"writer","paused","proposed","ready"},…}}. at is the unix time a ready release takes over, guardianAt the time nextGuardian (the owner's GuardianReplace) does.
- OID
- 0c9660…3858:62
Writers details
coll
func(name string) *v0.BPTree- OID
- 0c9660…3858:63
coll details
mustColl
func(name string) *v0.BPTree- OID
- 0c9660…3858:64
mustColl details
Make
func(name string)Make creates a collection under the caller's role (nothing if it exists): "\<role>/\<name>", name of a-z 0-9 \_, at most 32 bytes in all, 32 per role.
- OID
- 0c9660…3858:65
Make details
apply
func(op string, name string, k string, v string) boolapply is one write of the caller's role: Set, Remove and each op of Batch.
- OID
- 0c9660…3858:66
apply details
Set
func(name string, key string, value string)Set writes value at key of a collection of the caller's role.
- OID
- 0c9660…3858:67
Set details
Remove
func(name string, key string) boolRemove deletes a key and reports whether it was there.
- OID
- 0c9660…3858:68
Remove details
Batch
func(ops []string)Batch applies up to 64 ops of four strings (store.Ops): "set" or "del", collection, key, value. It reads the strings and keeps nothing else of the caller's slice.
- OID
- 0c9660…3858:69
Batch details
Get
func(name string, key string) (string, bool)Get returns the value at key ("" and false when absent).
- OID
- 0c9660…3858:70
Get details
Has
func(name string, key string) bool- OID
- 0c9660…3858:71
Has details
Size
func(name string) intSize is the number of keys of a collection.
- OID
- 0c9660…3858:72
Size details
Index
func(name string, key string) intIndex is the number of keys before key: Index(c, b) - Index(c, a) counts the keys in \[a, b) without a counter. O(log² n).
- OID
- 0c9660…3858:73
Index details
Page
func(name string, start string, end string, limit int, reverse bool) stringPage returns up to limit (1-100) rows with start \<= key \< end ("" no bound), lowest first or highest first when reverse, as store.Row strings (store.Rows decodes them).
- OID
- 0c9660…3858:74
Page details
PageAt
func(name string, offset int, limit int, reverse bool) stringPageAt returns up to limit (1-100) rows from the offset-th key, counted from the highest when reverse.
- OID
- 0c9660…3858:75
PageAt details
checkLimit
func(limit int)- OID
- 0c9660…3858:76
checkLimit details
denom
untyped stringValue
"ugnot"
daySecs
untyped bigintValue
(86400 <untyped> bigint)
maxHoldDays
untyped bigint// a hold lapses at most this many days ahead
Value
(31 <untyped> bigint)
maxAcct
untyped bigintValue
(64 <untyped> bigint)
vault
*v0.BPTree// account -> store.Rec(funder, balance, holds)
- OID
- 0c9660…3858:78
vault details
vaultTotal
int64Value
0
account
typeValue
data.account
getAcct
func(name string) data.account- OID
- 0c9660…3858:81
getAcct details
putAcct
func(name string, a data.account)- OID
- 0c9660…3858:83
putAcct details
atoi
func(s string) int64- OID
- 0c9660…3858:84
atoi details
VaultDay
func() int64VaultDay is the UTC day of the vault's clock, which stands still while any role is paused: a pause never makes a hold lapse, it lapses that much later. The clock lags real time by every past pause, so a hold made after one also lasts that much longer.
- OID
- 0c9660…3858:85
VaultDay details
today
func() int64- OID
- 0c9660…3858:86
today details
held
func(list string, e int64) (live int64, atE int64)held reads the holds still live today, and the one lapsing on day e.
- OID
- 0c9660…3858:87
held details
hold
func(list string, e int64, delta int64) stringhold adds delta to the hold lapsing on day e and drops lapsed ones.
- OID
- 0c9660…3858:88
hold details
positive
func(amt int64)- OID
- 0c9660…3858:89
positive details
send
func(acct string, to .uverse.address, amt int64, event string)send pays out of the vault: the total goes down before the coins leave.
- OID
- 0c9660…3858:90
send details
VaultCredit
func(acct string, funder .uverse.address, amt int64)VaultCredit adds amt, which the writer has just sent to this realm, to an account funded by funder. A new funder needs an empty account (VaultRefund first).
- OID
- 0c9660…3858:91
VaultCredit details
VaultHold
func(acct string, amt int64, day int64)VaultHold reserves amt of the free balance until the end of day on the vault's clock (from VaultDay to 31 days from now).
- OID
- 0c9660…3858:92
VaultHold details
VaultRelease
func(acct string, amt int64, day int64) int64VaultRelease gives back up to amt of the hold lapsing on day and returns what it released (less when part of it lapsed or was refunded).
- OID
- 0c9660…3858:93
VaultRelease details
VaultPay
func(acct string, to .uverse.address, amt int64, day int64)VaultPay pays amt from the live hold lapsing on day to an account outside GnoRadio.
- OID
- 0c9660…3858:94
VaultPay details
VaultRefund
func(acct string) int64VaultRefund pays the whole balance back to the funder and drops the holds (the profile changed hands). It returns the amount.
- OID
- 0c9660…3858:95
VaultRefund details
VaultWithdraw
func(acct string)VaultWithdraw pays the caller what is free in an account they funded. It works whoever the writer is, while paused and after Renounce.
- OID
- 0c9660…3858:96
VaultWithdraw details
VaultInfo
func(acct string) (funder .uverse.address, balance int64, free int64)VaultInfo is an account's funder, balance and free part (not held).
- OID
- 0c9660…3858:97
VaultInfo details
VaultHeld
func(acct string, day int64) int64VaultHeld is the live hold of an account lapsing on day.
- OID
- 0c9660…3858:98
VaultHeld details
VaultTotal
func() int64VaultTotal is every account's balance: what this realm holds for them.
- OID
- 0c9660…3858:99