Some ERC20 tokens do not return a bool from transferFrom (e.g. USDT on mainnet). The contract already imports and uses SafeERC20 for some calls but falls back to raw transferFrom with a require(success, ...) check in two places. If the USDC token used were non-standard, these calls would revert incorrectly or silently fail.
Likelihood:
MockUSDC and standard USDC both return bool correctly.
Risk materialises if the contract is redeployed with a non-standard token.
Impact:
Transaction reverts unexpectedly on non-standard tokens; no fund loss with standard USDC.
Replace raw transferFrom calls with safeTransferFrom from SafeERC20 to handle non-standard tokens uniformly.
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.
The contest is complete and the rewards are being distributed.