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.