/// /// /// /// import { WebSocketProgramAccountSubscriber } from '../accounts/webSocketProgramAccountSubscriber'; import { SignedMsgOrderId, SignedMsgUserOrdersAccount } from '../types'; import { Commitment, PublicKey } from '@solana/web3.js'; import { ResubOpts } from '../accounts/types'; import { DriftClient } from '../driftClient'; import StrictEventEmitter from 'strict-event-emitter-types'; import { EventEmitter } from 'events'; export interface SignedMsgUserOrdersAccountSubscriberEvents { onAccountUpdate: (activeSignedMsgOrderIds: SignedMsgOrderId[], authorityPubkey: PublicKey, slot: number) => void; newSignedMsgOrderIds: (newSignedMsgOrderIds: SignedMsgOrderId[], authorityPubkey: PublicKey, slot: number) => void; } export declare class SignedMsgUserOrdersAccountSubscriber { protected driftClient: DriftClient; protected commitment: Commitment; protected resubOpts?: ResubOpts; protected resyncTimeoutId?: NodeJS.Timeout; protected resyncIntervalMs?: number; protected decodeFn: (name: string, data: Buffer) => SignedMsgUserOrdersAccount; signedMsgUserOrderAccounts: Map; mostRecentSlot: number; fetchPromise?: Promise; fetchPromiseResolver: () => void; protected subscriber: WebSocketProgramAccountSubscriber; eventEmitter: StrictEventEmitter; constructor({ driftClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }: { driftClient: DriftClient; commitment?: Commitment; resubOpts?: ResubOpts; decodeFn?: (name: string, data: Buffer) => SignedMsgUserOrdersAccount; resyncIntervalMs?: number; }); subscribe(): Promise; fetch(): Promise; tryUpdateSignedMsgUserOrdersAccount(data: Buffer | SignedMsgUserOrdersAccount, dataType: 'buffer' | 'decoded', slot: number, skipEventEmitting?: boolean): void; unsubscribe(): Promise; }