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

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

README.md

1.88 Kb · 46 lines

gno.land/p/nym-moultest123/xdao

🚧 Partial implementation. 7 of the 14 functions panic("not implemented"), Render returns the literal string "TODO". The constructor and the admin list work; nothing that touches proposals does.

WhitelistDAO implements p/moul/udao's DAO interface with the simplest possible governance: a flat list of trusted admins.

1var _ udao.DAO = (*WhitelistDAO)(nil)
2
3func NewWhitelistDAO() *WhitelistDAO   // seeds admins with the calling realm
4func (d WhitelistDAO) ListAdmins() []address

Everything else (Propose, Execute, GetProposal, GetProposalStatus, AddAdmin, DelAdmin) panics.

Why a "DAO" that is not decentralized

Two honest uses, both stated in the source:

  1. Bootstrapping. A realm designed to be DAO-governed needs something to govern it on day one. A whitelist satisfies the interface, so the realm can ship, and the whitelist can later replace itself with a real DAO through the same interface. No migration, no second code path.
  2. One person, several keys. Someone holding keys on different machines can present as a single entity without a multisig ceremony for each action.

It is not a DAO, and the name says so.


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

Dependency graph:

gno.land/p/nym-moultest123/xdao/v0 dependency graph

⚠️ Disclaimer: provided as-is, without warranty; not security-audited. Full disclaimer: DISCLAIMER.