UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

37 lines (36 loc) 1.2 kB
import type { IProtoMessage } from "@waku/interfaces"; import type { IdentityCredential } from "./identity.js"; export interface TestRLNCodecSetup { rlnInstance: any; credential: IdentityCredential; index: number; payload: Uint8Array; } export declare const TEST_CONSTANTS: { readonly contentTopic: "/test/1/waku-message/utf8"; readonly emptyPubsubTopic: ""; readonly defaultIndex: 0; readonly defaultPayload: Uint8Array<ArrayBuffer>; }; export declare const EMPTY_PROTO_MESSAGE: { readonly timestamp: undefined; readonly contentTopic: ""; readonly ephemeral: undefined; readonly meta: undefined; readonly rateLimitProof: undefined; readonly version: undefined; }; /** * Creates a basic RLN setup for codec tests */ export declare function createTestRLNCodecSetup(): Promise<TestRLNCodecSetup>; /** * Creates a meta setter function for testing */ export declare function createTestMetaSetter(): (msg: IProtoMessage & { meta: undefined; }) => Uint8Array; /** * Verifies common RLN message properties */ export declare function verifyRLNMessage(msg: any, payload: Uint8Array, contentTopic: string, version: number, rlnInstance: any): void;