The LikeRegistry::likeUser function does not track the ETH deposited by users when they like someone. This results in an issue where, during a potential match, the matchRewards function attempts to pool ETH from the userBalances mapping, but since userBalances is never updated, the pooled balance remains zero. Consequently, the ETH sent by users remains locked in the contract permanently with no mechanism for withdrawal.
Permanent ETH Lockup: Users' ETH payments remain trapped in the contract, with no function allowing withdrawals.
Empty MultiSig Wallets: Since matchRewards relies on userBalances, all MultiSig wallets created will have a zero balance, making them unusable.
Protocol Failure: The DatingDapp protocol specifies that matched users should receive a pooled balance in a shared MultiSig wallet. However, due to this bug, the intended feature does not function correctly.
userBalances in likeUserModify the function to track ETH deposits correctly:
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.