komple_framework_hub_module/
msg.rs1use crate::state::HubInfo;
2use cosmwasm_schema::{cw_serde, QueryResponses};
3use cosmwasm_std::Binary;
4use komple_framework_types::shared::query::ResponseWrapper;
5
6#[cw_serde]
8pub struct InstantiateMsg {
9 pub hub_info: HubInfo,
11 pub marbu_fee_module: Option<String>,
13}
14
15#[cw_serde]
16pub enum ExecuteMsg {
17 RegisterModule {
22 code_id: u64,
23 module: String,
24 msg: Option<Binary>,
25 },
26 UpdateHubInfo {
30 name: String,
31 description: String,
32 image: String,
33 external_link: Option<String>,
34 },
35 DeregisterModule { module: String },
39 UpdateOperators { addrs: Vec<String> },
43 MigrateContracts {
47 code_id: u64,
48 contract_address: String,
49 msg: Binary,
50 },
51}
52
53#[cw_serde]
54#[derive(QueryResponses)]
55pub enum QueryMsg {
56 #[returns(ResponseWrapper<ConfigResponse>)]
58 Config {},
59 #[returns(ResponseWrapper<String>)]
61 ModuleAddress { module: String },
62 #[returns(ResponseWrapper<Vec<ModulesResponse>>)]
64 Modules {
65 start_after: Option<String>,
66 limit: Option<u8>,
67 },
68 #[returns(ResponseWrapper<Vec<String>>)]
70 Operators {},
71}
72
73#[cw_serde]
74pub struct ConfigResponse {
75 pub admin: String,
76 pub hub_info: HubInfo,
77}
78
79#[cw_serde]
80pub struct ModulesResponse {
81 pub name: String,
82 pub address: String,
83}
84
85#[cw_serde]
86pub struct MigrateMsg {}