use cosmwasm_schema::{cw_serde, QueryResponses};
use cw4::Member;
#[cw_serde]
pub struct InstantiateMsg {
pub admin: Option<String>,
pub members: Vec<Member>,
}
#[cw_serde]
pub enum ExecuteMsg {
UpdateAdmin { admin: Option<String> },
UpdateMembers {
remove: Vec<String>,
add: Vec<Member>,
},
AddHook { addr: String },
RemoveHook { addr: String },
}
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(cw_controllers::AdminResponse)]
Admin {},
#[returns(cw4::TotalWeightResponse)]
TotalWeight { at_height: Option<u64> },
#[returns(cw4::MemberListResponse)]
ListMembers {
start_after: Option<String>,
limit: Option<u32>,
},
#[returns(cw4::MemberResponse)]
Member {
addr: String,
at_height: Option<u64>,
},
#[returns(cw_controllers::HooksResponse)]
Hooks {},
}