The AaveDIVAWrapper contract's constructor passes arguments to its parent contract AaveDIVAWrapperCore in the wrong order, causing critical initialization issues that affect all interactions with both DIVA and Aave protocols.
The AaveDIVAWrapper contract inherits from AaveDIVAWrapperCore but incorrectly orders the constructor parameters when calling the parent constructor.
AaveDIVAWrapper.sol#L12
Current Implementation:
Expected Implementation in Parent Contract(AaveDIVAWrapperCore):
AaveDIVAWrapperCore.sol#L52
The mismatch occurs as follows:
First parameter (_aaveV3Pool) is passed to diva_
Second parameter (_diva) is passed to aaveV3Pool_
This results in:
DIVA protocol address being stored as the Aave V3 Pool address
Aave V3 Pool address being stored as the DIVA protocol address
This effectively renders the entire wrapper contract non-functional.
Manual Review
Modify the AaveDIVAWrapper constructor to match the parameter order of the parent contract:
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.