20,000 USDC
View results
Submission Details
Severity: medium

Unhandled ERC20 transfers return values

Summary

Unhandled return values on ERC20 transfers

Vulnerability Details

ERC20 implementations are not always consistent. Some implementations of transfer and transferFrom could return false on failure instead of reverting. It is safer to wrap such calls into require() statements to these failures.

Impact

All non-standard ERC20 implementations that do not use reverts on failure, including DAI among others.

Recommendations

Use OpenZeppelin SafeTransfer/SafeTransferFrom or implement your own.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.