import { BN } from "@coral-xyz/anchor"; import { PublicKey } from "@solana/web3.js"; export enum DipType { upside = "UPSIDE", downside = "DOWNSIDE", } export enum PricingSource { backstop = "Backstop", streaming = "Streaming", } export type Dip = { apy: number; expiration: string; expirationInt: number; key: string; pk: PublicKey; premium: number; baseMint: PublicKey; quoteMint: PublicKey; strike: number; upOrDown: DipType; pricingSource: PricingSource; }; export type MmPrice = { [addr: string]: { bids: Array<{ price: BN }>; }; }; export type ParsedDipState = { strike: number; expiration: number; baseMint: PublicKey; vaultMint: PublicKey; vaultMintBump: number; vaultBase: PublicKey; vaultBaseBump: number; optionMint: PublicKey; optionBump: number; vaultQuote: PublicKey; vaultQuoteBump: number; quoteMint: PublicKey; dipStateBump: number; };