Some tokens (like USDT) don't correctly implement the EIP20 standard and their transfer
/transferFrom
function return void instead of a successful boolean
. Calling these functions with the correct EIP20 function signatures will always revert.
The following functions will always revert when certain ERC20 tokens are used:
Tokens that don't correctly implement the latest EIP20 spec, like USDT, will be unusable in the protocol as they revert the transaction because of the missing return value. Specifically, depositCollateral
will be uncallable with those types of tokens, which is a disruption of core protocol functionality.
Manual review
Use OpenZeppelin's SafeERC20 library for ERC20 transfers.
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.