Open
Description
Current code for canceling a proposal checks first that the proposal is in a state that allows it:
require(
status != ProposalState.Canceled && status != ProposalState.Expired && status != ProposalState.Executed,
"Governor: proposal not active"
);
Is it expected that a Successful
, Defeated
or Queued
proposal that's not yet executed can be canceled? The documentation is not clear about this. To be honest, I have no idea what to expect from Governor._cancel
after reading the documentation 😅 : "Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted.
" 🤷
Also, the Expired
state seems specific to the GovernorTimelockCompound
extension, so maybe that reference belongs to the cancel condition there.