@@ -105,7 +105,7 @@ struct ReserveConfig {
105105}
106106
107107struct LocalVars {
108- IPoolDataProvider.TokenData [] reserves;
108+ address [] reserves;
109109 ReserveConfig[] configs;
110110}
111111
@@ -137,10 +137,10 @@ contract ProtocolV3TestBase is DiffUtils {
137137 bool poolConfigs
138138 ) public virtual returns (ReserveConfig[] memory ) {
139139 string memory path = string (abi.encodePacked ('./reports/ ' , reportName, '.json ' ));
140- // overwrite with empty json to later be extended
140+ // overwrite with empty json to later be extended as foundry does not currently support adding new keys
141141 vm.writeFile (
142142 path,
143- '{ "eModes": {}, "reserves": {}, "strategies": {}, "poolConfiguration": {} } '
143+ '{ "eModes": {}, "reserves": {}, "strategies": {}, "poolConfiguration": {}, "raw": {} } '
144144 );
145145 vm.serializeUint ('root ' , 'chainId ' , block .chainid );
146146 ReserveConfig[] memory configs = _getReservesConfigs (pool);
@@ -280,21 +280,8 @@ contract ProtocolV3TestBase is DiffUtils {
280280 vm.serializeAddress (key, 'underlying ' , config.underlying);
281281 vm.serializeAddress (key, 'aToken ' , config.aToken);
282282 vm.serializeAddress (key, 'variableDebtToken ' , config.variableDebtToken);
283- vm.serializeAddress (
284- key,
285- 'aTokenImpl ' ,
286- ProxyHelpers.getInitializableAdminUpgradeabilityProxyImplementation (vm, config.aToken)
287- );
288283 vm.serializeString (key, 'aTokenSymbol ' , IERC20Detailed (config.aToken).symbol ());
289284 vm.serializeString (key, 'aTokenName ' , IERC20Detailed (config.aToken).name ());
290- vm.serializeAddress (
291- key,
292- 'variableDebtTokenImpl ' ,
293- ProxyHelpers.getInitializableAdminUpgradeabilityProxyImplementation (
294- vm,
295- config.variableDebtToken
296- )
297- );
298285 vm.serializeString (
299286 key,
300287 'variableDebtTokenSymbol ' ,
@@ -361,76 +348,44 @@ contract ProtocolV3TestBase is DiffUtils {
361348 // pool configurator
362349 IPoolConfigurator configurator = IPoolConfigurator (addressesProvider.getPoolConfigurator ());
363350 vm.serializeAddress (poolConfigKey, 'poolConfigurator ' , address (configurator));
364- vm.serializeAddress (
365- poolConfigKey,
366- 'poolConfiguratorImpl ' ,
367- ProxyHelpers.getInitializableAdminUpgradeabilityProxyImplementation (vm, address (configurator))
368- );
369351
370352 // PoolDataProvider
371353 IPoolDataProvider pdp = IPoolDataProvider (addressesProvider.getPoolDataProvider ());
372354 vm.serializeAddress (poolConfigKey, 'protocolDataProvider ' , address (pdp));
373355
374356 // pool
375- vm.serializeAddress (
376- poolConfigKey,
377- 'poolImpl ' ,
378- ProxyHelpers.getInitializableAdminUpgradeabilityProxyImplementation (vm, address (pool))
379- );
380357 string memory content = vm.serializeAddress (poolConfigKey, 'pool ' , address (pool));
381358
382359 string memory output = vm.serializeString ('root ' , 'poolConfig ' , content);
383360 vm.writeJson (output, path);
384361 }
385362
386363 function _getReservesConfigs (IPool pool ) internal view virtual returns (ReserveConfig[] memory ) {
387- IPoolAddressesProvider addressesProvider = IPoolAddressesProvider (pool.ADDRESSES_PROVIDER ());
388- IPoolDataProvider poolDataProvider = IPoolDataProvider (addressesProvider.getPoolDataProvider ());
389364 LocalVars memory vars;
390365
391- vars.reserves = poolDataProvider. getAllReservesTokens ();
366+ vars.reserves = pool. getReservesList ();
392367
393368 vars.configs = new ReserveConfig [](vars.reserves.length );
394369
395370 for (uint256 i = 0 ; i < vars.reserves.length ; i++ ) {
396- vars.configs[i] = _getStructReserveConfig (pool, poolDataProvider, vars.reserves[i]);
371+ vars.configs[i] = _getStructReserveConfig (pool, vars.reserves[i]);
397372 }
398373
399374 return vars.configs;
400375 }
401376
402- function _getStructReserveTokens (
403- IPoolDataProvider pdp ,
404- address underlyingAddress
405- ) internal view virtual returns (ReserveTokens memory ) {
406- ReserveTokens memory reserveTokens;
407- (reserveTokens.aToken, , reserveTokens.variableDebtToken) = pdp.getReserveTokensAddresses (
408- underlyingAddress
409- );
410-
411- return reserveTokens;
412- }
413-
414377 function _getStructReserveConfig (
415378 IPool pool ,
416- IPoolDataProvider poolDataProvider ,
417- IPoolDataProvider.TokenData memory reserve
379+ address reserve
418380 ) internal view virtual returns (ReserveConfig memory ) {
419381 ReserveConfig memory localConfig;
420- DataTypes.ReserveConfigurationMap memory configuration = pool.getConfiguration (
421- reserve.tokenAddress
422- );
382+ DataTypes.ReserveConfigurationMap memory configuration = pool.getConfiguration (reserve);
383+ DataTypes.ReserveDataLegacy memory reserveData = pool.getReserveData (reserve);
423384
424- localConfig.underlying = reserve.tokenAddress;
425- ReserveTokens memory reserveTokens = _getStructReserveTokens (
426- poolDataProvider,
427- reserve.tokenAddress
428- );
429- localConfig.aToken = reserveTokens.aToken;
430- localConfig.variableDebtToken = reserveTokens.variableDebtToken;
431- localConfig.interestRateStrategy = pool
432- .getReserveData (reserve.tokenAddress)
433- .interestRateStrategyAddress;
385+ localConfig.underlying = reserve;
386+ localConfig.aToken = reserveData.aTokenAddress;
387+ localConfig.variableDebtToken = reserveData.variableDebtTokenAddress;
388+ localConfig.interestRateStrategy = reserveData.interestRateStrategyAddress;
434389 (
435390 localConfig.ltv,
436391 localConfig.liquidationThreshold,
@@ -444,7 +399,11 @@ contract ProtocolV3TestBase is DiffUtils {
444399 localConfig.borrowingEnabled,
445400 localConfig.isPaused
446401 ) = configuration.getFlags ();
447- localConfig.symbol = reserve.symbol;
402+ if (reserve == 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2 ) {
403+ localConfig.symbol = 'MKR ' ;
404+ } else {
405+ localConfig.symbol = IERC20Detailed (reserve).symbol ();
406+ }
448407 localConfig.usageAsCollateralEnabled = localConfig.liquidationThreshold != 0 ;
449408 localConfig.isSiloed = configuration.getSiloedBorrowing ();
450409 (localConfig.borrowCap, localConfig.supplyCap) = configuration.getCaps ();
@@ -458,11 +417,9 @@ contract ProtocolV3TestBase is DiffUtils {
458417 localConfig.virtualAccActive = configuration.getIsVirtualAccActive ();
459418
460419 if (localConfig.virtualAccActive) {
461- localConfig.virtualBalance = pool.getVirtualUnderlyingBalance (reserve.tokenAddress );
420+ localConfig.virtualBalance = pool.getVirtualUnderlyingBalance (reserve);
462421 }
463- localConfig.aTokenUnderlyingBalance = IERC20Detailed (reserve.tokenAddress).balanceOf (
464- localConfig.aToken
465- );
422+ localConfig.aTokenUnderlyingBalance = IERC20Detailed (reserve).balanceOf (localConfig.aToken);
466423
467424 return localConfig;
468425 }
0 commit comments