UNPKG

@solsdk/jito-ts

Version:

## What is it and why do you need it?

372 lines (330 loc) 13.3 kB
/* eslint-disable */ import { CallOptions, ChannelCredentials, Client, ClientOptions, ClientReadableStream, ClientUnaryCall, handleServerStreamingCall, handleUnaryCall, makeGenericClientConstructor, Metadata, ServiceError, UntypedServiceImplementation, } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { PacketBatch } from "./packet"; import { Header, Heartbeat, Socket } from "./shared"; export const protobufPackage = "relayer"; export interface GetTpuConfigsRequest { } export interface GetTpuConfigsResponse { tpu: Socket | undefined; tpuForward: Socket | undefined; } export interface SubscribePacketsRequest { } export interface SubscribePacketsResponse { header: Header | undefined; heartbeat?: Heartbeat | undefined; batch?: PacketBatch | undefined; } function createBaseGetTpuConfigsRequest(): GetTpuConfigsRequest { return {}; } export const GetTpuConfigsRequest = { encode(_: GetTpuConfigsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetTpuConfigsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetTpuConfigsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): GetTpuConfigsRequest { return {}; }, toJSON(_: GetTpuConfigsRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<GetTpuConfigsRequest>, I>>(base?: I): GetTpuConfigsRequest { return GetTpuConfigsRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetTpuConfigsRequest>, I>>(_: I): GetTpuConfigsRequest { const message = createBaseGetTpuConfigsRequest(); return message; }, }; function createBaseGetTpuConfigsResponse(): GetTpuConfigsResponse { return { tpu: undefined, tpuForward: undefined }; } export const GetTpuConfigsResponse = { encode(message: GetTpuConfigsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.tpu !== undefined) { Socket.encode(message.tpu, writer.uint32(10).fork()).ldelim(); } if (message.tpuForward !== undefined) { Socket.encode(message.tpuForward, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetTpuConfigsResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetTpuConfigsResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.tpu = Socket.decode(reader, reader.uint32()); break; case 2: message.tpuForward = Socket.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetTpuConfigsResponse { return { tpu: isSet(object.tpu) ? Socket.fromJSON(object.tpu) : undefined, tpuForward: isSet(object.tpuForward) ? Socket.fromJSON(object.tpuForward) : undefined, }; }, toJSON(message: GetTpuConfigsResponse): unknown { const obj: any = {}; message.tpu !== undefined && (obj.tpu = message.tpu ? Socket.toJSON(message.tpu) : undefined); message.tpuForward !== undefined && (obj.tpuForward = message.tpuForward ? Socket.toJSON(message.tpuForward) : undefined); return obj; }, create<I extends Exact<DeepPartial<GetTpuConfigsResponse>, I>>(base?: I): GetTpuConfigsResponse { return GetTpuConfigsResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetTpuConfigsResponse>, I>>(object: I): GetTpuConfigsResponse { const message = createBaseGetTpuConfigsResponse(); message.tpu = (object.tpu !== undefined && object.tpu !== null) ? Socket.fromPartial(object.tpu) : undefined; message.tpuForward = (object.tpuForward !== undefined && object.tpuForward !== null) ? Socket.fromPartial(object.tpuForward) : undefined; return message; }, }; function createBaseSubscribePacketsRequest(): SubscribePacketsRequest { return {}; } export const SubscribePacketsRequest = { encode(_: SubscribePacketsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SubscribePacketsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSubscribePacketsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): SubscribePacketsRequest { return {}; }, toJSON(_: SubscribePacketsRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<SubscribePacketsRequest>, I>>(base?: I): SubscribePacketsRequest { return SubscribePacketsRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SubscribePacketsRequest>, I>>(_: I): SubscribePacketsRequest { const message = createBaseSubscribePacketsRequest(); return message; }, }; function createBaseSubscribePacketsResponse(): SubscribePacketsResponse { return { header: undefined, heartbeat: undefined, batch: undefined }; } export const SubscribePacketsResponse = { encode(message: SubscribePacketsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.header !== undefined) { Header.encode(message.header, writer.uint32(10).fork()).ldelim(); } if (message.heartbeat !== undefined) { Heartbeat.encode(message.heartbeat, writer.uint32(18).fork()).ldelim(); } if (message.batch !== undefined) { PacketBatch.encode(message.batch, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SubscribePacketsResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSubscribePacketsResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = Header.decode(reader, reader.uint32()); break; case 2: message.heartbeat = Heartbeat.decode(reader, reader.uint32()); break; case 3: message.batch = PacketBatch.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SubscribePacketsResponse { return { header: isSet(object.header) ? Header.fromJSON(object.header) : undefined, heartbeat: isSet(object.heartbeat) ? Heartbeat.fromJSON(object.heartbeat) : undefined, batch: isSet(object.batch) ? PacketBatch.fromJSON(object.batch) : undefined, }; }, toJSON(message: SubscribePacketsResponse): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? Header.toJSON(message.header) : undefined); message.heartbeat !== undefined && (obj.heartbeat = message.heartbeat ? Heartbeat.toJSON(message.heartbeat) : undefined); message.batch !== undefined && (obj.batch = message.batch ? PacketBatch.toJSON(message.batch) : undefined); return obj; }, create<I extends Exact<DeepPartial<SubscribePacketsResponse>, I>>(base?: I): SubscribePacketsResponse { return SubscribePacketsResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SubscribePacketsResponse>, I>>(object: I): SubscribePacketsResponse { const message = createBaseSubscribePacketsResponse(); message.header = (object.header !== undefined && object.header !== null) ? Header.fromPartial(object.header) : undefined; message.heartbeat = (object.heartbeat !== undefined && object.heartbeat !== null) ? Heartbeat.fromPartial(object.heartbeat) : undefined; message.batch = (object.batch !== undefined && object.batch !== null) ? PacketBatch.fromPartial(object.batch) : undefined; return message; }, }; /** * / Relayers offer a TPU and TPU forward proxy for Solana validators. * / Validators can connect and fetch the TPU configuration for the relayer and start to advertise the * / relayer's information in gossip. * / They can also subscribe to packets which arrived on the TPU ports at the relayer */ export type RelayerService = typeof RelayerService; export const RelayerService = { /** * The relayer has TPU and TPU forward sockets that validators can leverage. * A validator can fetch this config and change its TPU and TPU forward port in gossip. */ getTpuConfigs: { path: "/relayer.Relayer/GetTpuConfigs", requestStream: false, responseStream: false, requestSerialize: (value: GetTpuConfigsRequest) => Buffer.from(GetTpuConfigsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => GetTpuConfigsRequest.decode(value), responseSerialize: (value: GetTpuConfigsResponse) => Buffer.from(GetTpuConfigsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => GetTpuConfigsResponse.decode(value), }, /** * Validators can subscribe to packets from the relayer and receive a multiplexed signal that contains a mixture * of packets and heartbeats */ subscribePackets: { path: "/relayer.Relayer/SubscribePackets", requestStream: false, responseStream: true, requestSerialize: (value: SubscribePacketsRequest) => Buffer.from(SubscribePacketsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => SubscribePacketsRequest.decode(value), responseSerialize: (value: SubscribePacketsResponse) => Buffer.from(SubscribePacketsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => SubscribePacketsResponse.decode(value), }, } as const; export interface RelayerServer extends UntypedServiceImplementation { /** * The relayer has TPU and TPU forward sockets that validators can leverage. * A validator can fetch this config and change its TPU and TPU forward port in gossip. */ getTpuConfigs: handleUnaryCall<GetTpuConfigsRequest, GetTpuConfigsResponse>; /** * Validators can subscribe to packets from the relayer and receive a multiplexed signal that contains a mixture * of packets and heartbeats */ subscribePackets: handleServerStreamingCall<SubscribePacketsRequest, SubscribePacketsResponse>; } export interface RelayerClient extends Client { /** * The relayer has TPU and TPU forward sockets that validators can leverage. * A validator can fetch this config and change its TPU and TPU forward port in gossip. */ getTpuConfigs( request: GetTpuConfigsRequest, callback: (error: ServiceError | null, response: GetTpuConfigsResponse) => void, ): ClientUnaryCall; getTpuConfigs( request: GetTpuConfigsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetTpuConfigsResponse) => void, ): ClientUnaryCall; getTpuConfigs( request: GetTpuConfigsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetTpuConfigsResponse) => void, ): ClientUnaryCall; /** * Validators can subscribe to packets from the relayer and receive a multiplexed signal that contains a mixture * of packets and heartbeats */ subscribePackets( request: SubscribePacketsRequest, options?: Partial<CallOptions>, ): ClientReadableStream<SubscribePacketsResponse>; subscribePackets( request: SubscribePacketsRequest, metadata?: Metadata, options?: Partial<CallOptions>, ): ClientReadableStream<SubscribePacketsResponse>; } export const RelayerClient = makeGenericClientConstructor(RelayerService, "relayer.Relayer") as unknown as { new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): RelayerClient; service: typeof RelayerService; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; export type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never }; function isSet(value: any): boolean { return value !== null && value !== undefined; }