provwasm_std/types/ibc/core/channel/
v1.rs

1use provwasm_proc_macro::CosmwasmExt;
2/// Channel defines pipeline for exactly-once packet delivery between specific
3/// modules on separate blockchains, which has at least one end capable of
4/// sending packets and one end capable of receiving packets.
5#[allow(clippy::derive_partial_eq_without_eq)]
6#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
7#[proto_message(type_url = "/ibc.core.channel.v1.Channel")]
8pub struct Channel {
9    /// current state of the channel end
10    #[prost(enumeration = "State", tag = "1")]
11    pub state: i32,
12    /// whether the channel is ordered or unordered
13    #[prost(enumeration = "Order", tag = "2")]
14    pub ordering: i32,
15    /// counterparty channel end
16    #[prost(message, optional, tag = "3")]
17    pub counterparty: ::core::option::Option<Counterparty>,
18    /// list of connection identifiers, in order, along which packets sent on
19    /// this channel will travel
20    #[prost(string, repeated, tag = "4")]
21    pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
22    /// opaque channel version, which is agreed upon during the handshake
23    #[prost(string, tag = "5")]
24    pub version: ::prost::alloc::string::String,
25    /// upgrade sequence indicates the latest upgrade attempt performed by this channel
26    /// the value of 0 indicates the channel has never been upgraded
27    #[prost(uint64, tag = "6")]
28    pub upgrade_sequence: u64,
29}
30/// IdentifiedChannel defines a channel with additional port and channel
31/// identifier fields.
32#[allow(clippy::derive_partial_eq_without_eq)]
33#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
34#[proto_message(type_url = "/ibc.core.channel.v1.IdentifiedChannel")]
35pub struct IdentifiedChannel {
36    /// current state of the channel end
37    #[prost(enumeration = "State", tag = "1")]
38    pub state: i32,
39    /// whether the channel is ordered or unordered
40    #[prost(enumeration = "Order", tag = "2")]
41    pub ordering: i32,
42    /// counterparty channel end
43    #[prost(message, optional, tag = "3")]
44    pub counterparty: ::core::option::Option<Counterparty>,
45    /// list of connection identifiers, in order, along which packets sent on
46    /// this channel will travel
47    #[prost(string, repeated, tag = "4")]
48    pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
49    /// opaque channel version, which is agreed upon during the handshake
50    #[prost(string, tag = "5")]
51    pub version: ::prost::alloc::string::String,
52    /// port identifier
53    #[prost(string, tag = "6")]
54    pub port_id: ::prost::alloc::string::String,
55    /// channel identifier
56    #[prost(string, tag = "7")]
57    pub channel_id: ::prost::alloc::string::String,
58    /// upgrade sequence indicates the latest upgrade attempt performed by this channel
59    /// the value of 0 indicates the channel has never been upgraded
60    #[prost(uint64, tag = "8")]
61    pub upgrade_sequence: u64,
62}
63/// Counterparty defines a channel end counterparty
64#[allow(clippy::derive_partial_eq_without_eq)]
65#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
66#[proto_message(type_url = "/ibc.core.channel.v1.Counterparty")]
67pub struct Counterparty {
68    /// port on the counterparty chain which owns the other end of the channel.
69    #[prost(string, tag = "1")]
70    pub port_id: ::prost::alloc::string::String,
71    /// channel end on the counterparty chain
72    #[prost(string, tag = "2")]
73    pub channel_id: ::prost::alloc::string::String,
74}
75/// Packet defines a type that carries data across different chains through IBC
76#[allow(clippy::derive_partial_eq_without_eq)]
77#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
78#[proto_message(type_url = "/ibc.core.channel.v1.Packet")]
79pub struct Packet {
80    /// number corresponds to the order of sends and receives, where a Packet
81    /// with an earlier sequence number must be sent and received before a Packet
82    /// with a later sequence number.
83    #[prost(uint64, tag = "1")]
84    pub sequence: u64,
85    /// identifies the port on the sending chain.
86    #[prost(string, tag = "2")]
87    pub source_port: ::prost::alloc::string::String,
88    /// identifies the channel end on the sending chain.
89    #[prost(string, tag = "3")]
90    pub source_channel: ::prost::alloc::string::String,
91    /// identifies the port on the receiving chain.
92    #[prost(string, tag = "4")]
93    pub destination_port: ::prost::alloc::string::String,
94    /// identifies the channel end on the receiving chain.
95    #[prost(string, tag = "5")]
96    pub destination_channel: ::prost::alloc::string::String,
97    /// actual opaque bytes transferred directly to the application module
98    #[prost(bytes = "vec", tag = "6")]
99    pub data: ::prost::alloc::vec::Vec<u8>,
100    /// block height after which the packet times out
101    #[prost(message, optional, tag = "7")]
102    pub timeout_height: ::core::option::Option<super::super::client::v1::Height>,
103    /// block timestamp (in nanoseconds) after which the packet times out
104    #[prost(uint64, tag = "8")]
105    pub timeout_timestamp: u64,
106}
107/// PacketState defines the generic type necessary to retrieve and store
108/// packet commitments, acknowledgements, and receipts.
109/// Caller is responsible for knowing the context necessary to interpret this
110/// state as a commitment, acknowledgement, or a receipt.
111#[allow(clippy::derive_partial_eq_without_eq)]
112#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
113#[proto_message(type_url = "/ibc.core.channel.v1.PacketState")]
114pub struct PacketState {
115    /// channel port identifier.
116    #[prost(string, tag = "1")]
117    pub port_id: ::prost::alloc::string::String,
118    /// channel unique identifier.
119    #[prost(string, tag = "2")]
120    pub channel_id: ::prost::alloc::string::String,
121    /// packet sequence.
122    #[prost(uint64, tag = "3")]
123    pub sequence: u64,
124    /// embedded data that represents packet state.
125    #[prost(bytes = "vec", tag = "4")]
126    pub data: ::prost::alloc::vec::Vec<u8>,
127}
128/// PacketId is an identifer for a unique Packet
129/// Source chains refer to packets by source port/channel
130/// Destination chains refer to packets by destination port/channel
131#[allow(clippy::derive_partial_eq_without_eq)]
132#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
133#[proto_message(type_url = "/ibc.core.channel.v1.PacketId")]
134pub struct PacketId {
135    /// channel port identifier
136    #[prost(string, tag = "1")]
137    pub port_id: ::prost::alloc::string::String,
138    /// channel unique identifier
139    #[prost(string, tag = "2")]
140    pub channel_id: ::prost::alloc::string::String,
141    /// packet sequence
142    #[prost(uint64, tag = "3")]
143    pub sequence: u64,
144}
145/// Acknowledgement is the recommended acknowledgement format to be used by
146/// app-specific protocols.
147/// NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental
148/// conflicts with other protobuf message formats used for acknowledgements.
149/// The first byte of any message with this format will be the non-ASCII values
150/// `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS:
151/// <https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope>
152#[allow(clippy::derive_partial_eq_without_eq)]
153#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
154#[proto_message(type_url = "/ibc.core.channel.v1.Acknowledgement")]
155pub struct Acknowledgement {
156    /// response contains either a result or an error and must be non-empty
157    #[prost(oneof = "acknowledgement::Response", tags = "21, 22")]
158    pub response: ::core::option::Option<acknowledgement::Response>,
159}
160/// Nested message and enum types in `Acknowledgement`.
161pub mod acknowledgement {
162    use provwasm_proc_macro::CosmwasmExt;
163    /// response contains either a result or an error and must be non-empty
164    #[allow(clippy::derive_partial_eq_without_eq)]
165    #[derive(Clone, PartialEq, Eq, ::prost::Oneof, ::schemars::JsonSchema)]
166    pub enum Response {
167        #[prost(bytes, tag = "21")]
168        Result(::prost::alloc::vec::Vec<u8>),
169        #[prost(string, tag = "22")]
170        Error(::prost::alloc::string::String),
171    }
172}
173/// Timeout defines an execution deadline structure for 04-channel handlers.
174/// This includes packet lifecycle handlers as well as the upgrade handshake handlers.
175/// A valid Timeout contains either one or both of a timestamp and block height (sequence).
176#[allow(clippy::derive_partial_eq_without_eq)]
177#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
178#[proto_message(type_url = "/ibc.core.channel.v1.Timeout")]
179pub struct Timeout {
180    /// block height after which the packet or upgrade times out
181    #[prost(message, optional, tag = "1")]
182    pub height: ::core::option::Option<super::super::client::v1::Height>,
183    /// block timestamp (in nanoseconds) after which the packet or upgrade times out
184    #[prost(uint64, tag = "2")]
185    pub timestamp: u64,
186}
187/// Params defines the set of IBC channel parameters.
188#[allow(clippy::derive_partial_eq_without_eq)]
189#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
190#[proto_message(type_url = "/ibc.core.channel.v1.Params")]
191pub struct Params {
192    /// the relative timeout after which channel upgrades will time out.
193    #[prost(message, optional, tag = "1")]
194    pub upgrade_timeout: ::core::option::Option<Timeout>,
195}
196/// State defines if a channel is in one of the following states:
197/// CLOSED, INIT, TRYOPEN, OPEN, FLUSHING, FLUSHCOMPLETE or UNINITIALIZED.
198#[derive(
199    Clone,
200    Copy,
201    Debug,
202    PartialEq,
203    Eq,
204    Hash,
205    PartialOrd,
206    Ord,
207    ::prost::Enumeration,
208    ::schemars::JsonSchema,
209)]
210#[repr(i32)]
211pub enum State {
212    /// Default State
213    UninitializedUnspecified = 0,
214    /// A channel has just started the opening handshake.
215    Init = 1,
216    /// A channel has acknowledged the handshake step on the counterparty chain.
217    Tryopen = 2,
218    /// A channel has completed the handshake. Open channels are
219    /// ready to send and receive packets.
220    Open = 3,
221    /// A channel has been closed and can no longer be used to send or receive
222    /// packets.
223    Closed = 4,
224    /// A channel has just accepted the upgrade handshake attempt and is flushing in-flight packets.
225    Flushing = 5,
226    /// A channel has just completed flushing any in-flight packets.
227    Flushcomplete = 6,
228}
229impl State {
230    /// String value of the enum field names used in the ProtoBuf definition.
231    ///
232    /// The values are not transformed in any way and thus are considered stable
233    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
234    pub fn as_str_name(&self) -> &'static str {
235        match self {
236            State::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED",
237            State::Init => "STATE_INIT",
238            State::Tryopen => "STATE_TRYOPEN",
239            State::Open => "STATE_OPEN",
240            State::Closed => "STATE_CLOSED",
241            State::Flushing => "STATE_FLUSHING",
242            State::Flushcomplete => "STATE_FLUSHCOMPLETE",
243        }
244    }
245    /// Creates an enum from field names used in the ProtoBuf definition.
246    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
247        match value {
248            "STATE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified),
249            "STATE_INIT" => Some(Self::Init),
250            "STATE_TRYOPEN" => Some(Self::Tryopen),
251            "STATE_OPEN" => Some(Self::Open),
252            "STATE_CLOSED" => Some(Self::Closed),
253            "STATE_FLUSHING" => Some(Self::Flushing),
254            "STATE_FLUSHCOMPLETE" => Some(Self::Flushcomplete),
255            _ => None,
256        }
257    }
258}
259/// Order defines if a channel is ORDERED or UNORDERED
260#[derive(
261    Clone,
262    Copy,
263    Debug,
264    PartialEq,
265    Eq,
266    Hash,
267    PartialOrd,
268    Ord,
269    ::prost::Enumeration,
270    ::schemars::JsonSchema,
271)]
272#[repr(i32)]
273pub enum Order {
274    /// zero-value for channel ordering
275    NoneUnspecified = 0,
276    /// packets can be delivered in any order, which may differ from the order in
277    /// which they were sent.
278    Unordered = 1,
279    /// packets are delivered exactly in the order which they were sent
280    Ordered = 2,
281}
282impl Order {
283    /// String value of the enum field names used in the ProtoBuf definition.
284    ///
285    /// The values are not transformed in any way and thus are considered stable
286    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
287    pub fn as_str_name(&self) -> &'static str {
288        match self {
289            Order::NoneUnspecified => "ORDER_NONE_UNSPECIFIED",
290            Order::Unordered => "ORDER_UNORDERED",
291            Order::Ordered => "ORDER_ORDERED",
292        }
293    }
294    /// Creates an enum from field names used in the ProtoBuf definition.
295    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
296        match value {
297            "ORDER_NONE_UNSPECIFIED" => Some(Self::NoneUnspecified),
298            "ORDER_UNORDERED" => Some(Self::Unordered),
299            "ORDER_ORDERED" => Some(Self::Ordered),
300            _ => None,
301        }
302    }
303}
304/// GenesisState defines the ibc channel submodule's genesis state.
305#[allow(clippy::derive_partial_eq_without_eq)]
306#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
307#[proto_message(type_url = "/ibc.core.channel.v1.GenesisState")]
308pub struct GenesisState {
309    #[prost(message, repeated, tag = "1")]
310    pub channels: ::prost::alloc::vec::Vec<IdentifiedChannel>,
311    #[prost(message, repeated, tag = "2")]
312    pub acknowledgements: ::prost::alloc::vec::Vec<PacketState>,
313    #[prost(message, repeated, tag = "3")]
314    pub commitments: ::prost::alloc::vec::Vec<PacketState>,
315    #[prost(message, repeated, tag = "4")]
316    pub receipts: ::prost::alloc::vec::Vec<PacketState>,
317    #[prost(message, repeated, tag = "5")]
318    pub send_sequences: ::prost::alloc::vec::Vec<PacketSequence>,
319    #[prost(message, repeated, tag = "6")]
320    pub recv_sequences: ::prost::alloc::vec::Vec<PacketSequence>,
321    #[prost(message, repeated, tag = "7")]
322    pub ack_sequences: ::prost::alloc::vec::Vec<PacketSequence>,
323    /// the sequence for the next generated channel identifier
324    #[prost(uint64, tag = "8")]
325    pub next_channel_sequence: u64,
326    #[prost(message, optional, tag = "9")]
327    pub params: ::core::option::Option<Params>,
328}
329/// PacketSequence defines the genesis type necessary to retrieve and store
330/// next send and receive sequences.
331#[allow(clippy::derive_partial_eq_without_eq)]
332#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
333#[proto_message(type_url = "/ibc.core.channel.v1.PacketSequence")]
334pub struct PacketSequence {
335    #[prost(string, tag = "1")]
336    pub port_id: ::prost::alloc::string::String,
337    #[prost(string, tag = "2")]
338    pub channel_id: ::prost::alloc::string::String,
339    #[prost(uint64, tag = "3")]
340    pub sequence: u64,
341}
342/// Upgrade is a verifiable type which contains the relevant information
343/// for an attempted upgrade. It provides the proposed changes to the channel
344/// end, the timeout for this upgrade attempt and the next packet sequence
345/// which allows the counterparty to efficiently know the highest sequence it has received.
346/// The next sequence send is used for pruning and upgrading from unordered to ordered channels.
347#[allow(clippy::derive_partial_eq_without_eq)]
348#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
349#[proto_message(type_url = "/ibc.core.channel.v1.Upgrade")]
350pub struct Upgrade {
351    #[prost(message, optional, tag = "1")]
352    pub fields: ::core::option::Option<UpgradeFields>,
353    #[prost(message, optional, tag = "2")]
354    pub timeout: ::core::option::Option<Timeout>,
355    #[prost(uint64, tag = "3")]
356    pub next_sequence_send: u64,
357}
358/// UpgradeFields are the fields in a channel end which may be changed
359/// during a channel upgrade.
360#[allow(clippy::derive_partial_eq_without_eq)]
361#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
362#[proto_message(type_url = "/ibc.core.channel.v1.UpgradeFields")]
363pub struct UpgradeFields {
364    #[prost(enumeration = "Order", tag = "1")]
365    pub ordering: i32,
366    #[prost(string, repeated, tag = "2")]
367    pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
368    #[prost(string, tag = "3")]
369    pub version: ::prost::alloc::string::String,
370}
371/// ErrorReceipt defines a type which encapsulates the upgrade sequence and error associated with the
372/// upgrade handshake failure. When a channel upgrade handshake is aborted both chains are expected to increment to the
373/// next sequence.
374#[allow(clippy::derive_partial_eq_without_eq)]
375#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
376#[proto_message(type_url = "/ibc.core.channel.v1.ErrorReceipt")]
377pub struct ErrorReceipt {
378    /// the channel upgrade sequence
379    #[prost(uint64, tag = "1")]
380    pub sequence: u64,
381    /// the error message detailing the cause of failure
382    #[prost(string, tag = "2")]
383    pub message: ::prost::alloc::string::String,
384}
385/// QueryChannelRequest is the request type for the Query/Channel RPC method
386#[allow(clippy::derive_partial_eq_without_eq)]
387#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
388#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelRequest")]
389#[proto_query(
390    path = "/ibc.core.channel.v1.Query/Channel",
391    response_type = QueryChannelResponse
392)]
393pub struct QueryChannelRequest {
394    /// port unique identifier
395    #[prost(string, tag = "1")]
396    pub port_id: ::prost::alloc::string::String,
397    /// channel unique identifier
398    #[prost(string, tag = "2")]
399    pub channel_id: ::prost::alloc::string::String,
400}
401/// QueryChannelResponse is the response type for the Query/Channel RPC method.
402/// Besides the Channel end, it includes a proof and the height from which the
403/// proof was retrieved.
404#[allow(clippy::derive_partial_eq_without_eq)]
405#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
406#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelResponse")]
407pub struct QueryChannelResponse {
408    /// channel associated with the request identifiers
409    #[prost(message, optional, tag = "1")]
410    pub channel: ::core::option::Option<Channel>,
411    /// merkle proof of existence
412    #[prost(bytes = "vec", tag = "2")]
413    pub proof: ::prost::alloc::vec::Vec<u8>,
414    /// height at which the proof was retrieved
415    #[prost(message, optional, tag = "3")]
416    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
417}
418/// QueryChannelsRequest is the request type for the Query/Channels RPC method
419#[allow(clippy::derive_partial_eq_without_eq)]
420#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
421#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelsRequest")]
422#[proto_query(
423    path = "/ibc.core.channel.v1.Query/Channels",
424    response_type = QueryChannelsResponse
425)]
426pub struct QueryChannelsRequest {
427    /// pagination request
428    #[prost(message, optional, tag = "1")]
429    pub pagination: ::core::option::Option<
430        super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
431    >,
432}
433/// QueryChannelsResponse is the response type for the Query/Channels RPC method.
434#[allow(clippy::derive_partial_eq_without_eq)]
435#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
436#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelsResponse")]
437pub struct QueryChannelsResponse {
438    /// list of stored channels of the chain.
439    #[prost(message, repeated, tag = "1")]
440    pub channels: ::prost::alloc::vec::Vec<IdentifiedChannel>,
441    /// pagination response
442    #[prost(message, optional, tag = "2")]
443    pub pagination: ::core::option::Option<
444        super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
445    >,
446    /// query block height
447    #[prost(message, optional, tag = "3")]
448    pub height: ::core::option::Option<super::super::client::v1::Height>,
449}
450/// QueryConnectionChannelsRequest is the request type for the
451/// Query/QueryConnectionChannels RPC method
452#[allow(clippy::derive_partial_eq_without_eq)]
453#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
454#[proto_message(type_url = "/ibc.core.channel.v1.QueryConnectionChannelsRequest")]
455#[proto_query(
456    path = "/ibc.core.channel.v1.Query/ConnectionChannels",
457    response_type = QueryConnectionChannelsResponse
458)]
459pub struct QueryConnectionChannelsRequest {
460    /// connection unique identifier
461    #[prost(string, tag = "1")]
462    pub connection: ::prost::alloc::string::String,
463    /// pagination request
464    #[prost(message, optional, tag = "2")]
465    pub pagination: ::core::option::Option<
466        super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
467    >,
468}
469/// QueryConnectionChannelsResponse is the Response type for the
470/// Query/QueryConnectionChannels RPC method
471#[allow(clippy::derive_partial_eq_without_eq)]
472#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
473#[proto_message(type_url = "/ibc.core.channel.v1.QueryConnectionChannelsResponse")]
474pub struct QueryConnectionChannelsResponse {
475    /// list of channels associated with a connection.
476    #[prost(message, repeated, tag = "1")]
477    pub channels: ::prost::alloc::vec::Vec<IdentifiedChannel>,
478    /// pagination response
479    #[prost(message, optional, tag = "2")]
480    pub pagination: ::core::option::Option<
481        super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
482    >,
483    /// query block height
484    #[prost(message, optional, tag = "3")]
485    pub height: ::core::option::Option<super::super::client::v1::Height>,
486}
487/// QueryChannelClientStateRequest is the request type for the Query/ClientState
488/// RPC method
489#[allow(clippy::derive_partial_eq_without_eq)]
490#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
491#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelClientStateRequest")]
492#[proto_query(
493    path = "/ibc.core.channel.v1.Query/ChannelClientState",
494    response_type = QueryChannelClientStateResponse
495)]
496pub struct QueryChannelClientStateRequest {
497    /// port unique identifier
498    #[prost(string, tag = "1")]
499    pub port_id: ::prost::alloc::string::String,
500    /// channel unique identifier
501    #[prost(string, tag = "2")]
502    pub channel_id: ::prost::alloc::string::String,
503}
504/// QueryChannelClientStateResponse is the Response type for the
505/// Query/QueryChannelClientState RPC method
506#[allow(clippy::derive_partial_eq_without_eq)]
507#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
508#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelClientStateResponse")]
509pub struct QueryChannelClientStateResponse {
510    /// client state associated with the channel
511    #[prost(message, optional, tag = "1")]
512    pub identified_client_state:
513        ::core::option::Option<super::super::client::v1::IdentifiedClientState>,
514    /// merkle proof of existence
515    #[prost(bytes = "vec", tag = "2")]
516    pub proof: ::prost::alloc::vec::Vec<u8>,
517    /// height at which the proof was retrieved
518    #[prost(message, optional, tag = "3")]
519    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
520}
521/// QueryChannelConsensusStateRequest is the request type for the
522/// Query/ConsensusState RPC method
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
525#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelConsensusStateRequest")]
526#[proto_query(
527    path = "/ibc.core.channel.v1.Query/ChannelConsensusState",
528    response_type = QueryChannelConsensusStateResponse
529)]
530pub struct QueryChannelConsensusStateRequest {
531    /// port unique identifier
532    #[prost(string, tag = "1")]
533    pub port_id: ::prost::alloc::string::String,
534    /// channel unique identifier
535    #[prost(string, tag = "2")]
536    pub channel_id: ::prost::alloc::string::String,
537    /// revision number of the consensus state
538    #[prost(uint64, tag = "3")]
539    pub revision_number: u64,
540    /// revision height of the consensus state
541    #[prost(uint64, tag = "4")]
542    pub revision_height: u64,
543}
544/// QueryChannelClientStateResponse is the Response type for the
545/// Query/QueryChannelClientState RPC method
546#[allow(clippy::derive_partial_eq_without_eq)]
547#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
548#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelConsensusStateResponse")]
549pub struct QueryChannelConsensusStateResponse {
550    /// consensus state associated with the channel
551    #[prost(message, optional, tag = "1")]
552    pub consensus_state: ::core::option::Option<crate::shim::Any>,
553    /// client ID associated with the consensus state
554    #[prost(string, tag = "2")]
555    pub client_id: ::prost::alloc::string::String,
556    /// merkle proof of existence
557    #[prost(bytes = "vec", tag = "3")]
558    pub proof: ::prost::alloc::vec::Vec<u8>,
559    /// height at which the proof was retrieved
560    #[prost(message, optional, tag = "4")]
561    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
562}
563/// QueryPacketCommitmentRequest is the request type for the
564/// Query/PacketCommitment RPC method
565#[allow(clippy::derive_partial_eq_without_eq)]
566#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
567#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketCommitmentRequest")]
568#[proto_query(
569    path = "/ibc.core.channel.v1.Query/PacketCommitment",
570    response_type = QueryPacketCommitmentResponse
571)]
572pub struct QueryPacketCommitmentRequest {
573    /// port unique identifier
574    #[prost(string, tag = "1")]
575    pub port_id: ::prost::alloc::string::String,
576    /// channel unique identifier
577    #[prost(string, tag = "2")]
578    pub channel_id: ::prost::alloc::string::String,
579    /// packet sequence
580    #[prost(uint64, tag = "3")]
581    pub sequence: u64,
582}
583/// QueryPacketCommitmentResponse defines the client query response for a packet
584/// which also includes a proof and the height from which the proof was
585/// retrieved
586#[allow(clippy::derive_partial_eq_without_eq)]
587#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
588#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketCommitmentResponse")]
589pub struct QueryPacketCommitmentResponse {
590    /// packet associated with the request fields
591    #[prost(bytes = "vec", tag = "1")]
592    pub commitment: ::prost::alloc::vec::Vec<u8>,
593    /// merkle proof of existence
594    #[prost(bytes = "vec", tag = "2")]
595    pub proof: ::prost::alloc::vec::Vec<u8>,
596    /// height at which the proof was retrieved
597    #[prost(message, optional, tag = "3")]
598    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
599}
600/// QueryPacketCommitmentsRequest is the request type for the
601/// Query/QueryPacketCommitments RPC method
602#[allow(clippy::derive_partial_eq_without_eq)]
603#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
604#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketCommitmentsRequest")]
605#[proto_query(
606    path = "/ibc.core.channel.v1.Query/PacketCommitments",
607    response_type = QueryPacketCommitmentsResponse
608)]
609pub struct QueryPacketCommitmentsRequest {
610    /// port unique identifier
611    #[prost(string, tag = "1")]
612    pub port_id: ::prost::alloc::string::String,
613    /// channel unique identifier
614    #[prost(string, tag = "2")]
615    pub channel_id: ::prost::alloc::string::String,
616    /// pagination request
617    #[prost(message, optional, tag = "3")]
618    pub pagination: ::core::option::Option<
619        super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
620    >,
621}
622/// QueryPacketCommitmentsResponse is the request type for the
623/// Query/QueryPacketCommitments RPC method
624#[allow(clippy::derive_partial_eq_without_eq)]
625#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
626#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketCommitmentsResponse")]
627pub struct QueryPacketCommitmentsResponse {
628    #[prost(message, repeated, tag = "1")]
629    pub commitments: ::prost::alloc::vec::Vec<PacketState>,
630    /// pagination response
631    #[prost(message, optional, tag = "2")]
632    pub pagination: ::core::option::Option<
633        super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
634    >,
635    /// query block height
636    #[prost(message, optional, tag = "3")]
637    pub height: ::core::option::Option<super::super::client::v1::Height>,
638}
639/// QueryPacketReceiptRequest is the request type for the
640/// Query/PacketReceipt RPC method
641#[allow(clippy::derive_partial_eq_without_eq)]
642#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
643#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketReceiptRequest")]
644#[proto_query(
645    path = "/ibc.core.channel.v1.Query/PacketReceipt",
646    response_type = QueryPacketReceiptResponse
647)]
648pub struct QueryPacketReceiptRequest {
649    /// port unique identifier
650    #[prost(string, tag = "1")]
651    pub port_id: ::prost::alloc::string::String,
652    /// channel unique identifier
653    #[prost(string, tag = "2")]
654    pub channel_id: ::prost::alloc::string::String,
655    /// packet sequence
656    #[prost(uint64, tag = "3")]
657    pub sequence: u64,
658}
659/// QueryPacketReceiptResponse defines the client query response for a packet
660/// receipt which also includes a proof, and the height from which the proof was
661/// retrieved
662#[allow(clippy::derive_partial_eq_without_eq)]
663#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
664#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketReceiptResponse")]
665pub struct QueryPacketReceiptResponse {
666    /// success flag for if receipt exists
667    #[prost(bool, tag = "2")]
668    pub received: bool,
669    /// merkle proof of existence
670    #[prost(bytes = "vec", tag = "3")]
671    pub proof: ::prost::alloc::vec::Vec<u8>,
672    /// height at which the proof was retrieved
673    #[prost(message, optional, tag = "4")]
674    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
675}
676/// QueryPacketAcknowledgementRequest is the request type for the
677/// Query/PacketAcknowledgement RPC method
678#[allow(clippy::derive_partial_eq_without_eq)]
679#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
680#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketAcknowledgementRequest")]
681#[proto_query(
682    path = "/ibc.core.channel.v1.Query/PacketAcknowledgement",
683    response_type = QueryPacketAcknowledgementResponse
684)]
685pub struct QueryPacketAcknowledgementRequest {
686    /// port unique identifier
687    #[prost(string, tag = "1")]
688    pub port_id: ::prost::alloc::string::String,
689    /// channel unique identifier
690    #[prost(string, tag = "2")]
691    pub channel_id: ::prost::alloc::string::String,
692    /// packet sequence
693    #[prost(uint64, tag = "3")]
694    pub sequence: u64,
695}
696/// QueryPacketAcknowledgementResponse defines the client query response for a
697/// packet which also includes a proof and the height from which the
698/// proof was retrieved
699#[allow(clippy::derive_partial_eq_without_eq)]
700#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
701#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketAcknowledgementResponse")]
702pub struct QueryPacketAcknowledgementResponse {
703    /// packet associated with the request fields
704    #[prost(bytes = "vec", tag = "1")]
705    pub acknowledgement: ::prost::alloc::vec::Vec<u8>,
706    /// merkle proof of existence
707    #[prost(bytes = "vec", tag = "2")]
708    pub proof: ::prost::alloc::vec::Vec<u8>,
709    /// height at which the proof was retrieved
710    #[prost(message, optional, tag = "3")]
711    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
712}
713/// QueryPacketAcknowledgementsRequest is the request type for the
714/// Query/QueryPacketCommitments RPC method
715#[allow(clippy::derive_partial_eq_without_eq)]
716#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
717#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketAcknowledgementsRequest")]
718#[proto_query(
719    path = "/ibc.core.channel.v1.Query/PacketAcknowledgements",
720    response_type = QueryPacketAcknowledgementsResponse
721)]
722pub struct QueryPacketAcknowledgementsRequest {
723    /// port unique identifier
724    #[prost(string, tag = "1")]
725    pub port_id: ::prost::alloc::string::String,
726    /// channel unique identifier
727    #[prost(string, tag = "2")]
728    pub channel_id: ::prost::alloc::string::String,
729    /// pagination request
730    #[prost(message, optional, tag = "3")]
731    pub pagination: ::core::option::Option<
732        super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
733    >,
734    /// list of packet sequences
735    #[prost(uint64, repeated, tag = "4")]
736    pub packet_commitment_sequences: ::prost::alloc::vec::Vec<u64>,
737}
738/// QueryPacketAcknowledgemetsResponse is the request type for the
739/// Query/QueryPacketAcknowledgements RPC method
740#[allow(clippy::derive_partial_eq_without_eq)]
741#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
742#[proto_message(type_url = "/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse")]
743pub struct QueryPacketAcknowledgementsResponse {
744    #[prost(message, repeated, tag = "1")]
745    pub acknowledgements: ::prost::alloc::vec::Vec<PacketState>,
746    /// pagination response
747    #[prost(message, optional, tag = "2")]
748    pub pagination: ::core::option::Option<
749        super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
750    >,
751    /// query block height
752    #[prost(message, optional, tag = "3")]
753    pub height: ::core::option::Option<super::super::client::v1::Height>,
754}
755/// QueryUnreceivedPacketsRequest is the request type for the
756/// Query/UnreceivedPackets RPC method
757#[allow(clippy::derive_partial_eq_without_eq)]
758#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
759#[proto_message(type_url = "/ibc.core.channel.v1.QueryUnreceivedPacketsRequest")]
760#[proto_query(
761    path = "/ibc.core.channel.v1.Query/UnreceivedPackets",
762    response_type = QueryUnreceivedPacketsResponse
763)]
764pub struct QueryUnreceivedPacketsRequest {
765    /// port unique identifier
766    #[prost(string, tag = "1")]
767    pub port_id: ::prost::alloc::string::String,
768    /// channel unique identifier
769    #[prost(string, tag = "2")]
770    pub channel_id: ::prost::alloc::string::String,
771    /// list of packet sequences
772    #[prost(uint64, repeated, tag = "3")]
773    pub packet_commitment_sequences: ::prost::alloc::vec::Vec<u64>,
774}
775/// QueryUnreceivedPacketsResponse is the response type for the
776/// Query/UnreceivedPacketCommitments RPC method
777#[allow(clippy::derive_partial_eq_without_eq)]
778#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
779#[proto_message(type_url = "/ibc.core.channel.v1.QueryUnreceivedPacketsResponse")]
780pub struct QueryUnreceivedPacketsResponse {
781    /// list of unreceived packet sequences
782    #[prost(uint64, repeated, tag = "1")]
783    pub sequences: ::prost::alloc::vec::Vec<u64>,
784    /// query block height
785    #[prost(message, optional, tag = "2")]
786    pub height: ::core::option::Option<super::super::client::v1::Height>,
787}
788/// QueryUnreceivedAcks is the request type for the
789/// Query/UnreceivedAcks RPC method
790#[allow(clippy::derive_partial_eq_without_eq)]
791#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
792#[proto_message(type_url = "/ibc.core.channel.v1.QueryUnreceivedAcksRequest")]
793#[proto_query(
794    path = "/ibc.core.channel.v1.Query/UnreceivedAcks",
795    response_type = QueryUnreceivedAcksResponse
796)]
797pub struct QueryUnreceivedAcksRequest {
798    /// port unique identifier
799    #[prost(string, tag = "1")]
800    pub port_id: ::prost::alloc::string::String,
801    /// channel unique identifier
802    #[prost(string, tag = "2")]
803    pub channel_id: ::prost::alloc::string::String,
804    /// list of acknowledgement sequences
805    #[prost(uint64, repeated, tag = "3")]
806    pub packet_ack_sequences: ::prost::alloc::vec::Vec<u64>,
807}
808/// QueryUnreceivedAcksResponse is the response type for the
809/// Query/UnreceivedAcks RPC method
810#[allow(clippy::derive_partial_eq_without_eq)]
811#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
812#[proto_message(type_url = "/ibc.core.channel.v1.QueryUnreceivedAcksResponse")]
813pub struct QueryUnreceivedAcksResponse {
814    /// list of unreceived acknowledgement sequences
815    #[prost(uint64, repeated, tag = "1")]
816    pub sequences: ::prost::alloc::vec::Vec<u64>,
817    /// query block height
818    #[prost(message, optional, tag = "2")]
819    pub height: ::core::option::Option<super::super::client::v1::Height>,
820}
821/// QueryNextSequenceReceiveRequest is the request type for the
822/// Query/QueryNextSequenceReceiveRequest RPC method
823#[allow(clippy::derive_partial_eq_without_eq)]
824#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
825#[proto_message(type_url = "/ibc.core.channel.v1.QueryNextSequenceReceiveRequest")]
826#[proto_query(
827    path = "/ibc.core.channel.v1.Query/NextSequenceReceive",
828    response_type = QueryNextSequenceReceiveResponse
829)]
830pub struct QueryNextSequenceReceiveRequest {
831    /// port unique identifier
832    #[prost(string, tag = "1")]
833    pub port_id: ::prost::alloc::string::String,
834    /// channel unique identifier
835    #[prost(string, tag = "2")]
836    pub channel_id: ::prost::alloc::string::String,
837}
838/// QuerySequenceResponse is the response type for the
839/// Query/QueryNextSequenceReceiveResponse RPC method
840#[allow(clippy::derive_partial_eq_without_eq)]
841#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
842#[proto_message(type_url = "/ibc.core.channel.v1.QueryNextSequenceReceiveResponse")]
843pub struct QueryNextSequenceReceiveResponse {
844    /// next sequence receive number
845    #[prost(uint64, tag = "1")]
846    pub next_sequence_receive: u64,
847    /// merkle proof of existence
848    #[prost(bytes = "vec", tag = "2")]
849    pub proof: ::prost::alloc::vec::Vec<u8>,
850    /// height at which the proof was retrieved
851    #[prost(message, optional, tag = "3")]
852    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
853}
854/// QueryNextSequenceSendRequest is the request type for the
855/// Query/QueryNextSequenceSend RPC method
856#[allow(clippy::derive_partial_eq_without_eq)]
857#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
858#[proto_message(type_url = "/ibc.core.channel.v1.QueryNextSequenceSendRequest")]
859#[proto_query(
860    path = "/ibc.core.channel.v1.Query/NextSequenceSend",
861    response_type = QueryNextSequenceSendResponse
862)]
863pub struct QueryNextSequenceSendRequest {
864    /// port unique identifier
865    #[prost(string, tag = "1")]
866    pub port_id: ::prost::alloc::string::String,
867    /// channel unique identifier
868    #[prost(string, tag = "2")]
869    pub channel_id: ::prost::alloc::string::String,
870}
871/// QueryNextSequenceSendResponse is the request type for the
872/// Query/QueryNextSequenceSend RPC method
873#[allow(clippy::derive_partial_eq_without_eq)]
874#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
875#[proto_message(type_url = "/ibc.core.channel.v1.QueryNextSequenceSendResponse")]
876pub struct QueryNextSequenceSendResponse {
877    /// next sequence send number
878    #[prost(uint64, tag = "1")]
879    pub next_sequence_send: u64,
880    /// merkle proof of existence
881    #[prost(bytes = "vec", tag = "2")]
882    pub proof: ::prost::alloc::vec::Vec<u8>,
883    /// height at which the proof was retrieved
884    #[prost(message, optional, tag = "3")]
885    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
886}
887/// QueryUpgradeErrorRequest is the request type for the Query/QueryUpgradeError RPC method
888#[allow(clippy::derive_partial_eq_without_eq)]
889#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
890#[proto_message(type_url = "/ibc.core.channel.v1.QueryUpgradeErrorRequest")]
891#[proto_query(
892    path = "/ibc.core.channel.v1.Query/UpgradeError",
893    response_type = QueryUpgradeErrorResponse
894)]
895pub struct QueryUpgradeErrorRequest {
896    #[prost(string, tag = "1")]
897    pub port_id: ::prost::alloc::string::String,
898    #[prost(string, tag = "2")]
899    pub channel_id: ::prost::alloc::string::String,
900}
901/// QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method
902#[allow(clippy::derive_partial_eq_without_eq)]
903#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
904#[proto_message(type_url = "/ibc.core.channel.v1.QueryUpgradeErrorResponse")]
905pub struct QueryUpgradeErrorResponse {
906    #[prost(message, optional, tag = "1")]
907    pub error_receipt: ::core::option::Option<ErrorReceipt>,
908    /// merkle proof of existence
909    #[prost(bytes = "vec", tag = "2")]
910    pub proof: ::prost::alloc::vec::Vec<u8>,
911    /// height at which the proof was retrieved
912    #[prost(message, optional, tag = "3")]
913    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
914}
915/// QueryUpgradeRequest is the request type for the QueryUpgradeRequest RPC method
916#[allow(clippy::derive_partial_eq_without_eq)]
917#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
918#[proto_message(type_url = "/ibc.core.channel.v1.QueryUpgradeRequest")]
919#[proto_query(
920    path = "/ibc.core.channel.v1.Query/Upgrade",
921    response_type = QueryUpgradeResponse
922)]
923pub struct QueryUpgradeRequest {
924    #[prost(string, tag = "1")]
925    pub port_id: ::prost::alloc::string::String,
926    #[prost(string, tag = "2")]
927    pub channel_id: ::prost::alloc::string::String,
928}
929/// QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method
930#[allow(clippy::derive_partial_eq_without_eq)]
931#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
932#[proto_message(type_url = "/ibc.core.channel.v1.QueryUpgradeResponse")]
933pub struct QueryUpgradeResponse {
934    #[prost(message, optional, tag = "1")]
935    pub upgrade: ::core::option::Option<Upgrade>,
936    /// merkle proof of existence
937    #[prost(bytes = "vec", tag = "2")]
938    pub proof: ::prost::alloc::vec::Vec<u8>,
939    /// height at which the proof was retrieved
940    #[prost(message, optional, tag = "3")]
941    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
942}
943/// QueryChannelParamsRequest is the request type for the Query/ChannelParams RPC method.
944#[allow(clippy::derive_partial_eq_without_eq)]
945#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
946#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelParamsRequest")]
947#[proto_query(
948    path = "/ibc.core.channel.v1.Query/ChannelParams",
949    response_type = QueryChannelParamsResponse
950)]
951pub struct QueryChannelParamsRequest {}
952/// QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.
953#[allow(clippy::derive_partial_eq_without_eq)]
954#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
955#[proto_message(type_url = "/ibc.core.channel.v1.QueryChannelParamsResponse")]
956pub struct QueryChannelParamsResponse {
957    /// params defines the parameters of the module.
958    #[prost(message, optional, tag = "1")]
959    pub params: ::core::option::Option<Params>,
960}
961/// MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It
962/// is called by a relayer on Chain A.
963#[allow(clippy::derive_partial_eq_without_eq)]
964#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
965#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenInit")]
966pub struct MsgChannelOpenInit {
967    #[prost(string, tag = "1")]
968    pub port_id: ::prost::alloc::string::String,
969    #[prost(message, optional, tag = "2")]
970    pub channel: ::core::option::Option<Channel>,
971    #[prost(string, tag = "3")]
972    pub signer: ::prost::alloc::string::String,
973}
974/// MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type.
975#[allow(clippy::derive_partial_eq_without_eq)]
976#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
977#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenInitResponse")]
978pub struct MsgChannelOpenInitResponse {
979    #[prost(string, tag = "1")]
980    pub channel_id: ::prost::alloc::string::String,
981    #[prost(string, tag = "2")]
982    pub version: ::prost::alloc::string::String,
983}
984/// MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel
985/// on Chain B. The version field within the Channel field has been deprecated. Its
986/// value will be ignored by core IBC.
987#[allow(clippy::derive_partial_eq_without_eq)]
988#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
989#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenTry")]
990pub struct MsgChannelOpenTry {
991    #[prost(string, tag = "1")]
992    pub port_id: ::prost::alloc::string::String,
993    /// Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.
994    #[deprecated]
995    #[prost(string, tag = "2")]
996    pub previous_channel_id: ::prost::alloc::string::String,
997    /// NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.
998    #[prost(message, optional, tag = "3")]
999    pub channel: ::core::option::Option<Channel>,
1000    #[prost(string, tag = "4")]
1001    pub counterparty_version: ::prost::alloc::string::String,
1002    #[prost(bytes = "vec", tag = "5")]
1003    pub proof_init: ::prost::alloc::vec::Vec<u8>,
1004    #[prost(message, optional, tag = "6")]
1005    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1006    #[prost(string, tag = "7")]
1007    pub signer: ::prost::alloc::string::String,
1008}
1009/// MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type.
1010#[allow(clippy::derive_partial_eq_without_eq)]
1011#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1012#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenTryResponse")]
1013pub struct MsgChannelOpenTryResponse {
1014    #[prost(string, tag = "1")]
1015    pub version: ::prost::alloc::string::String,
1016    #[prost(string, tag = "2")]
1017    pub channel_id: ::prost::alloc::string::String,
1018}
1019/// MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge
1020/// the change of channel state to TRYOPEN on Chain B.
1021/// WARNING: a channel upgrade MUST NOT initialize an upgrade for this channel
1022/// in the same block as executing this message otherwise the counterparty will
1023/// be incapable of opening.
1024#[allow(clippy::derive_partial_eq_without_eq)]
1025#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1026#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenAck")]
1027pub struct MsgChannelOpenAck {
1028    #[prost(string, tag = "1")]
1029    pub port_id: ::prost::alloc::string::String,
1030    #[prost(string, tag = "2")]
1031    pub channel_id: ::prost::alloc::string::String,
1032    #[prost(string, tag = "3")]
1033    pub counterparty_channel_id: ::prost::alloc::string::String,
1034    #[prost(string, tag = "4")]
1035    pub counterparty_version: ::prost::alloc::string::String,
1036    #[prost(bytes = "vec", tag = "5")]
1037    pub proof_try: ::prost::alloc::vec::Vec<u8>,
1038    #[prost(message, optional, tag = "6")]
1039    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1040    #[prost(string, tag = "7")]
1041    pub signer: ::prost::alloc::string::String,
1042}
1043/// MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type.
1044#[allow(clippy::derive_partial_eq_without_eq)]
1045#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1046#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenAckResponse")]
1047pub struct MsgChannelOpenAckResponse {}
1048/// MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to
1049/// acknowledge the change of channel state to OPEN on Chain A.
1050#[allow(clippy::derive_partial_eq_without_eq)]
1051#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1052#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenConfirm")]
1053pub struct MsgChannelOpenConfirm {
1054    #[prost(string, tag = "1")]
1055    pub port_id: ::prost::alloc::string::String,
1056    #[prost(string, tag = "2")]
1057    pub channel_id: ::prost::alloc::string::String,
1058    #[prost(bytes = "vec", tag = "3")]
1059    pub proof_ack: ::prost::alloc::vec::Vec<u8>,
1060    #[prost(message, optional, tag = "4")]
1061    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1062    #[prost(string, tag = "5")]
1063    pub signer: ::prost::alloc::string::String,
1064}
1065/// MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response
1066/// type.
1067#[allow(clippy::derive_partial_eq_without_eq)]
1068#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1069#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelOpenConfirmResponse")]
1070pub struct MsgChannelOpenConfirmResponse {}
1071/// MsgChannelCloseInit defines a msg sent by a Relayer to Chain A
1072/// to close a channel with Chain B.
1073#[allow(clippy::derive_partial_eq_without_eq)]
1074#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1075#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelCloseInit")]
1076pub struct MsgChannelCloseInit {
1077    #[prost(string, tag = "1")]
1078    pub port_id: ::prost::alloc::string::String,
1079    #[prost(string, tag = "2")]
1080    pub channel_id: ::prost::alloc::string::String,
1081    #[prost(string, tag = "3")]
1082    pub signer: ::prost::alloc::string::String,
1083}
1084/// MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type.
1085#[allow(clippy::derive_partial_eq_without_eq)]
1086#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1087#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelCloseInitResponse")]
1088pub struct MsgChannelCloseInitResponse {}
1089/// MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B
1090/// to acknowledge the change of channel state to CLOSED on Chain A.
1091#[allow(clippy::derive_partial_eq_without_eq)]
1092#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1093#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelCloseConfirm")]
1094pub struct MsgChannelCloseConfirm {
1095    #[prost(string, tag = "1")]
1096    pub port_id: ::prost::alloc::string::String,
1097    #[prost(string, tag = "2")]
1098    pub channel_id: ::prost::alloc::string::String,
1099    #[prost(bytes = "vec", tag = "3")]
1100    pub proof_init: ::prost::alloc::vec::Vec<u8>,
1101    #[prost(message, optional, tag = "4")]
1102    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1103    #[prost(string, tag = "5")]
1104    pub signer: ::prost::alloc::string::String,
1105    #[prost(uint64, tag = "6")]
1106    pub counterparty_upgrade_sequence: u64,
1107}
1108/// MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response
1109/// type.
1110#[allow(clippy::derive_partial_eq_without_eq)]
1111#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1112#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelCloseConfirmResponse")]
1113pub struct MsgChannelCloseConfirmResponse {}
1114/// MsgRecvPacket receives incoming IBC packet
1115#[allow(clippy::derive_partial_eq_without_eq)]
1116#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1117#[proto_message(type_url = "/ibc.core.channel.v1.MsgRecvPacket")]
1118pub struct MsgRecvPacket {
1119    #[prost(message, optional, tag = "1")]
1120    pub packet: ::core::option::Option<Packet>,
1121    #[prost(bytes = "vec", tag = "2")]
1122    pub proof_commitment: ::prost::alloc::vec::Vec<u8>,
1123    #[prost(message, optional, tag = "3")]
1124    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1125    #[prost(string, tag = "4")]
1126    pub signer: ::prost::alloc::string::String,
1127}
1128/// MsgRecvPacketResponse defines the Msg/RecvPacket response type.
1129#[allow(clippy::derive_partial_eq_without_eq)]
1130#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1131#[proto_message(type_url = "/ibc.core.channel.v1.MsgRecvPacketResponse")]
1132pub struct MsgRecvPacketResponse {
1133    #[prost(enumeration = "ResponseResultType", tag = "1")]
1134    pub result: i32,
1135}
1136/// MsgTimeout receives timed-out packet
1137#[allow(clippy::derive_partial_eq_without_eq)]
1138#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1139#[proto_message(type_url = "/ibc.core.channel.v1.MsgTimeout")]
1140pub struct MsgTimeout {
1141    #[prost(message, optional, tag = "1")]
1142    pub packet: ::core::option::Option<Packet>,
1143    #[prost(bytes = "vec", tag = "2")]
1144    pub proof_unreceived: ::prost::alloc::vec::Vec<u8>,
1145    #[prost(message, optional, tag = "3")]
1146    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1147    #[prost(uint64, tag = "4")]
1148    pub next_sequence_recv: u64,
1149    #[prost(string, tag = "5")]
1150    pub signer: ::prost::alloc::string::String,
1151}
1152/// MsgTimeoutResponse defines the Msg/Timeout response type.
1153#[allow(clippy::derive_partial_eq_without_eq)]
1154#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1155#[proto_message(type_url = "/ibc.core.channel.v1.MsgTimeoutResponse")]
1156pub struct MsgTimeoutResponse {
1157    #[prost(enumeration = "ResponseResultType", tag = "1")]
1158    pub result: i32,
1159}
1160/// MsgTimeoutOnClose timed-out packet upon counterparty channel closure.
1161#[allow(clippy::derive_partial_eq_without_eq)]
1162#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1163#[proto_message(type_url = "/ibc.core.channel.v1.MsgTimeoutOnClose")]
1164pub struct MsgTimeoutOnClose {
1165    #[prost(message, optional, tag = "1")]
1166    pub packet: ::core::option::Option<Packet>,
1167    #[prost(bytes = "vec", tag = "2")]
1168    pub proof_unreceived: ::prost::alloc::vec::Vec<u8>,
1169    #[prost(bytes = "vec", tag = "3")]
1170    pub proof_close: ::prost::alloc::vec::Vec<u8>,
1171    #[prost(message, optional, tag = "4")]
1172    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1173    #[prost(uint64, tag = "5")]
1174    pub next_sequence_recv: u64,
1175    #[prost(string, tag = "6")]
1176    pub signer: ::prost::alloc::string::String,
1177    #[prost(uint64, tag = "7")]
1178    pub counterparty_upgrade_sequence: u64,
1179}
1180/// MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type.
1181#[allow(clippy::derive_partial_eq_without_eq)]
1182#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1183#[proto_message(type_url = "/ibc.core.channel.v1.MsgTimeoutOnCloseResponse")]
1184pub struct MsgTimeoutOnCloseResponse {
1185    #[prost(enumeration = "ResponseResultType", tag = "1")]
1186    pub result: i32,
1187}
1188/// MsgAcknowledgement receives incoming IBC acknowledgement
1189#[allow(clippy::derive_partial_eq_without_eq)]
1190#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1191#[proto_message(type_url = "/ibc.core.channel.v1.MsgAcknowledgement")]
1192pub struct MsgAcknowledgement {
1193    #[prost(message, optional, tag = "1")]
1194    pub packet: ::core::option::Option<Packet>,
1195    #[prost(bytes = "vec", tag = "2")]
1196    pub acknowledgement: ::prost::alloc::vec::Vec<u8>,
1197    #[prost(bytes = "vec", tag = "3")]
1198    pub proof_acked: ::prost::alloc::vec::Vec<u8>,
1199    #[prost(message, optional, tag = "4")]
1200    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1201    #[prost(string, tag = "5")]
1202    pub signer: ::prost::alloc::string::String,
1203}
1204/// MsgAcknowledgementResponse defines the Msg/Acknowledgement response type.
1205#[allow(clippy::derive_partial_eq_without_eq)]
1206#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1207#[proto_message(type_url = "/ibc.core.channel.v1.MsgAcknowledgementResponse")]
1208pub struct MsgAcknowledgementResponse {
1209    #[prost(enumeration = "ResponseResultType", tag = "1")]
1210    pub result: i32,
1211}
1212/// MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc
1213/// WARNING: Initializing a channel upgrade in the same block as opening the channel
1214/// may result in the counterparty being incapable of opening.
1215#[allow(clippy::derive_partial_eq_without_eq)]
1216#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1217#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeInit")]
1218pub struct MsgChannelUpgradeInit {
1219    #[prost(string, tag = "1")]
1220    pub port_id: ::prost::alloc::string::String,
1221    #[prost(string, tag = "2")]
1222    pub channel_id: ::prost::alloc::string::String,
1223    #[prost(message, optional, tag = "3")]
1224    pub fields: ::core::option::Option<UpgradeFields>,
1225    #[prost(string, tag = "4")]
1226    pub signer: ::prost::alloc::string::String,
1227}
1228/// MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type
1229#[allow(clippy::derive_partial_eq_without_eq)]
1230#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1231#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeInitResponse")]
1232pub struct MsgChannelUpgradeInitResponse {
1233    #[prost(message, optional, tag = "1")]
1234    pub upgrade: ::core::option::Option<Upgrade>,
1235    #[prost(uint64, tag = "2")]
1236    pub upgrade_sequence: u64,
1237}
1238/// MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc
1239#[allow(clippy::derive_partial_eq_without_eq)]
1240#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1241#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeTry")]
1242pub struct MsgChannelUpgradeTry {
1243    #[prost(string, tag = "1")]
1244    pub port_id: ::prost::alloc::string::String,
1245    #[prost(string, tag = "2")]
1246    pub channel_id: ::prost::alloc::string::String,
1247    #[prost(string, repeated, tag = "3")]
1248    pub proposed_upgrade_connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1249    #[prost(message, optional, tag = "4")]
1250    pub counterparty_upgrade_fields: ::core::option::Option<UpgradeFields>,
1251    #[prost(uint64, tag = "5")]
1252    pub counterparty_upgrade_sequence: u64,
1253    #[prost(bytes = "vec", tag = "6")]
1254    pub proof_channel: ::prost::alloc::vec::Vec<u8>,
1255    #[prost(bytes = "vec", tag = "7")]
1256    pub proof_upgrade: ::prost::alloc::vec::Vec<u8>,
1257    #[prost(message, optional, tag = "8")]
1258    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1259    #[prost(string, tag = "9")]
1260    pub signer: ::prost::alloc::string::String,
1261}
1262/// MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type
1263#[allow(clippy::derive_partial_eq_without_eq)]
1264#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1265#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeTryResponse")]
1266pub struct MsgChannelUpgradeTryResponse {
1267    #[prost(message, optional, tag = "1")]
1268    pub upgrade: ::core::option::Option<Upgrade>,
1269    #[prost(uint64, tag = "2")]
1270    pub upgrade_sequence: u64,
1271    #[prost(enumeration = "ResponseResultType", tag = "3")]
1272    pub result: i32,
1273}
1274/// MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc
1275#[allow(clippy::derive_partial_eq_without_eq)]
1276#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1277#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeAck")]
1278pub struct MsgChannelUpgradeAck {
1279    #[prost(string, tag = "1")]
1280    pub port_id: ::prost::alloc::string::String,
1281    #[prost(string, tag = "2")]
1282    pub channel_id: ::prost::alloc::string::String,
1283    #[prost(message, optional, tag = "3")]
1284    pub counterparty_upgrade: ::core::option::Option<Upgrade>,
1285    #[prost(bytes = "vec", tag = "4")]
1286    pub proof_channel: ::prost::alloc::vec::Vec<u8>,
1287    #[prost(bytes = "vec", tag = "5")]
1288    pub proof_upgrade: ::prost::alloc::vec::Vec<u8>,
1289    #[prost(message, optional, tag = "6")]
1290    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1291    #[prost(string, tag = "7")]
1292    pub signer: ::prost::alloc::string::String,
1293}
1294/// MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type
1295#[allow(clippy::derive_partial_eq_without_eq)]
1296#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1297#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeAckResponse")]
1298pub struct MsgChannelUpgradeAckResponse {
1299    #[prost(enumeration = "ResponseResultType", tag = "1")]
1300    pub result: i32,
1301}
1302/// MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc
1303#[allow(clippy::derive_partial_eq_without_eq)]
1304#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1305#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeConfirm")]
1306pub struct MsgChannelUpgradeConfirm {
1307    #[prost(string, tag = "1")]
1308    pub port_id: ::prost::alloc::string::String,
1309    #[prost(string, tag = "2")]
1310    pub channel_id: ::prost::alloc::string::String,
1311    #[prost(enumeration = "State", tag = "3")]
1312    pub counterparty_channel_state: i32,
1313    #[prost(message, optional, tag = "4")]
1314    pub counterparty_upgrade: ::core::option::Option<Upgrade>,
1315    #[prost(bytes = "vec", tag = "5")]
1316    pub proof_channel: ::prost::alloc::vec::Vec<u8>,
1317    #[prost(bytes = "vec", tag = "6")]
1318    pub proof_upgrade: ::prost::alloc::vec::Vec<u8>,
1319    #[prost(message, optional, tag = "7")]
1320    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1321    #[prost(string, tag = "8")]
1322    pub signer: ::prost::alloc::string::String,
1323}
1324/// MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type
1325#[allow(clippy::derive_partial_eq_without_eq)]
1326#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1327#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeConfirmResponse")]
1328pub struct MsgChannelUpgradeConfirmResponse {
1329    #[prost(enumeration = "ResponseResultType", tag = "1")]
1330    pub result: i32,
1331}
1332/// MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc
1333#[allow(clippy::derive_partial_eq_without_eq)]
1334#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1335#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeOpen")]
1336pub struct MsgChannelUpgradeOpen {
1337    #[prost(string, tag = "1")]
1338    pub port_id: ::prost::alloc::string::String,
1339    #[prost(string, tag = "2")]
1340    pub channel_id: ::prost::alloc::string::String,
1341    #[prost(enumeration = "State", tag = "3")]
1342    pub counterparty_channel_state: i32,
1343    #[prost(uint64, tag = "4")]
1344    pub counterparty_upgrade_sequence: u64,
1345    #[prost(bytes = "vec", tag = "5")]
1346    pub proof_channel: ::prost::alloc::vec::Vec<u8>,
1347    #[prost(message, optional, tag = "6")]
1348    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1349    #[prost(string, tag = "7")]
1350    pub signer: ::prost::alloc::string::String,
1351}
1352/// MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type
1353#[allow(clippy::derive_partial_eq_without_eq)]
1354#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1355#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeOpenResponse")]
1356pub struct MsgChannelUpgradeOpenResponse {}
1357/// MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc
1358#[allow(clippy::derive_partial_eq_without_eq)]
1359#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1360#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeTimeout")]
1361pub struct MsgChannelUpgradeTimeout {
1362    #[prost(string, tag = "1")]
1363    pub port_id: ::prost::alloc::string::String,
1364    #[prost(string, tag = "2")]
1365    pub channel_id: ::prost::alloc::string::String,
1366    #[prost(message, optional, tag = "3")]
1367    pub counterparty_channel: ::core::option::Option<Channel>,
1368    #[prost(bytes = "vec", tag = "4")]
1369    pub proof_channel: ::prost::alloc::vec::Vec<u8>,
1370    #[prost(message, optional, tag = "5")]
1371    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1372    #[prost(string, tag = "6")]
1373    pub signer: ::prost::alloc::string::String,
1374}
1375/// MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type
1376#[allow(clippy::derive_partial_eq_without_eq)]
1377#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1378#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeTimeoutResponse")]
1379pub struct MsgChannelUpgradeTimeoutResponse {}
1380/// MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc
1381#[allow(clippy::derive_partial_eq_without_eq)]
1382#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1383#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeCancel")]
1384pub struct MsgChannelUpgradeCancel {
1385    #[prost(string, tag = "1")]
1386    pub port_id: ::prost::alloc::string::String,
1387    #[prost(string, tag = "2")]
1388    pub channel_id: ::prost::alloc::string::String,
1389    #[prost(message, optional, tag = "3")]
1390    pub error_receipt: ::core::option::Option<ErrorReceipt>,
1391    #[prost(bytes = "vec", tag = "4")]
1392    pub proof_error_receipt: ::prost::alloc::vec::Vec<u8>,
1393    #[prost(message, optional, tag = "5")]
1394    pub proof_height: ::core::option::Option<super::super::client::v1::Height>,
1395    #[prost(string, tag = "6")]
1396    pub signer: ::prost::alloc::string::String,
1397}
1398/// MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type
1399#[allow(clippy::derive_partial_eq_without_eq)]
1400#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1401#[proto_message(type_url = "/ibc.core.channel.v1.MsgChannelUpgradeCancelResponse")]
1402pub struct MsgChannelUpgradeCancelResponse {}
1403/// MsgUpdateParams is the MsgUpdateParams request type.
1404#[allow(clippy::derive_partial_eq_without_eq)]
1405#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1406#[proto_message(type_url = "/ibc.core.channel.v1.MsgUpdateParams")]
1407pub struct MsgUpdateParams {
1408    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
1409    #[prost(string, tag = "1")]
1410    pub authority: ::prost::alloc::string::String,
1411    /// params defines the channel parameters to update.
1412    ///
1413    /// NOTE: All parameters must be supplied.
1414    #[prost(message, optional, tag = "2")]
1415    pub params: ::core::option::Option<Params>,
1416}
1417/// MsgUpdateParamsResponse defines the MsgUpdateParams response type.
1418#[allow(clippy::derive_partial_eq_without_eq)]
1419#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1420#[proto_message(type_url = "/ibc.core.channel.v1.MsgUpdateParamsResponse")]
1421pub struct MsgUpdateParamsResponse {}
1422/// MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc.
1423#[allow(clippy::derive_partial_eq_without_eq)]
1424#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1425#[proto_message(type_url = "/ibc.core.channel.v1.MsgPruneAcknowledgements")]
1426pub struct MsgPruneAcknowledgements {
1427    #[prost(string, tag = "1")]
1428    pub port_id: ::prost::alloc::string::String,
1429    #[prost(string, tag = "2")]
1430    pub channel_id: ::prost::alloc::string::String,
1431    #[prost(uint64, tag = "3")]
1432    pub limit: u64,
1433    #[prost(string, tag = "4")]
1434    pub signer: ::prost::alloc::string::String,
1435}
1436/// MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc.
1437#[allow(clippy::derive_partial_eq_without_eq)]
1438#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1439#[proto_message(type_url = "/ibc.core.channel.v1.MsgPruneAcknowledgementsResponse")]
1440pub struct MsgPruneAcknowledgementsResponse {
1441    /// Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate).
1442    #[prost(uint64, tag = "1")]
1443    pub total_pruned_sequences: u64,
1444    /// Number of sequences left after pruning.
1445    #[prost(uint64, tag = "2")]
1446    pub total_remaining_sequences: u64,
1447}
1448/// ResponseResultType defines the possible outcomes of the execution of a message
1449#[derive(
1450    Clone,
1451    Copy,
1452    Debug,
1453    PartialEq,
1454    Eq,
1455    Hash,
1456    PartialOrd,
1457    Ord,
1458    ::prost::Enumeration,
1459    ::schemars::JsonSchema,
1460)]
1461#[repr(i32)]
1462pub enum ResponseResultType {
1463    /// Default zero value enumeration
1464    Unspecified = 0,
1465    /// The message did not call the IBC application callbacks (because, for example, the packet had already been relayed)
1466    Noop = 1,
1467    /// The message was executed successfully
1468    Success = 2,
1469    /// The message was executed unsuccessfully
1470    Failure = 3,
1471}
1472impl ResponseResultType {
1473    /// String value of the enum field names used in the ProtoBuf definition.
1474    ///
1475    /// The values are not transformed in any way and thus are considered stable
1476    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1477    pub fn as_str_name(&self) -> &'static str {
1478        match self {
1479            ResponseResultType::Unspecified => "RESPONSE_RESULT_TYPE_UNSPECIFIED",
1480            ResponseResultType::Noop => "RESPONSE_RESULT_TYPE_NOOP",
1481            ResponseResultType::Success => "RESPONSE_RESULT_TYPE_SUCCESS",
1482            ResponseResultType::Failure => "RESPONSE_RESULT_TYPE_FAILURE",
1483        }
1484    }
1485    /// Creates an enum from field names used in the ProtoBuf definition.
1486    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1487        match value {
1488            "RESPONSE_RESULT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1489            "RESPONSE_RESULT_TYPE_NOOP" => Some(Self::Noop),
1490            "RESPONSE_RESULT_TYPE_SUCCESS" => Some(Self::Success),
1491            "RESPONSE_RESULT_TYPE_FAILURE" => Some(Self::Failure),
1492            _ => None,
1493        }
1494    }
1495}
1496pub struct ChannelQuerier<'a, Q: cosmwasm_std::CustomQuery> {
1497    querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
1498}
1499impl<'a, Q: cosmwasm_std::CustomQuery> ChannelQuerier<'a, Q> {
1500    pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
1501        Self { querier }
1502    }
1503    pub fn channel(
1504        &self,
1505        port_id: ::prost::alloc::string::String,
1506        channel_id: ::prost::alloc::string::String,
1507    ) -> Result<QueryChannelResponse, cosmwasm_std::StdError> {
1508        QueryChannelRequest {
1509            port_id,
1510            channel_id,
1511        }
1512        .query(self.querier)
1513    }
1514    pub fn channels(
1515        &self,
1516        pagination: ::core::option::Option<
1517            super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
1518        >,
1519    ) -> Result<QueryChannelsResponse, cosmwasm_std::StdError> {
1520        QueryChannelsRequest { pagination }.query(self.querier)
1521    }
1522    pub fn connection_channels(
1523        &self,
1524        connection: ::prost::alloc::string::String,
1525        pagination: ::core::option::Option<
1526            super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
1527        >,
1528    ) -> Result<QueryConnectionChannelsResponse, cosmwasm_std::StdError> {
1529        QueryConnectionChannelsRequest {
1530            connection,
1531            pagination,
1532        }
1533        .query(self.querier)
1534    }
1535    pub fn channel_client_state(
1536        &self,
1537        port_id: ::prost::alloc::string::String,
1538        channel_id: ::prost::alloc::string::String,
1539    ) -> Result<QueryChannelClientStateResponse, cosmwasm_std::StdError> {
1540        QueryChannelClientStateRequest {
1541            port_id,
1542            channel_id,
1543        }
1544        .query(self.querier)
1545    }
1546    pub fn channel_consensus_state(
1547        &self,
1548        port_id: ::prost::alloc::string::String,
1549        channel_id: ::prost::alloc::string::String,
1550        revision_number: u64,
1551        revision_height: u64,
1552    ) -> Result<QueryChannelConsensusStateResponse, cosmwasm_std::StdError> {
1553        QueryChannelConsensusStateRequest {
1554            port_id,
1555            channel_id,
1556            revision_number,
1557            revision_height,
1558        }
1559        .query(self.querier)
1560    }
1561    pub fn packet_commitment(
1562        &self,
1563        port_id: ::prost::alloc::string::String,
1564        channel_id: ::prost::alloc::string::String,
1565        sequence: u64,
1566    ) -> Result<QueryPacketCommitmentResponse, cosmwasm_std::StdError> {
1567        QueryPacketCommitmentRequest {
1568            port_id,
1569            channel_id,
1570            sequence,
1571        }
1572        .query(self.querier)
1573    }
1574    pub fn packet_commitments(
1575        &self,
1576        port_id: ::prost::alloc::string::String,
1577        channel_id: ::prost::alloc::string::String,
1578        pagination: ::core::option::Option<
1579            super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
1580        >,
1581    ) -> Result<QueryPacketCommitmentsResponse, cosmwasm_std::StdError> {
1582        QueryPacketCommitmentsRequest {
1583            port_id,
1584            channel_id,
1585            pagination,
1586        }
1587        .query(self.querier)
1588    }
1589    pub fn packet_receipt(
1590        &self,
1591        port_id: ::prost::alloc::string::String,
1592        channel_id: ::prost::alloc::string::String,
1593        sequence: u64,
1594    ) -> Result<QueryPacketReceiptResponse, cosmwasm_std::StdError> {
1595        QueryPacketReceiptRequest {
1596            port_id,
1597            channel_id,
1598            sequence,
1599        }
1600        .query(self.querier)
1601    }
1602    pub fn packet_acknowledgement(
1603        &self,
1604        port_id: ::prost::alloc::string::String,
1605        channel_id: ::prost::alloc::string::String,
1606        sequence: u64,
1607    ) -> Result<QueryPacketAcknowledgementResponse, cosmwasm_std::StdError> {
1608        QueryPacketAcknowledgementRequest {
1609            port_id,
1610            channel_id,
1611            sequence,
1612        }
1613        .query(self.querier)
1614    }
1615    pub fn packet_acknowledgements(
1616        &self,
1617        port_id: ::prost::alloc::string::String,
1618        channel_id: ::prost::alloc::string::String,
1619        pagination: ::core::option::Option<
1620            super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
1621        >,
1622        packet_commitment_sequences: ::prost::alloc::vec::Vec<u64>,
1623    ) -> Result<QueryPacketAcknowledgementsResponse, cosmwasm_std::StdError> {
1624        QueryPacketAcknowledgementsRequest {
1625            port_id,
1626            channel_id,
1627            pagination,
1628            packet_commitment_sequences,
1629        }
1630        .query(self.querier)
1631    }
1632    pub fn unreceived_packets(
1633        &self,
1634        port_id: ::prost::alloc::string::String,
1635        channel_id: ::prost::alloc::string::String,
1636        packet_commitment_sequences: ::prost::alloc::vec::Vec<u64>,
1637    ) -> Result<QueryUnreceivedPacketsResponse, cosmwasm_std::StdError> {
1638        QueryUnreceivedPacketsRequest {
1639            port_id,
1640            channel_id,
1641            packet_commitment_sequences,
1642        }
1643        .query(self.querier)
1644    }
1645    pub fn unreceived_acks(
1646        &self,
1647        port_id: ::prost::alloc::string::String,
1648        channel_id: ::prost::alloc::string::String,
1649        packet_ack_sequences: ::prost::alloc::vec::Vec<u64>,
1650    ) -> Result<QueryUnreceivedAcksResponse, cosmwasm_std::StdError> {
1651        QueryUnreceivedAcksRequest {
1652            port_id,
1653            channel_id,
1654            packet_ack_sequences,
1655        }
1656        .query(self.querier)
1657    }
1658    pub fn next_sequence_receive(
1659        &self,
1660        port_id: ::prost::alloc::string::String,
1661        channel_id: ::prost::alloc::string::String,
1662    ) -> Result<QueryNextSequenceReceiveResponse, cosmwasm_std::StdError> {
1663        QueryNextSequenceReceiveRequest {
1664            port_id,
1665            channel_id,
1666        }
1667        .query(self.querier)
1668    }
1669    pub fn next_sequence_send(
1670        &self,
1671        port_id: ::prost::alloc::string::String,
1672        channel_id: ::prost::alloc::string::String,
1673    ) -> Result<QueryNextSequenceSendResponse, cosmwasm_std::StdError> {
1674        QueryNextSequenceSendRequest {
1675            port_id,
1676            channel_id,
1677        }
1678        .query(self.querier)
1679    }
1680    pub fn upgrade_error(
1681        &self,
1682        port_id: ::prost::alloc::string::String,
1683        channel_id: ::prost::alloc::string::String,
1684    ) -> Result<QueryUpgradeErrorResponse, cosmwasm_std::StdError> {
1685        QueryUpgradeErrorRequest {
1686            port_id,
1687            channel_id,
1688        }
1689        .query(self.querier)
1690    }
1691    pub fn upgrade(
1692        &self,
1693        port_id: ::prost::alloc::string::String,
1694        channel_id: ::prost::alloc::string::String,
1695    ) -> Result<QueryUpgradeResponse, cosmwasm_std::StdError> {
1696        QueryUpgradeRequest {
1697            port_id,
1698            channel_id,
1699        }
1700        .query(self.querier)
1701    }
1702    pub fn channel_params(&self) -> Result<QueryChannelParamsResponse, cosmwasm_std::StdError> {
1703        QueryChannelParamsRequest {}.query(self.querier)
1704    }
1705}