DatingDapp

First Flight #33
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Incorrect Constructor Arguments in MultiSig Wallet Deployment

Summary

The contract deploy a MultiSigWallet instance using only two addresses:

MultiSigWallet multiSigWallet = new MultiSigWallet(from, to);

However, a standard MultiSig wallet requires:

  1. An array of owners (address[] memory owners) – This ensures multiple authorized signers can approve transactions.

  2. A required confirmation threshold (uint256 requiredConfirmations) – This defines how many owners must approve a transaction before execution.

Impact

  • The MultiSig wallet does not enforce multiple approvals, compromising security.

  • Transactions may lack proper authorization, leading to unauthorized fund transfers.

  • The contract may fail to deploy correctly, causing runtime errors or loss of funds.

Tools Used
manual review

Recommendations

MultiSigWallet multiSigWallet = new MultiSigWallet(owners, requiredConfirmations);

owners is an address[] containing multiple authorized signers.

  • requiredConfirmations is the number of approvals needed before a transaction is executed.

Updates

Appeal created

n0kto Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
Assigned finding tags:

Informational or Gas

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.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.