use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::Binary;
#[non_exhaustive]
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum WasmQuery {
Smart {
contract_addr: String,
msg: Binary,
},
Raw {
contract_addr: String,
key: Binary,
},
ContractInfo { contract_addr: String },
}
#[non_exhaustive]
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
pub struct ContractInfoResponse {
pub code_id: u64,
pub creator: String,
pub admin: Option<String>,
pub pinned: bool,
pub ibc_port: Option<String>,
}
impl ContractInfoResponse {
#[doc(hidden)]
pub fn new(code_id: u64, creator: impl Into<String>) -> Self {
Self {
code_id,
creator: creator.into(),
admin: None,
pinned: false,
ibc_port: None,
}
}
}