use safeTransfer/safeTransferFrom instead of transfer/transferFrom as some tokens return false
Some tokens are not EIP-20 compliant so they return false on failure. When return value is not handled, the calling contract is at the receiving end as it doesn't handle the failure.
exactInputSingle function uses both transfer and transferFrom without handlng the return value.
Contract would deem transfer and transferFrom as a success when it returns false.
Manual review
Use Openzeppelin's safeTransfer and safeTransferFrom.
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.