dao_interface/
migrate_msg.rs1use cosmwasm_schema::cw_serde;
5
6use crate::query::SubDao;
7use crate::state::ModuleInstantiateInfo;
8
9#[cw_serde]
10pub struct MigrateParams {
11 pub migrator_code_id: u64,
12 pub params: MigrateV1ToV2,
13}
14
15#[cw_serde]
16pub struct MigrateV1ToV2 {
17 pub sub_daos: Vec<SubDao>,
18 pub migration_params: MigrationModuleParams,
19 pub v1_code_ids: V1CodeIds,
20 pub v2_code_ids: V2CodeIds,
21}
22
23#[cw_serde]
25pub struct V1CodeIds {
26 pub proposal_single: u64,
27 pub cw4_voting: u64,
28 pub cw20_stake: u64,
29 pub cw20_staked_balances_voting: u64,
30}
31
32#[cw_serde]
34pub struct V2CodeIds {
35 pub proposal_single: u64,
36 pub cw4_voting: u64,
37 pub cw20_stake: u64,
38 pub cw20_staked_balances_voting: u64,
39}
40
41#[cw_serde]
43pub struct ProposalParams {
44 pub close_proposal_on_execution_failure: bool,
45 pub pre_propose_info: PreProposeInfo,
46}
47
48#[cw_serde]
49pub struct MigrationModuleParams {
50 pub migrate_stake_cw20_manager: Option<bool>,
56 pub proposal_params: Vec<(String, ProposalParams)>,
58}
59
60#[cw_serde]
61pub enum PreProposeInfo {
62 AnyoneMayPropose {},
64 ModuleMayPropose { info: ModuleInstantiateInfo },
67}