diff --git a/src/contracts/instances/PoolInstance.sol b/src/contracts/instances/PoolInstance.sol index 4b1596d8..02eafdd1 100644 --- a/src/contracts/instances/PoolInstance.sol +++ b/src/contracts/instances/PoolInstance.sol @@ -6,7 +6,7 @@ import {IPoolAddressesProvider} from '../interfaces/IPoolAddressesProvider.sol'; import {Errors} from '../protocol/libraries/helpers/Errors.sol'; contract PoolInstance is Pool { - uint256 public constant POOL_REVISION = 5; + uint256 public constant POOL_REVISION = 6; constructor(IPoolAddressesProvider provider) Pool(provider) {} diff --git a/src/contracts/protocol/pool/Pool.sol b/src/contracts/protocol/pool/Pool.sol index f4a9812e..72445e47 100644 --- a/src/contracts/protocol/pool/Pool.sol +++ b/src/contracts/protocol/pool/Pool.sol @@ -450,6 +450,10 @@ abstract contract Pool is VersionedInitializable, PoolStorage, IPool { res.accruedToTreasury = reserve.accruedToTreasury; res.unbacked = reserve.unbacked; res.isolationModeTotalDebt = reserve.isolationModeTotalDebt; + // This is a temporary workaround for integrations that are broken by Aave 3.2 + // While the new pool data provider is backward compatible, some integrations hard-code an old implementation + // To allow them to not have any infrastructural blocker, a mock must be configured in the Aave Pool Addresses Provider, returning zero on all required view methods, instead of reverting + res.stableDebtTokenAddress = ADDRESSES_PROVIDER.getAddress(bytes32('MOCK_STABLE_DEBT')); return res; }