# IAlgebraPoolDerivedState

## IAlgebraPoolDerivedState

Pool state that is not stored Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.

### Functions

#### getTimepoints

`getTimepoints(uint32[])` view external

Returns the cumulative tick and liquidity as of each timestamp \`secondsAgo\` from the current block timestamp

| Name        | Type      | Description                                                                   |
| ----------- | --------- | ----------------------------------------------------------------------------- |
| secondsAgos | uint32\[] | From how long ago each cumulative tick and liquidity value should be returned |

**Returns:**

| Name                           | Type       | Description |
| ------------------------------ | ---------- | ----------- |
| tickCumulatives                | int56\[]   |             |
| secondsPerLiquidityCumulatives | uint160\[] |             |
| volatilityCumulatives          | uint112\[] |             |
| volumePerAvgLiquiditys         | uint256\[] |             |

#### getInnerCumulatives

`getInnerCumulatives(int24,int24)` view external

Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range

| Name       | Type  | Description                 |
| ---------- | ----- | --------------------------- |
| bottomTick | int24 | The lower tick of the range |
| topTick    | int24 | The upper tick of the range |

**Returns:**

| Name                          | Type    | Description |
| ----------------------------- | ------- | ----------- |
| innerTickCumulative           | int56   |             |
| innerSecondsSpentPerLiquidity | uint160 |             |
| innerSecondsSpent             | uint32  |             |

***

## IAlgebraPoolDerivedState

Pool state that is not stored Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.

### Functions

#### getTimepoints

`getTimepoints(uint32[])` view external

Returns the cumulative tick and liquidity as of each timestamp \`secondsAgo\` from the current block timestamp

| Name        | Type      | Description                                                                   |
| ----------- | --------- | ----------------------------------------------------------------------------- |
| secondsAgos | uint32\[] | From how long ago each cumulative tick and liquidity value should be returned |

**Returns:**

| Name                           | Type       | Description |
| ------------------------------ | ---------- | ----------- |
| tickCumulatives                | int56\[]   |             |
| secondsPerLiquidityCumulatives | uint160\[] |             |
| volatilityCumulatives          | uint112\[] |             |
| volumePerAvgLiquiditys         | uint256\[] |             |

#### getInnerCumulatives

`getInnerCumulatives(int24,int24)` view external

Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range

| Name       | Type  | Description                 |
| ---------- | ----- | --------------------------- |
| bottomTick | int24 | The lower tick of the range |
| topTick    | int24 | The upper tick of the range |

**Returns:**

| Name                          | Type    | Description |
| ----------------------------- | ------- | ----------- |
| innerTickCumulative           | int56   |             |
| innerSecondsSpentPerLiquidity | uint160 |             |
| innerSecondsSpent             | uint32  |             |

***

## IAlgebraPoolDerivedState

Pool state that is not stored Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.

### Functions

#### getTimepoints

`getTimepoints(uint32[])` view external

Returns the cumulative tick and liquidity as of each timestamp \`secondsAgo\` from the current block timestamp

| Name        | Type      | Description                                                                   |
| ----------- | --------- | ----------------------------------------------------------------------------- |
| secondsAgos | uint32\[] | From how long ago each cumulative tick and liquidity value should be returned |

**Returns:**

| Name                           | Type       | Description |
| ------------------------------ | ---------- | ----------- |
| tickCumulatives                | int56\[]   |             |
| secondsPerLiquidityCumulatives | uint160\[] |             |
| volatilityCumulatives          | uint112\[] |             |
| volumePerAvgLiquiditys         | uint256\[] |             |

#### getInnerCumulatives

`getInnerCumulatives(int24,int24)` view external

Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range

| Name       | Type  | Description                 |
| ---------- | ----- | --------------------------- |
| bottomTick | int24 | The lower tick of the range |
| topTick    | int24 | The upper tick of the range |

**Returns:**

| Name                          | Type    | Description |
| ----------------------------- | ------- | ----------- |
| innerTickCumulative           | int56   |             |
| innerSecondsSpentPerLiquidity | uint160 |             |
| innerSecondsSpent             | uint32  |             |

***

## IAlgebraPoolDerivedState

Pool state that is not stored Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.

### Functions

#### getTimepoints

`getTimepoints(uint32[])` view external

Returns the cumulative tick and liquidity as of each timestamp \`secondsAgo\` from the current block timestamp

| Name        | Type      | Description                                                                   |
| ----------- | --------- | ----------------------------------------------------------------------------- |
| secondsAgos | uint32\[] | From how long ago each cumulative tick and liquidity value should be returned |

**Returns:**

| Name                           | Type       | Description |
| ------------------------------ | ---------- | ----------- |
| tickCumulatives                | int56\[]   |             |
| secondsPerLiquidityCumulatives | uint160\[] |             |
| volatilityCumulatives          | uint112\[] |             |
| volumePerAvgLiquiditys         | uint256\[] |             |

#### getInnerCumulatives

`getInnerCumulatives(int24,int24)` view external

Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range

| Name       | Type  | Description                 |
| ---------- | ----- | --------------------------- |
| bottomTick | int24 | The lower tick of the range |
| topTick    | int24 | The upper tick of the range |

**Returns:**

| Name                          | Type    | Description |
| ----------------------------- | ------- | ----------- |
| innerTickCumulative           | int56   |             |
| innerSecondsSpentPerLiquidity | uint160 |             |
| innerSecondsSpent             | uint32  |             |

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.algebra.finance/algebra-integral-documentation/algebra-v1-technical-reference/contracts/api-reference-v1.0/v1.0-periphery/ialgebrapoolderivedstate.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
