cosmos_sdk_proto/prost/cosmos-sdk/
cosmos.distribution.v1beta1.rs

1// @generated
2/// Params defines the set of params for the distribution module.
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct Params {
6    #[prost(string, tag = "1")]
7    pub community_tax: ::prost::alloc::string::String,
8    /// Deprecated: The base_proposer_reward field is deprecated and is no longer used
9    /// in the x/distribution module's reward mechanism.
10    #[deprecated]
11    #[prost(string, tag = "2")]
12    pub base_proposer_reward: ::prost::alloc::string::String,
13    /// Deprecated: The bonus_proposer_reward field is deprecated and is no longer used
14    /// in the x/distribution module's reward mechanism.
15    #[deprecated]
16    #[prost(string, tag = "3")]
17    pub bonus_proposer_reward: ::prost::alloc::string::String,
18    #[prost(bool, tag = "4")]
19    pub withdraw_addr_enabled: bool,
20}
21impl ::prost::Name for Params {
22    const NAME: &'static str = "Params";
23    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
24    fn full_name() -> ::prost::alloc::string::String {
25        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
26    }
27}
28/// ValidatorHistoricalRewards represents historical rewards for a validator.
29/// Height is implicit within the store key.
30/// Cumulative reward ratio is the sum from the zeroeth period
31/// until this period of rewards / tokens, per the spec.
32/// The reference count indicates the number of objects
33/// which might need to reference this historical entry at any point.
34/// ReferenceCount =
35///     number of outstanding delegations which ended the associated period (and
36///     might need to read that record)
37///   + number of slashes which ended the associated period (and might need to
38///   read that record)
39///   + one per validator for the zeroeth period, set on initialization
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct ValidatorHistoricalRewards {
43    #[prost(message, repeated, tag = "1")]
44    pub cumulative_reward_ratio: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
45    #[prost(uint32, tag = "2")]
46    pub reference_count: u32,
47}
48impl ::prost::Name for ValidatorHistoricalRewards {
49    const NAME: &'static str = "ValidatorHistoricalRewards";
50    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
51    fn full_name() -> ::prost::alloc::string::String {
52        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
53    }
54}
55/// ValidatorCurrentRewards represents current rewards and current
56/// period for a validator kept as a running counter and incremented
57/// each block as long as the validator's tokens remain constant.
58#[allow(clippy::derive_partial_eq_without_eq)]
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct ValidatorCurrentRewards {
61    #[prost(message, repeated, tag = "1")]
62    pub rewards: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
63    #[prost(uint64, tag = "2")]
64    pub period: u64,
65}
66impl ::prost::Name for ValidatorCurrentRewards {
67    const NAME: &'static str = "ValidatorCurrentRewards";
68    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
69    fn full_name() -> ::prost::alloc::string::String {
70        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
71    }
72}
73/// ValidatorAccumulatedCommission represents accumulated commission
74/// for a validator kept as a running counter, can be withdrawn at any time.
75#[allow(clippy::derive_partial_eq_without_eq)]
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct ValidatorAccumulatedCommission {
78    #[prost(message, repeated, tag = "1")]
79    pub commission: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
80}
81impl ::prost::Name for ValidatorAccumulatedCommission {
82    const NAME: &'static str = "ValidatorAccumulatedCommission";
83    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
84    fn full_name() -> ::prost::alloc::string::String {
85        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
86    }
87}
88/// ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
89/// for a validator inexpensive to track, allows simple sanity checks.
90#[allow(clippy::derive_partial_eq_without_eq)]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct ValidatorOutstandingRewards {
93    #[prost(message, repeated, tag = "1")]
94    pub rewards: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
95}
96impl ::prost::Name for ValidatorOutstandingRewards {
97    const NAME: &'static str = "ValidatorOutstandingRewards";
98    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
99    fn full_name() -> ::prost::alloc::string::String {
100        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
101    }
102}
103/// ValidatorSlashEvent represents a validator slash event.
104/// Height is implicit within the store key.
105/// This is needed to calculate appropriate amount of staking tokens
106/// for delegations which are withdrawn after a slash has occurred.
107#[allow(clippy::derive_partial_eq_without_eq)]
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct ValidatorSlashEvent {
110    #[prost(uint64, tag = "1")]
111    pub validator_period: u64,
112    #[prost(string, tag = "2")]
113    pub fraction: ::prost::alloc::string::String,
114}
115impl ::prost::Name for ValidatorSlashEvent {
116    const NAME: &'static str = "ValidatorSlashEvent";
117    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
118    fn full_name() -> ::prost::alloc::string::String {
119        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
120    }
121}
122/// ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.
123#[allow(clippy::derive_partial_eq_without_eq)]
124#[derive(Clone, PartialEq, ::prost::Message)]
125pub struct ValidatorSlashEvents {
126    #[prost(message, repeated, tag = "1")]
127    pub validator_slash_events: ::prost::alloc::vec::Vec<ValidatorSlashEvent>,
128}
129impl ::prost::Name for ValidatorSlashEvents {
130    const NAME: &'static str = "ValidatorSlashEvents";
131    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
132    fn full_name() -> ::prost::alloc::string::String {
133        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
134    }
135}
136/// FeePool is the global fee pool for distribution.
137#[allow(clippy::derive_partial_eq_without_eq)]
138#[derive(Clone, PartialEq, ::prost::Message)]
139pub struct FeePool {
140    #[prost(message, repeated, tag = "1")]
141    pub community_pool: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
142}
143impl ::prost::Name for FeePool {
144    const NAME: &'static str = "FeePool";
145    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
146    fn full_name() -> ::prost::alloc::string::String {
147        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
148    }
149}
150/// CommunityPoolSpendProposal details a proposal for use of community funds,
151/// together with how many coins are proposed to be spent, and to which
152/// recipient account.
153///
154/// Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no
155/// longer a need for an explicit CommunityPoolSpendProposal. To spend community
156/// pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov
157/// module via a v1 governance proposal.
158#[allow(clippy::derive_partial_eq_without_eq)]
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct CommunityPoolSpendProposal {
161    #[prost(string, tag = "1")]
162    pub title: ::prost::alloc::string::String,
163    #[prost(string, tag = "2")]
164    pub description: ::prost::alloc::string::String,
165    #[prost(string, tag = "3")]
166    pub recipient: ::prost::alloc::string::String,
167    #[prost(message, repeated, tag = "4")]
168    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
169}
170impl ::prost::Name for CommunityPoolSpendProposal {
171    const NAME: &'static str = "CommunityPoolSpendProposal";
172    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
173    fn full_name() -> ::prost::alloc::string::String {
174        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
175    }
176}
177/// DelegatorStartingInfo represents the starting info for a delegator reward
178/// period. It tracks the previous validator period, the delegation's amount of
179/// staking token, and the creation height (to check later on if any slashes have
180/// occurred). NOTE: Even though validators are slashed to whole staking tokens,
181/// the delegators within the validator may be left with less than a full token,
182/// thus sdk.Dec is used.
183#[allow(clippy::derive_partial_eq_without_eq)]
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct DelegatorStartingInfo {
186    #[prost(uint64, tag = "1")]
187    pub previous_period: u64,
188    #[prost(string, tag = "2")]
189    pub stake: ::prost::alloc::string::String,
190    #[prost(uint64, tag = "3")]
191    pub height: u64,
192}
193impl ::prost::Name for DelegatorStartingInfo {
194    const NAME: &'static str = "DelegatorStartingInfo";
195    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
196    fn full_name() -> ::prost::alloc::string::String {
197        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
198    }
199}
200/// DelegationDelegatorReward represents the properties
201/// of a delegator's delegation reward.
202#[allow(clippy::derive_partial_eq_without_eq)]
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct DelegationDelegatorReward {
205    #[prost(string, tag = "1")]
206    pub validator_address: ::prost::alloc::string::String,
207    #[prost(message, repeated, tag = "2")]
208    pub reward: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
209}
210impl ::prost::Name for DelegationDelegatorReward {
211    const NAME: &'static str = "DelegationDelegatorReward";
212    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
213    fn full_name() -> ::prost::alloc::string::String {
214        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
215    }
216}
217/// CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal
218/// with a deposit
219#[allow(clippy::derive_partial_eq_without_eq)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct CommunityPoolSpendProposalWithDeposit {
222    #[prost(string, tag = "1")]
223    pub title: ::prost::alloc::string::String,
224    #[prost(string, tag = "2")]
225    pub description: ::prost::alloc::string::String,
226    #[prost(string, tag = "3")]
227    pub recipient: ::prost::alloc::string::String,
228    #[prost(string, tag = "4")]
229    pub amount: ::prost::alloc::string::String,
230    #[prost(string, tag = "5")]
231    pub deposit: ::prost::alloc::string::String,
232}
233impl ::prost::Name for CommunityPoolSpendProposalWithDeposit {
234    const NAME: &'static str = "CommunityPoolSpendProposalWithDeposit";
235    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
236    fn full_name() -> ::prost::alloc::string::String {
237        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
238    }
239}
240/// DelegatorWithdrawInfo is the address for where distributions rewards are
241/// withdrawn to by default this struct is only used at genesis to feed in
242/// default withdraw addresses.
243#[allow(clippy::derive_partial_eq_without_eq)]
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct DelegatorWithdrawInfo {
246    /// delegator_address is the address of the delegator.
247    #[prost(string, tag = "1")]
248    pub delegator_address: ::prost::alloc::string::String,
249    /// withdraw_address is the address to withdraw the delegation rewards to.
250    #[prost(string, tag = "2")]
251    pub withdraw_address: ::prost::alloc::string::String,
252}
253impl ::prost::Name for DelegatorWithdrawInfo {
254    const NAME: &'static str = "DelegatorWithdrawInfo";
255    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
256    fn full_name() -> ::prost::alloc::string::String {
257        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
258    }
259}
260/// ValidatorOutstandingRewardsRecord is used for import/export via genesis json.
261#[allow(clippy::derive_partial_eq_without_eq)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct ValidatorOutstandingRewardsRecord {
264    /// validator_address is the address of the validator.
265    #[prost(string, tag = "1")]
266    pub validator_address: ::prost::alloc::string::String,
267    /// outstanding_rewards represents the outstanding rewards of a validator.
268    #[prost(message, repeated, tag = "2")]
269    pub outstanding_rewards: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
270}
271impl ::prost::Name for ValidatorOutstandingRewardsRecord {
272    const NAME: &'static str = "ValidatorOutstandingRewardsRecord";
273    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
274    fn full_name() -> ::prost::alloc::string::String {
275        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
276    }
277}
278/// ValidatorAccumulatedCommissionRecord is used for import / export via genesis
279/// json.
280#[allow(clippy::derive_partial_eq_without_eq)]
281#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct ValidatorAccumulatedCommissionRecord {
283    /// validator_address is the address of the validator.
284    #[prost(string, tag = "1")]
285    pub validator_address: ::prost::alloc::string::String,
286    /// accumulated is the accumulated commission of a validator.
287    #[prost(message, optional, tag = "2")]
288    pub accumulated: ::core::option::Option<ValidatorAccumulatedCommission>,
289}
290impl ::prost::Name for ValidatorAccumulatedCommissionRecord {
291    const NAME: &'static str = "ValidatorAccumulatedCommissionRecord";
292    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
293    fn full_name() -> ::prost::alloc::string::String {
294        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
295    }
296}
297/// ValidatorHistoricalRewardsRecord is used for import / export via genesis
298/// json.
299#[allow(clippy::derive_partial_eq_without_eq)]
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct ValidatorHistoricalRewardsRecord {
302    /// validator_address is the address of the validator.
303    #[prost(string, tag = "1")]
304    pub validator_address: ::prost::alloc::string::String,
305    /// period defines the period the historical rewards apply to.
306    #[prost(uint64, tag = "2")]
307    pub period: u64,
308    /// rewards defines the historical rewards of a validator.
309    #[prost(message, optional, tag = "3")]
310    pub rewards: ::core::option::Option<ValidatorHistoricalRewards>,
311}
312impl ::prost::Name for ValidatorHistoricalRewardsRecord {
313    const NAME: &'static str = "ValidatorHistoricalRewardsRecord";
314    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
315    fn full_name() -> ::prost::alloc::string::String {
316        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
317    }
318}
319/// ValidatorCurrentRewardsRecord is used for import / export via genesis json.
320#[allow(clippy::derive_partial_eq_without_eq)]
321#[derive(Clone, PartialEq, ::prost::Message)]
322pub struct ValidatorCurrentRewardsRecord {
323    /// validator_address is the address of the validator.
324    #[prost(string, tag = "1")]
325    pub validator_address: ::prost::alloc::string::String,
326    /// rewards defines the current rewards of a validator.
327    #[prost(message, optional, tag = "2")]
328    pub rewards: ::core::option::Option<ValidatorCurrentRewards>,
329}
330impl ::prost::Name for ValidatorCurrentRewardsRecord {
331    const NAME: &'static str = "ValidatorCurrentRewardsRecord";
332    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
333    fn full_name() -> ::prost::alloc::string::String {
334        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
335    }
336}
337/// DelegatorStartingInfoRecord used for import / export via genesis json.
338#[allow(clippy::derive_partial_eq_without_eq)]
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct DelegatorStartingInfoRecord {
341    /// delegator_address is the address of the delegator.
342    #[prost(string, tag = "1")]
343    pub delegator_address: ::prost::alloc::string::String,
344    /// validator_address is the address of the validator.
345    #[prost(string, tag = "2")]
346    pub validator_address: ::prost::alloc::string::String,
347    /// starting_info defines the starting info of a delegator.
348    #[prost(message, optional, tag = "3")]
349    pub starting_info: ::core::option::Option<DelegatorStartingInfo>,
350}
351impl ::prost::Name for DelegatorStartingInfoRecord {
352    const NAME: &'static str = "DelegatorStartingInfoRecord";
353    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
354    fn full_name() -> ::prost::alloc::string::String {
355        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
356    }
357}
358/// ValidatorSlashEventRecord is used for import / export via genesis json.
359#[allow(clippy::derive_partial_eq_without_eq)]
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct ValidatorSlashEventRecord {
362    /// validator_address is the address of the validator.
363    #[prost(string, tag = "1")]
364    pub validator_address: ::prost::alloc::string::String,
365    /// height defines the block height at which the slash event occurred.
366    #[prost(uint64, tag = "2")]
367    pub height: u64,
368    /// period is the period of the slash event.
369    #[prost(uint64, tag = "3")]
370    pub period: u64,
371    /// validator_slash_event describes the slash event.
372    #[prost(message, optional, tag = "4")]
373    pub validator_slash_event: ::core::option::Option<ValidatorSlashEvent>,
374}
375impl ::prost::Name for ValidatorSlashEventRecord {
376    const NAME: &'static str = "ValidatorSlashEventRecord";
377    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
378    fn full_name() -> ::prost::alloc::string::String {
379        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
380    }
381}
382/// GenesisState defines the distribution module's genesis state.
383#[allow(clippy::derive_partial_eq_without_eq)]
384#[derive(Clone, PartialEq, ::prost::Message)]
385pub struct GenesisState {
386    /// params defines all the parameters of the module.
387    #[prost(message, optional, tag = "1")]
388    pub params: ::core::option::Option<Params>,
389    /// fee_pool defines the fee pool at genesis.
390    #[prost(message, optional, tag = "2")]
391    pub fee_pool: ::core::option::Option<FeePool>,
392    /// fee_pool defines the delegator withdraw infos at genesis.
393    #[prost(message, repeated, tag = "3")]
394    pub delegator_withdraw_infos: ::prost::alloc::vec::Vec<DelegatorWithdrawInfo>,
395    /// fee_pool defines the previous proposer at genesis.
396    #[prost(string, tag = "4")]
397    pub previous_proposer: ::prost::alloc::string::String,
398    /// fee_pool defines the outstanding rewards of all validators at genesis.
399    #[prost(message, repeated, tag = "5")]
400    pub outstanding_rewards: ::prost::alloc::vec::Vec<ValidatorOutstandingRewardsRecord>,
401    /// fee_pool defines the accumulated commissions of all validators at genesis.
402    #[prost(message, repeated, tag = "6")]
403    pub validator_accumulated_commissions:
404        ::prost::alloc::vec::Vec<ValidatorAccumulatedCommissionRecord>,
405    /// fee_pool defines the historical rewards of all validators at genesis.
406    #[prost(message, repeated, tag = "7")]
407    pub validator_historical_rewards: ::prost::alloc::vec::Vec<ValidatorHistoricalRewardsRecord>,
408    /// fee_pool defines the current rewards of all validators at genesis.
409    #[prost(message, repeated, tag = "8")]
410    pub validator_current_rewards: ::prost::alloc::vec::Vec<ValidatorCurrentRewardsRecord>,
411    /// fee_pool defines the delegator starting infos at genesis.
412    #[prost(message, repeated, tag = "9")]
413    pub delegator_starting_infos: ::prost::alloc::vec::Vec<DelegatorStartingInfoRecord>,
414    /// fee_pool defines the validator slash events at genesis.
415    #[prost(message, repeated, tag = "10")]
416    pub validator_slash_events: ::prost::alloc::vec::Vec<ValidatorSlashEventRecord>,
417}
418impl ::prost::Name for GenesisState {
419    const NAME: &'static str = "GenesisState";
420    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
421    fn full_name() -> ::prost::alloc::string::String {
422        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
423    }
424}
425/// QueryParamsRequest is the request type for the Query/Params RPC method.
426#[allow(clippy::derive_partial_eq_without_eq)]
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct QueryParamsRequest {}
429impl ::prost::Name for QueryParamsRequest {
430    const NAME: &'static str = "QueryParamsRequest";
431    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
432    fn full_name() -> ::prost::alloc::string::String {
433        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
434    }
435}
436/// QueryParamsResponse is the response type for the Query/Params RPC method.
437#[allow(clippy::derive_partial_eq_without_eq)]
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct QueryParamsResponse {
440    /// params defines the parameters of the module.
441    #[prost(message, optional, tag = "1")]
442    pub params: ::core::option::Option<Params>,
443}
444impl ::prost::Name for QueryParamsResponse {
445    const NAME: &'static str = "QueryParamsResponse";
446    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
447    fn full_name() -> ::prost::alloc::string::String {
448        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
449    }
450}
451/// QueryValidatorDistributionInfoRequest is the request type for the Query/ValidatorDistributionInfo RPC method.
452#[allow(clippy::derive_partial_eq_without_eq)]
453#[derive(Clone, PartialEq, ::prost::Message)]
454pub struct QueryValidatorDistributionInfoRequest {
455    /// validator_address defines the validator address to query for.
456    #[prost(string, tag = "1")]
457    pub validator_address: ::prost::alloc::string::String,
458}
459impl ::prost::Name for QueryValidatorDistributionInfoRequest {
460    const NAME: &'static str = "QueryValidatorDistributionInfoRequest";
461    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
462    fn full_name() -> ::prost::alloc::string::String {
463        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
464    }
465}
466/// QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method.
467#[allow(clippy::derive_partial_eq_without_eq)]
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct QueryValidatorDistributionInfoResponse {
470    /// operator_address defines the validator operator address.
471    #[prost(string, tag = "1")]
472    pub operator_address: ::prost::alloc::string::String,
473    /// self_bond_rewards defines the self delegations rewards.
474    #[prost(message, repeated, tag = "2")]
475    pub self_bond_rewards: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
476    /// commission defines the commission the validator received.
477    #[prost(message, repeated, tag = "3")]
478    pub commission: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
479}
480impl ::prost::Name for QueryValidatorDistributionInfoResponse {
481    const NAME: &'static str = "QueryValidatorDistributionInfoResponse";
482    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
483    fn full_name() -> ::prost::alloc::string::String {
484        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
485    }
486}
487/// QueryValidatorOutstandingRewardsRequest is the request type for the
488/// Query/ValidatorOutstandingRewards RPC method.
489#[allow(clippy::derive_partial_eq_without_eq)]
490#[derive(Clone, PartialEq, ::prost::Message)]
491pub struct QueryValidatorOutstandingRewardsRequest {
492    /// validator_address defines the validator address to query for.
493    #[prost(string, tag = "1")]
494    pub validator_address: ::prost::alloc::string::String,
495}
496impl ::prost::Name for QueryValidatorOutstandingRewardsRequest {
497    const NAME: &'static str = "QueryValidatorOutstandingRewardsRequest";
498    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
499    fn full_name() -> ::prost::alloc::string::String {
500        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
501    }
502}
503/// QueryValidatorOutstandingRewardsResponse is the response type for the
504/// Query/ValidatorOutstandingRewards RPC method.
505#[allow(clippy::derive_partial_eq_without_eq)]
506#[derive(Clone, PartialEq, ::prost::Message)]
507pub struct QueryValidatorOutstandingRewardsResponse {
508    #[prost(message, optional, tag = "1")]
509    pub rewards: ::core::option::Option<ValidatorOutstandingRewards>,
510}
511impl ::prost::Name for QueryValidatorOutstandingRewardsResponse {
512    const NAME: &'static str = "QueryValidatorOutstandingRewardsResponse";
513    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
514    fn full_name() -> ::prost::alloc::string::String {
515        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
516    }
517}
518/// QueryValidatorCommissionRequest is the request type for the
519/// Query/ValidatorCommission RPC method
520#[allow(clippy::derive_partial_eq_without_eq)]
521#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct QueryValidatorCommissionRequest {
523    /// validator_address defines the validator address to query for.
524    #[prost(string, tag = "1")]
525    pub validator_address: ::prost::alloc::string::String,
526}
527impl ::prost::Name for QueryValidatorCommissionRequest {
528    const NAME: &'static str = "QueryValidatorCommissionRequest";
529    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
530    fn full_name() -> ::prost::alloc::string::String {
531        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
532    }
533}
534/// QueryValidatorCommissionResponse is the response type for the
535/// Query/ValidatorCommission RPC method
536#[allow(clippy::derive_partial_eq_without_eq)]
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct QueryValidatorCommissionResponse {
539    /// commission defines the commission the validator received.
540    #[prost(message, optional, tag = "1")]
541    pub commission: ::core::option::Option<ValidatorAccumulatedCommission>,
542}
543impl ::prost::Name for QueryValidatorCommissionResponse {
544    const NAME: &'static str = "QueryValidatorCommissionResponse";
545    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
546    fn full_name() -> ::prost::alloc::string::String {
547        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
548    }
549}
550/// QueryValidatorSlashesRequest is the request type for the
551/// Query/ValidatorSlashes RPC method
552#[allow(clippy::derive_partial_eq_without_eq)]
553#[derive(Clone, PartialEq, ::prost::Message)]
554pub struct QueryValidatorSlashesRequest {
555    /// validator_address defines the validator address to query for.
556    #[prost(string, tag = "1")]
557    pub validator_address: ::prost::alloc::string::String,
558    /// starting_height defines the optional starting height to query the slashes.
559    #[prost(uint64, tag = "2")]
560    pub starting_height: u64,
561    /// starting_height defines the optional ending height to query the slashes.
562    #[prost(uint64, tag = "3")]
563    pub ending_height: u64,
564    /// pagination defines an optional pagination for the request.
565    #[prost(message, optional, tag = "4")]
566    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
567}
568impl ::prost::Name for QueryValidatorSlashesRequest {
569    const NAME: &'static str = "QueryValidatorSlashesRequest";
570    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
571    fn full_name() -> ::prost::alloc::string::String {
572        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
573    }
574}
575/// QueryValidatorSlashesResponse is the response type for the
576/// Query/ValidatorSlashes RPC method.
577#[allow(clippy::derive_partial_eq_without_eq)]
578#[derive(Clone, PartialEq, ::prost::Message)]
579pub struct QueryValidatorSlashesResponse {
580    /// slashes defines the slashes the validator received.
581    #[prost(message, repeated, tag = "1")]
582    pub slashes: ::prost::alloc::vec::Vec<ValidatorSlashEvent>,
583    /// pagination defines the pagination in the response.
584    #[prost(message, optional, tag = "2")]
585    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
586}
587impl ::prost::Name for QueryValidatorSlashesResponse {
588    const NAME: &'static str = "QueryValidatorSlashesResponse";
589    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
590    fn full_name() -> ::prost::alloc::string::String {
591        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
592    }
593}
594/// QueryDelegationRewardsRequest is the request type for the
595/// Query/DelegationRewards RPC method.
596#[allow(clippy::derive_partial_eq_without_eq)]
597#[derive(Clone, PartialEq, ::prost::Message)]
598pub struct QueryDelegationRewardsRequest {
599    /// delegator_address defines the delegator address to query for.
600    #[prost(string, tag = "1")]
601    pub delegator_address: ::prost::alloc::string::String,
602    /// validator_address defines the validator address to query for.
603    #[prost(string, tag = "2")]
604    pub validator_address: ::prost::alloc::string::String,
605}
606impl ::prost::Name for QueryDelegationRewardsRequest {
607    const NAME: &'static str = "QueryDelegationRewardsRequest";
608    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
609    fn full_name() -> ::prost::alloc::string::String {
610        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
611    }
612}
613/// QueryDelegationRewardsResponse is the response type for the
614/// Query/DelegationRewards RPC method.
615#[allow(clippy::derive_partial_eq_without_eq)]
616#[derive(Clone, PartialEq, ::prost::Message)]
617pub struct QueryDelegationRewardsResponse {
618    /// rewards defines the rewards accrued by a delegation.
619    #[prost(message, repeated, tag = "1")]
620    pub rewards: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
621}
622impl ::prost::Name for QueryDelegationRewardsResponse {
623    const NAME: &'static str = "QueryDelegationRewardsResponse";
624    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
625    fn full_name() -> ::prost::alloc::string::String {
626        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
627    }
628}
629/// QueryDelegationTotalRewardsRequest is the request type for the
630/// Query/DelegationTotalRewards RPC method.
631#[allow(clippy::derive_partial_eq_without_eq)]
632#[derive(Clone, PartialEq, ::prost::Message)]
633pub struct QueryDelegationTotalRewardsRequest {
634    /// delegator_address defines the delegator address to query for.
635    #[prost(string, tag = "1")]
636    pub delegator_address: ::prost::alloc::string::String,
637}
638impl ::prost::Name for QueryDelegationTotalRewardsRequest {
639    const NAME: &'static str = "QueryDelegationTotalRewardsRequest";
640    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
641    fn full_name() -> ::prost::alloc::string::String {
642        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
643    }
644}
645/// QueryDelegationTotalRewardsResponse is the response type for the
646/// Query/DelegationTotalRewards RPC method.
647#[allow(clippy::derive_partial_eq_without_eq)]
648#[derive(Clone, PartialEq, ::prost::Message)]
649pub struct QueryDelegationTotalRewardsResponse {
650    /// rewards defines all the rewards accrued by a delegator.
651    #[prost(message, repeated, tag = "1")]
652    pub rewards: ::prost::alloc::vec::Vec<DelegationDelegatorReward>,
653    /// total defines the sum of all the rewards.
654    #[prost(message, repeated, tag = "2")]
655    pub total: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
656}
657impl ::prost::Name for QueryDelegationTotalRewardsResponse {
658    const NAME: &'static str = "QueryDelegationTotalRewardsResponse";
659    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
660    fn full_name() -> ::prost::alloc::string::String {
661        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
662    }
663}
664/// QueryDelegatorValidatorsRequest is the request type for the
665/// Query/DelegatorValidators RPC method.
666#[allow(clippy::derive_partial_eq_without_eq)]
667#[derive(Clone, PartialEq, ::prost::Message)]
668pub struct QueryDelegatorValidatorsRequest {
669    /// delegator_address defines the delegator address to query for.
670    #[prost(string, tag = "1")]
671    pub delegator_address: ::prost::alloc::string::String,
672}
673impl ::prost::Name for QueryDelegatorValidatorsRequest {
674    const NAME: &'static str = "QueryDelegatorValidatorsRequest";
675    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
676    fn full_name() -> ::prost::alloc::string::String {
677        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
678    }
679}
680/// QueryDelegatorValidatorsResponse is the response type for the
681/// Query/DelegatorValidators RPC method.
682#[allow(clippy::derive_partial_eq_without_eq)]
683#[derive(Clone, PartialEq, ::prost::Message)]
684pub struct QueryDelegatorValidatorsResponse {
685    /// validators defines the validators a delegator is delegating for.
686    #[prost(string, repeated, tag = "1")]
687    pub validators: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
688}
689impl ::prost::Name for QueryDelegatorValidatorsResponse {
690    const NAME: &'static str = "QueryDelegatorValidatorsResponse";
691    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
692    fn full_name() -> ::prost::alloc::string::String {
693        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
694    }
695}
696/// QueryDelegatorWithdrawAddressRequest is the request type for the
697/// Query/DelegatorWithdrawAddress RPC method.
698#[allow(clippy::derive_partial_eq_without_eq)]
699#[derive(Clone, PartialEq, ::prost::Message)]
700pub struct QueryDelegatorWithdrawAddressRequest {
701    /// delegator_address defines the delegator address to query for.
702    #[prost(string, tag = "1")]
703    pub delegator_address: ::prost::alloc::string::String,
704}
705impl ::prost::Name for QueryDelegatorWithdrawAddressRequest {
706    const NAME: &'static str = "QueryDelegatorWithdrawAddressRequest";
707    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
708    fn full_name() -> ::prost::alloc::string::String {
709        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
710    }
711}
712/// QueryDelegatorWithdrawAddressResponse is the response type for the
713/// Query/DelegatorWithdrawAddress RPC method.
714#[allow(clippy::derive_partial_eq_without_eq)]
715#[derive(Clone, PartialEq, ::prost::Message)]
716pub struct QueryDelegatorWithdrawAddressResponse {
717    /// withdraw_address defines the delegator address to query for.
718    #[prost(string, tag = "1")]
719    pub withdraw_address: ::prost::alloc::string::String,
720}
721impl ::prost::Name for QueryDelegatorWithdrawAddressResponse {
722    const NAME: &'static str = "QueryDelegatorWithdrawAddressResponse";
723    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
724    fn full_name() -> ::prost::alloc::string::String {
725        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
726    }
727}
728/// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC
729/// method.
730#[allow(clippy::derive_partial_eq_without_eq)]
731#[derive(Clone, PartialEq, ::prost::Message)]
732pub struct QueryCommunityPoolRequest {}
733impl ::prost::Name for QueryCommunityPoolRequest {
734    const NAME: &'static str = "QueryCommunityPoolRequest";
735    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
736    fn full_name() -> ::prost::alloc::string::String {
737        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
738    }
739}
740/// QueryCommunityPoolResponse is the response type for the Query/CommunityPool
741/// RPC method.
742#[allow(clippy::derive_partial_eq_without_eq)]
743#[derive(Clone, PartialEq, ::prost::Message)]
744pub struct QueryCommunityPoolResponse {
745    /// pool defines community pool's coins.
746    #[prost(message, repeated, tag = "1")]
747    pub pool: ::prost::alloc::vec::Vec<super::super::base::v1beta1::DecCoin>,
748}
749impl ::prost::Name for QueryCommunityPoolResponse {
750    const NAME: &'static str = "QueryCommunityPoolResponse";
751    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
752    fn full_name() -> ::prost::alloc::string::String {
753        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
754    }
755}
756/// MsgSetWithdrawAddress sets the withdraw address for
757/// a delegator (or validator self-delegation).
758#[allow(clippy::derive_partial_eq_without_eq)]
759#[derive(Clone, PartialEq, ::prost::Message)]
760pub struct MsgSetWithdrawAddress {
761    #[prost(string, tag = "1")]
762    pub delegator_address: ::prost::alloc::string::String,
763    #[prost(string, tag = "2")]
764    pub withdraw_address: ::prost::alloc::string::String,
765}
766impl ::prost::Name for MsgSetWithdrawAddress {
767    const NAME: &'static str = "MsgSetWithdrawAddress";
768    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
769    fn full_name() -> ::prost::alloc::string::String {
770        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
771    }
772}
773/// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response
774/// type.
775#[allow(clippy::derive_partial_eq_without_eq)]
776#[derive(Clone, PartialEq, ::prost::Message)]
777pub struct MsgSetWithdrawAddressResponse {}
778impl ::prost::Name for MsgSetWithdrawAddressResponse {
779    const NAME: &'static str = "MsgSetWithdrawAddressResponse";
780    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
781    fn full_name() -> ::prost::alloc::string::String {
782        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
783    }
784}
785/// MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator
786/// from a single validator.
787#[allow(clippy::derive_partial_eq_without_eq)]
788#[derive(Clone, PartialEq, ::prost::Message)]
789pub struct MsgWithdrawDelegatorReward {
790    #[prost(string, tag = "1")]
791    pub delegator_address: ::prost::alloc::string::String,
792    #[prost(string, tag = "2")]
793    pub validator_address: ::prost::alloc::string::String,
794}
795impl ::prost::Name for MsgWithdrawDelegatorReward {
796    const NAME: &'static str = "MsgWithdrawDelegatorReward";
797    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
798    fn full_name() -> ::prost::alloc::string::String {
799        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
800    }
801}
802/// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward
803/// response type.
804#[allow(clippy::derive_partial_eq_without_eq)]
805#[derive(Clone, PartialEq, ::prost::Message)]
806pub struct MsgWithdrawDelegatorRewardResponse {
807    /// Since: cosmos-sdk 0.46
808    #[prost(message, repeated, tag = "1")]
809    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
810}
811impl ::prost::Name for MsgWithdrawDelegatorRewardResponse {
812    const NAME: &'static str = "MsgWithdrawDelegatorRewardResponse";
813    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
814    fn full_name() -> ::prost::alloc::string::String {
815        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
816    }
817}
818/// MsgWithdrawValidatorCommission withdraws the full commission to the validator
819/// address.
820#[allow(clippy::derive_partial_eq_without_eq)]
821#[derive(Clone, PartialEq, ::prost::Message)]
822pub struct MsgWithdrawValidatorCommission {
823    #[prost(string, tag = "1")]
824    pub validator_address: ::prost::alloc::string::String,
825}
826impl ::prost::Name for MsgWithdrawValidatorCommission {
827    const NAME: &'static str = "MsgWithdrawValidatorCommission";
828    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
829    fn full_name() -> ::prost::alloc::string::String {
830        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
831    }
832}
833/// MsgWithdrawValidatorCommissionResponse defines the
834/// Msg/WithdrawValidatorCommission response type.
835#[allow(clippy::derive_partial_eq_without_eq)]
836#[derive(Clone, PartialEq, ::prost::Message)]
837pub struct MsgWithdrawValidatorCommissionResponse {
838    /// Since: cosmos-sdk 0.46
839    #[prost(message, repeated, tag = "1")]
840    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
841}
842impl ::prost::Name for MsgWithdrawValidatorCommissionResponse {
843    const NAME: &'static str = "MsgWithdrawValidatorCommissionResponse";
844    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
845    fn full_name() -> ::prost::alloc::string::String {
846        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
847    }
848}
849/// MsgFundCommunityPool allows an account to directly
850/// fund the community pool.
851#[allow(clippy::derive_partial_eq_without_eq)]
852#[derive(Clone, PartialEq, ::prost::Message)]
853pub struct MsgFundCommunityPool {
854    #[prost(message, repeated, tag = "1")]
855    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
856    #[prost(string, tag = "2")]
857    pub depositor: ::prost::alloc::string::String,
858}
859impl ::prost::Name for MsgFundCommunityPool {
860    const NAME: &'static str = "MsgFundCommunityPool";
861    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
862    fn full_name() -> ::prost::alloc::string::String {
863        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
864    }
865}
866/// MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.
867#[allow(clippy::derive_partial_eq_without_eq)]
868#[derive(Clone, PartialEq, ::prost::Message)]
869pub struct MsgFundCommunityPoolResponse {}
870impl ::prost::Name for MsgFundCommunityPoolResponse {
871    const NAME: &'static str = "MsgFundCommunityPoolResponse";
872    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
873    fn full_name() -> ::prost::alloc::string::String {
874        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
875    }
876}
877/// MsgUpdateParams is the Msg/UpdateParams request type.
878///
879/// Since: cosmos-sdk 0.47
880#[allow(clippy::derive_partial_eq_without_eq)]
881#[derive(Clone, PartialEq, ::prost::Message)]
882pub struct MsgUpdateParams {
883    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
884    #[prost(string, tag = "1")]
885    pub authority: ::prost::alloc::string::String,
886    /// params defines the x/distribution parameters to update.
887    ///
888    /// NOTE: All parameters must be supplied.
889    #[prost(message, optional, tag = "2")]
890    pub params: ::core::option::Option<Params>,
891}
892impl ::prost::Name for MsgUpdateParams {
893    const NAME: &'static str = "MsgUpdateParams";
894    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
895    fn full_name() -> ::prost::alloc::string::String {
896        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
897    }
898}
899/// MsgUpdateParamsResponse defines the response structure for executing a
900/// MsgUpdateParams message.
901///
902/// Since: cosmos-sdk 0.47
903#[allow(clippy::derive_partial_eq_without_eq)]
904#[derive(Clone, PartialEq, ::prost::Message)]
905pub struct MsgUpdateParamsResponse {}
906impl ::prost::Name for MsgUpdateParamsResponse {
907    const NAME: &'static str = "MsgUpdateParamsResponse";
908    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
909    fn full_name() -> ::prost::alloc::string::String {
910        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
911    }
912}
913/// MsgCommunityPoolSpend defines a message for sending tokens from the community
914/// pool to another account. This message is typically executed via a governance
915/// proposal with the governance module being the executing authority.
916///
917/// Since: cosmos-sdk 0.47
918#[allow(clippy::derive_partial_eq_without_eq)]
919#[derive(Clone, PartialEq, ::prost::Message)]
920pub struct MsgCommunityPoolSpend {
921    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
922    #[prost(string, tag = "1")]
923    pub authority: ::prost::alloc::string::String,
924    #[prost(string, tag = "2")]
925    pub recipient: ::prost::alloc::string::String,
926    #[prost(message, repeated, tag = "3")]
927    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
928}
929impl ::prost::Name for MsgCommunityPoolSpend {
930    const NAME: &'static str = "MsgCommunityPoolSpend";
931    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
932    fn full_name() -> ::prost::alloc::string::String {
933        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
934    }
935}
936/// MsgCommunityPoolSpendResponse defines the response to executing a
937/// MsgCommunityPoolSpend message.
938///
939/// Since: cosmos-sdk 0.47
940#[allow(clippy::derive_partial_eq_without_eq)]
941#[derive(Clone, PartialEq, ::prost::Message)]
942pub struct MsgCommunityPoolSpendResponse {}
943impl ::prost::Name for MsgCommunityPoolSpendResponse {
944    const NAME: &'static str = "MsgCommunityPoolSpendResponse";
945    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
946    fn full_name() -> ::prost::alloc::string::String {
947        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
948    }
949}
950/// DepositValidatorRewardsPool defines the request structure to provide
951/// additional rewards to delegators from a specific validator.
952///
953/// Since: cosmos-sdk 0.50
954#[allow(clippy::derive_partial_eq_without_eq)]
955#[derive(Clone, PartialEq, ::prost::Message)]
956pub struct MsgDepositValidatorRewardsPool {
957    #[prost(string, tag = "1")]
958    pub depositor: ::prost::alloc::string::String,
959    #[prost(string, tag = "2")]
960    pub validator_address: ::prost::alloc::string::String,
961    #[prost(message, repeated, tag = "3")]
962    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
963}
964impl ::prost::Name for MsgDepositValidatorRewardsPool {
965    const NAME: &'static str = "MsgDepositValidatorRewardsPool";
966    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
967    fn full_name() -> ::prost::alloc::string::String {
968        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
969    }
970}
971/// MsgDepositValidatorRewardsPoolResponse defines the response to executing a
972/// MsgDepositValidatorRewardsPool message.
973///
974/// Since: cosmos-sdk 0.50
975#[allow(clippy::derive_partial_eq_without_eq)]
976#[derive(Clone, PartialEq, ::prost::Message)]
977pub struct MsgDepositValidatorRewardsPoolResponse {}
978impl ::prost::Name for MsgDepositValidatorRewardsPoolResponse {
979    const NAME: &'static str = "MsgDepositValidatorRewardsPoolResponse";
980    const PACKAGE: &'static str = "cosmos.distribution.v1beta1";
981    fn full_name() -> ::prost::alloc::string::String {
982        ::prost::alloc::format!("cosmos.distribution.v1beta1.{}", Self::NAME)
983    }
984}
985include!("cosmos.distribution.v1beta1.serde.rs");
986include!("cosmos.distribution.v1beta1.tonic.rs");
987// @@protoc_insertion_point(module)