UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

24 lines (23 loc) 1.05 kB
import type { ContentTopic, IDecodedMessage, EncoderOptions as WakuEncoderOptions } from "@waku/interfaces"; import { type RLNDecoder, type RLNEncoder } from "./codec.js"; import { RLNCredentialsManager } from "./credentials_manager.js"; import type { DecryptedCredentials, EncryptedCredentials } from "./keystore/index.js"; import { WitnessCalculator } from "./resources/witness_calculator"; import { Zerokit } from "./zerokit.js"; type WakuRLNEncoderOptions = WakuEncoderOptions & { credentials: EncryptedCredentials | DecryptedCredentials; }; export declare class RLNInstance extends RLNCredentialsManager { zerokit: Zerokit; /** * Create an instance of RLN * @returns RLNInstance */ static create(): Promise<RLNInstance>; private constructor(); createEncoder(options: WakuRLNEncoderOptions): Promise<RLNEncoder>; createDecoder(contentTopic: ContentTopic): RLNDecoder<IDecodedMessage>; static loadWitnessCalculator(): Promise<WitnessCalculator>; static loadZkey(): Promise<Uint8Array>; } export {};