LendingPoolCore
contract holds the state of every reserve and all assets deposited, as well as the basic logic (e.g. calculations using the stored data).LendingPoolAddressesProvider
is 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.LendingPoolDataProvider
contract performs calculations and provides data for the LendingPool
contract, specifically:LendingPoolCore
to provide high level information to the LendingPool
.LendingPool
contract uses both the LendingPoolCore
and LendingPoolDataProvider
to interact with the reserves. This is the main contract developers should interface with. See the LendingPool
section of the documentation.LendingPool
also manages the tokenization of users' lending position via aTokens.LendingPoolConfigurator
contract provides configuration functions for the LendingPool
and LendingPoolCore
contracts. It also has a number of important functions:LendingPoolManager
, as defined in the LendingPoolAddressProvider
.InterestRateStrategy
contract holds the information needed to calculate and update the interest rates of specific reserves.baseVariableBorrowRate
,variableRateSlope1
,variableRateSlope2
,stableRateSlope1
,stableRateSlope2
.reserve
has a specific InterestRateStrategy
contract.aToken
contracts are EIP-20 / ERC20 compatible interest bearing tokens, that represent users' lending positions. See the aTokens
section of the documentation.