func Approve
crossing ActionApprove records an owner's approval for a proposal. When the count of distinct approvals reaches the threshold, the proposal becomes Executed.
Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.
Package multisig implements an M-of-N approval multisig realm.
⚠️ Experimental — generated with no human supervision. This realm was produced automatically by an MCP-driven agent to exercise the gno MCP server and tooling, and to generate test content for gno compilers, linters and formatters. Not audited. Not for production. Full context & folder README: r/moul/x/daily
An approval multisig realm, ported from the classic Solidity idea. A fixed set
of owners is configured once with a required approval threshold. Any owner can
create a proposal, owners approve it, and when the number of distinct approvals
reaches the threshold the proposal is automatically marked Executed. This
realm tracks approvals only — it does not custody or move funds.
Realm path: gno.land/r/REPLACE_ADDR/multisig
1# Initialize once: 3 owners, need 2 approvals to execute.
2gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/multisig" \
3 -func Setup -args "g1addr1,g1addr2,g1addr3" -args 2 ...
4
5# An owner creates a proposal (returns its id, e.g. 0).
6gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/multisig" \
7 -func Propose -args "send funds to treasury" ...
8
9# Owners approve; the 2nd distinct approval flips it to Executed.
10gnokey maketx call -pkgpath "gno.land/r/REPLACE_ADDR/multisig" \
11 -func Approve -args 0 ...
Render the realm (owners, threshold, proposals with approval counts + state) by browsing to its path on gno.land.
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:

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.
Package multisig implements an M-of-N approval multisig realm.
It is a port of the classic Solidity multisig idea: a fixed set of owners is configured once, any owner may create a proposal, owners approve it, and once the number of distinct approvals reaches the threshold the proposal is marked "Executed". This realm tracks approvals only — it does not move funds.
Approve records an owner's approval for a proposal. When the count of distinct approvals reaches the threshold, the proposal becomes Executed.
Propose creates a new proposal authored by an owner and returns its id.
Render returns a Markdown view of the multisig configuration and proposals.
Setup configures the multisig exactly once. owners is a comma-separated list of bech32 addresses; threshold is the number of approvals required to execute a proposal. It panics (cross-realm abort) on invalid input or if already set.