@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
37 lines (36 loc) • 1.2 kB
TypeScript
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;