Close Position
1. Close Position
Function Parameters
Important Notes
Example
const pool = await sdk.Pool.getPool(pool_id)
const position = await sdk.Position.getPositionById(pos_id)
const lower_tick = Number(position.tick_lower_index)
const upper_tick = Number(position.tick_upper_index)
const lower_sqrt_price = TickMath.tickIndexToSqrtPriceX64(lower_tick)
const upper_sqrt_price = TickMath.tickIndexToSqrtPriceX64(upper_tick)
const liquidity = new BN(position.liquidity)
const slippage_tolerance = new Percentage(new BN(5), new BN(100))
const cur_sqrt_price = new BN(pool.current_sqrt_price)
const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(liquidity, cur_sqrt_price, lower_sqrt_price, upper_sqrt_price, false)
const { coin_amount_limit_a, coin_amount_limit_b } = adjustForCoinSlippage(coin_amounts, slippage_tolerance, false)
const reward_coin_types = pool.rewarder_infos.map((rewarder) => rewarder.coin_type)
const close_position_payload = await sdk.Position.closePositionPayload({
coin_type_a: pool.coin_type_a,
coin_type_b: pool.coin_type_b,
min_amount_a: coin_amount_limit_a.toString(),
min_amount_b: coin_amount_limit_b.toString(),
rewarder_coin_types: reward_coin_types,
pool_id: pool.id,
pos_id: position_nft_id,
collect_fee: true,
})
const send_key_pair = 'THE_KEY_PAIR_GENERATED_BY_YOUR_PRIVATE_KEY'
const transfer_txn = await sdk.FullClient.executeTx(send_key_pair, close_position_payload, true)Last updated