Users can cancel queued proposals
cancel requires either the msg.sender to cancel the proposal or anyone can do it if msg.sender has less tokens than proposalThreshold.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/governance/proposals/Governance.sol#L252
However an issue appears that any proposal, no matter at what stage can get canceled, and if so state returns Canceled
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/governance/proposals/Governance.sol#L288
Even proposals which have passed the quorum, have more FOR than AGAINST votes and are queued to be executed can be canceled.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/governance/proposals/Governance.sol#L220
Example:
There are a few active proposals
first is to change the threshold to 150k
second is to move funds around
third is to deploy and configure a new gouge
The second and third have passed and are already queued in the time lock
The first proposal gets executed
Malicious user calls cancel and prevents the already accepted and queued proposals from being executed
Change in proposalThreshold can instantly remove even queued proposals, that have passed all the necessary checks.
Manual review
If a proposal is queued don't cancel it even if the one who proposed happens to have less than proposalThreshold. Consider adding this:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.