UNPKG

@drift-labs/sdk

Version:
38 lines 1.72 kB
/// <reference types="node" /> /// <reference types="node" /> import { Commitment, PublicKey } from '@solana/web3.js'; import { BufferAndSlot } from './types'; import { Connection } from '../bankrun/bankrunConnection'; export type AccountToLoad = { publicKey: PublicKey; callbacks: Map<string, (buffer: Buffer, slot: number) => void>; }; export declare class BulkAccountLoader { connection: Connection; commitment: Commitment; pollingFrequency: number; accountsToLoad: Map<string, AccountToLoad>; bufferAndSlotMap: Map<string, BufferAndSlot>; errorCallbacks: Map<string, (e: any) => void>; intervalId?: ReturnType<typeof setTimeout>; loadPromise?: Promise<void>; loadPromiseResolver: () => void; lastTimeLoadingPromiseCleared: number; mostRecentSlot: number; constructor(connection: Connection, commitment: Commitment, pollingFrequency: number); addAccount(publicKey: PublicKey, callback: (buffer: Buffer, slot: number) => void): Promise<string>; removeAccount(publicKey: PublicKey, callbackId: string): void; addErrorCallbacks(callback: (error: Error) => void): string; removeErrorCallbacks(callbackId: string): void; chunks<T>(array: readonly T[], size: number): T[][]; load(): Promise<void>; loadChunk(accountsToLoadChunks: AccountToLoad[][]): Promise<void>; handleAccountCallbacks(accountToLoad: AccountToLoad, buffer: Buffer, slot: number): void; getBufferAndSlot(publicKey: PublicKey): BufferAndSlot | undefined; getSlot(): number; startPolling(): void; stopPolling(): void; log(msg: string): void; updatePollingFrequency(pollingFrequency: number): void; } //# sourceMappingURL=bulkAccountLoader.d.ts.map