Skip to content

Governor: Clarify states when it's possible to cancel a proposal #3173

Open
@cygnusv

Description

@cygnusv

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions