Depositing / withdrawing liquidity
Fetching pool info
import {
ApiV3PoolInfoStandardItemCpmm,
CpmmKeys,
CREATE_CPMM_POOL_PROGRAM,
DEVNET_PROGRAM_ID,
} from '@raydium-io/raydium-sdk-v2'
import { initSdk } from '../config'
const VALID_PROGRAM_ID = new Set([
CREATE_CPMM_POOL_PROGRAM.toBase58(),
DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM.toBase58(),
])
const isValidCpmm = (id: string) => VALID_PROGRAM_ID.has(id)
let poolInfo: ApiV3PoolInfoStandardItemCpmm
let poolKeys: CpmmKeys | undefined
const raydium = await initSdk()
const poolId = 'YOUR_POOL_ID'
if (raydium.cluster === 'mainnet') {
const data = await raydium.api.fetchPoolById({ ids: poolId })
poolInfo = data[0] as ApiV3PoolInfoStandardItemCpmm
if (!isValidCpmm(poolInfo.programId)) throw new Error('target pool is not CPMM pool')
} else {
const data = await raydium.cpmm.getPoolInfoFromRpc(poolId)
poolInfo = data.poolInfo
poolKeys = data.poolKeys
}Depositing liquidity
Computing the paired amount (optional)
Deposit parameters
Parameter
Type
Description
Withdrawing liquidity
Withdraw parameters
Parameter
Type
Description
Last updated
Was this helpful?