import { JsonFileMetaData } from '../common' import { LpTokenInfo } from '../token' // 2 | 3 | 4 export type LiquidityVersion = 4 | 5 export interface LiquidityPoolBaseInfo { readonly id: string readonly lp: LpTokenInfo // don't need version, lp's version is pool's version } /* ================= json file ================= */ export interface LiquidityPoolJsonInfo { // base readonly id: string readonly baseMint: string readonly quoteMint: string readonly lpMint: string readonly baseDecimals: number readonly quoteDecimals: number readonly lpDecimals: number // version readonly version: number readonly programId: string // keys readonly authority: string readonly baseVault: string readonly quoteVault: string readonly lpVault: string readonly openOrders: string readonly targetOrders: string readonly withdrawQueue: string // market version readonly marketVersion: number readonly marketProgramId: string // market keys readonly marketId: string readonly marketAuthority: string readonly marketBaseVault: string readonly marketQuoteVault: string readonly marketBids: string readonly marketAsks: string readonly marketEventQueue: string } export interface LiquidityPoolsJsonFile extends JsonFileMetaData { readonly official: LiquidityPoolJsonInfo[] readonly unOfficial: LiquidityPoolJsonInfo[] }