Arseniy Klempner
bbcfc94879
feat(rln)!: use zerokit for credential generation ( #2632 )
...
Co-authored-by: Danish Arora <danisharora099@gmail.com>
2025-09-30 16:49:18 -07:00
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
Danish Arora
4adf8706c3
feat(rln): create CredentialsManager without Zerokit ( #2295 )
...
* chore: update ABI
* chore: update contract address and chain ID to Linea Sepolia
* chore: improve error handling
* fix: bigint conversion
* chore: update tests
* chore: clean comments
* chore: export keystore types
* chore: update README with contract address
* tests: add reusable mock functions
* chore: LINEA_CONTRACT instead of SEPOLIA_CONTRACT
* chore: add linea to cspell
* chore: add rateLimit to MembershipInfo
* fix: determine start options
* feat: RLNLight
* chore: fix
* chore: export
* fix: returns for ratelimit
* chore: big number conversions
* chore: rename RLNLight to CredentialsManager, add logs
* chore: setup and use rln_base_contract
* chore: use CredentialsManager for rln.ts
* chore: public methods written above private methods
* fix: rate limit getter
* chore: simplify getters/setters
* chore: insert empty line
2025-04-07 16:04:06 +05:30
Danish Arora
6fc6bf3916
feat(rln): migrate from v1 to v2, rate limiting, memberships, test coverage ( #2262 )
...
* chore: update ABIs and deployed address
* chore: remove storage contract references
* feat: upgrading adapter to basic rlnv2
* feat: rate limit
* chore: upgrade packages revert
* fix: tests
* chore: remove uneeded file
* feat(rln): implement RLNv2 rate limiting and membership states
- Add rate limit validation and handling in proof generation/verification
- Implement membership lifecycle state management (Active/GracePeriod/Expired)
- Add new membership management methods:
- getMembershipInfo
- extendMembership
- eraseMembership
- registerMembership
- Update proof verification to include rate limit checks
- Refactor message serialization to include rate limit data
Breaking changes:
- verifyWithRoots now takes roots as array instead of spread parameters
- Proof verification methods now accept optional rateLimit parameter
* fix: typo
* chore: add to cspell
* chore: reduce diff
* chore: simplify subdir for abi
* chore: address comments
* chore: simplify access to variables
* chore: address comments
* chore: simplify constants
* chore: add error handling
* chore: change rln v2 references to rln
* fix: check
2025-03-03 18:14:06 +05:30
Danish Arora
0a0a92bccb
feat: @waku/rln ( #2244 )
...
* chore: setup rln as a new package
* chore: migrate src
* fix: wasm loading, tests, config
* chore: fix Karma CI
* fix: bundler
* chore: copy dist resources
* chore(rln): enable all tests
* chore: increase karma timeouts
2025-02-11 15:28:00 +05:30