Reviewed release and reorg-hold resolution

This commit is contained in:
2026-10-21 22:24:42 -04:00
parent 9f82f050b4
commit 05aead39ae
8 changed files with 504 additions and 21 deletions
+7
View File
@@ -208,6 +208,13 @@ export class PostgresCustody {
check(!incident.rowCount, 'Custody integrity incident is unresolved; operator review required');
check(!this.diagnostics().mutationHold, 'Custody financial reconciliation requires operator review; balances remain readable and original receipts can be replayed');
check(permitsMarketAction(this.options, a.type), 'New market trading is disabled by this host; existing balances and resolution remain available');
if (a.type === 'reserve' || a.type === 'withdraw') {
const depositHold = await c.query(`SELECT 1 FROM wk_custody.monero_deposit_credit_events d
JOIN wk_custody.monero_deposit_reorg_holds h ON h.credit_id=d.credit_id
LEFT JOIN wk_custody.monero_deposit_reorg_resolutions r ON r.hold_id=h.hold_id
WHERE d.beneficiary=$1 AND r.hold_id IS NULL LIMIT 1`, [cmd.actor]);
check(!depositHold.rowCount, 'Customer deposit is under reorg review; new spending is held');
}
// Sandbox admission budget matches SQLite. Receipt/history are NEVER pruned; cancellation stays available.
if (!['cancel-listing', 'cancel-reservation', 'cancel-withdrawal'].includes(a.type)) {
const count = await c.query('SELECT count(*)::integer AS n FROM (SELECT 1 FROM wk_custody.receipts LIMIT 10000) b');