1package memberstore23import (4 "chain/runtime/unsafe"56 "gno.land/p/nt/bptree/v0"78 "gno.land/r/gov/dao"9)1011func NewChangeTiersRequest(cur realm, tiers map[string]Tier) dao.ProposalRequest {12 if len(tiers) == 0 {13 panic("tiers list is empty")14 }1516 member, _ := Get(0, cur).GetMember(unsafe.OriginCaller())17 if member == nil {18 panic("proposer is not a member")19 }2021 newTiers := TiersByName{bptree.NewBPTree32()}22 for name, tier := range tiers {23 newTiers.Set(name, tier)24 }2526 callback := func(cur realm) error {27 setTiers(newTiers)2829 return nil30 }3132 e := dao.NewSimpleExecutor(0, cur, callback, "New set of tiers proposed.")3334 return dao.NewProposalRequest("Change Tiers Proposal", "This proposal is looking to change the existing Tiers in memberstore", e)35}36Get(int, rlm interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}) struct{BPTree *gno.land/p/nt/bptree/v0.BPTree}
GetTier(name string) (struct{BasePower float64; InvitationPoints int; MaxSize func(gno.land/r/gov/dao/memberstore/v0.MembersByTier, gno.land/r/gov/dao/memberstore/v0.TiersByName) int; MinSize func(gno.land/r/gov/dao/memberstore/v0.MembersByTier, gno.land/r/gov/dao/memberstore/v0.TiersByName) int; PowerHandler func(gno.land/r/gov/dao/memberstore/v0.MembersByTier, gno.land/r/gov/dao/memberstore/v0.TiersByName) float64}, bool)
GetTierPower(tierName string, members struct{BPTree *gno.land/p/nt/bptree/v0.BPTree}) float64
IterateTiers(fn func(string, gno.land/r/gov/dao/memberstore/v0.Tier) bool)
NewChangeTiersRequest(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, tiers map[string]gno.land/r/gov/dao/memberstore/v0.Tier) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}
NewMember(invitationPoints int) *gno.land/r/gov/dao/memberstore/v0.Member
NewMembersByTier() struct{BPTree *gno.land/p/nt/bptree/v0.BPTree}
Render(path string) string
RenderCharts(members struct{BPTree *gno.land/p/nt/bptree/v0.BPTree}) string
RenderMembers(path string, members struct{BPTree *gno.land/p/nt/bptree/v0.BPTree}) string
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.