@render-foundation/utils 0.0.255 → 0.0.256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"dispersed.js","sourceRoot":"","sources":["../../../src/client/dispersed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispersed.js","sourceRoot":"","sources":["../../../src/client/dispersed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/client/pg/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2BAA6C;AAE7C,yCACC;AAAC,MAAM,CAAC,SAAiB,CAAC,MAAM,GAAG;IAClC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;AACxB,CAAC,CAAA;AAmED,MAAa,QAAQ;IAMnB;QALS,oCAAoB;QAE7B,oCAA8C;QAC9C,mCAAgC;QAahC,YAAO,GAAG,CAAC,KAAyB,EAAQ,EAAE;YAC5C,IAAI,uBAAA,IAAI,yBAAS,EAAE;gBACjB,uBAAA,IAAI,yBAAS,MAAb,IAAI,EAAU,KAAK,CAAC,CAAA;aACrB;QACH,CAAC,CAAA;QAED,WAAM,GAAG,CAAC,MAAY,EAAQ,EAAE;YAC9B,IAAI,uBAAA,IAAI,wBAAQ,EAAE;gBAChB,uBAAA,IAAI,wBAAQ,MAAZ,IAAI,EAAS,MAAM,CAAC,CAAA;aACrB;QACH,CAAC,CAAA;QApBC,uBAAA,IAAI,qBAAY,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,uBAAA,IAAI,oBAAW,MAAM,MAAA,CAAA;YACrB,uBAAA,IAAI,qBAAY,OAAO,MAAA,CAAA;QACzB,CAAC,CAAC,MAAA,CAAA;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,uBAAA,IAAI,yBAAS,CAAA;IACtB,CAAC;CAaF;AA5BD,4BA4BC;;AAED,SAAsB,KAAK,CAAK,EAAc,EAAE,GAAiB;;QAC/D,MAAM,UAAU,GAAG,IAAI,QAAQ,EAAmB,CAAA;QAClD,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAO,CAAA;QAElC,0BAA0B;QAC1B,EAAE,CAAC,WAAW,EAAE;aACb,iBAAiB,CAAC,iBAAiB,CAAC;aACpC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACvB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACrB,OAAO,MAAM,CAAC,OAAO,CAAA;QACvB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,sDAAsD;YACtD,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC9B,GAAG,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;aACjC;QACH,CAAC,CAAC,CAAA;QAEJ,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAA;QAEpC,OAAO;YACL,GAAG;YACH,MAAM;gBACJ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YACD,QAAQ;gBACN,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;YACtC,CAAC;SACF,CAAA;IACH,CAAC;CAAA;AA9BD,sBA8BC;AAED,6EAA6E;AAC7E,kFAAkF;AAClF,6DAA6D;AAEtD,MAAM,OAAO,GAAG,CACrB,GAAW,EACX,SAAiC,EAAE,EAC3B,EAAE;IACV,MAAM,WAAW,GAAG,CAAC,CAAU,EAAU,EAAE;QACzC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;QACvE,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAA;QACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACzB,mCAAmC;YACnC,OAAO,IAAI,CAAC,GAAG,CAAA;SAChB;QACD,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;IACjC,CAAC,CAAA;IAED,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACxB,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC9B,CAAC,CAAA;AAvBY,QAAA,OAAO,WAuBnB;AAED;;;GAGG;AACH,SAAsB,UAAU,CAC9B,IAAU,EACV,IAAY,EACZ,SAAiC,EAAE,EACnC,QAAgB,EAAE,EAClB,MAAoB,sBAAa;;;QAEjC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACnC,IAAI;YACF,MAAM,CAAC,GAAG,IAAI,UAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAA;YACtD,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,CAAC,SAAS;YAE5C,IAAI,MAA0B,CAAA,CAAC,wBAAwB;YACvD,IAAI,SAA6B,CAAA,CAAC,iBAAiB;YACnD,MAAM,IAAI,GAAU,EAAE,CAAA;YAEtB,+CAA+C;YAC/C,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClB,IAAI,CAAC,SAAS;oBAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;YAEF,mDAAmD;YACnD,MAAM,MAAM,GAAI,CAAS,CAAC,MAAM,CAC/B;YAAC,CAAS,CAAC,MAAM,GAAG,UAAU,GAAG,IAAW;gBAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAClC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;gBAChC,OAAO,CAAC,CAAA;YACV,CAAC,CAAA;YAED,sCAAsC;YACtC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;YAEpC,GAAG,CAAC,KAAK,CACP,cAAc,KAAK,IAAI,IAAA,eAAO,EAAC,IAAI,EAAE,MAAM,CAAC,UAAU,MAAM,CAC1D,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,EAAE,CACpB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACf,YACE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAC9D,KAAK;gBACL,WAAW,MAAM,CAAC,IAAI,GAAG,CAAC,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,mCAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACrE,SAAS,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAChE,CAAA;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAsB,CAAA;SAC3D;gBAAS;YACR,MAAM,CAAC,OAAO,EAAE,CAAA;SACjB;;CACF;AAvDD,gCAuDC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,IAAU,EACV,MAAoB,sBAAa;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAEtC;IAAC,IAAY,CAAC,KAAK,GAAG,UACrB,WAAgB,EAChB,MAAY,EACZ,QAAc;;QAEd,iEAAiE;QACjE,IAAI,IAAY,CAAA;QAChB,IAAI,MAAM,GAA2B,EAAE,CAAA;QACvC,IAAI,EAAO,CAAA;QAEX,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,IAAI,GAAG,WAAW,CAAA;YAClB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBAChC,EAAE,GAAG,MAAM,CAAA;aACZ;iBAAM;gBACL,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;gBACrB,EAAE,GAAG,QAAQ,CAAA;aACd;SACF;aAAM;YACL,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;YACvB,MAAM,GAAG,MAAA,WAAW,CAAC,MAAM,mCAAI,EAAE,CAAA;YACjC,EAAE,GAAG,MAAM,CAAA,CAAC,2BAA2B;SACxC;QAED,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAEhE,IAAI,EAAE,EAAE;YACN,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACxC,oDAAoD;YACpD,OAAM;SACP;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAGA;IAAC,IAAY,CAAC,UAAU,GAAG,SAAS,CAAA;AACvC,CAAC;AA1CD,wDA0CC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/client/pg/base.ts"],"names":[],"mappings":"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"}
@@ -1558,7 +1558,7 @@ const pgClient = (config) => {
1558
1558
  });
