If a user never achieves a match on the LikeRegistry
contract, there’s no refund mechanism in place, meaning the ETH they deposited remains permanently locked in the contract. This design flaw can lead to funds being inaccessible, effectively causing users to lose their deposits if no match occurs.
Manual code review
Add a unLike
function to the LikeRegistry
contract so that a user can get back the deposit if never matched:
Set a more strict require in likeUser
function to 1 ETH :
And add an UnLiked
event to the top of contract:
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelyhood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
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.