UNPKG

@solsdk/jito-ts

Version:

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

339 lines (338 loc) 22.3 kB
import { CallOptions, ChannelCredentials, Client, ClientOptions, ClientReadableStream, ClientUnaryCall, handleServerStreamingCall, handleUnaryCall, Metadata, ServiceError, UntypedServiceImplementation } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { Bundle, BundleResult } from "./bundle"; export declare 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[]; } export declare const SlotList: { encode(message: SlotList, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SlotList; fromJSON(object: any): SlotList; toJSON(message: SlotList): unknown; create<I extends Exact<DeepPartial<SlotList>, I>>(base?: I): SlotList; fromPartial<I extends Exact<DeepPartial<SlotList>, I>>(object: I): SlotList; }; export declare const ConnectedLeadersResponse: { encode(message: ConnectedLeadersResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersResponse; fromJSON(object: any): ConnectedLeadersResponse; toJSON(message: ConnectedLeadersResponse): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersResponse>, I>>(base?: I): ConnectedLeadersResponse; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersResponse>, I>>(object: I): ConnectedLeadersResponse; }; export declare const ConnectedLeadersResponse_ConnectedValidatorsEntry: { encode(message: ConnectedLeadersResponse_ConnectedValidatorsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersResponse_ConnectedValidatorsEntry; fromJSON(object: any): ConnectedLeadersResponse_ConnectedValidatorsEntry; toJSON(message: ConnectedLeadersResponse_ConnectedValidatorsEntry): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersResponse_ConnectedValidatorsEntry>, I>>(base?: I): ConnectedLeadersResponse_ConnectedValidatorsEntry; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersResponse_ConnectedValidatorsEntry>, I>>(object: I): ConnectedLeadersResponse_ConnectedValidatorsEntry; }; export declare const SendBundleRequest: { encode(message: SendBundleRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SendBundleRequest; fromJSON(object: any): SendBundleRequest; toJSON(message: SendBundleRequest): unknown; create<I extends Exact<DeepPartial<SendBundleRequest>, I>>(base?: I): SendBundleRequest; fromPartial<I extends Exact<DeepPartial<SendBundleRequest>, I>>(object: I): SendBundleRequest; }; export declare const SendBundleResponse: { encode(message: SendBundleResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SendBundleResponse; fromJSON(object: any): SendBundleResponse; toJSON(message: SendBundleResponse): unknown; create<I extends Exact<DeepPartial<SendBundleResponse>, I>>(base?: I): SendBundleResponse; fromPartial<I extends Exact<DeepPartial<SendBundleResponse>, I>>(object: I): SendBundleResponse; }; export declare const NextScheduledLeaderRequest: { encode(message: NextScheduledLeaderRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NextScheduledLeaderRequest; fromJSON(object: any): NextScheduledLeaderRequest; toJSON(message: NextScheduledLeaderRequest): unknown; create<I extends Exact<DeepPartial<NextScheduledLeaderRequest>, I>>(base?: I): NextScheduledLeaderRequest; fromPartial<I extends Exact<DeepPartial<NextScheduledLeaderRequest>, I>>(object: I): NextScheduledLeaderRequest; }; export declare const NextScheduledLeaderResponse: { encode(message: NextScheduledLeaderResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NextScheduledLeaderResponse; fromJSON(object: any): NextScheduledLeaderResponse; toJSON(message: NextScheduledLeaderResponse): unknown; create<I extends Exact<DeepPartial<NextScheduledLeaderResponse>, I>>(base?: I): NextScheduledLeaderResponse; fromPartial<I extends Exact<DeepPartial<NextScheduledLeaderResponse>, I>>(object: I): NextScheduledLeaderResponse; }; export declare const ConnectedLeadersRequest: { encode(_: ConnectedLeadersRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRequest; fromJSON(_: any): ConnectedLeadersRequest; toJSON(_: ConnectedLeadersRequest): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersRequest>, I>>(base?: I): ConnectedLeadersRequest; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRequest>, I>>(_: I): ConnectedLeadersRequest; }; export declare const ConnectedLeadersRegionedRequest: { encode(message: ConnectedLeadersRegionedRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedRequest; fromJSON(object: any): ConnectedLeadersRegionedRequest; toJSON(message: ConnectedLeadersRegionedRequest): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersRegionedRequest>, I>>(base?: I): ConnectedLeadersRegionedRequest; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedRequest>, I>>(object: I): ConnectedLeadersRegionedRequest; }; export declare const ConnectedLeadersRegionedResponse: { encode(message: ConnectedLeadersRegionedResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedResponse; fromJSON(object: any): ConnectedLeadersRegionedResponse; toJSON(message: ConnectedLeadersRegionedResponse): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse>, I>>(base?: I): ConnectedLeadersRegionedResponse; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse>, I>>(object: I): ConnectedLeadersRegionedResponse; }; export declare const ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry: { encode(message: ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry; fromJSON(object: any): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry; toJSON(message: ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry): unknown; create<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry>, I>>(base?: I): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry; fromPartial<I extends Exact<DeepPartial<ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry>, I>>(object: I): ConnectedLeadersRegionedResponse_ConnectedValidatorsEntry; }; export declare const GetTipAccountsRequest: { encode(_: GetTipAccountsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetTipAccountsRequest; fromJSON(_: any): GetTipAccountsRequest; toJSON(_: GetTipAccountsRequest): unknown; create<I extends Exact<DeepPartial<GetTipAccountsRequest>, I>>(base?: I): GetTipAccountsRequest; fromPartial<I extends Exact<DeepPartial<GetTipAccountsRequest>, I>>(_: I): GetTipAccountsRequest; }; export declare const GetTipAccountsResponse: { encode(message: GetTipAccountsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetTipAccountsResponse; fromJSON(object: any): GetTipAccountsResponse; toJSON(message: GetTipAccountsResponse): unknown; create<I extends Exact<DeepPartial<GetTipAccountsResponse>, I>>(base?: I): GetTipAccountsResponse; fromPartial<I extends Exact<DeepPartial<GetTipAccountsResponse>, I>>(object: I): GetTipAccountsResponse; }; export declare const SubscribeBundleResultsRequest: { encode(_: SubscribeBundleResultsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeBundleResultsRequest; fromJSON(_: any): SubscribeBundleResultsRequest; toJSON(_: SubscribeBundleResultsRequest): unknown; create<I extends Exact<DeepPartial<SubscribeBundleResultsRequest>, I>>(base?: I): SubscribeBundleResultsRequest; fromPartial<I extends Exact<DeepPartial<SubscribeBundleResultsRequest>, I>>(_: I): SubscribeBundleResultsRequest; }; export declare const GetRegionsRequest: { encode(_: GetRegionsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetRegionsRequest; fromJSON(_: any): GetRegionsRequest; toJSON(_: GetRegionsRequest): unknown; create<I extends Exact<DeepPartial<GetRegionsRequest>, I>>(base?: I): GetRegionsRequest; fromPartial<I extends Exact<DeepPartial<GetRegionsRequest>, I>>(_: I): GetRegionsRequest; }; export declare const GetRegionsResponse: { encode(message: GetRegionsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetRegionsResponse; fromJSON(object: any): GetRegionsResponse; toJSON(message: GetRegionsResponse): unknown; create<I extends Exact<DeepPartial<GetRegionsResponse>, I>>(base?: I): GetRegionsResponse; fromPartial<I extends Exact<DeepPartial<GetRegionsResponse>, I>>(object: I): GetRegionsResponse; }; export type SearcherServiceService = typeof SearcherServiceService; export declare 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. */ readonly subscribeBundleResults: { readonly path: "/searcher.SearcherService/SubscribeBundleResults"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: SubscribeBundleResultsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SubscribeBundleResultsRequest; readonly responseSerialize: (value: BundleResult) => Buffer; readonly responseDeserialize: (value: Buffer) => BundleResult; }; readonly sendBundle: { readonly path: "/searcher.SearcherService/SendBundle"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SendBundleRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SendBundleRequest; readonly responseSerialize: (value: SendBundleResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => SendBundleResponse; }; /** Returns the next scheduled leader connected to the block engine. */ readonly getNextScheduledLeader: { readonly path: "/searcher.SearcherService/GetNextScheduledLeader"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: NextScheduledLeaderRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => NextScheduledLeaderRequest; readonly responseSerialize: (value: NextScheduledLeaderResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => NextScheduledLeaderResponse; }; /** Returns leader slots for connected jito validators during the current epoch. Only returns data for this region. */ readonly getConnectedLeaders: { readonly path: "/searcher.SearcherService/GetConnectedLeaders"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ConnectedLeadersRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ConnectedLeadersRequest; readonly responseSerialize: (value: ConnectedLeadersResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ConnectedLeadersResponse; }; /** Returns leader slots for connected jito validators during the current epoch. */ readonly getConnectedLeadersRegioned: { readonly path: "/searcher.SearcherService/GetConnectedLeadersRegioned"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ConnectedLeadersRegionedRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ConnectedLeadersRegionedRequest; readonly responseSerialize: (value: ConnectedLeadersRegionedResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ConnectedLeadersRegionedResponse; }; /** Returns the tip accounts searchers shall transfer funds to for the leader to claim. */ readonly getTipAccounts: { readonly path: "/searcher.SearcherService/GetTipAccounts"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetTipAccountsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetTipAccountsRequest; readonly responseSerialize: (value: GetTipAccountsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => GetTipAccountsResponse; }; /** Returns region the client is directly connected to, along with all available regions */ readonly getRegions: { readonly path: "/searcher.SearcherService/GetRegions"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetRegionsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetRegionsRequest; readonly responseSerialize: (value: GetRegionsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => GetRegionsResponse; }; }; 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 declare const SearcherServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): SearcherServiceClient; service: typeof SearcherServiceService; }; 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; }; export {};