The AaveDIVAWrapper constructor incorrectly passes the Aave V3 Pool and DIVA Protocol addresses in the wrong order to the AaveDIVAWrapperCore parent contract.
The constructor parameters for AaveDIVAWrapper are passed as (_aaveV3Pool, _diva, _owner) to AaveDIVAWrapperCore, but the parent contract expects the order (diva_, aaveV3Pool_, owner_). This swaps the _diva and _aaveV3Pool state variables, causing all interactions with the wrong protocol addresses.
Severity: Critical
All calls to DIVA Protocol (e.g., creating pools) and Aave V3 (e.g., supplying collateral) will fail or interact with unintended contracts, rendering the contract non-functional.
Manual Review
Correct the parameter order in the AaveDIVAWrapper constructor:
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.