The protocol interacts with ERC20 tokens assuming all tokens revert on transfer failure. However, some widely used tokens (such as USDT-like implementations) return false instead of reverting.
When transfer return values are not checked, token transfers may silently fail while the protocol continues execution, leading to incorrect accounting or stuck funds.
Likelihood:
Non-standard ERC20 tokens exist and are widely used.
Token transfers can fail due to pause, blacklist, or insufficient balance while returning false.
Impact:
Protocol may assume tokens were transferred when they were not.
Funds may become stuck or accounting may become inconsistent.
Execution flow:
Stratax calls transfer()
Token returns false
Contract does not check return value
Execution continues assuming success
Later operations rely on incorrect balances
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.
The contest is complete and the rewards are being distributed.