You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey! Just noticed an interesting edge case with proposals in the Approved state that might be worth discussing.
Currently, once a proposal enters the Approved state (with its timelock countdown starting), there's no way to meaningfully change your vote if you were one of the approvers. While you can vote to cancel, this doesn't remove your original approval vote or reset the timelock countdown - it just adds your vote to a separate cancellation tally.
Here's a scenario where this gets tricky:
Let's say you have a timelock multisig where some keys get compromised. The attacker submits and approves a proposal, starting the 1-day timelock countdown. Even if you control one of the keys that voted to approve, changing that vote doesn't help much - you can't reset the timelock or move the proposal back to Active state. You'd need to reach a whole new threshold of cancel votes before the timelock expires.
Might be worth considering letting cancel votes remove approval votes (like reject votes do), or maybe resetting the timelock when approval votes change.
Hey! Just noticed an interesting edge case with proposals in the Approved state that might be worth discussing.
Currently, once a proposal enters the Approved state (with its timelock countdown starting), there's no way to meaningfully change your vote if you were one of the approvers. While you can vote to cancel, this doesn't remove your original approval vote or reset the timelock countdown - it just adds your vote to a separate cancellation tally.
Here's a scenario where this gets tricky:
Let's say you have a timelock multisig where some keys get compromised. The attacker submits and approves a proposal, starting the 1-day timelock countdown. Even if you control one of the keys that voted to approve, changing that vote doesn't help much - you can't reset the timelock or move the proposal back to Active state. You'd need to reach a whole new threshold of cancel votes before the timelock expires.
Might be worth considering letting cancel votes remove approval votes (like reject votes do), or maybe resetting the timelock when approval votes change.
See:
v4/programs/squads_multisig_program/src/state/proposal.rs
Lines 86 to 102 in 19597dc
vs.
v4/programs/squads_multisig_program/src/state/proposal.rs
Lines 64 to 74 in 19597dc
The text was updated successfully, but these errors were encountered: