fix: ignore duplicated precommitments

This commit is contained in:
moebius
2025-05-25 19:14:15 +02:00
parent a293c0d01a
commit 1369dc68d4
2 changed files with 5 additions and 3 deletions

View File

@@ -489,7 +489,9 @@ export class AccountService {
// Create a map of deposits by precommitment for efficient lookup
const depositMap = new Map<Hash, DepositEvent>();
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

View File

@@ -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,