LiquidityAmounts
Provides functions for computing liquidity amounts from token amounts and prices
Functionsβ
getLiquidityForAmount0β
  function getLiquidityForAmount0(
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint256 amount0
  ) internal returns (uint128 liquidity)Computes the amount of liquidity received for a given amount of token0 and price range
Calculates amount0 (sqrt(upper) sqrt(lower)) / (sqrt(upper) - sqrt(lower))
Parameters:β
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
amount0
uint256
The amount0 being sent in
Return Values:β
liquidity
uint128
The amount of returned liquidity
getLiquidityForAmount1β
  function getLiquidityForAmount1(
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint256 amount1
  ) internal returns (uint128 liquidity)Computes the amount of liquidity received for a given amount of token1 and price range
Calculates amount1 / (sqrt(upper) - sqrt(lower)).
Parameters:β
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
amount1
uint256
The amount1 being sent in
Return Values:β
liquidity
uint128
The amount of returned liquidity
getLiquidityForAmountsβ
  function getLiquidityForAmounts(
    uint160 sqrtRatioX96,
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint256 amount0,
    uint256 amount1
  ) internal returns (uint128 liquidity)Computes the maximum amount of liquidity received for a given amount of token0, token1, the current pool prices and the prices at the tick boundaries
Parameters:β
sqrtRatioX96
uint160
A sqrt price representing the current pool prices
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
amount0
uint256
The amount of token0 being sent in
amount1
uint256
The amount of token1 being sent in
Return Values:β
liquidity
uint128
The maximum amount of liquidity received
getAmount0ForLiquidityβ
  function getAmount0ForLiquidity(
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint128 liquidity
  ) internal returns (uint256 amount0)Computes the amount of token0 for a given amount of liquidity and a price range
Parameters:β
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
liquidity
uint128
The liquidity being valued
Return Values:β
amount0
uint256
The amount of token0
getAmount1ForLiquidityβ
  function getAmount1ForLiquidity(
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint128 liquidity
  ) internal returns (uint256 amount1)Computes the amount of token1 for a given amount of liquidity and a price range
Parameters:β
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
liquidity
uint128
The liquidity being valued
Return Values:β
amount1
uint256
The amount of token1
getAmountsForLiquidityβ
  function getAmountsForLiquidity(
    uint160 sqrtRatioX96,
    uint160 sqrtRatioAX96,
    uint160 sqrtRatioBX96,
    uint128 liquidity
  ) internal returns (uint256 amount0, uint256 amount1)Computes the token0 and token1 value for a given amount of liquidity, the current pool prices and the prices at the tick boundaries
Parameters:β
sqrtRatioX96
uint160
A sqrt price representing the current pool prices
sqrtRatioAX96
uint160
A sqrt price representing the first tick boundary
sqrtRatioBX96
uint160
A sqrt price representing the second tick boundary
liquidity
uint128
The liquidity being valued
Return Values:β
amount0
uint256
The amount of token0
amount1
uint256
The amount of token1
Last updated
