# Staker

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

| Code               | Error                                | Description                                                                                                        |
| ------------------ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| GNOSWAP-STAKER-001 | Caller has no permission             | Occurs when a user without the necessary permissions attempts an action restricted to authorized callers.          |
| GNOSWAP-STAKER-002 | Pool not found                       | Occurs when non incentivized pool is used.                                                                         |
| GNOSWAP-STAKER-003 | Cannot wrap less than minimum amount | Occurs when the user attempts to wrap an amount below the minimum allowed, which is not permissible.               |
| GNOSWAP-STAKER-004 | Invalid input data                   | Occurs when input data does not meet the required format or values for a staking operation.                        |
| GNOSWAP-STAKER-005 | Invalid unstaking fee                | Occurs when an invalid unstaking fee is specified, such as a fee outside the acceptable range.                     |
| GNOSWAP-STAKER-006 | Already staked position              | Occurs when an attempt is made to stake a position that is already staked.                                         |
| GNOSWAP-STAKER-007 | Pool is not incentivized             | Occurs when a staking operation references a pool that has no incentives assigned.                                 |
| GNOSWAP-STAKER-008 | Cannot end incentive                 | Occurs when an incentive program is still active, and an attempt is made to end it prematurely.                    |
| GNOSWAP-STAKER-009 | Invalid incentive start time         | Occurs when an invalid start time is provided for an incentive program.                                            |
| GNOSWAP-STAKER-010 | Cannot delete default external token | Occurs when there is an attempt to delete a default token used for external rewards, which is not allowed.         |
| GNOSWAP-STAKER-011 | Invalid pool path                    | Occurs when an invalid or non-existent pool path is provided for staking or rewards.                               |
| GNOSWAP-STAKER-012 | Invalid pool tier                    | Occurs when an invalid pool tier is specified, which does not align with the staking contract's tier requirements. |
| GNOSWAP-STAKER-013 | Requested data not found             | Occurs when the system cannot locate the requested data needed for a staking operation.                            |
| GNOSWAP-STAKER-014 | Unexpected calculation error         | Occurs when a calculation within the staking contract produces an unexpected or invalid result.                    |
| GNOSWAP-STAKER-015 | Zero liquidity                       | Occurs when an operation that requires positive liquidity is attempted with zero liquidity.                        |
| GNOSWAP-STAKER-016 | Invalid incentive duration           | Occurs when the specified duration for an incentive program is outside the acceptable range.                       |
| GNOSWAP-STAKER-017 | Not allowed for external reward      | Occurs when an operation attempts to use a token not approved for external rewards.                                |
| GNOSWAP-STAKER-018 | Incentive already exists             | Occurs when same reward are being created in single transaction.                                                   |
| GNOSWAP-STAKER-019 | Overflow                             | Occurs when mathematical results overflow numeric range.                                                           |
| GNOSWAP-STAKER-020 | Cannot add existing token            | Occurs when attempting to add a token that is already registered for external rewards.                             |
| GNOSWAP-STAKER-021 | Not available to update collect time | Occurs when an attempt is made to update collection time under invalid conditions.                                 |
