/// /// import { PublicKey } from '@solana/web3.js'; export declare enum PriceStatus { Unknown = 0, Trading = 1, Halted = 2, Auction = 3, Ignored = 4 } export declare enum CorpAction { NoCorpAct = 0 } export declare enum PriceType { Unknown = 0, Price = 1 } export declare enum DeriveType { Unknown = 0, Volatility = 1 } export declare enum AccountType { Unknown = 0, Mapping = 1, Product = 2, Price = 3, Test = 4, Permission = 5 } export type Base = { magic: number; version: number; type: AccountType; size: number; }; export type MappingData = Base & { nextMappingAccount: PublicKey | null; productAccountKeys: PublicKey[]; }; export type Product = { [index: string]: string; }; export type ProductData = Base & { priceAccountKey: PublicKey | null; product: Product; }; export type Price = { priceComponent: bigint; price: number; confidenceComponent: bigint; confidence: number; status: PriceStatus; corporateAction: CorpAction; publishSlot: number; }; export type PriceComponent = { publisher: PublicKey; aggregate: Price; latest: Price; }; export type Ema = { valueComponent: bigint; value: number; numerator: bigint; denominator: bigint; }; export type PriceData = Base & { priceType: PriceType; exponent: number; numComponentPrices: number; numQuoters: number; lastSlot: bigint; validSlot: bigint; emaPrice: Ema; emaConfidence: Ema; timestamp: bigint; minPublishers: number; drv2: number; drv3: number; drv4: number; productAccountKey: PublicKey; nextPriceAccountKey: PublicKey | null; previousSlot: bigint; previousPriceComponent: bigint; previousPrice: number; previousConfidenceComponent: bigint; previousConfidence: number; previousTimestamp: bigint; priceComponents: PriceComponent[]; aggregate: Price; price: number | undefined; confidence: number | undefined; status: PriceStatus; }; export type PermissionData = Base & { masterAuthority: PublicKey; dataCurationAuthority: PublicKey; securityAuthority: PublicKey; };