export interface ApiTime { offset: number } export interface ApiInfo { tvl: number, volume24h: number, totalvolume: number, } export interface ApiPairsItem { name: string, ammId: string, lpMint: string, market: string, liquidity: number, volume24h: number, volume24hQuote: number, fee24h: number, fee24hQuote: number, volume7d: number, volume7dQuote: number, fee7d: number, fee7dQuote: number, volume30d: number, volume30dQuote: number, fee30d: number, fee30dQuote: number, price: number, lpPrice: number, tokenAmountCoin: number, tokenAmountPc: number, tokenAmountLp: number, apr24h: number, apr7d: number, apr30d: number, } export type ApiPairs = ApiPairsItem[] export interface ApiPrice { [mint: string]: number } export interface ApiRpcsItem { url: string, weight: number batch: boolean, name: string } export interface ApiRpcs { rpcs: ApiRpcsItem[], strategy: 'weight' | 'speed' } export interface ApiVersion { latest: string, least: string, } export interface ApiFarmAprV3 { name: string, id: string, version: 3, apr: string, aprA: null, aprB: null, aprC: null, aprD: null, aprE: null, tvl: number, lpPrice: number, } export interface ApiFarmAprV5 { name: string, id: string, version: 5, apr: string, aprA: string, aprB: string, aprC: null, aprD: null, aprE: null, tvl: number, lpPrice: number, } export interface ApiFarmAprV6 { name: string, id: string, version: 3, apr: string, aprA: string, aprB: string, aprC: string, aprD: string, aprE: string, tvl: number, lpPrice: number, } export type ApiFarmApr = ApiFarmAprV3 | ApiFarmAprV5 | ApiFarmAprV6 export interface ApiFarmAprLinePoint { time: number apr: number } export interface ApiFarmAprLine { success: true, data: ApiFarmAprLinePoint[] } export interface ApiTokenInfoItem { symbol: string, name: string, mint: string, decimals: number, extensions: { coingeckoId?: string }, icon: string, hasFreeze: 0 | 1, } export interface ApiTokenInfo { official: ApiTokenInfoItem[] unOfficial: ApiTokenInfoItem[] unNamed: { mint: string, decimals: number, hasFreeze: 0 | 1, }[] blacklist: string[] } export interface ApiPoolInfoV4 { id: string, baseMint: string, quoteMint: string, lpMint: string, baseDecimals: number, quoteDecimals: number, lpDecimals: number, version: 4, programId: string, authority: string, openOrders: string, targetOrders: string, baseVault: string, quoteVault: string, withdrawQueue: string, lpVault: string, marketVersion: 3, marketProgramId: string, marketId: string, marketAuthority: string, marketBaseVault: string, marketQuoteVault: string, marketBids: string, marketAsks: string, marketEventQueue: string, } export interface ApiPoolInfoV5 { id: string, baseMint: string, quoteMint: string, lpMint: string, baseDecimals: number, quoteDecimals: number, lpDecimals: number, version: 5, programId: string, authority: string, openOrders: string, targetOrders: string, baseVault: string, quoteVault: string, withdrawQueue: string, lpVault: string, marketVersion: 3, marketProgramId: string, marketId: string, marketAuthority: string, marketBaseVault: string, marketQuoteVault: string, marketBids: string, marketAsks: string, marketEventQueue: string, modelDataAccount: string, } export type ApiPoolInfoItem = ApiPoolInfoV4 | ApiPoolInfoV5 export interface ApiPoolInfo { official: ApiPoolInfoItem[], unOfficial: ApiPoolInfoItem[], } export interface ApiFarmInfoV3 { id: string, symbol: string, lpMint: string, version: 3, programId: string, authority: string, lpVault: string, rewardInfos: [{ rewardMint: string, rewardVault: string, }], upcoming: boolean } export interface ApiFarmInfoV5 { id: string, symbol: string, baseMint: string, quoteMint: string, lpMint: string, version: 5, programId: string, authority: string, lpVault: string, rewardInfos: [ { rewardMint: string, rewardVault: string, }, { rewardMint: string, rewardVault: string, } ], upcoming: boolean } export interface ApiFarmInfoV6 { id: string, symbol: string, baseMint: string, quoteMint: string, lpMint: string, version: 6, programId: string, authority: string, lpVault: string, rewardPeriodMax: number, rewardPeriodMin: number, rewardPeriodExtend: number, creator: string, rewardInfos: { rewardMint: string, rewardVault: string, rewardOpenTime: number, rewardEndTime: number, rewardPerSecond: number, rewardSender: string, rewardType: 'Standard SPL' | 'Option tokens' }[], upcoming: boolean } export interface ApiFarmInfo { stake: (ApiFarmInfoV3 | ApiFarmInfoV5 | ApiFarmInfoV6)[], raydium: (ApiFarmInfoV3 | ApiFarmInfoV5 | ApiFarmInfoV6)[], fusion: (ApiFarmInfoV3 | ApiFarmInfoV5 | ApiFarmInfoV6)[], ecosystem: (ApiFarmInfoV3 | ApiFarmInfoV5 | ApiFarmInfoV6)[] } export interface ApiIdoInfoItem { id: string, authority: string, projectName: string, projectPosters: string, projectDetailLink: string, baseMint: string, baseVault: string, baseSymbol: string, baseDecimals: number, baseIcon: string, quoteMint: string, quoteVault: string, quoteSymbol: string, quoteDecimals: number, quoteIcon: string, startTime: number, endTime: number, startWithdrawTime: number, withdrawTimeQuote: number, stakeTimeEnd: number, stakeMinSize: number, price: number, raise: number, maxWinLotteries: number, raisedLotteries: number, isWinning: number, luckyNumbers: { digits: number, number: number, endRange: number, }[], version: 3, snapshotVersion: 1, programId: string, snapshotProgramId: string, seedId: string, } export interface ApiIdoInfo { success: boolean, data: ApiIdoInfoItem[] } export interface ApiIdoProjectInfo { info: ApiIdoInfoItem, projectInfo: { projectDetails: string, projectDocs: { [key: string]: string }, projectSocials: { [key: string]: string }, } } // CLMM export interface ApiAmmV3ConfigItem { id: string, index: number, protocolFeeRate: number, tradeFeeRate: number, tickSpacing: number, fundFeeRate: number, fundOwner: string, description: string, } export interface ApiAmmV3Config { data: { [id: string]: ApiAmmV3ConfigItem } } export interface ApiAmmV3PoolsItemStatistics { volume: number volumeFee: number feeA: number feeB: number feeApr: number rewardApr: { A: number, B: number, C: number, }, apr: number, priceMin: number, priceMax: number, } export interface ApiAmmV3PoolsItem { id: string, mintA: string, mintB: string, vaultA: string, vaultB: string, mintDecimalsA: number, mintDecimalsB: number, ammConfig: ApiAmmV3ConfigItem, tvl: number, day: ApiAmmV3PoolsItemStatistics, week: ApiAmmV3PoolsItemStatistics, month: ApiAmmV3PoolsItemStatistics, lookupTableAccount: string } export interface ApiAmmV3Pools { data: ApiAmmV3PoolsItem[] } export interface ApiAmmV3PositionLinePoint { price: number, liquidity: number, } export interface ApiAmmV3PositionLine { data: ApiAmmV3PositionLinePoint[] }