@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
24 lines (23 loc) • 1.05 kB
TypeScript
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 {};