fix: compiling

This commit is contained in:
sendra 2021-10-08 12:58:49 +02:00
parent 1d613cbf22
commit 9ab111f92b
2 changed files with 119 additions and 127 deletions

View File

@ -62,7 +62,6 @@ contract UiPoolDataProvider is IUiPoolDataProvider {
override override
returns ( returns (
AggregatedReserveData[] memory, AggregatedReserveData[] memory,
uint256,
uint256 uint256
) )
{ {
@ -140,7 +139,7 @@ contract UiPoolDataProvider is IUiPoolDataProvider {
external external
view view
override override
returns (UserReserveData[] memory, uint256) returns (UserReserveData[] memory)
{ {
ILendingPool lendingPool = ILendingPool(provider.getLendingPool()); ILendingPool lendingPool = ILendingPool(provider.getLendingPool());
address[] memory reserves = lendingPool.getReservesList(); address[] memory reserves = lendingPool.getReservesList();
@ -182,128 +181,123 @@ contract UiPoolDataProvider is IUiPoolDataProvider {
return (userReservesData); return (userReservesData);
} }
function getReservesData(ILendingPoolAddressesProvider provider, address user) // function getReservesData(ILendingPoolAddressesProvider provider, address user)
external // external
view // view
override // override
returns ( // returns (
AggregatedReserveData[] memory, // AggregatedReserveData[] memory,
UserReserveData[] memory, // UserReserveData[] memory,
uint256 // uint256
) // )
{ // {
IAaveOracle oracle = IAaveOracle(provider.getPriceOracle()); // IAaveOracle oracle = IAaveOracle(provider.getPriceOracle());
ILendingPool lendingPool = ILendingPool(provider.getLendingPool()); // ILendingPool lendingPool = ILendingPool(provider.getLendingPool());
address[] memory reserves = lendingPool.getReservesList(); // address[] memory reserves = lendingPool.getReservesList();
DataTypes.UserConfigurationMap memory userConfig = lendingPool.getUserConfiguration(user); // DataTypes.UserConfigurationMap memory userConfig = lendingPool.getUserConfiguration(user);
AggregatedReserveData[] memory reservesData = new AggregatedReserveData[](reserves.length); // AggregatedReserveData[] memory reservesData = new AggregatedReserveData[](reserves.length);
UserReserveData[] memory userReservesData = // UserReserveData[] memory userReservesData =
new UserReserveData[](user != address(0) ? reserves.length : 0); // new UserReserveData[](user != address(0) ? reserves.length : 0);
for (uint256 i = 0; i < reserves.length; i++) { // for (uint256 i = 0; i < reserves.length; i++) {
AggregatedReserveData memory reserveData = reservesData[i]; // AggregatedReserveData memory reserveData = reservesData[i];
reserveData.underlyingAsset = reserves[i]; // reserveData.underlyingAsset = reserves[i];
// reserve current state // // reserve current state
DataTypes.ReserveData memory baseData = // DataTypes.ReserveData memory baseData =
lendingPool.getReserveData(reserveData.underlyingAsset); // lendingPool.getReserveData(reserveData.underlyingAsset);
reserveData.liquidityIndex = baseData.liquidityIndex; // reserveData.liquidityIndex = baseData.liquidityIndex;
reserveData.variableBorrowIndex = baseData.variableBorrowIndex; // reserveData.variableBorrowIndex = baseData.variableBorrowIndex;
reserveData.liquidityRate = baseData.currentLiquidityRate; // reserveData.liquidityRate = baseData.currentLiquidityRate;
reserveData.variableBorrowRate = baseData.currentVariableBorrowRate; // reserveData.variableBorrowRate = baseData.currentVariableBorrowRate;
reserveData.stableBorrowRate = baseData.currentStableBorrowRate; // reserveData.stableBorrowRate = baseData.currentStableBorrowRate;
reserveData.lastUpdateTimestamp = baseData.lastUpdateTimestamp; // reserveData.lastUpdateTimestamp = baseData.lastUpdateTimestamp;
reserveData.aTokenAddress = baseData.aTokenAddress; // reserveData.aTokenAddress = baseData.aTokenAddress;
reserveData.stableDebtTokenAddress = baseData.stableDebtTokenAddress; // reserveData.stableDebtTokenAddress = baseData.stableDebtTokenAddress;
reserveData.variableDebtTokenAddress = baseData.variableDebtTokenAddress; // reserveData.variableDebtTokenAddress = baseData.variableDebtTokenAddress;
reserveData.interestRateStrategyAddress = baseData.interestRateStrategyAddress; // reserveData.interestRateStrategyAddress = baseData.interestRateStrategyAddress;
reserveData.priceInEth = oracle.getAssetPrice(reserveData.underlyingAsset); // reserveData.priceInEth = oracle.getAssetPrice(reserveData.underlyingAsset);
reserveData.availableLiquidity = IERC20Detailed(reserveData.underlyingAsset).balanceOf( // reserveData.availableLiquidity = IERC20Detailed(reserveData.underlyingAsset).balanceOf(
reserveData.aTokenAddress // reserveData.aTokenAddress
); // );
( // (
reserveData.totalPrincipalStableDebt, // reserveData.totalPrincipalStableDebt,
, // ,
reserveData.averageStableRate, // reserveData.averageStableRate,
reserveData.stableDebtLastUpdateTimestamp // reserveData.stableDebtLastUpdateTimestamp
) = IStableDebtToken(reserveData.stableDebtTokenAddress).getSupplyData(); // ) = IStableDebtToken(reserveData.stableDebtTokenAddress).getSupplyData();
reserveData.totalScaledVariableDebt = IVariableDebtToken(reserveData.variableDebtTokenAddress) // reserveData.totalScaledVariableDebt = IVariableDebtToken(reserveData.variableDebtTokenAddress)
.scaledTotalSupply(); // .scaledTotalSupply();
// reserve configuration // // reserve configuration
// we're getting this info from the aToken, because some of assets can be not compliant with ETC20Detailed // // we're getting this info from the aToken, because some of assets can be not compliant with ETC20Detailed
reserveData.symbol = IERC20Detailed(reserveData.underlyingAsset).symbol(); // reserveData.symbol = IERC20Detailed(reserveData.underlyingAsset).symbol();
reserveData.name = ''; // reserveData.name = '';
( // (
reserveData.baseLTVasCollateral, // reserveData.baseLTVasCollateral,
reserveData.reserveLiquidationThreshold, // reserveData.reserveLiquidationThreshold,
reserveData.reserveLiquidationBonus, // reserveData.reserveLiquidationBonus,
reserveData.decimals, // reserveData.decimals,
reserveData.reserveFactor // reserveData.reserveFactor
) = baseData.configuration.getParamsMemory(); // ) = baseData.configuration.getParamsMemory();
( // (
reserveData.isActive, // reserveData.isActive,
reserveData.isFrozen, // reserveData.isFrozen,
reserveData.borrowingEnabled, // reserveData.borrowingEnabled,
reserveData.stableBorrowRateEnabled // reserveData.stableBorrowRateEnabled
) = baseData.configuration.getFlagsMemory(); // ) = baseData.configuration.getFlagsMemory();
reserveData.usageAsCollateralEnabled = reserveData.baseLTVasCollateral != 0; // reserveData.usageAsCollateralEnabled = reserveData.baseLTVasCollateral != 0;
( // (
reserveData.variableRateSlope1, // reserveData.variableRateSlope1,
reserveData.variableRateSlope2, // reserveData.variableRateSlope2,
reserveData.stableRateSlope1, // reserveData.stableRateSlope1,
reserveData.stableRateSlope2 // reserveData.stableRateSlope2
) = getInterestRateStrategySlopes( // ) = getInterestRateStrategySlopes(
DefaultReserveInterestRateStrategy(reserveData.interestRateStrategyAddress) // DefaultReserveInterestRateStrategy(reserveData.interestRateStrategyAddress)
); // );
if (user != address(0)) { // if (user != address(0)) {
// user reserve data // // user reserve data
userReservesData[i].underlyingAsset = reserveData.underlyingAsset; // userReservesData[i].underlyingAsset = reserveData.underlyingAsset;
userReservesData[i].scaledATokenBalance = IAToken(reserveData.aTokenAddress) // userReservesData[i].scaledATokenBalance = IAToken(reserveData.aTokenAddress)
.scaledBalanceOf(user); // .scaledBalanceOf(user);
userReservesData[i].usageAsCollateralEnabledOnUser = userConfig.isUsingAsCollateral(i); // userReservesData[i].usageAsCollateralEnabledOnUser = userConfig.isUsingAsCollateral(i);
if (userConfig.isBorrowing(i)) { // if (userConfig.isBorrowing(i)) {
userReservesData[i].scaledVariableDebt = IVariableDebtToken( // userReservesData[i].scaledVariableDebt = IVariableDebtToken(
reserveData // reserveData
.variableDebtTokenAddress // .variableDebtTokenAddress
) // )
.scaledBalanceOf(user); // .scaledBalanceOf(user);
userReservesData[i].principalStableDebt = IStableDebtToken( // userReservesData[i].principalStableDebt = IStableDebtToken(
reserveData // reserveData
.stableDebtTokenAddress // .stableDebtTokenAddress
) // )
.principalBalanceOf(user); // .principalBalanceOf(user);
if (userReservesData[i].principalStableDebt != 0) { // if (userReservesData[i].principalStableDebt != 0) {
userReservesData[i].stableBorrowRate = IStableDebtToken( // userReservesData[i].stableBorrowRate = IStableDebtToken(
reserveData // reserveData
.stableDebtTokenAddress // .stableDebtTokenAddress
) // )
.getUserStableRate(user); // .getUserStableRate(user);
userReservesData[i].stableBorrowLastUpdateTimestamp = IStableDebtToken( // userReservesData[i].stableBorrowLastUpdateTimestamp = IStableDebtToken(
reserveData // reserveData
.stableDebtTokenAddress // .stableDebtTokenAddress
) // )
.getUserLastUpdated(user); // .getUserLastUpdated(user);
} // }
} // }
} // }
} // }
return (
reservesData,
userReservesData,
oracle.getAssetPrice(MOCK_USD_ADDRESS),
);
}
// function _getReserveData() private returns (AggregatedReserveData[] memory) {
// return (
// reservesData,
// userReservesData,
// oracle.getAssetPrice(MOCK_USD_ADDRESS),
// );
// } // }
} }

View File

@ -63,25 +63,23 @@ interface IUiPoolDataProvider {
view view
returns ( returns (
AggregatedReserveData[] memory, AggregatedReserveData[] memory,
uint256, // usd price eth uint256 // usd price eth
uint256 // emission end timestamp
); );
function getUserReservesData(ILendingPoolAddressesProvider provider, address user) function getUserReservesData(ILendingPoolAddressesProvider provider, address user)
external external
view view
returns ( returns (
UserReserveData[] memory, UserReserveData[] memory
uint256 // user unclaimed rewards
); );
// generic method with full data // generic method with full data
function getReservesData(ILendingPoolAddressesProvider provider, address user) // function getReservesData(ILendingPoolAddressesProvider provider, address user)
external // external
view // view
returns ( // returns (
AggregatedReserveData[] memory, // AggregatedReserveData[] memory,
UserReserveData[] memory, // UserReserveData[] memory,
uint256 // uint256
); // );
} }