Certain arithmetic operations within the contract introduce precision loss due to integer division, potentially leading to small discrepancies in calculated values. While this does not directly compromise funds, it may cause unexpected behavior in financial calculations.
The contract performs integer division in various calculations without considering precision loss. Solidity rounds down the result of integer division, which can lead to small inaccuracies in computed values. Over multiple transactions, these inaccuracies can accumulate and impact user expectations.
Example:
If valueA
is 5 and valueB
is 2, the result will be 2 instead of 2.5.
Minor inaccuracies in calculations.
Potentially unfair distribution of funds over time.
Manual code review
Remix IDE for simulation
Use a multiplier (e.g., 10**18
) to maintain precision.
Consider using fixed-point libraries like ABDKMath64x64
for calculations.
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.