> For the complete documentation index, see [llms.txt](https://calnix.gitbook.io/aave-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://calnix.gitbook.io/aave-book/functions.md).

# Functions

- [General Execution flow](https://calnix.gitbook.io/aave-book/functions/general-execution-flow.md)
- [Architecture & Design choices](https://calnix.gitbook.io/aave-book/functions/architecture-and-design-choices.md)
- [Upgradability and Proxies](https://calnix.gitbook.io/aave-book/functions/architecture-and-design-choices/upgradability-and-proxies.md)
- [Common Functions](https://calnix.gitbook.io/aave-book/functions/common-functions.md)
- [getReserveFactor, getDecimals](https://calnix.gitbook.io/aave-book/functions/common-functions/getreservefactor-getdecimals.md)
- [.cache](https://calnix.gitbook.io/aave-book/functions/common-functions/.cache.md)
- [.updateState](https://calnix.gitbook.io/aave-book/functions/common-functions/.updatestate.md)
- [.updateInterestRates](https://calnix.gitbook.io/aave-book/functions/common-functions/.updateinterestrates.md)
- [SupplyCap, BorrowCap](https://calnix.gitbook.io/aave-book/functions/common-functions/supplycap-borrowcap.md)
- [getFlags](https://calnix.gitbook.io/aave-book/functions/common-functions/getflags.md)
- [more on flags](https://calnix.gitbook.io/aave-book/functions/common-functions/getflags/more-on-flags.md)
- [calculateUserAccountData](https://calnix.gitbook.io/aave-book/functions/common-functions/calculateuseraccountdata.md)
- [supply](https://calnix.gitbook.io/aave-book/functions/supply.md)
- [validateSupply](https://calnix.gitbook.io/aave-book/functions/supply/validatesupply.md)
- [transfer & mint](https://calnix.gitbook.io/aave-book/functions/supply/transfer-and-mint.md)
- [isFirstSupply](https://calnix.gitbook.io/aave-book/functions/supply/isfirstsupply.md)
- [isUsingAsCollateralOne, isUsingAsCollateralAny](https://calnix.gitbook.io/aave-book/functions/supply/isfirstsupply/isusingascollateralone-isusingascollateralany.md)
- [On check-effects-interactions pattern](https://calnix.gitbook.io/aave-book/functions/supply/on-check-effects-interactions-pattern.md)
- [withdraw](https://calnix.gitbook.io/aave-book/functions/withdraw.md)
- [get user balance & withdraw amount](https://calnix.gitbook.io/aave-book/functions/withdraw/get-user-balance-and-withdraw-amount.md)
- [validateWithdraw](https://calnix.gitbook.io/aave-book/functions/withdraw/validatewithdraw.md)
- [collateral check](https://calnix.gitbook.io/aave-book/functions/withdraw/collateral-check.md)
- [burn ATokens](https://calnix.gitbook.io/aave-book/functions/withdraw/burn-atokens.md)
- [Ensure existing loans are collateralized](https://calnix.gitbook.io/aave-book/functions/withdraw/ensure-existing-loans-are-collateralized.md)
- [borrow](https://calnix.gitbook.io/aave-book/functions/borrow.md)
- [getIsolationModeState](https://calnix.gitbook.io/aave-book/functions/borrow/getisolationmodestate.md)
- [.validateBorrow](https://calnix.gitbook.io/aave-book/functions/borrow/.validateborrow.md)
- [Mint debt token](https://calnix.gitbook.io/aave-book/functions/borrow/mint-debt-token.md)
- [setBorrowing](https://calnix.gitbook.io/aave-book/functions/borrow/setborrowing.md)
- [update IsolationMode debt](https://calnix.gitbook.io/aave-book/functions/borrow/update-isolationmode-debt.md)
- [transfer underlying to user](https://calnix.gitbook.io/aave-book/functions/borrow/transfer-underlying-to-user.md)
- [repay](https://calnix.gitbook.io/aave-book/functions/repay.md)
- [get current debt](https://calnix.gitbook.io/aave-book/functions/repay/get-current-debt.md)
- [validateRepay, paybackAmount](https://calnix.gitbook.io/aave-book/functions/repay/validaterepay-paybackamount.md)
- [burn debt tokens](https://calnix.gitbook.io/aave-book/functions/repay/burn-debt-tokens.md)
- [Cleanup + Collect repay](https://calnix.gitbook.io/aave-book/functions/repay/cleanup-+-collect-repay.md)
- [liquidate](https://calnix.gitbook.io/aave-book/functions/liquidate.md): liquidationCall()
- [\_calculateDebt](https://calnix.gitbook.io/aave-book/functions/liquidate/_calculatedebt.md)
- [validateLiquidationCall](https://calnix.gitbook.io/aave-book/functions/liquidate/validateliquidationcall.md)
- [getConfigurationData](https://calnix.gitbook.io/aave-book/functions/liquidate/getconfigurationdata.md)
- [calculateAvailableCollateralToLiquidate](https://calnix.gitbook.io/aave-book/functions/liquidate/calculateavailablecollateraltoliquidate.md)
- [\_burnDebtTokens](https://calnix.gitbook.io/aave-book/functions/liquidate/_burndebttokens.md)
- [liquidate/burn collateral](https://calnix.gitbook.io/aave-book/functions/liquidate/liquidate-burn-collateral.md)
- [liquidation Fee](https://calnix.gitbook.io/aave-book/functions/liquidate/liquidation-fee.md)
- [Wrap-up](https://calnix.gitbook.io/aave-book/functions/liquidate/wrap-up.md)
- [swapBorrowRateMode](https://calnix.gitbook.io/aave-book/functions/swapborrowratemode.md)
- [setUserUseReserveAsCollateral](https://calnix.gitbook.io/aave-book/functions/setuserusereserveascollateral.md)
