LikeRegistry::matchRewards does not emit or store the deployed MultiSig wallet address, making it impossible for users to find their fundsWhen two users match in LikeRegistry::matchRewards, a new MultiSigWallet contract is deployed and funded with their pooled rewards. However, the address of this newly deployed multisig is never emitted in an event or stored in contract state. This means matched users have no way to discover the address of their shared wallet through the contract interface - they would need to manually trace the transaction on a block explorer to find it.
Note: Per the README, users should be able to "access" their shared multisig wallet for their first date, but the implementation provides no mechanism for users to discover the wallet address through the contract interface.
Likelihood:
Every time two users match, a MultiSig is deployed without any way for users to retrieve its address
This affects 100% of matches on the platform
Impact:
Users cannot find their shared MultiSig wallet address through the contract
Users must manually trace the match transaction on a block explorer to find their funds
Poor user experience and potential confusion about where funds went
If users don't know the address, they cannot interact with the MultiSig to withdraw funds
User1 and User2 both create profiles
User1 likes User2 (pays 1 ETH)
User2 likes User1 (pays 1 ETH) - this triggers a match
LikeRegistry::matchRewards deploys a new MultiSig with their pooled funds
Neither user has any way to query the contract for their MultiSig address
LikeRegistry::getMatches only returns matched addresses, not the MultiSig wallet
Add a mapping to store MultiSig addresses and emit an event when deployed:
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.