Detect missing events for critical arithmetic parameters.
Location: ThunderLoan.updateFlashLoanFee(uint256) (src/protocol/ThunderLoan.sol#253-258) should emit an event for:
s_flashLoanFee = newFee (src/protocol/ThunderLoan.sol#257)
No liquidity checks: The contract does not seem to check if there is enough liquidity in the contract to service a flash loan. This could potentially lead to failed transactions.
No checks on newFee in updateFlashLoanFee: Although there is a condition that newFee should not be greater than s_feePrecision, there is no lower limit check. This could potentially allow setting the fee to zero.
Audit Wizard (Slither)
Emit an event for critical parameter changes.
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.