HardhatDeFi
15,000 USDC
View results
Submission Details
Severity: low
Invalid

Potential Precision Loss in Yield Calculation

Summary: The _getAccruedYieldPrivate function calculates yield based on aToken balance minus wToken supply, which may lead to precision loss in certain scenarios.

Root Cause: The calculation assumes exact equality between aToken balance and wToken supply, which may not always be true due to rounding or other factors.

Impact: Users might experience unexpected discrepancies in their calculated yields.

Mitigation: Consider implementing a more robust yield calculation method that accounts for potential differences between aToken balance and wToken supply.

function _getAccruedYieldPrivate(address _collateralToken) private view returns (uint256) {
uint256 aTokenBalance = IERC20Metadata(IAave(_aaveV3Pool).getReserveData(_collateralToken).aTokenAddress).balanceOf(address(this));
uint256 wTokenSupply = IERC20Metadata(_collateralTokenToWToken[_collateralToken]).totalSupply();
// Calculate yield considering potential differences
uint256 yield = aTokenBalance < wTokenSupply ? aTokenBalance : wTokenSupply;
return yield;
}
Updates

Lead Judging Commences

bube Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.