@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
20 lines (19 loc) • 858 B
TypeScript
import type { IDecodedMessage, IMessage, IRateLimitProof, IRlnMessage } from "@waku/interfaces";
import { RLNInstance } from "./rln.js";
export declare function toRLNSignal(contentTopic: string, msg: IMessage): Uint8Array;
export declare class RlnMessage<T extends IDecodedMessage> implements IRlnMessage {
private rlnInstance;
private msg;
rateLimitProof: IRateLimitProof | undefined;
pubsubTopic: string;
version: number;
constructor(rlnInstance: RLNInstance, msg: T, rateLimitProof: IRateLimitProof | undefined);
verify(roots: Uint8Array[]): boolean | undefined;
verifyNoRoot(): boolean | undefined;
get payload(): Uint8Array;
get contentTopic(): string;
get timestamp(): Date | undefined;
get ephemeral(): boolean | undefined;
get meta(): Uint8Array | undefined;
get epoch(): number | undefined;
}