use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::ibc::IbcChannel;
use crate::prelude::*;
use crate::utils::impl_hidden_constructor;
#[non_exhaustive]
#[derive(
Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema, cw_schema::Schemaifier,
)]
#[serde(rename_all = "snake_case")]
pub enum IbcQuery {
PortId {},
Channel {
channel_id: String,
port_id: Option<String>,
},
}
#[derive(
Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema, cw_schema::Schemaifier,
)]
#[non_exhaustive]
pub struct PortIdResponse {
pub port_id: String,
}
impl_hidden_constructor!(PortIdResponse, port_id: String);
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[non_exhaustive]
pub struct ChannelResponse {
pub channel: Option<IbcChannel>,
}
impl_hidden_constructor!(ChannelResponse, channel: Option<IbcChannel>);