Normal behavior: The _payout function sends ETH to a recipient using a low-level .call. If the transfer fails (e.g., recipient is a smart contract that rejects ETH), the amount is credited in failedTransferCredits.
Issue: The function does not provide any immediate feedback to the caller when a payout fails. There is no event emitted, and the caller cannot tell whether the transfer succeeded or failed unless they manually check the mapping. This may lead to confusion and lost funds.
Likelihood:
Any payout to a smart contract that rejects ETH (no payable fallback/receive) will trigger this silently.
Occurs in common scenarios: failed seller payouts, fee withdrawals, overpay refunds, etc.
Impact:
Funds may remain in the contract indefinitely if recipients never claim from failedTransferCredits.
placeBid emits AuctionSettled even though the auction hasn’t ended, causing misleading event logs.
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.