From 156591d7070185f719590af45b7b4f2545277210 Mon Sep 17 00:00:00 2001 From: zaragoza444 Date: Mon, 29 Jun 2026 01:17:52 -0700 Subject: [PATCH] fix: add /health/ledger path for NPM-safe dashboard data Query params may be stripped by reverse proxy; use dedicated path for ledger. Co-authored-by: Cursor --- frontend-dapp/src/features/central-bank/useCentralBank.ts | 2 +- frontend-dapp/src/features/office24/useOffice24.ts | 2 +- services/settlement-middleware/src/api/routes/settlement.ts | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend-dapp/src/features/central-bank/useCentralBank.ts b/frontend-dapp/src/features/central-bank/useCentralBank.ts index ec338e6..f6f599d 100644 --- a/frontend-dapp/src/features/central-bank/useCentralBank.ts +++ b/frontend-dapp/src/features/central-bank/useCentralBank.ts @@ -13,7 +13,7 @@ export type MoneySupply = { }; async function loadMoneySupply(): Promise { - for (const path of ['/public/money-supply', '/money-supply/public']) { + for (const path of ['/public/money-supply', '/money-supply/public', '/health/ledger']) { const res = await fetch(settlementApi(path)); if (res.ok) return res.json(); } diff --git a/frontend-dapp/src/features/office24/useOffice24.ts b/frontend-dapp/src/features/office24/useOffice24.ts index 1b84376..4783269 100644 --- a/frontend-dapp/src/features/office24/useOffice24.ts +++ b/frontend-dapp/src/features/office24/useOffice24.ts @@ -11,7 +11,7 @@ export type M2Token = DexToken & { }; async function loadOfficeMoneySupply(): Promise { - for (const path of ['/public/money-supply', '/money-supply/public']) { + for (const path of ['/public/money-supply', '/money-supply/public', '/health/ledger']) { const res = await fetch(settlementApi(path)); if (res.ok) return res.json(); } diff --git a/services/settlement-middleware/src/api/routes/settlement.ts b/services/settlement-middleware/src/api/routes/settlement.ts index 6bd22ff..901c047 100644 --- a/services/settlement-middleware/src/api/routes/settlement.ts +++ b/services/settlement-middleware/src/api/routes/settlement.ts @@ -57,6 +57,8 @@ export function createSettlementRouter(): Router { const officeId = settlementOfficeId(); const profile = loadOfficeProfile(); + router.get('/health/ledger', (_req, res) => respondPublicMoneySupply(res, officeId)); + router.get('/health', async (req, res) => { let chainStats = { total: 0, active: 0 }; try {