Add Liquidity With Fixed Coin
const pool = await sdk.Pool.getPool(poolAddress)
const position = await sdk.Position.getPositionInfo(positionId)
const fix_amount_a = true
const coin_amount = '1000000'
const slippage = 0.1
const curSqrtPrice = new BN(pool.current_sqrt_price)
const tick_lower = position.tick_lower_index
const tick_upper = position.tick_upper_index
const liquidityInput = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(
tick_lower,
tick_upper,
new BN(coin_amount),
fix_amount_a,
true,
slippage,
curSqrtPrice
)
const amount_a = fix_amount_a ? coin_amount : liquidityInput.tokenMaxA.toString()
const amount_b = fix_amount_a ? liquidityInput.tokenMaxB.toString() : coin_amount
// Define parameters for adding liquidity by fixing coin
const params: AddLiquidityFixCoinParams = {
pid: positionId,
fix_amount_a,
offer_amount_a: amount_a,
offer_amount_b: amount_b
}
const payload = sdk.Position.addLiquidityPaylod(params)
const respone = await executeTransaction([payload], sdk, key, false)Last updated