From 10590dad85e6f79c2f75b23f05ec356908744b01 Mon Sep 17 00:00:00 2001 From: Danish Arora Date: Thu, 29 May 2025 01:36:43 +0530 Subject: [PATCH] chore: validate idcommitment against Q --- packages/rln/src/credentials_manager.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/rln/src/credentials_manager.ts b/packages/rln/src/credentials_manager.ts index 70544ed4a2..ae06cb5bd3 100644 --- a/packages/rln/src/credentials_manager.ts +++ b/packages/rln/src/credentials_manager.ts @@ -268,7 +268,14 @@ export class RLNCredentialsManager { const idCommitment = sha256(idSecretHash); // Convert IDCommitment to BigInt - const idCommitmentBigInt = buildBigIntFromUint8Array(idCommitment); + let idCommitmentBigInt = buildBigIntFromUint8Array(idCommitment); + const Q = BigInt( + "21888242871839275222246405745257275088548364400416034343698204186575808495617" + ); + if (idCommitmentBigInt >= Q) { + log.warn("IDCommitment is greater than Q, truncating"); + idCommitmentBigInt = idCommitmentBigInt % Q; + } log.info("Successfully generated identity credential"); return new IdentityCredential(