Root Cause: The contract lacks a mechanism to withdraw ETH sent by users (except via withdrawFees
, which only handles fees). Since userBalances
are not updated, all ETH remains stuck.
Impact: Users cannot recover their ETH, leading to permanent fund loss.
Recommendation:
Add an emergency withdrawal function (guarded by multi-sig or timelock) to recover stuck ETH.
Fix the userBalances
tracking issue as above to prevent future locking.
Money collected will be sent to the MultisigWallet during the first match. Emergency withdraw could lead to a frontrun before a match. "If the like is mutual, all their previous like payments (minus a 10% fee) are pooled into a shared multisig wallet" Design choice
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.