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
Labels
stale
[bot only] Added to stale content; will be closed soon
The governance proposal may be "locked" in state
Succeeded
and won't be moved toCompleted
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 inCompleted
state afterFinalizeVote
ix.When there is the
use_deny_option = true
then the proposal ends inSucceeded
state. As there is no transaction to execute it's unclear to callExecuteTransaction
wish somenull
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:
solana-program-library/governance/program/src/state/proposal.rs
Line 415 in aaaf537
solana-program-library/governance/program/src/state/proposal.rs
Line 395 in aaaf537
Current behaviour of
Succeeded
toCompleted
state change:useDenyOption == false
; no transaction can be executed and theFinalizeVote
switches to end stateProposalState::Completed
useDenyOption == true
and no transactions; theFinalizeVote
switches toProposalState::Succeeded
and it's not possible (or unclear how) to move toCompleted
useDenyOption == true
+ transactions; theFinalizeVote
switches toProposalState::Succeeded
and thenExecuteTransaction
will run stored transactions and at the end moved toProposalState::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 aCompleted
state. It would work in the following use cases2) 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 longerThe text was updated successfully, but these errors were encountered: