(Not shown in above diagram) The
LendingPoolAddressesProvideris a global addresses register of the protocol. This contract is immutable and the address will never change. For more information, see the Address Provider section of the documentation.
- Calculates the ETH equivalent of a user's balance to assess the borrow limit of a user and the health factor of their positions.
- Aggregates data from
LendingPoolCoreto provide high level information to the
- Calculates the Average Loan to Value and Average Liquidation Ratio.
LendingPoolalso manages the tokenization of users' lending position via aTokens.
- Activates / Deactivates reserves,
- Enables / Disables borrowing for a reserve,
- Enables / Disables using a reserve as collateral,
- Enables / Disables stable rate borrowing for a reserve,
- Freezes / Unfreezes reserves,
- Updates a reserve's Loan to Value,
- Updates a reserve's liquidation threshold,
- Updates a reserve's liquidation bonus,
- Updates a reserve's decimals,
- Updates a reserve's interest rate strategy address.
For all of the above functions, relevant events are emitted to the blockchain. Anyone can monitor these changes to know when values have been modified or added/removed.
The contract is owned by the
LendingPoolManager, as defined in the
Each contract stores the optimised base curves using the corresponding parameters of each currency. This means that there is a mathematical function which determines the interest rate of each asset pool, with the interest rate changing based on the amount of borrowed funds and the total liquidity (i.e. utilisation) of the asset pool. For more information, see the Whitepaper, section 2.5.
The parameters for the optimised base curves are:
The interest rates are calculated depending on the available liquidity and the total borrowed amount.