func RecordIncome
crossing ActionRecordIncome adds amount to the pool of group id. amount must be positive.
Package splitter is a share-based payment splitter for gno.land.
⚠️ 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
A share-based payment splitter for gno.land — an accounting-only port of the
Solidity PaymentSplitter. No real coins move: each group tracks payees, their
integer shares, and a pooled income figure, and computes what each payee is owed
as amount * share / totalShares.
Register a group with comma-separated payee addresses and matching shares, record
income against it, and Render shows every group's per-payee owed amounts
(integer division; any rounding remainder is displayed separately).
Realm path: gno.land/r/REPLACE_ADDR/splitter
# Create a group: alice gets 3 shares, bob gets 1 -> returns group id 0
Register("g1alice...,g1bob...", "3,1")
# Record 100 units of income into group 0
RecordIncome(0, 100)
# View the ledger (alice owed 75, bob owed 25)
gnokey query vm/qrender --data "gno.land/r/REPLACE_ADDR/splitter:"
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 splitter is a share-based payment splitter for gno.land.
It is an accounting-only port of the Solidity PaymentSplitter pattern: no real coins move. A group is registered with a list of payees and a matching list of integer shares. Income recorded against a group is pooled, and each payee is owed a slice of that pool proportional to their shares: owed = pool * share / totalShares.
RecordIncome adds amount to the pool of group id. amount must be positive.
Register creates a new group from comma-separated payees and shares. payees: "g1abc...,g1def..." (addresses) shares: "3,1" (positive integers, same count as payees) Returns the new group id. Panics on malformed input.
Render shows all groups, their payees, shares, and computed owed amounts.