Unchecked ERC20 token transfer in BuyerAgent's withdraw function could lead to failed transfers going undetected.
Location: BuyerAgent.withdraw() [L262-277]
The function doesn't verify the return value from token.transfer(). Some ERC20 tokens like ZRX return false instead of reverting on failure.
High severity
Failed transfers could proceed silently
Users could lose funds when transfers fail but state changes still occur
Accounting errors from mismatched token balances
Manuel code review
Slither .
Use OpenZeppelin's SafeERC20:
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.