The contract inconsistently uses standard ERC20 transferFrom
instead of SafeERC20's safeTransferFrom
for position token transfers, risking incompatibility with non-standard ERC20 implementations.
Files:
AaveDIVAWrapperCore.sol
in _removeLiquidity
, and in _redeemPositionToken
) functions.
Affected Code:
Risk Level: Low
Potential Consequences:
Transactions will revert if used with ERC20 tokens that do not return a boolean from transferFrom
(e.g., USDT on Ethereum pre-0.6.0).
Silent failures if tokens use non-standard return patterns.
Breaks composability with future DIVA Protocol upgrades involving non-standard ERC20s.
Manual Code Review: Identified mismatched ERC20 interaction patterns.
ERC20 Compliance Checks: Verified against OpenZeppelin's ERC20 interface.
Code Fix:
Additional Steps:
Add NatSpec comments explaining the SafeERC20 pattern:
Post-Fix Validation:
The contract already imports and uses SafeERC20
for other operations:
Confirmed safeTransferFrom
is available on all IERC20Metadata
instances.
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.