Skip to content

Conversation

@dckc
Copy link
Owner

@dckc dckc commented Jan 10, 2026

With help from codex, I made progress on the off‑chain‑first, audit‑friendly approach. The prototype now maps ERTP‑style token awards into a real GnuCash ledger with named community member accounts, includes explicit authority boundaries (capability‑style access) and recovery mechanisms for in‑flight payments, and adds adversarial tests to ensure predictable, reversible behavior while keeping room for human‑in‑the‑loop governance decisions.

image

dckc added 20 commits January 9, 2026 21:55
- refactor helper APIs to use options objects instead of >3 positional args

- update call sites to match new helper signatures

- document bug-fix and argument-count guidance in CONTRIBUTING
- reject negative or non-bigint amounts

- add regression test for negative withdraw
- fail makeEmptyPurse when GUID already exists

- add regression test for GUID collision attack
- move attack tests into dedicated file

- assert commodity GUID collisions are rejected

- fix createIssuerKit to fail on existing commodity
- reject withdraw amounts with mismatched brands

- reject openAccountPurse for wrong commodity

- add adversarial tests for both cases
- model payments as hold txs retargeted on deposit

- assert single-tx split behavior and holding guard

- document hold decision in IBIS
- store check numbers in transactions and payment records

- add payments facet with getCheckNumber/openPayment

- test payment reification across reopen
- add chart facet for placing purse accounts

- add serial community chart test with statements

- document flow B and periodic minting TODOs
Add a minimal escrow layer that records a single transaction with holding splits,
optional description text, and unique check number enforcement, plus a unit test
that swaps two purses via the holding account.

Expose escrow from the package entry point and types; extend the chart facet with
placeAccount plus placeholder support so non-purse accounts can be arranged in the
tree.

Expose mint info (holding/recovery GUIDs), rename the holding account to “Mint
Holding,” ensure mint recovery is a STOCK account, and allow account creation
helpers to accept parent GUIDs.

Rework the community story to use escrow awards, variable issue values and varied
issue-style descriptions; expand to 7 members across 3 weeks; create Mint as a
root-level placeholder with holding/recovery under it; switch the chart subtree to
STOCK accounts; and exclude the holding account from statement totals.

Store transaction dates as full timestamps using datetime(date(...)) so GnuCash
parses them consistently.

Tests: npm run check (in packages/ertp-ledgerguise)
@dckc
Copy link
Owner Author

dckc commented Jan 19, 2026

progress:

image

2026-01-18 17:14 a245f27 feat(ertp-ledgerguise): add escrow layer and mint charting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants