mirror of
https://github.com/0xbow-io/privacy-pools-core.git
synced 2026-01-09 01:17:58 -05:00
fix: ignore duplicated precommitments
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user