dao_proposal_condorcet/
msg.rs

1use cosmwasm_schema::{cw_serde, QueryResponses};
2use cosmwasm_std::{CosmosMsg, Empty};
3
4use dao_dao_macros::proposal_module_query;
5
6use crate::config::UncheckedConfig;
7
8pub type InstantiateMsg = UncheckedConfig;
9
10#[cw_serde]
11pub struct Choice {
12    pub msgs: Vec<CosmosMsg<Empty>>,
13}
14
15#[cw_serde]
16pub enum ExecuteMsg {
17    Propose { choices: Vec<Choice> },
18    Vote { proposal_id: u32, vote: Vec<u32> },
19    Execute { proposal_id: u32 },
20    Close { proposal_id: u32 },
21    SetConfig(UncheckedConfig),
22}
23
24#[proposal_module_query]
25#[cw_serde]
26#[derive(QueryResponses)]
27pub enum QueryMsg {
28    #[returns(crate::proposal::ProposalResponse)]
29    Proposal { id: u32 },
30    #[returns(crate::config::Config)]
31    Config {},
32}