@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
28 lines (27 loc) • 1.2 kB
TypeScript
/// <reference types="node" />
import { DataAndSlot, OracleEvents, OracleAccountSubscriber } from './types';
import { Program } from '@coral-xyz/anchor';
import StrictEventEmitter from 'strict-event-emitter-types';
import { EventEmitter } from 'events';
import { PublicKey } from '@solana/web3.js';
import { BulkAccountLoader } from './bulkAccountLoader';
import { OracleClient, OraclePriceData } from '../oracles/types';
export declare class PollingOracleAccountSubscriber implements OracleAccountSubscriber {
isSubscribed: boolean;
program: Program;
eventEmitter: StrictEventEmitter<EventEmitter, OracleEvents>;
publicKey: PublicKey;
accountLoader: BulkAccountLoader;
oracleClient: OracleClient;
callbackId?: string;
errorCallbackId?: string;
oraclePriceData?: DataAndSlot<OraclePriceData>;
constructor(publicKey: PublicKey, oracleClient: OracleClient, accountLoader: BulkAccountLoader);
subscribe(): Promise<boolean>;
addToAccountLoader(): Promise<void>;
fetch(): Promise<void>;
unsubscribe(): Promise<void>;
assertIsSubscribed(): void;
getOraclePriceData(): DataAndSlot<OraclePriceData>;
didSubscriptionSucceed(): boolean;
}