How to queue, execute, and cancel proposals
Besides creating a proposal and voting on it, there are several other actions that can be taken: queuing, executing, and canceling.
Once voting ends, a proposal is not done. If a proposal passed, there are still more steps to take before it’s executed. A successful Governor proposal still needs to be queued—if the DAO uses a Timelock—and then executed.
Once a proposal passes, you can queue and execute it from the same place you voted:
Queue prepares a proposal for execution. The queue action sends the proposal to the Timelock contract, which starts the countdown until the proposal can be executed.
Someone needs to call the
queue()function because the EVM (Ethereum Virtual Machine) does not support scheduled or automatic calls. Every call must be kicked off by a user.
If a Governor does not have a Timelock, then proposals don’t need to be queued. They can be executed as soon as the proposal passes.
Generally, anyone can queue a proposal that has passed! The only exception is that some custom Governor contracts limit who can call
Executing a proposal runs its function calls onchain. Each proposal is associated with one or more function calls, which are visible in the
Executable Codesection of the Proposal page. These calls can do things like transfer assets from the treasury, update parameters of the Governor itself, change or upgrade a DeFi protocol, or call another smart contract.
Generally, anyone can execute a proposal that has passed! The only exception is when a custom Governor contract limits who can call
To cancel a proposal, click the three-dot menu to access additional actions. You can also copy the proposal's URL and view contextual information.
It depends! There isn’t a standard version of cancel logic across Governor implementations. Governor Alpha, Governor Bravo and OpenZeppelin Governor each have different behavior.
OpenZeppelin Governor leaves the cancellation up to the developer implementing the contract. Many DAOs implement a
Cancellerrole that gives a list of addresses the power to cancel proposals.
If the proposer’s voting power drops below the voting threshold, anyone can cancel that proposal.
Same as Governor Alpha. Also, the proposer can always cancel their proposal.
Not if it’s the exact same one. To re-submit a proposal, create a new proposal with the same executable code.