Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

render.gno

1.04 Kb · 35 lines
 1package staker
 2
 3import (
 4	"strings"
 5
 6	"gno.land/p/moul/md/v0"
 7	"gno.land/p/moul/mdtable/v0"
 8	ufmt "gno.land/p/nt/ufmt/v0"
 9	"gno.land/r/gnoswap/gov/staker"
10)
11
12func (g *govStakerV1) Render(path string) string {
13	if path != "" {
14		return "404\n"
15	}
16
17	implementation := staker.GetImplementationPackagePath()
18
19	out := md.H1("Gnoswap Governance Staker")
20	out += md.H2("Staking overview")
21	overviewTable := mdtable.Table{
22		Headers: []string{"Field", "Value"},
23		Rows: [][]string{
24			{"Active implementation", md.Link(implementation, strings.TrimPrefix(implementation, "gno.land"))},
25			{"Total xGNS supply", ufmt.Sprintf("%d", staker.GetTotalxGnsSupply())},
26			{"Total delegated GNS", ufmt.Sprintf("%d", staker.GetTotalDelegated())},
27			{"Total locked GNS", ufmt.Sprintf("%d", staker.GetTotalLockedAmount())},
28			{"Undelegation lockup period", ufmt.Sprintf("%d", staker.GetUnDelegationLockupPeriod())},
29			{"Protocol-fee accumulation timestamp", ufmt.Sprintf("%d", staker.GetProtocolFeeAccumulatedTimestamp())},
30		},
31	}
32	out += overviewTable.String()
33
34	return out
35}