1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use cosmwasm_std::{Addr, CustomQuery};
5
6use crate::hooks::Privilege;
7use crate::validator::ValidatorVote;
8
9#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
10#[serde(rename_all = "snake_case")]
11pub enum TgradeQuery {
12 ValidatorVotes {},
14 ListPrivileged(Privilege),
17}
18
19impl CustomQuery for TgradeQuery {}
20
21#[derive(Serialize, Deserialize, Default, Clone, PartialEq, Eq, JsonSchema, Debug)]
22pub struct ValidatorVoteResponse {
23 pub votes: Vec<ValidatorVote>,
24}
25
26#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
27pub struct ListPrivilegedResponse {
28 pub privileged: Vec<Addr>,
30}