LikeRegistrySoulboundProfileNFT.burnProfile (line 44) and blockProfile (line 57) remove a user's profile NFT and profileToToken mapping, but neither notifies LikeRegistry. The user's likes, matches, and userBalances entries (LikeRegistry lines 20-22) are never cleared, leaving dating state that points at a profile which no longer exists.
Likelihood: Low. Occurs whenever a user deletes their profile or is blocked while having existing likes or matches.
Impact: Low. The two contracts desynchronize: LikeRegistry still lists the burned user in matches[other] and retains likes flags, so other users see and can interact with a ghost profile, and a later re-mint (see the ban-bypass finding) inherits stale likes records (likes[msg.sender][x] may still be true, blocking re-likes or producing inconsistent match logic). No direct fund loss, but the dating state is incorrect and confusing.
Create a like, burn the profile, and show the like flag persists in LikeRegistry.
Add a hook/notification so LikeRegistry clears the user's likes, matches, and userBalances when their profile is burned or blocked.
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.