Summary
cancel() allows non-proposer owners to cancel only when remaining_possible < threshold. There is no test verifying the boundary: exactly at the boundary (cannot cancel) vs one rejection past it (can cancel).
Tasks
Labels: testing, forge-multisig
Summary
cancel()allows non-proposer owners to cancel only whenremaining_possible < threshold. There is no test verifying the boundary: exactly at the boundary (cannot cancel) vs one rejection past it (can cancel).Tasks
o1proposes (1 approval, 0 rejections, 4 remaining possible — threshold reachable)o2rejects (1 approval, 1 rejection, 3 remaining — still reachable)o3rejects (1 approval, 2 rejections, 2 remaining — still reachable, 1+2=3 = threshold)o4attemptscancel()— assertErr(MultisigError::CannotCancel)(2 remaining == threshold)o4rejects (1 approval, 3 rejections, 1 remaining < threshold of 3)o5callscancel()— assert successproposal.cancelled == trueLabels:
testing,forge-multisig