The loss of precision happens when the logic divides first before multiplying. In such cases, the fractional numbers are truncated.
In distributeAssets() function, there are number of places where the mathematical precedence is not properly accounted for.
refer to the below code snippet for reference where in number of places the precedence for multiplication is not set.
The loss of precision leads to loss for user or protocol. The protocol should take precaution to prevent such fractional losses.
Manual Review
set precedence for multiplication using the braces.
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.