The Lender contract's borrow function, along with various other functions, calculates protocol fees and other arithmetic operations using Solidity's integer division, which rounds down fractional results.
This rounding down can cause precision loss in multiple calculations, including the calculation of protocol fees, interest, and Gov fees.
Impact: The protocol could potentially lose a significant amount of fees over time due to this issue.
Manual analysis
Consider changing the rounding behaviour in the contract's arithmetic operations to round up instead of down in certain cases. This would ensure that the protocol always collects the maximum possible amount of fees and other amounts.
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.