The MultiSig contract allows owners to submit and approve transactions, but there's no mechanism to cancel pending transactions. Once a transaction is submitted, it remains in the array forever, even if both parties agree they no longer want to execute it. This creates unnecessary transaction history and potential confusion.
### Root Cause
The contract only provides `submitTransaction()`, `approveTransaction()`, and `executeTransaction()` functions, but no cancellation mechanism.
Likelihood:
* Users may change their minds about a transaction after submission
* Mistakes in transaction details may require cancellation
* This will occur when users want to cancel but cannot
Impact:
* Poor user experience - users cannot cancel unwanted transactions
* Transaction array grows with invalid/unwanted entries
* Potential confusion when reviewing transaction history
* No way to clean up the transaction array
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.