use bvs_pauser::api::Display;
use cosmwasm_schema::{cw_serde, QueryResponses};
#[cw_serde]
pub struct InstantiateMsg {
pub owner: String,
pub pauser: String,
pub registry: String,
pub router: String,
}
#[cw_serde]
#[derive(Display)]
pub enum ExecuteMsg {
DeployCw20 { cw20: String },
DeployBank { denom: String },
TransferOwnership { new_owner: String },
SetCodeId { code_id: u64, vault_type: VaultType },
}
#[cw_serde]
#[derive(Display)]
pub enum VaultType {
Bank,
Cw20,
}
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(CodeIdResponse)]
CodeId { vault_type: VaultType },
}
#[cw_serde]
struct CodeIdResponse(u64);