1559
1559
  },
1560
1560
  fetchBurns(db, f, log = logger_1.consoleLogger) {
1561
- var _a, _b, _c;
1561
+ var _a, _b;
1562
1562
  return __awaiter(this, void 0, void 0, function* () {
1563
1563
  let q = db.trx
1564
1564
  .selectFrom('burn')
@@ -1606,7 +1606,6 @@ const pgClient = (config) => {
1606
1606
  eurToUsdc: r.eur_to_usdc,
1607
1607
  markedBurnedAt: r.marked_burned_at,
1608
1608
  tags: r.tags ? r.tags.split(',') : [],
1609
- fromEscrowUsdc: BigInt((_c = r.from_escrow_usdc) !== null && _c !== void 0 ? _c : 0),
1610
1609
  });
1611
1610
  burnIdToIdx[r.id] = burns.length - 1;
1612
1611
  }
@@ -1632,138 +1631,75 @@ const pgClient = (config) => {
1632
1631
  fetchBurnsPage(db, f, log = logger_1.consoleLogger) {
1633
1632
  var _a;
1634
1633
  return __awaiter(this, void 0, void 0, function* () {
1635
- const params = [];
1636
- const p = (v) => {
1637
- params.push(v);
1638
- return `$${params.length}`;
1639
- };
1640
- // Decode cursor — supports new {t,id,ea} format and legacy bare-id format.
1641
- let cursorEa;
1642
- let cursorType;
1643
- let cursorId;
1644
- if (f.cursor) {
1645
- const raw = atob(f.cursor);
1646
- try {
1647
- const c = JSON.parse(raw);
1648
- cursorEa = new Date(c.ea);
1649
- cursorType = c.t;
1650
- cursorId = c.id;
1651
- }
1652
- catch (_b) {
1653
- // Legacy cursor: bare burn.id — treat as buy-burn cursor.
1654
- cursorId = Number(raw);
1655
- cursorType = 'buy';
1656
- }
1634
+ const lastId = f.cursor ? atob(f.cursor) : undefined;
1635
+ let q = db.trx
1636
+ .selectFrom('burn')
1637
+ .selectAll('burn')
1638
+ .innerJoin('sol_tx', 'sol_tx.id', 'burn.sol_tx_id')
1639
+ .select(['sol_tx.executed_at', 'sol_tx.sig']);
1640
+ if (!f.inclManual) {
1641
+ q = q.where('burn.usdc_spent', '>', String(0));
1642
+ }
1643
+ if (f.executedAfter) {
1644
+ q = q.where('sol_tx.executed_at', '>=', f.executedAfter);
1645
+ }
1646
+ if (f.executedBefore) {
1647
+ q = q.where('sol_tx.executed_at', '<=', f.executedBefore);
1648
+ }
1649
+ if (f.sig) {
1650
+ // Exact match, not a prefix: sol_tx.sig is unique, so this is an index hit returning at most one row.
1651
+ q = q.where('sol_tx.sig', '=', f.sig);
1657
1652
  }
1658
- // Shared WHERE fragments pushed into each union leg for index use.
1659
- const dateFilters = [];
1660
- if (f.executedAfter)
1661
- dateFilters.push(`st.executed_at >= ${p(f.executedAfter)}`);
1662
- if (f.executedBefore)
1663
- dateFilters.push(`st.executed_at <= ${p(f.executedBefore)}`);
1664
- const sigFilter = f.sig ? `st.sig = ${p(f.sig)}` : '';
1665
- // Buy-burn leg
1666
- const buyWhere = [...dateFilters];
1667
- if (!f.inclManual)
1668
- buyWhere.push('b.usdc_spent > 0');
1669
- if (sigFilter)
1670
- buyWhere.push(sigFilter);
1671
- if (f.jobId !== undefined) {
1672
- buyWhere.push(`b.id IN (SELECT burn_id FROM job WHERE id = ${p(f.jobId)})`);
1673
- }
1674
- const buyWhereClause = buyWhere.length ? `WHERE ${buyWhere.join(' AND ')}` : '';
1675
- const buySql = `
1676
- SELECT 'buy'::text AS type, b.id::bigint AS sortid, b.id AS id,
1677
- st.executed_at, b.priced_at, b.burned::text AS burned,
1678
- b.usdc_spent::text AS usdc_spent, b.quote_amt::text AS quote_amt,
1679
- b.tags, st.sig, b.render_to_usdc, b.eur_to_usdc,
1680
- coalesce(b.from_escrow_usdc, 0)::text AS from_escrow_usdc,
1681
- b.down_correction_id, b.escrow_correction_id,
1682
- b.marked_burned_at
1683
- FROM burn b
1684
- INNER JOIN sol_tx st ON st.id = b.sol_tx_id
1685
- ${buyWhereClause}`;
1686
- // Grant-burn leg
1687
- const grantWhere = [...dateFilters];
1688
- if (sigFilter)
1689
- grantWhere.push(sigFilter);
1690
1653
  if (f.jobId !== undefined) {
1691
- grantWhere.push(`gb.id IN (SELECT grant_burn_id FROM job WHERE id = ${p(f.jobId)})`);
1692
- }
1693
- const grantWhereClause = grantWhere.length ? `WHERE ${grantWhere.join(' AND ')}` : '';
1694
- const grantSql = `
1695
- SELECT 'grant'::text AS type, gb.id::bigint AS sortid, gb.id AS id,
1696
- st.executed_at, null::timestamp AS priced_at, gb.burned::text AS burned,
1697
- '0' AS usdc_spent, '0' AS quote_amt,
1698
- gb.tags, st.sig, null::float8 AS render_to_usdc, null::float8 AS eur_to_usdc,
1699
- '0' AS from_escrow_usdc,
1700
- null::bigint AS down_correction_id, null::bigint AS escrow_correction_id,
1701
- gb.marked_burned_at
1702
- FROM grant_burn gb
1703
- INNER JOIN sol_tx st ON st.id = gb.sol_tx_id
1704
- ${grantWhereClause}`;
1705
- // Cursor filter on the outer query — row comparison for deterministic paging.
1706
- let cursorFilter = '';
1707
- if (cursorEa && cursorType && cursorId !== undefined) {
1708
- cursorFilter = `WHERE (u.executed_at, u.type, u.sortid) > (${p(cursorEa)}, ${p(cursorType)}, ${p(cursorId)})`;
1709
- }
1710
- else if (cursorId !== undefined) {
1711
- // Legacy cursor fallback: only buy burns, ordered by id.
1712
- cursorFilter = `WHERE u.type = 'buy' AND u.sortid > ${p(cursorId)}`;
1654
+ // "Which burn consumed this job?" job.burn_id is the FK, so resolve it as a subquery rather than
1655
+ // joining `job` into the page query, which would multiply rows by job count and break both the limit
1656
+ // and the cursor.
1657
+ q = q.where('burn.id', 'in', (eb) => eb
1658
+ .selectFrom('job')
1659
+ .select('job.burn_id')
1660
+ .where('job.id', '=', String(f.jobId)));
1661
+ }
1662
+ if (lastId) {
1663
+ q = q.where('burn.id', '>', lastId);
1713
1664
  }
1714
1665
  const limit = (_a = f.limit) !== null && _a !== void 0 ? _a : 1000;
1715
- const sql = `
1716
- SELECT u.* FROM (
1717
- ${buySql}
1718
- UNION ALL
1719
- ${grantSql}
1720
- ) u
1721
- ${cursorFilter}
1722
- ORDER BY u.executed_at ASC, u.type, u.sortid
1723
- LIMIT ${p(limit)}`;
1724
- const { rows } = yield (0, base_1.timedQuery)(pgPool, sql, params, 'fetchBurnsPage', log);
1666
+ q = q.limit(limit).orderBy('burn.id');
1667
+ const comp = q.compile();
1668
+ const { rows } = yield (0, base_1.timedQuery)(pgPool, comp.sql, comp.parameters, 'fetchBurnsPage', log);
1725
1669
  const burns = rows.map((r) => {
1726
- var _a, _b, _c, _d, _e, _f;
1670
+ var _a, _b;
1727
1671
  return ({
1728
1672
  jobs: [],
1729
1673
  id: Number(r.id),
1730
- type: r.type,
1731
- renderToUsdc: (_a = r.render_to_usdc) !== null && _a !== void 0 ? _a : undefined,
1674
+ renderToUsdc: r.render_to_usdc,
1732
1675
  solTx: r.sig,
1733
1676
  executedAt: r.executed_at,
1734
- pricedAt: (_b = r.priced_at) !== null && _b !== void 0 ? _b : undefined,
1735
- usdcSpent: BigInt((_c = r.usdc_spent) !== null && _c !== void 0 ? _c : 0),
1736
- quoteAmt: BigInt((_d = r.quote_amt) !== null && _d !== void 0 ? _d : 0),
1677
+ pricedAt: r.priced_at,
1678
+ usdcSpent: BigInt((_a = r.usdc_spent) !== null && _a !== void 0 ? _a : 0),
1679
+ quoteAmt: BigInt((_b = r.quote_amt) !== null && _b !== void 0 ? _b : 0),
1737
1680
  burned: BigInt(r.burned),
1738
- eurToUsdc: (_e = r.eur_to_usdc) !== null && _e !== void 0 ? _e : undefined,
1681
+ eurToUsdc: r.eur_to_usdc,
1739
1682
  markedBurnedAt: r.marked_burned_at,
1740
1683
  tags: r.tags ? r.tags.split(',') : [],
1741
- fromEscrowUsdc: BigInt((_f = r.from_escrow_usdc) !== null && _f !== void 0 ? _f : 0),
1742
- downCorrectionId: r.down_correction_id ? Number(r.down_correction_id) : undefined,
1743
- escrowCorrectionId: r.escrow_correction_id ? Number(r.escrow_correction_id) : undefined,
1744
1684
  });
1745
1685
  });
1746
1686
  return {
1747
1687
  burns,
1688
+ // Only hand back a cursor on a full page; a short page means we're done.
1748
1689
  cursor: burns.length === limit
1749
- ? btoa(JSON.stringify({
1750
- ea: rows[burns.length - 1].executed_at,
1751
- t: rows[burns.length - 1].type,
1752
- id: rows[burns.length - 1].sortid,
1753
- }))
1690
+ ? btoa(String(burns[burns.length - 1].id))
1754
1691
  : undefined,
1755
1692
  };
1756
1693
  });
1757
1694
  },
1758
- fetchBurnJobs(db, burnId, burnType = 'buy', log = logger_1.consoleLogger) {
1695
+ fetchBurnJobs(db, burnId, log = logger_1.consoleLogger) {
1759
1696
  return __awaiter(this, void 0, void 0, function* () {
1760
- const fk = burnType === 'grant' ? 'grant_burn_id' : 'burn_id';
1761
1697
  const rows = yield db.trx
1762
1698
  .selectFrom('job')
1763
1699
  .selectAll('job')
1764
- .where(fk, '=', String(burnId))
1700
+ .where('burn_id', '=', String(burnId))
1765
1701
  .execute();
1766
- log.debug(`fetchBurnJobs ${burnType} ${burnId} -> ${rows.length} jobs`);
1702
+ log.debug(`fetchBurnJobs burn ${burnId} -> ${rows.length} jobs`);
1767
1703
  return rows.map((r) => ({
1768
1704
  id: Number(r.id),
1769
1705
  completedAt: r.completed_at,
@@ -1786,8 +1722,8 @@ const pgClient = (config) => {
1786
1722
  .innerJoin('sol_tx', 'sol_tx.id', 'burn.sol_tx_id')
1787
1723
  .select(({ fn }) => [
1788
1724
  dayExpr.as('day'),
1789
- (0, kysely_1.sql) `SUM(CASE WHEN burn.burned > 0 THEN burn.burned WHEN COALESCE(burn.from_escrow_usdc, 0) > 0 AND burn.render_to_usdc > 0 THEN (burn.from_escrow_usdc::numeric / burn.render_to_usdc * 100)::bigint ELSE 0 END)`.as('render_burned'),
1790
- (0, kysely_1.sql) `SUM(CASE WHEN burn.usdc_spent > 0 THEN burn.usdc_spent ELSE COALESCE(burn.from_escrow_usdc, 0) END)`.as('usdc_spent'),
1725
+ fn.sum('burn.burned').as('render_burned'),
1726
+ fn.sum('burn.usdc_spent').as('usdc_spent'),
1791
1727
  fn.count('burn.id').as('burn_count'),
1792
1728
  ])
1793
1729
  .groupBy((0, kysely_1.sql) `date_trunc('day', sol_tx.executed_at)`)
@@ -2086,7 +2022,23 @@ const pgClient = (config) => {
2086
2022
  });
2087
2023
  },
2088
2024
  insertDispersedOutbox(p, log = logger_1.consoleLogger) {
2025
+ var _a;
2089
2026
  return __awaiter(this, void 0, void 0, function* () {
2027
+ // Check if dispersed_obligation table exists BEFORE the transaction so a missing table never
2028
+ // poisons the txn (PG aborts the entire transaction on any error, even a caught one).
2029
+ let hasObligationTable = false;
2030
+ if ((_a = p.obligations) === null || _a === void 0 ? void 0 : _a.length) {
2031
+ try {
2032
+ const { rows } = yield (0, base_1.timedQuery)(pgPool, `SELECT 1 FROM information_schema.tables WHERE table_name = 'dispersed_obligation' LIMIT 1`, [], 'checkObligationTable', log);
2033
+ hasObligationTable = rows.length > 0;
2034
+ }
2035
+ catch (_b) {
2036
+ hasObligationTable = false;
2037
+ }
2038
+ if (!hasObligationTable) {
2039
+ log.warn(`dispersed obligations: table not found (migration 44 pending); skipping for tx ${p.txSignature}`);
2040
+ }
2041
+ }
2090
2042
  // The outbox row is the durable, crash-safe anchor persisted BEFORE broadcast. When it carries a
2091
2043
  // burn-correction draw, we increment consumed_render in the SAME transaction as the insert, bounded
2092
2044
  // so it can never exceed amount_render. Row + counter are therefore atomic and inseparable: no
@@ -2094,8 +2046,8 @@ const pgClient = (config) => {
2094
2046
  // (decremented again by voidDispersedOutbox). If the bounded increment can't fit (a concurrent draw
2095
2047
  // took the room), the whole txn rolls back and we return {inserted:false} — the caller must NOT
2096
2048
  // broadcast (no row, no counter change, no burn).
2097
- return yield db.transaction().execute((trx) => __awaiter(this, void 0, void 0, function* () {
2098
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
2049
+ const result = yield db.transaction().execute((trx) => __awaiter(this, void 0, void 0, function* () {
2050
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
2099
2051
  const res = yield trx
2100
2052
  .insertInto(exports.DISPERSED_SETTLEMENT_TABLE)
2101
2053
  .values({
@@ -2105,17 +2057,17 @@ const pgClient = (config) => {
2105
2057
  settled_amount: p.settledAmount,
2106
2058
  burned_amount: p.burnedAmount,
2107
2059
  executed_at: p.executedAt,
2108
- eur_render: (_a = p.eurRender) !== null && _a !== void 0 ? _a : null,
2109
- last_valid_block_height: (_b = p.lastValidBlockHeight) !== null && _b !== void 0 ? _b : null,
2110
- usdc_spent: (_c = p.usdcSpent) !== null && _c !== void 0 ? _c : null,
2111
- correction_id: (_d = p.correctionId) !== null && _d !== void 0 ? _d : null,
2112
- correction_render: (_e = p.correctionRender) !== null && _e !== void 0 ? _e : null,
2113
- usage_from: (_f = p.usageFrom) !== null && _f !== void 0 ? _f : null,
2114
- usage_to: (_g = p.usageTo) !== null && _g !== void 0 ? _g : null,
2060
+ eur_render: (_c = p.eurRender) !== null && _c !== void 0 ? _c : null,
2061
+ last_valid_block_height: (_d = p.lastValidBlockHeight) !== null && _d !== void 0 ? _d : null,
2062
+ usdc_spent: (_e = p.usdcSpent) !== null && _e !== void 0 ? _e : null,
2063
+ correction_id: (_f = p.correctionId) !== null && _f !== void 0 ? _f : null,
2064
+ correction_render: (_g = p.correctionRender) !== null && _g !== void 0 ? _g : null,
2065
+ usage_from: (_h = p.usageFrom) !== null && _h !== void 0 ? _h : null,
2066
+ usage_to: (_j = p.usageTo) !== null && _j !== void 0 ? _j : null,
2115
2067
  })
2116
2068
  .onConflict((oc) => oc.column('tx_signature').doNothing())
2117
2069
  .executeTakeFirst();
2118
- const inserted = ((_h = res.numInsertedOrUpdatedRows) !== null && _h !== void 0 ? _h : BigInt(0)) > BigInt(0);
2070
+ const inserted = ((_k = res.numInsertedOrUpdatedRows) !== null && _k !== void 0 ? _k : BigInt(0)) > BigInt(0);
2119
2071
  // Only reserve when the row was actually inserted (a tx_signature conflict is a no-op → no double
2120
2072
  // count) and it drew a correction.
2121
2073
  if (inserted &&
@@ -2130,19 +2082,35 @@ const pgClient = (config) => {
2130
2082
  .where('id', '=', String(p.correctionId))
2131
2083
  .where((eb) => eb((0, kysely_1.sql) `consumed_render + ${p.correctionRender}::numeric`, '<=', eb.ref('amount_render')))
2132
2084
  .executeTakeFirst();
2133
- if (((_j = upd.numUpdatedRows) !== null && _j !== void 0 ? _j : BigInt(0)) === BigInt(0)) {
2085
+ if (((_l = upd.numUpdatedRows) !== null && _l !== void 0 ? _l : BigInt(0)) === BigInt(0)) {
2134
2086
  // Would exceed amount_render (concurrent draw won the room) — roll back the whole txn.
2135
2087
  log.warn(`dispersed correction ${p.correctionId}: draw ${p.correctionRender} would over-consume; rejecting outbox insert for tx ${p.txSignature}`);
2136
2088
  throw new DispersedCorrectionRejected();
2137
2089
  }
2138
2090
  }
2139
- log.debug(`dispersed outbox tx ${p.txSignature}: ${res.numInsertedOrUpdatedRows} row(s)`);
2091
+ if (inserted && hasObligationTable && ((_m = p.obligations) === null || _m === void 0 ? void 0 : _m.length)) {
2092
+ for (const o of p.obligations) {
2093
+ yield trx
2094
+ .insertInto('dispersed_obligation')
2095
+ .values({
2096
+ settlement_tx_sig: p.txSignature,
2097
+ uuid: o.uuid,
2098
+ amount_eur: o.amountEur,
2099
+ opened_at: o.openedAt,
2100
+ authorization_uuid: (_o = o.authorizationUuid) !== null && _o !== void 0 ? _o : null,
2101
+ })
2102
+ .onConflict((oc) => oc.column('uuid').doNothing())
2103
+ .execute();
2104
+ }
2105
+ }
2106
+ log.debug(`dispersed outbox tx ${p.txSignature}: ${res.numInsertedOrUpdatedRows} row(s), ${hasObligationTable ? ((_q = (_p = p.obligations) === null || _p === void 0 ? void 0 : _p.length) !== null && _q !== void 0 ? _q : 0) : 0} obligations`);
2140
2107
  return { inserted };
2141
2108
  })).catch((e) => {
2142
2109
  if (e instanceof DispersedCorrectionRejected)
2143
2110
  return { inserted: false };
2144
2111
  throw e;
2145
2112
  });
2113
+ return result;
2146
2114
  });
2147
2115
  },
2148
2116
  getOutstandingDispersedCorrection(log = logger_1.consoleLogger) {