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

memba_gov package

Overview

Package memba_gov is the Memba DAO governance core. It holds the roster, proposals and votes, and grants nothing by itself: a governed realm asks for an approval by crossing-calling Consume before a privileged step, and the core checks that the caller is exactly the realm the proposal names, with exactly the arguments members voted on. The core never calls another realm.

Rules (design note GOV-1, approved 2026-10-06):

  • members propose, vote and execute by direct calls from their own account, and an invited key joins by its own direct call; only a governed realm's crossing call reaches Consume;
  • a key counts toward the roster only after it signed Join itself;
  • one action per proposal, stored by value; approvals are used once;
  • every executed roster action and every Join invalidates every open proposal, so votes always count against an unchanged roster;
  • Consume invalidates the other open proposals of its (target, scope).

Function

Consume

func Consume(cur realm, pid uint64, action, args, scope string, minClass int, executor address)

Consume is crossing-called by a governed realm right before the step a proposal approved. It panics unless the caller is exactly the proposal's target, the action, arguments and scope are the voted ones byte for byte, the class is at least minClass, the proposal is ready, and executor, the account that called the target directly, is a seated member. It marks the proposal used and invalidates the other open proposals of (target, scope).

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/samcrew/memba_gov" -func "Consume" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/samcrew/memba_gov" -func "Consume" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx