komple_framework_whitelist_module/
msg.rs1use cosmwasm_schema::{cw_serde, QueryResponses};
2use cosmwasm_std::Timestamp;
3use komple_framework_types::shared::query::ResponseWrapper;
4
5use crate::state::WhitelistConfig;
6
7#[cw_serde]
8pub struct InstantiateMsg {
9 pub members: Vec<String>,
10 pub config: WhitelistConfig,
11}
12
13#[cw_serde]
14pub enum ExecuteMsg {
15 UpdateWhitelistConfig { whitelist_config: WhitelistConfig },
16 AddMembers { members: Vec<String> },
17 RemoveMembers { members: Vec<String> },
18}
19
20#[cw_serde]
21#[derive(QueryResponses)]
22pub enum QueryMsg {
23 #[returns(ResponseWrapper<ConfigResponse>)]
24 Config {},
25 #[returns(ResponseWrapper<Vec<String>>)]
26 Members {
27 start_after: Option<String>,
28 limit: Option<u8>,
29 },
30 #[returns(ResponseWrapper<bool>)]
31 IsActive {},
32 #[returns(ResponseWrapper<bool>)]
33 IsMember { member: String },
34}
35
36#[cw_serde]
37pub struct ConfigResponse {
38 pub admin: String,
39 pub start_time: Timestamp,
40 pub end_time: Timestamp,
41 pub per_address_limit: u8,
42 pub member_limit: u16,
43 pub member_num: u16,
44 pub is_active: bool,
45}
46
47#[cw_serde]
48pub struct MigrateMsg {}