LikeRegistry does not track user balances, leading to locked ETH
The LikeRegistry fails to credit users' userBalances when ETH is sent during likeUser, resulting in zero rewards for matched pairs and permanent ETH loss.
The LikeUserfunction accepts ETH but fails to update the user balance mapping userBalances, causing all rewards to default to 0 during matches.
The ETH goes into the contract but the sender's balance in userBalanacesremain 0
When matches occur, matchRewards pools from userBalances (always zero), sending 90% of zero ETH to the multisig while retaining all user ETH in the contract.
This means all ETH sent with likes gets trapped in the contract
ETH is being permanently locked in the contract, rendering the core matching functionality non-functional and causing direct financial loss to users.
Manual review, Foundry test simulations.
Track ETH per user
In the likeUserfunction implement updating the userBalancesmapping with the value being sent.
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.