Some ERC20 tokens (e.g. USDT, BNB, OMG) may incorrectly return false even when the operation was successful on approve. This inconsistency leads to incorrect assumptions about the success or failure of transactions in CapitalPool::approve.
CapitalPool::approve expecting a return value might incorrectly assume an operation has failed due to incorrect return values, leading to tokens becoming "stuck" within the contract.
Manual review.
Implement a control that considers also this case.
Invalid, low level call will always return true as long as the call succeeds without reverting, so this has no impact described, given approvals can only fail when some weird tokens do not allow a uint256.max approval, which is not described in any of the issues below.
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.