@waku/proto
Version:
Protobuf definitions for Waku
70 lines (69 loc) • 2.54 kB
TypeScript
import type { Codec, DecodeOptions } from 'protons-runtime';
import type { Uint8ArrayList } from 'uint8arraylist';
export interface WakuMessageKeyValue {
messageHash?: Uint8Array;
message?: WakuMessage;
pubsubTopic?: string;
}
export declare namespace WakuMessageKeyValue {
const codec: () => Codec<WakuMessageKeyValue>;
const encode: (obj: Partial<WakuMessageKeyValue>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<WakuMessageKeyValue>) => WakuMessageKeyValue;
}
export interface StoreQueryRequest {
requestId: string;
includeData: boolean;
pubsubTopic?: string;
contentTopics: string[];
timeStart?: bigint;
timeEnd?: bigint;
messageHashes: Uint8Array[];
paginationCursor?: Uint8Array;
paginationForward: boolean;
paginationLimit?: bigint;
}
export declare namespace StoreQueryRequest {
const codec: () => Codec<StoreQueryRequest>;
const encode: (obj: Partial<StoreQueryRequest>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<StoreQueryRequest>) => StoreQueryRequest;
}
export interface StoreQueryResponse {
requestId: string;
statusCode?: number;
statusDesc?: string;
messages: WakuMessageKeyValue[];
paginationCursor?: Uint8Array;
}
export declare namespace StoreQueryResponse {
const codec: () => Codec<StoreQueryResponse>;
const encode: (obj: Partial<StoreQueryResponse>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<StoreQueryResponse>) => StoreQueryResponse;
}
export interface RateLimitProof {
proof: Uint8Array;
merkleRoot: Uint8Array;
epoch: Uint8Array;
shareX: Uint8Array;
shareY: Uint8Array;
nullifier: Uint8Array;
rlnIdentifier: Uint8Array;
}
export declare namespace RateLimitProof {
const codec: () => Codec<RateLimitProof>;
const encode: (obj: Partial<RateLimitProof>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<RateLimitProof>) => RateLimitProof;
}
export interface WakuMessage {
payload: Uint8Array;
contentTopic: string;
version?: number;
timestamp?: bigint;
meta?: Uint8Array;
rateLimitProof?: RateLimitProof;
ephemeral?: boolean;
}
export declare namespace WakuMessage {
const codec: () => Codec<WakuMessage>;
const encode: (obj: Partial<WakuMessage>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<WakuMessage>) => WakuMessage;
}