Liquidity and coin amounts calculation

Liquidity, coin amount, price and tick.

Examples

const poolId = '0xb32fb8ec0b447a833066496bd7251d3a2ee57a0a97c54bf4cc945a986235582a';
const pool = await turbosSdk.pool.getPool(poolId);
const positionId =
  '0xb7efa54832e000dcb8879e586f74cec55623105920c96f5f1ebe78a60f9cbd3b';
const position = await turbosSdk.nft.getPositionFields(positionId);
const [amountA, amountB] = await turbosSdk.pool.getTokenAmountsFromLiquidity({
  currentSqrtPrice: new BN(pool.sqrt_price),
  lowerSqrtPrice: turbosSdk.math.tickIndexToSqrtPriceX64(
    turbosSdk.math.bitsToNumber(position.tick_lower_index.fields.bits),
  ),
  upperSqrtPrice: turbosSdk.math.tickIndexToSqrtPriceX64(
    turbosSdk.math.bitsToNumber(position.tick_upper_index.fields.bits),
  ),
  liquidity: new BN(position.liquidity),
});
console.log(amountA.toString(), amountB.toString());

Last updated