Unsafe use of transfer()
/transferFrom()
with IERC20
Some tokens do not implement the ERC20
standard properly but are still accepted by most code that accepts ERC20
tokens. For example Tether (USDT)'s transfer()
and transferFrom()
functions on L1 do not return booleans as the specification requires, and instead have no return value. When these sorts of tokens are cast to IERC20
, their function signatures do not match and therefore the calls made, revert (see this link for a test case).
Manual Code Review
Use OpenZeppelin’s SafeERC20
's safeTransfer()
/safeTransferFrom()
instead
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.