sg_splits/
msg.rs

1use cosmwasm_schema::{cw_serde, QueryResponses};
2use cosmwasm_std::Addr;
3use sg_controllers::ContractInstantiateMsg;
4
5#[cw_serde]
6pub enum Group {
7    Cw4Instantiate(ContractInstantiateMsg),
8    Cw4Address(String),
9}
10
11#[cw_serde]
12pub struct InstantiateMsg {
13    pub admin: Option<String>,
14    pub group: Group,
15}
16
17#[cw_serde]
18pub enum ExecuteMsg {
19    UpdateAdmin { admin: Option<String> },
20    Distribute { denom_list: Option<Vec<String>> },
21}
22
23#[cw_serde]
24#[derive(QueryResponses)]
25pub enum QueryMsg {
26    #[returns(cw_controllers::AdminResponse)]
27    Admin {},
28
29    #[returns(Addr)]
30    Group {},
31
32    #[returns(cw4::MemberResponse)]
33    Member { address: String },
34
35    #[returns(cw4::MemberListResponse)]
36    ListMembers {
37        start_after: Option<String>,
38        limit: Option<u32>,
39    },
40}