pub enum ExecuteMsg {
Propose(MultipleChoiceProposeMsg),
Vote {
proposal_id: u64,
vote: MultipleChoiceVote,
rationale: Option<String>,
},
Execute {
proposal_id: u64,
},
Veto {
proposal_id: u64,
},
Close {
proposal_id: u64,
},
UpdateConfig {
voting_strategy: VotingStrategy,
min_voting_period: Option<Duration>,
max_voting_period: Duration,
only_members_execute: bool,
allow_revoting: bool,
dao: String,
close_proposal_on_execution_failure: bool,
veto: Option<VetoConfig>,
},
UpdateRationale {
proposal_id: u64,
rationale: Option<String>,
},
UpdatePreProposeInfo {
info: PreProposeInfo,
},
AddProposalHook {
address: String,
},
RemoveProposalHook {
address: String,
},
AddVoteHook {
address: String,
},
RemoveVoteHook {
address: String,
},
}Variants§
Propose(MultipleChoiceProposeMsg)
Creates a proposal in the governance module.
Vote
Votes on a proposal. Voting power is determined by the DAO’s voting power module.
Fields
vote: MultipleChoiceVoteThe senders position on the proposal.
Execute
Causes the messages associated with a passed proposal to be executed by the DAO.
Veto
Callable only if veto is configured
Close
Closes a proposal that has failed (either not passed or timed out). If applicable this will cause the proposal deposit associated wth said proposal to be returned.
UpdateConfig
Updates the governance module’s config.
Fields
voting_strategy: VotingStrategyThe new proposal voting strategy. This will only apply to proposals created after the config update.
min_voting_period: Option<Duration>The minimum amount of time a proposal must be open before passing. A proposal may fail before this amount of time has elapsed, but it will not pass. This can be useful for preventing governance attacks wherein an attacker aquires a large number of tokens and forces a proposal through.
max_voting_period: DurationThe default maximum amount of time a proposal may be voted on before expiring. This will only apply to proposals created after the config update.
only_members_execute: boolIf set to true only members may execute passed proposals. Otherwise, any address may execute a passed proposal. Applies to all outstanding and future proposals.
allow_revoting: boolAllows changing votes before the proposal expires. If this is enabled proposals will not be able to complete early as final vote information is not known until the time of proposal expiration.
close_proposal_on_execution_failure: boolIf set to true proposals will be closed if their execution fails. Otherwise, proposals will remain open after execution failure. For example, with this enabled a proposal to send 5 tokens out of a DAO’s treasury with 4 tokens would be closed when it is executed. With this disabled, that same proposal would remain open until the DAO’s treasury was large enough for it to be executed.
veto: Option<VetoConfig>Optional time delay on proposal execution, during which the proposal may be vetoed.
UpdateRationale
Updates the sender’s rationale for their vote on the specified proposal. Errors if no vote vote has been cast.
UpdatePreProposeInfo
Update’s the proposal creation policy used for this module. Only the DAO may call this method.
Fields
info: PreProposeInfoAddProposalHook
RemoveProposalHook
AddVoteHook
RemoveVoteHook
Trait Implementations§
Source§impl Clone for ExecuteMsg
impl Clone for ExecuteMsg
Source§fn clone(&self) -> ExecuteMsg
fn clone(&self) -> ExecuteMsg
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExecuteMsg
impl Debug for ExecuteMsg
Source§impl<'de> Deserialize<'de> for ExecuteMsg
impl<'de> Deserialize<'de> for ExecuteMsg
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ExecuteMsg
impl JsonSchema for ExecuteMsg
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more