///
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleServerStreamingCall, Client, CallOptions, ClientReadableStream, Metadata } from "@grpc/grpc-js";
import _m0 from "protobufjs/minimal";
import { ChainID } from "../../publicrpc/v1/publicrpc";
import { SignedVAAWithQuorum, SignedBatchVAAWithQuorum } from "../../gossip/v1/gossip";
export declare const protobufPackage = "spy.v1";
/** A MessageFilter represents an exact match for an emitter. */
export interface EmitterFilter {
/** Source chain */
chainId: ChainID;
/** Hex-encoded (without leading 0x) emitter address. */
emitterAddress: string;
}
export interface BatchFilter {
/** Source chain */
chainId: ChainID;
/** Native transaction identifier bytes. */
txId: Buffer;
/** Nonce of the messages in the batch. */
nonce: number;
}
export interface BatchTransactionFilter {
/** Source chain */
chainId: ChainID;
/** Native transaction identifier bytes. */
txId: Buffer;
}
export interface FilterEntry {
emitterFilter: EmitterFilter | undefined;
batchFilter: BatchFilter | undefined;
batchTransactionFilter: BatchTransactionFilter | undefined;
}
export interface SubscribeSignedVAARequest {
/**
* List of filters to apply to the stream (OR).
* If empty, all messages are streamed.
*/
filters: FilterEntry[];
}
export interface SubscribeSignedVAAByTypeRequest {
/**
* List of filters to apply to the stream (OR).
* If empty, all messages are streamed.
*/
filters: FilterEntry[];
}
export interface SubscribeSignedVAAResponse {
/** Raw VAA bytes */
vaaBytes: Buffer;
}
export interface SubscribeSignedVAAByTypeResponse {
signedVaa: SignedVAAWithQuorum | undefined;
signedBatchVaa: SignedBatchVAAWithQuorum | undefined;
}
export declare const EmitterFilter: {
encode(message: EmitterFilter, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): EmitterFilter;
fromJSON(object: any): EmitterFilter;
toJSON(message: EmitterFilter): unknown;
fromPartial(object: DeepPartial): EmitterFilter;
};
export declare const BatchFilter: {
encode(message: BatchFilter, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): BatchFilter;
fromJSON(object: any): BatchFilter;
toJSON(message: BatchFilter): unknown;
fromPartial(object: DeepPartial): BatchFilter;
};
export declare const BatchTransactionFilter: {
encode(message: BatchTransactionFilter, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): BatchTransactionFilter;
fromJSON(object: any): BatchTransactionFilter;
toJSON(message: BatchTransactionFilter): unknown;
fromPartial(object: DeepPartial): BatchTransactionFilter;
};
export declare const FilterEntry: {
encode(message: FilterEntry, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): FilterEntry;
fromJSON(object: any): FilterEntry;
toJSON(message: FilterEntry): unknown;
fromPartial(object: DeepPartial): FilterEntry;
};
export declare const SubscribeSignedVAARequest: {
encode(message: SubscribeSignedVAARequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeSignedVAARequest;
fromJSON(object: any): SubscribeSignedVAARequest;
toJSON(message: SubscribeSignedVAARequest): unknown;
fromPartial(object: DeepPartial): SubscribeSignedVAARequest;
};
export declare const SubscribeSignedVAAByTypeRequest: {
encode(message: SubscribeSignedVAAByTypeRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeSignedVAAByTypeRequest;
fromJSON(object: any): SubscribeSignedVAAByTypeRequest;
toJSON(message: SubscribeSignedVAAByTypeRequest): unknown;
fromPartial(object: DeepPartial): SubscribeSignedVAAByTypeRequest;
};
export declare const SubscribeSignedVAAResponse: {
encode(message: SubscribeSignedVAAResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeSignedVAAResponse;
fromJSON(object: any): SubscribeSignedVAAResponse;
toJSON(message: SubscribeSignedVAAResponse): unknown;
fromPartial(object: DeepPartial): SubscribeSignedVAAResponse;
};
export declare const SubscribeSignedVAAByTypeResponse: {
encode(message: SubscribeSignedVAAByTypeResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeSignedVAAByTypeResponse;
fromJSON(object: any): SubscribeSignedVAAByTypeResponse;
toJSON(message: SubscribeSignedVAAByTypeResponse): unknown;
fromPartial(object: DeepPartial): SubscribeSignedVAAByTypeResponse;
};
/** SpyRPCService exposes a gossip introspection service, allowing sniffing of gossip messages. */
export declare const SpyRPCServiceService: {
/** SubscribeSignedVAA returns a stream of signed VAA messages received on the network. */
readonly subscribeSignedVAA: {
readonly path: "/spy.v1.SpyRPCService/SubscribeSignedVAA";
readonly requestStream: false;
readonly responseStream: true;
readonly requestSerialize: (value: SubscribeSignedVAARequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => SubscribeSignedVAARequest;
readonly responseSerialize: (value: SubscribeSignedVAAResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => SubscribeSignedVAAResponse;
};
/** SubscribeSignedBatchVAA returns a stream of signed VAA messages, by type, received on the network. */
readonly subscribeSignedVAAByType: {
readonly path: "/spy.v1.SpyRPCService/SubscribeSignedVAAByType";
readonly requestStream: false;
readonly responseStream: true;
readonly requestSerialize: (value: SubscribeSignedVAAByTypeRequest) => Buffer;
readonly requestDeserialize: (value: Buffer) => SubscribeSignedVAAByTypeRequest;
readonly responseSerialize: (value: SubscribeSignedVAAByTypeResponse) => Buffer;
readonly responseDeserialize: (value: Buffer) => SubscribeSignedVAAByTypeResponse;
};
};
export interface SpyRPCServiceServer extends UntypedServiceImplementation {
/** SubscribeSignedVAA returns a stream of signed VAA messages received on the network. */
subscribeSignedVAA: handleServerStreamingCall;
/** SubscribeSignedBatchVAA returns a stream of signed VAA messages, by type, received on the network. */
subscribeSignedVAAByType: handleServerStreamingCall;
}
export interface SpyRPCServiceClient extends Client {
/** SubscribeSignedVAA returns a stream of signed VAA messages received on the network. */
subscribeSignedVAA(request: SubscribeSignedVAARequest, options?: Partial): ClientReadableStream;
subscribeSignedVAA(request: SubscribeSignedVAARequest, metadata?: Metadata, options?: Partial): ClientReadableStream;
/** SubscribeSignedBatchVAA returns a stream of signed VAA messages, by type, received on the network. */
subscribeSignedVAAByType(request: SubscribeSignedVAAByTypeRequest, options?: Partial): ClientReadableStream;
subscribeSignedVAAByType(request: SubscribeSignedVAAByTypeRequest, metadata?: Metadata, options?: Partial): ClientReadableStream;
}
export declare const SpyRPCServiceClient: new (address: string, credentials: ChannelCredentials, options?: Partial) => SpyRPCServiceClient;
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? {
[K in keyof T]?: DeepPartial;
} : Partial;
export {};