Skip to main content

Pool

@uniswap/v4-sdk / Pool

Defined in: entities/pool.ts:33

Represents a V4 pool

Constructors

new Pool()

new Pool(currencyA, currencyB, fee, tickSpacing, hooks, sqrtRatioX96, liquidity, tickCurrent, ticks): Pool

Defined in: entities/pool.ts:103

Construct a pool

Parameters

ParameterTypeDefault valueDescription
currencyACurrencyundefinedOne of the currencys in the pool
currencyBCurrencyundefinedThe other currency in the pool
feenumberundefinedThe fee in hundredths of a bips of the input amount of every swap that is collected by the pool
tickSpacingnumberundefinedThe tickSpacing of the pool
hooksstringundefinedThe address of the hook contract
sqrtRatioX96BigintIshundefinedThe sqrt of the current ratio of amounts of currency1 to currency0
liquidityBigintIshundefinedThe current value of in range liquidity
tickCurrentnumberundefinedThe current tick of the pool
ticksTickDataProvider(TickTickConstructorArgs)[]

Returns

Pool

Properties

currency0

readonly currency0: Currency

Defined in: entities/pool.ts:34


currency1

readonly currency1: Currency

Defined in: entities/pool.ts:35


fee

readonly fee: number

Defined in: entities/pool.ts:36


hooks

readonly hooks: string

Defined in: entities/pool.ts:39


liquidity

readonly liquidity: JSBI

Defined in: entities/pool.ts:40


poolId

readonly poolId: string

Defined in: entities/pool.ts:44


poolKey

readonly poolKey: PoolKey

Defined in: entities/pool.ts:43


sqrtRatioX96

readonly sqrtRatioX96: JSBI

Defined in: entities/pool.ts:38


tickCurrent

readonly tickCurrent: number

Defined in: entities/pool.ts:41


tickDataProvider

readonly tickDataProvider: TickDataProvider

Defined in: entities/pool.ts:42


tickSpacing

readonly tickSpacing: number

Defined in: entities/pool.ts:37

Accessors

chainId

Get Signature

get chainId(): number

Defined in: entities/pool.ts:214

Returns the chain ID of the currencies in the pool.

Returns

number


currency0Price

Get Signature

get currency0Price(): Price<Currency, Currency>

Defined in: entities/pool.ts:166

Returns the current mid price of the pool in terms of currency0, i.e. the ratio of currency1 over currency0

Returns

Price<Currency, Currency>


currency1Price

Get Signature

get currency1Price(): Price<Currency, Currency>

Defined in: entities/pool.ts:185

Returns the current mid price of the pool in terms of currency1, i.e. the ratio of currency0 over currency1

Returns

Price<Currency, Currency>


token0

Get Signature

get token0(): Currency

Defined in: entities/pool.ts:143

backwards compatibility with v2/3 sdks

Returns

Currency


token0Price

Get Signature

get token0Price(): Price<Currency, Currency>

Defined in: entities/pool.ts:178

backwards compatibility with v2/3 sdks

Returns

Price<Currency, Currency>


token1

Get Signature

get token1(): Currency

Defined in: entities/pool.ts:146

Returns

Currency


token1Price

Get Signature

get token1Price(): Price<Currency, Currency>

Defined in: entities/pool.ts:197

backwards compatibility with v2/3 sdks

Returns

Price<Currency, Currency>

Methods

getInputAmount()

getInputAmount(outputAmount, sqrtPriceLimitX96?): Promise<[CurrencyAmount<Currency>, Pool]>

Defined in: entities/pool.ts:257

Given a desired output amount of a currency, return the computed input amount and a pool with state updated after the trade Works only for vanilla hookless v3 pools, otherwise throws an error

Parameters

ParameterTypeDescription
outputAmountCurrencyAmount<Currency>the output amount for which to quote the input amount
sqrtPriceLimitX96?JSBIThe Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap

Returns

Promise<[CurrencyAmount<Currency>, Pool]>

The input amount and the pool with updated state


getOutputAmount()

getOutputAmount(inputAmount, sqrtPriceLimitX96?): Promise<[CurrencyAmount<Currency>, Pool]>

Defined in: entities/pool.ts:219

Works only for vanilla hookless v3 pools, otherwise throws an error

Parameters

ParameterType
inputAmountCurrencyAmount<Currency>
sqrtPriceLimitX96?JSBI

Returns

Promise<[CurrencyAmount<Currency>, Pool]>


getPoolId()

static getPoolId(currencyA, currencyB, fee, tickSpacing, hooks): string

Defined in: entities/pool.ts:71

Parameters

ParameterType
currencyACurrency
currencyBCurrency
feenumber
tickSpacingnumber
hooksstring

Returns

string


getPoolKey()

static getPoolKey(currencyA, currencyB, fee, tickSpacing, hooks): PoolKey

Defined in: entities/pool.ts:49

Parameters

ParameterType
currencyACurrency
currencyBCurrency
feenumber
tickSpacingnumber
hooksstring

Returns

PoolKey


involvesCurrency()

involvesCurrency(currency): boolean

Defined in: entities/pool.ts:155

Returns true if the currency is either currency0 or currency1

Parameters

ParameterTypeDescription
currencyCurrencyThe currency to check

Returns

boolean

True if currency is either currency0 or currency1


involvesToken()

involvesToken(currency): boolean

Defined in: entities/pool.ts:159

backwards compatibility with v2/3 sdks

Parameters

ParameterType
currencyCurrency

Returns

boolean


priceOf()

priceOf(currency): Price<Currency, Currency>

Defined in: entities/pool.ts:206

Return the price of the given currency in terms of the other currency in the pool.

Parameters

ParameterTypeDescription
currencyCurrencyThe currency to return price of

Returns

Price<Currency, Currency>

The price of the given currency, in terms of the other.