The Liquid eModes update for Aave v3 enhances the flexibility and granularity of the existing eMode feature. Originally, eModes allowed users to group correlated assets with higher-risk configurations but limited assets to a single eMode. Liquid eModes now enable assets to belong to multiple eModes, providing more dynamic use cases. Users can still only activate one eMode at a time, but new features allow for more detailed configuration, such as enabling or disabling specific assets for collateral or borrowing within an eMode. Key changes include the removal of the unused eMode oracle to save gas, and the introduction of bitmask configurations to specify which assets can be borrowed or used as collateral in each eMode. Assets must be borrowable or collateralizable both in and outside eMode. Additionally, the update ensures that health factors are validated during eMode switches and enhances the PoolConfigurator methods. Breaking changes include the removal of certain legacy methods and the introduction of new event types for tracking asset changes in eModes. Overall, these modifications improve flexibility and governance control over asset risk configurations.
Low | Medium | High | Critical | Total | |
---|---|---|---|---|---|
Not fixed | 1 | - | - | - | 1 |
Fixed | 6 | 1 | 2 | - | 9 |
Total | 7 | 1 | 2 | 0 | 10 |
# | File Name |
---|---|
1 | src/contracts/protocol/libraries/helpers/Errors.sol |
2 | src/contracts/interfaces/IPoolConfigurator.sol |
3 | src/contracts/protocol/libraries/logic/ValidationLogic.sol |
4 | src/contracts/protocol/libraries/configuration/ReserveConfiguration.sol |
5 | src/contracts/protocol/pool/PoolConfigurator.sol |
6 | src/contracts/protocol/libraries/configuration/EModeConfiguration.sol |
7 | src/contracts/protocol/libraries/logic/ConfiguratorLogic.sol |
8 | src/contracts/helpers/AaveProtocolDataProvider.sol |
9 | src/contracts/protocol/libraries/logic/LiquidationLogic.sol |
10 | src/contracts/interfaces/IPoolDataProvider.sol |