1#[allow(clippy::derive_partial_eq_without_eq)]
10#[derive(Clone, PartialEq, ::prost::Message)]
11pub struct ConsumerAdditionProposal {
12 #[prost(string, tag = "1")]
14 pub title: ::prost::alloc::string::String,
15 #[prost(string, tag = "2")]
17 pub description: ::prost::alloc::string::String,
18 #[prost(string, tag = "3")]
21 pub chain_id: ::prost::alloc::string::String,
22 #[prost(message, optional, tag = "4")]
26 pub initial_height: ::core::option::Option<
27 super::super::super::super::ibc::core::client::v1::Height,
28 >,
29 #[prost(bytes = "vec", tag = "5")]
33 pub genesis_hash: ::prost::alloc::vec::Vec<u8>,
34 #[prost(bytes = "vec", tag = "6")]
38 pub binary_hash: ::prost::alloc::vec::Vec<u8>,
39 #[prost(message, optional, tag = "7")]
43 pub spawn_time: ::core::option::Option<
44 ::tendermint_proto::google::protobuf::Timestamp,
45 >,
46 #[prost(message, optional, tag = "8")]
49 pub unbonding_period: ::core::option::Option<
50 ::tendermint_proto::google::protobuf::Duration,
51 >,
52 #[prost(message, optional, tag = "9")]
54 pub ccv_timeout_period: ::core::option::Option<
55 ::tendermint_proto::google::protobuf::Duration,
56 >,
57 #[prost(message, optional, tag = "10")]
59 pub transfer_timeout_period: ::core::option::Option<
60 ::tendermint_proto::google::protobuf::Duration,
61 >,
62 #[prost(string, tag = "11")]
66 pub consumer_redistribution_fraction: ::prost::alloc::string::String,
67 #[prost(int64, tag = "12")]
72 pub blocks_per_distribution_transmission: i64,
73 #[prost(int64, tag = "13")]
77 pub historical_entries: i64,
78 #[prost(string, tag = "14")]
85 pub distribution_transmission_channel: ::prost::alloc::string::String,
86 #[prost(uint32, tag = "15")]
91 pub top_n: u32,
92 #[prost(uint32, tag = "16")]
98 pub validators_power_cap: u32,
99 #[prost(uint32, tag = "17")]
102 pub validator_set_cap: u32,
103 #[prost(string, repeated, tag = "18")]
106 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
107 #[prost(string, repeated, tag = "19")]
109 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
110 #[prost(uint64, tag = "20")]
112 pub min_stake: u64,
113 #[prost(bool, tag = "21")]
115 pub allow_inactive_vals: bool,
116}
117impl ::prost::Name for ConsumerAdditionProposal {
118 const NAME: &'static str = "ConsumerAdditionProposal";
119 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
120 fn full_name() -> ::prost::alloc::string::String {
121 "interchain_security.ccv.provider.v1.ConsumerAdditionProposal".into()
122 }
123 fn type_url() -> ::prost::alloc::string::String {
124 "/interchain_security.ccv.provider.v1.ConsumerAdditionProposal".into()
125 }
126}
127#[allow(clippy::derive_partial_eq_without_eq)]
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct ConsumerRemovalProposal {
136 #[prost(string, tag = "1")]
138 pub title: ::prost::alloc::string::String,
139 #[prost(string, tag = "2")]
141 pub description: ::prost::alloc::string::String,
142 #[prost(string, tag = "3")]
144 pub chain_id: ::prost::alloc::string::String,
145 #[prost(message, optional, tag = "4")]
148 pub stop_time: ::core::option::Option<
149 ::tendermint_proto::google::protobuf::Timestamp,
150 >,
151}
152impl ::prost::Name for ConsumerRemovalProposal {
153 const NAME: &'static str = "ConsumerRemovalProposal";
154 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
155 fn full_name() -> ::prost::alloc::string::String {
156 "interchain_security.ccv.provider.v1.ConsumerRemovalProposal".into()
157 }
158 fn type_url() -> ::prost::alloc::string::String {
159 "/interchain_security.ccv.provider.v1.ConsumerRemovalProposal".into()
160 }
161}
162#[allow(clippy::derive_partial_eq_without_eq)]
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct ConsumerModificationProposal {
168 #[prost(string, tag = "1")]
170 pub title: ::prost::alloc::string::String,
171 #[prost(string, tag = "2")]
173 pub description: ::prost::alloc::string::String,
174 #[prost(string, tag = "3")]
176 pub chain_id: ::prost::alloc::string::String,
177 #[prost(uint32, tag = "4")]
182 pub top_n: u32,
183 #[prost(uint32, tag = "5")]
189 pub validators_power_cap: u32,
190 #[prost(uint32, tag = "6")]
193 pub validator_set_cap: u32,
194 #[prost(string, repeated, tag = "7")]
197 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
198 #[prost(string, repeated, tag = "8")]
200 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
201 #[prost(uint64, tag = "9")]
203 pub min_stake: u64,
204 #[prost(bool, tag = "10")]
206 pub allow_inactive_vals: bool,
207}
208impl ::prost::Name for ConsumerModificationProposal {
209 const NAME: &'static str = "ConsumerModificationProposal";
210 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
211 fn full_name() -> ::prost::alloc::string::String {
212 "interchain_security.ccv.provider.v1.ConsumerModificationProposal".into()
213 }
214 fn type_url() -> ::prost::alloc::string::String {
215 "/interchain_security.ccv.provider.v1.ConsumerModificationProposal".into()
216 }
217}
218#[allow(clippy::derive_partial_eq_without_eq)]
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct EquivocationProposal {
227 #[prost(string, tag = "1")]
229 pub title: ::prost::alloc::string::String,
230 #[prost(string, tag = "2")]
232 pub description: ::prost::alloc::string::String,
233 #[prost(message, repeated, tag = "3")]
235 pub equivocations: ::prost::alloc::vec::Vec<
236 super::super::super::super::cosmos::evidence::v1beta1::Equivocation,
237 >,
238}
239impl ::prost::Name for EquivocationProposal {
240 const NAME: &'static str = "EquivocationProposal";
241 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
242 fn full_name() -> ::prost::alloc::string::String {
243 "interchain_security.ccv.provider.v1.EquivocationProposal".into()
244 }
245 fn type_url() -> ::prost::alloc::string::String {
246 "/interchain_security.ccv.provider.v1.EquivocationProposal".into()
247 }
248}
249#[allow(clippy::derive_partial_eq_without_eq)]
253#[derive(Clone, PartialEq, ::prost::Message)]
254pub struct ChangeRewardDenomsProposal {
255 #[prost(string, tag = "1")]
257 pub title: ::prost::alloc::string::String,
258 #[prost(string, tag = "2")]
260 pub description: ::prost::alloc::string::String,
261 #[prost(string, repeated, tag = "3")]
263 pub denoms_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
264 #[prost(string, repeated, tag = "4")]
266 pub denoms_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
267}
268impl ::prost::Name for ChangeRewardDenomsProposal {
269 const NAME: &'static str = "ChangeRewardDenomsProposal";
270 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
271 fn full_name() -> ::prost::alloc::string::String {
272 "interchain_security.ccv.provider.v1.ChangeRewardDenomsProposal".into()
273 }
274 fn type_url() -> ::prost::alloc::string::String {
275 "/interchain_security.ccv.provider.v1.ChangeRewardDenomsProposal".into()
276 }
277}
278#[allow(clippy::derive_partial_eq_without_eq)]
282#[derive(Clone, PartialEq, ::prost::Message)]
283pub struct GlobalSlashEntry {
284 #[prost(message, optional, tag = "1")]
287 pub recv_time: ::core::option::Option<
288 ::tendermint_proto::google::protobuf::Timestamp,
289 >,
290 #[prost(string, tag = "2")]
292 pub consumer_chain_id: ::prost::alloc::string::String,
293 #[prost(uint64, tag = "3")]
296 pub ibc_seq_num: u64,
297 #[prost(bytes = "vec", tag = "4")]
303 pub provider_val_cons_addr: ::prost::alloc::vec::Vec<u8>,
304}
305impl ::prost::Name for GlobalSlashEntry {
306 const NAME: &'static str = "GlobalSlashEntry";
307 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
308 fn full_name() -> ::prost::alloc::string::String {
309 "interchain_security.ccv.provider.v1.GlobalSlashEntry".into()
310 }
311 fn type_url() -> ::prost::alloc::string::String {
312 "/interchain_security.ccv.provider.v1.GlobalSlashEntry".into()
313 }
314}
315#[allow(clippy::derive_partial_eq_without_eq)]
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct Params {
319 #[prost(message, optional, tag = "1")]
320 pub template_client: ::core::option::Option<
321 super::super::super::super::ibc::lightclients::tendermint::v1::ClientState,
322 >,
323 #[prost(string, tag = "2")]
326 pub trusting_period_fraction: ::prost::alloc::string::String,
327 #[prost(message, optional, tag = "3")]
329 pub ccv_timeout_period: ::core::option::Option<
330 ::tendermint_proto::google::protobuf::Duration,
331 >,
332 #[prost(message, optional, tag = "6")]
334 pub slash_meter_replenish_period: ::core::option::Option<
335 ::tendermint_proto::google::protobuf::Duration,
336 >,
337 #[prost(string, tag = "7")]
341 pub slash_meter_replenish_fraction: ::prost::alloc::string::String,
342 #[prost(message, optional, tag = "9")]
344 pub consumer_reward_denom_registration_fee: ::core::option::Option<
345 super::super::super::super::cosmos::base::v1beta1::Coin,
346 >,
347 #[prost(int64, tag = "10")]
349 pub blocks_per_epoch: i64,
350 #[prost(int64, tag = "11")]
352 pub number_of_epochs_to_start_receiving_rewards: i64,
353 #[prost(int64, tag = "12")]
356 pub max_provider_consensus_validators: i64,
357}
358impl ::prost::Name for Params {
359 const NAME: &'static str = "Params";
360 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
361 fn full_name() -> ::prost::alloc::string::String {
362 "interchain_security.ccv.provider.v1.Params".into()
363 }
364 fn type_url() -> ::prost::alloc::string::String {
365 "/interchain_security.ccv.provider.v1.Params".into()
366 }
367}
368#[allow(clippy::derive_partial_eq_without_eq)]
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct SlashAcks {
373 #[prost(string, repeated, tag = "1")]
374 pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
375}
376impl ::prost::Name for SlashAcks {
377 const NAME: &'static str = "SlashAcks";
378 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
379 fn full_name() -> ::prost::alloc::string::String {
380 "interchain_security.ccv.provider.v1.SlashAcks".into()
381 }
382 fn type_url() -> ::prost::alloc::string::String {
383 "/interchain_security.ccv.provider.v1.SlashAcks".into()
384 }
385}
386#[allow(clippy::derive_partial_eq_without_eq)]
389#[derive(Clone, PartialEq, ::prost::Message)]
390pub struct ConsumerAdditionProposals {
391 #[prost(message, repeated, tag = "1")]
393 pub pending: ::prost::alloc::vec::Vec<ConsumerAdditionProposal>,
394}
395impl ::prost::Name for ConsumerAdditionProposals {
396 const NAME: &'static str = "ConsumerAdditionProposals";
397 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
398 fn full_name() -> ::prost::alloc::string::String {
399 "interchain_security.ccv.provider.v1.ConsumerAdditionProposals".into()
400 }
401 fn type_url() -> ::prost::alloc::string::String {
402 "/interchain_security.ccv.provider.v1.ConsumerAdditionProposals".into()
403 }
404}
405#[allow(clippy::derive_partial_eq_without_eq)]
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct ConsumerRemovalProposals {
410 #[prost(message, repeated, tag = "1")]
412 pub pending: ::prost::alloc::vec::Vec<ConsumerRemovalProposal>,
413}
414impl ::prost::Name for ConsumerRemovalProposals {
415 const NAME: &'static str = "ConsumerRemovalProposals";
416 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
417 fn full_name() -> ::prost::alloc::string::String {
418 "interchain_security.ccv.provider.v1.ConsumerRemovalProposals".into()
419 }
420 fn type_url() -> ::prost::alloc::string::String {
421 "/interchain_security.ccv.provider.v1.ConsumerRemovalProposals".into()
422 }
423}
424#[allow(clippy::derive_partial_eq_without_eq)]
426#[derive(Clone, PartialEq, ::prost::Message)]
427pub struct AddressList {
428 #[prost(bytes = "vec", repeated, tag = "1")]
429 pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
430}
431impl ::prost::Name for AddressList {
432 const NAME: &'static str = "AddressList";
433 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
434 fn full_name() -> ::prost::alloc::string::String {
435 "interchain_security.ccv.provider.v1.AddressList".into()
436 }
437 fn type_url() -> ::prost::alloc::string::String {
438 "/interchain_security.ccv.provider.v1.AddressList".into()
439 }
440}
441#[allow(clippy::derive_partial_eq_without_eq)]
444#[derive(Clone, PartialEq, ::prost::Message)]
445pub struct ChannelToChain {
446 #[prost(string, tag = "1")]
447 pub channel_id: ::prost::alloc::string::String,
448 #[prost(string, tag = "2")]
449 pub chain_id: ::prost::alloc::string::String,
450}
451impl ::prost::Name for ChannelToChain {
452 const NAME: &'static str = "ChannelToChain";
453 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
454 fn full_name() -> ::prost::alloc::string::String {
455 "interchain_security.ccv.provider.v1.ChannelToChain".into()
456 }
457 fn type_url() -> ::prost::alloc::string::String {
458 "/interchain_security.ccv.provider.v1.ChannelToChain".into()
459 }
460}
461#[allow(clippy::derive_partial_eq_without_eq)]
463#[derive(Clone, PartialEq, ::prost::Message)]
464pub struct ValidatorSetChangePackets {
465 #[prost(message, repeated, tag = "1")]
466 pub list: ::prost::alloc::vec::Vec<super::super::v1::ValidatorSetChangePacketData>,
467}
468impl ::prost::Name for ValidatorSetChangePackets {
469 const NAME: &'static str = "ValidatorSetChangePackets";
470 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
471 fn full_name() -> ::prost::alloc::string::String {
472 "interchain_security.ccv.provider.v1.ValidatorSetChangePackets".into()
473 }
474 fn type_url() -> ::prost::alloc::string::String {
475 "/interchain_security.ccv.provider.v1.ValidatorSetChangePackets".into()
476 }
477}
478#[allow(clippy::derive_partial_eq_without_eq)]
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct KeyAssignmentReplacement {
481 #[prost(bytes = "vec", tag = "1")]
482 pub provider_addr: ::prost::alloc::vec::Vec<u8>,
483 #[prost(message, optional, tag = "2")]
484 pub prev_c_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>,
485 #[prost(int64, tag = "3")]
486 pub power: i64,
487}
488impl ::prost::Name for KeyAssignmentReplacement {
489 const NAME: &'static str = "KeyAssignmentReplacement";
490 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
491 fn full_name() -> ::prost::alloc::string::String {
492 "interchain_security.ccv.provider.v1.KeyAssignmentReplacement".into()
493 }
494 fn type_url() -> ::prost::alloc::string::String {
495 "/interchain_security.ccv.provider.v1.KeyAssignmentReplacement".into()
496 }
497}
498#[allow(clippy::derive_partial_eq_without_eq)]
502#[derive(Clone, PartialEq, ::prost::Message)]
503pub struct ValidatorConsumerPubKey {
504 #[prost(string, tag = "1")]
505 pub chain_id: ::prost::alloc::string::String,
506 #[prost(bytes = "vec", tag = "2")]
507 pub provider_addr: ::prost::alloc::vec::Vec<u8>,
508 #[prost(message, optional, tag = "3")]
509 pub consumer_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>,
510}
511impl ::prost::Name for ValidatorConsumerPubKey {
512 const NAME: &'static str = "ValidatorConsumerPubKey";
513 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
514 fn full_name() -> ::prost::alloc::string::String {
515 "interchain_security.ccv.provider.v1.ValidatorConsumerPubKey".into()
516 }
517 fn type_url() -> ::prost::alloc::string::String {
518 "/interchain_security.ccv.provider.v1.ValidatorConsumerPubKey".into()
519 }
520}
521#[allow(clippy::derive_partial_eq_without_eq)]
525#[derive(Clone, PartialEq, ::prost::Message)]
526pub struct ValidatorByConsumerAddr {
527 #[prost(string, tag = "1")]
528 pub chain_id: ::prost::alloc::string::String,
529 #[prost(bytes = "vec", tag = "2")]
530 pub consumer_addr: ::prost::alloc::vec::Vec<u8>,
531 #[prost(bytes = "vec", tag = "3")]
532 pub provider_addr: ::prost::alloc::vec::Vec<u8>,
533}
534impl ::prost::Name for ValidatorByConsumerAddr {
535 const NAME: &'static str = "ValidatorByConsumerAddr";
536 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
537 fn full_name() -> ::prost::alloc::string::String {
538 "interchain_security.ccv.provider.v1.ValidatorByConsumerAddr".into()
539 }
540 fn type_url() -> ::prost::alloc::string::String {
541 "/interchain_security.ccv.provider.v1.ValidatorByConsumerAddr".into()
542 }
543}
544#[allow(clippy::derive_partial_eq_without_eq)]
547#[derive(Clone, PartialEq, ::prost::Message)]
548pub struct ConsumerAddrsToPruneV2 {
549 #[prost(string, tag = "1")]
550 pub chain_id: ::prost::alloc::string::String,
551 #[prost(message, optional, tag = "2")]
552 pub prune_ts: ::core::option::Option<
553 ::tendermint_proto::google::protobuf::Timestamp,
554 >,
555 #[prost(message, optional, tag = "3")]
556 pub consumer_addrs: ::core::option::Option<AddressList>,
557}
558impl ::prost::Name for ConsumerAddrsToPruneV2 {
559 const NAME: &'static str = "ConsumerAddrsToPruneV2";
560 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
561 fn full_name() -> ::prost::alloc::string::String {
562 "interchain_security.ccv.provider.v1.ConsumerAddrsToPruneV2".into()
563 }
564 fn type_url() -> ::prost::alloc::string::String {
565 "/interchain_security.ccv.provider.v1.ConsumerAddrsToPruneV2".into()
566 }
567}
568#[allow(clippy::derive_partial_eq_without_eq)]
574#[derive(Clone, PartialEq, ::prost::Message)]
575pub struct ConsensusValidator {
576 #[prost(bytes = "vec", tag = "1")]
578 pub provider_cons_addr: ::prost::alloc::vec::Vec<u8>,
579 #[prost(int64, tag = "2")]
581 pub power: i64,
582 #[prost(message, optional, tag = "3")]
584 pub public_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>,
585 #[prost(int64, tag = "4")]
590 pub join_height: i64,
591}
592impl ::prost::Name for ConsensusValidator {
593 const NAME: &'static str = "ConsensusValidator";
594 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
595 fn full_name() -> ::prost::alloc::string::String {
596 "interchain_security.ccv.provider.v1.ConsensusValidator".into()
597 }
598 fn type_url() -> ::prost::alloc::string::String {
599 "/interchain_security.ccv.provider.v1.ConsensusValidator".into()
600 }
601}
602#[allow(clippy::derive_partial_eq_without_eq)]
606#[derive(Clone, PartialEq, ::prost::Message)]
607pub struct ConsumerRewardsAllocation {
608 #[prost(message, repeated, tag = "1")]
609 pub rewards: ::prost::alloc::vec::Vec<
610 super::super::super::super::cosmos::base::v1beta1::DecCoin,
611 >,
612}
613impl ::prost::Name for ConsumerRewardsAllocation {
614 const NAME: &'static str = "ConsumerRewardsAllocation";
615 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
616 fn full_name() -> ::prost::alloc::string::String {
617 "interchain_security.ccv.provider.v1.ConsumerRewardsAllocation".into()
618 }
619 fn type_url() -> ::prost::alloc::string::String {
620 "/interchain_security.ccv.provider.v1.ConsumerRewardsAllocation".into()
621 }
622}
623#[allow(clippy::derive_partial_eq_without_eq)]
625#[derive(Clone, PartialEq, ::prost::Message)]
626pub struct ConsumerMetadata {
627 #[prost(string, tag = "1")]
629 pub name: ::prost::alloc::string::String,
630 #[prost(string, tag = "2")]
632 pub description: ::prost::alloc::string::String,
633 #[prost(string, tag = "3")]
635 pub metadata: ::prost::alloc::string::String,
636}
637impl ::prost::Name for ConsumerMetadata {
638 const NAME: &'static str = "ConsumerMetadata";
639 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
640 fn full_name() -> ::prost::alloc::string::String {
641 "interchain_security.ccv.provider.v1.ConsumerMetadata".into()
642 }
643 fn type_url() -> ::prost::alloc::string::String {
644 "/interchain_security.ccv.provider.v1.ConsumerMetadata".into()
645 }
646}
647#[allow(clippy::derive_partial_eq_without_eq)]
653#[derive(Clone, PartialEq, ::prost::Message)]
654pub struct ConsumerInitializationParameters {
655 #[prost(message, optional, tag = "1")]
659 pub initial_height: ::core::option::Option<
660 super::super::super::super::ibc::core::client::v1::Height,
661 >,
662 #[prost(bytes = "vec", tag = "2")]
666 pub genesis_hash: ::prost::alloc::vec::Vec<u8>,
667 #[prost(bytes = "vec", tag = "3")]
671 pub binary_hash: ::prost::alloc::vec::Vec<u8>,
672 #[prost(message, optional, tag = "4")]
676 pub spawn_time: ::core::option::Option<
677 ::tendermint_proto::google::protobuf::Timestamp,
678 >,
679 #[prost(message, optional, tag = "5")]
682 pub unbonding_period: ::core::option::Option<
683 ::tendermint_proto::google::protobuf::Duration,
684 >,
685 #[prost(message, optional, tag = "6")]
687 pub ccv_timeout_period: ::core::option::Option<
688 ::tendermint_proto::google::protobuf::Duration,
689 >,
690 #[prost(message, optional, tag = "7")]
692 pub transfer_timeout_period: ::core::option::Option<
693 ::tendermint_proto::google::protobuf::Duration,
694 >,
695 #[prost(string, tag = "8")]
699 pub consumer_redistribution_fraction: ::prost::alloc::string::String,
700 #[prost(int64, tag = "9")]
705 pub blocks_per_distribution_transmission: i64,
706 #[prost(int64, tag = "10")]
710 pub historical_entries: i64,
711 #[prost(string, tag = "11")]
718 pub distribution_transmission_channel: ::prost::alloc::string::String,
719}
720impl ::prost::Name for ConsumerInitializationParameters {
721 const NAME: &'static str = "ConsumerInitializationParameters";
722 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
723 fn full_name() -> ::prost::alloc::string::String {
724 "interchain_security.ccv.provider.v1.ConsumerInitializationParameters".into()
725 }
726 fn type_url() -> ::prost::alloc::string::String {
727 "/interchain_security.ccv.provider.v1.ConsumerInitializationParameters".into()
728 }
729}
730#[allow(clippy::derive_partial_eq_without_eq)]
732#[derive(Clone, PartialEq, ::prost::Message)]
733pub struct PowerShapingParameters {
734 #[prost(uint32, tag = "1")]
739 pub top_n: u32,
740 #[prost(uint32, tag = "2")]
746 pub validators_power_cap: u32,
747 #[prost(uint32, tag = "3")]
750 pub validator_set_cap: u32,
751 #[prost(string, repeated, tag = "4")]
753 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
754 #[prost(string, repeated, tag = "5")]
756 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
757 #[prost(uint64, tag = "6")]
759 pub min_stake: u64,
760 #[prost(bool, tag = "7")]
762 pub allow_inactive_vals: bool,
763}
764impl ::prost::Name for PowerShapingParameters {
765 const NAME: &'static str = "PowerShapingParameters";
766 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
767 fn full_name() -> ::prost::alloc::string::String {
768 "interchain_security.ccv.provider.v1.PowerShapingParameters".into()
769 }
770 fn type_url() -> ::prost::alloc::string::String {
771 "/interchain_security.ccv.provider.v1.PowerShapingParameters".into()
772 }
773}
774#[allow(clippy::derive_partial_eq_without_eq)]
777#[derive(Clone, PartialEq, ::prost::Message)]
778pub struct ConsumerIds {
779 #[prost(string, repeated, tag = "1")]
780 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
781}
782impl ::prost::Name for ConsumerIds {
783 const NAME: &'static str = "ConsumerIds";
784 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
785 fn full_name() -> ::prost::alloc::string::String {
786 "interchain_security.ccv.provider.v1.ConsumerIds".into()
787 }
788 fn type_url() -> ::prost::alloc::string::String {
789 "/interchain_security.ccv.provider.v1.ConsumerIds".into()
790 }
791}
792#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
794#[repr(i32)]
795pub enum ConsumerPhase {
796 Unspecified = 0,
798 Registered = 1,
801 Initialized = 2,
804 Launched = 3,
807 Stopped = 4,
809 Deleted = 5,
811}
812impl ConsumerPhase {
813 pub fn as_str_name(&self) -> &'static str {
818 match self {
819 ConsumerPhase::Unspecified => "CONSUMER_PHASE_UNSPECIFIED",
820 ConsumerPhase::Registered => "CONSUMER_PHASE_REGISTERED",
821 ConsumerPhase::Initialized => "CONSUMER_PHASE_INITIALIZED",
822 ConsumerPhase::Launched => "CONSUMER_PHASE_LAUNCHED",
823 ConsumerPhase::Stopped => "CONSUMER_PHASE_STOPPED",
824 ConsumerPhase::Deleted => "CONSUMER_PHASE_DELETED",
825 }
826 }
827 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
829 match value {
830 "CONSUMER_PHASE_UNSPECIFIED" => Some(Self::Unspecified),
831 "CONSUMER_PHASE_REGISTERED" => Some(Self::Registered),
832 "CONSUMER_PHASE_INITIALIZED" => Some(Self::Initialized),
833 "CONSUMER_PHASE_LAUNCHED" => Some(Self::Launched),
834 "CONSUMER_PHASE_STOPPED" => Some(Self::Stopped),
835 "CONSUMER_PHASE_DELETED" => Some(Self::Deleted),
836 _ => None,
837 }
838 }
839}
840#[allow(clippy::derive_partial_eq_without_eq)]
841#[derive(Clone, PartialEq, ::prost::Message)]
842pub struct MsgAssignConsumerKey {
843 #[deprecated]
845 #[prost(string, tag = "1")]
846 pub chain_id: ::prost::alloc::string::String,
847 #[prost(string, tag = "2")]
849 pub provider_addr: ::prost::alloc::string::String,
850 #[prost(string, tag = "3")]
854 pub consumer_key: ::prost::alloc::string::String,
855 #[prost(string, tag = "4")]
856 pub signer: ::prost::alloc::string::String,
857 #[prost(string, tag = "5")]
859 pub consumer_id: ::prost::alloc::string::String,
860}
861impl ::prost::Name for MsgAssignConsumerKey {
862 const NAME: &'static str = "MsgAssignConsumerKey";
863 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
864 fn full_name() -> ::prost::alloc::string::String {
865 "interchain_security.ccv.provider.v1.MsgAssignConsumerKey".into()
866 }
867 fn type_url() -> ::prost::alloc::string::String {
868 "/interchain_security.ccv.provider.v1.MsgAssignConsumerKey".into()
869 }
870}
871#[allow(clippy::derive_partial_eq_without_eq)]
872#[derive(Clone, Copy, PartialEq, ::prost::Message)]
873pub struct MsgAssignConsumerKeyResponse {}
874impl ::prost::Name for MsgAssignConsumerKeyResponse {
875 const NAME: &'static str = "MsgAssignConsumerKeyResponse";
876 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
877 fn full_name() -> ::prost::alloc::string::String {
878 "interchain_security.ccv.provider.v1.MsgAssignConsumerKeyResponse".into()
879 }
880 fn type_url() -> ::prost::alloc::string::String {
881 "/interchain_security.ccv.provider.v1.MsgAssignConsumerKeyResponse".into()
882 }
883}
884#[allow(clippy::derive_partial_eq_without_eq)]
887#[derive(Clone, PartialEq, ::prost::Message)]
888pub struct MsgSubmitConsumerMisbehaviour {
889 #[prost(string, tag = "1")]
890 pub submitter: ::prost::alloc::string::String,
891 #[prost(message, optional, tag = "2")]
894 pub misbehaviour: ::core::option::Option<
895 super::super::super::super::ibc::lightclients::tendermint::v1::Misbehaviour,
896 >,
897 #[prost(string, tag = "3")]
899 pub consumer_id: ::prost::alloc::string::String,
900}
901impl ::prost::Name for MsgSubmitConsumerMisbehaviour {
902 const NAME: &'static str = "MsgSubmitConsumerMisbehaviour";
903 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
904 fn full_name() -> ::prost::alloc::string::String {
905 "interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviour".into()
906 }
907 fn type_url() -> ::prost::alloc::string::String {
908 "/interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviour".into()
909 }
910}
911#[allow(clippy::derive_partial_eq_without_eq)]
912#[derive(Clone, Copy, PartialEq, ::prost::Message)]
913pub struct MsgSubmitConsumerMisbehaviourResponse {}
914impl ::prost::Name for MsgSubmitConsumerMisbehaviourResponse {
915 const NAME: &'static str = "MsgSubmitConsumerMisbehaviourResponse";
916 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
917 fn full_name() -> ::prost::alloc::string::String {
918 "interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviourResponse"
919 .into()
920 }
921 fn type_url() -> ::prost::alloc::string::String {
922 "/interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviourResponse"
923 .into()
924 }
925}
926#[allow(clippy::derive_partial_eq_without_eq)]
929#[derive(Clone, PartialEq, ::prost::Message)]
930pub struct MsgSubmitConsumerDoubleVoting {
931 #[prost(string, tag = "1")]
932 pub submitter: ::prost::alloc::string::String,
933 #[prost(message, optional, tag = "2")]
936 pub duplicate_vote_evidence: ::core::option::Option<
937 ::tendermint_proto::types::DuplicateVoteEvidence,
938 >,
939 #[prost(message, optional, tag = "3")]
941 pub infraction_block_header: ::core::option::Option<
942 super::super::super::super::ibc::lightclients::tendermint::v1::Header,
943 >,
944 #[prost(string, tag = "4")]
946 pub consumer_id: ::prost::alloc::string::String,
947}
948impl ::prost::Name for MsgSubmitConsumerDoubleVoting {
949 const NAME: &'static str = "MsgSubmitConsumerDoubleVoting";
950 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
951 fn full_name() -> ::prost::alloc::string::String {
952 "interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVoting".into()
953 }
954 fn type_url() -> ::prost::alloc::string::String {
955 "/interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVoting".into()
956 }
957}
958#[allow(clippy::derive_partial_eq_without_eq)]
959#[derive(Clone, Copy, PartialEq, ::prost::Message)]
960pub struct MsgSubmitConsumerDoubleVotingResponse {}
961impl ::prost::Name for MsgSubmitConsumerDoubleVotingResponse {
962 const NAME: &'static str = "MsgSubmitConsumerDoubleVotingResponse";
963 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
964 fn full_name() -> ::prost::alloc::string::String {
965 "interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVotingResponse"
966 .into()
967 }
968 fn type_url() -> ::prost::alloc::string::String {
969 "/interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVotingResponse"
970 .into()
971 }
972}
973#[allow(clippy::derive_partial_eq_without_eq)]
975#[derive(Clone, PartialEq, ::prost::Message)]
976pub struct MsgUpdateParams {
977 #[prost(string, tag = "1")]
979 pub authority: ::prost::alloc::string::String,
980 #[prost(message, optional, tag = "2")]
982 pub params: ::core::option::Option<Params>,
983}
984impl ::prost::Name for MsgUpdateParams {
985 const NAME: &'static str = "MsgUpdateParams";
986 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
987 fn full_name() -> ::prost::alloc::string::String {
988 "interchain_security.ccv.provider.v1.MsgUpdateParams".into()
989 }
990 fn type_url() -> ::prost::alloc::string::String {
991 "/interchain_security.ccv.provider.v1.MsgUpdateParams".into()
992 }
993}
994#[allow(clippy::derive_partial_eq_without_eq)]
995#[derive(Clone, Copy, PartialEq, ::prost::Message)]
996pub struct MsgUpdateParamsResponse {}
997impl ::prost::Name for MsgUpdateParamsResponse {
998 const NAME: &'static str = "MsgUpdateParamsResponse";
999 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1000 fn full_name() -> ::prost::alloc::string::String {
1001 "interchain_security.ccv.provider.v1.MsgUpdateParamsResponse".into()
1002 }
1003 fn type_url() -> ::prost::alloc::string::String {
1004 "/interchain_security.ccv.provider.v1.MsgUpdateParamsResponse".into()
1005 }
1006}
1007#[allow(clippy::derive_partial_eq_without_eq)]
1009#[derive(Clone, PartialEq, ::prost::Message)]
1010pub struct MsgConsumerAddition {
1011 #[prost(string, tag = "1")]
1014 pub chain_id: ::prost::alloc::string::String,
1015 #[prost(message, optional, tag = "2")]
1019 pub initial_height: ::core::option::Option<
1020 super::super::super::super::ibc::core::client::v1::Height,
1021 >,
1022 #[prost(bytes = "vec", tag = "3")]
1026 pub genesis_hash: ::prost::alloc::vec::Vec<u8>,
1027 #[prost(bytes = "vec", tag = "4")]
1031 pub binary_hash: ::prost::alloc::vec::Vec<u8>,
1032 #[prost(message, optional, tag = "5")]
1036 pub spawn_time: ::core::option::Option<
1037 ::tendermint_proto::google::protobuf::Timestamp,
1038 >,
1039 #[prost(message, optional, tag = "6")]
1042 pub unbonding_period: ::core::option::Option<
1043 ::tendermint_proto::google::protobuf::Duration,
1044 >,
1045 #[prost(message, optional, tag = "7")]
1047 pub ccv_timeout_period: ::core::option::Option<
1048 ::tendermint_proto::google::protobuf::Duration,
1049 >,
1050 #[prost(message, optional, tag = "8")]
1052 pub transfer_timeout_period: ::core::option::Option<
1053 ::tendermint_proto::google::protobuf::Duration,
1054 >,
1055 #[prost(string, tag = "9")]
1059 pub consumer_redistribution_fraction: ::prost::alloc::string::String,
1060 #[prost(int64, tag = "10")]
1065 pub blocks_per_distribution_transmission: i64,
1066 #[prost(int64, tag = "11")]
1070 pub historical_entries: i64,
1071 #[prost(string, tag = "12")]
1078 pub distribution_transmission_channel: ::prost::alloc::string::String,
1079 #[prost(uint32, tag = "13")]
1084 pub top_n: u32,
1085 #[prost(uint32, tag = "14")]
1091 pub validators_power_cap: u32,
1092 #[prost(uint32, tag = "15")]
1095 pub validator_set_cap: u32,
1096 #[prost(string, repeated, tag = "16")]
1099 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1100 #[prost(string, repeated, tag = "17")]
1102 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1103 #[prost(string, tag = "18")]
1105 pub authority: ::prost::alloc::string::String,
1106 #[prost(uint64, tag = "19")]
1108 pub min_stake: u64,
1109 #[prost(bool, tag = "20")]
1111 pub allow_inactive_vals: bool,
1112}
1113impl ::prost::Name for MsgConsumerAddition {
1114 const NAME: &'static str = "MsgConsumerAddition";
1115 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1116 fn full_name() -> ::prost::alloc::string::String {
1117 "interchain_security.ccv.provider.v1.MsgConsumerAddition".into()
1118 }
1119 fn type_url() -> ::prost::alloc::string::String {
1120 "/interchain_security.ccv.provider.v1.MsgConsumerAddition".into()
1121 }
1122}
1123#[allow(clippy::derive_partial_eq_without_eq)]
1125#[derive(Clone, PartialEq, ::prost::Message)]
1126pub struct MsgConsumerRemoval {
1127 #[prost(string, tag = "1")]
1129 pub chain_id: ::prost::alloc::string::String,
1130 #[prost(message, optional, tag = "2")]
1133 pub stop_time: ::core::option::Option<
1134 ::tendermint_proto::google::protobuf::Timestamp,
1135 >,
1136 #[prost(string, tag = "3")]
1138 pub authority: ::prost::alloc::string::String,
1139}
1140impl ::prost::Name for MsgConsumerRemoval {
1141 const NAME: &'static str = "MsgConsumerRemoval";
1142 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1143 fn full_name() -> ::prost::alloc::string::String {
1144 "interchain_security.ccv.provider.v1.MsgConsumerRemoval".into()
1145 }
1146 fn type_url() -> ::prost::alloc::string::String {
1147 "/interchain_security.ccv.provider.v1.MsgConsumerRemoval".into()
1148 }
1149}
1150#[allow(clippy::derive_partial_eq_without_eq)]
1153#[derive(Clone, PartialEq, ::prost::Message)]
1154pub struct MsgRemoveConsumer {
1155 #[prost(string, tag = "1")]
1157 pub consumer_id: ::prost::alloc::string::String,
1158 #[prost(string, tag = "2")]
1160 pub owner: ::prost::alloc::string::String,
1161}
1162impl ::prost::Name for MsgRemoveConsumer {
1163 const NAME: &'static str = "MsgRemoveConsumer";
1164 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1165 fn full_name() -> ::prost::alloc::string::String {
1166 "interchain_security.ccv.provider.v1.MsgRemoveConsumer".into()
1167 }
1168 fn type_url() -> ::prost::alloc::string::String {
1169 "/interchain_security.ccv.provider.v1.MsgRemoveConsumer".into()
1170 }
1171}
1172#[allow(clippy::derive_partial_eq_without_eq)]
1174#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1175pub struct MsgRemoveConsumerResponse {}
1176impl ::prost::Name for MsgRemoveConsumerResponse {
1177 const NAME: &'static str = "MsgRemoveConsumerResponse";
1178 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1179 fn full_name() -> ::prost::alloc::string::String {
1180 "interchain_security.ccv.provider.v1.MsgRemoveConsumerResponse".into()
1181 }
1182 fn type_url() -> ::prost::alloc::string::String {
1183 "/interchain_security.ccv.provider.v1.MsgRemoveConsumerResponse".into()
1184 }
1185}
1186#[allow(clippy::derive_partial_eq_without_eq)]
1191#[derive(Clone, PartialEq, ::prost::Message)]
1192pub struct MsgChangeRewardDenoms {
1193 #[prost(string, repeated, tag = "1")]
1195 pub denoms_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1196 #[prost(string, repeated, tag = "2")]
1198 pub denoms_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1199 #[prost(string, tag = "3")]
1201 pub authority: ::prost::alloc::string::String,
1202}
1203impl ::prost::Name for MsgChangeRewardDenoms {
1204 const NAME: &'static str = "MsgChangeRewardDenoms";
1205 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1206 fn full_name() -> ::prost::alloc::string::String {
1207 "interchain_security.ccv.provider.v1.MsgChangeRewardDenoms".into()
1208 }
1209 fn type_url() -> ::prost::alloc::string::String {
1210 "/interchain_security.ccv.provider.v1.MsgChangeRewardDenoms".into()
1211 }
1212}
1213#[allow(clippy::derive_partial_eq_without_eq)]
1215#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1216pub struct MsgChangeRewardDenomsResponse {}
1217impl ::prost::Name for MsgChangeRewardDenomsResponse {
1218 const NAME: &'static str = "MsgChangeRewardDenomsResponse";
1219 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1220 fn full_name() -> ::prost::alloc::string::String {
1221 "interchain_security.ccv.provider.v1.MsgChangeRewardDenomsResponse".into()
1222 }
1223 fn type_url() -> ::prost::alloc::string::String {
1224 "/interchain_security.ccv.provider.v1.MsgChangeRewardDenomsResponse".into()
1225 }
1226}
1227#[allow(clippy::derive_partial_eq_without_eq)]
1228#[derive(Clone, PartialEq, ::prost::Message)]
1229pub struct MsgOptIn {
1230 #[deprecated]
1232 #[prost(string, tag = "1")]
1233 pub chain_id: ::prost::alloc::string::String,
1234 #[prost(string, tag = "2")]
1236 pub provider_addr: ::prost::alloc::string::String,
1237 #[prost(string, tag = "3")]
1242 pub consumer_key: ::prost::alloc::string::String,
1243 #[prost(string, tag = "4")]
1245 pub signer: ::prost::alloc::string::String,
1246 #[prost(string, tag = "5")]
1248 pub consumer_id: ::prost::alloc::string::String,
1249}
1250impl ::prost::Name for MsgOptIn {
1251 const NAME: &'static str = "MsgOptIn";
1252 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1253 fn full_name() -> ::prost::alloc::string::String {
1254 "interchain_security.ccv.provider.v1.MsgOptIn".into()
1255 }
1256 fn type_url() -> ::prost::alloc::string::String {
1257 "/interchain_security.ccv.provider.v1.MsgOptIn".into()
1258 }
1259}
1260#[allow(clippy::derive_partial_eq_without_eq)]
1261#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1262pub struct MsgOptInResponse {}
1263impl ::prost::Name for MsgOptInResponse {
1264 const NAME: &'static str = "MsgOptInResponse";
1265 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1266 fn full_name() -> ::prost::alloc::string::String {
1267 "interchain_security.ccv.provider.v1.MsgOptInResponse".into()
1268 }
1269 fn type_url() -> ::prost::alloc::string::String {
1270 "/interchain_security.ccv.provider.v1.MsgOptInResponse".into()
1271 }
1272}
1273#[allow(clippy::derive_partial_eq_without_eq)]
1274#[derive(Clone, PartialEq, ::prost::Message)]
1275pub struct MsgOptOut {
1276 #[deprecated]
1278 #[prost(string, tag = "1")]
1279 pub chain_id: ::prost::alloc::string::String,
1280 #[prost(string, tag = "2")]
1282 pub provider_addr: ::prost::alloc::string::String,
1283 #[prost(string, tag = "3")]
1285 pub signer: ::prost::alloc::string::String,
1286 #[prost(string, tag = "4")]
1288 pub consumer_id: ::prost::alloc::string::String,
1289}
1290impl ::prost::Name for MsgOptOut {
1291 const NAME: &'static str = "MsgOptOut";
1292 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1293 fn full_name() -> ::prost::alloc::string::String {
1294 "interchain_security.ccv.provider.v1.MsgOptOut".into()
1295 }
1296 fn type_url() -> ::prost::alloc::string::String {
1297 "/interchain_security.ccv.provider.v1.MsgOptOut".into()
1298 }
1299}
1300#[allow(clippy::derive_partial_eq_without_eq)]
1301#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1302pub struct MsgOptOutResponse {}
1303impl ::prost::Name for MsgOptOutResponse {
1304 const NAME: &'static str = "MsgOptOutResponse";
1305 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1306 fn full_name() -> ::prost::alloc::string::String {
1307 "interchain_security.ccv.provider.v1.MsgOptOutResponse".into()
1308 }
1309 fn type_url() -> ::prost::alloc::string::String {
1310 "/interchain_security.ccv.provider.v1.MsgOptOutResponse".into()
1311 }
1312}
1313#[allow(clippy::derive_partial_eq_without_eq)]
1316#[derive(Clone, PartialEq, ::prost::Message)]
1317pub struct MsgSetConsumerCommissionRate {
1318 #[prost(string, tag = "1")]
1320 pub provider_addr: ::prost::alloc::string::String,
1321 #[deprecated]
1323 #[prost(string, tag = "2")]
1324 pub chain_id: ::prost::alloc::string::String,
1325 #[prost(string, tag = "3")]
1328 pub rate: ::prost::alloc::string::String,
1329 #[prost(string, tag = "4")]
1331 pub signer: ::prost::alloc::string::String,
1332 #[prost(string, tag = "5")]
1334 pub consumer_id: ::prost::alloc::string::String,
1335}
1336impl ::prost::Name for MsgSetConsumerCommissionRate {
1337 const NAME: &'static str = "MsgSetConsumerCommissionRate";
1338 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1339 fn full_name() -> ::prost::alloc::string::String {
1340 "interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRate".into()
1341 }
1342 fn type_url() -> ::prost::alloc::string::String {
1343 "/interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRate".into()
1344 }
1345}
1346#[allow(clippy::derive_partial_eq_without_eq)]
1347#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1348pub struct MsgSetConsumerCommissionRateResponse {}
1349impl ::prost::Name for MsgSetConsumerCommissionRateResponse {
1350 const NAME: &'static str = "MsgSetConsumerCommissionRateResponse";
1351 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1352 fn full_name() -> ::prost::alloc::string::String {
1353 "interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRateResponse".into()
1354 }
1355 fn type_url() -> ::prost::alloc::string::String {
1356 "/interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRateResponse"
1357 .into()
1358 }
1359}
1360#[allow(clippy::derive_partial_eq_without_eq)]
1362#[derive(Clone, PartialEq, ::prost::Message)]
1363pub struct MsgConsumerModification {
1364 #[prost(string, tag = "1")]
1366 pub title: ::prost::alloc::string::String,
1367 #[prost(string, tag = "2")]
1369 pub description: ::prost::alloc::string::String,
1370 #[prost(string, tag = "3")]
1372 pub chain_id: ::prost::alloc::string::String,
1373 #[prost(uint32, tag = "4")]
1378 pub top_n: u32,
1379 #[prost(uint32, tag = "5")]
1385 pub validators_power_cap: u32,
1386 #[prost(uint32, tag = "6")]
1389 pub validator_set_cap: u32,
1390 #[prost(string, repeated, tag = "7")]
1393 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1394 #[prost(string, repeated, tag = "8")]
1396 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1397 #[prost(string, tag = "9")]
1399 pub authority: ::prost::alloc::string::String,
1400 #[prost(uint64, tag = "10")]
1402 pub min_stake: u64,
1403 #[prost(bool, tag = "11")]
1405 pub allow_inactive_vals: bool,
1406}
1407impl ::prost::Name for MsgConsumerModification {
1408 const NAME: &'static str = "MsgConsumerModification";
1409 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1410 fn full_name() -> ::prost::alloc::string::String {
1411 "interchain_security.ccv.provider.v1.MsgConsumerModification".into()
1412 }
1413 fn type_url() -> ::prost::alloc::string::String {
1414 "/interchain_security.ccv.provider.v1.MsgConsumerModification".into()
1415 }
1416}
1417#[allow(clippy::derive_partial_eq_without_eq)]
1418#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1419pub struct MsgConsumerModificationResponse {}
1420impl ::prost::Name for MsgConsumerModificationResponse {
1421 const NAME: &'static str = "MsgConsumerModificationResponse";
1422 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1423 fn full_name() -> ::prost::alloc::string::String {
1424 "interchain_security.ccv.provider.v1.MsgConsumerModificationResponse".into()
1425 }
1426 fn type_url() -> ::prost::alloc::string::String {
1427 "/interchain_security.ccv.provider.v1.MsgConsumerModificationResponse".into()
1428 }
1429}
1430#[allow(clippy::derive_partial_eq_without_eq)]
1432#[derive(Clone, PartialEq, ::prost::Message)]
1433pub struct MsgCreateConsumer {
1434 #[prost(string, tag = "1")]
1437 pub submitter: ::prost::alloc::string::String,
1438 #[prost(string, tag = "2")]
1440 pub chain_id: ::prost::alloc::string::String,
1441 #[prost(message, optional, tag = "3")]
1442 pub metadata: ::core::option::Option<ConsumerMetadata>,
1443 #[prost(message, optional, tag = "4")]
1444 pub initialization_parameters: ::core::option::Option<
1445 ConsumerInitializationParameters,
1446 >,
1447 #[prost(message, optional, tag = "5")]
1448 pub power_shaping_parameters: ::core::option::Option<PowerShapingParameters>,
1449}
1450impl ::prost::Name for MsgCreateConsumer {
1451 const NAME: &'static str = "MsgCreateConsumer";
1452 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1453 fn full_name() -> ::prost::alloc::string::String {
1454 "interchain_security.ccv.provider.v1.MsgCreateConsumer".into()
1455 }
1456 fn type_url() -> ::prost::alloc::string::String {
1457 "/interchain_security.ccv.provider.v1.MsgCreateConsumer".into()
1458 }
1459}
1460#[allow(clippy::derive_partial_eq_without_eq)]
1462#[derive(Clone, PartialEq, ::prost::Message)]
1463pub struct MsgCreateConsumerResponse {
1464 #[prost(string, tag = "1")]
1465 pub consumer_id: ::prost::alloc::string::String,
1466}
1467impl ::prost::Name for MsgCreateConsumerResponse {
1468 const NAME: &'static str = "MsgCreateConsumerResponse";
1469 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1470 fn full_name() -> ::prost::alloc::string::String {
1471 "interchain_security.ccv.provider.v1.MsgCreateConsumerResponse".into()
1472 }
1473 fn type_url() -> ::prost::alloc::string::String {
1474 "/interchain_security.ccv.provider.v1.MsgCreateConsumerResponse".into()
1475 }
1476}
1477#[allow(clippy::derive_partial_eq_without_eq)]
1479#[derive(Clone, PartialEq, ::prost::Message)]
1480pub struct MsgUpdateConsumer {
1481 #[prost(string, tag = "1")]
1483 pub owner: ::prost::alloc::string::String,
1484 #[prost(string, tag = "2")]
1486 pub consumer_id: ::prost::alloc::string::String,
1487 #[prost(string, tag = "3")]
1489 pub new_owner_address: ::prost::alloc::string::String,
1490 #[prost(message, optional, tag = "4")]
1492 pub metadata: ::core::option::Option<ConsumerMetadata>,
1493 #[prost(message, optional, tag = "5")]
1495 pub initialization_parameters: ::core::option::Option<
1496 ConsumerInitializationParameters,
1497 >,
1498 #[prost(message, optional, tag = "6")]
1500 pub power_shaping_parameters: ::core::option::Option<PowerShapingParameters>,
1501}
1502impl ::prost::Name for MsgUpdateConsumer {
1503 const NAME: &'static str = "MsgUpdateConsumer";
1504 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1505 fn full_name() -> ::prost::alloc::string::String {
1506 "interchain_security.ccv.provider.v1.MsgUpdateConsumer".into()
1507 }
1508 fn type_url() -> ::prost::alloc::string::String {
1509 "/interchain_security.ccv.provider.v1.MsgUpdateConsumer".into()
1510 }
1511}
1512#[allow(clippy::derive_partial_eq_without_eq)]
1514#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1515pub struct MsgUpdateConsumerResponse {}
1516impl ::prost::Name for MsgUpdateConsumerResponse {
1517 const NAME: &'static str = "MsgUpdateConsumerResponse";
1518 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
1519 fn full_name() -> ::prost::alloc::string::String {
1520 "interchain_security.ccv.provider.v1.MsgUpdateConsumerResponse".into()
1521 }
1522 fn type_url() -> ::prost::alloc::string::String {
1523 "/interchain_security.ccv.provider.v1.MsgUpdateConsumerResponse".into()
1524 }
1525}
1526#[cfg(feature = "client")]
1528pub mod msg_client {
1529 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
1530 use tonic::codegen::*;
1531 use tonic::codegen::http::Uri;
1532 #[derive(Debug, Clone)]
1534 pub struct MsgClient<T> {
1535 inner: tonic::client::Grpc<T>,
1536 }
1537 #[cfg(feature = "transport")]
1538 impl MsgClient<tonic::transport::Channel> {
1539 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1541 where
1542 D: TryInto<tonic::transport::Endpoint>,
1543 D::Error: Into<StdError>,
1544 {
1545 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1546 Ok(Self::new(conn))
1547 }
1548 }
1549 impl<T> MsgClient<T>
1550 where
1551 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1552 T::Error: Into<StdError>,
1553 T::ResponseBody: Body<Data = Bytes> + Send + 'static,
1554 <T::ResponseBody as Body>::Error: Into<StdError> + Send,
1555 {
1556 pub fn new(inner: T) -> Self {
1557 let inner = tonic::client::Grpc::new(inner);
1558 Self { inner }
1559 }
1560 pub fn with_origin(inner: T, origin: Uri) -> Self {
1561 let inner = tonic::client::Grpc::with_origin(inner, origin);
1562 Self { inner }
1563 }
1564 pub fn with_interceptor<F>(
1565 inner: T,
1566 interceptor: F,
1567 ) -> MsgClient<InterceptedService<T, F>>
1568 where
1569 F: tonic::service::Interceptor,
1570 T::ResponseBody: Default,
1571 T: tonic::codegen::Service<
1572 http::Request<tonic::body::BoxBody>,
1573 Response = http::Response<
1574 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1575 >,
1576 >,
1577 <T as tonic::codegen::Service<
1578 http::Request<tonic::body::BoxBody>,
1579 >>::Error: Into<StdError> + Send + Sync,
1580 {
1581 MsgClient::new(InterceptedService::new(inner, interceptor))
1582 }
1583 #[must_use]
1588 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1589 self.inner = self.inner.send_compressed(encoding);
1590 self
1591 }
1592 #[must_use]
1594 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1595 self.inner = self.inner.accept_compressed(encoding);
1596 self
1597 }
1598 #[must_use]
1602 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1603 self.inner = self.inner.max_decoding_message_size(limit);
1604 self
1605 }
1606 #[must_use]
1610 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1611 self.inner = self.inner.max_encoding_message_size(limit);
1612 self
1613 }
1614 pub async fn assign_consumer_key(
1615 &mut self,
1616 request: impl tonic::IntoRequest<super::MsgAssignConsumerKey>,
1617 ) -> std::result::Result<
1618 tonic::Response<super::MsgAssignConsumerKeyResponse>,
1619 tonic::Status,
1620 > {
1621 self.inner
1622 .ready()
1623 .await
1624 .map_err(|e| {
1625 tonic::Status::new(
1626 tonic::Code::Unknown,
1627 format!("Service was not ready: {}", e.into()),
1628 )
1629 })?;
1630 let codec = tonic::codec::ProstCodec::default();
1631 let path = http::uri::PathAndQuery::from_static(
1632 "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey",
1633 );
1634 let mut req = request.into_request();
1635 req.extensions_mut()
1636 .insert(
1637 GrpcMethod::new(
1638 "interchain_security.ccv.provider.v1.Msg",
1639 "AssignConsumerKey",
1640 ),
1641 );
1642 self.inner.unary(req, path, codec).await
1643 }
1644 pub async fn submit_consumer_misbehaviour(
1645 &mut self,
1646 request: impl tonic::IntoRequest<super::MsgSubmitConsumerMisbehaviour>,
1647 ) -> std::result::Result<
1648 tonic::Response<super::MsgSubmitConsumerMisbehaviourResponse>,
1649 tonic::Status,
1650 > {
1651 self.inner
1652 .ready()
1653 .await
1654 .map_err(|e| {
1655 tonic::Status::new(
1656 tonic::Code::Unknown,
1657 format!("Service was not ready: {}", e.into()),
1658 )
1659 })?;
1660 let codec = tonic::codec::ProstCodec::default();
1661 let path = http::uri::PathAndQuery::from_static(
1662 "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour",
1663 );
1664 let mut req = request.into_request();
1665 req.extensions_mut()
1666 .insert(
1667 GrpcMethod::new(
1668 "interchain_security.ccv.provider.v1.Msg",
1669 "SubmitConsumerMisbehaviour",
1670 ),
1671 );
1672 self.inner.unary(req, path, codec).await
1673 }
1674 pub async fn submit_consumer_double_voting(
1675 &mut self,
1676 request: impl tonic::IntoRequest<super::MsgSubmitConsumerDoubleVoting>,
1677 ) -> std::result::Result<
1678 tonic::Response<super::MsgSubmitConsumerDoubleVotingResponse>,
1679 tonic::Status,
1680 > {
1681 self.inner
1682 .ready()
1683 .await
1684 .map_err(|e| {
1685 tonic::Status::new(
1686 tonic::Code::Unknown,
1687 format!("Service was not ready: {}", e.into()),
1688 )
1689 })?;
1690 let codec = tonic::codec::ProstCodec::default();
1691 let path = http::uri::PathAndQuery::from_static(
1692 "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting",
1693 );
1694 let mut req = request.into_request();
1695 req.extensions_mut()
1696 .insert(
1697 GrpcMethod::new(
1698 "interchain_security.ccv.provider.v1.Msg",
1699 "SubmitConsumerDoubleVoting",
1700 ),
1701 );
1702 self.inner.unary(req, path, codec).await
1703 }
1704 pub async fn create_consumer(
1705 &mut self,
1706 request: impl tonic::IntoRequest<super::MsgCreateConsumer>,
1707 ) -> std::result::Result<
1708 tonic::Response<super::MsgCreateConsumerResponse>,
1709 tonic::Status,
1710 > {
1711 self.inner
1712 .ready()
1713 .await
1714 .map_err(|e| {
1715 tonic::Status::new(
1716 tonic::Code::Unknown,
1717 format!("Service was not ready: {}", e.into()),
1718 )
1719 })?;
1720 let codec = tonic::codec::ProstCodec::default();
1721 let path = http::uri::PathAndQuery::from_static(
1722 "/interchain_security.ccv.provider.v1.Msg/CreateConsumer",
1723 );
1724 let mut req = request.into_request();
1725 req.extensions_mut()
1726 .insert(
1727 GrpcMethod::new(
1728 "interchain_security.ccv.provider.v1.Msg",
1729 "CreateConsumer",
1730 ),
1731 );
1732 self.inner.unary(req, path, codec).await
1733 }
1734 pub async fn update_consumer(
1735 &mut self,
1736 request: impl tonic::IntoRequest<super::MsgUpdateConsumer>,
1737 ) -> std::result::Result<
1738 tonic::Response<super::MsgUpdateConsumerResponse>,
1739 tonic::Status,
1740 > {
1741 self.inner
1742 .ready()
1743 .await
1744 .map_err(|e| {
1745 tonic::Status::new(
1746 tonic::Code::Unknown,
1747 format!("Service was not ready: {}", e.into()),
1748 )
1749 })?;
1750 let codec = tonic::codec::ProstCodec::default();
1751 let path = http::uri::PathAndQuery::from_static(
1752 "/interchain_security.ccv.provider.v1.Msg/UpdateConsumer",
1753 );
1754 let mut req = request.into_request();
1755 req.extensions_mut()
1756 .insert(
1757 GrpcMethod::new(
1758 "interchain_security.ccv.provider.v1.Msg",
1759 "UpdateConsumer",
1760 ),
1761 );
1762 self.inner.unary(req, path, codec).await
1763 }
1764 pub async fn remove_consumer(
1765 &mut self,
1766 request: impl tonic::IntoRequest<super::MsgRemoveConsumer>,
1767 ) -> std::result::Result<
1768 tonic::Response<super::MsgRemoveConsumerResponse>,
1769 tonic::Status,
1770 > {
1771 self.inner
1772 .ready()
1773 .await
1774 .map_err(|e| {
1775 tonic::Status::new(
1776 tonic::Code::Unknown,
1777 format!("Service was not ready: {}", e.into()),
1778 )
1779 })?;
1780 let codec = tonic::codec::ProstCodec::default();
1781 let path = http::uri::PathAndQuery::from_static(
1782 "/interchain_security.ccv.provider.v1.Msg/RemoveConsumer",
1783 );
1784 let mut req = request.into_request();
1785 req.extensions_mut()
1786 .insert(
1787 GrpcMethod::new(
1788 "interchain_security.ccv.provider.v1.Msg",
1789 "RemoveConsumer",
1790 ),
1791 );
1792 self.inner.unary(req, path, codec).await
1793 }
1794 pub async fn update_params(
1795 &mut self,
1796 request: impl tonic::IntoRequest<super::MsgUpdateParams>,
1797 ) -> std::result::Result<
1798 tonic::Response<super::MsgUpdateParamsResponse>,
1799 tonic::Status,
1800 > {
1801 self.inner
1802 .ready()
1803 .await
1804 .map_err(|e| {
1805 tonic::Status::new(
1806 tonic::Code::Unknown,
1807 format!("Service was not ready: {}", e.into()),
1808 )
1809 })?;
1810 let codec = tonic::codec::ProstCodec::default();
1811 let path = http::uri::PathAndQuery::from_static(
1812 "/interchain_security.ccv.provider.v1.Msg/UpdateParams",
1813 );
1814 let mut req = request.into_request();
1815 req.extensions_mut()
1816 .insert(
1817 GrpcMethod::new(
1818 "interchain_security.ccv.provider.v1.Msg",
1819 "UpdateParams",
1820 ),
1821 );
1822 self.inner.unary(req, path, codec).await
1823 }
1824 pub async fn opt_in(
1825 &mut self,
1826 request: impl tonic::IntoRequest<super::MsgOptIn>,
1827 ) -> std::result::Result<
1828 tonic::Response<super::MsgOptInResponse>,
1829 tonic::Status,
1830 > {
1831 self.inner
1832 .ready()
1833 .await
1834 .map_err(|e| {
1835 tonic::Status::new(
1836 tonic::Code::Unknown,
1837 format!("Service was not ready: {}", e.into()),
1838 )
1839 })?;
1840 let codec = tonic::codec::ProstCodec::default();
1841 let path = http::uri::PathAndQuery::from_static(
1842 "/interchain_security.ccv.provider.v1.Msg/OptIn",
1843 );
1844 let mut req = request.into_request();
1845 req.extensions_mut()
1846 .insert(
1847 GrpcMethod::new("interchain_security.ccv.provider.v1.Msg", "OptIn"),
1848 );
1849 self.inner.unary(req, path, codec).await
1850 }
1851 pub async fn opt_out(
1852 &mut self,
1853 request: impl tonic::IntoRequest<super::MsgOptOut>,
1854 ) -> std::result::Result<
1855 tonic::Response<super::MsgOptOutResponse>,
1856 tonic::Status,
1857 > {
1858 self.inner
1859 .ready()
1860 .await
1861 .map_err(|e| {
1862 tonic::Status::new(
1863 tonic::Code::Unknown,
1864 format!("Service was not ready: {}", e.into()),
1865 )
1866 })?;
1867 let codec = tonic::codec::ProstCodec::default();
1868 let path = http::uri::PathAndQuery::from_static(
1869 "/interchain_security.ccv.provider.v1.Msg/OptOut",
1870 );
1871 let mut req = request.into_request();
1872 req.extensions_mut()
1873 .insert(
1874 GrpcMethod::new("interchain_security.ccv.provider.v1.Msg", "OptOut"),
1875 );
1876 self.inner.unary(req, path, codec).await
1877 }
1878 pub async fn set_consumer_commission_rate(
1879 &mut self,
1880 request: impl tonic::IntoRequest<super::MsgSetConsumerCommissionRate>,
1881 ) -> std::result::Result<
1882 tonic::Response<super::MsgSetConsumerCommissionRateResponse>,
1883 tonic::Status,
1884 > {
1885 self.inner
1886 .ready()
1887 .await
1888 .map_err(|e| {
1889 tonic::Status::new(
1890 tonic::Code::Unknown,
1891 format!("Service was not ready: {}", e.into()),
1892 )
1893 })?;
1894 let codec = tonic::codec::ProstCodec::default();
1895 let path = http::uri::PathAndQuery::from_static(
1896 "/interchain_security.ccv.provider.v1.Msg/SetConsumerCommissionRate",
1897 );
1898 let mut req = request.into_request();
1899 req.extensions_mut()
1900 .insert(
1901 GrpcMethod::new(
1902 "interchain_security.ccv.provider.v1.Msg",
1903 "SetConsumerCommissionRate",
1904 ),
1905 );
1906 self.inner.unary(req, path, codec).await
1907 }
1908 pub async fn change_reward_denoms(
1909 &mut self,
1910 request: impl tonic::IntoRequest<super::MsgChangeRewardDenoms>,
1911 ) -> std::result::Result<
1912 tonic::Response<super::MsgChangeRewardDenomsResponse>,
1913 tonic::Status,
1914 > {
1915 self.inner
1916 .ready()
1917 .await
1918 .map_err(|e| {
1919 tonic::Status::new(
1920 tonic::Code::Unknown,
1921 format!("Service was not ready: {}", e.into()),
1922 )
1923 })?;
1924 let codec = tonic::codec::ProstCodec::default();
1925 let path = http::uri::PathAndQuery::from_static(
1926 "/interchain_security.ccv.provider.v1.Msg/ChangeRewardDenoms",
1927 );
1928 let mut req = request.into_request();
1929 req.extensions_mut()
1930 .insert(
1931 GrpcMethod::new(
1932 "interchain_security.ccv.provider.v1.Msg",
1933 "ChangeRewardDenoms",
1934 ),
1935 );
1936 self.inner.unary(req, path, codec).await
1937 }
1938 }
1939}
1940#[cfg(feature = "server")]
1942pub mod msg_server {
1943 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
1944 use tonic::codegen::*;
1945 #[async_trait]
1947 pub trait Msg: Send + Sync + 'static {
1948 async fn assign_consumer_key(
1949 &self,
1950 request: tonic::Request<super::MsgAssignConsumerKey>,
1951 ) -> std::result::Result<
1952 tonic::Response<super::MsgAssignConsumerKeyResponse>,
1953 tonic::Status,
1954 >;
1955 async fn submit_consumer_misbehaviour(
1956 &self,
1957 request: tonic::Request<super::MsgSubmitConsumerMisbehaviour>,
1958 ) -> std::result::Result<
1959 tonic::Response<super::MsgSubmitConsumerMisbehaviourResponse>,
1960 tonic::Status,
1961 >;
1962 async fn submit_consumer_double_voting(
1963 &self,
1964 request: tonic::Request<super::MsgSubmitConsumerDoubleVoting>,
1965 ) -> std::result::Result<
1966 tonic::Response<super::MsgSubmitConsumerDoubleVotingResponse>,
1967 tonic::Status,
1968 >;
1969 async fn create_consumer(
1970 &self,
1971 request: tonic::Request<super::MsgCreateConsumer>,
1972 ) -> std::result::Result<
1973 tonic::Response<super::MsgCreateConsumerResponse>,
1974 tonic::Status,
1975 >;
1976 async fn update_consumer(
1977 &self,
1978 request: tonic::Request<super::MsgUpdateConsumer>,
1979 ) -> std::result::Result<
1980 tonic::Response<super::MsgUpdateConsumerResponse>,
1981 tonic::Status,
1982 >;
1983 async fn remove_consumer(
1984 &self,
1985 request: tonic::Request<super::MsgRemoveConsumer>,
1986 ) -> std::result::Result<
1987 tonic::Response<super::MsgRemoveConsumerResponse>,
1988 tonic::Status,
1989 >;
1990 async fn update_params(
1991 &self,
1992 request: tonic::Request<super::MsgUpdateParams>,
1993 ) -> std::result::Result<
1994 tonic::Response<super::MsgUpdateParamsResponse>,
1995 tonic::Status,
1996 >;
1997 async fn opt_in(
1998 &self,
1999 request: tonic::Request<super::MsgOptIn>,
2000 ) -> std::result::Result<
2001 tonic::Response<super::MsgOptInResponse>,
2002 tonic::Status,
2003 >;
2004 async fn opt_out(
2005 &self,
2006 request: tonic::Request<super::MsgOptOut>,
2007 ) -> std::result::Result<
2008 tonic::Response<super::MsgOptOutResponse>,
2009 tonic::Status,
2010 >;
2011 async fn set_consumer_commission_rate(
2012 &self,
2013 request: tonic::Request<super::MsgSetConsumerCommissionRate>,
2014 ) -> std::result::Result<
2015 tonic::Response<super::MsgSetConsumerCommissionRateResponse>,
2016 tonic::Status,
2017 >;
2018 async fn change_reward_denoms(
2019 &self,
2020 request: tonic::Request<super::MsgChangeRewardDenoms>,
2021 ) -> std::result::Result<
2022 tonic::Response<super::MsgChangeRewardDenomsResponse>,
2023 tonic::Status,
2024 >;
2025 }
2026 #[derive(Debug)]
2028 pub struct MsgServer<T: Msg> {
2029 inner: Arc<T>,
2030 accept_compression_encodings: EnabledCompressionEncodings,
2031 send_compression_encodings: EnabledCompressionEncodings,
2032 max_decoding_message_size: Option<usize>,
2033 max_encoding_message_size: Option<usize>,
2034 }
2035 impl<T: Msg> MsgServer<T> {
2036 pub fn new(inner: T) -> Self {
2037 Self::from_arc(Arc::new(inner))
2038 }
2039 pub fn from_arc(inner: Arc<T>) -> Self {
2040 Self {
2041 inner,
2042 accept_compression_encodings: Default::default(),
2043 send_compression_encodings: Default::default(),
2044 max_decoding_message_size: None,
2045 max_encoding_message_size: None,
2046 }
2047 }
2048 pub fn with_interceptor<F>(
2049 inner: T,
2050 interceptor: F,
2051 ) -> InterceptedService<Self, F>
2052 where
2053 F: tonic::service::Interceptor,
2054 {
2055 InterceptedService::new(Self::new(inner), interceptor)
2056 }
2057 #[must_use]
2059 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2060 self.accept_compression_encodings.enable(encoding);
2061 self
2062 }
2063 #[must_use]
2065 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2066 self.send_compression_encodings.enable(encoding);
2067 self
2068 }
2069 #[must_use]
2073 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2074 self.max_decoding_message_size = Some(limit);
2075 self
2076 }
2077 #[must_use]
2081 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2082 self.max_encoding_message_size = Some(limit);
2083 self
2084 }
2085 }
2086 impl<T, B> tonic::codegen::Service<http::Request<B>> for MsgServer<T>
2087 where
2088 T: Msg,
2089 B: Body + Send + 'static,
2090 B::Error: Into<StdError> + Send + 'static,
2091 {
2092 type Response = http::Response<tonic::body::BoxBody>;
2093 type Error = std::convert::Infallible;
2094 type Future = BoxFuture<Self::Response, Self::Error>;
2095 fn poll_ready(
2096 &mut self,
2097 _cx: &mut Context<'_>,
2098 ) -> Poll<std::result::Result<(), Self::Error>> {
2099 Poll::Ready(Ok(()))
2100 }
2101 fn call(&mut self, req: http::Request<B>) -> Self::Future {
2102 match req.uri().path() {
2103 "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey" => {
2104 #[allow(non_camel_case_types)]
2105 struct AssignConsumerKeySvc<T: Msg>(pub Arc<T>);
2106 impl<T: Msg> tonic::server::UnaryService<super::MsgAssignConsumerKey>
2107 for AssignConsumerKeySvc<T> {
2108 type Response = super::MsgAssignConsumerKeyResponse;
2109 type Future = BoxFuture<
2110 tonic::Response<Self::Response>,
2111 tonic::Status,
2112 >;
2113 fn call(
2114 &mut self,
2115 request: tonic::Request<super::MsgAssignConsumerKey>,
2116 ) -> Self::Future {
2117 let inner = Arc::clone(&self.0);
2118 let fut = async move {
2119 <T as Msg>::assign_consumer_key(&inner, request).await
2120 };
2121 Box::pin(fut)
2122 }
2123 }
2124 let accept_compression_encodings = self.accept_compression_encodings;
2125 let send_compression_encodings = self.send_compression_encodings;
2126 let max_decoding_message_size = self.max_decoding_message_size;
2127 let max_encoding_message_size = self.max_encoding_message_size;
2128 let inner = self.inner.clone();
2129 let fut = async move {
2130 let method = AssignConsumerKeySvc(inner);
2131 let codec = tonic::codec::ProstCodec::default();
2132 let mut grpc = tonic::server::Grpc::new(codec)
2133 .apply_compression_config(
2134 accept_compression_encodings,
2135 send_compression_encodings,
2136 )
2137 .apply_max_message_size_config(
2138 max_decoding_message_size,
2139 max_encoding_message_size,
2140 );
2141 let res = grpc.unary(method, req).await;
2142 Ok(res)
2143 };
2144 Box::pin(fut)
2145 }
2146 "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour" => {
2147 #[allow(non_camel_case_types)]
2148 struct SubmitConsumerMisbehaviourSvc<T: Msg>(pub Arc<T>);
2149 impl<
2150 T: Msg,
2151 > tonic::server::UnaryService<super::MsgSubmitConsumerMisbehaviour>
2152 for SubmitConsumerMisbehaviourSvc<T> {
2153 type Response = super::MsgSubmitConsumerMisbehaviourResponse;
2154 type Future = BoxFuture<
2155 tonic::Response<Self::Response>,
2156 tonic::Status,
2157 >;
2158 fn call(
2159 &mut self,
2160 request: tonic::Request<super::MsgSubmitConsumerMisbehaviour>,
2161 ) -> Self::Future {
2162 let inner = Arc::clone(&self.0);
2163 let fut = async move {
2164 <T as Msg>::submit_consumer_misbehaviour(&inner, request)
2165 .await
2166 };
2167 Box::pin(fut)
2168 }
2169 }
2170 let accept_compression_encodings = self.accept_compression_encodings;
2171 let send_compression_encodings = self.send_compression_encodings;
2172 let max_decoding_message_size = self.max_decoding_message_size;
2173 let max_encoding_message_size = self.max_encoding_message_size;
2174 let inner = self.inner.clone();
2175 let fut = async move {
2176 let method = SubmitConsumerMisbehaviourSvc(inner);
2177 let codec = tonic::codec::ProstCodec::default();
2178 let mut grpc = tonic::server::Grpc::new(codec)
2179 .apply_compression_config(
2180 accept_compression_encodings,
2181 send_compression_encodings,
2182 )
2183 .apply_max_message_size_config(
2184 max_decoding_message_size,
2185 max_encoding_message_size,
2186 );
2187 let res = grpc.unary(method, req).await;
2188 Ok(res)
2189 };
2190 Box::pin(fut)
2191 }
2192 "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting" => {
2193 #[allow(non_camel_case_types)]
2194 struct SubmitConsumerDoubleVotingSvc<T: Msg>(pub Arc<T>);
2195 impl<
2196 T: Msg,
2197 > tonic::server::UnaryService<super::MsgSubmitConsumerDoubleVoting>
2198 for SubmitConsumerDoubleVotingSvc<T> {
2199 type Response = super::MsgSubmitConsumerDoubleVotingResponse;
2200 type Future = BoxFuture<
2201 tonic::Response<Self::Response>,
2202 tonic::Status,
2203 >;
2204 fn call(
2205 &mut self,
2206 request: tonic::Request<super::MsgSubmitConsumerDoubleVoting>,
2207 ) -> Self::Future {
2208 let inner = Arc::clone(&self.0);
2209 let fut = async move {
2210 <T as Msg>::submit_consumer_double_voting(&inner, request)
2211 .await
2212 };
2213 Box::pin(fut)
2214 }
2215 }
2216 let accept_compression_encodings = self.accept_compression_encodings;
2217 let send_compression_encodings = self.send_compression_encodings;
2218 let max_decoding_message_size = self.max_decoding_message_size;
2219 let max_encoding_message_size = self.max_encoding_message_size;
2220 let inner = self.inner.clone();
2221 let fut = async move {
2222 let method = SubmitConsumerDoubleVotingSvc(inner);
2223 let codec = tonic::codec::ProstCodec::default();
2224 let mut grpc = tonic::server::Grpc::new(codec)
2225 .apply_compression_config(
2226 accept_compression_encodings,
2227 send_compression_encodings,
2228 )
2229 .apply_max_message_size_config(
2230 max_decoding_message_size,
2231 max_encoding_message_size,
2232 );
2233 let res = grpc.unary(method, req).await;
2234 Ok(res)
2235 };
2236 Box::pin(fut)
2237 }
2238 "/interchain_security.ccv.provider.v1.Msg/CreateConsumer" => {
2239 #[allow(non_camel_case_types)]
2240 struct CreateConsumerSvc<T: Msg>(pub Arc<T>);
2241 impl<T: Msg> tonic::server::UnaryService<super::MsgCreateConsumer>
2242 for CreateConsumerSvc<T> {
2243 type Response = super::MsgCreateConsumerResponse;
2244 type Future = BoxFuture<
2245 tonic::Response<Self::Response>,
2246 tonic::Status,
2247 >;
2248 fn call(
2249 &mut self,
2250 request: tonic::Request<super::MsgCreateConsumer>,
2251 ) -> Self::Future {
2252 let inner = Arc::clone(&self.0);
2253 let fut = async move {
2254 <T as Msg>::create_consumer(&inner, request).await
2255 };
2256 Box::pin(fut)
2257 }
2258 }
2259 let accept_compression_encodings = self.accept_compression_encodings;
2260 let send_compression_encodings = self.send_compression_encodings;
2261 let max_decoding_message_size = self.max_decoding_message_size;
2262 let max_encoding_message_size = self.max_encoding_message_size;
2263 let inner = self.inner.clone();
2264 let fut = async move {
2265 let method = CreateConsumerSvc(inner);
2266 let codec = tonic::codec::ProstCodec::default();
2267 let mut grpc = tonic::server::Grpc::new(codec)
2268 .apply_compression_config(
2269 accept_compression_encodings,
2270 send_compression_encodings,
2271 )
2272 .apply_max_message_size_config(
2273 max_decoding_message_size,
2274 max_encoding_message_size,
2275 );
2276 let res = grpc.unary(method, req).await;
2277 Ok(res)
2278 };
2279 Box::pin(fut)
2280 }
2281 "/interchain_security.ccv.provider.v1.Msg/UpdateConsumer" => {
2282 #[allow(non_camel_case_types)]
2283 struct UpdateConsumerSvc<T: Msg>(pub Arc<T>);
2284 impl<T: Msg> tonic::server::UnaryService<super::MsgUpdateConsumer>
2285 for UpdateConsumerSvc<T> {
2286 type Response = super::MsgUpdateConsumerResponse;
2287 type Future = BoxFuture<
2288 tonic::Response<Self::Response>,
2289 tonic::Status,
2290 >;
2291 fn call(
2292 &mut self,
2293 request: tonic::Request<super::MsgUpdateConsumer>,
2294 ) -> Self::Future {
2295 let inner = Arc::clone(&self.0);
2296 let fut = async move {
2297 <T as Msg>::update_consumer(&inner, request).await
2298 };
2299 Box::pin(fut)
2300 }
2301 }
2302 let accept_compression_encodings = self.accept_compression_encodings;
2303 let send_compression_encodings = self.send_compression_encodings;
2304 let max_decoding_message_size = self.max_decoding_message_size;
2305 let max_encoding_message_size = self.max_encoding_message_size;
2306 let inner = self.inner.clone();
2307 let fut = async move {
2308 let method = UpdateConsumerSvc(inner);
2309 let codec = tonic::codec::ProstCodec::default();
2310 let mut grpc = tonic::server::Grpc::new(codec)
2311 .apply_compression_config(
2312 accept_compression_encodings,
2313 send_compression_encodings,
2314 )
2315 .apply_max_message_size_config(
2316 max_decoding_message_size,
2317 max_encoding_message_size,
2318 );
2319 let res = grpc.unary(method, req).await;
2320 Ok(res)
2321 };
2322 Box::pin(fut)
2323 }
2324 "/interchain_security.ccv.provider.v1.Msg/RemoveConsumer" => {
2325 #[allow(non_camel_case_types)]
2326 struct RemoveConsumerSvc<T: Msg>(pub Arc<T>);
2327 impl<T: Msg> tonic::server::UnaryService<super::MsgRemoveConsumer>
2328 for RemoveConsumerSvc<T> {
2329 type Response = super::MsgRemoveConsumerResponse;
2330 type Future = BoxFuture<
2331 tonic::Response<Self::Response>,
2332 tonic::Status,
2333 >;
2334 fn call(
2335 &mut self,
2336 request: tonic::Request<super::MsgRemoveConsumer>,
2337 ) -> Self::Future {
2338 let inner = Arc::clone(&self.0);
2339 let fut = async move {
2340 <T as Msg>::remove_consumer(&inner, request).await
2341 };
2342 Box::pin(fut)
2343 }
2344 }
2345 let accept_compression_encodings = self.accept_compression_encodings;
2346 let send_compression_encodings = self.send_compression_encodings;
2347 let max_decoding_message_size = self.max_decoding_message_size;
2348 let max_encoding_message_size = self.max_encoding_message_size;
2349 let inner = self.inner.clone();
2350 let fut = async move {
2351 let method = RemoveConsumerSvc(inner);
2352 let codec = tonic::codec::ProstCodec::default();
2353 let mut grpc = tonic::server::Grpc::new(codec)
2354 .apply_compression_config(
2355 accept_compression_encodings,
2356 send_compression_encodings,
2357 )
2358 .apply_max_message_size_config(
2359 max_decoding_message_size,
2360 max_encoding_message_size,
2361 );
2362 let res = grpc.unary(method, req).await;
2363 Ok(res)
2364 };
2365 Box::pin(fut)
2366 }
2367 "/interchain_security.ccv.provider.v1.Msg/UpdateParams" => {
2368 #[allow(non_camel_case_types)]
2369 struct UpdateParamsSvc<T: Msg>(pub Arc<T>);
2370 impl<T: Msg> tonic::server::UnaryService<super::MsgUpdateParams>
2371 for UpdateParamsSvc<T> {
2372 type Response = super::MsgUpdateParamsResponse;
2373 type Future = BoxFuture<
2374 tonic::Response<Self::Response>,
2375 tonic::Status,
2376 >;
2377 fn call(
2378 &mut self,
2379 request: tonic::Request<super::MsgUpdateParams>,
2380 ) -> Self::Future {
2381 let inner = Arc::clone(&self.0);
2382 let fut = async move {
2383 <T as Msg>::update_params(&inner, request).await
2384 };
2385 Box::pin(fut)
2386 }
2387 }
2388 let accept_compression_encodings = self.accept_compression_encodings;
2389 let send_compression_encodings = self.send_compression_encodings;
2390 let max_decoding_message_size = self.max_decoding_message_size;
2391 let max_encoding_message_size = self.max_encoding_message_size;
2392 let inner = self.inner.clone();
2393 let fut = async move {
2394 let method = UpdateParamsSvc(inner);
2395 let codec = tonic::codec::ProstCodec::default();
2396 let mut grpc = tonic::server::Grpc::new(codec)
2397 .apply_compression_config(
2398 accept_compression_encodings,
2399 send_compression_encodings,
2400 )
2401 .apply_max_message_size_config(
2402 max_decoding_message_size,
2403 max_encoding_message_size,
2404 );
2405 let res = grpc.unary(method, req).await;
2406 Ok(res)
2407 };
2408 Box::pin(fut)
2409 }
2410 "/interchain_security.ccv.provider.v1.Msg/OptIn" => {
2411 #[allow(non_camel_case_types)]
2412 struct OptInSvc<T: Msg>(pub Arc<T>);
2413 impl<T: Msg> tonic::server::UnaryService<super::MsgOptIn>
2414 for OptInSvc<T> {
2415 type Response = super::MsgOptInResponse;
2416 type Future = BoxFuture<
2417 tonic::Response<Self::Response>,
2418 tonic::Status,
2419 >;
2420 fn call(
2421 &mut self,
2422 request: tonic::Request<super::MsgOptIn>,
2423 ) -> Self::Future {
2424 let inner = Arc::clone(&self.0);
2425 let fut = async move {
2426 <T as Msg>::opt_in(&inner, request).await
2427 };
2428 Box::pin(fut)
2429 }
2430 }
2431 let accept_compression_encodings = self.accept_compression_encodings;
2432 let send_compression_encodings = self.send_compression_encodings;
2433 let max_decoding_message_size = self.max_decoding_message_size;
2434 let max_encoding_message_size = self.max_encoding_message_size;
2435 let inner = self.inner.clone();
2436 let fut = async move {
2437 let method = OptInSvc(inner);
2438 let codec = tonic::codec::ProstCodec::default();
2439 let mut grpc = tonic::server::Grpc::new(codec)
2440 .apply_compression_config(
2441 accept_compression_encodings,
2442 send_compression_encodings,
2443 )
2444 .apply_max_message_size_config(
2445 max_decoding_message_size,
2446 max_encoding_message_size,
2447 );
2448 let res = grpc.unary(method, req).await;
2449 Ok(res)
2450 };
2451 Box::pin(fut)
2452 }
2453 "/interchain_security.ccv.provider.v1.Msg/OptOut" => {
2454 #[allow(non_camel_case_types)]
2455 struct OptOutSvc<T: Msg>(pub Arc<T>);
2456 impl<T: Msg> tonic::server::UnaryService<super::MsgOptOut>
2457 for OptOutSvc<T> {
2458 type Response = super::MsgOptOutResponse;
2459 type Future = BoxFuture<
2460 tonic::Response<Self::Response>,
2461 tonic::Status,
2462 >;
2463 fn call(
2464 &mut self,
2465 request: tonic::Request<super::MsgOptOut>,
2466 ) -> Self::Future {
2467 let inner = Arc::clone(&self.0);
2468 let fut = async move {
2469 <T as Msg>::opt_out(&inner, request).await
2470 };
2471 Box::pin(fut)
2472 }
2473 }
2474 let accept_compression_encodings = self.accept_compression_encodings;
2475 let send_compression_encodings = self.send_compression_encodings;
2476 let max_decoding_message_size = self.max_decoding_message_size;
2477 let max_encoding_message_size = self.max_encoding_message_size;
2478 let inner = self.inner.clone();
2479 let fut = async move {
2480 let method = OptOutSvc(inner);
2481 let codec = tonic::codec::ProstCodec::default();
2482 let mut grpc = tonic::server::Grpc::new(codec)
2483 .apply_compression_config(
2484 accept_compression_encodings,
2485 send_compression_encodings,
2486 )
2487 .apply_max_message_size_config(
2488 max_decoding_message_size,
2489 max_encoding_message_size,
2490 );
2491 let res = grpc.unary(method, req).await;
2492 Ok(res)
2493 };
2494 Box::pin(fut)
2495 }
2496 "/interchain_security.ccv.provider.v1.Msg/SetConsumerCommissionRate" => {
2497 #[allow(non_camel_case_types)]
2498 struct SetConsumerCommissionRateSvc<T: Msg>(pub Arc<T>);
2499 impl<
2500 T: Msg,
2501 > tonic::server::UnaryService<super::MsgSetConsumerCommissionRate>
2502 for SetConsumerCommissionRateSvc<T> {
2503 type Response = super::MsgSetConsumerCommissionRateResponse;
2504 type Future = BoxFuture<
2505 tonic::Response<Self::Response>,
2506 tonic::Status,
2507 >;
2508 fn call(
2509 &mut self,
2510 request: tonic::Request<super::MsgSetConsumerCommissionRate>,
2511 ) -> Self::Future {
2512 let inner = Arc::clone(&self.0);
2513 let fut = async move {
2514 <T as Msg>::set_consumer_commission_rate(&inner, request)
2515 .await
2516 };
2517 Box::pin(fut)
2518 }
2519 }
2520 let accept_compression_encodings = self.accept_compression_encodings;
2521 let send_compression_encodings = self.send_compression_encodings;
2522 let max_decoding_message_size = self.max_decoding_message_size;
2523 let max_encoding_message_size = self.max_encoding_message_size;
2524 let inner = self.inner.clone();
2525 let fut = async move {
2526 let method = SetConsumerCommissionRateSvc(inner);
2527 let codec = tonic::codec::ProstCodec::default();
2528 let mut grpc = tonic::server::Grpc::new(codec)
2529 .apply_compression_config(
2530 accept_compression_encodings,
2531 send_compression_encodings,
2532 )
2533 .apply_max_message_size_config(
2534 max_decoding_message_size,
2535 max_encoding_message_size,
2536 );
2537 let res = grpc.unary(method, req).await;
2538 Ok(res)
2539 };
2540 Box::pin(fut)
2541 }
2542 "/interchain_security.ccv.provider.v1.Msg/ChangeRewardDenoms" => {
2543 #[allow(non_camel_case_types)]
2544 struct ChangeRewardDenomsSvc<T: Msg>(pub Arc<T>);
2545 impl<
2546 T: Msg,
2547 > tonic::server::UnaryService<super::MsgChangeRewardDenoms>
2548 for ChangeRewardDenomsSvc<T> {
2549 type Response = super::MsgChangeRewardDenomsResponse;
2550 type Future = BoxFuture<
2551 tonic::Response<Self::Response>,
2552 tonic::Status,
2553 >;
2554 fn call(
2555 &mut self,
2556 request: tonic::Request<super::MsgChangeRewardDenoms>,
2557 ) -> Self::Future {
2558 let inner = Arc::clone(&self.0);
2559 let fut = async move {
2560 <T as Msg>::change_reward_denoms(&inner, request).await
2561 };
2562 Box::pin(fut)
2563 }
2564 }
2565 let accept_compression_encodings = self.accept_compression_encodings;
2566 let send_compression_encodings = self.send_compression_encodings;
2567 let max_decoding_message_size = self.max_decoding_message_size;
2568 let max_encoding_message_size = self.max_encoding_message_size;
2569 let inner = self.inner.clone();
2570 let fut = async move {
2571 let method = ChangeRewardDenomsSvc(inner);
2572 let codec = tonic::codec::ProstCodec::default();
2573 let mut grpc = tonic::server::Grpc::new(codec)
2574 .apply_compression_config(
2575 accept_compression_encodings,
2576 send_compression_encodings,
2577 )
2578 .apply_max_message_size_config(
2579 max_decoding_message_size,
2580 max_encoding_message_size,
2581 );
2582 let res = grpc.unary(method, req).await;
2583 Ok(res)
2584 };
2585 Box::pin(fut)
2586 }
2587 _ => {
2588 Box::pin(async move {
2589 Ok(
2590 http::Response::builder()
2591 .status(200)
2592 .header("grpc-status", tonic::Code::Unimplemented as i32)
2593 .header(
2594 http::header::CONTENT_TYPE,
2595 tonic::metadata::GRPC_CONTENT_TYPE,
2596 )
2597 .body(empty_body())
2598 .unwrap(),
2599 )
2600 })
2601 }
2602 }
2603 }
2604 }
2605 impl<T: Msg> Clone for MsgServer<T> {
2606 fn clone(&self) -> Self {
2607 let inner = self.inner.clone();
2608 Self {
2609 inner,
2610 accept_compression_encodings: self.accept_compression_encodings,
2611 send_compression_encodings: self.send_compression_encodings,
2612 max_decoding_message_size: self.max_decoding_message_size,
2613 max_encoding_message_size: self.max_encoding_message_size,
2614 }
2615 }
2616 }
2617 impl<T: Msg> tonic::server::NamedService for MsgServer<T> {
2618 const NAME: &'static str = "interchain_security.ccv.provider.v1.Msg";
2619 }
2620}
2621#[allow(clippy::derive_partial_eq_without_eq)]
2622#[derive(Clone, PartialEq, ::prost::Message)]
2623pub struct QueryConsumerGenesisRequest {
2624 #[prost(string, tag = "1")]
2625 pub consumer_id: ::prost::alloc::string::String,
2626}
2627impl ::prost::Name for QueryConsumerGenesisRequest {
2628 const NAME: &'static str = "QueryConsumerGenesisRequest";
2629 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2630 fn full_name() -> ::prost::alloc::string::String {
2631 "interchain_security.ccv.provider.v1.QueryConsumerGenesisRequest".into()
2632 }
2633 fn type_url() -> ::prost::alloc::string::String {
2634 "/interchain_security.ccv.provider.v1.QueryConsumerGenesisRequest".into()
2635 }
2636}
2637#[allow(clippy::derive_partial_eq_without_eq)]
2638#[derive(Clone, PartialEq, ::prost::Message)]
2639pub struct QueryConsumerGenesisResponse {
2640 #[prost(message, optional, tag = "1")]
2641 pub genesis_state: ::core::option::Option<super::super::v1::ConsumerGenesisState>,
2642}
2643impl ::prost::Name for QueryConsumerGenesisResponse {
2644 const NAME: &'static str = "QueryConsumerGenesisResponse";
2645 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2646 fn full_name() -> ::prost::alloc::string::String {
2647 "interchain_security.ccv.provider.v1.QueryConsumerGenesisResponse".into()
2648 }
2649 fn type_url() -> ::prost::alloc::string::String {
2650 "/interchain_security.ccv.provider.v1.QueryConsumerGenesisResponse".into()
2651 }
2652}
2653#[allow(clippy::derive_partial_eq_without_eq)]
2654#[derive(Clone, PartialEq, ::prost::Message)]
2655pub struct QueryConsumerChainsRequest {
2656 #[prost(enumeration = "ConsumerPhase", tag = "1")]
2659 pub phase: i32,
2660 #[prost(message, optional, tag = "2")]
2661 pub pagination: ::core::option::Option<
2662 super::super::super::super::cosmos::base::query::v1beta1::PageRequest,
2663 >,
2664}
2665impl ::prost::Name for QueryConsumerChainsRequest {
2666 const NAME: &'static str = "QueryConsumerChainsRequest";
2667 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2668 fn full_name() -> ::prost::alloc::string::String {
2669 "interchain_security.ccv.provider.v1.QueryConsumerChainsRequest".into()
2670 }
2671 fn type_url() -> ::prost::alloc::string::String {
2672 "/interchain_security.ccv.provider.v1.QueryConsumerChainsRequest".into()
2673 }
2674}
2675#[allow(clippy::derive_partial_eq_without_eq)]
2676#[derive(Clone, PartialEq, ::prost::Message)]
2677pub struct QueryConsumerChainsResponse {
2678 #[prost(message, repeated, tag = "1")]
2679 pub chains: ::prost::alloc::vec::Vec<Chain>,
2680 #[prost(message, optional, tag = "2")]
2681 pub pagination: ::core::option::Option<
2682 super::super::super::super::cosmos::base::query::v1beta1::PageResponse,
2683 >,
2684}
2685impl ::prost::Name for QueryConsumerChainsResponse {
2686 const NAME: &'static str = "QueryConsumerChainsResponse";
2687 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2688 fn full_name() -> ::prost::alloc::string::String {
2689 "interchain_security.ccv.provider.v1.QueryConsumerChainsResponse".into()
2690 }
2691 fn type_url() -> ::prost::alloc::string::String {
2692 "/interchain_security.ccv.provider.v1.QueryConsumerChainsResponse".into()
2693 }
2694}
2695#[allow(clippy::derive_partial_eq_without_eq)]
2696#[derive(Clone, PartialEq, ::prost::Message)]
2697pub struct Chain {
2698 #[prost(string, tag = "1")]
2699 pub chain_id: ::prost::alloc::string::String,
2700 #[prost(string, tag = "2")]
2701 pub client_id: ::prost::alloc::string::String,
2702 #[prost(uint32, tag = "3")]
2703 pub top_n: u32,
2704 #[prost(int64, tag = "4")]
2707 pub min_power_in_top_n: i64,
2708 #[prost(uint32, tag = "5")]
2710 pub validators_power_cap: u32,
2711 #[prost(uint32, tag = "6")]
2714 pub validator_set_cap: u32,
2715 #[prost(string, repeated, tag = "7")]
2718 pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2719 #[prost(string, repeated, tag = "8")]
2721 pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2722 #[prost(string, tag = "9")]
2724 pub phase: ::prost::alloc::string::String,
2725 #[prost(message, optional, tag = "10")]
2727 pub metadata: ::core::option::Option<ConsumerMetadata>,
2728 #[prost(uint64, tag = "11")]
2730 pub min_stake: u64,
2731 #[prost(bool, tag = "12")]
2733 pub allow_inactive_vals: bool,
2734 #[prost(string, tag = "13")]
2735 pub consumer_id: ::prost::alloc::string::String,
2736}
2737impl ::prost::Name for Chain {
2738 const NAME: &'static str = "Chain";
2739 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2740 fn full_name() -> ::prost::alloc::string::String {
2741 "interchain_security.ccv.provider.v1.Chain".into()
2742 }
2743 fn type_url() -> ::prost::alloc::string::String {
2744 "/interchain_security.ccv.provider.v1.Chain".into()
2745 }
2746}
2747#[allow(clippy::derive_partial_eq_without_eq)]
2748#[derive(Clone, PartialEq, ::prost::Message)]
2749pub struct QueryValidatorConsumerAddrRequest {
2750 #[prost(string, tag = "1")]
2752 pub provider_address: ::prost::alloc::string::String,
2753 #[prost(string, tag = "2")]
2755 pub consumer_id: ::prost::alloc::string::String,
2756}
2757impl ::prost::Name for QueryValidatorConsumerAddrRequest {
2758 const NAME: &'static str = "QueryValidatorConsumerAddrRequest";
2759 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2760 fn full_name() -> ::prost::alloc::string::String {
2761 "interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrRequest".into()
2762 }
2763 fn type_url() -> ::prost::alloc::string::String {
2764 "/interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrRequest".into()
2765 }
2766}
2767#[allow(clippy::derive_partial_eq_without_eq)]
2768#[derive(Clone, PartialEq, ::prost::Message)]
2769pub struct QueryValidatorConsumerAddrResponse {
2770 #[prost(string, tag = "1")]
2772 pub consumer_address: ::prost::alloc::string::String,
2773}
2774impl ::prost::Name for QueryValidatorConsumerAddrResponse {
2775 const NAME: &'static str = "QueryValidatorConsumerAddrResponse";
2776 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2777 fn full_name() -> ::prost::alloc::string::String {
2778 "interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrResponse".into()
2779 }
2780 fn type_url() -> ::prost::alloc::string::String {
2781 "/interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrResponse".into()
2782 }
2783}
2784#[allow(clippy::derive_partial_eq_without_eq)]
2785#[derive(Clone, PartialEq, ::prost::Message)]
2786pub struct QueryValidatorProviderAddrRequest {
2787 #[prost(string, tag = "1")]
2789 pub consumer_address: ::prost::alloc::string::String,
2790 #[prost(string, tag = "2")]
2792 pub consumer_id: ::prost::alloc::string::String,
2793}
2794impl ::prost::Name for QueryValidatorProviderAddrRequest {
2795 const NAME: &'static str = "QueryValidatorProviderAddrRequest";
2796 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2797 fn full_name() -> ::prost::alloc::string::String {
2798 "interchain_security.ccv.provider.v1.QueryValidatorProviderAddrRequest".into()
2799 }
2800 fn type_url() -> ::prost::alloc::string::String {
2801 "/interchain_security.ccv.provider.v1.QueryValidatorProviderAddrRequest".into()
2802 }
2803}
2804#[allow(clippy::derive_partial_eq_without_eq)]
2805#[derive(Clone, PartialEq, ::prost::Message)]
2806pub struct QueryValidatorProviderAddrResponse {
2807 #[prost(string, tag = "1")]
2809 pub provider_address: ::prost::alloc::string::String,
2810}
2811impl ::prost::Name for QueryValidatorProviderAddrResponse {
2812 const NAME: &'static str = "QueryValidatorProviderAddrResponse";
2813 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2814 fn full_name() -> ::prost::alloc::string::String {
2815 "interchain_security.ccv.provider.v1.QueryValidatorProviderAddrResponse".into()
2816 }
2817 fn type_url() -> ::prost::alloc::string::String {
2818 "/interchain_security.ccv.provider.v1.QueryValidatorProviderAddrResponse".into()
2819 }
2820}
2821#[allow(clippy::derive_partial_eq_without_eq)]
2822#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2823pub struct QueryThrottleStateRequest {}
2824impl ::prost::Name for QueryThrottleStateRequest {
2825 const NAME: &'static str = "QueryThrottleStateRequest";
2826 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2827 fn full_name() -> ::prost::alloc::string::String {
2828 "interchain_security.ccv.provider.v1.QueryThrottleStateRequest".into()
2829 }
2830 fn type_url() -> ::prost::alloc::string::String {
2831 "/interchain_security.ccv.provider.v1.QueryThrottleStateRequest".into()
2832 }
2833}
2834#[allow(clippy::derive_partial_eq_without_eq)]
2835#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2836pub struct QueryThrottleStateResponse {
2837 #[prost(int64, tag = "1")]
2839 pub slash_meter: i64,
2840 #[prost(int64, tag = "2")]
2843 pub slash_meter_allowance: i64,
2844 #[prost(message, optional, tag = "3")]
2847 pub next_replenish_candidate: ::core::option::Option<
2848 ::tendermint_proto::google::protobuf::Timestamp,
2849 >,
2850}
2851impl ::prost::Name for QueryThrottleStateResponse {
2852 const NAME: &'static str = "QueryThrottleStateResponse";
2853 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2854 fn full_name() -> ::prost::alloc::string::String {
2855 "interchain_security.ccv.provider.v1.QueryThrottleStateResponse".into()
2856 }
2857 fn type_url() -> ::prost::alloc::string::String {
2858 "/interchain_security.ccv.provider.v1.QueryThrottleStateResponse".into()
2859 }
2860}
2861#[allow(clippy::derive_partial_eq_without_eq)]
2862#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2863pub struct QueryRegisteredConsumerRewardDenomsRequest {}
2864impl ::prost::Name for QueryRegisteredConsumerRewardDenomsRequest {
2865 const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsRequest";
2866 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2867 fn full_name() -> ::prost::alloc::string::String {
2868 "interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsRequest"
2869 .into()
2870 }
2871 fn type_url() -> ::prost::alloc::string::String {
2872 "/interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsRequest"
2873 .into()
2874 }
2875}
2876#[allow(clippy::derive_partial_eq_without_eq)]
2877#[derive(Clone, PartialEq, ::prost::Message)]
2878pub struct QueryRegisteredConsumerRewardDenomsResponse {
2879 #[prost(string, repeated, tag = "1")]
2880 pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2881}
2882impl ::prost::Name for QueryRegisteredConsumerRewardDenomsResponse {
2883 const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsResponse";
2884 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2885 fn full_name() -> ::prost::alloc::string::String {
2886 "interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsResponse"
2887 .into()
2888 }
2889 fn type_url() -> ::prost::alloc::string::String {
2890 "/interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsResponse"
2891 .into()
2892 }
2893}
2894#[allow(clippy::derive_partial_eq_without_eq)]
2895#[derive(Clone, PartialEq, ::prost::Message)]
2896pub struct QueryAllPairsValConsAddrByConsumerRequest {
2897 #[prost(string, tag = "1")]
2899 pub consumer_id: ::prost::alloc::string::String,
2900}
2901impl ::prost::Name for QueryAllPairsValConsAddrByConsumerRequest {
2902 const NAME: &'static str = "QueryAllPairsValConsAddrByConsumerRequest";
2903 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2904 fn full_name() -> ::prost::alloc::string::String {
2905 "interchain_security.ccv.provider.v1.QueryAllPairsValConsAddrByConsumerRequest"
2906 .into()
2907 }
2908 fn type_url() -> ::prost::alloc::string::String {
2909 "/interchain_security.ccv.provider.v1.QueryAllPairsValConsAddrByConsumerRequest"
2910 .into()
2911 }
2912}
2913#[allow(clippy::derive_partial_eq_without_eq)]
2914#[derive(Clone, PartialEq, ::prost::Message)]
2915pub struct QueryAllPairsValConsAddrByConsumerResponse {
2916 #[prost(message, repeated, tag = "1")]
2917 pub pair_val_con_addr: ::prost::alloc::vec::Vec<PairValConAddrProviderAndConsumer>,
2918}
2919impl ::prost::Name for QueryAllPairsValConsAddrByConsumerResponse {
2920 const NAME: &'static str = "QueryAllPairsValConsAddrByConsumerResponse";
2921 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2922 fn full_name() -> ::prost::alloc::string::String {
2923 "interchain_security.ccv.provider.v1.QueryAllPairsValConsAddrByConsumerResponse"
2924 .into()
2925 }
2926 fn type_url() -> ::prost::alloc::string::String {
2927 "/interchain_security.ccv.provider.v1.QueryAllPairsValConsAddrByConsumerResponse"
2928 .into()
2929 }
2930}
2931#[allow(clippy::derive_partial_eq_without_eq)]
2932#[derive(Clone, PartialEq, ::prost::Message)]
2933pub struct PairValConAddrProviderAndConsumer {
2934 #[prost(string, tag = "1")]
2936 pub provider_address: ::prost::alloc::string::String,
2937 #[prost(string, tag = "2")]
2939 pub consumer_address: ::prost::alloc::string::String,
2940 #[prost(message, optional, tag = "3")]
2941 pub consumer_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>,
2942}
2943impl ::prost::Name for PairValConAddrProviderAndConsumer {
2944 const NAME: &'static str = "PairValConAddrProviderAndConsumer";
2945 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2946 fn full_name() -> ::prost::alloc::string::String {
2947 "interchain_security.ccv.provider.v1.PairValConAddrProviderAndConsumer".into()
2948 }
2949 fn type_url() -> ::prost::alloc::string::String {
2950 "/interchain_security.ccv.provider.v1.PairValConAddrProviderAndConsumer".into()
2951 }
2952}
2953#[allow(clippy::derive_partial_eq_without_eq)]
2954#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2955pub struct QueryParamsRequest {}
2956impl ::prost::Name for QueryParamsRequest {
2957 const NAME: &'static str = "QueryParamsRequest";
2958 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2959 fn full_name() -> ::prost::alloc::string::String {
2960 "interchain_security.ccv.provider.v1.QueryParamsRequest".into()
2961 }
2962 fn type_url() -> ::prost::alloc::string::String {
2963 "/interchain_security.ccv.provider.v1.QueryParamsRequest".into()
2964 }
2965}
2966#[allow(clippy::derive_partial_eq_without_eq)]
2967#[derive(Clone, PartialEq, ::prost::Message)]
2968pub struct QueryParamsResponse {
2969 #[prost(message, optional, tag = "1")]
2970 pub params: ::core::option::Option<Params>,
2971}
2972impl ::prost::Name for QueryParamsResponse {
2973 const NAME: &'static str = "QueryParamsResponse";
2974 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2975 fn full_name() -> ::prost::alloc::string::String {
2976 "interchain_security.ccv.provider.v1.QueryParamsResponse".into()
2977 }
2978 fn type_url() -> ::prost::alloc::string::String {
2979 "/interchain_security.ccv.provider.v1.QueryParamsResponse".into()
2980 }
2981}
2982#[allow(clippy::derive_partial_eq_without_eq)]
2983#[derive(Clone, PartialEq, ::prost::Message)]
2984pub struct QueryConsumerChainOptedInValidatorsRequest {
2985 #[prost(string, tag = "1")]
2986 pub consumer_id: ::prost::alloc::string::String,
2987}
2988impl ::prost::Name for QueryConsumerChainOptedInValidatorsRequest {
2989 const NAME: &'static str = "QueryConsumerChainOptedInValidatorsRequest";
2990 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
2991 fn full_name() -> ::prost::alloc::string::String {
2992 "interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsRequest"
2993 .into()
2994 }
2995 fn type_url() -> ::prost::alloc::string::String {
2996 "/interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsRequest"
2997 .into()
2998 }
2999}
3000#[allow(clippy::derive_partial_eq_without_eq)]
3001#[derive(Clone, PartialEq, ::prost::Message)]
3002pub struct QueryConsumerChainOptedInValidatorsResponse {
3003 #[prost(string, repeated, tag = "1")]
3005 pub validators_provider_addresses: ::prost::alloc::vec::Vec<
3006 ::prost::alloc::string::String,
3007 >,
3008}
3009impl ::prost::Name for QueryConsumerChainOptedInValidatorsResponse {
3010 const NAME: &'static str = "QueryConsumerChainOptedInValidatorsResponse";
3011 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3012 fn full_name() -> ::prost::alloc::string::String {
3013 "interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsResponse"
3014 .into()
3015 }
3016 fn type_url() -> ::prost::alloc::string::String {
3017 "/interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsResponse"
3018 .into()
3019 }
3020}
3021#[allow(clippy::derive_partial_eq_without_eq)]
3022#[derive(Clone, PartialEq, ::prost::Message)]
3023pub struct QueryConsumerValidatorsRequest {
3024 #[prost(string, tag = "1")]
3025 pub consumer_id: ::prost::alloc::string::String,
3026}
3027impl ::prost::Name for QueryConsumerValidatorsRequest {
3028 const NAME: &'static str = "QueryConsumerValidatorsRequest";
3029 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3030 fn full_name() -> ::prost::alloc::string::String {
3031 "interchain_security.ccv.provider.v1.QueryConsumerValidatorsRequest".into()
3032 }
3033 fn type_url() -> ::prost::alloc::string::String {
3034 "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsRequest".into()
3035 }
3036}
3037#[allow(clippy::derive_partial_eq_without_eq)]
3038#[derive(Clone, PartialEq, ::prost::Message)]
3039pub struct QueryConsumerValidatorsValidator {
3040 #[prost(string, tag = "1")]
3042 pub provider_address: ::prost::alloc::string::String,
3043 #[prost(message, optional, tag = "2")]
3045 pub consumer_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>,
3046 #[deprecated]
3048 #[prost(int64, tag = "3")]
3049 pub power: i64,
3050 #[deprecated]
3052 #[prost(string, tag = "4")]
3053 pub rate: ::prost::alloc::string::String,
3054 #[prost(int64, tag = "5")]
3056 pub consumer_power: i64,
3057 #[prost(string, tag = "6")]
3059 pub consumer_commission_rate: ::prost::alloc::string::String,
3060 #[prost(string, tag = "7")]
3062 pub provider_commission_rate: ::prost::alloc::string::String,
3063 #[prost(message, optional, tag = "8")]
3065 pub description: ::core::option::Option<
3066 super::super::super::super::cosmos::staking::v1beta1::Description,
3067 >,
3068 #[prost(string, tag = "9")]
3070 pub provider_operator_address: ::prost::alloc::string::String,
3071 #[prost(bool, tag = "10")]
3073 pub jailed: bool,
3074 #[prost(
3076 enumeration = "super::super::super::super::cosmos::staking::v1beta1::BondStatus",
3077 tag = "11"
3078 )]
3079 pub status: i32,
3080 #[prost(string, tag = "12")]
3082 pub provider_tokens: ::prost::alloc::string::String,
3083 #[prost(int64, tag = "13")]
3085 pub provider_power: i64,
3086 #[prost(bool, tag = "14")]
3088 pub validates_current_epoch: bool,
3089}
3090impl ::prost::Name for QueryConsumerValidatorsValidator {
3091 const NAME: &'static str = "QueryConsumerValidatorsValidator";
3092 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3093 fn full_name() -> ::prost::alloc::string::String {
3094 "interchain_security.ccv.provider.v1.QueryConsumerValidatorsValidator".into()
3095 }
3096 fn type_url() -> ::prost::alloc::string::String {
3097 "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsValidator".into()
3098 }
3099}
3100#[allow(clippy::derive_partial_eq_without_eq)]
3101#[derive(Clone, PartialEq, ::prost::Message)]
3102pub struct QueryConsumerValidatorsResponse {
3103 #[prost(message, repeated, tag = "1")]
3104 pub validators: ::prost::alloc::vec::Vec<QueryConsumerValidatorsValidator>,
3105}
3106impl ::prost::Name for QueryConsumerValidatorsResponse {
3107 const NAME: &'static str = "QueryConsumerValidatorsResponse";
3108 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3109 fn full_name() -> ::prost::alloc::string::String {
3110 "interchain_security.ccv.provider.v1.QueryConsumerValidatorsResponse".into()
3111 }
3112 fn type_url() -> ::prost::alloc::string::String {
3113 "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsResponse".into()
3114 }
3115}
3116#[allow(clippy::derive_partial_eq_without_eq)]
3117#[derive(Clone, PartialEq, ::prost::Message)]
3118pub struct QueryConsumerChainsValidatorHasToValidateRequest {
3119 #[prost(string, tag = "1")]
3121 pub provider_address: ::prost::alloc::string::String,
3122}
3123impl ::prost::Name for QueryConsumerChainsValidatorHasToValidateRequest {
3124 const NAME: &'static str = "QueryConsumerChainsValidatorHasToValidateRequest";
3125 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3126 fn full_name() -> ::prost::alloc::string::String {
3127 "interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateRequest"
3128 .into()
3129 }
3130 fn type_url() -> ::prost::alloc::string::String {
3131 "/interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateRequest"
3132 .into()
3133 }
3134}
3135#[allow(clippy::derive_partial_eq_without_eq)]
3136#[derive(Clone, PartialEq, ::prost::Message)]
3137pub struct QueryConsumerChainsValidatorHasToValidateResponse {
3138 #[prost(string, repeated, tag = "1")]
3139 pub consumer_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3140}
3141impl ::prost::Name for QueryConsumerChainsValidatorHasToValidateResponse {
3142 const NAME: &'static str = "QueryConsumerChainsValidatorHasToValidateResponse";
3143 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3144 fn full_name() -> ::prost::alloc::string::String {
3145 "interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateResponse"
3146 .into()
3147 }
3148 fn type_url() -> ::prost::alloc::string::String {
3149 "/interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateResponse"
3150 .into()
3151 }
3152}
3153#[allow(clippy::derive_partial_eq_without_eq)]
3154#[derive(Clone, PartialEq, ::prost::Message)]
3155pub struct QueryValidatorConsumerCommissionRateRequest {
3156 #[prost(string, tag = "1")]
3157 pub consumer_id: ::prost::alloc::string::String,
3158 #[prost(string, tag = "2")]
3160 pub provider_address: ::prost::alloc::string::String,
3161}
3162impl ::prost::Name for QueryValidatorConsumerCommissionRateRequest {
3163 const NAME: &'static str = "QueryValidatorConsumerCommissionRateRequest";
3164 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3165 fn full_name() -> ::prost::alloc::string::String {
3166 "interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateRequest"
3167 .into()
3168 }
3169 fn type_url() -> ::prost::alloc::string::String {
3170 "/interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateRequest"
3171 .into()
3172 }
3173}
3174#[allow(clippy::derive_partial_eq_without_eq)]
3175#[derive(Clone, PartialEq, ::prost::Message)]
3176pub struct QueryValidatorConsumerCommissionRateResponse {
3177 #[prost(string, tag = "1")]
3179 pub rate: ::prost::alloc::string::String,
3180}
3181impl ::prost::Name for QueryValidatorConsumerCommissionRateResponse {
3182 const NAME: &'static str = "QueryValidatorConsumerCommissionRateResponse";
3183 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3184 fn full_name() -> ::prost::alloc::string::String {
3185 "interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateResponse"
3186 .into()
3187 }
3188 fn type_url() -> ::prost::alloc::string::String {
3189 "/interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateResponse"
3190 .into()
3191 }
3192}
3193#[allow(clippy::derive_partial_eq_without_eq)]
3194#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3195pub struct QueryBlocksUntilNextEpochRequest {}
3196impl ::prost::Name for QueryBlocksUntilNextEpochRequest {
3197 const NAME: &'static str = "QueryBlocksUntilNextEpochRequest";
3198 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3199 fn full_name() -> ::prost::alloc::string::String {
3200 "interchain_security.ccv.provider.v1.QueryBlocksUntilNextEpochRequest".into()
3201 }
3202 fn type_url() -> ::prost::alloc::string::String {
3203 "/interchain_security.ccv.provider.v1.QueryBlocksUntilNextEpochRequest".into()
3204 }
3205}
3206#[allow(clippy::derive_partial_eq_without_eq)]
3207#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3208pub struct QueryBlocksUntilNextEpochResponse {
3209 #[prost(uint64, tag = "1")]
3211 pub blocks_until_next_epoch: u64,
3212}
3213impl ::prost::Name for QueryBlocksUntilNextEpochResponse {
3214 const NAME: &'static str = "QueryBlocksUntilNextEpochResponse";
3215 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3216 fn full_name() -> ::prost::alloc::string::String {
3217 "interchain_security.ccv.provider.v1.QueryBlocksUntilNextEpochResponse".into()
3218 }
3219 fn type_url() -> ::prost::alloc::string::String {
3220 "/interchain_security.ccv.provider.v1.QueryBlocksUntilNextEpochResponse".into()
3221 }
3222}
3223#[allow(clippy::derive_partial_eq_without_eq)]
3224#[derive(Clone, PartialEq, ::prost::Message)]
3225pub struct QueryConsumerIdFromClientIdRequest {
3226 #[prost(string, tag = "1")]
3229 pub client_id: ::prost::alloc::string::String,
3230}
3231impl ::prost::Name for QueryConsumerIdFromClientIdRequest {
3232 const NAME: &'static str = "QueryConsumerIdFromClientIdRequest";
3233 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3234 fn full_name() -> ::prost::alloc::string::String {
3235 "interchain_security.ccv.provider.v1.QueryConsumerIdFromClientIdRequest".into()
3236 }
3237 fn type_url() -> ::prost::alloc::string::String {
3238 "/interchain_security.ccv.provider.v1.QueryConsumerIdFromClientIdRequest".into()
3239 }
3240}
3241#[allow(clippy::derive_partial_eq_without_eq)]
3242#[derive(Clone, PartialEq, ::prost::Message)]
3243pub struct QueryConsumerIdFromClientIdResponse {
3244 #[prost(string, tag = "1")]
3246 pub consumer_id: ::prost::alloc::string::String,
3247}
3248impl ::prost::Name for QueryConsumerIdFromClientIdResponse {
3249 const NAME: &'static str = "QueryConsumerIdFromClientIdResponse";
3250 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3251 fn full_name() -> ::prost::alloc::string::String {
3252 "interchain_security.ccv.provider.v1.QueryConsumerIdFromClientIdResponse".into()
3253 }
3254 fn type_url() -> ::prost::alloc::string::String {
3255 "/interchain_security.ccv.provider.v1.QueryConsumerIdFromClientIdResponse".into()
3256 }
3257}
3258#[allow(clippy::derive_partial_eq_without_eq)]
3259#[derive(Clone, PartialEq, ::prost::Message)]
3260pub struct QueryConsumerChainRequest {
3261 #[prost(string, tag = "1")]
3262 pub consumer_id: ::prost::alloc::string::String,
3263}
3264impl ::prost::Name for QueryConsumerChainRequest {
3265 const NAME: &'static str = "QueryConsumerChainRequest";
3266 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3267 fn full_name() -> ::prost::alloc::string::String {
3268 "interchain_security.ccv.provider.v1.QueryConsumerChainRequest".into()
3269 }
3270 fn type_url() -> ::prost::alloc::string::String {
3271 "/interchain_security.ccv.provider.v1.QueryConsumerChainRequest".into()
3272 }
3273}
3274#[allow(clippy::derive_partial_eq_without_eq)]
3275#[derive(Clone, PartialEq, ::prost::Message)]
3276pub struct QueryConsumerChainResponse {
3277 #[prost(string, tag = "1")]
3278 pub consumer_id: ::prost::alloc::string::String,
3279 #[prost(string, tag = "2")]
3280 pub chain_id: ::prost::alloc::string::String,
3281 #[prost(string, tag = "3")]
3282 pub owner_address: ::prost::alloc::string::String,
3283 #[prost(string, tag = "4")]
3284 pub phase: ::prost::alloc::string::String,
3285 #[prost(message, optional, tag = "5")]
3286 pub metadata: ::core::option::Option<ConsumerMetadata>,
3287 #[prost(message, optional, tag = "6")]
3288 pub init_params: ::core::option::Option<ConsumerInitializationParameters>,
3289 #[prost(message, optional, tag = "7")]
3290 pub power_shaping_params: ::core::option::Option<PowerShapingParameters>,
3291}
3292impl ::prost::Name for QueryConsumerChainResponse {
3293 const NAME: &'static str = "QueryConsumerChainResponse";
3294 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
3295 fn full_name() -> ::prost::alloc::string::String {
3296 "interchain_security.ccv.provider.v1.QueryConsumerChainResponse".into()
3297 }
3298 fn type_url() -> ::prost::alloc::string::String {
3299 "/interchain_security.ccv.provider.v1.QueryConsumerChainResponse".into()
3300 }
3301}
3302#[cfg(feature = "client")]
3304pub mod query_client {
3305 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
3306 use tonic::codegen::*;
3307 use tonic::codegen::http::Uri;
3308 #[derive(Debug, Clone)]
3309 pub struct QueryClient<T> {
3310 inner: tonic::client::Grpc<T>,
3311 }
3312 #[cfg(feature = "transport")]
3313 impl QueryClient<tonic::transport::Channel> {
3314 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
3316 where
3317 D: TryInto<tonic::transport::Endpoint>,
3318 D::Error: Into<StdError>,
3319 {
3320 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
3321 Ok(Self::new(conn))
3322 }
3323 }
3324 impl<T> QueryClient<T>
3325 where
3326 T: tonic::client::GrpcService<tonic::body::BoxBody>,
3327 T::Error: Into<StdError>,
3328 T::ResponseBody: Body<Data = Bytes> + Send + 'static,
3329 <T::ResponseBody as Body>::Error: Into<StdError> + Send,
3330 {
3331 pub fn new(inner: T) -> Self {
3332 let inner = tonic::client::Grpc::new(inner);
3333 Self { inner }
3334 }
3335 pub fn with_origin(inner: T, origin: Uri) -> Self {
3336 let inner = tonic::client::Grpc::with_origin(inner, origin);
3337 Self { inner }
3338 }
3339 pub fn with_interceptor<F>(
3340 inner: T,
3341 interceptor: F,
3342 ) -> QueryClient<InterceptedService<T, F>>
3343 where
3344 F: tonic::service::Interceptor,
3345 T::ResponseBody: Default,
3346 T: tonic::codegen::Service<
3347 http::Request<tonic::body::BoxBody>,
3348 Response = http::Response<
3349 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
3350 >,
3351 >,
3352 <T as tonic::codegen::Service<
3353 http::Request<tonic::body::BoxBody>,
3354 >>::Error: Into<StdError> + Send + Sync,
3355 {
3356 QueryClient::new(InterceptedService::new(inner, interceptor))
3357 }
3358 #[must_use]
3363 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3364 self.inner = self.inner.send_compressed(encoding);
3365 self
3366 }
3367 #[must_use]
3369 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3370 self.inner = self.inner.accept_compressed(encoding);
3371 self
3372 }
3373 #[must_use]
3377 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3378 self.inner = self.inner.max_decoding_message_size(limit);
3379 self
3380 }
3381 #[must_use]
3385 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3386 self.inner = self.inner.max_encoding_message_size(limit);
3387 self
3388 }
3389 pub async fn query_consumer_genesis(
3392 &mut self,
3393 request: impl tonic::IntoRequest<super::QueryConsumerGenesisRequest>,
3394 ) -> std::result::Result<
3395 tonic::Response<super::QueryConsumerGenesisResponse>,
3396 tonic::Status,
3397 > {
3398 self.inner
3399 .ready()
3400 .await
3401 .map_err(|e| {
3402 tonic::Status::new(
3403 tonic::Code::Unknown,
3404 format!("Service was not ready: {}", e.into()),
3405 )
3406 })?;
3407 let codec = tonic::codec::ProstCodec::default();
3408 let path = http::uri::PathAndQuery::from_static(
3409 "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis",
3410 );
3411 let mut req = request.into_request();
3412 req.extensions_mut()
3413 .insert(
3414 GrpcMethod::new(
3415 "interchain_security.ccv.provider.v1.Query",
3416 "QueryConsumerGenesis",
3417 ),
3418 );
3419 self.inner.unary(req, path, codec).await
3420 }
3421 pub async fn query_consumer_chains(
3424 &mut self,
3425 request: impl tonic::IntoRequest<super::QueryConsumerChainsRequest>,
3426 ) -> std::result::Result<
3427 tonic::Response<super::QueryConsumerChainsResponse>,
3428 tonic::Status,
3429 > {
3430 self.inner
3431 .ready()
3432 .await
3433 .map_err(|e| {
3434 tonic::Status::new(
3435 tonic::Code::Unknown,
3436 format!("Service was not ready: {}", e.into()),
3437 )
3438 })?;
3439 let codec = tonic::codec::ProstCodec::default();
3440 let path = http::uri::PathAndQuery::from_static(
3441 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains",
3442 );
3443 let mut req = request.into_request();
3444 req.extensions_mut()
3445 .insert(
3446 GrpcMethod::new(
3447 "interchain_security.ccv.provider.v1.Query",
3448 "QueryConsumerChains",
3449 ),
3450 );
3451 self.inner.unary(req, path, codec).await
3452 }
3453 pub async fn query_validator_consumer_addr(
3456 &mut self,
3457 request: impl tonic::IntoRequest<super::QueryValidatorConsumerAddrRequest>,
3458 ) -> std::result::Result<
3459 tonic::Response<super::QueryValidatorConsumerAddrResponse>,
3460 tonic::Status,
3461 > {
3462 self.inner
3463 .ready()
3464 .await
3465 .map_err(|e| {
3466 tonic::Status::new(
3467 tonic::Code::Unknown,
3468 format!("Service was not ready: {}", e.into()),
3469 )
3470 })?;
3471 let codec = tonic::codec::ProstCodec::default();
3472 let path = http::uri::PathAndQuery::from_static(
3473 "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr",
3474 );
3475 let mut req = request.into_request();
3476 req.extensions_mut()
3477 .insert(
3478 GrpcMethod::new(
3479 "interchain_security.ccv.provider.v1.Query",
3480 "QueryValidatorConsumerAddr",
3481 ),
3482 );
3483 self.inner.unary(req, path, codec).await
3484 }
3485 pub async fn query_validator_provider_addr(
3488 &mut self,
3489 request: impl tonic::IntoRequest<super::QueryValidatorProviderAddrRequest>,
3490 ) -> std::result::Result<
3491 tonic::Response<super::QueryValidatorProviderAddrResponse>,
3492 tonic::Status,
3493 > {
3494 self.inner
3495 .ready()
3496 .await
3497 .map_err(|e| {
3498 tonic::Status::new(
3499 tonic::Code::Unknown,
3500 format!("Service was not ready: {}", e.into()),
3501 )
3502 })?;
3503 let codec = tonic::codec::ProstCodec::default();
3504 let path = http::uri::PathAndQuery::from_static(
3505 "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr",
3506 );
3507 let mut req = request.into_request();
3508 req.extensions_mut()
3509 .insert(
3510 GrpcMethod::new(
3511 "interchain_security.ccv.provider.v1.Query",
3512 "QueryValidatorProviderAddr",
3513 ),
3514 );
3515 self.inner.unary(req, path, codec).await
3516 }
3517 pub async fn query_throttle_state(
3520 &mut self,
3521 request: impl tonic::IntoRequest<super::QueryThrottleStateRequest>,
3522 ) -> std::result::Result<
3523 tonic::Response<super::QueryThrottleStateResponse>,
3524 tonic::Status,
3525 > {
3526 self.inner
3527 .ready()
3528 .await
3529 .map_err(|e| {
3530 tonic::Status::new(
3531 tonic::Code::Unknown,
3532 format!("Service was not ready: {}", e.into()),
3533 )
3534 })?;
3535 let codec = tonic::codec::ProstCodec::default();
3536 let path = http::uri::PathAndQuery::from_static(
3537 "/interchain_security.ccv.provider.v1.Query/QueryThrottleState",
3538 );
3539 let mut req = request.into_request();
3540 req.extensions_mut()
3541 .insert(
3542 GrpcMethod::new(
3543 "interchain_security.ccv.provider.v1.Query",
3544 "QueryThrottleState",
3545 ),
3546 );
3547 self.inner.unary(req, path, codec).await
3548 }
3549 pub async fn query_registered_consumer_reward_denoms(
3552 &mut self,
3553 request: impl tonic::IntoRequest<
3554 super::QueryRegisteredConsumerRewardDenomsRequest,
3555 >,
3556 ) -> std::result::Result<
3557 tonic::Response<super::QueryRegisteredConsumerRewardDenomsResponse>,
3558 tonic::Status,
3559 > {
3560 self.inner
3561 .ready()
3562 .await
3563 .map_err(|e| {
3564 tonic::Status::new(
3565 tonic::Code::Unknown,
3566 format!("Service was not ready: {}", e.into()),
3567 )
3568 })?;
3569 let codec = tonic::codec::ProstCodec::default();
3570 let path = http::uri::PathAndQuery::from_static(
3571 "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms",
3572 );
3573 let mut req = request.into_request();
3574 req.extensions_mut()
3575 .insert(
3576 GrpcMethod::new(
3577 "interchain_security.ccv.provider.v1.Query",
3578 "QueryRegisteredConsumerRewardDenoms",
3579 ),
3580 );
3581 self.inner.unary(req, path, codec).await
3582 }
3583 pub async fn query_all_pairs_val_cons_addr_by_consumer(
3586 &mut self,
3587 request: impl tonic::IntoRequest<
3588 super::QueryAllPairsValConsAddrByConsumerRequest,
3589 >,
3590 ) -> std::result::Result<
3591 tonic::Response<super::QueryAllPairsValConsAddrByConsumerResponse>,
3592 tonic::Status,
3593 > {
3594 self.inner
3595 .ready()
3596 .await
3597 .map_err(|e| {
3598 tonic::Status::new(
3599 tonic::Code::Unknown,
3600 format!("Service was not ready: {}", e.into()),
3601 )
3602 })?;
3603 let codec = tonic::codec::ProstCodec::default();
3604 let path = http::uri::PathAndQuery::from_static(
3605 "/interchain_security.ccv.provider.v1.Query/QueryAllPairsValConsAddrByConsumer",
3606 );
3607 let mut req = request.into_request();
3608 req.extensions_mut()
3609 .insert(
3610 GrpcMethod::new(
3611 "interchain_security.ccv.provider.v1.Query",
3612 "QueryAllPairsValConsAddrByConsumer",
3613 ),
3614 );
3615 self.inner.unary(req, path, codec).await
3616 }
3617 pub async fn query_params(
3619 &mut self,
3620 request: impl tonic::IntoRequest<super::QueryParamsRequest>,
3621 ) -> std::result::Result<
3622 tonic::Response<super::QueryParamsResponse>,
3623 tonic::Status,
3624 > {
3625 self.inner
3626 .ready()
3627 .await
3628 .map_err(|e| {
3629 tonic::Status::new(
3630 tonic::Code::Unknown,
3631 format!("Service was not ready: {}", e.into()),
3632 )
3633 })?;
3634 let codec = tonic::codec::ProstCodec::default();
3635 let path = http::uri::PathAndQuery::from_static(
3636 "/interchain_security.ccv.provider.v1.Query/QueryParams",
3637 );
3638 let mut req = request.into_request();
3639 req.extensions_mut()
3640 .insert(
3641 GrpcMethod::new(
3642 "interchain_security.ccv.provider.v1.Query",
3643 "QueryParams",
3644 ),
3645 );
3646 self.inner.unary(req, path, codec).await
3647 }
3648 pub async fn query_consumer_chain_opted_in_validators(
3651 &mut self,
3652 request: impl tonic::IntoRequest<
3653 super::QueryConsumerChainOptedInValidatorsRequest,
3654 >,
3655 ) -> std::result::Result<
3656 tonic::Response<super::QueryConsumerChainOptedInValidatorsResponse>,
3657 tonic::Status,
3658 > {
3659 self.inner
3660 .ready()
3661 .await
3662 .map_err(|e| {
3663 tonic::Status::new(
3664 tonic::Code::Unknown,
3665 format!("Service was not ready: {}", e.into()),
3666 )
3667 })?;
3668 let codec = tonic::codec::ProstCodec::default();
3669 let path = http::uri::PathAndQuery::from_static(
3670 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainOptedInValidators",
3671 );
3672 let mut req = request.into_request();
3673 req.extensions_mut()
3674 .insert(
3675 GrpcMethod::new(
3676 "interchain_security.ccv.provider.v1.Query",
3677 "QueryConsumerChainOptedInValidators",
3678 ),
3679 );
3680 self.inner.unary(req, path, codec).await
3681 }
3682 pub async fn query_consumer_chains_validator_has_to_validate(
3685 &mut self,
3686 request: impl tonic::IntoRequest<
3687 super::QueryConsumerChainsValidatorHasToValidateRequest,
3688 >,
3689 ) -> std::result::Result<
3690 tonic::Response<super::QueryConsumerChainsValidatorHasToValidateResponse>,
3691 tonic::Status,
3692 > {
3693 self.inner
3694 .ready()
3695 .await
3696 .map_err(|e| {
3697 tonic::Status::new(
3698 tonic::Code::Unknown,
3699 format!("Service was not ready: {}", e.into()),
3700 )
3701 })?;
3702 let codec = tonic::codec::ProstCodec::default();
3703 let path = http::uri::PathAndQuery::from_static(
3704 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainsValidatorHasToValidate",
3705 );
3706 let mut req = request.into_request();
3707 req.extensions_mut()
3708 .insert(
3709 GrpcMethod::new(
3710 "interchain_security.ccv.provider.v1.Query",
3711 "QueryConsumerChainsValidatorHasToValidate",
3712 ),
3713 );
3714 self.inner.unary(req, path, codec).await
3715 }
3716 pub async fn query_validator_consumer_commission_rate(
3719 &mut self,
3720 request: impl tonic::IntoRequest<
3721 super::QueryValidatorConsumerCommissionRateRequest,
3722 >,
3723 ) -> std::result::Result<
3724 tonic::Response<super::QueryValidatorConsumerCommissionRateResponse>,
3725 tonic::Status,
3726 > {
3727 self.inner
3728 .ready()
3729 .await
3730 .map_err(|e| {
3731 tonic::Status::new(
3732 tonic::Code::Unknown,
3733 format!("Service was not ready: {}", e.into()),
3734 )
3735 })?;
3736 let codec = tonic::codec::ProstCodec::default();
3737 let path = http::uri::PathAndQuery::from_static(
3738 "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerCommissionRate",
3739 );
3740 let mut req = request.into_request();
3741 req.extensions_mut()
3742 .insert(
3743 GrpcMethod::new(
3744 "interchain_security.ccv.provider.v1.Query",
3745 "QueryValidatorConsumerCommissionRate",
3746 ),
3747 );
3748 self.inner.unary(req, path, codec).await
3749 }
3750 pub async fn query_consumer_validators(
3754 &mut self,
3755 request: impl tonic::IntoRequest<super::QueryConsumerValidatorsRequest>,
3756 ) -> std::result::Result<
3757 tonic::Response<super::QueryConsumerValidatorsResponse>,
3758 tonic::Status,
3759 > {
3760 self.inner
3761 .ready()
3762 .await
3763 .map_err(|e| {
3764 tonic::Status::new(
3765 tonic::Code::Unknown,
3766 format!("Service was not ready: {}", e.into()),
3767 )
3768 })?;
3769 let codec = tonic::codec::ProstCodec::default();
3770 let path = http::uri::PathAndQuery::from_static(
3771 "/interchain_security.ccv.provider.v1.Query/QueryConsumerValidators",
3772 );
3773 let mut req = request.into_request();
3774 req.extensions_mut()
3775 .insert(
3776 GrpcMethod::new(
3777 "interchain_security.ccv.provider.v1.Query",
3778 "QueryConsumerValidators",
3779 ),
3780 );
3781 self.inner.unary(req, path, codec).await
3782 }
3783 pub async fn query_blocks_until_next_epoch(
3786 &mut self,
3787 request: impl tonic::IntoRequest<super::QueryBlocksUntilNextEpochRequest>,
3788 ) -> std::result::Result<
3789 tonic::Response<super::QueryBlocksUntilNextEpochResponse>,
3790 tonic::Status,
3791 > {
3792 self.inner
3793 .ready()
3794 .await
3795 .map_err(|e| {
3796 tonic::Status::new(
3797 tonic::Code::Unknown,
3798 format!("Service was not ready: {}", e.into()),
3799 )
3800 })?;
3801 let codec = tonic::codec::ProstCodec::default();
3802 let path = http::uri::PathAndQuery::from_static(
3803 "/interchain_security.ccv.provider.v1.Query/QueryBlocksUntilNextEpoch",
3804 );
3805 let mut req = request.into_request();
3806 req.extensions_mut()
3807 .insert(
3808 GrpcMethod::new(
3809 "interchain_security.ccv.provider.v1.Query",
3810 "QueryBlocksUntilNextEpoch",
3811 ),
3812 );
3813 self.inner.unary(req, path, codec).await
3814 }
3815 pub async fn query_consumer_id_from_client_id(
3818 &mut self,
3819 request: impl tonic::IntoRequest<super::QueryConsumerIdFromClientIdRequest>,
3820 ) -> std::result::Result<
3821 tonic::Response<super::QueryConsumerIdFromClientIdResponse>,
3822 tonic::Status,
3823 > {
3824 self.inner
3825 .ready()
3826 .await
3827 .map_err(|e| {
3828 tonic::Status::new(
3829 tonic::Code::Unknown,
3830 format!("Service was not ready: {}", e.into()),
3831 )
3832 })?;
3833 let codec = tonic::codec::ProstCodec::default();
3834 let path = http::uri::PathAndQuery::from_static(
3835 "/interchain_security.ccv.provider.v1.Query/QueryConsumerIdFromClientId",
3836 );
3837 let mut req = request.into_request();
3838 req.extensions_mut()
3839 .insert(
3840 GrpcMethod::new(
3841 "interchain_security.ccv.provider.v1.Query",
3842 "QueryConsumerIdFromClientId",
3843 ),
3844 );
3845 self.inner.unary(req, path, codec).await
3846 }
3847 pub async fn query_consumer_chain(
3850 &mut self,
3851 request: impl tonic::IntoRequest<super::QueryConsumerChainRequest>,
3852 ) -> std::result::Result<
3853 tonic::Response<super::QueryConsumerChainResponse>,
3854 tonic::Status,
3855 > {
3856 self.inner
3857 .ready()
3858 .await
3859 .map_err(|e| {
3860 tonic::Status::new(
3861 tonic::Code::Unknown,
3862 format!("Service was not ready: {}", e.into()),
3863 )
3864 })?;
3865 let codec = tonic::codec::ProstCodec::default();
3866 let path = http::uri::PathAndQuery::from_static(
3867 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChain",
3868 );
3869 let mut req = request.into_request();
3870 req.extensions_mut()
3871 .insert(
3872 GrpcMethod::new(
3873 "interchain_security.ccv.provider.v1.Query",
3874 "QueryConsumerChain",
3875 ),
3876 );
3877 self.inner.unary(req, path, codec).await
3878 }
3879 }
3880}
3881#[cfg(feature = "server")]
3883pub mod query_server {
3884 #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
3885 use tonic::codegen::*;
3886 #[async_trait]
3888 pub trait Query: Send + Sync + 'static {
3889 async fn query_consumer_genesis(
3892 &self,
3893 request: tonic::Request<super::QueryConsumerGenesisRequest>,
3894 ) -> std::result::Result<
3895 tonic::Response<super::QueryConsumerGenesisResponse>,
3896 tonic::Status,
3897 >;
3898 async fn query_consumer_chains(
3901 &self,
3902 request: tonic::Request<super::QueryConsumerChainsRequest>,
3903 ) -> std::result::Result<
3904 tonic::Response<super::QueryConsumerChainsResponse>,
3905 tonic::Status,
3906 >;
3907 async fn query_validator_consumer_addr(
3910 &self,
3911 request: tonic::Request<super::QueryValidatorConsumerAddrRequest>,
3912 ) -> std::result::Result<
3913 tonic::Response<super::QueryValidatorConsumerAddrResponse>,
3914 tonic::Status,
3915 >;
3916 async fn query_validator_provider_addr(
3919 &self,
3920 request: tonic::Request<super::QueryValidatorProviderAddrRequest>,
3921 ) -> std::result::Result<
3922 tonic::Response<super::QueryValidatorProviderAddrResponse>,
3923 tonic::Status,
3924 >;
3925 async fn query_throttle_state(
3928 &self,
3929 request: tonic::Request<super::QueryThrottleStateRequest>,
3930 ) -> std::result::Result<
3931 tonic::Response<super::QueryThrottleStateResponse>,
3932 tonic::Status,
3933 >;
3934 async fn query_registered_consumer_reward_denoms(
3937 &self,
3938 request: tonic::Request<super::QueryRegisteredConsumerRewardDenomsRequest>,
3939 ) -> std::result::Result<
3940 tonic::Response<super::QueryRegisteredConsumerRewardDenomsResponse>,
3941 tonic::Status,
3942 >;
3943 async fn query_all_pairs_val_cons_addr_by_consumer(
3946 &self,
3947 request: tonic::Request<super::QueryAllPairsValConsAddrByConsumerRequest>,
3948 ) -> std::result::Result<
3949 tonic::Response<super::QueryAllPairsValConsAddrByConsumerResponse>,
3950 tonic::Status,
3951 >;
3952 async fn query_params(
3954 &self,
3955 request: tonic::Request<super::QueryParamsRequest>,
3956 ) -> std::result::Result<
3957 tonic::Response<super::QueryParamsResponse>,
3958 tonic::Status,
3959 >;
3960 async fn query_consumer_chain_opted_in_validators(
3963 &self,
3964 request: tonic::Request<super::QueryConsumerChainOptedInValidatorsRequest>,
3965 ) -> std::result::Result<
3966 tonic::Response<super::QueryConsumerChainOptedInValidatorsResponse>,
3967 tonic::Status,
3968 >;
3969 async fn query_consumer_chains_validator_has_to_validate(
3972 &self,
3973 request: tonic::Request<
3974 super::QueryConsumerChainsValidatorHasToValidateRequest,
3975 >,
3976 ) -> std::result::Result<
3977 tonic::Response<super::QueryConsumerChainsValidatorHasToValidateResponse>,
3978 tonic::Status,
3979 >;
3980 async fn query_validator_consumer_commission_rate(
3983 &self,
3984 request: tonic::Request<super::QueryValidatorConsumerCommissionRateRequest>,
3985 ) -> std::result::Result<
3986 tonic::Response<super::QueryValidatorConsumerCommissionRateResponse>,
3987 tonic::Status,
3988 >;
3989 async fn query_consumer_validators(
3993 &self,
3994 request: tonic::Request<super::QueryConsumerValidatorsRequest>,
3995 ) -> std::result::Result<
3996 tonic::Response<super::QueryConsumerValidatorsResponse>,
3997 tonic::Status,
3998 >;
3999 async fn query_blocks_until_next_epoch(
4002 &self,
4003 request: tonic::Request<super::QueryBlocksUntilNextEpochRequest>,
4004 ) -> std::result::Result<
4005 tonic::Response<super::QueryBlocksUntilNextEpochResponse>,
4006 tonic::Status,
4007 >;
4008 async fn query_consumer_id_from_client_id(
4011 &self,
4012 request: tonic::Request<super::QueryConsumerIdFromClientIdRequest>,
4013 ) -> std::result::Result<
4014 tonic::Response<super::QueryConsumerIdFromClientIdResponse>,
4015 tonic::Status,
4016 >;
4017 async fn query_consumer_chain(
4020 &self,
4021 request: tonic::Request<super::QueryConsumerChainRequest>,
4022 ) -> std::result::Result<
4023 tonic::Response<super::QueryConsumerChainResponse>,
4024 tonic::Status,
4025 >;
4026 }
4027 #[derive(Debug)]
4028 pub struct QueryServer<T: Query> {
4029 inner: Arc<T>,
4030 accept_compression_encodings: EnabledCompressionEncodings,
4031 send_compression_encodings: EnabledCompressionEncodings,
4032 max_decoding_message_size: Option<usize>,
4033 max_encoding_message_size: Option<usize>,
4034 }
4035 impl<T: Query> QueryServer<T> {
4036 pub fn new(inner: T) -> Self {
4037 Self::from_arc(Arc::new(inner))
4038 }
4039 pub fn from_arc(inner: Arc<T>) -> Self {
4040 Self {
4041 inner,
4042 accept_compression_encodings: Default::default(),
4043 send_compression_encodings: Default::default(),
4044 max_decoding_message_size: None,
4045 max_encoding_message_size: None,
4046 }
4047 }
4048 pub fn with_interceptor<F>(
4049 inner: T,
4050 interceptor: F,
4051 ) -> InterceptedService<Self, F>
4052 where
4053 F: tonic::service::Interceptor,
4054 {
4055 InterceptedService::new(Self::new(inner), interceptor)
4056 }
4057 #[must_use]
4059 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
4060 self.accept_compression_encodings.enable(encoding);
4061 self
4062 }
4063 #[must_use]
4065 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
4066 self.send_compression_encodings.enable(encoding);
4067 self
4068 }
4069 #[must_use]
4073 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
4074 self.max_decoding_message_size = Some(limit);
4075 self
4076 }
4077 #[must_use]
4081 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
4082 self.max_encoding_message_size = Some(limit);
4083 self
4084 }
4085 }
4086 impl<T, B> tonic::codegen::Service<http::Request<B>> for QueryServer<T>
4087 where
4088 T: Query,
4089 B: Body + Send + 'static,
4090 B::Error: Into<StdError> + Send + 'static,
4091 {
4092 type Response = http::Response<tonic::body::BoxBody>;
4093 type Error = std::convert::Infallible;
4094 type Future = BoxFuture<Self::Response, Self::Error>;
4095 fn poll_ready(
4096 &mut self,
4097 _cx: &mut Context<'_>,
4098 ) -> Poll<std::result::Result<(), Self::Error>> {
4099 Poll::Ready(Ok(()))
4100 }
4101 fn call(&mut self, req: http::Request<B>) -> Self::Future {
4102 match req.uri().path() {
4103 "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis" => {
4104 #[allow(non_camel_case_types)]
4105 struct QueryConsumerGenesisSvc<T: Query>(pub Arc<T>);
4106 impl<
4107 T: Query,
4108 > tonic::server::UnaryService<super::QueryConsumerGenesisRequest>
4109 for QueryConsumerGenesisSvc<T> {
4110 type Response = super::QueryConsumerGenesisResponse;
4111 type Future = BoxFuture<
4112 tonic::Response<Self::Response>,
4113 tonic::Status,
4114 >;
4115 fn call(
4116 &mut self,
4117 request: tonic::Request<super::QueryConsumerGenesisRequest>,
4118 ) -> Self::Future {
4119 let inner = Arc::clone(&self.0);
4120 let fut = async move {
4121 <T as Query>::query_consumer_genesis(&inner, request).await
4122 };
4123 Box::pin(fut)
4124 }
4125 }
4126 let accept_compression_encodings = self.accept_compression_encodings;
4127 let send_compression_encodings = self.send_compression_encodings;
4128 let max_decoding_message_size = self.max_decoding_message_size;
4129 let max_encoding_message_size = self.max_encoding_message_size;
4130 let inner = self.inner.clone();
4131 let fut = async move {
4132 let method = QueryConsumerGenesisSvc(inner);
4133 let codec = tonic::codec::ProstCodec::default();
4134 let mut grpc = tonic::server::Grpc::new(codec)
4135 .apply_compression_config(
4136 accept_compression_encodings,
4137 send_compression_encodings,
4138 )
4139 .apply_max_message_size_config(
4140 max_decoding_message_size,
4141 max_encoding_message_size,
4142 );
4143 let res = grpc.unary(method, req).await;
4144 Ok(res)
4145 };
4146 Box::pin(fut)
4147 }
4148 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains" => {
4149 #[allow(non_camel_case_types)]
4150 struct QueryConsumerChainsSvc<T: Query>(pub Arc<T>);
4151 impl<
4152 T: Query,
4153 > tonic::server::UnaryService<super::QueryConsumerChainsRequest>
4154 for QueryConsumerChainsSvc<T> {
4155 type Response = super::QueryConsumerChainsResponse;
4156 type Future = BoxFuture<
4157 tonic::Response<Self::Response>,
4158 tonic::Status,
4159 >;
4160 fn call(
4161 &mut self,
4162 request: tonic::Request<super::QueryConsumerChainsRequest>,
4163 ) -> Self::Future {
4164 let inner = Arc::clone(&self.0);
4165 let fut = async move {
4166 <T as Query>::query_consumer_chains(&inner, request).await
4167 };
4168 Box::pin(fut)
4169 }
4170 }
4171 let accept_compression_encodings = self.accept_compression_encodings;
4172 let send_compression_encodings = self.send_compression_encodings;
4173 let max_decoding_message_size = self.max_decoding_message_size;
4174 let max_encoding_message_size = self.max_encoding_message_size;
4175 let inner = self.inner.clone();
4176 let fut = async move {
4177 let method = QueryConsumerChainsSvc(inner);
4178 let codec = tonic::codec::ProstCodec::default();
4179 let mut grpc = tonic::server::Grpc::new(codec)
4180 .apply_compression_config(
4181 accept_compression_encodings,
4182 send_compression_encodings,
4183 )
4184 .apply_max_message_size_config(
4185 max_decoding_message_size,
4186 max_encoding_message_size,
4187 );
4188 let res = grpc.unary(method, req).await;
4189 Ok(res)
4190 };
4191 Box::pin(fut)
4192 }
4193 "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr" => {
4194 #[allow(non_camel_case_types)]
4195 struct QueryValidatorConsumerAddrSvc<T: Query>(pub Arc<T>);
4196 impl<
4197 T: Query,
4198 > tonic::server::UnaryService<
4199 super::QueryValidatorConsumerAddrRequest,
4200 > for QueryValidatorConsumerAddrSvc<T> {
4201 type Response = super::QueryValidatorConsumerAddrResponse;
4202 type Future = BoxFuture<
4203 tonic::Response<Self::Response>,
4204 tonic::Status,
4205 >;
4206 fn call(
4207 &mut self,
4208 request: tonic::Request<
4209 super::QueryValidatorConsumerAddrRequest,
4210 >,
4211 ) -> Self::Future {
4212 let inner = Arc::clone(&self.0);
4213 let fut = async move {
4214 <T as Query>::query_validator_consumer_addr(&inner, request)
4215 .await
4216 };
4217 Box::pin(fut)
4218 }
4219 }
4220 let accept_compression_encodings = self.accept_compression_encodings;
4221 let send_compression_encodings = self.send_compression_encodings;
4222 let max_decoding_message_size = self.max_decoding_message_size;
4223 let max_encoding_message_size = self.max_encoding_message_size;
4224 let inner = self.inner.clone();
4225 let fut = async move {
4226 let method = QueryValidatorConsumerAddrSvc(inner);
4227 let codec = tonic::codec::ProstCodec::default();
4228 let mut grpc = tonic::server::Grpc::new(codec)
4229 .apply_compression_config(
4230 accept_compression_encodings,
4231 send_compression_encodings,
4232 )
4233 .apply_max_message_size_config(
4234 max_decoding_message_size,
4235 max_encoding_message_size,
4236 );
4237 let res = grpc.unary(method, req).await;
4238 Ok(res)
4239 };
4240 Box::pin(fut)
4241 }
4242 "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr" => {
4243 #[allow(non_camel_case_types)]
4244 struct QueryValidatorProviderAddrSvc<T: Query>(pub Arc<T>);
4245 impl<
4246 T: Query,
4247 > tonic::server::UnaryService<
4248 super::QueryValidatorProviderAddrRequest,
4249 > for QueryValidatorProviderAddrSvc<T> {
4250 type Response = super::QueryValidatorProviderAddrResponse;
4251 type Future = BoxFuture<
4252 tonic::Response<Self::Response>,
4253 tonic::Status,
4254 >;
4255 fn call(
4256 &mut self,
4257 request: tonic::Request<
4258 super::QueryValidatorProviderAddrRequest,
4259 >,
4260 ) -> Self::Future {
4261 let inner = Arc::clone(&self.0);
4262 let fut = async move {
4263 <T as Query>::query_validator_provider_addr(&inner, request)
4264 .await
4265 };
4266 Box::pin(fut)
4267 }
4268 }
4269 let accept_compression_encodings = self.accept_compression_encodings;
4270 let send_compression_encodings = self.send_compression_encodings;
4271 let max_decoding_message_size = self.max_decoding_message_size;
4272 let max_encoding_message_size = self.max_encoding_message_size;
4273 let inner = self.inner.clone();
4274 let fut = async move {
4275 let method = QueryValidatorProviderAddrSvc(inner);
4276 let codec = tonic::codec::ProstCodec::default();
4277 let mut grpc = tonic::server::Grpc::new(codec)
4278 .apply_compression_config(
4279 accept_compression_encodings,
4280 send_compression_encodings,
4281 )
4282 .apply_max_message_size_config(
4283 max_decoding_message_size,
4284 max_encoding_message_size,
4285 );
4286 let res = grpc.unary(method, req).await;
4287 Ok(res)
4288 };
4289 Box::pin(fut)
4290 }
4291 "/interchain_security.ccv.provider.v1.Query/QueryThrottleState" => {
4292 #[allow(non_camel_case_types)]
4293 struct QueryThrottleStateSvc<T: Query>(pub Arc<T>);
4294 impl<
4295 T: Query,
4296 > tonic::server::UnaryService<super::QueryThrottleStateRequest>
4297 for QueryThrottleStateSvc<T> {
4298 type Response = super::QueryThrottleStateResponse;
4299 type Future = BoxFuture<
4300 tonic::Response<Self::Response>,
4301 tonic::Status,
4302 >;
4303 fn call(
4304 &mut self,
4305 request: tonic::Request<super::QueryThrottleStateRequest>,
4306 ) -> Self::Future {
4307 let inner = Arc::clone(&self.0);
4308 let fut = async move {
4309 <T as Query>::query_throttle_state(&inner, request).await
4310 };
4311 Box::pin(fut)
4312 }
4313 }
4314 let accept_compression_encodings = self.accept_compression_encodings;
4315 let send_compression_encodings = self.send_compression_encodings;
4316 let max_decoding_message_size = self.max_decoding_message_size;
4317 let max_encoding_message_size = self.max_encoding_message_size;
4318 let inner = self.inner.clone();
4319 let fut = async move {
4320 let method = QueryThrottleStateSvc(inner);
4321 let codec = tonic::codec::ProstCodec::default();
4322 let mut grpc = tonic::server::Grpc::new(codec)
4323 .apply_compression_config(
4324 accept_compression_encodings,
4325 send_compression_encodings,
4326 )
4327 .apply_max_message_size_config(
4328 max_decoding_message_size,
4329 max_encoding_message_size,
4330 );
4331 let res = grpc.unary(method, req).await;
4332 Ok(res)
4333 };
4334 Box::pin(fut)
4335 }
4336 "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms" => {
4337 #[allow(non_camel_case_types)]
4338 struct QueryRegisteredConsumerRewardDenomsSvc<T: Query>(pub Arc<T>);
4339 impl<
4340 T: Query,
4341 > tonic::server::UnaryService<
4342 super::QueryRegisteredConsumerRewardDenomsRequest,
4343 > for QueryRegisteredConsumerRewardDenomsSvc<T> {
4344 type Response = super::QueryRegisteredConsumerRewardDenomsResponse;
4345 type Future = BoxFuture<
4346 tonic::Response<Self::Response>,
4347 tonic::Status,
4348 >;
4349 fn call(
4350 &mut self,
4351 request: tonic::Request<
4352 super::QueryRegisteredConsumerRewardDenomsRequest,
4353 >,
4354 ) -> Self::Future {
4355 let inner = Arc::clone(&self.0);
4356 let fut = async move {
4357 <T as Query>::query_registered_consumer_reward_denoms(
4358 &inner,
4359 request,
4360 )
4361 .await
4362 };
4363 Box::pin(fut)
4364 }
4365 }
4366 let accept_compression_encodings = self.accept_compression_encodings;
4367 let send_compression_encodings = self.send_compression_encodings;
4368 let max_decoding_message_size = self.max_decoding_message_size;
4369 let max_encoding_message_size = self.max_encoding_message_size;
4370 let inner = self.inner.clone();
4371 let fut = async move {
4372 let method = QueryRegisteredConsumerRewardDenomsSvc(inner);
4373 let codec = tonic::codec::ProstCodec::default();
4374 let mut grpc = tonic::server::Grpc::new(codec)
4375 .apply_compression_config(
4376 accept_compression_encodings,
4377 send_compression_encodings,
4378 )
4379 .apply_max_message_size_config(
4380 max_decoding_message_size,
4381 max_encoding_message_size,
4382 );
4383 let res = grpc.unary(method, req).await;
4384 Ok(res)
4385 };
4386 Box::pin(fut)
4387 }
4388 "/interchain_security.ccv.provider.v1.Query/QueryAllPairsValConsAddrByConsumer" => {
4389 #[allow(non_camel_case_types)]
4390 struct QueryAllPairsValConsAddrByConsumerSvc<T: Query>(pub Arc<T>);
4391 impl<
4392 T: Query,
4393 > tonic::server::UnaryService<
4394 super::QueryAllPairsValConsAddrByConsumerRequest,
4395 > for QueryAllPairsValConsAddrByConsumerSvc<T> {
4396 type Response = super::QueryAllPairsValConsAddrByConsumerResponse;
4397 type Future = BoxFuture<
4398 tonic::Response<Self::Response>,
4399 tonic::Status,
4400 >;
4401 fn call(
4402 &mut self,
4403 request: tonic::Request<
4404 super::QueryAllPairsValConsAddrByConsumerRequest,
4405 >,
4406 ) -> Self::Future {
4407 let inner = Arc::clone(&self.0);
4408 let fut = async move {
4409 <T as Query>::query_all_pairs_val_cons_addr_by_consumer(
4410 &inner,
4411 request,
4412 )
4413 .await
4414 };
4415 Box::pin(fut)
4416 }
4417 }
4418 let accept_compression_encodings = self.accept_compression_encodings;
4419 let send_compression_encodings = self.send_compression_encodings;
4420 let max_decoding_message_size = self.max_decoding_message_size;
4421 let max_encoding_message_size = self.max_encoding_message_size;
4422 let inner = self.inner.clone();
4423 let fut = async move {
4424 let method = QueryAllPairsValConsAddrByConsumerSvc(inner);
4425 let codec = tonic::codec::ProstCodec::default();
4426 let mut grpc = tonic::server::Grpc::new(codec)
4427 .apply_compression_config(
4428 accept_compression_encodings,
4429 send_compression_encodings,
4430 )
4431 .apply_max_message_size_config(
4432 max_decoding_message_size,
4433 max_encoding_message_size,
4434 );
4435 let res = grpc.unary(method, req).await;
4436 Ok(res)
4437 };
4438 Box::pin(fut)
4439 }
4440 "/interchain_security.ccv.provider.v1.Query/QueryParams" => {
4441 #[allow(non_camel_case_types)]
4442 struct QueryParamsSvc<T: Query>(pub Arc<T>);
4443 impl<T: Query> tonic::server::UnaryService<super::QueryParamsRequest>
4444 for QueryParamsSvc<T> {
4445 type Response = super::QueryParamsResponse;
4446 type Future = BoxFuture<
4447 tonic::Response<Self::Response>,
4448 tonic::Status,
4449 >;
4450 fn call(
4451 &mut self,
4452 request: tonic::Request<super::QueryParamsRequest>,
4453 ) -> Self::Future {
4454 let inner = Arc::clone(&self.0);
4455 let fut = async move {
4456 <T as Query>::query_params(&inner, request).await
4457 };
4458 Box::pin(fut)
4459 }
4460 }
4461 let accept_compression_encodings = self.accept_compression_encodings;
4462 let send_compression_encodings = self.send_compression_encodings;
4463 let max_decoding_message_size = self.max_decoding_message_size;
4464 let max_encoding_message_size = self.max_encoding_message_size;
4465 let inner = self.inner.clone();
4466 let fut = async move {
4467 let method = QueryParamsSvc(inner);
4468 let codec = tonic::codec::ProstCodec::default();
4469 let mut grpc = tonic::server::Grpc::new(codec)
4470 .apply_compression_config(
4471 accept_compression_encodings,
4472 send_compression_encodings,
4473 )
4474 .apply_max_message_size_config(
4475 max_decoding_message_size,
4476 max_encoding_message_size,
4477 );
4478 let res = grpc.unary(method, req).await;
4479 Ok(res)
4480 };
4481 Box::pin(fut)
4482 }
4483 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainOptedInValidators" => {
4484 #[allow(non_camel_case_types)]
4485 struct QueryConsumerChainOptedInValidatorsSvc<T: Query>(pub Arc<T>);
4486 impl<
4487 T: Query,
4488 > tonic::server::UnaryService<
4489 super::QueryConsumerChainOptedInValidatorsRequest,
4490 > for QueryConsumerChainOptedInValidatorsSvc<T> {
4491 type Response = super::QueryConsumerChainOptedInValidatorsResponse;
4492 type Future = BoxFuture<
4493 tonic::Response<Self::Response>,
4494 tonic::Status,
4495 >;
4496 fn call(
4497 &mut self,
4498 request: tonic::Request<
4499 super::QueryConsumerChainOptedInValidatorsRequest,
4500 >,
4501 ) -> Self::Future {
4502 let inner = Arc::clone(&self.0);
4503 let fut = async move {
4504 <T as Query>::query_consumer_chain_opted_in_validators(
4505 &inner,
4506 request,
4507 )
4508 .await
4509 };
4510 Box::pin(fut)
4511 }
4512 }
4513 let accept_compression_encodings = self.accept_compression_encodings;
4514 let send_compression_encodings = self.send_compression_encodings;
4515 let max_decoding_message_size = self.max_decoding_message_size;
4516 let max_encoding_message_size = self.max_encoding_message_size;
4517 let inner = self.inner.clone();
4518 let fut = async move {
4519 let method = QueryConsumerChainOptedInValidatorsSvc(inner);
4520 let codec = tonic::codec::ProstCodec::default();
4521 let mut grpc = tonic::server::Grpc::new(codec)
4522 .apply_compression_config(
4523 accept_compression_encodings,
4524 send_compression_encodings,
4525 )
4526 .apply_max_message_size_config(
4527 max_decoding_message_size,
4528 max_encoding_message_size,
4529 );
4530 let res = grpc.unary(method, req).await;
4531 Ok(res)
4532 };
4533 Box::pin(fut)
4534 }
4535 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainsValidatorHasToValidate" => {
4536 #[allow(non_camel_case_types)]
4537 struct QueryConsumerChainsValidatorHasToValidateSvc<T: Query>(
4538 pub Arc<T>,
4539 );
4540 impl<
4541 T: Query,
4542 > tonic::server::UnaryService<
4543 super::QueryConsumerChainsValidatorHasToValidateRequest,
4544 > for QueryConsumerChainsValidatorHasToValidateSvc<T> {
4545 type Response = super::QueryConsumerChainsValidatorHasToValidateResponse;
4546 type Future = BoxFuture<
4547 tonic::Response<Self::Response>,
4548 tonic::Status,
4549 >;
4550 fn call(
4551 &mut self,
4552 request: tonic::Request<
4553 super::QueryConsumerChainsValidatorHasToValidateRequest,
4554 >,
4555 ) -> Self::Future {
4556 let inner = Arc::clone(&self.0);
4557 let fut = async move {
4558 <T as Query>::query_consumer_chains_validator_has_to_validate(
4559 &inner,
4560 request,
4561 )
4562 .await
4563 };
4564 Box::pin(fut)
4565 }
4566 }
4567 let accept_compression_encodings = self.accept_compression_encodings;
4568 let send_compression_encodings = self.send_compression_encodings;
4569 let max_decoding_message_size = self.max_decoding_message_size;
4570 let max_encoding_message_size = self.max_encoding_message_size;
4571 let inner = self.inner.clone();
4572 let fut = async move {
4573 let method = QueryConsumerChainsValidatorHasToValidateSvc(inner);
4574 let codec = tonic::codec::ProstCodec::default();
4575 let mut grpc = tonic::server::Grpc::new(codec)
4576 .apply_compression_config(
4577 accept_compression_encodings,
4578 send_compression_encodings,
4579 )
4580 .apply_max_message_size_config(
4581 max_decoding_message_size,
4582 max_encoding_message_size,
4583 );
4584 let res = grpc.unary(method, req).await;
4585 Ok(res)
4586 };
4587 Box::pin(fut)
4588 }
4589 "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerCommissionRate" => {
4590 #[allow(non_camel_case_types)]
4591 struct QueryValidatorConsumerCommissionRateSvc<T: Query>(pub Arc<T>);
4592 impl<
4593 T: Query,
4594 > tonic::server::UnaryService<
4595 super::QueryValidatorConsumerCommissionRateRequest,
4596 > for QueryValidatorConsumerCommissionRateSvc<T> {
4597 type Response = super::QueryValidatorConsumerCommissionRateResponse;
4598 type Future = BoxFuture<
4599 tonic::Response<Self::Response>,
4600 tonic::Status,
4601 >;
4602 fn call(
4603 &mut self,
4604 request: tonic::Request<
4605 super::QueryValidatorConsumerCommissionRateRequest,
4606 >,
4607 ) -> Self::Future {
4608 let inner = Arc::clone(&self.0);
4609 let fut = async move {
4610 <T as Query>::query_validator_consumer_commission_rate(
4611 &inner,
4612 request,
4613 )
4614 .await
4615 };
4616 Box::pin(fut)
4617 }
4618 }
4619 let accept_compression_encodings = self.accept_compression_encodings;
4620 let send_compression_encodings = self.send_compression_encodings;
4621 let max_decoding_message_size = self.max_decoding_message_size;
4622 let max_encoding_message_size = self.max_encoding_message_size;
4623 let inner = self.inner.clone();
4624 let fut = async move {
4625 let method = QueryValidatorConsumerCommissionRateSvc(inner);
4626 let codec = tonic::codec::ProstCodec::default();
4627 let mut grpc = tonic::server::Grpc::new(codec)
4628 .apply_compression_config(
4629 accept_compression_encodings,
4630 send_compression_encodings,
4631 )
4632 .apply_max_message_size_config(
4633 max_decoding_message_size,
4634 max_encoding_message_size,
4635 );
4636 let res = grpc.unary(method, req).await;
4637 Ok(res)
4638 };
4639 Box::pin(fut)
4640 }
4641 "/interchain_security.ccv.provider.v1.Query/QueryConsumerValidators" => {
4642 #[allow(non_camel_case_types)]
4643 struct QueryConsumerValidatorsSvc<T: Query>(pub Arc<T>);
4644 impl<
4645 T: Query,
4646 > tonic::server::UnaryService<super::QueryConsumerValidatorsRequest>
4647 for QueryConsumerValidatorsSvc<T> {
4648 type Response = super::QueryConsumerValidatorsResponse;
4649 type Future = BoxFuture<
4650 tonic::Response<Self::Response>,
4651 tonic::Status,
4652 >;
4653 fn call(
4654 &mut self,
4655 request: tonic::Request<
4656 super::QueryConsumerValidatorsRequest,
4657 >,
4658 ) -> Self::Future {
4659 let inner = Arc::clone(&self.0);
4660 let fut = async move {
4661 <T as Query>::query_consumer_validators(&inner, request)
4662 .await
4663 };
4664 Box::pin(fut)
4665 }
4666 }
4667 let accept_compression_encodings = self.accept_compression_encodings;
4668 let send_compression_encodings = self.send_compression_encodings;
4669 let max_decoding_message_size = self.max_decoding_message_size;
4670 let max_encoding_message_size = self.max_encoding_message_size;
4671 let inner = self.inner.clone();
4672 let fut = async move {
4673 let method = QueryConsumerValidatorsSvc(inner);
4674 let codec = tonic::codec::ProstCodec::default();
4675 let mut grpc = tonic::server::Grpc::new(codec)
4676 .apply_compression_config(
4677 accept_compression_encodings,
4678 send_compression_encodings,
4679 )
4680 .apply_max_message_size_config(
4681 max_decoding_message_size,
4682 max_encoding_message_size,
4683 );
4684 let res = grpc.unary(method, req).await;
4685 Ok(res)
4686 };
4687 Box::pin(fut)
4688 }
4689 "/interchain_security.ccv.provider.v1.Query/QueryBlocksUntilNextEpoch" => {
4690 #[allow(non_camel_case_types)]
4691 struct QueryBlocksUntilNextEpochSvc<T: Query>(pub Arc<T>);
4692 impl<
4693 T: Query,
4694 > tonic::server::UnaryService<
4695 super::QueryBlocksUntilNextEpochRequest,
4696 > for QueryBlocksUntilNextEpochSvc<T> {
4697 type Response = super::QueryBlocksUntilNextEpochResponse;
4698 type Future = BoxFuture<
4699 tonic::Response<Self::Response>,
4700 tonic::Status,
4701 >;
4702 fn call(
4703 &mut self,
4704 request: tonic::Request<
4705 super::QueryBlocksUntilNextEpochRequest,
4706 >,
4707 ) -> Self::Future {
4708 let inner = Arc::clone(&self.0);
4709 let fut = async move {
4710 <T as Query>::query_blocks_until_next_epoch(&inner, request)
4711 .await
4712 };
4713 Box::pin(fut)
4714 }
4715 }
4716 let accept_compression_encodings = self.accept_compression_encodings;
4717 let send_compression_encodings = self.send_compression_encodings;
4718 let max_decoding_message_size = self.max_decoding_message_size;
4719 let max_encoding_message_size = self.max_encoding_message_size;
4720 let inner = self.inner.clone();
4721 let fut = async move {
4722 let method = QueryBlocksUntilNextEpochSvc(inner);
4723 let codec = tonic::codec::ProstCodec::default();
4724 let mut grpc = tonic::server::Grpc::new(codec)
4725 .apply_compression_config(
4726 accept_compression_encodings,
4727 send_compression_encodings,
4728 )
4729 .apply_max_message_size_config(
4730 max_decoding_message_size,
4731 max_encoding_message_size,
4732 );
4733 let res = grpc.unary(method, req).await;
4734 Ok(res)
4735 };
4736 Box::pin(fut)
4737 }
4738 "/interchain_security.ccv.provider.v1.Query/QueryConsumerIdFromClientId" => {
4739 #[allow(non_camel_case_types)]
4740 struct QueryConsumerIdFromClientIdSvc<T: Query>(pub Arc<T>);
4741 impl<
4742 T: Query,
4743 > tonic::server::UnaryService<
4744 super::QueryConsumerIdFromClientIdRequest,
4745 > for QueryConsumerIdFromClientIdSvc<T> {
4746 type Response = super::QueryConsumerIdFromClientIdResponse;
4747 type Future = BoxFuture<
4748 tonic::Response<Self::Response>,
4749 tonic::Status,
4750 >;
4751 fn call(
4752 &mut self,
4753 request: tonic::Request<
4754 super::QueryConsumerIdFromClientIdRequest,
4755 >,
4756 ) -> Self::Future {
4757 let inner = Arc::clone(&self.0);
4758 let fut = async move {
4759 <T as Query>::query_consumer_id_from_client_id(
4760 &inner,
4761 request,
4762 )
4763 .await
4764 };
4765 Box::pin(fut)
4766 }
4767 }
4768 let accept_compression_encodings = self.accept_compression_encodings;
4769 let send_compression_encodings = self.send_compression_encodings;
4770 let max_decoding_message_size = self.max_decoding_message_size;
4771 let max_encoding_message_size = self.max_encoding_message_size;
4772 let inner = self.inner.clone();
4773 let fut = async move {
4774 let method = QueryConsumerIdFromClientIdSvc(inner);
4775 let codec = tonic::codec::ProstCodec::default();
4776 let mut grpc = tonic::server::Grpc::new(codec)
4777 .apply_compression_config(
4778 accept_compression_encodings,
4779 send_compression_encodings,
4780 )
4781 .apply_max_message_size_config(
4782 max_decoding_message_size,
4783 max_encoding_message_size,
4784 );
4785 let res = grpc.unary(method, req).await;
4786 Ok(res)
4787 };
4788 Box::pin(fut)
4789 }
4790 "/interchain_security.ccv.provider.v1.Query/QueryConsumerChain" => {
4791 #[allow(non_camel_case_types)]
4792 struct QueryConsumerChainSvc<T: Query>(pub Arc<T>);
4793 impl<
4794 T: Query,
4795 > tonic::server::UnaryService<super::QueryConsumerChainRequest>
4796 for QueryConsumerChainSvc<T> {
4797 type Response = super::QueryConsumerChainResponse;
4798 type Future = BoxFuture<
4799 tonic::Response<Self::Response>,
4800 tonic::Status,
4801 >;
4802 fn call(
4803 &mut self,
4804 request: tonic::Request<super::QueryConsumerChainRequest>,
4805 ) -> Self::Future {
4806 let inner = Arc::clone(&self.0);
4807 let fut = async move {
4808 <T as Query>::query_consumer_chain(&inner, request).await
4809 };
4810 Box::pin(fut)
4811 }
4812 }
4813 let accept_compression_encodings = self.accept_compression_encodings;
4814 let send_compression_encodings = self.send_compression_encodings;
4815 let max_decoding_message_size = self.max_decoding_message_size;
4816 let max_encoding_message_size = self.max_encoding_message_size;
4817 let inner = self.inner.clone();
4818 let fut = async move {
4819 let method = QueryConsumerChainSvc(inner);
4820 let codec = tonic::codec::ProstCodec::default();
4821 let mut grpc = tonic::server::Grpc::new(codec)
4822 .apply_compression_config(
4823 accept_compression_encodings,
4824 send_compression_encodings,
4825 )
4826 .apply_max_message_size_config(
4827 max_decoding_message_size,
4828 max_encoding_message_size,
4829 );
4830 let res = grpc.unary(method, req).await;
4831 Ok(res)
4832 };
4833 Box::pin(fut)
4834 }
4835 _ => {
4836 Box::pin(async move {
4837 Ok(
4838 http::Response::builder()
4839 .status(200)
4840 .header("grpc-status", tonic::Code::Unimplemented as i32)
4841 .header(
4842 http::header::CONTENT_TYPE,
4843 tonic::metadata::GRPC_CONTENT_TYPE,
4844 )
4845 .body(empty_body())
4846 .unwrap(),
4847 )
4848 })
4849 }
4850 }
4851 }
4852 }
4853 impl<T: Query> Clone for QueryServer<T> {
4854 fn clone(&self) -> Self {
4855 let inner = self.inner.clone();
4856 Self {
4857 inner,
4858 accept_compression_encodings: self.accept_compression_encodings,
4859 send_compression_encodings: self.send_compression_encodings,
4860 max_decoding_message_size: self.max_decoding_message_size,
4861 max_encoding_message_size: self.max_encoding_message_size,
4862 }
4863 }
4864 }
4865 impl<T: Query> tonic::server::NamedService for QueryServer<T> {
4866 const NAME: &'static str = "interchain_security.ccv.provider.v1.Query";
4867 }
4868}
4869#[allow(clippy::derive_partial_eq_without_eq)]
4871#[derive(Clone, PartialEq, ::prost::Message)]
4872pub struct GenesisState {
4873 #[prost(uint64, tag = "1")]
4875 pub valset_update_id: u64,
4876 #[prost(message, repeated, tag = "2")]
4878 pub consumer_states: ::prost::alloc::vec::Vec<ConsumerState>,
4879 #[prost(message, repeated, tag = "5")]
4881 pub valset_update_id_to_height: ::prost::alloc::vec::Vec<ValsetUpdateIdToHeight>,
4882 #[prost(message, optional, tag = "8")]
4883 pub params: ::core::option::Option<Params>,
4884 #[prost(message, repeated, tag = "9")]
4886 pub validator_consumer_pubkeys: ::prost::alloc::vec::Vec<ValidatorConsumerPubKey>,
4887 #[prost(message, repeated, tag = "10")]
4889 pub validators_by_consumer_addr: ::prost::alloc::vec::Vec<ValidatorByConsumerAddr>,
4890 #[prost(message, repeated, tag = "14")]
4892 pub consumer_addrs_to_prune_v2: ::prost::alloc::vec::Vec<ConsumerAddrsToPruneV2>,
4893}
4894impl ::prost::Name for GenesisState {
4895 const NAME: &'static str = "GenesisState";
4896 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
4897 fn full_name() -> ::prost::alloc::string::String {
4898 "interchain_security.ccv.provider.v1.GenesisState".into()
4899 }
4900 fn type_url() -> ::prost::alloc::string::String {
4901 "/interchain_security.ccv.provider.v1.GenesisState".into()
4902 }
4903}
4904#[allow(clippy::derive_partial_eq_without_eq)]
4908#[derive(Clone, PartialEq, ::prost::Message)]
4909pub struct ConsumerState {
4910 #[prost(string, tag = "1")]
4912 pub chain_id: ::prost::alloc::string::String,
4913 #[prost(string, tag = "2")]
4915 pub channel_id: ::prost::alloc::string::String,
4916 #[prost(string, tag = "3")]
4918 pub client_id: ::prost::alloc::string::String,
4919 #[prost(uint64, tag = "4")]
4921 pub initial_height: u64,
4922 #[prost(message, optional, tag = "5")]
4924 pub consumer_genesis: ::core::option::Option<super::super::v1::ConsumerGenesisState>,
4925 #[prost(message, repeated, tag = "6")]
4928 pub pending_valset_changes: ::prost::alloc::vec::Vec<
4929 super::super::v1::ValidatorSetChangePacketData,
4930 >,
4931 #[prost(string, repeated, tag = "7")]
4932 pub slash_downtime_ack: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4933 #[prost(enumeration = "ConsumerPhase", tag = "9")]
4935 pub phase: i32,
4936}
4937impl ::prost::Name for ConsumerState {
4938 const NAME: &'static str = "ConsumerState";
4939 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
4940 fn full_name() -> ::prost::alloc::string::String {
4941 "interchain_security.ccv.provider.v1.ConsumerState".into()
4942 }
4943 fn type_url() -> ::prost::alloc::string::String {
4944 "/interchain_security.ccv.provider.v1.ConsumerState".into()
4945 }
4946}
4947#[allow(clippy::derive_partial_eq_without_eq)]
4950#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4951pub struct ValsetUpdateIdToHeight {
4952 #[prost(uint64, tag = "1")]
4953 pub valset_update_id: u64,
4954 #[prost(uint64, tag = "2")]
4955 pub height: u64,
4956}
4957impl ::prost::Name for ValsetUpdateIdToHeight {
4958 const NAME: &'static str = "ValsetUpdateIdToHeight";
4959 const PACKAGE: &'static str = "interchain_security.ccv.provider.v1";
4960 fn full_name() -> ::prost::alloc::string::String {
4961 "interchain_security.ccv.provider.v1.ValsetUpdateIdToHeight".into()
4962 }
4963 fn type_url() -> ::prost::alloc::string::String {
4964 "/interchain_security.ccv.provider.v1.ValsetUpdateIdToHeight".into()
4965 }
4966}