When a user likes someone who does not reciprocate, the user should be able to reclaim their deposited ETH through a withdrawal function, either immediately or after a timeout period.
The LikeRegistry contract has no withdrawal function for users. Once ETH is sent via `likeUser()`, the only path for those funds is through `matchRewards()` on a mutual like. Non-reciprocated likes result in permanent fund lock with no recovery mechanism.
Likelihood:
Non-reciprocated likes are a common occurrence in dating applications - most likes do not result in matches
Every user who likes someone that doesn't like them back is affected
Impact:
Users permanently lose all ETH deposited for non-reciprocated likes
No timeout or expiry mechanism exists to eventually release funds
Combined with F-001, even matched users cannot access their funds
Creates significant financial risk for any user of the protocol
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.