> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gains.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# ILiquidityPool

*Generic interface for liquidity pool methods for fetching observations (to calculate TWAP) and other basic information*

## getTimepoints

```solidity theme={null}
function getTimepoints(uint32[] secondsAgos) external view returns (int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulatives, uint112[] volatilityCumulatives, uint256[] volumePerAvgLiquiditys)
```

*AlgebraPool V1.9 equivalent of Uniswap V3 `observe` function See [https://github.com/cryptoalgebra/AlgebraV1.9/blob/main/src/core/contracts/interfaces/pool/IAlgebraPoolDerivedState.sol](https://github.com/cryptoalgebra/AlgebraV1.9/blob/main/src/core/contracts/interfaces/pool/IAlgebraPoolDerivedState.sol) for more information*

## observe

```solidity theme={null}
function observe(uint32[] secondsAgos) external view returns (int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s)
```

*Uniswap V3 `observe` function See `https://github.com/Uniswap/v3-core/blob/main/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol` for more information*

## token0

```solidity theme={null}
function token0() external view returns (address)
```

The first of the two tokens of the pool, sorted by address

### Return Values

| Name | Type    | Description                |
| ---- | ------- | -------------------------- |
| \[0] | address | The token contract address |

## token1

```solidity theme={null}
function token1() external view returns (address)
```

The second of the two tokens of the pool, sorted by address

### Return Values

| Name | Type    | Description                |
| ---- | ------- | -------------------------- |
| \[0] | address | The token contract address |
