1#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct IdentifiedClientState {
6 #[prost(string, tag = "1")]
8 pub client_id: ::prost::alloc::string::String,
9 #[prost(message, optional, tag = "2")]
11 pub client_state: ::core::option::Option<::prost_types::Any>,
12}
13#[allow(clippy::derive_partial_eq_without_eq)]
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct ConsensusStateWithHeight {
18 #[prost(message, optional, tag = "1")]
20 pub height: ::core::option::Option<Height>,
21 #[prost(message, optional, tag = "2")]
23 pub consensus_state: ::core::option::Option<::prost_types::Any>,
24}
25#[allow(clippy::derive_partial_eq_without_eq)]
28#[derive(Clone, PartialEq, ::prost::Message)]
29pub struct ClientConsensusStates {
30 #[prost(string, tag = "1")]
32 pub client_id: ::prost::alloc::string::String,
33 #[prost(message, repeated, tag = "2")]
35 pub consensus_states: ::prost::alloc::vec::Vec<ConsensusStateWithHeight>,
36}
37#[allow(clippy::derive_partial_eq_without_eq)]
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct ClientUpdateProposal {
44 #[prost(string, tag = "1")]
46 pub title: ::prost::alloc::string::String,
47 #[prost(string, tag = "2")]
49 pub description: ::prost::alloc::string::String,
50 #[prost(string, tag = "3")]
52 pub subject_client_id: ::prost::alloc::string::String,
53 #[prost(string, tag = "4")]
56 pub substitute_client_id: ::prost::alloc::string::String,
57}
58#[allow(clippy::derive_partial_eq_without_eq)]
61#[derive(Clone, PartialEq, ::prost::Message)]
62pub struct UpgradeProposal {
63 #[prost(string, tag = "1")]
64 pub title: ::prost::alloc::string::String,
65 #[prost(string, tag = "2")]
66 pub description: ::prost::alloc::string::String,
67 #[prost(message, optional, tag = "3")]
68 pub plan: ::core::option::Option<super::super::super::super::cosmos::upgrade::v1beta1::Plan>,
69 #[prost(message, optional, tag = "4")]
76 pub upgraded_client_state: ::core::option::Option<::prost_types::Any>,
77}
78#[allow(clippy::derive_partial_eq_without_eq)]
89#[derive(Clone, PartialEq, ::prost::Message)]
90pub struct Height {
91 #[prost(uint64, tag = "1")]
93 pub revision_number: u64,
94 #[prost(uint64, tag = "2")]
96 pub revision_height: u64,
97}
98#[allow(clippy::derive_partial_eq_without_eq)]
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct Params {
102 #[prost(string, repeated, tag = "1")]
104 pub allowed_clients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
105}
106#[allow(clippy::derive_partial_eq_without_eq)]
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct MsgCreateClient {
110 #[prost(message, optional, tag = "1")]
112 pub client_state: ::core::option::Option<::prost_types::Any>,
113 #[prost(message, optional, tag = "2")]
116 pub consensus_state: ::core::option::Option<::prost_types::Any>,
117 #[prost(string, tag = "3")]
119 pub signer: ::prost::alloc::string::String,
120}
121#[allow(clippy::derive_partial_eq_without_eq)]
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct MsgCreateClientResponse {}
125#[allow(clippy::derive_partial_eq_without_eq)]
128#[derive(Clone, PartialEq, ::prost::Message)]
129pub struct MsgUpdateClient {
130 #[prost(string, tag = "1")]
132 pub client_id: ::prost::alloc::string::String,
133 #[prost(message, optional, tag = "2")]
135 pub header: ::core::option::Option<::prost_types::Any>,
136 #[prost(string, tag = "3")]
138 pub signer: ::prost::alloc::string::String,
139}
140#[allow(clippy::derive_partial_eq_without_eq)]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct MsgUpdateClientResponse {}
144#[allow(clippy::derive_partial_eq_without_eq)]
147#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct MsgUpgradeClient {
149 #[prost(string, tag = "1")]
151 pub client_id: ::prost::alloc::string::String,
152 #[prost(message, optional, tag = "2")]
154 pub client_state: ::core::option::Option<::prost_types::Any>,
155 #[prost(message, optional, tag = "3")]
158 pub consensus_state: ::core::option::Option<::prost_types::Any>,
159 #[prost(bytes = "vec", tag = "4")]
161 pub proof_upgrade_client: ::prost::alloc::vec::Vec<u8>,
162 #[prost(bytes = "vec", tag = "5")]
164 pub proof_upgrade_consensus_state: ::prost::alloc::vec::Vec<u8>,
165 #[prost(string, tag = "6")]
167 pub signer: ::prost::alloc::string::String,
168}
169#[allow(clippy::derive_partial_eq_without_eq)]
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct MsgUpgradeClientResponse {}
173#[allow(clippy::derive_partial_eq_without_eq)]
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct MsgSubmitMisbehaviour {
178 #[prost(string, tag = "1")]
180 pub client_id: ::prost::alloc::string::String,
181 #[prost(message, optional, tag = "2")]
183 pub misbehaviour: ::core::option::Option<::prost_types::Any>,
184 #[prost(string, tag = "3")]
186 pub signer: ::prost::alloc::string::String,
187}
188#[allow(clippy::derive_partial_eq_without_eq)]
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct MsgSubmitMisbehaviourResponse {}
193#[cfg(feature = "grpc")]
195#[cfg_attr(docsrs, doc(cfg(feature = "grpc")))]
196pub mod msg_client {
197 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
198 use tonic::codegen::http::Uri;
199 use tonic::codegen::*;
200 #[derive(Debug, Clone)]
202 pub struct MsgClient<T> {
203 inner: tonic::client::Grpc<T>,
204 }
205 #[cfg(feature = "grpc-transport")]
206 #[cfg_attr(docsrs, doc(cfg(feature = "grpc-transport")))]
207 impl MsgClient<tonic::transport::Channel> {
208 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
210 where
211 D: std::convert::TryInto<tonic::transport::Endpoint>,
212 D::Error: Into<StdError>,
213 {
214 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
215 Ok(Self::new(conn))
216 }
217 }
218 impl<T> MsgClient<T>
219 where
220 T: tonic::client::GrpcService<tonic::body::BoxBody>,
221 T::Error: Into<StdError>,
222 T::ResponseBody: Body<Data = Bytes> + Send + 'static,
223 <T::ResponseBody as Body>::Error: Into<StdError> + Send,
224 {
225 pub fn new(inner: T) -> Self {
226 let inner = tonic::client::Grpc::new(inner);
227 Self { inner }
228 }
229 pub fn with_origin(inner: T, origin: Uri) -> Self {
230 let inner = tonic::client::Grpc::with_origin(inner, origin);
231 Self { inner }
232 }
233 pub fn with_interceptor<F>(inner: T, interceptor: F) -> MsgClient<InterceptedService<T, F>>
234 where
235 F: tonic::service::Interceptor,
236 T::ResponseBody: Default,
237 T: tonic::codegen::Service<
238 http::Request<tonic::body::BoxBody>,
239 Response = http::Response<
240 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
241 >,
242 >,
243 <T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
244 Into<StdError> + Send + Sync,
245 {
246 MsgClient::new(InterceptedService::new(inner, interceptor))
247 }
248 #[must_use]
253 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
254 self.inner = self.inner.send_compressed(encoding);
255 self
256 }
257 #[must_use]
259 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
260 self.inner = self.inner.accept_compressed(encoding);
261 self
262 }
263 pub async fn create_client(
265 &mut self,
266 request: impl tonic::IntoRequest<super::MsgCreateClient>,
267 ) -> Result<tonic::Response<super::MsgCreateClientResponse>, tonic::Status> {
268 self.inner.ready().await.map_err(|e| {
269 tonic::Status::new(
270 tonic::Code::Unknown,
271 format!("Service was not ready: {}", e.into()),
272 )
273 })?;
274 let codec = tonic::codec::ProstCodec::default();
275 let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/CreateClient");
276 self.inner.unary(request.into_request(), path, codec).await
277 }
278 pub async fn update_client(
280 &mut self,
281 request: impl tonic::IntoRequest<super::MsgUpdateClient>,
282 ) -> Result<tonic::Response<super::MsgUpdateClientResponse>, tonic::Status> {
283 self.inner.ready().await.map_err(|e| {
284 tonic::Status::new(
285 tonic::Code::Unknown,
286 format!("Service was not ready: {}", e.into()),
287 )
288 })?;
289 let codec = tonic::codec::ProstCodec::default();
290 let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpdateClient");
291 self.inner.unary(request.into_request(), path, codec).await
292 }
293 pub async fn upgrade_client(
295 &mut self,
296 request: impl tonic::IntoRequest<super::MsgUpgradeClient>,
297 ) -> Result<tonic::Response<super::MsgUpgradeClientResponse>, tonic::Status> {
298 self.inner.ready().await.map_err(|e| {
299 tonic::Status::new(
300 tonic::Code::Unknown,
301 format!("Service was not ready: {}", e.into()),
302 )
303 })?;
304 let codec = tonic::codec::ProstCodec::default();
305 let path =
306 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpgradeClient");
307 self.inner.unary(request.into_request(), path, codec).await
308 }
309 pub async fn submit_misbehaviour(
311 &mut self,
312 request: impl tonic::IntoRequest<super::MsgSubmitMisbehaviour>,
313 ) -> Result<tonic::Response<super::MsgSubmitMisbehaviourResponse>, tonic::Status> {
314 self.inner.ready().await.map_err(|e| {
315 tonic::Status::new(
316 tonic::Code::Unknown,
317 format!("Service was not ready: {}", e.into()),
318 )
319 })?;
320 let codec = tonic::codec::ProstCodec::default();
321 let path =
322 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/SubmitMisbehaviour");
323 self.inner.unary(request.into_request(), path, codec).await
324 }
325 }
326}
327#[allow(clippy::derive_partial_eq_without_eq)]
330#[derive(Clone, PartialEq, ::prost::Message)]
331pub struct QueryClientStateRequest {
332 #[prost(string, tag = "1")]
334 pub client_id: ::prost::alloc::string::String,
335}
336#[allow(clippy::derive_partial_eq_without_eq)]
340#[derive(Clone, PartialEq, ::prost::Message)]
341pub struct QueryClientStateResponse {
342 #[prost(message, optional, tag = "1")]
344 pub client_state: ::core::option::Option<::prost_types::Any>,
345 #[prost(bytes = "vec", tag = "2")]
347 pub proof: ::prost::alloc::vec::Vec<u8>,
348 #[prost(message, optional, tag = "3")]
350 pub proof_height: ::core::option::Option<Height>,
351}
352#[allow(clippy::derive_partial_eq_without_eq)]
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct QueryClientStatesRequest {
357 #[prost(message, optional, tag = "1")]
359 pub pagination: ::core::option::Option<
360 super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
361 >,
362}
363#[allow(clippy::derive_partial_eq_without_eq)]
366#[derive(Clone, PartialEq, ::prost::Message)]
367pub struct QueryClientStatesResponse {
368 #[prost(message, repeated, tag = "1")]
370 pub client_states: ::prost::alloc::vec::Vec<IdentifiedClientState>,
371 #[prost(message, optional, tag = "2")]
373 pub pagination: ::core::option::Option<
374 super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
375 >,
376}
377#[allow(clippy::derive_partial_eq_without_eq)]
381#[derive(Clone, PartialEq, ::prost::Message)]
382pub struct QueryConsensusStateRequest {
383 #[prost(string, tag = "1")]
385 pub client_id: ::prost::alloc::string::String,
386 #[prost(uint64, tag = "2")]
388 pub revision_number: u64,
389 #[prost(uint64, tag = "3")]
391 pub revision_height: u64,
392 #[prost(bool, tag = "4")]
395 pub latest_height: bool,
396}
397#[allow(clippy::derive_partial_eq_without_eq)]
400#[derive(Clone, PartialEq, ::prost::Message)]
401pub struct QueryConsensusStateResponse {
402 #[prost(message, optional, tag = "1")]
404 pub consensus_state: ::core::option::Option<::prost_types::Any>,
405 #[prost(bytes = "vec", tag = "2")]
407 pub proof: ::prost::alloc::vec::Vec<u8>,
408 #[prost(message, optional, tag = "3")]
410 pub proof_height: ::core::option::Option<Height>,
411}
412#[allow(clippy::derive_partial_eq_without_eq)]
415#[derive(Clone, PartialEq, ::prost::Message)]
416pub struct QueryConsensusStatesRequest {
417 #[prost(string, tag = "1")]
419 pub client_id: ::prost::alloc::string::String,
420 #[prost(message, optional, tag = "2")]
422 pub pagination: ::core::option::Option<
423 super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
424 >,
425}
426#[allow(clippy::derive_partial_eq_without_eq)]
429#[derive(Clone, PartialEq, ::prost::Message)]
430pub struct QueryConsensusStatesResponse {
431 #[prost(message, repeated, tag = "1")]
433 pub consensus_states: ::prost::alloc::vec::Vec<ConsensusStateWithHeight>,
434 #[prost(message, optional, tag = "2")]
436 pub pagination: ::core::option::Option<
437 super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
438 >,
439}
440#[allow(clippy::derive_partial_eq_without_eq)]
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct QueryClientStatusRequest {
445 #[prost(string, tag = "1")]
447 pub client_id: ::prost::alloc::string::String,
448}
449#[allow(clippy::derive_partial_eq_without_eq)]
452#[derive(Clone, PartialEq, ::prost::Message)]
453pub struct QueryClientStatusResponse {
454 #[prost(string, tag = "1")]
455 pub status: ::prost::alloc::string::String,
456}
457#[allow(clippy::derive_partial_eq_without_eq)]
460#[derive(Clone, PartialEq, ::prost::Message)]
461pub struct QueryClientParamsRequest {}
462#[allow(clippy::derive_partial_eq_without_eq)]
465#[derive(Clone, PartialEq, ::prost::Message)]
466pub struct QueryClientParamsResponse {
467 #[prost(message, optional, tag = "1")]
469 pub params: ::core::option::Option<Params>,
470}
471#[allow(clippy::derive_partial_eq_without_eq)]
474#[derive(Clone, PartialEq, ::prost::Message)]
475pub struct QueryUpgradedClientStateRequest {}
476#[allow(clippy::derive_partial_eq_without_eq)]
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct QueryUpgradedClientStateResponse {
481 #[prost(message, optional, tag = "1")]
483 pub upgraded_client_state: ::core::option::Option<::prost_types::Any>,
484}
485#[allow(clippy::derive_partial_eq_without_eq)]
488#[derive(Clone, PartialEq, ::prost::Message)]
489pub struct QueryUpgradedConsensusStateRequest {}
490#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct QueryUpgradedConsensusStateResponse {
495 #[prost(message, optional, tag = "1")]
497 pub upgraded_consensus_state: ::core::option::Option<::prost_types::Any>,
498}
499#[cfg(feature = "grpc")]
501#[cfg_attr(docsrs, doc(cfg(feature = "grpc")))]
502pub mod query_client {
503 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
504 use tonic::codegen::http::Uri;
505 use tonic::codegen::*;
506 #[derive(Debug, Clone)]
508 pub struct QueryClient<T> {
509 inner: tonic::client::Grpc<T>,
510 }
511 #[cfg(feature = "grpc-transport")]
512 #[cfg_attr(docsrs, doc(cfg(feature = "grpc-transport")))]
513 impl QueryClient<tonic::transport::Channel> {
514 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
516 where
517 D: std::convert::TryInto<tonic::transport::Endpoint>,
518 D::Error: Into<StdError>,
519 {
520 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
521 Ok(Self::new(conn))
522 }
523 }
524 impl<T> QueryClient<T>
525 where
526 T: tonic::client::GrpcService<tonic::body::BoxBody>,
527 T::Error: Into<StdError>,
528 T::ResponseBody: Body<Data = Bytes> + Send + 'static,
529 <T::ResponseBody as Body>::Error: Into<StdError> + Send,
530 {
531 pub fn new(inner: T) -> Self {
532 let inner = tonic::client::Grpc::new(inner);
533 Self { inner }
534 }
535 pub fn with_origin(inner: T, origin: Uri) -> Self {
536 let inner = tonic::client::Grpc::with_origin(inner, origin);
537 Self { inner }
538 }
539 pub fn with_interceptor<F>(
540 inner: T,
541 interceptor: F,
542 ) -> QueryClient<InterceptedService<T, F>>
543 where
544 F: tonic::service::Interceptor,
545 T::ResponseBody: Default,
546 T: tonic::codegen::Service<
547 http::Request<tonic::body::BoxBody>,
548 Response = http::Response<
549 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
550 >,
551 >,
552 <T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
553 Into<StdError> + Send + Sync,
554 {
555 QueryClient::new(InterceptedService::new(inner, interceptor))
556 }
557 #[must_use]
562 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
563 self.inner = self.inner.send_compressed(encoding);
564 self
565 }
566 #[must_use]
568 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
569 self.inner = self.inner.accept_compressed(encoding);
570 self
571 }
572 pub async fn client_state(
574 &mut self,
575 request: impl tonic::IntoRequest<super::QueryClientStateRequest>,
576 ) -> Result<tonic::Response<super::QueryClientStateResponse>, tonic::Status> {
577 self.inner.ready().await.map_err(|e| {
578 tonic::Status::new(
579 tonic::Code::Unknown,
580 format!("Service was not ready: {}", e.into()),
581 )
582 })?;
583 let codec = tonic::codec::ProstCodec::default();
584 let path =
585 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientState");
586 self.inner.unary(request.into_request(), path, codec).await
587 }
588 pub async fn client_states(
590 &mut self,
591 request: impl tonic::IntoRequest<super::QueryClientStatesRequest>,
592 ) -> Result<tonic::Response<super::QueryClientStatesResponse>, tonic::Status> {
593 self.inner.ready().await.map_err(|e| {
594 tonic::Status::new(
595 tonic::Code::Unknown,
596 format!("Service was not ready: {}", e.into()),
597 )
598 })?;
599 let codec = tonic::codec::ProstCodec::default();
600 let path =
601 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStates");
602 self.inner.unary(request.into_request(), path, codec).await
603 }
604 pub async fn consensus_state(
607 &mut self,
608 request: impl tonic::IntoRequest<super::QueryConsensusStateRequest>,
609 ) -> Result<tonic::Response<super::QueryConsensusStateResponse>, tonic::Status> {
610 self.inner.ready().await.map_err(|e| {
611 tonic::Status::new(
612 tonic::Code::Unknown,
613 format!("Service was not ready: {}", e.into()),
614 )
615 })?;
616 let codec = tonic::codec::ProstCodec::default();
617 let path =
618 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusState");
619 self.inner.unary(request.into_request(), path, codec).await
620 }
621 pub async fn consensus_states(
624 &mut self,
625 request: impl tonic::IntoRequest<super::QueryConsensusStatesRequest>,
626 ) -> Result<tonic::Response<super::QueryConsensusStatesResponse>, tonic::Status> {
627 self.inner.ready().await.map_err(|e| {
628 tonic::Status::new(
629 tonic::Code::Unknown,
630 format!("Service was not ready: {}", e.into()),
631 )
632 })?;
633 let codec = tonic::codec::ProstCodec::default();
634 let path =
635 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusStates");
636 self.inner.unary(request.into_request(), path, codec).await
637 }
638 pub async fn client_status(
640 &mut self,
641 request: impl tonic::IntoRequest<super::QueryClientStatusRequest>,
642 ) -> Result<tonic::Response<super::QueryClientStatusResponse>, tonic::Status> {
643 self.inner.ready().await.map_err(|e| {
644 tonic::Status::new(
645 tonic::Code::Unknown,
646 format!("Service was not ready: {}", e.into()),
647 )
648 })?;
649 let codec = tonic::codec::ProstCodec::default();
650 let path =
651 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStatus");
652 self.inner.unary(request.into_request(), path, codec).await
653 }
654 pub async fn client_params(
656 &mut self,
657 request: impl tonic::IntoRequest<super::QueryClientParamsRequest>,
658 ) -> Result<tonic::Response<super::QueryClientParamsResponse>, tonic::Status> {
659 self.inner.ready().await.map_err(|e| {
660 tonic::Status::new(
661 tonic::Code::Unknown,
662 format!("Service was not ready: {}", e.into()),
663 )
664 })?;
665 let codec = tonic::codec::ProstCodec::default();
666 let path =
667 http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientParams");
668 self.inner.unary(request.into_request(), path, codec).await
669 }
670 pub async fn upgraded_client_state(
672 &mut self,
673 request: impl tonic::IntoRequest<super::QueryUpgradedClientStateRequest>,
674 ) -> Result<tonic::Response<super::QueryUpgradedClientStateResponse>, tonic::Status>
675 {
676 self.inner.ready().await.map_err(|e| {
677 tonic::Status::new(
678 tonic::Code::Unknown,
679 format!("Service was not ready: {}", e.into()),
680 )
681 })?;
682 let codec = tonic::codec::ProstCodec::default();
683 let path = http::uri::PathAndQuery::from_static(
684 "/ibc.core.client.v1.Query/UpgradedClientState",
685 );
686 self.inner.unary(request.into_request(), path, codec).await
687 }
688 pub async fn upgraded_consensus_state(
690 &mut self,
691 request: impl tonic::IntoRequest<super::QueryUpgradedConsensusStateRequest>,
692 ) -> Result<tonic::Response<super::QueryUpgradedConsensusStateResponse>, tonic::Status>
693 {
694 self.inner.ready().await.map_err(|e| {
695 tonic::Status::new(
696 tonic::Code::Unknown,
697 format!("Service was not ready: {}", e.into()),
698 )
699 })?;
700 let codec = tonic::codec::ProstCodec::default();
701 let path = http::uri::PathAndQuery::from_static(
702 "/ibc.core.client.v1.Query/UpgradedConsensusState",
703 );
704 self.inner.unary(request.into_request(), path, codec).await
705 }
706 }
707}
708#[allow(clippy::derive_partial_eq_without_eq)]
710#[derive(Clone, PartialEq, ::prost::Message)]
711pub struct GenesisState {
712 #[prost(message, repeated, tag = "1")]
714 pub clients: ::prost::alloc::vec::Vec<IdentifiedClientState>,
715 #[prost(message, repeated, tag = "2")]
717 pub clients_consensus: ::prost::alloc::vec::Vec<ClientConsensusStates>,
718 #[prost(message, repeated, tag = "3")]
720 pub clients_metadata: ::prost::alloc::vec::Vec<IdentifiedGenesisMetadata>,
721 #[prost(message, optional, tag = "4")]
722 pub params: ::core::option::Option<Params>,
723 #[prost(bool, tag = "5")]
725 pub create_localhost: bool,
726 #[prost(uint64, tag = "6")]
728 pub next_client_sequence: u64,
729}
730#[allow(clippy::derive_partial_eq_without_eq)]
733#[derive(Clone, PartialEq, ::prost::Message)]
734pub struct GenesisMetadata {
735 #[prost(bytes = "vec", tag = "1")]
737 pub key: ::prost::alloc::vec::Vec<u8>,
738 #[prost(bytes = "vec", tag = "2")]
740 pub value: ::prost::alloc::vec::Vec<u8>,
741}
742#[allow(clippy::derive_partial_eq_without_eq)]
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct IdentifiedGenesisMetadata {
747 #[prost(string, tag = "1")]
748 pub client_id: ::prost::alloc::string::String,
749 #[prost(message, repeated, tag = "2")]
750 pub client_metadata: ::prost::alloc::vec::Vec<GenesisMetadata>,
751}