apiMaxLimit
untyped bigintValue
(50 <untyped> bigint)
renderAPI
func(route string, q url.Values) stringrenderAPI serves JSON for the web app, under Render("api/..."): api/stats totals, parameters, admin api/top?limit= leaderboard api/profile/<address> one contributor api/records?addr=&kind=work|reviews&page=&limit= newest first; all records without addr api/record/<id> one record api/seeds seed reviewers
- OID
- 0bbacb…6caa:3
renderAPI details
apiProfile
func(addr .uverse.address) string- OID
- 0bbacb…6caa:5
apiProfile details
apiRecords
func(q url.Values) string- OID
- 0bbacb…6caa:6
apiRecords details
recordJSON
func(r *reputation.Record) string- OID
- 0bbacb…6caa:7
recordJSON details
int64s
func(ns []int64) string- OID
- 0bbacb…6caa:8
int64s details
keys
func(t *v0.Tree) []string- OID
- 0bbacb…6caa:9
keys details
apiLimit
func(q url.Values) int- OID
- 0bbacb…6caa:10
apiLimit details
apiError
func(msg string) string- OID
- 0bbacb…6caa:11
apiError details
realmURL
untyped stringValue
"/r/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/reputation"
pageSize
untyped bigintValue
(20 <untyped> bigint)
boardSize
untyped bigintValue
(25 <untyped> bigint)
Render
func(path string) stringRender serves the reputation pages: "" leaderboard and latest records u/<address> contributor profile record/<id> a single record records every record, newest first (?page=N) seeds seed reviewers about scoring rules
- OID
- 0bbacb…6caa:12
Render details
renderHome
func() string- OID
- 0bbacb…6caa:14
renderHome details
renderProfile
func(addr .uverse.address) string- OID
- 0bbacb…6caa:15
renderProfile details
renderRecord
func(id uint64) string- OID
- 0bbacb…6caa:16
renderRecord details
renderRecords
func(page int) string- OID
- 0bbacb…6caa:17
renderRecords details
renderSeeds
func() string- OID
- 0bbacb…6caa:18
renderSeeds details
renderAbout
func() string- OID
- 0bbacb…6caa:19
renderAbout details
recordTable
func(rs []reputation.Record) string- OID
- 0bbacb…6caa:20
recordTable details
latest
func(offset int, limit int) []reputation.Record- OID
- 0bbacb…6caa:21
latest details
userLink
func(addr .uverse.address) string- OID
- 0bbacb…6caa:22
userLink details
sourceLink
func(r *reputation.Record) string- OID
- 0bbacb…6caa:23
sourceLink details
linkOrText
func(s string) string- OID
- 0bbacb…6caa:24
linkOrText details
formatAmount
func(amount int64, denom string) string- OID
- 0bbacb…6caa:25
formatAmount details
decimal
func(amount int64, decimals int) string- OID
- 0bbacb…6caa:26
decimal details
bpsPercent
func(bps int64) string- OID
- 0bbacb…6caa:27
bpsPercent details
pager
func(route string, page int, total int) string- OID
- 0bbacb…6caa:28
pager details
splitQuery
func(path string) (string, url.Values)- OID
- 0bbacb…6caa:29
splitQuery details
pageOf
func(q url.Values) int- OID
- 0bbacb…6caa:30
pageOf details
notFound
func() string- OID
- 0bbacb…6caa:31
notFound details
BountiesPath
untyped stringBountiesPath is the escrow realm allowed to write records at launch.
Value
"gno.land/r/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/bounties"
maxReviewers
untyped bigintValue
(16 <untyped> bigint)
maxTextLen
untyped bigintValue
(300 <untyped> bigint)
maxRank
untyped bigintValue
(1000 <untyped> bigint)
entry
typeentry is what a writer realm submits when work is paid for.
Value
reputation.entry
Record
typeRecord is a stored, immutable account of paid work. Only Voided can change, and only by the Guildhall admin.
Value
reputation.Record
Profile
typeProfile aggregates a contributor's records.
Value
reputation.Profile
Standing
typeStanding is a leaderboard entry.
Value
reputation.Standing
records
v0.Tree// padded id -> \*Record
- OID
- 0bbacb…6caa:33
records details
lastID
uint64Value
0
profiles
v0.Tree// address -> \*Profile
- OID
- 0bbacb…6caa:36
profiles details
leaderboard
v0.Tree// inverted score key -> address
- OID
- 0bbacb…6caa:38
leaderboard details
seeds
v0.Tree// address -> struct{}
- OID
- 0bbacb…6caa:40
seeds details
writers
v0.Tree// pkgpath -> struct{}
- OID
- 0bbacb…6caa:42
writers details
params
v0.Params- OID
- 0bbacb…6caa:44
params details
admin
*v0.Ownable- OID
- 0bbacb…6caa:96
admin details
InitialAdmin
.uverse.addressValue
<gnolang.StringValue>
init.48
func()- OID
- 0bbacb…6caa:46
init.48 details
AddRecord
func(worker .uverse.address, poster .uverse.address, reviewers [].uverse.address, shareBps int64, amount int64, denom string, title string, link string, ref string, arbitrated bool) uint64AddRecord stores a piece of paid work and credits the worker. It may only be called by an allowlisted writer realm, at the moment it releases funds. worker was paid amount of denom for work funded by poster and approved by reviewers. shareBps is the fraction of the milestone the worker received (10000 unless a dispute split it). title, link and ref describe the work: link points at the PR, realm path or proposal, and ref identifies the work within the writer realm (for bounties, "\<id>/\<milestone>").
- OID
- 0bbacb…6caa:48
AddRecord details
validateEntry
func(e reputation.entry) .uverse.error- OID
- 0bbacb…6caa:49
validateEntry details
Score
func(addr .uverse.address) int64Score returns addr's current reputation score.
- OID
- 0bbacb…6caa:50
Score details
Level
func(addr .uverse.address) stringLevel returns a display name for addr's score band.
- OID
- 0bbacb…6caa:51
Level details
HasScore
func(addr .uverse.address, min int64) boolHasScore reports whether addr's score is at least min.
- OID
- 0bbacb…6caa:52
HasScore details
AssertScore
func(addr .uverse.address, min int64)AssertScore panics unless addr's score is at least min. It is the one-line gate for realms that want reputation-weighted access.
- OID
- 0bbacb…6caa:53
AssertScore details
CompletedCount
func(addr .uverse.address) intCompletedCount returns how many paid records addr has as a worker.
- OID
- 0bbacb…6caa:54
CompletedCount details
ReviewCount
func(addr .uverse.address) intReviewCount returns how many records addr has vouched for.
- OID
- 0bbacb…6caa:55
ReviewCount details
Earned
func(addr .uverse.address, denom string) int64Earned returns the total addr has been paid in denom through records.
- OID
- 0bbacb…6caa:56
Earned details
IsSeed
func(addr .uverse.address) boolIsSeed reports whether addr is a seed reviewer.
- OID
- 0bbacb…6caa:57
IsSeed details
IsWriter
func(pkgPath string) boolIsWriter reports whether pkgPath may write records.
- OID
- 0bbacb…6caa:58
IsWriter details
RecordCount
func() intRecordCount returns the number of records ever written.
- OID
- 0bbacb…6caa:59
RecordCount details
ContributorCount
func() intContributorCount returns the number of addresses with a positive score.
- OID
- 0bbacb…6caa:60
ContributorCount details
GetRecord
func(id uint64) (reputation.Record, bool)GetRecord returns a copy of the record with the given id.
- OID
- 0bbacb…6caa:61
GetRecord details
RecordsOf
func(addr .uverse.address, offset int, limit int) []reputation.RecordRecordsOf returns up to limit of addr's work records, newest first, skipping the first offset.
- OID
- 0bbacb…6caa:62
RecordsOf details
ReviewsOf
func(addr .uverse.address, offset int, limit int) []reputation.RecordReviewsOf returns up to limit of the records addr vouched for, newest first.
- OID
- 0bbacb…6caa:63
ReviewsOf details
Top
func(n int) []reputation.StandingTop returns the n highest scores, highest first. Ties are ordered by address.
- OID
- 0bbacb…6caa:64
Top details
Rank
func(addr .uverse.address) intRank returns addr's 1-based leaderboard position, or 0 if unranked.
- OID
- 0bbacb…6caa:65
Rank details
Params
func() v0.ParamsParams returns the scoring parameters in force.
- OID
- 0bbacb…6caa:66
Params details
Admin
func() .uverse.address- OID
- 0bbacb…6caa:67
Admin details
AddSeed
func(addr .uverse.address)AddSeed marks addr as a seed reviewer with full trust.
- OID
- 0bbacb…6caa:68
AddSeed details
RemoveSeed
func(addr .uverse.address)RemoveSeed revokes addr's seed status. Existing records keep the points they were awarded; only future reviews are affected.
- OID
- 0bbacb…6caa:69
RemoveSeed details
AddWriter
func(pkgPath string)AddWriter allows another realm to write records.
- OID
- 0bbacb…6caa:70
AddWriter details
RemoveWriter
func(pkgPath string)RemoveWriter revokes a realm's right to write records.
- OID
- 0bbacb…6caa:71
RemoveWriter details
SetParams
func(base int64, trustThreshold int64, trustFloorBps int64, selfFundedFactorBps int64)SetParams changes the scoring rules for future records.
- OID
- 0bbacb…6caa:72
SetParams details
VoidRecord
func(id uint64, reason string)VoidRecord cancels a fraudulent record and removes its points from the worker. Trust the worker lent to others while holding those points is not unwound; voiding is for correcting abuse, not rewriting history.
- OID
- 0bbacb…6caa:73
VoidRecord details
TransferAdmin
func(newAdmin .uverse.address)TransferAdmin hands the admin key to another address, such as a multisig.
- OID
- 0bbacb…6caa:74
TransferAdmin details
RenounceAdmin
func()RenounceAdmin gives up the admin key for good. Nothing can curate reputation afterwards: seeds, writers and parameters are frozen and no record can be voided. Prefer TransferAdmin unless that is the intent.
- OID
- 0bbacb…6caa:75
RenounceAdmin details
addSeed
func(addr .uverse.address)- OID
- 0bbacb…6caa:76
addSeed details
removeSeed
func(addr .uverse.address)- OID
- 0bbacb…6caa:77
removeSeed details
addWriter
func(pkgPath string)- OID
- 0bbacb…6caa:78
addWriter details
removeWriter
func(pkgPath string)- OID
- 0bbacb…6caa:79
removeWriter details
newParams
func(base int64, trustThreshold int64, trustFloorBps int64, selfFundedFactorBps int64) v0.Params- OID
- 0bbacb…6caa:80
newParams details
setParams
func(p v0.Params)- OID
- 0bbacb…6caa:81
setParams details
checkVoid
func(id uint64, reason string)- OID
- 0bbacb…6caa:82
checkVoid details
voidRecord
func(id uint64, reason string)- OID
- 0bbacb…6caa:83
voidRecord details
assertAdmin
func()- OID
- 0bbacb…6caa:84
assertAdmin details
getProfile
func(addr .uverse.address) *reputation.Profile- OID
- 0bbacb…6caa:85
getProfile details
getOrCreateProfile
func(addr .uverse.address) *reputation.Profile- OID
- 0bbacb…6caa:86
getOrCreateProfile details
getRecord
func(id uint64) *reputation.Record- OID
- 0bbacb…6caa:87
getRecord details
touch
func(p *reputation.Profile, at time.Time)- OID
- 0bbacb…6caa:88
touch details
addEarned
func(p *reputation.Profile, denom string, amount int64)- OID
- 0bbacb…6caa:89
addEarned details
setScore
func(p *reputation.Profile, score int64)- OID
- 0bbacb…6caa:90
setScore details
boardKey
func(score int64, addr .uverse.address) stringboardKey sorts higher scores first under avl's ascending iteration.
- OID
- 0bbacb…6caa:91
boardKey details
idKey
func(id uint64) string- OID
- 0bbacb…6caa:92
idKey details
pad
func(n int64, width int) string- OID
- 0bbacb…6caa:93
pad details
collect
func(ids []uint64, offset int, limit int) []reputation.Record- OID
- 0bbacb…6caa:94
collect details
copyRecord
func(r *reputation.Record) reputation.Record- OID
- 0bbacb…6caa:95