Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions 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}