From da26fdace168a3ff9b671fc3935470db561416d7 Mon Sep 17 00:00:00 2001 From: Alex Gherghisan Date: Wed, 24 Apr 2024 14:02:21 +0000 Subject: [PATCH] fix: bigint corruption in lmdb --- .../{flakey_e2e_2_pxes.test.ts => e2e_2_pxes.test.ts} | 6 +++--- yarn-project/end-to-end/src/fixtures/utils.ts | 9 +++++++++ yarn-project/pxe/src/database/kv_pxe_database.ts | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) rename yarn-project/end-to-end/src/{flakey_e2e_2_pxes.test.ts => e2e_2_pxes.test.ts} (99%) diff --git a/yarn-project/end-to-end/src/flakey_e2e_2_pxes.test.ts b/yarn-project/end-to-end/src/e2e_2_pxes.test.ts similarity index 99% rename from yarn-project/end-to-end/src/flakey_e2e_2_pxes.test.ts rename to yarn-project/end-to-end/src/e2e_2_pxes.test.ts index ea0b055b11a..95dcb88a2f4 100644 --- a/yarn-project/end-to-end/src/flakey_e2e_2_pxes.test.ts +++ b/yarn-project/end-to-end/src/e2e_2_pxes.test.ts @@ -29,6 +29,7 @@ describe('e2e_2_pxes', () => { let walletB: Wallet; let logger: DebugLogger; let teardownA: () => Promise; + let teardownB: () => Promise; beforeEach(async () => { ({ @@ -42,14 +43,13 @@ describe('e2e_2_pxes', () => { ({ pxe: pxeB, wallets: [walletB], + teardown: teardownB, } = await setupPXEService(1, aztecNode!, {}, undefined, true)); }, 100_000); afterEach(async () => { + await teardownB(); await teardownA(); - if ((pxeB as any).stop) { - await (pxeB as any).stop(); - } }); const awaitUserSynchronized = async (wallet: Wallet, owner: AztecAddress) => { diff --git a/yarn-project/end-to-end/src/fixtures/utils.ts b/yarn-project/end-to-end/src/fixtures/utils.ts index 802f3925c9d..bcfcf5a2aae 100644 --- a/yarn-project/end-to-end/src/fixtures/utils.ts +++ b/yarn-project/end-to-end/src/fixtures/utils.ts @@ -196,16 +196,25 @@ export async function setupPXEService( * Logger instance named as the current test. */ logger: DebugLogger; + /** + * Teardown function + */ + teardown: () => Promise; }> { const pxeServiceConfig = { ...getPXEServiceConfig(), ...opts }; const pxe = await createPXEService(aztecNode, pxeServiceConfig, useLogSuffix); const wallets = await createAccounts(pxe, numberOfAccounts); + const teardown = async () => { + await pxe.stop(); + }; + return { pxe, wallets, logger, + teardown, }; } diff --git a/yarn-project/pxe/src/database/kv_pxe_database.ts b/yarn-project/pxe/src/database/kv_pxe_database.ts index aadab576f8d..c07a29219de 100644 --- a/yarn-project/pxe/src/database/kv_pxe_database.ts +++ b/yarn-project/pxe/src/database/kv_pxe_database.ts @@ -189,7 +189,7 @@ export class KVPxeDatabase implements PxeDatabase { removeDeferredNotesByContract(contractAddress: AztecAddress): Promise { return this.#db.transaction(() => { const deferredNotes: DeferredNoteDao[] = []; - const indices = this.#deferredNotesByContract.getValues(contractAddress.toString()); + const indices = Array.from(this.#deferredNotesByContract.getValues(contractAddress.toString())); for (const index of indices) { const deferredNoteBuffer = this.#deferredNotes.at(index);