Skip to main content

calculateUserPositions

@bidask-protocol/sdk


@bidask-protocol/sdk / calculateUserPositions

Function: calculateUserPositions()

calculateUserPositions(params): UserPositions

Defined in: utils/liquidity/dlmm-position-parser.ts:106

Calculates user positions across all bins based on their LP tokens

Algorithm:

  1. Calculate the ratio of total liquidity to LP supply for each bin
  2. For each bin where user has LP tokens:
    • Calculate price bounds for the bin
    • Calculate raw x and y token amounts
    • Scale down by 2^128 and multiply by the liquidity ratio
    • Store as bigint token amounts

Parameters

params

CalculateUserPositionsParams

Calculation parameters including LP holdings and pool state

Returns

UserPositions

Dictionary mapping bin numbers to user positions (x, y token amounts)