The likeUser function accepts ETH payments but fails to properly track and manage user balances, potentially leading to lost funds.
When users send ETH to like another profile, the contract accepts the payment but doesn't update userBalances:
User payments are accepted but not tracked
When matches occur, the reward calculation will be incorrect
Users could lose their deposited ETH
Control flow analysis
Balance tracking verification
State management audit
Add balance tracking to likeUser function:
Add function to allow users to withdraw their balances if they change their mind
Implement balance checks before processing matches
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.