1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use tg4::Member;
5
6#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
7#[serde(rename_all = "snake_case")]
8pub struct InstantiateMsg {
9 pub admin: Option<String>,
12 pub members: Vec<Member>,
13}
14
15#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
16#[serde(rename_all = "snake_case")]
17pub enum ExecuteMsg {
18 UpdateAdmin { admin: Option<String> },
20 UpdateMembers {
23 remove: Vec<String>,
24 add: Vec<Member>,
25 },
26 AddHook { addr: String },
28 RemoveHook { addr: String },
30}
31
32#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
33#[serde(rename_all = "snake_case")]
34pub enum QueryMsg {
35 Admin {},
37 TotalPoints {},
39 ListMembers {
41 start_after: Option<String>,
42 limit: Option<u32>,
43 },
44 Member {
46 addr: String,
47 at_height: Option<u64>,
48 },
49 Hooks {},
51}