diff --git a/src/contracts/helpers/UiPoolDataProviderV3.sol b/src/contracts/helpers/UiPoolDataProviderV3.sol index 418e77fd..ac83745c 100644 --- a/src/contracts/helpers/UiPoolDataProviderV3.sol +++ b/src/contracts/helpers/UiPoolDataProviderV3.sol @@ -182,6 +182,7 @@ contract UiPoolDataProviderV3 is IUiPoolDataProviderV3 { return (reservesData, baseCurrencyInfo); } + /// @inheritdoc IUiPoolDataProviderV3 function getEModes(IPoolAddressesProvider provider) external view returns (Emode[] memory) { IPool pool = IPool(provider.getPool()); Emode[] memory tempCategories = new Emode[](256); diff --git a/src/contracts/helpers/interfaces/IUiPoolDataProviderV3.sol b/src/contracts/helpers/interfaces/IUiPoolDataProviderV3.sol index ba7e58d7..3280d75b 100644 --- a/src/contracts/helpers/interfaces/IUiPoolDataProviderV3.sol +++ b/src/contracts/helpers/interfaces/IUiPoolDataProviderV3.sol @@ -85,4 +85,11 @@ interface IUiPoolDataProviderV3 { IPoolAddressesProvider provider, address user ) external view returns (UserReserveData[] memory, uint8); + + /** + * @dev Iterates the eModes mapping and returns all eModes found + * @notice The method assumes for id gaps <= 2 within the eMode definitions + * @return an array of eModes that were found in the eMode mapping + */ + function getEModes(IPoolAddressesProvider provider) external view returns (Emode[] memory); }