@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
1 lines • 12.9 kB
Source Map (JSON)
{"version":3,"sources":["../../src/api/type.ts"],"sourcesContent":["import { FarmRewardInfo, FarmVersion } from \"../raydium/farm\";\n\n/* ================= liquidity ================= */\nexport type LiquidityVersion = 4 | 5;\n\nexport interface ApiPoolInfoV4 {\n id: string;\n baseMint: string;\n quoteMint: string;\n lpMint: string;\n baseDecimals: number;\n quoteDecimals: number;\n lpDecimals: number;\n version: 4;\n programId: string;\n authority: string;\n openOrders: string;\n targetOrders: string;\n baseVault: string;\n quoteVault: string;\n withdrawQueue: string;\n lpVault: string;\n marketVersion: 3;\n marketProgramId: string;\n marketId: string;\n marketAuthority: string;\n marketBaseVault: string;\n marketQuoteVault: string;\n marketBids: string;\n marketAsks: string;\n marketEventQueue: string;\n lookupTableAccount: string;\n}\n\n/* ================= farm ================= */\nexport interface FarmRewardInfoV6 {\n rewardMint: string;\n rewardVault: string;\n rewardOpenTime: number;\n rewardEndTime: number;\n rewardPerSecond: number;\n rewardSender: string;\n}\n\nexport interface ApiStakePoolInfo {\n // base\n id: string;\n symbol: string;\n lpMint: string;\n // version\n version: FarmVersion;\n programId: string;\n // keys\n authority: string;\n lpVault: string;\n rewardInfos: FarmRewardInfo[] | FarmRewardInfoV6[];\n // status\n upcoming: boolean;\n}\n\nexport interface ApiClmmConfigInfo {\n id: string;\n index: number;\n protocolFeeRate: number;\n tradeFeeRate: number;\n tickSpacing: number;\n fundFeeRate: number;\n defaultRange: number;\n defaultRangePoint: number[];\n}\n\nexport interface ApiCpmmConfigInfo {\n id: string;\n index: number;\n protocolFeeRate: number;\n tradeFeeRate: number;\n fundFeeRate: number;\n createPoolFee: string;\n creatorFeeRate: number;\n}\n\nexport interface ApiClmmPoolsItemStatistics {\n volume: number;\n volumeFee: number;\n feeA: number;\n feeB: number;\n feeApr: number;\n rewardApr: {\n A: number;\n B: number;\n C: number;\n };\n apr: number;\n priceMin: number;\n priceMax: number;\n}\n\nexport interface CpmmLockInfo {\n name: string;\n symbol: string;\n description: string;\n external_url: string;\n collection: {\n name: string;\n family: string;\n };\n image: string;\n poolInfo: ApiV3PoolInfoStandardItemCpmm;\n positionInfo: {\n tvlPercentage: number;\n usdValue: number;\n amountA: number;\n amountB: number;\n unclaimedFee: {\n lp: number;\n amountA: number;\n amountB: number;\n usdValue: number;\n };\n };\n}\n\n/** ====== v3 api types ======= */\nexport interface ApiV3PageIns<T> {\n count: number;\n hasNextPage: boolean;\n data: T[];\n}\n\nexport enum JupTokenType {\n ALL = \"all\",\n Strict = \"strict\",\n}\nexport type PoolsApiReturn = ApiV3PageIns<ApiV3PoolInfoItem>;\n\nexport interface TransferFeeDataBaseType {\n transferFeeConfigAuthority: string;\n withdrawWithheldAuthority: string;\n withheldAmount: string;\n olderTransferFee: {\n epoch: string;\n maximumFee: string;\n transferFeeBasisPoints: number;\n };\n newerTransferFee: {\n epoch: string;\n maximumFee: string;\n transferFeeBasisPoints: number;\n };\n}\n\nexport type ExtensionsItem = {\n coingeckoId?: string;\n feeConfig?: TransferFeeDataBaseType;\n tips?: {\n icon: string;\n link: string;\n text: string;\n };\n};\n\nexport type ApiV3Token = {\n chainId: number;\n address: string;\n programId: string;\n logoURI: string;\n symbol: string;\n name: string;\n decimals: number;\n tags: string[]; // \"hasFreeze\" | \"hasTransferFee\" | \"token-2022\" | \"community\" | \"unknown\" ..etc\n extensions: ExtensionsItem;\n freezeAuthority?: string;\n mintAuthority?: string;\n};\n\nexport type JupToken = {\n address: string;\n name: string;\n symbol: string;\n decimals: number;\n logoURI: string;\n tags: string[];\n daily_volume: number;\n created_at: string;\n freeze_authority: string | null;\n mint_authority: string | null;\n permanent_delegate: string | null;\n minted_at: string;\n extensions: ExtensionsItem;\n};\n\nexport type ApiV3TokenRes = {\n mintList: ApiV3Token[];\n blacklist: string[];\n whiteList: string[];\n};\n\nexport interface ApiV3PoolInfoCountItem {\n volume: number;\n volumeQuote: number;\n volumeFee: number;\n apr: number;\n feeApr: number;\n priceMin: number;\n priceMax: number;\n rewardApr: number[];\n}\n\ntype PoolTypeItem = \"StablePool\" | \"OpenBookMarket\";\n\ntype FarmRewardInfoOld = {\n mint: ApiV3Token;\n perSecond: number;\n};\n\nexport type PoolFarmRewardInfo = FarmRewardInfoOld & {\n startTime?: number;\n endTime?: number;\n};\n\nexport interface PoolRewardInfoItem {\n mint: ApiV3Token;\n perSecond?: number;\n startTime?: number;\n endTime?: number;\n}\n\nexport interface ApiV3PoolInfoBaseItem {\n programId: string;\n id: string;\n mintA: ApiV3Token;\n mintB: ApiV3Token;\n rewardDefaultInfos: PoolFarmRewardInfo[];\n rewardDefaultPoolInfos: \"Ecosystem\" | \"Fusion\" | \"Raydium\" | \"Clmm\";\n price: number;\n mintAmountA: number;\n mintAmountB: number;\n feeRate: number;\n openTime: string;\n tvl: number;\n\n day: ApiV3PoolInfoCountItem;\n week: ApiV3PoolInfoCountItem;\n month: ApiV3PoolInfoCountItem;\n pooltype: PoolTypeItem[];\n\n farmUpcomingCount: number;\n farmOngoingCount: number;\n farmFinishedCount: number;\n\n burnPercent: number;\n}\nexport type ApiV3PoolInfoConcentratedItem = ApiV3PoolInfoBaseItem & {\n type: \"Concentrated\";\n config: ApiClmmConfigV3;\n};\nexport type ApiV3PoolInfoStandardItem = ApiV3PoolInfoBaseItem & {\n type: \"Standard\";\n marketId: string;\n configId: string;\n lpPrice: number;\n lpAmount: number;\n lpMint: ApiV3Token;\n};\n\nexport type ApiV3PoolInfoStandardItemCpmm = ApiV3PoolInfoBaseItem & {\n type: \"Standard\";\n lpMint: ApiV3Token;\n lpPrice: number;\n lpAmount: number;\n config: ApiCpmmConfigV3;\n};\n\nexport type ApiV3PoolInfoItem =\n | ApiV3PoolInfoConcentratedItem\n | ApiV3PoolInfoStandardItem\n | ApiV3PoolInfoStandardItemCpmm;\n\nexport enum PoolFetchType {\n All = \"all\",\n Standard = \"standard\",\n Concentrated = \"concentrated\",\n AllFarm = \"allFarm\",\n StandardFarm = \"standardFarm\",\n ConcentratedFarm = \"concentratedFarm\",\n}\n\nexport interface FetchPoolParams {\n type?: PoolFetchType;\n sort?:\n | \"liquidity\"\n | \"volume24h\"\n | \"volume7d\"\n | \"volume30d\"\n | \"fee24h\"\n | \"fee7d\"\n | \"fee30d\"\n | \"apr24h\"\n | \"apr7d\"\n | \"apr30d\";\n order?: \"desc\" | \"asc\";\n pageSize?: number;\n page?: number;\n}\n\n// liquidity line\nexport interface Point {\n time: number;\n liquidity: number;\n}\nexport interface LiquidityLineApi {\n count: number;\n line: Point[];\n}\n\n// pool key\n\ninterface Base {\n programId: string;\n id: string;\n mintA: ApiV3Token;\n mintB: ApiV3Token;\n lookupTableAccount?: string;\n openTime: string;\n vault: { A: string; B: string };\n}\ninterface _Amm {\n authority: string;\n openOrders: string;\n targetOrders: string;\n mintLp: ApiV3Token;\n}\n\ninterface ApiCpmmConfigV3 {\n id: string;\n index: number;\n protocolFeeRate: number;\n tradeFeeRate: number;\n fundFeeRate: number;\n createPoolFee: string;\n}\n\ninterface _Cpmm {\n authority: string;\n mintLp: ApiV3Token;\n config: ApiCpmmConfigV3;\n observationId: string;\n}\ninterface _Market {\n marketProgramId: string;\n marketId: string;\n marketAuthority: string;\n marketBaseVault: string;\n marketQuoteVault: string;\n marketBids: string;\n marketAsks: string;\n marketEventQueue: string;\n}\nexport type AmmV4Keys = Base & _Amm & _Market;\nexport type AmmV5Keys = Base & _Amm & _Market & { modelDataAccount: string };\nexport type CpmmKeys = Base & _Cpmm;\nexport interface ClmmRewardType {\n mint: ApiV3Token;\n vault: string;\n}\nexport type ClmmKeys = Base & {\n config: ApiClmmConfigV3;\n rewardInfos: ClmmRewardType[];\n observationId: string;\n exBitmapAccount: string;\n};\nexport type PoolKeys = AmmV4Keys | AmmV5Keys | ClmmKeys | CpmmKeys;\n\n// clmm config\nexport interface ApiClmmConfigV3 {\n id: string;\n index: number;\n protocolFeeRate: number;\n tradeFeeRate: number;\n tickSpacing: number;\n fundFeeRate: number;\n description: string;\n defaultRange: number;\n defaultRangePoint: number[];\n}\n\nexport interface RpcItemA {\n url: string;\n weight: number;\n batch: boolean;\n name: string;\n}\nexport interface RpcItemB {\n url: string;\n batch: boolean;\n name: string;\n}\n\ntype RpcStrategy = \"speed\" | \"first\";\ntype RpcTypeWeight = { strategy: \"weight\"; rpcs: RpcItemA[] };\ntype RpcTypeOther = { strategy: RpcStrategy; rpcs: RpcItemB[] };\nexport type RpcType = RpcTypeWeight | RpcTypeOther;\n\nexport type FarmRewardTypeV6Key = \"Standard SPL\" | \"Option tokens\";\n\nexport interface RewardKeyInfoV345 {\n mint: ApiV3Token;\n vault: string;\n type: FarmRewardTypeV6Key;\n perSecond: number;\n perBlock: number;\n}\nexport interface RewardKeyInfoV6 {\n mint: ApiV3Token;\n vault: string;\n type: FarmRewardTypeV6Key;\n perSecond: number;\n openTime: string;\n endTime: string;\n sender: string;\n}\ninterface FormatFarmKeyOutBase {\n programId: string;\n id: string;\n symbolMints: ApiV3Token[];\n lpMint: ApiV3Token;\n authority: string;\n lpVault: string;\n}\nexport type FormatFarmKeyOutV345 = FormatFarmKeyOutBase & {\n rewardInfos: RewardKeyInfoV345[];\n};\nexport type FormatFarmKeyOutV6 = FormatFarmKeyOutBase & {\n config: {\n periodMax: number;\n periodMin: number;\n periodExtend: number;\n };\n rewardInfos: RewardKeyInfoV6[];\n};\nexport type FormatFarmKeyOut = FormatFarmKeyOutV345 | FormatFarmKeyOutV6;\n// item page farm info\n// farm info\nexport interface RewardInfoV345 {\n mint: ApiV3Token;\n type: FarmRewardTypeV6Key;\n apr: number;\n perSecond: string;\n}\nexport interface RewardInfoV6 {\n mint: ApiV3Token;\n type: FarmRewardTypeV6Key;\n apr: number;\n perSecond: string;\n openTime: string;\n endTime: string;\n}\nexport type FarmTagsItem = \"Ecosystem\" | \"Farm\" | \"Fusion\" | \"Stake\";\nexport interface FormatFarmInfoOutBase {\n programId: string;\n id: string;\n symbolMints: ApiV3Token[];\n lpMint: ApiV3Token;\n tvl: number;\n lpPrice: number;\n apr: number;\n tags: FarmTagsItem[];\n}\nexport type FormatFarmInfoOutV345 = FormatFarmInfoOutBase & {\n rewardInfos: RewardInfoV345[];\n};\nexport type FormatFarmInfoOutV6 = FormatFarmInfoOutBase & {\n rewardInfos: RewardInfoV6[];\n};\nexport type FormatFarmInfoOut = FormatFarmInfoOutV345 | FormatFarmInfoOutV6;\n\nexport interface AvailabilityCheckAPI3 {\n all: boolean;\n swap: boolean;\n createConcentratedPosition: boolean;\n addConcentratedPosition: boolean;\n addStandardPosition: boolean;\n removeConcentratedPosition: boolean;\n removeStandardPosition: boolean;\n addFarm: boolean;\n removeFarm: boolean;\n}\n\nexport type OwnerCreatedFarmInfo = {\n farm: { id: string; programId: string }[];\n clmm: { id: string; programId: string }[];\n};\n\nexport type OwnerIdoInfo = Record<\n string,\n {\n programId: string;\n poolId: string;\n coin: string;\n pc: string;\n }\n>;\n\nexport type IdoKeysData = {\n programId: string;\n id: string;\n authority: string;\n projectInfo: {\n mint: ApiV3Token;\n vault: string;\n };\n buyInfo: {\n mint: ApiV3Token;\n vault: string;\n };\n};\n\nexport interface ApiStakePool {\n programId: string;\n id: string;\n apr: number;\n lpMint: ApiV3Token;\n lpPrice: number;\n symbolMints: ApiV3Token[];\n tvl: number;\n tags: FarmTagsItem[];\n rewardInfos: RewardInfoV345[];\n}\n\nexport type FarmPositionData = Record<\n string,\n Record<\n string,\n Record<\n string,\n {\n programId: string;\n lpAmount: string;\n version: \"V1\" | \"V2\";\n }\n >\n >\n>;\n\nexport interface ApiLaunchConfig {\n key: {\n name: string;\n pubKey: string;\n epoch: number;\n curveType: number;\n index: number;\n migrateFee: string;\n tradeFeeRate: string;\n maxShareFeeRate: string;\n minSupplyA: string;\n maxLockRate: string;\n minSellRateA: string;\n minMigrateRateA: string;\n minFundRaisingB: string;\n protocolFeeOwner: string;\n migrateFeeOwner: string;\n migrateToAmmWallet: string;\n migrateToCpmmWallet: string;\n mintB: string;\n };\n mintInfoB: ApiV3Token;\n defaultParams: {\n supplyInit: string;\n totalFundRaisingB: string;\n totalSellA: string;\n };\n}\n"],"mappings":"AAiIO,GAAK,GAAL,CAAK,GACV,OAAM,MACN,SAAS,SAFC,WAqJA,EAAL,CAAK,GACV,OAAM,MACN,WAAW,WACX,eAAe,eACf,UAAU,UACV,eAAe,eACf,mBAAmB,mBANT","names":[]}