feles source realm
Realm: gno.land/r/\<your-namespace>/feles
Realm: gno.land/r/<your-namespace>/feles
Feles DAO — three-tier AUTHORITY governance (not weighted, not token-based).
Example
1CORE the founding team. Final authority. Can do anything, including
2 amending the tiers themselves. Starts at 3, extensible.
3SENATE trusted contributors. Propose, vote, and execute within a mandate,
4 but CORE can override or veto any senate decision.
5MEMBERS the community. Propose and signal; no binding vote.
Authority is ROLE-based: a tier's power comes from its rank, not from a token balance or a numeric weight. Within a tier every address is one vote. A Feles token, if issued, is a product/treasury asset and is deliberately NOT wired into the tally — accumulating tokens can never buy governance power.
Built on gno.land/p/nt/commondao/v0 (verified against chain/pearl source). Two CommonDAOs are used so each tier has real, separate voting:
23
func AddMember
crossing ActionSenate admits members; Core may also admit or remove.
func AddSenator
crossing Actionfunc ExecuteCore
crossing Actionfunc ExecuteSenate
crossing Actionfunc IsCore
Actionfunc IsMember
Actionfunc IsSenateSuspended
Actionfunc IsSenator
Actionfunc IsVetoed
Actionfunc ProposeToCore
crossing Actionfunc ProposeToSenate
crossing Actionfunc RemoveCore
crossing Actionfunc RemoveMember
crossing Actionfunc RemoveSenator
crossing ActionCORE removes a senator unilaterally — this is the override in practice.
commondao refuses an update that would empty a council (ErrEmptyCouncil), so the LAST senator cannot be removed this way. That invariant is a feature for CORE — the realm can never become ownerless — but it would otherwise cap CORE's authority over the senate. SuspendSenate below is the answer: it disbands the senate's powers without violating the library's invariant.
func Render
func ResumeSenate
crossing Actionfunc SuspendSenate
crossing Actionfunc Tier
Actionfunc UnvetoSenateProposal
crossing ActionCORE can also lift its own veto.
func VetoSenateProposal
crossing Actionfunc VoteCore
crossing Actionfunc VoteSenate
crossing Action6
- chain stdlib
- chain/banker stdlib
- errors stdlib
- gno.land/p/g12e22uqd4jjvvsk6g95re3a44sxuephd5kkrt7m/addrset package
- gno.land/p/g12e22uqd4jjvvsk6g95re3a44sxuephd5kkrt7m/commondao package
- time stdlib