DittoETH

Ditto
DeFiFoundryOracle
55,000 USDC
View results
Submission Details
Severity: low
Valid

Division before multiplication causing significant loss of precision

Summary

First divides and then multiplies again, there is a significant loss of precision;

Vulnerability Details

https://github.com/Cyfrin/2023-09-ditto/blob/main/contracts/libraries/LibOracle.sol#L85

uint256 twapPriceInEther = (twapPrice / Constants.DECIMAL_USDC) * 1 ether;

Tools Used

Manual Review

Recommendations

Multiply first before dividing to keep the precision.

Updates

Lead Judging Commences

0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-535

Support

FAQs

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