Realm
gno.land/r/g1ecsuj0q572jr0dhu29q9njtnmw03hyu7tyyvv6/kourt
Overview
Realm Path
gno.land/r/g1ecsuj0q572jr0dhu29q9njtnmw03hyu7tyyvv6/kourt
Exported Functions
296
State Entries
251
Source Files
46
Total Package Entries
899
Exported Functions
296 exported functions
State
251 state entries
Source Code
FILES
adminparams.gno
go
1package kourt
2import (
3 "strconv"
4 "strings"
5)
6func adminAddr() address {
7 if globalDAO != nil {
8 return globalDAO.admin
9 }
10 return directoryAdmin
11}
12func purgeThreshold() int {
13 if globalDAO != nil {
14 return globalDAO.purgeM
15 }
16 return daoBootstrapM
17}
18func daoSeats() int {
19 if globalDAO != nil {
20 return globalDAO.n
21 }
22 return daoBootstrapN
23}
24func AdminParams() string {
25 l := ladderDefault
26 r := creditRatesDefault
27 hosts := MediaHosts()
28 exact, suffix := hosts, ""
29 if i := strings.Index(hosts, "|"); i >= 0 {
30 exact, suffix = hosts[:i], hosts[i+1:]
31 }
32 n := func(v int64) string { return strconv.FormatInt(v, 10) }
33 return "admin:" + adminAddr().String() +
34 ";creationBurn:" + n(courtCreationBurn) +
35 ";assocBond:" + n(assocBondDefault) +
36 ";purgeM:" + strconv.Itoa(purgeThreshold()) +
37 ";t1:" + n(l.t1Bps) +
38 ";t2:" + n(l.t2Bps) +
39 ";t3:" + n(l.t3Bps) +
40 ";entry:" + n(l.postsEntry) +
41 ";l2:" + n(l.postsT2) +
42 ";l3:" + n(l.postsT3()) +
43 ";flag:" + n(r.flag) +
44 ";dispute:" + n(r.dispute) +
45 ";authorHigh:" + n(r.authorHigh) +
46 ";conviction:" + n(r.conviction) +
47 ";unadjudicated:" + n(r.unadjudicated) +
48 ";domain:" + siteDomain +
49 ";mediaExact:" + exact +
50 ";mediaSuffix:" + suffix
51}
52const adminParamsPath = "admin-params"
53func renderAdminParams() string {
54 l := ladderDefault
55 r := creditRatesDefault
56 n := func(v int64) string { return strconv.FormatInt(v, 10) }
57 var b strings.Builder
58 b.WriteString("# Realm parameters\n\n")
59 b.WriteString("Everything the global DAO admin can set, and what it is set " +
60 "to now. A court's moderators set their own court's bond, ladder and " +
61 "standing rates; those are on the court's page, not here.\n\n")
62 b.WriteString("Admin: `" + adminAddr().String() + "`\n\n")
63 b.WriteString("| Setting | Now | What it does | Set with |\n")
64 b.WriteString("|---|---|---|---|\n")
65 b.WriteString("| Court creation burn | " + ugnotAmt(courtCreationBurn) +
66 " GNOT | The minimum a new court costs to open. The whole payment is " +
67 "burned. 0 turns it off, and off is the shipped default. | " +
68 "`SetCourtCreationBurn` |\n")
69 b.WriteString("| Association bond | " + ccAmt(assocBondDefault) +
70 " CC | What a stranger posts to attach an edge, in courts that set no " +
71 "override. | `SetAssociationBondDefault` |\n")
72 b.WriteString("| Purge threshold | " + strconv.Itoa(purgeThreshold()) + " of " +
73 strconv.Itoa(daoSeats()) + " | How many global moderators must agree to purge. | " +
74 "`SetPurgeThreshold` |\n")
75 b.WriteString("| Posting ladder | " + n(l.t1Bps) + "/" + n(l.t2Bps) + "/" +
76 n(l.t3Bps) + " bps at " + n(l.postsEntry) + "/" + n(l.postsT2) + "/" +
77 n(l.postsT3()) + " posts | The default rungs a court inherits: the share " +
78 "earned at each tier and the post counts that reach them. | " +
79 "`SetLadderDefault` |\n")
80 b.WriteString("| Standing rates | flag " + n(r.flag) + " (inert), dispute " +
81 n(r.dispute) + ", author " + n(r.authorHigh) + ", conviction " +
82 n(r.conviction) + ", unadjudicated " + n(r.unadjudicated) +
83 " bps | The default credit each act earns toward standing. Policing " +
84 "ranks above authorship, which ranks above staking. The flag rate is " +
85 "still settable and still bounds what authorship may be set to, but no " +
86 "path credits it since the quality lane was removed. | " +
87 "`SetCreditRatesDefault` |\n")
88 dom := siteDomain
89 if dom == "" {
90 dom = "_none_"
91 }
92 b.WriteString("| Site domain | " + dom + " | The website this realm belongs " +
93 "to. Also allow-lists that domain for images without listing it below. | " +
94 "`SetSiteDomain` |\n")
95 hosts := MediaHosts()
96 if hosts == "|" {
97 hosts = "_none_"
98 }
99 b.WriteString("| Media hosts | " + hosts + " | Where images may be loaded " +
100 "from: exact hosts before the bar, suffixes after it. | " +
101 "`SetMediaHosts` |\n")
102 b.WriteString("\nBurned to date, across every court and every creation: **" +
103 ugnotAmt(BurnedGNOT()) + " GNOT**, held at `" + BurnSink().String() +
104 "` — an address derived from a sub-realm identity that is never created, " +
105 "so no key to it exists and nothing can ever be spent from it.\n")
106 return b.String()
107}
108Raw Package Data
Raw JSON data