20,000 USDC
View results
Submission Details
Severity: low

Staking.sol - deposit() - Staking will fail using USDT on mainnet - use safeTransferFrom()

Summary

IERC20 OZ's interface of transferFrom() expects that a boolean is returned. That's not the case in USDT's implementation in Ethereum Mainnet. Such, the call TKN.transferFrom() when TKN is USDT will fail, blocking the contract functionality.

Vulnerability Details

Every call to deposit() will fail.

Impact

The contract will be useless

Tools Used

Manual Review

Recommendations

Use safeTransferFrom() instead.

Support

FAQs

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