> For the complete documentation index, see [llms.txt](https://docs.ionprotocol.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionprotocol.io/devs/smart-contract-architecture/errors.md).

# Errors

[Git Source](https://github.com/Ion-Protocol/ion-protocol/blob/88cc595825f1dc2eb738fb93e172a3e8ab7a5c43/src/Errors.sol)

### [Errors](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#errors-1" id="errors-1"></a>

#### [CeilingExceeded](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#ceilingexceeded" id="ceilingexceeded"></a>

```
error CeilingExceeded(uint256 newDebt, uint256 debtCeiling);
```

#### [UnsafePositionChange](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#unsafepositionchange" id="unsafepositionchange"></a>

```
error UnsafePositionChange(uint256 newTotalDebtInVault, uint256 collateral, uint256 spot);
```

#### [UnsafePositionChangeWithoutConsent](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#unsafepositionchangewithoutconsent" id="unsafepositionchangewithoutconsent"></a>

```
error UnsafePositionChangeWithoutConsent(uint8 ilkIndex, address user, address unconsentedOperator);
```

#### [GemTransferWithoutConsent](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#gemtransferwithoutconsent" id="gemtransferwithoutconsent"></a>

```
error GemTransferWithoutConsent(uint8 ilkIndex, address user, address unconsentedOperator);
```

#### [UseOfCollateralWithoutConsent](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#useofcollateralwithoutconsent" id="useofcollateralwithoutconsent"></a>

```
error UseOfCollateralWithoutConsent(uint8 ilkIndex, address depositor, address unconsentedOperator);
```

#### [TakingWethWithoutConsent](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#takingwethwithoutconsent" id="takingwethwithoutconsent"></a>

```
error TakingWethWithoutConsent(address payer, address unconsentedOperator);
```

#### [VaultCannotBeDusty](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#vaultcannotbedusty" id="vaultcannotbedusty"></a>

```
error VaultCannotBeDusty(uint256 amountLeft, uint256 dust);
```

#### [ArithmeticError](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#arithmeticerror" id="arithmeticerror"></a>

```
error ArithmeticError();
```

#### [IlkAlreadyAdded](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#ilkalreadyadded" id="ilkalreadyadded"></a>

```
error IlkAlreadyAdded(address ilkAddress);
```

#### [IlkNotInitialized](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#ilknotinitialized" id="ilknotinitialized"></a>

```
error IlkNotInitialized(uint256 ilkIndex);
```

#### [DepositSurpassesSupplyCap](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#depositsurpassessupplycap" id="depositsurpassessupplycap"></a>

```
error DepositSurpassesSupplyCap(uint256 depositAmount, uint256 supplyCap);
```

#### [MaxIlksReached](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#maxilksreached" id="maxilksreached"></a>

```
error MaxIlksReached();
```

#### [InvalidIlkAddress](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidilkaddress" id="invalidilkaddress"></a>

```
error InvalidIlkAddress();
```

#### [InvalidInterestRateModule](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidinterestratemodule" id="invalidinterestratemodule"></a>

```
error InvalidInterestRateModule(InterestRate invalidInterestRateModule);
```

#### [InvalidWhitelist](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidwhitelist" id="invalidwhitelist"></a>

```
error InvalidWhitelist();
```

#### [InvalidExchangeRate](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidexchangerate" id="invalidexchangerate"></a>

```
error InvalidExchangeRate(uint256 ilkIndex);
```

#### [InvalidIlkIndex](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidilkindex" id="invalidilkindex"></a>

```
error InvalidIlkIndex(uint256 ilkIndex);
```

#### [AlreadyUpdated](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#alreadyupdated" id="alreadyupdated"></a>

```
error AlreadyUpdated();
```

#### [EnforcedPause](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#enforcedpause" id="enforcedpause"></a>

```
error EnforcedPause();
```

#### [ExpectedPause](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#expectedpause" id="expectedpause"></a>

```
error ExpectedPause();
```

#### [InvalidInitialization](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidinitialization" id="invalidinitialization"></a>

```
error InvalidInitialization();
```

#### [NotInitializing](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#notinitializing" id="notinitializing"></a>

```
error NotInitializing();
```

#### [ProxyDeniedAdminAccess](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#proxydeniedadminaccess" id="proxydeniedadminaccess"></a>

```
error ProxyDeniedAdminAccess();
```

```
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
```

#### [AccessControlBadConfirmation](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#accesscontrolbadconfirmation" id="accesscontrolbadconfirmation"></a>

```
error AccessControlBadConfirmation();
```

#### [InvalidUniswapPool](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invaliduniswappool" id="invaliduniswappool"></a>

```
error InvalidUniswapPool();
```

#### [InvalidZeroLiquidityRegionSwap](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#invalidzeroliquidityregionswap" id="invalidzeroliquidityregionswap"></a>

```
error InvalidZeroLiquidityRegionSwap();
```

#### [CallbackOnlyCallableByPool](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#callbackonlycallablebypool" id="callbackonlycallablebypool"></a>

```
error CallbackOnlyCallableByPool(address unauthorizedCaller);
```

#### [OutputAmountNotReceived](broken://pages/uatR2f4tbujOMBVw3RNG) <a href="#outputamountnotreceived" id="outputamountnotreceived"></a>

```
error OutputAmountNotReceived(uint256 amountReceived, uint256 amountRequired);
```
