diff --git a/packages/sdk/src/core/account.service.ts b/packages/sdk/src/core/account.service.ts index ecd9f2c..d053c77 100644 --- a/packages/sdk/src/core/account.service.ts +++ b/packages/sdk/src/core/account.service.ts @@ -489,7 +489,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 diff --git a/packages/sdk/src/core/data.service.ts b/packages/sdk/src/core/data.service.ts index 7c6cf66..17606d5 100644 --- a/packages/sdk/src/core/data.service.ts +++ b/packages/sdk/src/core/data.service.ts @@ -105,7 +105,7 @@ export class DataService { _merkleRoot: precommitment, } = log.args; - if (!depositor || !commitment || !label || !value || !precommitment || !log.blockNumber || !log.transactionHash) { + if (!depositor || !commitment || !label || !precommitment || !log.blockNumber || !log.transactionHash) { throw DataError.invalidLog("deposit", "missing required fields"); } @@ -113,7 +113,7 @@ export class DataService { depositor: depositor.toLowerCase(), commitment: commitment as Hash, label: label as Hash, - value, + value: value || BigInt(0), precommitment: precommitment as Hash, blockNumber: BigInt(log.blockNumber), transactionHash: log.transactionHash,