Open position
Before you want to deposit liquidity, you need to choose an appropriate price range (corresponding to the tick range) to open a position.
There are two situations:
open a position only
open positon and add liquidity (recommended)
In most cases, opening a position and adding liquidity are supposed to be done simultaneously.
1. Open a position only
Use sdk.Position.openPositionTransactionPayload() method.
Function input params
Please refer to the original function for specific parameter types.
poolID: The object id about which pool you want to operation.coinTypeA: the coin type address about coinA.coinTypeB: the coin type address about coinB.tickLower: Represents the index of the lower tick boundary.tickUpper: Represents the index of the upper tick boundary.
Example:
2. Open position with add liquidity
Use sdk.Position.createAddLiquidityFixTokenPayload() method.
Function input params
Please refer to the original function for specific parameter types.
poolID: The object id about which pool you want to operation.coinTypeA: the coin type address about coinA.coinTypeB: the coin type address about coinB.tickLower: Represents the index of the lower tick boundary.tickUpper: Represents the index of the upper tick boundary.
isOpen:truemeans if first add liquidity, so needs open one position.posID: The object id about position.fixAmountA:truemeans fixed coinA amount,falsemeans fixed coinB amountamountA: If fixed amount A, you must setamountA,amountBwill be auto calculated byClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts().amountB: If fixed amount B, you must setamountB,amountAwill be auto calculated byClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts().
slippage: Price slippage point.collectFee: If you already has one position, you can select collect fees while adding liquidity.rewarderCoinTypes: If these not empty, it will collect rewarder in this position, if you already open the position.
Example
Last updated