The likeUser
function fails to update the userBalances
mapping after receiving ETH payments. While the function requires a 1 ETH payment, it doesn't record this deposit to the sender's balance, causing protocol economics to fail.
Vulnerable Code:
Consequences:
All ETH sent to contract becomes permanently stuck
Match rewards calculations use zero balances (0 + 0 = 0 ETH)
Multisig wallets receive 0 ETH despite user payments
Protocol fees (totalFees
) never accumulate
Renders core matching functionality non-functional
Manual Code review
Likelihood: High, always. Impact: High, loss of funds
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.