Treasury assets, grants, and payments¶
Proposal approval, budget reservation, and payment are different outcomes. Check proposal, grant, token contract/precision, recipient, amount, payment count, and expiry before payment.
Lifecycle and accounting¶
| Operation | Meaning | Accounting / asset change |
|---|---|---|
| setasset | Governance-authorized asset configuration | Enables contract/full symbol; does not issue a token |
| Incoming transfer notification | Accept an enabled asset | liquid and total_received increase |
| reserve | Create a grant linked to proposal_id | reserved increases; liquid unchanged; no external payment |
| pay | Pay an installment | liquid/reserved decrease; paid/total_paid increase; transfer to recorded recipient |
| release | Release all unpaid remaining reservation | reserved decreases; liquid unchanged; grant becomes released; no external payment |
| closegrant | Close a still-open expired grant | Release remaining reservation and mark expired; not a generic close action for completed grants |
New reservable balance is liquid - reserved. Do not add liquid and reserved as total assets or interpret reserved as paid. Grant remaining amount is total - paid - released.
A grant proposal_id is a reference, not approval evidence by itself. Reviewed reserve only requires a positive ID and does not query proposal approval across contracts. Audit the originating governance execution transaction.
Checks¶
- Verify enabled Treasury assets by token contract and precision. Do not attempt deposits for an unenabled asset.
- A budget proposal should specify beneficiary, purpose, total, maximum payments, expiry, and evidence hash.
- After approved reserve execution, record grant_id. The beneficiary has not been paid yet.
- Each pay needs valid governance authorization and must satisfy remaining budget, count, and expiry. Knowing grant_id does not permit arbitrary withdrawals.
- Verify transfer traces, grant paid, payment records, balances, and irreversibility.
- Release unused budget under governance authority. Anyone may close a still-open expired grant to release the remainder. Expired grants cannot pay.
The mainnet snapshot has an empty Treasury asset table. Governance allowlisting of reserve/pay does not establish available assets or budgets. Re-read current state.
Sources and scope¶
Sources, snapshots, and discrepancies. Implementation descriptions use the listed revisions; live configuration must be read from the target network.