The old version ThunderLoan.sol has an incorrect exchange rate update in deposit().
The exchange rate should only be updated in the flashloan() function as the fees collected make it so that lenders have profits. Indeed, as the fees increase, the lenders can redeem their assetToken for a bigger exchange rate. When updating in the deposit() function, the exchange rate goes up when actually there is no additional profits. Take this scenario for example: users deposit then all users withdraw. The last ones to withdraw will be in a situation where there wont be enough funds for them to withdraw their deposit. That is because the first withdrawals were done at a higher exchange rate.
Users will be unable to withdraw their original deposit.
Manual Review.
Use the ThunderLoanUpgrade.sol implementation of deposit().
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.