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

feles source realm

Realm: gno.land/r/\<your-namespace>/feles

Overview

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:

Example
1coreDAO   — council = CORE members
2senateDAO — council = SENATE members, parented to coreDAO for override

Functions 23

func AddMember

crossing Action
1func AddMember(cur realm, who address)
source

Senate admits members; Core may also admit or remove.

func RemoveSenator

crossing Action
1func RemoveSenator(cur realm, who address)
source

CORE 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 VoteCore

crossing Action
1func VoteCore(cur realm, proposalID uint64, choice commondao.VoteChoice, reason string)
source

func VoteSenate

crossing Action
1func VoteSenate(cur realm, proposalID uint64, choice commondao.VoteChoice, reason string)
source

Imports 6

Source Files 2

Directories 1