cosmwasm_std/query/
ibc.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use crate::ibc::IbcChannel;
5use crate::prelude::*;
6
7#[non_exhaustive]
10#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
11#[serde(rename_all = "snake_case")]
12pub enum IbcQuery {
13 PortId {},
17 ListChannels { port_id: Option<String> },
22 Channel {
28 channel_id: String,
29 port_id: Option<String>,
30 },
31 }
33
34#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
35#[non_exhaustive]
36pub struct PortIdResponse {
37 pub port_id: String,
38}
39
40impl_response_constructor!(PortIdResponse, port_id: String);
41
42#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
43#[non_exhaustive]
44pub struct ListChannelsResponse {
45 pub channels: Vec<IbcChannel>,
46}
47
48impl_response_constructor!(ListChannelsResponse, channels: Vec<IbcChannel>);
49
50#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
51#[non_exhaustive]
52pub struct ChannelResponse {
53 pub channel: Option<IbcChannel>,
54}
55
56impl_response_constructor!(ChannelResponse, channel: Option<IbcChannel>);