PoolDataProvider

This contract is a read-only data provider. It gives access to all the parameters and user positions without modifying state (view/pure functions).

🔹 Constructor

  • constructor(address addressesProvider) Initializes the contract with a reference to the Aave PoolAddressesProvider.


🔹 Core getters

  • ADDRESSES_PROVIDER()address Returns the address of the PoolAddressesProvider linked to this instance.


🔹 Token and reserve information

  • getATokenTotalSupply(address asset)uint256 Returns the total supply of the aToken for a given underlying asset.

  • getAllATokens()TokenData[] Returns a list of all aTokens (symbol + address) registered in the pool.

  • getAllReservesTokens()TokenData[] Returns a list of all underlying reserve tokens (symbol + address) supported in the pool.


🔹 Risk management & configuration

  • getDebtCeiling(address asset)uint256 Returns the debt ceiling configured for a given asset.

  • getDebtCeilingDecimals()uint256 Returns the number of decimals used for debt ceiling calculations.

  • getFlashLoanEnabled(address asset)bool Indicates whether flash loans are enabled for a given asset.

  • getInterestRateStrategyAddress(address asset)address Returns the address of the interest rate strategy contract used for a given asset.

  • getLiquidationProtocolFee(address asset)uint256 Returns the protocol fee (in bps) charged during liquidation for a given asset.

  • getPaused(address asset)bool Returns whether the reserve is paused (no deposits/borrows allowed).

  • getReserveCaps(address asset)(borrowCap, supplyCap) Returns the configured borrowing and supply caps for the reserve.

  • getReserveConfigurationData(address asset) Returns risk configuration parameters for the reserve, including:

    • decimals, LTV, liquidation threshold, liquidation bonus, reserve factor

    • flags for collateral usage, borrowing enabled, stable rate enabled, active/frozen status.

  • getReserveEModeCategory(address asset)uint256 Returns the eMode (efficiency mode) category assigned to the asset.

  • getReserveTokensAddresses(address asset)(aToken, stableDebtToken, variableDebtToken) Returns the addresses of the tokens associated with a reserve.

  • getSiloedBorrowing(address asset)bool Indicates if the asset enforces siloed borrowing (only one type of asset can be borrowed when this one is used).

  • getUnbackedMintCap(address asset)uint256 Returns the cap for unbacked aToken minting for the given reserve.


🔹 Reserve state

  • getReserveData(address asset) Returns detailed reserve metrics:

    • unbacked liquidity, accrued treasury, total aToken supply

    • total stable/variable debt, liquidity & borrowing rates

    • average stable borrow rate, liquidity/variable indexes

    • last update timestamp.

  • getTotalDebt(address asset)uint256 Returns the total debt (stable + variable) for a reserve.


🔹 User-specific data

  • getUserReserveData(address asset, address user) Returns information about a user’s position in a given reserve:

    • aToken balance, stable and variable debts

    • principal stable debt, scaled variable debt

    • stable borrow rate, liquidity rate

    • last stable rate update, collateral usage status.

Copy

Last updated

Was this helpful?