cosmos_sdk_proto/prost/cosmos-sdk/
cosmos.gov.v1.rs

1// @generated
2/// WeightedVoteOption defines a unit of vote for vote split.
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct WeightedVoteOption {
6    /// option defines the valid vote options, it must not contain duplicate vote options.
7    #[prost(enumeration = "VoteOption", tag = "1")]
8    pub option: i32,
9    /// weight is the vote weight associated with the vote option.
10    #[prost(string, tag = "2")]
11    pub weight: ::prost::alloc::string::String,
12}
13impl ::prost::Name for WeightedVoteOption {
14    const NAME: &'static str = "WeightedVoteOption";
15    const PACKAGE: &'static str = "cosmos.gov.v1";
16    fn full_name() -> ::prost::alloc::string::String {
17        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
18    }
19}
20/// Deposit defines an amount deposited by an account address to an active
21/// proposal.
22#[allow(clippy::derive_partial_eq_without_eq)]
23#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct Deposit {
25    /// proposal_id defines the unique id of the proposal.
26    #[prost(uint64, tag = "1")]
27    pub proposal_id: u64,
28    /// depositor defines the deposit addresses from the proposals.
29    #[prost(string, tag = "2")]
30    pub depositor: ::prost::alloc::string::String,
31    /// amount to be deposited by depositor.
32    #[prost(message, repeated, tag = "3")]
33    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
34}
35impl ::prost::Name for Deposit {
36    const NAME: &'static str = "Deposit";
37    const PACKAGE: &'static str = "cosmos.gov.v1";
38    fn full_name() -> ::prost::alloc::string::String {
39        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
40    }
41}
42/// Proposal defines the core field members of a governance proposal.
43#[allow(clippy::derive_partial_eq_without_eq)]
44#[derive(Clone, PartialEq, ::prost::Message)]
45pub struct Proposal {
46    /// id defines the unique id of the proposal.
47    #[prost(uint64, tag = "1")]
48    pub id: u64,
49    /// messages are the arbitrary messages to be executed if the proposal passes.
50    #[prost(message, repeated, tag = "2")]
51    pub messages: ::prost::alloc::vec::Vec<::tendermint_proto::google::protobuf::Any>,
52    /// status defines the proposal status.
53    #[prost(enumeration = "ProposalStatus", tag = "3")]
54    pub status: i32,
55    /// final_tally_result is the final tally result of the proposal. When
56    /// querying a proposal via gRPC, this field is not populated until the
57    /// proposal's voting period has ended.
58    #[prost(message, optional, tag = "4")]
59    pub final_tally_result: ::core::option::Option<TallyResult>,
60    /// submit_time is the time of proposal submission.
61    #[prost(message, optional, tag = "5")]
62    pub submit_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
63    /// deposit_end_time is the end time for deposition.
64    #[prost(message, optional, tag = "6")]
65    pub deposit_end_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
66    /// total_deposit is the total deposit on the proposal.
67    #[prost(message, repeated, tag = "7")]
68    pub total_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
69    /// voting_start_time is the starting time to vote on a proposal.
70    #[prost(message, optional, tag = "8")]
71    pub voting_start_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
72    /// voting_end_time is the end time of voting on a proposal.
73    #[prost(message, optional, tag = "9")]
74    pub voting_end_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
75    /// metadata is any arbitrary metadata attached to the proposal.
76    /// the recommended format of the metadata is to be found here:
77    /// <https://docs.cosmos.network/v0.47/modules/gov#proposal-3>
78    #[prost(string, tag = "10")]
79    pub metadata: ::prost::alloc::string::String,
80    /// title is the title of the proposal
81    ///
82    /// Since: cosmos-sdk 0.47
83    #[prost(string, tag = "11")]
84    pub title: ::prost::alloc::string::String,
85    /// summary is a short summary of the proposal
86    ///
87    /// Since: cosmos-sdk 0.47
88    #[prost(string, tag = "12")]
89    pub summary: ::prost::alloc::string::String,
90    /// proposer is the address of the proposal sumbitter
91    ///
92    /// Since: cosmos-sdk 0.47
93    #[prost(string, tag = "13")]
94    pub proposer: ::prost::alloc::string::String,
95    /// expedited defines if the proposal is expedited
96    ///
97    /// Since: cosmos-sdk 0.50
98    #[prost(bool, tag = "14")]
99    pub expedited: bool,
100    /// failed_reason defines the reason why the proposal failed
101    ///
102    /// Since: cosmos-sdk 0.50
103    #[prost(string, tag = "15")]
104    pub failed_reason: ::prost::alloc::string::String,
105}
106impl ::prost::Name for Proposal {
107    const NAME: &'static str = "Proposal";
108    const PACKAGE: &'static str = "cosmos.gov.v1";
109    fn full_name() -> ::prost::alloc::string::String {
110        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
111    }
112}
113/// TallyResult defines a standard tally for a governance proposal.
114#[allow(clippy::derive_partial_eq_without_eq)]
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct TallyResult {
117    /// yes_count is the number of yes votes on a proposal.
118    #[prost(string, tag = "1")]
119    pub yes_count: ::prost::alloc::string::String,
120    /// abstain_count is the number of abstain votes on a proposal.
121    #[prost(string, tag = "2")]
122    pub abstain_count: ::prost::alloc::string::String,
123    /// no_count is the number of no votes on a proposal.
124    #[prost(string, tag = "3")]
125    pub no_count: ::prost::alloc::string::String,
126    /// no_with_veto_count is the number of no with veto votes on a proposal.
127    #[prost(string, tag = "4")]
128    pub no_with_veto_count: ::prost::alloc::string::String,
129}
130impl ::prost::Name for TallyResult {
131    const NAME: &'static str = "TallyResult";
132    const PACKAGE: &'static str = "cosmos.gov.v1";
133    fn full_name() -> ::prost::alloc::string::String {
134        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
135    }
136}
137/// Vote defines a vote on a governance proposal.
138/// A Vote consists of a proposal ID, the voter, and the vote option.
139#[allow(clippy::derive_partial_eq_without_eq)]
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct Vote {
142    /// proposal_id defines the unique id of the proposal.
143    #[prost(uint64, tag = "1")]
144    pub proposal_id: u64,
145    /// voter is the voter address of the proposal.
146    #[prost(string, tag = "2")]
147    pub voter: ::prost::alloc::string::String,
148    /// options is the weighted vote options.
149    #[prost(message, repeated, tag = "4")]
150    pub options: ::prost::alloc::vec::Vec<WeightedVoteOption>,
151    /// metadata is any arbitrary metadata attached to the vote.
152    /// the recommended format of the metadata is to be found here: <https://docs.cosmos.network/v0.47/modules/gov#vote-5>
153    #[prost(string, tag = "5")]
154    pub metadata: ::prost::alloc::string::String,
155}
156impl ::prost::Name for Vote {
157    const NAME: &'static str = "Vote";
158    const PACKAGE: &'static str = "cosmos.gov.v1";
159    fn full_name() -> ::prost::alloc::string::String {
160        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
161    }
162}
163/// DepositParams defines the params for deposits on governance proposals.
164#[allow(clippy::derive_partial_eq_without_eq)]
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct DepositParams {
167    /// Minimum deposit for a proposal to enter voting period.
168    #[prost(message, repeated, tag = "1")]
169    pub min_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
170    /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2
171    /// months.
172    #[prost(message, optional, tag = "2")]
173    pub max_deposit_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
174}
175impl ::prost::Name for DepositParams {
176    const NAME: &'static str = "DepositParams";
177    const PACKAGE: &'static str = "cosmos.gov.v1";
178    fn full_name() -> ::prost::alloc::string::String {
179        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
180    }
181}
182/// VotingParams defines the params for voting on governance proposals.
183#[allow(clippy::derive_partial_eq_without_eq)]
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct VotingParams {
186    /// Duration of the voting period.
187    #[prost(message, optional, tag = "1")]
188    pub voting_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
189}
190impl ::prost::Name for VotingParams {
191    const NAME: &'static str = "VotingParams";
192    const PACKAGE: &'static str = "cosmos.gov.v1";
193    fn full_name() -> ::prost::alloc::string::String {
194        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
195    }
196}
197/// TallyParams defines the params for tallying votes on governance proposals.
198#[allow(clippy::derive_partial_eq_without_eq)]
199#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct TallyParams {
201    /// Minimum percentage of total stake needed to vote for a result to be
202    /// considered valid.
203    #[prost(string, tag = "1")]
204    pub quorum: ::prost::alloc::string::String,
205    /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
206    #[prost(string, tag = "2")]
207    pub threshold: ::prost::alloc::string::String,
208    /// Minimum value of Veto votes to Total votes ratio for proposal to be
209    /// vetoed. Default value: 1/3.
210    #[prost(string, tag = "3")]
211    pub veto_threshold: ::prost::alloc::string::String,
212}
213impl ::prost::Name for TallyParams {
214    const NAME: &'static str = "TallyParams";
215    const PACKAGE: &'static str = "cosmos.gov.v1";
216    fn full_name() -> ::prost::alloc::string::String {
217        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
218    }
219}
220/// Params defines the parameters for the x/gov module.
221///
222/// Since: cosmos-sdk 0.47
223#[allow(clippy::derive_partial_eq_without_eq)]
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct Params {
226    /// Minimum deposit for a proposal to enter voting period.
227    #[prost(message, repeated, tag = "1")]
228    pub min_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
229    /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2
230    /// months.
231    #[prost(message, optional, tag = "2")]
232    pub max_deposit_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
233    /// Duration of the voting period.
234    #[prost(message, optional, tag = "3")]
235    pub voting_period: ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
236    ///   Minimum percentage of total stake needed to vote for a result to be
237    ///   considered valid.
238    #[prost(string, tag = "4")]
239    pub quorum: ::prost::alloc::string::String,
240    ///   Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
241    #[prost(string, tag = "5")]
242    pub threshold: ::prost::alloc::string::String,
243    ///   Minimum value of Veto votes to Total votes ratio for proposal to be
244    ///   vetoed. Default value: 1/3.
245    #[prost(string, tag = "6")]
246    pub veto_threshold: ::prost::alloc::string::String,
247    ///   The ratio representing the proportion of the deposit value that must be paid at proposal submission.
248    #[prost(string, tag = "7")]
249    pub min_initial_deposit_ratio: ::prost::alloc::string::String,
250    /// The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.
251    ///
252    /// Since: cosmos-sdk 0.50
253    #[prost(string, tag = "8")]
254    pub proposal_cancel_ratio: ::prost::alloc::string::String,
255    /// The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.
256    /// If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.
257    ///
258    /// Since: cosmos-sdk 0.50
259    #[prost(string, tag = "9")]
260    pub proposal_cancel_dest: ::prost::alloc::string::String,
261    /// Duration of the voting period of an expedited proposal.
262    ///
263    /// Since: cosmos-sdk 0.50
264    #[prost(message, optional, tag = "10")]
265    pub expedited_voting_period:
266        ::core::option::Option<::tendermint_proto::google::protobuf::Duration>,
267    /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.
268    ///
269    /// Since: cosmos-sdk 0.50
270    #[prost(string, tag = "11")]
271    pub expedited_threshold: ::prost::alloc::string::String,
272    ///   Minimum expedited deposit for a proposal to enter voting period.
273    #[prost(message, repeated, tag = "12")]
274    pub expedited_min_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
275    /// burn deposits if a proposal does not meet quorum
276    #[prost(bool, tag = "13")]
277    pub burn_vote_quorum: bool,
278    /// burn deposits if the proposal does not enter voting period
279    #[prost(bool, tag = "14")]
280    pub burn_proposal_deposit_prevote: bool,
281    /// burn deposits if quorum with vote type no_veto is met
282    #[prost(bool, tag = "15")]
283    pub burn_vote_veto: bool,
284    /// The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.
285    /// Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be
286    /// required.
287    ///
288    /// Since: cosmos-sdk 0.50
289    #[prost(string, tag = "16")]
290    pub min_deposit_ratio: ::prost::alloc::string::String,
291}
292impl ::prost::Name for Params {
293    const NAME: &'static str = "Params";
294    const PACKAGE: &'static str = "cosmos.gov.v1";
295    fn full_name() -> ::prost::alloc::string::String {
296        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
297    }
298}
299/// VoteOption enumerates the valid vote options for a given governance proposal.
300#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
301#[repr(i32)]
302pub enum VoteOption {
303    /// VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
304    Unspecified = 0,
305    /// VOTE_OPTION_YES defines a yes vote option.
306    Yes = 1,
307    /// VOTE_OPTION_ABSTAIN defines an abstain vote option.
308    Abstain = 2,
309    /// VOTE_OPTION_NO defines a no vote option.
310    No = 3,
311    /// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
312    NoWithVeto = 4,
313}
314impl VoteOption {
315    /// String value of the enum field names used in the ProtoBuf definition.
316    ///
317    /// The values are not transformed in any way and thus are considered stable
318    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
319    pub fn as_str_name(&self) -> &'static str {
320        match self {
321            VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED",
322            VoteOption::Yes => "VOTE_OPTION_YES",
323            VoteOption::Abstain => "VOTE_OPTION_ABSTAIN",
324            VoteOption::No => "VOTE_OPTION_NO",
325            VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO",
326        }
327    }
328    /// Creates an enum from field names used in the ProtoBuf definition.
329    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
330        match value {
331            "VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified),
332            "VOTE_OPTION_YES" => Some(Self::Yes),
333            "VOTE_OPTION_ABSTAIN" => Some(Self::Abstain),
334            "VOTE_OPTION_NO" => Some(Self::No),
335            "VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto),
336            _ => None,
337        }
338    }
339}
340/// ProposalStatus enumerates the valid statuses of a proposal.
341#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
342#[repr(i32)]
343pub enum ProposalStatus {
344    /// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.
345    Unspecified = 0,
346    /// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
347    /// period.
348    DepositPeriod = 1,
349    /// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
350    /// period.
351    VotingPeriod = 2,
352    /// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
353    /// passed.
354    Passed = 3,
355    /// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
356    /// been rejected.
357    Rejected = 4,
358    /// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
359    /// failed.
360    Failed = 5,
361}
362impl ProposalStatus {
363    /// String value of the enum field names used in the ProtoBuf definition.
364    ///
365    /// The values are not transformed in any way and thus are considered stable
366    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
367    pub fn as_str_name(&self) -> &'static str {
368        match self {
369            ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED",
370            ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD",
371            ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD",
372            ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED",
373            ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED",
374            ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED",
375        }
376    }
377    /// Creates an enum from field names used in the ProtoBuf definition.
378    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
379        match value {
380            "PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
381            "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Some(Self::DepositPeriod),
382            "PROPOSAL_STATUS_VOTING_PERIOD" => Some(Self::VotingPeriod),
383            "PROPOSAL_STATUS_PASSED" => Some(Self::Passed),
384            "PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected),
385            "PROPOSAL_STATUS_FAILED" => Some(Self::Failed),
386            _ => None,
387        }
388    }
389}
390/// GenesisState defines the gov module's genesis state.
391#[allow(clippy::derive_partial_eq_without_eq)]
392#[derive(Clone, PartialEq, ::prost::Message)]
393pub struct GenesisState {
394    /// starting_proposal_id is the ID of the starting proposal.
395    #[prost(uint64, tag = "1")]
396    pub starting_proposal_id: u64,
397    /// deposits defines all the deposits present at genesis.
398    #[prost(message, repeated, tag = "2")]
399    pub deposits: ::prost::alloc::vec::Vec<Deposit>,
400    /// votes defines all the votes present at genesis.
401    #[prost(message, repeated, tag = "3")]
402    pub votes: ::prost::alloc::vec::Vec<Vote>,
403    /// proposals defines all the proposals present at genesis.
404    #[prost(message, repeated, tag = "4")]
405    pub proposals: ::prost::alloc::vec::Vec<Proposal>,
406    /// Deprecated: Prefer to use `params` instead.
407    /// deposit_params defines all the paramaters of related to deposit.
408    #[deprecated]
409    #[prost(message, optional, tag = "5")]
410    pub deposit_params: ::core::option::Option<DepositParams>,
411    /// Deprecated: Prefer to use `params` instead.
412    /// voting_params defines all the paramaters of related to voting.
413    #[deprecated]
414    #[prost(message, optional, tag = "6")]
415    pub voting_params: ::core::option::Option<VotingParams>,
416    /// Deprecated: Prefer to use `params` instead.
417    /// tally_params defines all the paramaters of related to tally.
418    #[deprecated]
419    #[prost(message, optional, tag = "7")]
420    pub tally_params: ::core::option::Option<TallyParams>,
421    /// params defines all the paramaters of x/gov module.
422    ///
423    /// Since: cosmos-sdk 0.47
424    #[prost(message, optional, tag = "8")]
425    pub params: ::core::option::Option<Params>,
426    /// The constitution allows builders to lay a foundation and define purpose.
427    /// This is an immutable string set in genesis.
428    /// There are no amendments, to go outside of scope, just fork.
429    /// constitution is an immutable string in genesis for a chain builder to lay out their vision, ideas and ideals.
430    ///
431    /// Since: cosmos-sdk 0.50
432    #[prost(string, tag = "9")]
433    pub constitution: ::prost::alloc::string::String,
434}
435impl ::prost::Name for GenesisState {
436    const NAME: &'static str = "GenesisState";
437    const PACKAGE: &'static str = "cosmos.gov.v1";
438    fn full_name() -> ::prost::alloc::string::String {
439        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
440    }
441}
442/// QueryConstitutionRequest is the request type for the Query/Constitution RPC method
443#[allow(clippy::derive_partial_eq_without_eq)]
444#[derive(Clone, PartialEq, ::prost::Message)]
445pub struct QueryConstitutionRequest {}
446impl ::prost::Name for QueryConstitutionRequest {
447    const NAME: &'static str = "QueryConstitutionRequest";
448    const PACKAGE: &'static str = "cosmos.gov.v1";
449    fn full_name() -> ::prost::alloc::string::String {
450        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
451    }
452}
453/// QueryConstitutionResponse is the response type for the Query/Constitution RPC method
454#[allow(clippy::derive_partial_eq_without_eq)]
455#[derive(Clone, PartialEq, ::prost::Message)]
456pub struct QueryConstitutionResponse {
457    #[prost(string, tag = "1")]
458    pub constitution: ::prost::alloc::string::String,
459}
460impl ::prost::Name for QueryConstitutionResponse {
461    const NAME: &'static str = "QueryConstitutionResponse";
462    const PACKAGE: &'static str = "cosmos.gov.v1";
463    fn full_name() -> ::prost::alloc::string::String {
464        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
465    }
466}
467/// QueryProposalRequest is the request type for the Query/Proposal RPC method.
468#[allow(clippy::derive_partial_eq_without_eq)]
469#[derive(Clone, PartialEq, ::prost::Message)]
470pub struct QueryProposalRequest {
471    /// proposal_id defines the unique id of the proposal.
472    #[prost(uint64, tag = "1")]
473    pub proposal_id: u64,
474}
475impl ::prost::Name for QueryProposalRequest {
476    const NAME: &'static str = "QueryProposalRequest";
477    const PACKAGE: &'static str = "cosmos.gov.v1";
478    fn full_name() -> ::prost::alloc::string::String {
479        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
480    }
481}
482/// QueryProposalResponse is the response type for the Query/Proposal RPC method.
483#[allow(clippy::derive_partial_eq_without_eq)]
484#[derive(Clone, PartialEq, ::prost::Message)]
485pub struct QueryProposalResponse {
486    /// proposal is the requested governance proposal.
487    #[prost(message, optional, tag = "1")]
488    pub proposal: ::core::option::Option<Proposal>,
489}
490impl ::prost::Name for QueryProposalResponse {
491    const NAME: &'static str = "QueryProposalResponse";
492    const PACKAGE: &'static str = "cosmos.gov.v1";
493    fn full_name() -> ::prost::alloc::string::String {
494        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
495    }
496}
497/// QueryProposalsRequest is the request type for the Query/Proposals RPC method.
498#[allow(clippy::derive_partial_eq_without_eq)]
499#[derive(Clone, PartialEq, ::prost::Message)]
500pub struct QueryProposalsRequest {
501    /// proposal_status defines the status of the proposals.
502    #[prost(enumeration = "ProposalStatus", tag = "1")]
503    pub proposal_status: i32,
504    /// voter defines the voter address for the proposals.
505    #[prost(string, tag = "2")]
506    pub voter: ::prost::alloc::string::String,
507    /// depositor defines the deposit addresses from the proposals.
508    #[prost(string, tag = "3")]
509    pub depositor: ::prost::alloc::string::String,
510    /// pagination defines an optional pagination for the request.
511    #[prost(message, optional, tag = "4")]
512    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
513}
514impl ::prost::Name for QueryProposalsRequest {
515    const NAME: &'static str = "QueryProposalsRequest";
516    const PACKAGE: &'static str = "cosmos.gov.v1";
517    fn full_name() -> ::prost::alloc::string::String {
518        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
519    }
520}
521/// QueryProposalsResponse is the response type for the Query/Proposals RPC
522/// method.
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct QueryProposalsResponse {
526    /// proposals defines all the requested governance proposals.
527    #[prost(message, repeated, tag = "1")]
528    pub proposals: ::prost::alloc::vec::Vec<Proposal>,
529    /// pagination defines the pagination in the response.
530    #[prost(message, optional, tag = "2")]
531    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
532}
533impl ::prost::Name for QueryProposalsResponse {
534    const NAME: &'static str = "QueryProposalsResponse";
535    const PACKAGE: &'static str = "cosmos.gov.v1";
536    fn full_name() -> ::prost::alloc::string::String {
537        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
538    }
539}
540/// QueryVoteRequest is the request type for the Query/Vote RPC method.
541#[allow(clippy::derive_partial_eq_without_eq)]
542#[derive(Clone, PartialEq, ::prost::Message)]
543pub struct QueryVoteRequest {
544    /// proposal_id defines the unique id of the proposal.
545    #[prost(uint64, tag = "1")]
546    pub proposal_id: u64,
547    /// voter defines the voter address for the proposals.
548    #[prost(string, tag = "2")]
549    pub voter: ::prost::alloc::string::String,
550}
551impl ::prost::Name for QueryVoteRequest {
552    const NAME: &'static str = "QueryVoteRequest";
553    const PACKAGE: &'static str = "cosmos.gov.v1";
554    fn full_name() -> ::prost::alloc::string::String {
555        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
556    }
557}
558/// QueryVoteResponse is the response type for the Query/Vote RPC method.
559#[allow(clippy::derive_partial_eq_without_eq)]
560#[derive(Clone, PartialEq, ::prost::Message)]
561pub struct QueryVoteResponse {
562    /// vote defines the queried vote.
563    #[prost(message, optional, tag = "1")]
564    pub vote: ::core::option::Option<Vote>,
565}
566impl ::prost::Name for QueryVoteResponse {
567    const NAME: &'static str = "QueryVoteResponse";
568    const PACKAGE: &'static str = "cosmos.gov.v1";
569    fn full_name() -> ::prost::alloc::string::String {
570        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
571    }
572}
573/// QueryVotesRequest is the request type for the Query/Votes RPC method.
574#[allow(clippy::derive_partial_eq_without_eq)]
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct QueryVotesRequest {
577    /// proposal_id defines the unique id of the proposal.
578    #[prost(uint64, tag = "1")]
579    pub proposal_id: u64,
580    /// pagination defines an optional pagination for the request.
581    #[prost(message, optional, tag = "2")]
582    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
583}
584impl ::prost::Name for QueryVotesRequest {
585    const NAME: &'static str = "QueryVotesRequest";
586    const PACKAGE: &'static str = "cosmos.gov.v1";
587    fn full_name() -> ::prost::alloc::string::String {
588        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
589    }
590}
591/// QueryVotesResponse is the response type for the Query/Votes RPC method.
592#[allow(clippy::derive_partial_eq_without_eq)]
593#[derive(Clone, PartialEq, ::prost::Message)]
594pub struct QueryVotesResponse {
595    /// votes defines the queried votes.
596    #[prost(message, repeated, tag = "1")]
597    pub votes: ::prost::alloc::vec::Vec<Vote>,
598    /// pagination defines the pagination in the response.
599    #[prost(message, optional, tag = "2")]
600    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
601}
602impl ::prost::Name for QueryVotesResponse {
603    const NAME: &'static str = "QueryVotesResponse";
604    const PACKAGE: &'static str = "cosmos.gov.v1";
605    fn full_name() -> ::prost::alloc::string::String {
606        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
607    }
608}
609/// QueryParamsRequest is the request type for the Query/Params RPC method.
610#[allow(clippy::derive_partial_eq_without_eq)]
611#[derive(Clone, PartialEq, ::prost::Message)]
612pub struct QueryParamsRequest {
613    /// params_type defines which parameters to query for, can be one of "voting",
614    /// "tallying" or "deposit".
615    #[prost(string, tag = "1")]
616    pub params_type: ::prost::alloc::string::String,
617}
618impl ::prost::Name for QueryParamsRequest {
619    const NAME: &'static str = "QueryParamsRequest";
620    const PACKAGE: &'static str = "cosmos.gov.v1";
621    fn full_name() -> ::prost::alloc::string::String {
622        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
623    }
624}
625/// QueryParamsResponse is the response type for the Query/Params RPC method.
626#[allow(clippy::derive_partial_eq_without_eq)]
627#[derive(Clone, PartialEq, ::prost::Message)]
628pub struct QueryParamsResponse {
629    /// Deprecated: Prefer to use `params` instead.
630    /// voting_params defines the parameters related to voting.
631    #[deprecated]
632    #[prost(message, optional, tag = "1")]
633    pub voting_params: ::core::option::Option<VotingParams>,
634    /// Deprecated: Prefer to use `params` instead.
635    /// deposit_params defines the parameters related to deposit.
636    #[deprecated]
637    #[prost(message, optional, tag = "2")]
638    pub deposit_params: ::core::option::Option<DepositParams>,
639    /// Deprecated: Prefer to use `params` instead.
640    /// tally_params defines the parameters related to tally.
641    #[deprecated]
642    #[prost(message, optional, tag = "3")]
643    pub tally_params: ::core::option::Option<TallyParams>,
644    /// params defines all the paramaters of x/gov module.
645    ///
646    /// Since: cosmos-sdk 0.47
647    #[prost(message, optional, tag = "4")]
648    pub params: ::core::option::Option<Params>,
649}
650impl ::prost::Name for QueryParamsResponse {
651    const NAME: &'static str = "QueryParamsResponse";
652    const PACKAGE: &'static str = "cosmos.gov.v1";
653    fn full_name() -> ::prost::alloc::string::String {
654        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
655    }
656}
657/// QueryDepositRequest is the request type for the Query/Deposit RPC method.
658#[allow(clippy::derive_partial_eq_without_eq)]
659#[derive(Clone, PartialEq, ::prost::Message)]
660pub struct QueryDepositRequest {
661    /// proposal_id defines the unique id of the proposal.
662    #[prost(uint64, tag = "1")]
663    pub proposal_id: u64,
664    /// depositor defines the deposit addresses from the proposals.
665    #[prost(string, tag = "2")]
666    pub depositor: ::prost::alloc::string::String,
667}
668impl ::prost::Name for QueryDepositRequest {
669    const NAME: &'static str = "QueryDepositRequest";
670    const PACKAGE: &'static str = "cosmos.gov.v1";
671    fn full_name() -> ::prost::alloc::string::String {
672        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
673    }
674}
675/// QueryDepositResponse is the response type for the Query/Deposit RPC method.
676#[allow(clippy::derive_partial_eq_without_eq)]
677#[derive(Clone, PartialEq, ::prost::Message)]
678pub struct QueryDepositResponse {
679    /// deposit defines the requested deposit.
680    #[prost(message, optional, tag = "1")]
681    pub deposit: ::core::option::Option<Deposit>,
682}
683impl ::prost::Name for QueryDepositResponse {
684    const NAME: &'static str = "QueryDepositResponse";
685    const PACKAGE: &'static str = "cosmos.gov.v1";
686    fn full_name() -> ::prost::alloc::string::String {
687        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
688    }
689}
690/// QueryDepositsRequest is the request type for the Query/Deposits RPC method.
691#[allow(clippy::derive_partial_eq_without_eq)]
692#[derive(Clone, PartialEq, ::prost::Message)]
693pub struct QueryDepositsRequest {
694    /// proposal_id defines the unique id of the proposal.
695    #[prost(uint64, tag = "1")]
696    pub proposal_id: u64,
697    /// pagination defines an optional pagination for the request.
698    #[prost(message, optional, tag = "2")]
699    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
700}
701impl ::prost::Name for QueryDepositsRequest {
702    const NAME: &'static str = "QueryDepositsRequest";
703    const PACKAGE: &'static str = "cosmos.gov.v1";
704    fn full_name() -> ::prost::alloc::string::String {
705        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
706    }
707}
708/// QueryDepositsResponse is the response type for the Query/Deposits RPC method.
709#[allow(clippy::derive_partial_eq_without_eq)]
710#[derive(Clone, PartialEq, ::prost::Message)]
711pub struct QueryDepositsResponse {
712    /// deposits defines the requested deposits.
713    #[prost(message, repeated, tag = "1")]
714    pub deposits: ::prost::alloc::vec::Vec<Deposit>,
715    /// pagination defines the pagination in the response.
716    #[prost(message, optional, tag = "2")]
717    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
718}
719impl ::prost::Name for QueryDepositsResponse {
720    const NAME: &'static str = "QueryDepositsResponse";
721    const PACKAGE: &'static str = "cosmos.gov.v1";
722    fn full_name() -> ::prost::alloc::string::String {
723        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
724    }
725}
726/// QueryTallyResultRequest is the request type for the Query/Tally RPC method.
727#[allow(clippy::derive_partial_eq_without_eq)]
728#[derive(Clone, PartialEq, ::prost::Message)]
729pub struct QueryTallyResultRequest {
730    /// proposal_id defines the unique id of the proposal.
731    #[prost(uint64, tag = "1")]
732    pub proposal_id: u64,
733}
734impl ::prost::Name for QueryTallyResultRequest {
735    const NAME: &'static str = "QueryTallyResultRequest";
736    const PACKAGE: &'static str = "cosmos.gov.v1";
737    fn full_name() -> ::prost::alloc::string::String {
738        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
739    }
740}
741/// QueryTallyResultResponse is the response type for the Query/Tally RPC method.
742#[allow(clippy::derive_partial_eq_without_eq)]
743#[derive(Clone, PartialEq, ::prost::Message)]
744pub struct QueryTallyResultResponse {
745    /// tally defines the requested tally.
746    #[prost(message, optional, tag = "1")]
747    pub tally: ::core::option::Option<TallyResult>,
748}
749impl ::prost::Name for QueryTallyResultResponse {
750    const NAME: &'static str = "QueryTallyResultResponse";
751    const PACKAGE: &'static str = "cosmos.gov.v1";
752    fn full_name() -> ::prost::alloc::string::String {
753        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
754    }
755}
756/// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
757/// proposal Content.
758#[allow(clippy::derive_partial_eq_without_eq)]
759#[derive(Clone, PartialEq, ::prost::Message)]
760pub struct MsgSubmitProposal {
761    /// messages are the arbitrary messages to be executed if proposal passes.
762    #[prost(message, repeated, tag = "1")]
763    pub messages: ::prost::alloc::vec::Vec<::tendermint_proto::google::protobuf::Any>,
764    /// initial_deposit is the deposit value that must be paid at proposal submission.
765    #[prost(message, repeated, tag = "2")]
766    pub initial_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
767    /// proposer is the account address of the proposer.
768    #[prost(string, tag = "3")]
769    pub proposer: ::prost::alloc::string::String,
770    /// metadata is any arbitrary metadata attached to the proposal.
771    #[prost(string, tag = "4")]
772    pub metadata: ::prost::alloc::string::String,
773    /// title is the title of the proposal.
774    ///
775    /// Since: cosmos-sdk 0.47
776    #[prost(string, tag = "5")]
777    pub title: ::prost::alloc::string::String,
778    /// summary is the summary of the proposal
779    ///
780    /// Since: cosmos-sdk 0.47
781    #[prost(string, tag = "6")]
782    pub summary: ::prost::alloc::string::String,
783    /// expedited defines if the proposal is expedited or not
784    ///
785    /// Since: cosmos-sdk 0.50
786    #[prost(bool, tag = "7")]
787    pub expedited: bool,
788}
789impl ::prost::Name for MsgSubmitProposal {
790    const NAME: &'static str = "MsgSubmitProposal";
791    const PACKAGE: &'static str = "cosmos.gov.v1";
792    fn full_name() -> ::prost::alloc::string::String {
793        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
794    }
795}
796/// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.
797#[allow(clippy::derive_partial_eq_without_eq)]
798#[derive(Clone, PartialEq, ::prost::Message)]
799pub struct MsgSubmitProposalResponse {
800    /// proposal_id defines the unique id of the proposal.
801    #[prost(uint64, tag = "1")]
802    pub proposal_id: u64,
803}
804impl ::prost::Name for MsgSubmitProposalResponse {
805    const NAME: &'static str = "MsgSubmitProposalResponse";
806    const PACKAGE: &'static str = "cosmos.gov.v1";
807    fn full_name() -> ::prost::alloc::string::String {
808        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
809    }
810}
811/// MsgExecLegacyContent is used to wrap the legacy content field into a message.
812/// This ensures backwards compatibility with v1beta1.MsgSubmitProposal.
813#[allow(clippy::derive_partial_eq_without_eq)]
814#[derive(Clone, PartialEq, ::prost::Message)]
815pub struct MsgExecLegacyContent {
816    /// content is the proposal's content.
817    #[prost(message, optional, tag = "1")]
818    pub content: ::core::option::Option<::tendermint_proto::google::protobuf::Any>,
819    /// authority must be the gov module address.
820    #[prost(string, tag = "2")]
821    pub authority: ::prost::alloc::string::String,
822}
823impl ::prost::Name for MsgExecLegacyContent {
824    const NAME: &'static str = "MsgExecLegacyContent";
825    const PACKAGE: &'static str = "cosmos.gov.v1";
826    fn full_name() -> ::prost::alloc::string::String {
827        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
828    }
829}
830/// MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type.
831#[allow(clippy::derive_partial_eq_without_eq)]
832#[derive(Clone, PartialEq, ::prost::Message)]
833pub struct MsgExecLegacyContentResponse {}
834impl ::prost::Name for MsgExecLegacyContentResponse {
835    const NAME: &'static str = "MsgExecLegacyContentResponse";
836    const PACKAGE: &'static str = "cosmos.gov.v1";
837    fn full_name() -> ::prost::alloc::string::String {
838        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
839    }
840}
841/// MsgVote defines a message to cast a vote.
842#[allow(clippy::derive_partial_eq_without_eq)]
843#[derive(Clone, PartialEq, ::prost::Message)]
844pub struct MsgVote {
845    /// proposal_id defines the unique id of the proposal.
846    #[prost(uint64, tag = "1")]
847    pub proposal_id: u64,
848    /// voter is the voter address for the proposal.
849    #[prost(string, tag = "2")]
850    pub voter: ::prost::alloc::string::String,
851    /// option defines the vote option.
852    #[prost(enumeration = "VoteOption", tag = "3")]
853    pub option: i32,
854    /// metadata is any arbitrary metadata attached to the Vote.
855    #[prost(string, tag = "4")]
856    pub metadata: ::prost::alloc::string::String,
857}
858impl ::prost::Name for MsgVote {
859    const NAME: &'static str = "MsgVote";
860    const PACKAGE: &'static str = "cosmos.gov.v1";
861    fn full_name() -> ::prost::alloc::string::String {
862        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
863    }
864}
865/// MsgVoteResponse defines the Msg/Vote response type.
866#[allow(clippy::derive_partial_eq_without_eq)]
867#[derive(Clone, PartialEq, ::prost::Message)]
868pub struct MsgVoteResponse {}
869impl ::prost::Name for MsgVoteResponse {
870    const NAME: &'static str = "MsgVoteResponse";
871    const PACKAGE: &'static str = "cosmos.gov.v1";
872    fn full_name() -> ::prost::alloc::string::String {
873        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
874    }
875}
876/// MsgVoteWeighted defines a message to cast a vote.
877#[allow(clippy::derive_partial_eq_without_eq)]
878#[derive(Clone, PartialEq, ::prost::Message)]
879pub struct MsgVoteWeighted {
880    /// proposal_id defines the unique id of the proposal.
881    #[prost(uint64, tag = "1")]
882    pub proposal_id: u64,
883    /// voter is the voter address for the proposal.
884    #[prost(string, tag = "2")]
885    pub voter: ::prost::alloc::string::String,
886    /// options defines the weighted vote options.
887    #[prost(message, repeated, tag = "3")]
888    pub options: ::prost::alloc::vec::Vec<WeightedVoteOption>,
889    /// metadata is any arbitrary metadata attached to the VoteWeighted.
890    #[prost(string, tag = "4")]
891    pub metadata: ::prost::alloc::string::String,
892}
893impl ::prost::Name for MsgVoteWeighted {
894    const NAME: &'static str = "MsgVoteWeighted";
895    const PACKAGE: &'static str = "cosmos.gov.v1";
896    fn full_name() -> ::prost::alloc::string::String {
897        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
898    }
899}
900/// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
901#[allow(clippy::derive_partial_eq_without_eq)]
902#[derive(Clone, PartialEq, ::prost::Message)]
903pub struct MsgVoteWeightedResponse {}
904impl ::prost::Name for MsgVoteWeightedResponse {
905    const NAME: &'static str = "MsgVoteWeightedResponse";
906    const PACKAGE: &'static str = "cosmos.gov.v1";
907    fn full_name() -> ::prost::alloc::string::String {
908        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
909    }
910}
911/// MsgDeposit defines a message to submit a deposit to an existing proposal.
912#[allow(clippy::derive_partial_eq_without_eq)]
913#[derive(Clone, PartialEq, ::prost::Message)]
914pub struct MsgDeposit {
915    /// proposal_id defines the unique id of the proposal.
916    #[prost(uint64, tag = "1")]
917    pub proposal_id: u64,
918    /// depositor defines the deposit addresses from the proposals.
919    #[prost(string, tag = "2")]
920    pub depositor: ::prost::alloc::string::String,
921    /// amount to be deposited by depositor.
922    #[prost(message, repeated, tag = "3")]
923    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
924}
925impl ::prost::Name for MsgDeposit {
926    const NAME: &'static str = "MsgDeposit";
927    const PACKAGE: &'static str = "cosmos.gov.v1";
928    fn full_name() -> ::prost::alloc::string::String {
929        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
930    }
931}
932/// MsgDepositResponse defines the Msg/Deposit response type.
933#[allow(clippy::derive_partial_eq_without_eq)]
934#[derive(Clone, PartialEq, ::prost::Message)]
935pub struct MsgDepositResponse {}
936impl ::prost::Name for MsgDepositResponse {
937    const NAME: &'static str = "MsgDepositResponse";
938    const PACKAGE: &'static str = "cosmos.gov.v1";
939    fn full_name() -> ::prost::alloc::string::String {
940        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
941    }
942}
943/// MsgUpdateParams is the Msg/UpdateParams request type.
944///
945/// Since: cosmos-sdk 0.47
946#[allow(clippy::derive_partial_eq_without_eq)]
947#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct MsgUpdateParams {
949    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
950    #[prost(string, tag = "1")]
951    pub authority: ::prost::alloc::string::String,
952    /// params defines the x/gov parameters to update.
953    ///
954    /// NOTE: All parameters must be supplied.
955    #[prost(message, optional, tag = "2")]
956    pub params: ::core::option::Option<Params>,
957}
958impl ::prost::Name for MsgUpdateParams {
959    const NAME: &'static str = "MsgUpdateParams";
960    const PACKAGE: &'static str = "cosmos.gov.v1";
961    fn full_name() -> ::prost::alloc::string::String {
962        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
963    }
964}
965/// MsgUpdateParamsResponse defines the response structure for executing a
966/// MsgUpdateParams message.
967///
968/// Since: cosmos-sdk 0.47
969#[allow(clippy::derive_partial_eq_without_eq)]
970#[derive(Clone, PartialEq, ::prost::Message)]
971pub struct MsgUpdateParamsResponse {}
972impl ::prost::Name for MsgUpdateParamsResponse {
973    const NAME: &'static str = "MsgUpdateParamsResponse";
974    const PACKAGE: &'static str = "cosmos.gov.v1";
975    fn full_name() -> ::prost::alloc::string::String {
976        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
977    }
978}
979/// MsgCancelProposal is the Msg/CancelProposal request type.
980///
981/// Since: cosmos-sdk 0.50
982#[allow(clippy::derive_partial_eq_without_eq)]
983#[derive(Clone, PartialEq, ::prost::Message)]
984pub struct MsgCancelProposal {
985    /// proposal_id defines the unique id of the proposal.
986    #[prost(uint64, tag = "1")]
987    pub proposal_id: u64,
988    /// proposer is the account address of the proposer.
989    #[prost(string, tag = "2")]
990    pub proposer: ::prost::alloc::string::String,
991}
992impl ::prost::Name for MsgCancelProposal {
993    const NAME: &'static str = "MsgCancelProposal";
994    const PACKAGE: &'static str = "cosmos.gov.v1";
995    fn full_name() -> ::prost::alloc::string::String {
996        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
997    }
998}
999/// MsgCancelProposalResponse defines the response structure for executing a
1000/// MsgCancelProposal message.
1001///
1002/// Since: cosmos-sdk 0.50
1003#[allow(clippy::derive_partial_eq_without_eq)]
1004#[derive(Clone, PartialEq, ::prost::Message)]
1005pub struct MsgCancelProposalResponse {
1006    /// proposal_id defines the unique id of the proposal.
1007    #[prost(uint64, tag = "1")]
1008    pub proposal_id: u64,
1009    /// canceled_time is the time when proposal is canceled.
1010    #[prost(message, optional, tag = "2")]
1011    pub canceled_time: ::core::option::Option<::tendermint_proto::google::protobuf::Timestamp>,
1012    /// canceled_height defines the block height at which the proposal is canceled.
1013    #[prost(uint64, tag = "3")]
1014    pub canceled_height: u64,
1015}
1016impl ::prost::Name for MsgCancelProposalResponse {
1017    const NAME: &'static str = "MsgCancelProposalResponse";
1018    const PACKAGE: &'static str = "cosmos.gov.v1";
1019    fn full_name() -> ::prost::alloc::string::String {
1020        ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME)
1021    }
1022}
1023include!("cosmos.gov.v1.serde.rs");
1024include!("cosmos.gov.v1.tonic.rs");
1025// @@protoc_insertion_point(module)