The current implementation emits a Matched event that only includes the two matched users' addresses, while the deployed multisig wallet address is not captured. This oversight makes it difficult to retrieve or verify the address of the multisig wallet contract created during the match process.
When a mutual like is detected, the contract deploys a new MultiSigWallet for the matched users and forwards the match rewards there. However, the Matched event only takes two parameters (user1 and user2), providing no reference to the multisig wallet address. Consequently, off-chain systems or administrators lack an easy way to track, validate, or interact with the deployed multisig wallet for the match.
Lack of Transparency: External observers or off-chain applications cannot easily retrieve or verify the multisig wallet address associated with a match.
Auditing Difficulties: Tracking funds and cross-referencing events becomes harder as the multisig wallet address is not logged.
Operational Overhead: Without an easy method to identify the multisig wallet, manual intervention or additional on-chain queries may be required, affecting user trust or causing delays in fund management.
Manual Code Inspection
Modify the Matched Event: Update the event definition to include the multisig wallet address. For example:
Update the likeUser Function: After deploying the MultiSigWallet in the matchRewards function, emit the Matched event with the new multisig wallet address included:
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.