Normal behavior: off-chain indexers/frontends should be able to determine from event logs alone whether a transaction has reached executable (2-of-2) status.
Specific issue: TransactionApproved only reports who just approved, not the combined approval state.
Likelihood: Occurs on every single approval, with no exception.
Impact: Observability/UX gap only — no fund-loss or access-control consequence, purely affects off-chain consumers' ability to determine executability from events alone.
No PoC is included: nothing on-chain behaves incorrectly — every require/state transition in MultiSig.sol still works as intended. The gap only affects what data an off-chain observer (indexer, frontend) receives, which isn't something a Foundry unit test on contract state can meaningfully assert against; it's demonstrated directly by comparing the event's parameter list to the state it would need to expose full quorum status.
Adding both approval booleans to the existing event lets any off-chain consumer determine full 2-of-2 status from a single log entry, instead of having to correlate multiple TransactionApproved events for the same _txId across time.
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.