clmm_amount1_delta_x96

Computes the Uniswap v4 SqrtPriceMath currency1 delta between two Q64.96 boundaries. Determica requires non-zero uint128 liquidity; arithmetic is deterministic and NULL propagates.

Example

Local

1
SELECT format_units(
2
clmm_amount1_delta_x96(
3
1771666303844022531703651649114164::UINT256 - 79228162514264337593543950336::UINT256,
4
1771666303844022531703651649114164::UINT256,
5
346116498647157539896::UINT256,
6
false
7
),
8
18
9
) AS weth_amount1;
10
-- => [{"weth_amount1":"346.116498647157539896"}]
Notebook ready in readonly mode.

API reference

Exact signatures with descriptions, requirements, inputs, returns, and examples.

clmm_amount1_delta_x96(UINT256, UINT256, UINT256, BOOLEAN) #

Computes the Uniswap v4 SqrtPriceMath currency1 delta between two Q64.96 boundaries. Determica requires non-zero uint128 liquidity; arithmetic is deterministic and NULL propagates.

Inputs

Name Type Use
sqrt_price_a_x96 UINT256

UINT256 sqrt(currency1/currency0) * 2^96 within the inclusive TickMath bounds.

required positional
sqrt_price_b_x96 UINT256

UINT256 boundary in the same orientation; argument order does not matter.

required positional
liquidity UINT256

UINT256 SQL value restricted by Determica to [1, 2^128 - 1].

required positional
round_up BOOLEAN

BOOLEAN true rounds the required amount1 up; false rounds the received amount down.

required positional

Returns

Name Type
amount1 UINT256

Currency1 delta. UINT256 raw currency1 units computed as liquidity * abs(sqrt_b - sqrt_a) / 2^96. NULL input returns NULL. Invalid sqrt bounds, zero liquidity, liquidity above uint128, or output overflow errors.

Guidance

Uniswap v4-compatible local math boundary

These generic helpers follow Uniswap v4 core TickMath, SqrtPriceMath, SwapMath, and TickBitmap conventions. Q64.96 square-root price means sqrt(currency1 / currency0) * 2^96, using raw token units.

  • Use them as deterministic evidence about one hydrated pool state, price range, bitmap word, or swap step.
  • They do not fetch state, resolve dynamic fees or hooks, cross ticks and update liquidity, iterate bitmap words, apply slippage policy, select routes, produce calldata, or return a complete executable quote.
  • Pin onchain reads before use. The six-argument swap-step fee denominator and the bitmap result diagnostics are Determica extensions, not Uniswap v4 interfaces.

Local SQL

1
WITH bounds AS (
2
SELECT
3
clmm_tick_to_sqrt_price_x96(-60) AS sqrt_price_a_x96,
4
clmm_tick_to_sqrt_price_x96(60) AS sqrt_price_b_x96
5
)
6
SELECT clmm_amount0_delta_x96(
7
sqrt_price_a_x96,
8
sqrt_price_b_x96,
9
1000000::UINT256,
10
false
11
) AS amount0
12
FROM bounds;
Notebook ready in readonly mode.

Related functions

Category and tags

Tag
Clmm Math
Tag
Offline
Tag
Types