@drift-labs/sdk
Version:
SDK for Drift Protocol
37 lines • 1.66 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { DataAndSlot, AccountSubscriber, ResubOpts, BufferAndSlot } from './types';
import { Program } from '@coral-xyz/anchor';
import { AccountInfoBase, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData, type Commitment } from 'gill';
import { PublicKey } from '@solana/web3.js';
export declare class WebSocketAccountSubscriberV2<T> implements AccountSubscriber<T> {
dataAndSlot?: DataAndSlot<T>;
bufferAndSlot?: BufferAndSlot;
accountName: string;
logAccountName: string;
program: Program;
accountPublicKey: PublicKey;
decodeBufferFn: (buffer: Buffer) => T;
onChange: (data: T) => void;
listenerId?: number;
resubOpts?: ResubOpts;
commitment?: Commitment;
isUnsubscribing: boolean;
timeoutId?: ReturnType<typeof setTimeout>;
receivingData: boolean;
private rpc;
private rpcSubscriptions;
private abortController?;
constructor(accountName: string, program: Program, accountPublicKey: PublicKey, decodeBuffer?: (buffer: Buffer) => T, resubOpts?: ResubOpts, commitment?: Commitment);
private handleNotificationLoop;
subscribe(onChange: (data: T) => void): Promise<void>;
setData(data: T, slot?: number): void;
protected setTimeout(): void;
fetch(): Promise<void>;
handleRpcResponse(context: {
slot: bigint;
}, accountInfo?: AccountInfoBase & (AccountInfoWithBase58EncodedData | AccountInfoWithBase64EncodedData)): void;
decodeBuffer(buffer: Buffer): T;
unsubscribe(onResub?: boolean): Promise<void>;
}
//# sourceMappingURL=webSocketAccountSubscriberV2.d.ts.map