UNPKG

@drift-labs/sdk-browser

Version:
38 lines (37 loc) 1.72 kB
/// <reference types="node" /> /// <reference types="node" /> import { Program } from '@coral-xyz/anchor'; import { Context, PublicKey } from '@solana/web3.js'; import { Client } from '../isomorphic/grpc'; import { DataAndSlot, GrpcConfigs, ResubOpts } from './types'; export declare class grpcMultiAccountSubscriber<T, U = undefined> { private client; private stream; private commitmentLevel; private program; private accountName; private decodeBufferFn?; private resubOpts?; private onUnsubscribe?; listenerId?: number; isUnsubscribing: boolean; private timeoutId?; private receivingData; private subscribedAccounts; private onChangeMap; private dataMap; private accountPropsMap; private bufferMap; private constructor(); static create<T, U = undefined>(grpcConfigs: GrpcConfigs, accountName: string, program: Program, decodeBuffer?: (buffer: Buffer, pubkey?: string, accountProps?: U) => T, resubOpts?: ResubOpts, clientProp?: Client, onUnsubscribe?: () => Promise<void>, accountPropsMap?: Map<string, U | Array<U>>): Promise<grpcMultiAccountSubscriber<T, U>>; setAccountData(accountPubkey: string, data: T, slot?: number): void; getAccountData(accountPubkey: string): DataAndSlot<T> | undefined; getAccountDataMap(): Map<string, DataAndSlot<T>>; fetch(): Promise<void>; subscribe(accounts: PublicKey[], onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer, accountProps: U) => void): Promise<void>; addAccounts(accounts: PublicKey[]): Promise<void>; removeAccounts(accounts: PublicKey[]): Promise<void>; unsubscribe(): Promise<void>; private setTimeout; private capitalize; }