adtreasury source realm
Package adtreasury is the ad station's own treasury (jae, his terminal, 2026-10-14: "it goes to a treasury specifical...
Package adtreasury is the ad station's own treasury (jae, his terminal, 2026-10-14: "it goes to a treasury specifically for the ad station with its own controls/governance" → "just me for now but make it upgradeable").
It holds GNOT: what the ad station's weekly auctions earn (r/…/adstation sends each settled week's winning bids here), and whatever anyone sends to its address. One controller spends it, each spend on the record with its memo. The controller is Jae's cold key at first; the role moves by a two-step hand-off (SetController names, AcceptController takes), and the one named may be a realm — a council or a vote later calls AcceptController and Spend through a crossing call, so the governance can be upgraded without moving the money.
Immutable, not private (gnomod.toml).
1
8
func AcceptController
crossing ActionAcceptController takes the controller role, by the one named (a user or a realm).
func Balance
ActionBalance is the GNOT the treasury holds, in ugnot.
func Count
Actionfunc Render
Render: "" the treasury and its last spends; "json" its figures.
func SetController
crossing ActionSetController names the next controller; nothing changes until they AcceptController. "" withdraws the offer.
func Spend
crossing ActionSpend pays ugnot to an address, by the controller, with a memo kept on the record (plain text, at most 120 characters). Returns the spend's id.
func Spent
Actionfunc Get
ActionGet is a copy of spend id (1-based).