@waku/proto
Version:
Protobuf definitions for Waku
70 lines (69 loc) • 2.61 kB
TypeScript
import type { Codec, DecodeOptions } from 'protons-runtime';
import type { Uint8ArrayList } from 'uint8arraylist';
export interface FilterSubscribeRequest {
requestId: string;
filterSubscribeType: FilterSubscribeRequest.FilterSubscribeType;
pubsubTopic?: string;
contentTopics: string[];
}
export declare namespace FilterSubscribeRequest {
enum FilterSubscribeType {
SUBSCRIBER_PING = "SUBSCRIBER_PING",
SUBSCRIBE = "SUBSCRIBE",
UNSUBSCRIBE = "UNSUBSCRIBE",
UNSUBSCRIBE_ALL = "UNSUBSCRIBE_ALL"
}
namespace FilterSubscribeType {
const codec: () => Codec<FilterSubscribeType>;
}
const codec: () => Codec<FilterSubscribeRequest>;
const encode: (obj: Partial<FilterSubscribeRequest>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FilterSubscribeRequest>) => FilterSubscribeRequest;
}
export interface FilterSubscribeResponse {
requestId: string;
statusCode: number;
statusDesc?: string;
}
export declare namespace FilterSubscribeResponse {
const codec: () => Codec<FilterSubscribeResponse>;
const encode: (obj: Partial<FilterSubscribeResponse>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FilterSubscribeResponse>) => FilterSubscribeResponse;
}
export interface MessagePush {
wakuMessage?: WakuMessage;
pubsubTopic?: string;
}
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 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;
}