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