1use cosmwasm_std::{Addr, Uint128};
2use cw2::ContractVersion;
3use cw_utils::Expiration;
4use schemars::JsonSchema;
5use serde::{Deserialize, Serialize};
6
7use crate::state::Config;
8
9#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
12pub struct DumpStateResponse {
13 pub admin: Addr,
15 pub config: Config,
17 pub pause_info: PauseInfoResponse,
19 pub version: ContractVersion,
21 pub proposal_modules: Vec<Addr>,
24 pub voting_module: Addr,
26}
27
28#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
30pub enum PauseInfoResponse {
31 Paused { expiration: Expiration },
32 Unpaused {},
33}
34
35#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
37pub struct GetItemResponse {
38 pub item: Option<String>,
41}
42
43#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
45pub struct Cw20BalanceResponse {
46 pub addr: Addr,
48 pub balance: Uint128,
50}
51
52#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
54pub struct AdminNominationResponse {
55 pub nomination: Option<Addr>,
58}