The contract does not update userBalances when users send ETH in likeUser(), meaning users cannot earn any rewards from matching because the balance will always remain zero.
When a user calls likeUser(), they must send at least 1 ETH.However, this ETH is never assigned to userBalances[msg.sender].
Since matchRewards() only distributes rewards from userBalances, it will always process 0 ETH in rewards.
Users do not receive any matching rewards, making the matchmaking system pointless.
The contract accepts ETH but never properly tracks it, leading to unexpected behavior.
Manual contract review
Update userBalances[msg.sender] when a user deposits ETH in likeUser():
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.