@waku/proto
Version:
Protobuf definitions for Waku
67 lines (66 loc) • 2.43 kB
TypeScript
import type { Codec, DecodeOptions } from 'protons-runtime';
import type { Uint8ArrayList } from 'uint8arraylist';
export interface FilterRequest {
subscribe: boolean;
topic: string;
contentFilters: FilterRequest.ContentFilter[];
}
export declare namespace FilterRequest {
interface ContentFilter {
contentTopic: string;
}
namespace ContentFilter {
const codec: () => Codec<ContentFilter>;
const encode: (obj: Partial<ContentFilter>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ContentFilter>) => ContentFilter;
}
const codec: () => Codec<FilterRequest>;
const encode: (obj: Partial<FilterRequest>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FilterRequest>) => FilterRequest;
}
export interface MessagePush {
messages: WakuMessage[];
}
export declare namespace MessagePush {
const codec: () => Codec<MessagePush>;
const encode: (obj: Partial<MessagePush>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<MessagePush>) => MessagePush;
}
export interface FilterRpc {
requestId: string;
request?: FilterRequest;
push?: MessagePush;
}
export declare namespace FilterRpc {
const codec: () => Codec<FilterRpc>;
const encode: (obj: Partial<FilterRpc>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FilterRpc>) => FilterRpc;
}
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;
}