@waku/proto
Version:
Protobuf definitions for Waku
83 lines (82 loc) • 2.97 kB
TypeScript
import type { Codec, DecodeOptions } from 'protons-runtime';
import type { Uint8ArrayList } from 'uint8arraylist';
export interface PushRequest {
pubsubTopic: string;
message?: WakuMessage;
}
export declare namespace PushRequest {
const codec: () => Codec<PushRequest>;
const encode: (obj: Partial<PushRequest>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PushRequest>) => PushRequest;
}
export interface PushResponse {
isSuccess: boolean;
info?: string;
statusCode?: number;
statusDesc?: string;
relayPeerCount?: number;
}
export declare namespace PushResponse {
const codec: () => Codec<PushResponse>;
const encode: (obj: Partial<PushResponse>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PushResponse>) => PushResponse;
}
export interface PushRpc {
requestId: string;
request?: PushRequest;
response?: PushResponse;
}
export declare namespace PushRpc {
const codec: () => Codec<PushRpc>;
const encode: (obj: Partial<PushRpc>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PushRpc>) => PushRpc;
}
export interface LightPushRequestV3 {
requestId: string;
pubsubTopic?: string;
message?: WakuMessage;
}
export declare namespace LightPushRequestV3 {
const codec: () => Codec<LightPushRequestV3>;
const encode: (obj: Partial<LightPushRequestV3>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<LightPushRequestV3>) => LightPushRequestV3;
}
export interface LightPushResponseV3 {
requestId: string;
statusCode: number;
statusDesc?: string;
relayPeerCount?: number;
}
export declare namespace LightPushResponseV3 {
const codec: () => Codec<LightPushResponseV3>;
const encode: (obj: Partial<LightPushResponseV3>) => Uint8Array;
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<LightPushResponseV3>) => LightPushResponseV3;
}
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;
}