From 3067c8ce274491e45f944533df6adbe1de12f1a9 Mon Sep 17 00:00:00 2001 From: moebius <0xmoebius@protonmail.com> Date: Sun, 25 May 2025 18:15:17 +0200 Subject: [PATCH] fix: ignore duplicated precommitments in the events --- packages/sdk/src/core/account.service.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/sdk/src/core/account.service.ts b/packages/sdk/src/core/account.service.ts index cb1a745..06ddd9a 100644 --- a/packages/sdk/src/core/account.service.ts +++ b/packages/sdk/src/core/account.service.ts @@ -24,11 +24,11 @@ import { EventError } from "../errors/events.error.js"; type AccountServiceConfig = | { - mnemonic: string; - } + mnemonic: string; + } | { - account: PrivacyPoolAccount; - }; + account: PrivacyPoolAccount; + }; /** * Service responsible for managing privacy pool accounts and their associated commitments. @@ -781,11 +781,11 @@ export class AccountService { dataService: DataService, source: | { - mnemonic: string; - } + mnemonic: string; + } | { - service: AccountService; - }, + service: AccountService; + }, pools: PoolInfo[] ): Promise<{ account: AccountService; errors: PoolEventsError[] }> { // Log the start of the history retrieval process @@ -876,7 +876,9 @@ export class AccountService { // Create a map of deposits by precommitment for efficient lookup const depositMap = new Map(); for (const deposit of deposits) { - depositMap.set(deposit.precommitment, deposit); + if (!depositMap.has(deposit.precommitment)) { + depositMap.set(deposit.precommitment, deposit); + } } // Track found deposits for logging and debugging