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 LikeUser
function 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 userBalanaces
remain 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 likeUser
function implement updating the userBalances
mapping 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.