/// import { AccountInfo, Connection, PublicKey } from '@solana/web3.js'; import SwitchboardProgram from '@switchboard-xyz/sbv2-lite'; import Big from 'big.js'; import BN from 'bn.js'; import { I80F48, I80F48Dto } from '../numbers/I80F48'; export declare enum OracleProvider { Pyth = 0, Switchboard = 1, Stub = 2 } export declare class StubOracle { publicKey: PublicKey; group: PublicKey; mint: PublicKey; lastUpdateTs: BN; lastUpdateSlot: BN; price: I80F48; deviation: I80F48; static from(publicKey: PublicKey, obj: { group: PublicKey; mint: PublicKey; price: I80F48Dto; lastUpdateTs: BN; lastUpdateSlot: BN; deviation: I80F48Dto; }): StubOracle; constructor(publicKey: PublicKey, group: PublicKey, mint: PublicKey, price: I80F48Dto, lastUpdateTs: BN, lastUpdateSlot: BN, deviation: I80F48Dto); } export declare function parseSwitchboardOracleV1(accountInfo: AccountInfo): { price: number; lastUpdatedSlot: number; uiDeviation: number; }; export declare function switchboardDecimalToBig(sbDecimal: { mantissa: BN; scale: number; }): Big; export declare function parseSwitchboardOracleV2(program: SwitchboardProgram, accountInfo: AccountInfo): { price: number; lastUpdatedSlot: number; uiDeviation: number; }; /** * * @param accountInfo * @returns ui price */ export declare function parseSwitchboardOracle(accountInfo: AccountInfo, connection: Connection): Promise<{ price: number; lastUpdatedSlot: number; uiDeviation: number; }>; export declare function isSwitchboardOracle(accountInfo: AccountInfo): boolean; export declare function isPythOracle(accountInfo: AccountInfo): boolean; export declare function isOracleStaleOrUnconfident(nowSlot: number, maxStalenessSlots: number, oracleLastUpdatedSlot: number | undefined, deviation: I80F48 | undefined, confFilter: I80F48, price: I80F48): boolean; //# sourceMappingURL=oracle.d.ts.map