Danish Arora 9b0c5e8311
fix: idCommitmentBigInt must always be less than the contract Q (#2394)
* chore: idCommitmentBigInt validates against contract Q

* chore: fix linting

* chore: add log

* chore: rename Q and make sync

* fix: test

* chore: remove stubbed contract test

* chore: hardcode default constant for Q

* use non deprecated sha256

* chore: use full 32 bytes for bigint

* chore: all storage in LE, but smart contract interactions in BE

* chore: remove references to idCOmmitmentBigInt in Identity

* chore: don't fetch Q from contract

* chore: ByteUtils as a class

* chore: store Identity in BE, convert during Keystore

* chore: add IDCommitmentBigInt part of Identity

* chore: minor improvements

* chore: switch idTrapdoor to LE

* chore: add logs

* chore: rename `DEFAULT_Q` to `RLN_Q`

* chore: rm spec test

* chore: improve modulo logging

* fix(tests): add IDCommitmentBigInt
2025-07-14 16:35:34 +05:30
..
2025-02-11 15:28:00 +05:30
2025-02-11 15:28:00 +05:30
2025-06-23 22:29:40 +02:00
2025-06-23 22:29:40 +02:00
2025-02-11 15:28:00 +05:30
2025-02-11 15:28:00 +05:30

@waku/rln

Rate Limiting Nullifier (RLN) implementation for Waku.

Description

This package provides RLN functionality for the Waku protocol, enabling rate-limiting capabilities while preserving privacy.

Installation

npm install @waku/rln

Usage

import { RLN } from '@waku/rln';

// Usage examples coming soon

Constants

  • Implementation contract: 0xde2260ca49300357d5af4153cda0d18f7b3ea9b3
  • Proxy contract: 0xb9cd878c90e49f797b4431fbf4fb333108cb90e6

License

MIT OR Apache-2.0