UNPKG

@solsdk/jito-ts

Version:

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

1,326 lines (1,184 loc) 46.5 kB
/* eslint-disable */ import { CallOptions, ChannelCredentials, Client, ClientOptions, ClientReadableStream, ClientUnaryCall, handleServerStreamingCall, handleUnaryCall, makeGenericClientConstructor, Metadata, ServiceError, UntypedServiceImplementation, } from "@grpc/grpc-js"; import Long from "long"; import _m0 from "protobufjs/minimal"; import { Bundle, BundleResult } from "./bundle"; export const protobufPackage = "searcher"; export interface SlotList { slots: number[]; } export interface ConnectedLeadersResponse { /** Mapping of validator pubkey to leader slots for the current epoch. */ connectedValidators: { [key: string]: SlotList }; } export interface ConnectedLeadersResponse_ConnectedValidatorsEntry { key: string; value: SlotList | undefined; } export interface SendBundleRequest { bundle: Bundle | undefined; } export interface SendBundleResponse { /** server uuid for the bundle */ uuid: string; } export interface NextScheduledLeaderRequest { /** Defaults to the currently connected region if no region provided. */ regions: string[]; } export interface NextScheduledLeaderResponse { /** the current slot the backend is on */ currentSlot: number; /** the slot of the next leader */ nextLeaderSlot: number; /** the identity pubkey (base58) of the next leader */ nextLeaderIdentity: string; /** the block engine region of the next leader */ nextLeaderRegion: string; } export interface ConnectedLeadersRequest { } export interface ConnectedLeadersRegionedRequest { /** Defaults to the currently connected region if no region provided. */ regions: string[]; } export interface ConnectedLeadersRegionedResponse { connectedValidators: { [key: string]: ConnectedLeadersResponse }; } export interface ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { key: string; value: ConnectedLeadersResponse | undefined; } export interface GetTipAccountsRequest { } export interface GetTipAccountsResponse { accounts: string[]; } export interface SubscribeBundleResultsRequest { } export interface GetRegionsRequest { } export interface GetRegionsResponse { /** The region the client is currently connected to */ currentRegion: string; /** * Regions that are online and ready for connections * All regions: https://jito-labs.gitbook.io/mev/systems/connecting/mainnet */ availableRegions: string[]; } function createBaseSlotList(): SlotList { return { slots: [] }; } export const SlotList = { encode(message: SlotList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { writer.uint32(10).fork(); for (const v of message.slots) { writer.uint64(v); } writer.ldelim(); return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SlotList { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSlotList(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: if ((tag & 7) === 2) { const end2 = reader.uint32() + reader.pos; while (reader.pos < end2) { message.slots.push(longToNumber(reader.uint64() as Long)); } } else { message.slots.push(longToNumber(reader.uint64() as Long)); } break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SlotList { return { slots: Array.isArray(object?.slots) ? object.slots.map((e: any) => Number(e)) : [] }; }, toJSON(message: SlotList): unknown { const obj: any = {}; if (message.slots) { obj.slots = message.slots.map((e) => Math.round(e)); } else { obj.slots = []; } return obj; }, create<I extends Exact<DeepPartial<SlotList>, I>>(base?: I): SlotList { return SlotList.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SlotList>, I>>(object: I): SlotList { const message = createBaseSlotList(); message.slots = object.slots?.map((e) => e) || []; return message; }, }; function createBaseConnectedLeadersResponse(): ConnectedLeadersResponse { return { connectedValidators: {} }; } export const ConnectedLeadersResponse = { encode(message: ConnectedLeadersResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { Object.entries(message.connectedValidators).forEach(([key, value]) => { ConnectedLeadersResponse_ConnectedValidatorsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()) .ldelim(); }); return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: const entry1 = ConnectedLeadersResponse_ConnectedValidatorsEntry.decode(reader, reader.uint32()); if (entry1.value !== undefined) { message.connectedValidators[entry1.key] = entry1.value; } break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ConnectedLeadersResponse { return { connectedValidators: isObject(object.connectedValidators) ? Object.entries(object.connectedValidators).reduce<{ [key: string]: SlotList }>((acc, [key, value]) => { acc[key] = SlotList.fromJSON(value); return acc; }, {}) : {}, }; }, toJSON(message: ConnectedLeadersResponse): unknown { const obj: any = {}; obj.connectedValidators = {}; if (message.connectedValidators) { Object.entries(message.connectedValidators).forEach(([k, v]) => { obj.connectedValidators[k] = SlotList.toJSON(v); }); } return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersResponse>, I>>(base?: I): ConnectedLeadersResponse { return ConnectedLeadersResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersResponse>, I>>(object: I): ConnectedLeadersResponse { const message = createBaseConnectedLeadersResponse(); message.connectedValidators = Object.entries(object.connectedValidators ?? {}).reduce<{ [key: string]: SlotList }>( (acc, [key, value]) => { if (value !== undefined) { acc[key] = SlotList.fromPartial(value); } return acc; }, {}, ); return message; }, }; function createBaseConnectedLeadersResponse_ConnectedValidatorsEntry(): ConnectedLeadersResponse_ConnectedValidatorsEntry { return { key: "", value: undefined }; } export const ConnectedLeadersResponse_ConnectedValidatorsEntry = { encode( message: ConnectedLeadersResponse_ConnectedValidatorsEntry, writer: _m0.Writer = _m0.Writer.create(), ): _m0.Writer { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { SlotList.encode(message.value, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersResponse_ConnectedValidatorsEntry { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersResponse_ConnectedValidatorsEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.value = SlotList.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ConnectedLeadersResponse_ConnectedValidatorsEntry { return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object.value) ? SlotList.fromJSON(object.value) : undefined, }; }, toJSON(message: ConnectedLeadersResponse_ConnectedValidatorsEntry): unknown { const obj: any = {}; message.key !== undefined && (obj.key = message.key); message.value !== undefined && (obj.value = message.value ? SlotList.toJSON(message.value) : undefined); return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersResponse_ConnectedValidatorsEntry>, I>>( base?: I, ): ConnectedLeadersResponse_ConnectedValidatorsEntry { return ConnectedLeadersResponse_ConnectedValidatorsEntry.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersResponse_ConnectedValidatorsEntry>, I>>( object: I, ): ConnectedLeadersResponse_ConnectedValidatorsEntry { const message = createBaseConnectedLeadersResponse_ConnectedValidatorsEntry(); message.key = object.key ?? ""; message.value = (object.value !== undefined && object.value !== null) ? SlotList.fromPartial(object.value) : undefined; return message; }, }; function createBaseSendBundleRequest(): SendBundleRequest { return { bundle: undefined }; } export const SendBundleRequest = { encode(message: SendBundleRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.bundle !== undefined) { Bundle.encode(message.bundle, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SendBundleRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSendBundleRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bundle = Bundle.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SendBundleRequest { return { bundle: isSet(object.bundle) ? Bundle.fromJSON(object.bundle) : undefined }; }, toJSON(message: SendBundleRequest): unknown { const obj: any = {}; message.bundle !== undefined && (obj.bundle = message.bundle ? Bundle.toJSON(message.bundle) : undefined); return obj; }, create<I extends Exact<DeepPartial<SendBundleRequest>, I>>(base?: I): SendBundleRequest { return SendBundleRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SendBundleRequest>, I>>(object: I): SendBundleRequest { const message = createBaseSendBundleRequest(); message.bundle = (object.bundle !== undefined && object.bundle !== null) ? Bundle.fromPartial(object.bundle) : undefined; return message; }, }; function createBaseSendBundleResponse(): SendBundleResponse { return { uuid: "" }; } export const SendBundleResponse = { encode(message: SendBundleResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.uuid !== "") { writer.uint32(10).string(message.uuid); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SendBundleResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSendBundleResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.uuid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SendBundleResponse { return { uuid: isSet(object.uuid) ? String(object.uuid) : "" }; }, toJSON(message: SendBundleResponse): unknown { const obj: any = {}; message.uuid !== undefined && (obj.uuid = message.uuid); return obj; }, create<I extends Exact<DeepPartial<SendBundleResponse>, I>>(base?: I): SendBundleResponse { return SendBundleResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SendBundleResponse>, I>>(object: I): SendBundleResponse { const message = createBaseSendBundleResponse(); message.uuid = object.uuid ?? ""; return message; }, }; function createBaseNextScheduledLeaderRequest(): NextScheduledLeaderRequest { return { regions: [] }; } export const NextScheduledLeaderRequest = { encode(message: NextScheduledLeaderRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { for (const v of message.regions) { writer.uint32(10).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): NextScheduledLeaderRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNextScheduledLeaderRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.regions.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): NextScheduledLeaderRequest { return { regions: Array.isArray(object?.regions) ? object.regions.map((e: any) => String(e)) : [] }; }, toJSON(message: NextScheduledLeaderRequest): unknown { const obj: any = {}; if (message.regions) { obj.regions = message.regions.map((e) => e); } else { obj.regions = []; } return obj; }, create<I extends Exact<DeepPartial<NextScheduledLeaderRequest>, I>>(base?: I): NextScheduledLeaderRequest { return NextScheduledLeaderRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<NextScheduledLeaderRequest>, I>>(object: I): NextScheduledLeaderRequest { const message = createBaseNextScheduledLeaderRequest(); message.regions = object.regions?.map((e) => e) || []; return message; }, }; function createBaseNextScheduledLeaderResponse(): NextScheduledLeaderResponse { return { currentSlot: 0, nextLeaderSlot: 0, nextLeaderIdentity: "", nextLeaderRegion: "" }; } export const NextScheduledLeaderResponse = { encode(message: NextScheduledLeaderResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.currentSlot !== 0) { writer.uint32(8).uint64(message.currentSlot); } if (message.nextLeaderSlot !== 0) { writer.uint32(16).uint64(message.nextLeaderSlot); } if (message.nextLeaderIdentity !== "") { writer.uint32(26).string(message.nextLeaderIdentity); } if (message.nextLeaderRegion !== "") { writer.uint32(34).string(message.nextLeaderRegion); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): NextScheduledLeaderResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNextScheduledLeaderResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currentSlot = longToNumber(reader.uint64() as Long); break; case 2: message.nextLeaderSlot = longToNumber(reader.uint64() as Long); break; case 3: message.nextLeaderIdentity = reader.string(); break; case 4: message.nextLeaderRegion = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): NextScheduledLeaderResponse { return { currentSlot: isSet(object.currentSlot) ? Number(object.currentSlot) : 0, nextLeaderSlot: isSet(object.nextLeaderSlot) ? Number(object.nextLeaderSlot) : 0, nextLeaderIdentity: isSet(object.nextLeaderIdentity) ? String(object.nextLeaderIdentity) : "", nextLeaderRegion: isSet(object.nextLeaderRegion) ? String(object.nextLeaderRegion) : "", }; }, toJSON(message: NextScheduledLeaderResponse): unknown { const obj: any = {}; message.currentSlot !== undefined && (obj.currentSlot = Math.round(message.currentSlot)); message.nextLeaderSlot !== undefined && (obj.nextLeaderSlot = Math.round(message.nextLeaderSlot)); message.nextLeaderIdentity !== undefined && (obj.nextLeaderIdentity = message.nextLeaderIdentity); message.nextLeaderRegion !== undefined && (obj.nextLeaderRegion = message.nextLeaderRegion); return obj; }, create<I extends Exact<DeepPartial<NextScheduledLeaderResponse>, I>>(base?: I): NextScheduledLeaderResponse { return NextScheduledLeaderResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<NextScheduledLeaderResponse>, I>>(object: I): NextScheduledLeaderResponse { const message = createBaseNextScheduledLeaderResponse(); message.currentSlot = object.currentSlot ?? 0; message.nextLeaderSlot = object.nextLeaderSlot ?? 0; message.nextLeaderIdentity = object.nextLeaderIdentity ?? ""; message.nextLeaderRegion = object.nextLeaderRegion ?? ""; return message; }, }; function createBaseConnectedLeadersRequest(): ConnectedLeadersRequest { return {}; } export const ConnectedLeadersRequest = { encode(_: ConnectedLeadersRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): ConnectedLeadersRequest { return {}; }, toJSON(_: ConnectedLeadersRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersRequest>, I>>(base?: I): ConnectedLeadersRequest { return ConnectedLeadersRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRequest>, I>>(_: I): ConnectedLeadersRequest { const message = createBaseConnectedLeadersRequest(); return message; }, }; function createBaseConnectedLeadersRegionedRequest(): ConnectedLeadersRegionedRequest { return { regions: [] }; } export const ConnectedLeadersRegionedRequest = { encode(message: ConnectedLeadersRegionedRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { for (const v of message.regions) { writer.uint32(10).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersRegionedRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.regions.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ConnectedLeadersRegionedRequest { return { regions: Array.isArray(object?.regions) ? object.regions.map((e: any) => String(e)) : [] }; }, toJSON(message: ConnectedLeadersRegionedRequest): unknown { const obj: any = {}; if (message.regions) { obj.regions = message.regions.map((e) => e); } else { obj.regions = []; } return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersRegionedRequest>, I>>(base?: I): ConnectedLeadersRegionedRequest { return ConnectedLeadersRegionedRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedRequest>, I>>( object: I, ): ConnectedLeadersRegionedRequest { const message = createBaseConnectedLeadersRegionedRequest(); message.regions = object.regions?.map((e) => e) || []; return message; }, }; function createBaseConnectedLeadersRegionedResponse(): ConnectedLeadersRegionedResponse { return { connectedValidators: {} }; } export const ConnectedLeadersRegionedResponse = { encode(message: ConnectedLeadersRegionedResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { Object.entries(message.connectedValidators).forEach(([key, value]) => { ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry.encode( { key: key as any, value }, writer.uint32(10).fork(), ).ldelim(); }); return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersRegionedResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: const entry1 = ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry.decode(reader, reader.uint32()); if (entry1.value !== undefined) { message.connectedValidators[entry1.key] = entry1.value; } break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ConnectedLeadersRegionedResponse { return { connectedValidators: isObject(object.connectedValidators) ? Object.entries(object.connectedValidators).reduce<{ [key: string]: ConnectedLeadersResponse }>( (acc, [key, value]) => { acc[key] = ConnectedLeadersResponse.fromJSON(value); return acc; }, {}, ) : {}, }; }, toJSON(message: ConnectedLeadersRegionedResponse): unknown { const obj: any = {}; obj.connectedValidators = {}; if (message.connectedValidators) { Object.entries(message.connectedValidators).forEach(([k, v]) => { obj.connectedValidators[k] = ConnectedLeadersResponse.toJSON(v); }); } return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse>, I>>( base?: I, ): ConnectedLeadersRegionedResponse { return ConnectedLeadersRegionedResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse>, I>>( object: I, ): ConnectedLeadersRegionedResponse { const message = createBaseConnectedLeadersRegionedResponse(); message.connectedValidators = Object.entries(object.connectedValidators ?? {}).reduce< { [key: string]: ConnectedLeadersResponse } >((acc, [key, value]) => { if (value !== undefined) { acc[key] = ConnectedLeadersResponse.fromPartial(value); } return acc; }, {}); return message; }, }; function createBaseConnectedLeadersRegionedResponse_ConnectedValidatorsEntry(): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { return { key: "", value: undefined }; } export const ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry = { encode( message: ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry, writer: _m0.Writer = _m0.Writer.create(), ): _m0.Writer { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { ConnectedLeadersResponse.encode(message.value, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConnectedLeadersRegionedResponse_ConnectedValidatorsEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.value = ConnectedLeadersResponse.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object.value) ? ConnectedLeadersResponse.fromJSON(object.value) : undefined, }; }, toJSON(message: ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry): unknown { const obj: any = {}; message.key !== undefined && (obj.key = message.key); message.value !== undefined && (obj.value = message.value ? ConnectedLeadersResponse.toJSON(message.value) : undefined); return obj; }, create<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry>, I>>( base?: I, ): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { return ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry>, I>>( object: I, ): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry { const message = createBaseConnectedLeadersRegionedResponse_ConnectedValidatorsEntry(); message.key = object.key ?? ""; message.value = (object.value !== undefined && object.value !== null) ? ConnectedLeadersResponse.fromPartial(object.value) : undefined; return message; }, }; function createBaseGetTipAccountsRequest(): GetTipAccountsRequest { return {}; } export const GetTipAccountsRequest = { encode(_: GetTipAccountsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetTipAccountsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetTipAccountsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): GetTipAccountsRequest { return {}; }, toJSON(_: GetTipAccountsRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<GetTipAccountsRequest>, I>>(base?: I): GetTipAccountsRequest { return GetTipAccountsRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetTipAccountsRequest>, I>>(_: I): GetTipAccountsRequest { const message = createBaseGetTipAccountsRequest(); return message; }, }; function createBaseGetTipAccountsResponse(): GetTipAccountsResponse { return { accounts: [] }; } export const GetTipAccountsResponse = { encode(message: GetTipAccountsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { for (const v of message.accounts) { writer.uint32(10).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetTipAccountsResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetTipAccountsResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.accounts.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetTipAccountsResponse { return { accounts: Array.isArray(object?.accounts) ? object.accounts.map((e: any) => String(e)) : [] }; }, toJSON(message: GetTipAccountsResponse): unknown { const obj: any = {}; if (message.accounts) { obj.accounts = message.accounts.map((e) => e); } else { obj.accounts = []; } return obj; }, create<I extends Exact<DeepPartial<GetTipAccountsResponse>, I>>(base?: I): GetTipAccountsResponse { return GetTipAccountsResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetTipAccountsResponse>, I>>(object: I): GetTipAccountsResponse { const message = createBaseGetTipAccountsResponse(); message.accounts = object.accounts?.map((e) => e) || []; return message; }, }; function createBaseSubscribeBundleResultsRequest(): SubscribeBundleResultsRequest { return {}; } export const SubscribeBundleResultsRequest = { encode(_: SubscribeBundleResultsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeBundleResultsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSubscribeBundleResultsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): SubscribeBundleResultsRequest { return {}; }, toJSON(_: SubscribeBundleResultsRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<SubscribeBundleResultsRequest>, I>>(base?: I): SubscribeBundleResultsRequest { return SubscribeBundleResultsRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<SubscribeBundleResultsRequest>, I>>(_: I): SubscribeBundleResultsRequest { const message = createBaseSubscribeBundleResultsRequest(); return message; }, }; function createBaseGetRegionsRequest(): GetRegionsRequest { return {}; } export const GetRegionsRequest = { encode(_: GetRegionsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetRegionsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetRegionsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): GetRegionsRequest { return {}; }, toJSON(_: GetRegionsRequest): unknown { const obj: any = {}; return obj; }, create<I extends Exact<DeepPartial<GetRegionsRequest>, I>>(base?: I): GetRegionsRequest { return GetRegionsRequest.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetRegionsRequest>, I>>(_: I): GetRegionsRequest { const message = createBaseGetRegionsRequest(); return message; }, }; function createBaseGetRegionsResponse(): GetRegionsResponse { return { currentRegion: "", availableRegions: [] }; } export const GetRegionsResponse = { encode(message: GetRegionsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.currentRegion !== "") { writer.uint32(10).string(message.currentRegion); } for (const v of message.availableRegions) { writer.uint32(18).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetRegionsResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetRegionsResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currentRegion = reader.string(); break; case 2: message.availableRegions.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetRegionsResponse { return { currentRegion: isSet(object.currentRegion) ? String(object.currentRegion) : "", availableRegions: Array.isArray(object?.availableRegions) ? object.availableRegions.map((e: any) => String(e)) : [], }; }, toJSON(message: GetRegionsResponse): unknown { const obj: any = {}; message.currentRegion !== undefined && (obj.currentRegion = message.currentRegion); if (message.availableRegions) { obj.availableRegions = message.availableRegions.map((e) => e); } else { obj.availableRegions = []; } return obj; }, create<I extends Exact<DeepPartial<GetRegionsResponse>, I>>(base?: I): GetRegionsResponse { return GetRegionsResponse.fromPartial(base ?? {}); }, fromPartial<I extends Exact<DeepPartial<GetRegionsResponse>, I>>(object: I): GetRegionsResponse { const message = createBaseGetRegionsResponse(); message.currentRegion = object.currentRegion ?? ""; message.availableRegions = object.availableRegions?.map((e) => e) || []; return message; }, }; export type SearcherServiceService = typeof SearcherServiceService; export const SearcherServiceService = { /** * Searchers can invoke this endpoint to subscribe to their respective bundle results. * A success result would indicate the bundle won its state auction and was submitted to the validator. */ subscribeBundleResults: { path: "/searcher.SearcherService/SubscribeBundleResults", requestStream: false, responseStream: true, requestSerialize: (value: SubscribeBundleResultsRequest) => Buffer.from(SubscribeBundleResultsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => SubscribeBundleResultsRequest.decode(value), responseSerialize: (value: BundleResult) => Buffer.from(BundleResult.encode(value).finish()), responseDeserialize: (value: Buffer) => BundleResult.decode(value), }, sendBundle: { path: "/searcher.SearcherService/SendBundle", requestStream: false, responseStream: false, requestSerialize: (value: SendBundleRequest) => Buffer.from(SendBundleRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => SendBundleRequest.decode(value), responseSerialize: (value: SendBundleResponse) => Buffer.from(SendBundleResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => SendBundleResponse.decode(value), }, /** Returns the next scheduled leader connected to the block engine. */ getNextScheduledLeader: { path: "/searcher.SearcherService/GetNextScheduledLeader", requestStream: false, responseStream: false, requestSerialize: (value: NextScheduledLeaderRequest) => Buffer.from(NextScheduledLeaderRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => NextScheduledLeaderRequest.decode(value), responseSerialize: (value: NextScheduledLeaderResponse) => Buffer.from(NextScheduledLeaderResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => NextScheduledLeaderResponse.decode(value), }, /** Returns leader slots for connected jito validators during the current epoch. Only returns data for this region. */ getConnectedLeaders: { path: "/searcher.SearcherService/GetConnectedLeaders", requestStream: false, responseStream: false, requestSerialize: (value: ConnectedLeadersRequest) => Buffer.from(ConnectedLeadersRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => ConnectedLeadersRequest.decode(value), responseSerialize: (value: ConnectedLeadersResponse) => Buffer.from(ConnectedLeadersResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => ConnectedLeadersResponse.decode(value), }, /** Returns leader slots for connected jito validators during the current epoch. */ getConnectedLeadersRegioned: { path: "/searcher.SearcherService/GetConnectedLeadersRegioned", requestStream: false, responseStream: false, requestSerialize: (value: ConnectedLeadersRegionedRequest) => Buffer.from(ConnectedLeadersRegionedRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => ConnectedLeadersRegionedRequest.decode(value), responseSerialize: (value: ConnectedLeadersRegionedResponse) => Buffer.from(ConnectedLeadersRegionedResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => ConnectedLeadersRegionedResponse.decode(value), }, /** Returns the tip accounts searchers shall transfer funds to for the leader to claim. */ getTipAccounts: { path: "/searcher.SearcherService/GetTipAccounts", requestStream: false, responseStream: false, requestSerialize: (value: GetTipAccountsRequest) => Buffer.from(GetTipAccountsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => GetTipAccountsRequest.decode(value), responseSerialize: (value: GetTipAccountsResponse) => Buffer.from(GetTipAccountsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => GetTipAccountsResponse.decode(value), }, /** Returns region the client is directly connected to, along with all available regions */ getRegions: { path: "/searcher.SearcherService/GetRegions", requestStream: false, responseStream: false, requestSerialize: (value: GetRegionsRequest) => Buffer.from(GetRegionsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => GetRegionsRequest.decode(value), responseSerialize: (value: GetRegionsResponse) => Buffer.from(GetRegionsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => GetRegionsResponse.decode(value), }, } as const; export interface SearcherServiceServer extends UntypedServiceImplementation { /** * Searchers can invoke this endpoint to subscribe to their respective bundle results. * A success result would indicate the bundle won its state auction and was submitted to the validator. */ subscribeBundleResults: handleServerStreamingCall<SubscribeBundleResultsRequest, BundleResult>; sendBundle: handleUnaryCall<SendBundleRequest, SendBundleResponse>; /** Returns the next scheduled leader connected to the block engine. */ getNextScheduledLeader: handleUnaryCall<NextScheduledLeaderRequest, NextScheduledLeaderResponse>; /** Returns leader slots for connected jito validators during the current epoch. Only returns data for this region. */ getConnectedLeaders: handleUnaryCall<ConnectedLeadersRequest, ConnectedLeadersResponse>; /** Returns leader slots for connected jito validators during the current epoch. */ getConnectedLeadersRegioned: handleUnaryCall<ConnectedLeadersRegionedRequest, ConnectedLeadersRegionedResponse>; /** Returns the tip accounts searchers shall transfer funds to for the leader to claim. */ getTipAccounts: handleUnaryCall<GetTipAccountsRequest, GetTipAccountsResponse>; /** Returns region the client is directly connected to, along with all available regions */ getRegions: handleUnaryCall<GetRegionsRequest, GetRegionsResponse>; } export interface SearcherServiceClient extends Client { /** * Searchers can invoke this endpoint to subscribe to their respective bundle results. * A success result would indicate the bundle won its state auction and was submitted to the validator. */ subscribeBundleResults( request: SubscribeBundleResultsRequest, options?: Partial<CallOptions>, ): ClientReadableStream<BundleResult>; subscribeBundleResults( request: SubscribeBundleResultsRequest, metadata?: Metadata, options?: Partial<CallOptions>, ): ClientReadableStream<BundleResult>; sendBundle( request: SendBundleRequest, callback: (error: ServiceError | null, response: SendBundleResponse) => void, ): ClientUnaryCall; sendBundle( request: SendBundleRequest, metadata: Metadata, callback: (error: ServiceError | null, response: SendBundleResponse) => void, ): ClientUnaryCall; sendBundle( request: SendBundleRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: SendBundleResponse) => void, ): ClientUnaryCall; /** Returns the next scheduled leader connected to the block engine. */ getNextScheduledLeader( request: NextScheduledLeaderRequest, callback: (error: ServiceError | null, response: NextScheduledLeaderResponse) => void, ): ClientUnaryCall; getNextScheduledLeader( request: NextScheduledLeaderRequest, metadata: Metadata, callback: (error: ServiceError | null, response: NextScheduledLeaderResponse) => void, ): ClientUnaryCall; getNextScheduledLeader( request: NextScheduledLeaderRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: NextScheduledLeaderResponse) => void, ): ClientUnaryCall; /** Returns leader slots for connected jito validators during the current epoch. Only returns data for this region. */ getConnectedLeaders( request: ConnectedLeadersRequest, callback: (error: ServiceError | null, response: ConnectedLeadersResponse) => void, ): ClientUnaryCall; getConnectedLeaders( request: ConnectedLeadersRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ConnectedLeadersResponse) => void, ): ClientUnaryCall; getConnectedLeaders( request: ConnectedLeadersRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ConnectedLeadersResponse) => void, ): ClientUnaryCall; /** Returns leader slots for connected jito validators during the current epoch. */ getConnectedLeadersRegioned( request: ConnectedLeadersRegionedRequest, callback: (error: ServiceError | null, response: ConnectedLeadersRegionedResponse) => void, ): ClientUnaryCall; getConnectedLeadersRegioned( request: ConnectedLeadersRegionedRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ConnectedLeadersRegionedResponse) => void, ): ClientUnaryCall; getConnectedLeadersRegioned( request: ConnectedLeadersRegionedRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ConnectedLeadersRegionedResponse) => void, ): ClientUnaryCall; /** Returns the tip accounts searchers shall transfer funds to for the leader to claim. */ getTipAccounts( request: GetTipAccountsRequest, callback: (error: ServiceError | null, response: GetTipAccountsResponse) => void, ): ClientUnaryCall; getTipAccounts( request: GetTipAccountsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetTipAccountsResponse) => void, ): ClientUnaryCall; getTipAccounts( request: GetTipAccountsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetTipAccountsResponse) => void, ): ClientUnaryCall; /** Returns region the client is directly connected to, along with all available regions */ getRegions( request: GetRegionsRequest, callback: (error: ServiceError | null, response: GetRegionsResponse) => void, ): ClientUnaryCall; getRegions( request: GetRegionsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetRegionsResponse) => void, ): ClientUnaryCall; getRegions( request: GetRegionsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetRegionsResponse) => void, ): ClientUnaryCall; } export const SearcherServiceClient = makeGenericClientConstructor( SearcherServiceService, "searcher.SearcherService", ) as unknown as { new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): SearcherServiceClient; service: typeof SearcherServiceService; }; declare var self: any | undefined; declare var window: any | undefined; declare var global: any | undefined; var tsProtoGlobalThis: any = (() => { if (typeof globalThis !== "undefined") { return globalThis; } if (typeof self !== "undefined") { return self; } if (typeof window !== "undefined") { return window; } if (typeof global !== "undefined") { return global; } throw "Unable to locate global object"; })(); 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 longToNumber(long: Long): number { if (long.gt(Number.MAX_SAFE_INTEGER)) { throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); } return long.toNumber(); } if (_m0.util.Long !== Long) { _m0.util.Long = Long as any; _m0.configure(); } function isObject(value: any): boolean { return typeof value === "object" && value !== null; } function isSet(value: any): boolean { return value !== null && value !== undefined; }