@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
28 lines (27 loc) • 1.3 kB
TypeScript
/// <reference types="node" />
import { DataAndSlot, UserStatsAccountEvents, UserStatsAccountSubscriber } from './types';
import { PublicKey } from '@solana/web3.js';
import StrictEventEmitter from 'strict-event-emitter-types';
import { EventEmitter } from 'events';
import { UserStatsAccount } from '../types';
/**
* Basic implementation of UserStatsAccountSubscriber. It will only take in UserStatsAccount
* data during initialization and will not fetch or subscribe to updates.
*/
export declare class BasicUserStatsAccountSubscriber implements UserStatsAccountSubscriber {
isSubscribed: boolean;
eventEmitter: StrictEventEmitter<EventEmitter, UserStatsAccountEvents>;
userStatsAccountPublicKey: PublicKey;
callbackId?: string;
errorCallbackId?: string;
userStats: DataAndSlot<UserStatsAccount>;
constructor(userStatsAccountPublicKey: PublicKey, data?: UserStatsAccount, slot?: number);
subscribe(_userStatsAccount?: UserStatsAccount): Promise<boolean>;
addToAccountLoader(): Promise<void>;
fetch(): Promise<void>;
doesAccountExist(): boolean;
unsubscribe(): Promise<void>;
assertIsSubscribed(): void;
getUserStatsAccountAndSlot(): DataAndSlot<UserStatsAccount>;
updateData(userStatsAccount: UserStatsAccount, slot: number): void;
}