# Pool

The following table outlines potential errors that may occur during interactions with the pool contract in GnoSwap:

| Code             | Error                                           | Description                                                                                                                          |
| ---------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| GNOSWAP-POOL-001 | Unsupported fee tier                            | Occurs when an unsupported fee tier is specified for pool operations.                                                                |
| GNOSWAP-POOL-002 | Pool already created                            | Occurs when there is an attempt to create a pool that already exists with the same token pair and fee tier.                          |
| GNOSWAP-POOL-003 | Out of range for numeric value                  | Occurs when a numeric input exceeds the allowed range for liquidity or token amounts.                                                |
| GNOSWAP-POOL-004 | Invalid input data                              | Occurs when input data does not meet the expected format or parameters, making the operation invalid.                                |
| GNOSWAP-POOL-005 | Requested data not found                        | Occurs when the system is unable to locate the requested data for the operation, such as a specific pool or liquidity position.      |
| GNOSWAP-POOL-006 | Invalid liquidity calculated                    | Occurs when the calculated liquidity value is incorrect, possibly due to invalid inputs or calculation errors.                       |
| GNOSWAP-POOL-007 | Zero liquidity                                  | Occurs when an operation that requires positive liquidity is attempted with zero liquidity.                                          |
| GNOSWAP-POOL-008 | Same token used in single pool                  | Occurs when the same token is used twice in a single pool, which is invalid in a pool configuration.                                 |
| GNOSWAP-POOL-009 | TickLower is invalid                            | Occurs when request tickLower does not match to the tickSpacing.                                                                     |
| GNOSWAP-POOL-010 | TickUpper is invalid                            | Occurs when request tickUpper does not match to the tickSpacing.                                                                     |
| GNOSWAP-POOL-011 | Invalid swap amount                             | Occurs when the swap amount provided is invalid, such as a negative value or an amount that exceeds available liquidity.             |
| GNOSWAP-POOL-012 | Invalid protocol fee percentage                 | Occurs when an invalid protocol fee percentage is provided, such as a value outside the acceptable range.                            |
| GNOSWAP-POOL-013 | Invalid withdrawal fee percentage               | Occurs when the withdrawal fee percentage is outside the allowed range or is otherwise invalid.                                      |
| GNOSWAP-POOL-014 | Cannot swap while pool is locked                | Occurs when a user attempts to perform a swap operation while the pool is locked, making swaps temporarily unavailable.              |
| GNOSWAP-POOL-015 | Swap price out of range                         | Occurs when the specified swap price falls outside the acceptable range defined by the pool's parameters.                            |
| GNOSWAP-POOL-016 | Token transfer failed                           | Occurs when a token transfer fails due to issues such as insufficient gas, network issues, or restrictions on the token itself.      |
| GNOSWAP-POOL-017 | Invalid tick and tick spacing requested         | Occurs when an invalid tick value or tick spacing is provided, which does not align with the pool's tick configuration requirements. |
| GNOSWAP-POOL-018 | TickLower is greater than or equal to tickUpper | Occurs when tickLower is equal or greater than tickUpper while it should be always less.                                             |
| GNOSWAP-POOL-019 | Underflow                                       | Occurs when mathematical results underflow numeric range.                                                                            |
| GNOSWAP-POOL-020 | Overflow                                        | Occurs when mathematical results overflow numeric range.                                                                             |
| GNOSWAP-POOL-021 | Balance update failed                           | Occurs when token transfer succeeds, but pool's balance did not update.                                                              |
| GNOSWAP-POOL-022 | Invalid payer                                   | Occurs when the payer address is invalid or unauthorized.                                                                            |
| GNOSWAP-POOL-023 | Not access EOA                                  | Occurs when the caller is not an externally owned account (EOA).                                                                     |
| GNOSWAP-POOL-024 | Insufficient payment                            | Occurs when the payment amount is insufficient for the operation.                                                                    |
| GNOSWAP-POOL-025 | Not initialized observation                     | Occurs when an observation has not been initialized.                                                                                 |
| GNOSWAP-POOL-026 | Target timestamp before oldest observation      | Occurs when the target timestamp is before the oldest available observation.                                                         |


---

# 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.gnoswap.io/contracts/errors/pool.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.
