UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

29 lines 974 B
import * as zerokitRLN from "@waku/zerokit-rln-wasm"; import { DEFAULT_RATE_LIMIT } from "./contract/constants.js"; import { IdentityCredential } from "./identity.js"; export class Zerokit { zkRLN; witnessCalculator; _rateLimit; constructor(zkRLN, witnessCalculator, _rateLimit = DEFAULT_RATE_LIMIT) { this.zkRLN = zkRLN; this.witnessCalculator = witnessCalculator; this._rateLimit = _rateLimit; } get getZkRLN() { return this.zkRLN; } get getWitnessCalculator() { return this.witnessCalculator; } get rateLimit() { return this._rateLimit; } generateSeededIdentityCredential(seed) { const stringEncoder = new TextEncoder(); const seedBytes = stringEncoder.encode(seed); const memKeys = zerokitRLN.generateSeededExtendedMembershipKey(this.zkRLN, seedBytes); return IdentityCredential.fromBytes(memKeys); } } //# sourceMappingURL=zerokit.js.map