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