Skip to content
This repository has been archived by the owner on Jan 10, 2025. It is now read-only.

governance: unify final proposal state as Completed for proposal with no transaction inserted #3772

Closed
ochaloup opened this issue Oct 28, 2022 · 0 comments
Labels
stale [bot only] Added to stale content; will be closed soon

Comments

@ochaloup
Copy link
Contributor

ochaloup commented Oct 28, 2022

The governance proposal may be "locked" in state Succeeded and won't be moved to Completed if one does not insert any transaction to be executed while want to use deny options.

When having a proposal withoug the transactions to be executed while creating the proposal with use_deny_option = false then the proposal finishes in Completed state after FinalizeVote ix.
When there is the use_deny_option = true then the proposal ends in Succeeded state. As there is no transaction to execute it's unclear to call ExecuteTransaction wish some null data (if it's even possible).
It should be clear and easy to move such a proposal to final state Completed.

The proposal finalize vote use deny vs. not use deny:

if self.deny_vote_weight.is_none() {

Current behaviour of Succeeded to Completed state change:

  • useDenyOption == false; no transaction can be executed and the FinalizeVote switches to end state ProposalState::Completed
  • useDenyOption == true and no transactions; the FinalizeVote switches to ProposalState::Succeeded and it's not possible (or unclear how) to move to Completed
  • useDenyOption == true + transactions; the FinalizeVote switches to ProposalState::Succeeded and then ExecuteTransaction will run stored transactions and at the end moved to ProposalState::Completed

As per discussion with @SebastianBor, see at
https://discord.com/channels/910194960941338677/910566058740568094/1035192118349668392
It could be a solution to add a new instruction CompleteProposal. If conditions are met then it would transition a proposal to a Completed state. It would work in the following use cases

  1. It would allow to transition past proposal which are stuck in Succeeded state
    2) It would allow to transition non executable proposals (ExecutingWithErrors) into Completed state after let's say 1 year of being in that state to make sure they are non actionable any longer
@github-actions github-actions bot added the stale [bot only] Added to stale content; will be closed soon label Feb 12, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
stale [bot only] Added to stale content; will be closed soon
Projects
None yet
Development

No branches or pull requests

1 participant