use cosmwasm_schema::cw_serde;
use cosmwasm_std::{Addr, Uint128};
use cw2::ContractVersion;
use cw_utils::Expiration;
use crate::state::{Config, ProposalModule};
#[cw_serde]
pub struct DumpStateResponse {
pub admin: Addr,
pub config: Config,
pub pause_info: PauseInfoResponse,
pub version: ContractVersion,
pub proposal_modules: Vec<ProposalModule>,
pub voting_module: Addr,
pub active_proposal_module_count: u32,
pub total_proposal_module_count: u32,
}
#[cw_serde]
pub enum PauseInfoResponse {
Paused { expiration: Expiration },
Unpaused {},
}
#[cw_serde]
pub struct GetItemResponse {
pub item: Option<String>,
}
#[cw_serde]
pub struct Cw20BalanceResponse {
pub addr: Addr,
pub balance: Uint128,
}
#[cw_serde]
pub struct AdminNominationResponse {
pub nomination: Option<Addr>,
}
#[cw_serde]
pub struct SubDao {
pub addr: String,
pub charter: Option<String>,
}
#[cw_serde]
pub struct DaoURIResponse {
pub dao_uri: Option<String>,
}
#[cw_serde]
pub struct ProposalModuleCountResponse {
pub active_proposal_module_count: u32,
pub total_proposal_module_count: u32,
}