From 1209cd9e40fa3dbdb720c54505e022bc42a218ab Mon Sep 17 00:00:00 2001 From: fernandomg Date: Thu, 5 Nov 2026 18:03:09 +0100 Subject: [PATCH] fix: read active contracts through eventFormat --- registry/src/ledger.ts | 6 ++++-- registry/test/ledger.test.ts | 8 +++++--- scripts/seed.mjs | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/registry/src/ledger.ts b/registry/src/ledger.ts index 1b22642..c612458 100644 --- a/registry/src/ledger.ts +++ b/registry/src/ledger.ts @@ -219,8 +219,10 @@ export class HttpLedgerClient implements LedgerClient { method: 'POST', headers: this.headers(), body: JSON.stringify({ - filter: templateFilter(templateId, party, includeCreatedEventBlob), - verbose: false, + eventFormat: { + ...templateFilter(templateId, party, includeCreatedEventBlob), + verbose: false, + }, activeAtOffset, }), }) diff --git a/registry/test/ledger.test.ts b/registry/test/ledger.test.ts index 597159a..10e35c1 100644 --- a/registry/test/ledger.test.ts +++ b/registry/test/ledger.test.ts @@ -77,9 +77,11 @@ describe('HttpLedgerClient.activeContracts', () => { expect(url).toBe('http://ledger/v2/state/active-contracts') expect(init.method).toBe('POST') const body = JSON.parse(init.body as string) + expect(body).not.toHaveProperty('filter') + expect(body).not.toHaveProperty('verbose') expect( - body.filter.filtersByParty['admin::1'].cumulative[0].identifierFilter.TemplateFilter.value - .templateId, + body.eventFormat.filtersByParty['admin::1'].cumulative[0].identifierFilter.TemplateFilter + .value.templateId, ).toBe('pkg:Canton.TokenForge.Registry:InstrumentConfig') }) @@ -191,7 +193,7 @@ describe('HttpLedgerClient.probeTemplate', () => { expect(body.activeAtOffset).toBe(0) // And no disclosure blob, which is the bulk of a row and is what a // counterparty needs rather than a check that reads nothing back. - const filter = body.filter.filtersByParty['admin::1'].cumulative[0].identifierFilter + const filter = body.eventFormat.filtersByParty['admin::1'].cumulative[0].identifierFilter expect(filter.TemplateFilter.value).toEqual({ templateId: 'pkg:M:LockedToken', includeCreatedEventBlob: false, diff --git a/scripts/seed.mjs b/scripts/seed.mjs index d4ab8cf..3f390c4 100644 --- a/scripts/seed.mjs +++ b/scripts/seed.mjs @@ -167,7 +167,7 @@ async function ledgerEnd() { async function activeContracts(templateId, party) { const rows = await call('/v2/state/active-contracts', { - filter: { + eventFormat: { filtersByParty: { [party]: { cumulative: [ @@ -177,8 +177,8 @@ async function activeContracts(templateId, party) { ], }, }, + verbose: false, }, - verbose: false, activeAtOffset: await ledgerEnd(), }) return rows.flatMap((row) => {