There are multiple cases in which transfer and transferFrom are used instead of safeTransfer and safeTransferFrom. As per specs, wETH and wBTC should be interchangeable with other collateral that is supported by Chainlink, such as USDT. However, on Ethereum, USDT transfers do not return a bool, meaning that all attempts to transfer this token will revert. This means tokens like USDT which don't return a bool on transfers cannot be used as collateral, breaking core functionality.
In the depositCollateral function there is the following call:
This will revert for all tokens which don't return a bool on transfers, such as USDT on Ethereum. This is because success will not be true, even if the transfer succeeded.
Certain tokens will not be usable as collateral, breaking core functionality of this protocol.
Manual review
Replace all transfer and transferFrom calls with 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.