During creation, the wrapper contract set the corresponding addresses for the Aave pool contract and the main DIVA contract. However, in the event when one of those contracts addresses is updated, the inability to set the new address will result in the loss of the wrapper contract's functionality.
In AaveDIVAWrapperCore contract, Aave pool contract and DIVA protocol addresses are set during creation.
Both _diva and _aaveV3Pool are declared as immutable variables, which means that no subsequent action can update their initial value. However, for several reasons, it is not uncommon for protocols to renew/upgrade their contracts. This restricts the functionality of the wrapper contract in case the DIVA protocol V1 (or, more unlikely, the Aave Pool contract) updates to a new version.
Impact: High
Likelihood: Low
Manual Review
It is highly recommended to declare the _diva and _aaveV3Pool variables without the immutable keyword, allowing their value to be changed if needed. It is also required to introduce new admin functions in order to perform those changes.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.