@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
32 lines (31 loc) • 1.49 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { BufferAndSlot, ProgramAccountSubscriber, ResubOpts } from './types';
import { Program } from '@coral-xyz/anchor';
import { Commitment, Context, KeyedAccountInfo, MemcmpFilter, PublicKey } from '@solana/web3.js';
export declare class WebSocketProgramAccountSubscriber<T> implements ProgramAccountSubscriber<T> {
subscriptionName: string;
accountDiscriminator: string;
bufferAndSlot?: BufferAndSlot;
bufferAndSlotMap: Map<string, BufferAndSlot>;
program: Program;
decodeBuffer: (accountName: string, ix: Buffer) => T;
onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer) => void;
listenerId?: number;
resubOpts?: ResubOpts;
isUnsubscribing: boolean;
timeoutId?: ReturnType<typeof setTimeout>;
options: {
filters: MemcmpFilter[];
commitment?: Commitment;
};
receivingData: boolean;
constructor(subscriptionName: string, accountDiscriminator: string, program: Program, decodeBufferFn: (accountName: string, ix: Buffer) => T, options?: {
filters: MemcmpFilter[];
commitment?: Commitment;
}, resubOpts?: ResubOpts);
subscribe(onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer) => void): Promise<void>;
protected setTimeout(): void;
handleRpcResponse(context: Context, keyedAccountInfo: KeyedAccountInfo): void;
unsubscribe(onResub?: boolean): Promise<void>;
}