elys_std/types/tendermint/
abci.rs

1use elys_std_deriv::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(
4    Clone,
5    PartialEq,
6    Eq,
7    ::prost::Message,
8    ::serde::Serialize,
9    ::serde::Deserialize,
10    ::schemars::JsonSchema,
11    CosmwasmExt,
12)]
13#[proto_message(type_url = "/tendermint.abci.Request")]
14pub struct Request {
15    #[prost(
16        oneof = "request::Value",
17        tags = "1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20"
18    )]
19    pub value: ::core::option::Option<request::Value>,
20}
21/// Nested message and enum types in `Request`.
22pub mod request {
23    use elys_std_deriv::CosmwasmExt;
24    #[allow(clippy::derive_partial_eq_without_eq)]
25    #[derive(
26        Clone,
27        PartialEq,
28        Eq,
29        ::prost::Oneof,
30        ::serde::Serialize,
31        ::serde::Deserialize,
32        ::schemars::JsonSchema,
33    )]
34    pub enum Value {
35        #[prost(message, tag = "1")]
36        Echo(super::RequestEcho),
37        #[prost(message, tag = "2")]
38        Flush(super::RequestFlush),
39        #[prost(message, tag = "3")]
40        Info(super::RequestInfo),
41        #[prost(message, tag = "5")]
42        InitChain(super::RequestInitChain),
43        #[prost(message, tag = "6")]
44        Query(super::RequestQuery),
45        #[prost(message, tag = "8")]
46        CheckTx(super::RequestCheckTx),
47        #[prost(message, tag = "11")]
48        Commit(super::RequestCommit),
49        #[prost(message, tag = "12")]
50        ListSnapshots(super::RequestListSnapshots),
51        #[prost(message, tag = "13")]
52        OfferSnapshot(super::RequestOfferSnapshot),
53        #[prost(message, tag = "14")]
54        LoadSnapshotChunk(super::RequestLoadSnapshotChunk),
55        #[prost(message, tag = "15")]
56        ApplySnapshotChunk(super::RequestApplySnapshotChunk),
57        #[prost(message, tag = "16")]
58        PrepareProposal(super::RequestPrepareProposal),
59        #[prost(message, tag = "17")]
60        ProcessProposal(super::RequestProcessProposal),
61        #[prost(message, tag = "18")]
62        ExtendVote(super::RequestExtendVote),
63        #[prost(message, tag = "19")]
64        VerifyVoteExtension(super::RequestVerifyVoteExtension),
65        #[prost(message, tag = "20")]
66        FinalizeBlock(super::RequestFinalizeBlock),
67    }
68}
69#[allow(clippy::derive_partial_eq_without_eq)]
70#[derive(
71    Clone,
72    PartialEq,
73    Eq,
74    ::prost::Message,
75    ::serde::Serialize,
76    ::serde::Deserialize,
77    ::schemars::JsonSchema,
78    CosmwasmExt,
79)]
80#[proto_message(type_url = "/tendermint.abci.RequestEcho")]
81pub struct RequestEcho {
82    #[prost(string, tag = "1")]
83    pub message: ::prost::alloc::string::String,
84}
85#[allow(clippy::derive_partial_eq_without_eq)]
86#[derive(
87    Clone,
88    PartialEq,
89    Eq,
90    ::prost::Message,
91    ::serde::Serialize,
92    ::serde::Deserialize,
93    ::schemars::JsonSchema,
94    CosmwasmExt,
95)]
96#[proto_message(type_url = "/tendermint.abci.RequestFlush")]
97pub struct RequestFlush {}
98#[allow(clippy::derive_partial_eq_without_eq)]
99#[derive(
100    Clone,
101    PartialEq,
102    Eq,
103    ::prost::Message,
104    ::serde::Serialize,
105    ::serde::Deserialize,
106    ::schemars::JsonSchema,
107    CosmwasmExt,
108)]
109#[proto_message(type_url = "/tendermint.abci.RequestInfo")]
110pub struct RequestInfo {
111    #[prost(string, tag = "1")]
112    pub version: ::prost::alloc::string::String,
113    #[prost(uint64, tag = "2")]
114    #[serde(
115        serialize_with = "crate::serde::as_str::serialize",
116        deserialize_with = "crate::serde::as_str::deserialize"
117    )]
118    pub block_version: u64,
119    #[prost(uint64, tag = "3")]
120    #[serde(
121        serialize_with = "crate::serde::as_str::serialize",
122        deserialize_with = "crate::serde::as_str::deserialize"
123    )]
124    pub p2p_version: u64,
125    #[prost(string, tag = "4")]
126    pub abci_version: ::prost::alloc::string::String,
127}
128#[allow(clippy::derive_partial_eq_without_eq)]
129#[derive(
130    Clone,
131    PartialEq,
132    Eq,
133    ::prost::Message,
134    ::serde::Serialize,
135    ::serde::Deserialize,
136    ::schemars::JsonSchema,
137    CosmwasmExt,
138)]
139#[proto_message(type_url = "/tendermint.abci.RequestInitChain")]
140pub struct RequestInitChain {
141    #[prost(message, optional, tag = "1")]
142    pub time: ::core::option::Option<crate::shim::Timestamp>,
143    #[prost(string, tag = "2")]
144    #[serde(alias = "chainID")]
145    pub chain_id: ::prost::alloc::string::String,
146    #[prost(message, optional, tag = "3")]
147    pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
148    #[prost(message, repeated, tag = "4")]
149    pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
150    #[prost(bytes = "vec", tag = "5")]
151    #[serde(
152        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
153        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
154    )]
155    pub app_state_bytes: ::prost::alloc::vec::Vec<u8>,
156    #[prost(int64, tag = "6")]
157    #[serde(
158        serialize_with = "crate::serde::as_str::serialize",
159        deserialize_with = "crate::serde::as_str::deserialize"
160    )]
161    pub initial_height: i64,
162}
163#[allow(clippy::derive_partial_eq_without_eq)]
164#[derive(
165    Clone,
166    PartialEq,
167    Eq,
168    ::prost::Message,
169    ::serde::Serialize,
170    ::serde::Deserialize,
171    ::schemars::JsonSchema,
172    CosmwasmExt,
173)]
174#[proto_message(type_url = "/tendermint.abci.RequestQuery")]
175pub struct RequestQuery {
176    #[prost(bytes = "vec", tag = "1")]
177    #[serde(
178        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
179        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
180    )]
181    pub data: ::prost::alloc::vec::Vec<u8>,
182    #[prost(string, tag = "2")]
183    pub path: ::prost::alloc::string::String,
184    #[prost(int64, tag = "3")]
185    #[serde(
186        serialize_with = "crate::serde::as_str::serialize",
187        deserialize_with = "crate::serde::as_str::deserialize"
188    )]
189    pub height: i64,
190    #[prost(bool, tag = "4")]
191    pub prove: bool,
192}
193#[allow(clippy::derive_partial_eq_without_eq)]
194#[derive(
195    Clone,
196    PartialEq,
197    Eq,
198    ::prost::Message,
199    ::serde::Serialize,
200    ::serde::Deserialize,
201    ::schemars::JsonSchema,
202    CosmwasmExt,
203)]
204#[proto_message(type_url = "/tendermint.abci.RequestCheckTx")]
205pub struct RequestCheckTx {
206    #[prost(bytes = "vec", tag = "1")]
207    #[serde(
208        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
209        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
210    )]
211    pub tx: ::prost::alloc::vec::Vec<u8>,
212    #[prost(enumeration = "CheckTxType", tag = "2")]
213    #[serde(
214        serialize_with = "crate::serde::as_str::serialize",
215        deserialize_with = "crate::serde::as_str::deserialize"
216    )]
217    pub r#type: i32,
218}
219#[allow(clippy::derive_partial_eq_without_eq)]
220#[derive(
221    Clone,
222    PartialEq,
223    Eq,
224    ::prost::Message,
225    ::serde::Serialize,
226    ::serde::Deserialize,
227    ::schemars::JsonSchema,
228    CosmwasmExt,
229)]
230#[proto_message(type_url = "/tendermint.abci.RequestCommit")]
231pub struct RequestCommit {}
232/// lists available snapshots
233#[allow(clippy::derive_partial_eq_without_eq)]
234#[derive(
235    Clone,
236    PartialEq,
237    Eq,
238    ::prost::Message,
239    ::serde::Serialize,
240    ::serde::Deserialize,
241    ::schemars::JsonSchema,
242    CosmwasmExt,
243)]
244#[proto_message(type_url = "/tendermint.abci.RequestListSnapshots")]
245pub struct RequestListSnapshots {}
246/// offers a snapshot to the application
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(
249    Clone,
250    PartialEq,
251    Eq,
252    ::prost::Message,
253    ::serde::Serialize,
254    ::serde::Deserialize,
255    ::schemars::JsonSchema,
256    CosmwasmExt,
257)]
258#[proto_message(type_url = "/tendermint.abci.RequestOfferSnapshot")]
259pub struct RequestOfferSnapshot {
260    /// snapshot offered by peers
261    #[prost(message, optional, tag = "1")]
262    pub snapshot: ::core::option::Option<Snapshot>,
263    /// light client-verified app hash for snapshot height
264    #[prost(bytes = "vec", tag = "2")]
265    #[serde(
266        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
267        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
268    )]
269    pub app_hash: ::prost::alloc::vec::Vec<u8>,
270}
271/// loads a snapshot chunk
272#[allow(clippy::derive_partial_eq_without_eq)]
273#[derive(
274    Clone,
275    PartialEq,
276    Eq,
277    ::prost::Message,
278    ::serde::Serialize,
279    ::serde::Deserialize,
280    ::schemars::JsonSchema,
281    CosmwasmExt,
282)]
283#[proto_message(type_url = "/tendermint.abci.RequestLoadSnapshotChunk")]
284pub struct RequestLoadSnapshotChunk {
285    #[prost(uint64, tag = "1")]
286    #[serde(
287        serialize_with = "crate::serde::as_str::serialize",
288        deserialize_with = "crate::serde::as_str::deserialize"
289    )]
290    pub height: u64,
291    #[prost(uint32, tag = "2")]
292    #[serde(
293        serialize_with = "crate::serde::as_str::serialize",
294        deserialize_with = "crate::serde::as_str::deserialize"
295    )]
296    pub format: u32,
297    #[prost(uint32, tag = "3")]
298    #[serde(
299        serialize_with = "crate::serde::as_str::serialize",
300        deserialize_with = "crate::serde::as_str::deserialize"
301    )]
302    pub chunk: u32,
303}
304/// Applies a snapshot chunk
305#[allow(clippy::derive_partial_eq_without_eq)]
306#[derive(
307    Clone,
308    PartialEq,
309    Eq,
310    ::prost::Message,
311    ::serde::Serialize,
312    ::serde::Deserialize,
313    ::schemars::JsonSchema,
314    CosmwasmExt,
315)]
316#[proto_message(type_url = "/tendermint.abci.RequestApplySnapshotChunk")]
317pub struct RequestApplySnapshotChunk {
318    #[prost(uint32, tag = "1")]
319    #[serde(
320        serialize_with = "crate::serde::as_str::serialize",
321        deserialize_with = "crate::serde::as_str::deserialize"
322    )]
323    pub index: u32,
324    #[prost(bytes = "vec", tag = "2")]
325    #[serde(
326        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
327        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
328    )]
329    pub chunk: ::prost::alloc::vec::Vec<u8>,
330    #[prost(string, tag = "3")]
331    pub sender: ::prost::alloc::string::String,
332}
333#[allow(clippy::derive_partial_eq_without_eq)]
334#[derive(
335    Clone,
336    PartialEq,
337    Eq,
338    ::prost::Message,
339    ::serde::Serialize,
340    ::serde::Deserialize,
341    ::schemars::JsonSchema,
342    CosmwasmExt,
343)]
344#[proto_message(type_url = "/tendermint.abci.RequestPrepareProposal")]
345pub struct RequestPrepareProposal {
346    /// the modified transactions cannot exceed this size.
347    #[prost(int64, tag = "1")]
348    #[serde(
349        serialize_with = "crate::serde::as_str::serialize",
350        deserialize_with = "crate::serde::as_str::deserialize"
351    )]
352    pub max_tx_bytes: i64,
353    /// txs is an array of transactions that will be included in a block,
354    /// sent to the app for possible modifications.
355    #[prost(bytes = "vec", repeated, tag = "2")]
356    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
357    #[prost(message, optional, tag = "3")]
358    pub local_last_commit: ::core::option::Option<ExtendedCommitInfo>,
359    #[prost(message, repeated, tag = "4")]
360    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
361    #[prost(int64, tag = "5")]
362    #[serde(
363        serialize_with = "crate::serde::as_str::serialize",
364        deserialize_with = "crate::serde::as_str::deserialize"
365    )]
366    pub height: i64,
367    #[prost(message, optional, tag = "6")]
368    pub time: ::core::option::Option<crate::shim::Timestamp>,
369    #[prost(bytes = "vec", tag = "7")]
370    #[serde(
371        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
372        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
373    )]
374    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
375    /// address of the public key of the validator proposing the block.
376    #[prost(bytes = "vec", tag = "8")]
377    #[serde(
378        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
379        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
380    )]
381    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
382}
383#[allow(clippy::derive_partial_eq_without_eq)]
384#[derive(
385    Clone,
386    PartialEq,
387    Eq,
388    ::prost::Message,
389    ::serde::Serialize,
390    ::serde::Deserialize,
391    ::schemars::JsonSchema,
392    CosmwasmExt,
393)]
394#[proto_message(type_url = "/tendermint.abci.RequestProcessProposal")]
395pub struct RequestProcessProposal {
396    #[prost(bytes = "vec", repeated, tag = "1")]
397    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
398    #[prost(message, optional, tag = "2")]
399    pub proposed_last_commit: ::core::option::Option<CommitInfo>,
400    #[prost(message, repeated, tag = "3")]
401    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
402    /// hash is the merkle root hash of the fields of the proposed block.
403    #[prost(bytes = "vec", tag = "4")]
404    #[serde(
405        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
406        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
407    )]
408    pub hash: ::prost::alloc::vec::Vec<u8>,
409    #[prost(int64, tag = "5")]
410    #[serde(
411        serialize_with = "crate::serde::as_str::serialize",
412        deserialize_with = "crate::serde::as_str::deserialize"
413    )]
414    pub height: i64,
415    #[prost(message, optional, tag = "6")]
416    pub time: ::core::option::Option<crate::shim::Timestamp>,
417    #[prost(bytes = "vec", tag = "7")]
418    #[serde(
419        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
420        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
421    )]
422    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
423    /// address of the public key of the original proposer of the block.
424    #[prost(bytes = "vec", tag = "8")]
425    #[serde(
426        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
427        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
428    )]
429    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
430}
431/// Extends a vote with application-injected data
432#[allow(clippy::derive_partial_eq_without_eq)]
433#[derive(
434    Clone,
435    PartialEq,
436    Eq,
437    ::prost::Message,
438    ::serde::Serialize,
439    ::serde::Deserialize,
440    ::schemars::JsonSchema,
441    CosmwasmExt,
442)]
443#[proto_message(type_url = "/tendermint.abci.RequestExtendVote")]
444pub struct RequestExtendVote {
445    /// the hash of the block that this vote may be referring to
446    #[prost(bytes = "vec", tag = "1")]
447    #[serde(
448        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
449        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
450    )]
451    pub hash: ::prost::alloc::vec::Vec<u8>,
452    /// the height of the extended vote
453    #[prost(int64, tag = "2")]
454    #[serde(
455        serialize_with = "crate::serde::as_str::serialize",
456        deserialize_with = "crate::serde::as_str::deserialize"
457    )]
458    pub height: i64,
459    /// info of the block that this vote may be referring to
460    #[prost(message, optional, tag = "3")]
461    pub time: ::core::option::Option<crate::shim::Timestamp>,
462    #[prost(bytes = "vec", repeated, tag = "4")]
463    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
464    #[prost(message, optional, tag = "5")]
465    pub proposed_last_commit: ::core::option::Option<CommitInfo>,
466    #[prost(message, repeated, tag = "6")]
467    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
468    #[prost(bytes = "vec", tag = "7")]
469    #[serde(
470        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
471        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
472    )]
473    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
474    /// address of the public key of the original proposer of the block.
475    #[prost(bytes = "vec", tag = "8")]
476    #[serde(
477        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
478        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
479    )]
480    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
481}
482/// Verify the vote extension
483#[allow(clippy::derive_partial_eq_without_eq)]
484#[derive(
485    Clone,
486    PartialEq,
487    Eq,
488    ::prost::Message,
489    ::serde::Serialize,
490    ::serde::Deserialize,
491    ::schemars::JsonSchema,
492    CosmwasmExt,
493)]
494#[proto_message(type_url = "/tendermint.abci.RequestVerifyVoteExtension")]
495pub struct RequestVerifyVoteExtension {
496    /// the hash of the block that this received vote corresponds to
497    #[prost(bytes = "vec", tag = "1")]
498    #[serde(
499        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
500        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
501    )]
502    pub hash: ::prost::alloc::vec::Vec<u8>,
503    /// the validator that signed the vote extension
504    #[prost(bytes = "vec", tag = "2")]
505    #[serde(
506        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
507        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
508    )]
509    pub validator_address: ::prost::alloc::vec::Vec<u8>,
510    #[prost(int64, tag = "3")]
511    #[serde(
512        serialize_with = "crate::serde::as_str::serialize",
513        deserialize_with = "crate::serde::as_str::deserialize"
514    )]
515    pub height: i64,
516    #[prost(bytes = "vec", tag = "4")]
517    #[serde(
518        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
519        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
520    )]
521    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
522}
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(
525    Clone,
526    PartialEq,
527    Eq,
528    ::prost::Message,
529    ::serde::Serialize,
530    ::serde::Deserialize,
531    ::schemars::JsonSchema,
532    CosmwasmExt,
533)]
534#[proto_message(type_url = "/tendermint.abci.RequestFinalizeBlock")]
535pub struct RequestFinalizeBlock {
536    #[prost(bytes = "vec", repeated, tag = "1")]
537    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
538    #[prost(message, optional, tag = "2")]
539    pub decided_last_commit: ::core::option::Option<CommitInfo>,
540    #[prost(message, repeated, tag = "3")]
541    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
542    /// hash is the merkle root hash of the fields of the decided block.
543    #[prost(bytes = "vec", tag = "4")]
544    #[serde(
545        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
546        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
547    )]
548    pub hash: ::prost::alloc::vec::Vec<u8>,
549    #[prost(int64, tag = "5")]
550    #[serde(
551        serialize_with = "crate::serde::as_str::serialize",
552        deserialize_with = "crate::serde::as_str::deserialize"
553    )]
554    pub height: i64,
555    #[prost(message, optional, tag = "6")]
556    pub time: ::core::option::Option<crate::shim::Timestamp>,
557    #[prost(bytes = "vec", tag = "7")]
558    #[serde(
559        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
560        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
561    )]
562    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
563    /// proposer_address is the address of the public key of the original proposer of the block.
564    #[prost(bytes = "vec", tag = "8")]
565    #[serde(
566        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
567        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
568    )]
569    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
570}
571#[allow(clippy::derive_partial_eq_without_eq)]
572#[derive(
573    Clone,
574    PartialEq,
575    Eq,
576    ::prost::Message,
577    ::serde::Serialize,
578    ::serde::Deserialize,
579    ::schemars::JsonSchema,
580    CosmwasmExt,
581)]
582#[proto_message(type_url = "/tendermint.abci.Response")]
583pub struct Response {
584    #[prost(
585        oneof = "response::Value",
586        tags = "1, 2, 3, 4, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21"
587    )]
588    pub value: ::core::option::Option<response::Value>,
589}
590/// Nested message and enum types in `Response`.
591pub mod response {
592    use elys_std_deriv::CosmwasmExt;
593    #[allow(clippy::derive_partial_eq_without_eq)]
594    #[derive(
595        Clone,
596        PartialEq,
597        Eq,
598        ::prost::Oneof,
599        ::serde::Serialize,
600        ::serde::Deserialize,
601        ::schemars::JsonSchema,
602    )]
603    pub enum Value {
604        #[prost(message, tag = "1")]
605        Exception(super::ResponseException),
606        #[prost(message, tag = "2")]
607        Echo(super::ResponseEcho),
608        #[prost(message, tag = "3")]
609        Flush(super::ResponseFlush),
610        #[prost(message, tag = "4")]
611        Info(super::ResponseInfo),
612        #[prost(message, tag = "6")]
613        InitChain(super::ResponseInitChain),
614        #[prost(message, tag = "7")]
615        Query(super::ResponseQuery),
616        #[prost(message, tag = "9")]
617        CheckTx(super::ResponseCheckTx),
618        #[prost(message, tag = "12")]
619        Commit(super::ResponseCommit),
620        #[prost(message, tag = "13")]
621        ListSnapshots(super::ResponseListSnapshots),
622        #[prost(message, tag = "14")]
623        OfferSnapshot(super::ResponseOfferSnapshot),
624        #[prost(message, tag = "15")]
625        LoadSnapshotChunk(super::ResponseLoadSnapshotChunk),
626        #[prost(message, tag = "16")]
627        ApplySnapshotChunk(super::ResponseApplySnapshotChunk),
628        #[prost(message, tag = "17")]
629        PrepareProposal(super::ResponsePrepareProposal),
630        #[prost(message, tag = "18")]
631        ProcessProposal(super::ResponseProcessProposal),
632        #[prost(message, tag = "19")]
633        ExtendVote(super::ResponseExtendVote),
634        #[prost(message, tag = "20")]
635        VerifyVoteExtension(super::ResponseVerifyVoteExtension),
636        #[prost(message, tag = "21")]
637        FinalizeBlock(super::ResponseFinalizeBlock),
638    }
639}
640/// nondeterministic
641#[allow(clippy::derive_partial_eq_without_eq)]
642#[derive(
643    Clone,
644    PartialEq,
645    Eq,
646    ::prost::Message,
647    ::serde::Serialize,
648    ::serde::Deserialize,
649    ::schemars::JsonSchema,
650    CosmwasmExt,
651)]
652#[proto_message(type_url = "/tendermint.abci.ResponseException")]
653pub struct ResponseException {
654    #[prost(string, tag = "1")]
655    pub error: ::prost::alloc::string::String,
656}
657#[allow(clippy::derive_partial_eq_without_eq)]
658#[derive(
659    Clone,
660    PartialEq,
661    Eq,
662    ::prost::Message,
663    ::serde::Serialize,
664    ::serde::Deserialize,
665    ::schemars::JsonSchema,
666    CosmwasmExt,
667)]
668#[proto_message(type_url = "/tendermint.abci.ResponseEcho")]
669pub struct ResponseEcho {
670    #[prost(string, tag = "1")]
671    pub message: ::prost::alloc::string::String,
672}
673#[allow(clippy::derive_partial_eq_without_eq)]
674#[derive(
675    Clone,
676    PartialEq,
677    Eq,
678    ::prost::Message,
679    ::serde::Serialize,
680    ::serde::Deserialize,
681    ::schemars::JsonSchema,
682    CosmwasmExt,
683)]
684#[proto_message(type_url = "/tendermint.abci.ResponseFlush")]
685pub struct ResponseFlush {}
686#[allow(clippy::derive_partial_eq_without_eq)]
687#[derive(
688    Clone,
689    PartialEq,
690    Eq,
691    ::prost::Message,
692    ::serde::Serialize,
693    ::serde::Deserialize,
694    ::schemars::JsonSchema,
695    CosmwasmExt,
696)]
697#[proto_message(type_url = "/tendermint.abci.ResponseInfo")]
698pub struct ResponseInfo {
699    #[prost(string, tag = "1")]
700    pub data: ::prost::alloc::string::String,
701    #[prost(string, tag = "2")]
702    pub version: ::prost::alloc::string::String,
703    #[prost(uint64, tag = "3")]
704    #[serde(
705        serialize_with = "crate::serde::as_str::serialize",
706        deserialize_with = "crate::serde::as_str::deserialize"
707    )]
708    pub app_version: u64,
709    #[prost(int64, tag = "4")]
710    #[serde(
711        serialize_with = "crate::serde::as_str::serialize",
712        deserialize_with = "crate::serde::as_str::deserialize"
713    )]
714    pub last_block_height: i64,
715    #[prost(bytes = "vec", tag = "5")]
716    #[serde(
717        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
718        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
719    )]
720    pub last_block_app_hash: ::prost::alloc::vec::Vec<u8>,
721}
722#[allow(clippy::derive_partial_eq_without_eq)]
723#[derive(
724    Clone,
725    PartialEq,
726    Eq,
727    ::prost::Message,
728    ::serde::Serialize,
729    ::serde::Deserialize,
730    ::schemars::JsonSchema,
731    CosmwasmExt,
732)]
733#[proto_message(type_url = "/tendermint.abci.ResponseInitChain")]
734pub struct ResponseInitChain {
735    #[prost(message, optional, tag = "1")]
736    pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
737    #[prost(message, repeated, tag = "2")]
738    pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
739    #[prost(bytes = "vec", tag = "3")]
740    #[serde(
741        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
742        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
743    )]
744    pub app_hash: ::prost::alloc::vec::Vec<u8>,
745}
746#[allow(clippy::derive_partial_eq_without_eq)]
747#[derive(
748    Clone,
749    PartialEq,
750    Eq,
751    ::prost::Message,
752    ::serde::Serialize,
753    ::serde::Deserialize,
754    ::schemars::JsonSchema,
755    CosmwasmExt,
756)]
757#[proto_message(type_url = "/tendermint.abci.ResponseQuery")]
758pub struct ResponseQuery {
759    #[prost(uint32, tag = "1")]
760    #[serde(
761        serialize_with = "crate::serde::as_str::serialize",
762        deserialize_with = "crate::serde::as_str::deserialize"
763    )]
764    pub code: u32,
765    /// bytes data = 2; // use "value" instead.
766    ///
767    /// nondeterministic
768    #[prost(string, tag = "3")]
769    pub log: ::prost::alloc::string::String,
770    /// nondeterministic
771    #[prost(string, tag = "4")]
772    pub info: ::prost::alloc::string::String,
773    #[prost(int64, tag = "5")]
774    #[serde(
775        serialize_with = "crate::serde::as_str::serialize",
776        deserialize_with = "crate::serde::as_str::deserialize"
777    )]
778    pub index: i64,
779    #[prost(bytes = "vec", tag = "6")]
780    #[serde(
781        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
782        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
783    )]
784    pub key: ::prost::alloc::vec::Vec<u8>,
785    #[prost(bytes = "vec", tag = "7")]
786    #[serde(
787        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
788        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
789    )]
790    pub value: ::prost::alloc::vec::Vec<u8>,
791    #[prost(message, optional, tag = "8")]
792    pub proof_ops: ::core::option::Option<super::crypto::ProofOps>,
793    #[prost(int64, tag = "9")]
794    #[serde(
795        serialize_with = "crate::serde::as_str::serialize",
796        deserialize_with = "crate::serde::as_str::deserialize"
797    )]
798    pub height: i64,
799    #[prost(string, tag = "10")]
800    pub codespace: ::prost::alloc::string::String,
801}
802#[allow(clippy::derive_partial_eq_without_eq)]
803#[derive(
804    Clone,
805    PartialEq,
806    Eq,
807    ::prost::Message,
808    ::serde::Serialize,
809    ::serde::Deserialize,
810    ::schemars::JsonSchema,
811    CosmwasmExt,
812)]
813#[proto_message(type_url = "/tendermint.abci.ResponseCheckTx")]
814pub struct ResponseCheckTx {
815    #[prost(uint32, tag = "1")]
816    #[serde(
817        serialize_with = "crate::serde::as_str::serialize",
818        deserialize_with = "crate::serde::as_str::deserialize"
819    )]
820    pub code: u32,
821    #[prost(bytes = "vec", tag = "2")]
822    #[serde(
823        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
824        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
825    )]
826    pub data: ::prost::alloc::vec::Vec<u8>,
827    /// nondeterministic
828    #[prost(string, tag = "3")]
829    pub log: ::prost::alloc::string::String,
830    /// nondeterministic
831    #[prost(string, tag = "4")]
832    pub info: ::prost::alloc::string::String,
833    #[prost(int64, tag = "5")]
834    #[serde(
835        serialize_with = "crate::serde::as_str::serialize",
836        deserialize_with = "crate::serde::as_str::deserialize"
837    )]
838    pub gas_wanted: i64,
839    #[prost(int64, tag = "6")]
840    #[serde(
841        serialize_with = "crate::serde::as_str::serialize",
842        deserialize_with = "crate::serde::as_str::deserialize"
843    )]
844    pub gas_used: i64,
845    #[prost(message, repeated, tag = "7")]
846    pub events: ::prost::alloc::vec::Vec<Event>,
847    #[prost(string, tag = "8")]
848    pub codespace: ::prost::alloc::string::String,
849}
850#[allow(clippy::derive_partial_eq_without_eq)]
851#[derive(
852    Clone,
853    PartialEq,
854    Eq,
855    ::prost::Message,
856    ::serde::Serialize,
857    ::serde::Deserialize,
858    ::schemars::JsonSchema,
859    CosmwasmExt,
860)]
861#[proto_message(type_url = "/tendermint.abci.ResponseCommit")]
862pub struct ResponseCommit {
863    #[prost(int64, tag = "3")]
864    #[serde(
865        serialize_with = "crate::serde::as_str::serialize",
866        deserialize_with = "crate::serde::as_str::deserialize"
867    )]
868    pub retain_height: i64,
869}
870#[allow(clippy::derive_partial_eq_without_eq)]
871#[derive(
872    Clone,
873    PartialEq,
874    Eq,
875    ::prost::Message,
876    ::serde::Serialize,
877    ::serde::Deserialize,
878    ::schemars::JsonSchema,
879    CosmwasmExt,
880)]
881#[proto_message(type_url = "/tendermint.abci.ResponseListSnapshots")]
882pub struct ResponseListSnapshots {
883    #[prost(message, repeated, tag = "1")]
884    pub snapshots: ::prost::alloc::vec::Vec<Snapshot>,
885}
886#[allow(clippy::derive_partial_eq_without_eq)]
887#[derive(
888    Clone,
889    PartialEq,
890    Eq,
891    ::prost::Message,
892    ::serde::Serialize,
893    ::serde::Deserialize,
894    ::schemars::JsonSchema,
895    CosmwasmExt,
896)]
897#[proto_message(type_url = "/tendermint.abci.ResponseOfferSnapshot")]
898pub struct ResponseOfferSnapshot {
899    #[prost(enumeration = "response_offer_snapshot::Result", tag = "1")]
900    #[serde(
901        serialize_with = "crate::serde::as_str::serialize",
902        deserialize_with = "crate::serde::as_str::deserialize"
903    )]
904    pub result: i32,
905}
906/// Nested message and enum types in `ResponseOfferSnapshot`.
907pub mod response_offer_snapshot {
908    use elys_std_deriv::CosmwasmExt;
909    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
910    #[repr(i32)]
911    #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
912    pub enum Result {
913        /// Unknown result, abort all snapshot restoration
914        Unknown = 0,
915        /// Snapshot accepted, apply chunks
916        Accept = 1,
917        /// Abort all snapshot restoration
918        Abort = 2,
919        /// Reject this specific snapshot, try others
920        Reject = 3,
921        /// Reject all snapshots of this format, try others
922        RejectFormat = 4,
923        /// Reject all snapshots from the sender(s), try others
924        RejectSender = 5,
925    }
926    impl Result {
927        /// String value of the enum field names used in the ProtoBuf definition.
928        ///
929        /// The values are not transformed in any way and thus are considered stable
930        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
931        pub fn as_str_name(&self) -> &'static str {
932            match self {
933                Result::Unknown => "UNKNOWN",
934                Result::Accept => "ACCEPT",
935                Result::Abort => "ABORT",
936                Result::Reject => "REJECT",
937                Result::RejectFormat => "REJECT_FORMAT",
938                Result::RejectSender => "REJECT_SENDER",
939            }
940        }
941        /// Creates an enum from field names used in the ProtoBuf definition.
942        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
943            match value {
944                "UNKNOWN" => Some(Self::Unknown),
945                "ACCEPT" => Some(Self::Accept),
946                "ABORT" => Some(Self::Abort),
947                "REJECT" => Some(Self::Reject),
948                "REJECT_FORMAT" => Some(Self::RejectFormat),
949                "REJECT_SENDER" => Some(Self::RejectSender),
950                _ => None,
951            }
952        }
953    }
954}
955#[allow(clippy::derive_partial_eq_without_eq)]
956#[derive(
957    Clone,
958    PartialEq,
959    Eq,
960    ::prost::Message,
961    ::serde::Serialize,
962    ::serde::Deserialize,
963    ::schemars::JsonSchema,
964    CosmwasmExt,
965)]
966#[proto_message(type_url = "/tendermint.abci.ResponseLoadSnapshotChunk")]
967pub struct ResponseLoadSnapshotChunk {
968    #[prost(bytes = "vec", tag = "1")]
969    #[serde(
970        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
971        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
972    )]
973    pub chunk: ::prost::alloc::vec::Vec<u8>,
974}
975#[allow(clippy::derive_partial_eq_without_eq)]
976#[derive(
977    Clone,
978    PartialEq,
979    Eq,
980    ::prost::Message,
981    ::serde::Serialize,
982    ::serde::Deserialize,
983    ::schemars::JsonSchema,
984    CosmwasmExt,
985)]
986#[proto_message(type_url = "/tendermint.abci.ResponseApplySnapshotChunk")]
987pub struct ResponseApplySnapshotChunk {
988    #[prost(enumeration = "response_apply_snapshot_chunk::Result", tag = "1")]
989    #[serde(
990        serialize_with = "crate::serde::as_str::serialize",
991        deserialize_with = "crate::serde::as_str::deserialize"
992    )]
993    pub result: i32,
994    /// Chunks to refetch and reapply
995    #[prost(uint32, repeated, tag = "2")]
996    #[serde(
997        serialize_with = "crate::serde::as_str_vec::serialize",
998        deserialize_with = "crate::serde::as_str_vec::deserialize"
999    )]
1000    pub refetch_chunks: ::prost::alloc::vec::Vec<u32>,
1001    /// Chunk senders to reject and ban
1002    #[prost(string, repeated, tag = "3")]
1003    pub reject_senders: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1004}
1005/// Nested message and enum types in `ResponseApplySnapshotChunk`.
1006pub mod response_apply_snapshot_chunk {
1007    use elys_std_deriv::CosmwasmExt;
1008    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1009    #[repr(i32)]
1010    #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1011    pub enum Result {
1012        /// Unknown result, abort all snapshot restoration
1013        Unknown = 0,
1014        /// Chunk successfully accepted
1015        Accept = 1,
1016        /// Abort all snapshot restoration
1017        Abort = 2,
1018        /// Retry chunk (combine with refetch and reject)
1019        Retry = 3,
1020        /// Retry snapshot (combine with refetch and reject)
1021        RetrySnapshot = 4,
1022        /// Reject this snapshot, try others
1023        RejectSnapshot = 5,
1024    }
1025    impl Result {
1026        /// String value of the enum field names used in the ProtoBuf definition.
1027        ///
1028        /// The values are not transformed in any way and thus are considered stable
1029        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1030        pub fn as_str_name(&self) -> &'static str {
1031            match self {
1032                Result::Unknown => "UNKNOWN",
1033                Result::Accept => "ACCEPT",
1034                Result::Abort => "ABORT",
1035                Result::Retry => "RETRY",
1036                Result::RetrySnapshot => "RETRY_SNAPSHOT",
1037                Result::RejectSnapshot => "REJECT_SNAPSHOT",
1038            }
1039        }
1040        /// Creates an enum from field names used in the ProtoBuf definition.
1041        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1042            match value {
1043                "UNKNOWN" => Some(Self::Unknown),
1044                "ACCEPT" => Some(Self::Accept),
1045                "ABORT" => Some(Self::Abort),
1046                "RETRY" => Some(Self::Retry),
1047                "RETRY_SNAPSHOT" => Some(Self::RetrySnapshot),
1048                "REJECT_SNAPSHOT" => Some(Self::RejectSnapshot),
1049                _ => None,
1050            }
1051        }
1052    }
1053}
1054#[allow(clippy::derive_partial_eq_without_eq)]
1055#[derive(
1056    Clone,
1057    PartialEq,
1058    Eq,
1059    ::prost::Message,
1060    ::serde::Serialize,
1061    ::serde::Deserialize,
1062    ::schemars::JsonSchema,
1063    CosmwasmExt,
1064)]
1065#[proto_message(type_url = "/tendermint.abci.ResponsePrepareProposal")]
1066pub struct ResponsePrepareProposal {
1067    #[prost(bytes = "vec", repeated, tag = "1")]
1068    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
1069}
1070#[allow(clippy::derive_partial_eq_without_eq)]
1071#[derive(
1072    Clone,
1073    PartialEq,
1074    Eq,
1075    ::prost::Message,
1076    ::serde::Serialize,
1077    ::serde::Deserialize,
1078    ::schemars::JsonSchema,
1079    CosmwasmExt,
1080)]
1081#[proto_message(type_url = "/tendermint.abci.ResponseProcessProposal")]
1082pub struct ResponseProcessProposal {
1083    #[prost(enumeration = "response_process_proposal::ProposalStatus", tag = "1")]
1084    #[serde(
1085        serialize_with = "crate::serde::as_str::serialize",
1086        deserialize_with = "crate::serde::as_str::deserialize"
1087    )]
1088    pub status: i32,
1089}
1090/// Nested message and enum types in `ResponseProcessProposal`.
1091pub mod response_process_proposal {
1092    use elys_std_deriv::CosmwasmExt;
1093    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1094    #[repr(i32)]
1095    #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1096    pub enum ProposalStatus {
1097        Unknown = 0,
1098        Accept = 1,
1099        Reject = 2,
1100    }
1101    impl ProposalStatus {
1102        /// String value of the enum field names used in the ProtoBuf definition.
1103        ///
1104        /// The values are not transformed in any way and thus are considered stable
1105        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1106        pub fn as_str_name(&self) -> &'static str {
1107            match self {
1108                ProposalStatus::Unknown => "UNKNOWN",
1109                ProposalStatus::Accept => "ACCEPT",
1110                ProposalStatus::Reject => "REJECT",
1111            }
1112        }
1113        /// Creates an enum from field names used in the ProtoBuf definition.
1114        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1115            match value {
1116                "UNKNOWN" => Some(Self::Unknown),
1117                "ACCEPT" => Some(Self::Accept),
1118                "REJECT" => Some(Self::Reject),
1119                _ => None,
1120            }
1121        }
1122    }
1123}
1124#[allow(clippy::derive_partial_eq_without_eq)]
1125#[derive(
1126    Clone,
1127    PartialEq,
1128    Eq,
1129    ::prost::Message,
1130    ::serde::Serialize,
1131    ::serde::Deserialize,
1132    ::schemars::JsonSchema,
1133    CosmwasmExt,
1134)]
1135#[proto_message(type_url = "/tendermint.abci.ResponseExtendVote")]
1136pub struct ResponseExtendVote {
1137    #[prost(bytes = "vec", tag = "1")]
1138    #[serde(
1139        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1140        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1141    )]
1142    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
1143}
1144#[allow(clippy::derive_partial_eq_without_eq)]
1145#[derive(
1146    Clone,
1147    PartialEq,
1148    Eq,
1149    ::prost::Message,
1150    ::serde::Serialize,
1151    ::serde::Deserialize,
1152    ::schemars::JsonSchema,
1153    CosmwasmExt,
1154)]
1155#[proto_message(type_url = "/tendermint.abci.ResponseVerifyVoteExtension")]
1156pub struct ResponseVerifyVoteExtension {
1157    #[prost(
1158        enumeration = "response_verify_vote_extension::VerifyStatus",
1159        tag = "1"
1160    )]
1161    #[serde(
1162        serialize_with = "crate::serde::as_str::serialize",
1163        deserialize_with = "crate::serde::as_str::deserialize"
1164    )]
1165    pub status: i32,
1166}
1167/// Nested message and enum types in `ResponseVerifyVoteExtension`.
1168pub mod response_verify_vote_extension {
1169    use elys_std_deriv::CosmwasmExt;
1170    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1171    #[repr(i32)]
1172    #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1173    pub enum VerifyStatus {
1174        Unknown = 0,
1175        Accept = 1,
1176        /// Rejecting the vote extension will reject the entire precommit by the sender.
1177        /// Incorrectly implementing this thus has liveness implications as it may affect
1178        /// CometBFT's ability to receive 2/3+ valid votes to finalize the block.
1179        /// Honest nodes should never be rejected.
1180        Reject = 2,
1181    }
1182    impl VerifyStatus {
1183        /// String value of the enum field names used in the ProtoBuf definition.
1184        ///
1185        /// The values are not transformed in any way and thus are considered stable
1186        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1187        pub fn as_str_name(&self) -> &'static str {
1188            match self {
1189                VerifyStatus::Unknown => "UNKNOWN",
1190                VerifyStatus::Accept => "ACCEPT",
1191                VerifyStatus::Reject => "REJECT",
1192            }
1193        }
1194        /// Creates an enum from field names used in the ProtoBuf definition.
1195        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1196            match value {
1197                "UNKNOWN" => Some(Self::Unknown),
1198                "ACCEPT" => Some(Self::Accept),
1199                "REJECT" => Some(Self::Reject),
1200                _ => None,
1201            }
1202        }
1203    }
1204}
1205#[allow(clippy::derive_partial_eq_without_eq)]
1206#[derive(
1207    Clone,
1208    PartialEq,
1209    Eq,
1210    ::prost::Message,
1211    ::serde::Serialize,
1212    ::serde::Deserialize,
1213    ::schemars::JsonSchema,
1214    CosmwasmExt,
1215)]
1216#[proto_message(type_url = "/tendermint.abci.ResponseFinalizeBlock")]
1217pub struct ResponseFinalizeBlock {
1218    /// set of block events emmitted as part of executing the block
1219    #[prost(message, repeated, tag = "1")]
1220    pub events: ::prost::alloc::vec::Vec<Event>,
1221    /// the result of executing each transaction including the events
1222    /// the particular transction emitted. This should match the order
1223    /// of the transactions delivered in the block itself
1224    #[prost(message, repeated, tag = "2")]
1225    pub tx_results: ::prost::alloc::vec::Vec<ExecTxResult>,
1226    /// a list of updates to the validator set. These will reflect the validator set at current height + 2.
1227    #[prost(message, repeated, tag = "3")]
1228    pub validator_updates: ::prost::alloc::vec::Vec<ValidatorUpdate>,
1229    /// updates to the consensus params, if any.
1230    #[prost(message, optional, tag = "4")]
1231    pub consensus_param_updates: ::core::option::Option<super::types::ConsensusParams>,
1232    /// app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was
1233    /// deterministic. It is up to the application to decide which algorithm to use.
1234    #[prost(bytes = "vec", tag = "5")]
1235    #[serde(
1236        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1237        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1238    )]
1239    pub app_hash: ::prost::alloc::vec::Vec<u8>,
1240}
1241#[allow(clippy::derive_partial_eq_without_eq)]
1242#[derive(
1243    Clone,
1244    PartialEq,
1245    Eq,
1246    ::prost::Message,
1247    ::serde::Serialize,
1248    ::serde::Deserialize,
1249    ::schemars::JsonSchema,
1250    CosmwasmExt,
1251)]
1252#[proto_message(type_url = "/tendermint.abci.CommitInfo")]
1253pub struct CommitInfo {
1254    #[prost(int32, tag = "1")]
1255    #[serde(
1256        serialize_with = "crate::serde::as_str::serialize",
1257        deserialize_with = "crate::serde::as_str::deserialize"
1258    )]
1259    pub round: i32,
1260    #[prost(message, repeated, tag = "2")]
1261    pub votes: ::prost::alloc::vec::Vec<VoteInfo>,
1262}
1263/// ExtendedCommitInfo is similar to CommitInfo except that it is only used in
1264/// the PrepareProposal request such that CometBFT can provide vote extensions
1265/// to the application.
1266#[allow(clippy::derive_partial_eq_without_eq)]
1267#[derive(
1268    Clone,
1269    PartialEq,
1270    Eq,
1271    ::prost::Message,
1272    ::serde::Serialize,
1273    ::serde::Deserialize,
1274    ::schemars::JsonSchema,
1275    CosmwasmExt,
1276)]
1277#[proto_message(type_url = "/tendermint.abci.ExtendedCommitInfo")]
1278pub struct ExtendedCommitInfo {
1279    /// The round at which the block proposer decided in the previous height.
1280    #[prost(int32, tag = "1")]
1281    #[serde(
1282        serialize_with = "crate::serde::as_str::serialize",
1283        deserialize_with = "crate::serde::as_str::deserialize"
1284    )]
1285    pub round: i32,
1286    /// List of validators' addresses in the last validator set with their voting
1287    /// information, including vote extensions.
1288    #[prost(message, repeated, tag = "2")]
1289    pub votes: ::prost::alloc::vec::Vec<ExtendedVoteInfo>,
1290}
1291/// Event allows application developers to attach additional information to
1292/// ResponseFinalizeBlock and ResponseCheckTx.
1293/// Later, transactions may be queried using these events.
1294#[allow(clippy::derive_partial_eq_without_eq)]
1295#[derive(
1296    Clone,
1297    PartialEq,
1298    Eq,
1299    ::prost::Message,
1300    ::serde::Serialize,
1301    ::serde::Deserialize,
1302    ::schemars::JsonSchema,
1303    CosmwasmExt,
1304)]
1305#[proto_message(type_url = "/tendermint.abci.Event")]
1306pub struct Event {
1307    #[prost(string, tag = "1")]
1308    pub r#type: ::prost::alloc::string::String,
1309    #[prost(message, repeated, tag = "2")]
1310    pub attributes: ::prost::alloc::vec::Vec<EventAttribute>,
1311}
1312/// EventAttribute is a single key-value pair, associated with an event.
1313#[allow(clippy::derive_partial_eq_without_eq)]
1314#[derive(
1315    Clone,
1316    PartialEq,
1317    Eq,
1318    ::prost::Message,
1319    ::serde::Serialize,
1320    ::serde::Deserialize,
1321    ::schemars::JsonSchema,
1322    CosmwasmExt,
1323)]
1324#[proto_message(type_url = "/tendermint.abci.EventAttribute")]
1325pub struct EventAttribute {
1326    #[prost(string, tag = "1")]
1327    pub key: ::prost::alloc::string::String,
1328    #[prost(string, tag = "2")]
1329    pub value: ::prost::alloc::string::String,
1330    /// nondeterministic
1331    #[prost(bool, tag = "3")]
1332    pub index: bool,
1333}
1334/// ExecTxResult contains results of executing one individual transaction.
1335///
1336/// * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted
1337#[allow(clippy::derive_partial_eq_without_eq)]
1338#[derive(
1339    Clone,
1340    PartialEq,
1341    Eq,
1342    ::prost::Message,
1343    ::serde::Serialize,
1344    ::serde::Deserialize,
1345    ::schemars::JsonSchema,
1346    CosmwasmExt,
1347)]
1348#[proto_message(type_url = "/tendermint.abci.ExecTxResult")]
1349pub struct ExecTxResult {
1350    #[prost(uint32, tag = "1")]
1351    #[serde(
1352        serialize_with = "crate::serde::as_str::serialize",
1353        deserialize_with = "crate::serde::as_str::deserialize"
1354    )]
1355    pub code: u32,
1356    #[prost(bytes = "vec", tag = "2")]
1357    #[serde(
1358        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1359        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1360    )]
1361    pub data: ::prost::alloc::vec::Vec<u8>,
1362    /// nondeterministic
1363    #[prost(string, tag = "3")]
1364    pub log: ::prost::alloc::string::String,
1365    /// nondeterministic
1366    #[prost(string, tag = "4")]
1367    pub info: ::prost::alloc::string::String,
1368    #[prost(int64, tag = "5")]
1369    #[serde(
1370        serialize_with = "crate::serde::as_str::serialize",
1371        deserialize_with = "crate::serde::as_str::deserialize"
1372    )]
1373    pub gas_wanted: i64,
1374    #[prost(int64, tag = "6")]
1375    #[serde(
1376        serialize_with = "crate::serde::as_str::serialize",
1377        deserialize_with = "crate::serde::as_str::deserialize"
1378    )]
1379    pub gas_used: i64,
1380    /// nondeterministic
1381    #[prost(message, repeated, tag = "7")]
1382    pub events: ::prost::alloc::vec::Vec<Event>,
1383    #[prost(string, tag = "8")]
1384    pub codespace: ::prost::alloc::string::String,
1385}
1386/// TxResult contains results of executing the transaction.
1387///
1388/// One usage is indexing transaction results.
1389#[allow(clippy::derive_partial_eq_without_eq)]
1390#[derive(
1391    Clone,
1392    PartialEq,
1393    Eq,
1394    ::prost::Message,
1395    ::serde::Serialize,
1396    ::serde::Deserialize,
1397    ::schemars::JsonSchema,
1398    CosmwasmExt,
1399)]
1400#[proto_message(type_url = "/tendermint.abci.TxResult")]
1401pub struct TxResult {
1402    #[prost(int64, tag = "1")]
1403    #[serde(
1404        serialize_with = "crate::serde::as_str::serialize",
1405        deserialize_with = "crate::serde::as_str::deserialize"
1406    )]
1407    pub height: i64,
1408    #[prost(uint32, tag = "2")]
1409    #[serde(
1410        serialize_with = "crate::serde::as_str::serialize",
1411        deserialize_with = "crate::serde::as_str::deserialize"
1412    )]
1413    pub index: u32,
1414    #[prost(bytes = "vec", tag = "3")]
1415    #[serde(
1416        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1417        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1418    )]
1419    pub tx: ::prost::alloc::vec::Vec<u8>,
1420    #[prost(message, optional, tag = "4")]
1421    pub result: ::core::option::Option<ExecTxResult>,
1422}
1423#[allow(clippy::derive_partial_eq_without_eq)]
1424#[derive(
1425    Clone,
1426    PartialEq,
1427    Eq,
1428    ::prost::Message,
1429    ::serde::Serialize,
1430    ::serde::Deserialize,
1431    ::schemars::JsonSchema,
1432    CosmwasmExt,
1433)]
1434#[proto_message(type_url = "/tendermint.abci.Validator")]
1435pub struct Validator {
1436    /// The first 20 bytes of SHA256(public key)
1437    #[prost(bytes = "vec", tag = "1")]
1438    #[serde(
1439        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1440        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1441    )]
1442    pub address: ::prost::alloc::vec::Vec<u8>,
1443    /// PubKey pub_key = 2 \[(gogoproto.nullable)=false\];
1444    ///
1445    /// The voting power
1446    #[prost(int64, tag = "3")]
1447    #[serde(
1448        serialize_with = "crate::serde::as_str::serialize",
1449        deserialize_with = "crate::serde::as_str::deserialize"
1450    )]
1451    pub power: i64,
1452}
1453#[allow(clippy::derive_partial_eq_without_eq)]
1454#[derive(
1455    Clone,
1456    PartialEq,
1457    Eq,
1458    ::prost::Message,
1459    ::serde::Serialize,
1460    ::serde::Deserialize,
1461    ::schemars::JsonSchema,
1462    CosmwasmExt,
1463)]
1464#[proto_message(type_url = "/tendermint.abci.ValidatorUpdate")]
1465pub struct ValidatorUpdate {
1466    #[prost(message, optional, tag = "1")]
1467    pub pub_key: ::core::option::Option<super::crypto::PublicKey>,
1468    #[prost(int64, tag = "2")]
1469    #[serde(
1470        serialize_with = "crate::serde::as_str::serialize",
1471        deserialize_with = "crate::serde::as_str::deserialize"
1472    )]
1473    pub power: i64,
1474}
1475#[allow(clippy::derive_partial_eq_without_eq)]
1476#[derive(
1477    Clone,
1478    PartialEq,
1479    Eq,
1480    ::prost::Message,
1481    ::serde::Serialize,
1482    ::serde::Deserialize,
1483    ::schemars::JsonSchema,
1484    CosmwasmExt,
1485)]
1486#[proto_message(type_url = "/tendermint.abci.VoteInfo")]
1487pub struct VoteInfo {
1488    #[prost(message, optional, tag = "1")]
1489    pub validator: ::core::option::Option<Validator>,
1490    #[prost(enumeration = "super::types::BlockIdFlag", tag = "3")]
1491    #[serde(alias = "blockID_flag")]
1492    #[serde(
1493        serialize_with = "crate::serde::as_str::serialize",
1494        deserialize_with = "crate::serde::as_str::deserialize"
1495    )]
1496    pub block_id_flag: i32,
1497}
1498#[allow(clippy::derive_partial_eq_without_eq)]
1499#[derive(
1500    Clone,
1501    PartialEq,
1502    Eq,
1503    ::prost::Message,
1504    ::serde::Serialize,
1505    ::serde::Deserialize,
1506    ::schemars::JsonSchema,
1507    CosmwasmExt,
1508)]
1509#[proto_message(type_url = "/tendermint.abci.ExtendedVoteInfo")]
1510pub struct ExtendedVoteInfo {
1511    /// The validator that sent the vote.
1512    #[prost(message, optional, tag = "1")]
1513    pub validator: ::core::option::Option<Validator>,
1514    /// Non-deterministic extension provided by the sending validator's application.
1515    #[prost(bytes = "vec", tag = "3")]
1516    #[serde(
1517        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1518        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1519    )]
1520    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
1521    /// Vote extension signature created by CometBFT
1522    #[prost(bytes = "vec", tag = "4")]
1523    #[serde(
1524        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1525        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1526    )]
1527    pub extension_signature: ::prost::alloc::vec::Vec<u8>,
1528    /// block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all
1529    #[prost(enumeration = "super::types::BlockIdFlag", tag = "5")]
1530    #[serde(alias = "blockID_flag")]
1531    #[serde(
1532        serialize_with = "crate::serde::as_str::serialize",
1533        deserialize_with = "crate::serde::as_str::deserialize"
1534    )]
1535    pub block_id_flag: i32,
1536}
1537#[allow(clippy::derive_partial_eq_without_eq)]
1538#[derive(
1539    Clone,
1540    PartialEq,
1541    Eq,
1542    ::prost::Message,
1543    ::serde::Serialize,
1544    ::serde::Deserialize,
1545    ::schemars::JsonSchema,
1546    CosmwasmExt,
1547)]
1548#[proto_message(type_url = "/tendermint.abci.Misbehavior")]
1549pub struct Misbehavior {
1550    #[prost(enumeration = "MisbehaviorType", tag = "1")]
1551    #[serde(
1552        serialize_with = "crate::serde::as_str::serialize",
1553        deserialize_with = "crate::serde::as_str::deserialize"
1554    )]
1555    pub r#type: i32,
1556    /// The offending validator
1557    #[prost(message, optional, tag = "2")]
1558    pub validator: ::core::option::Option<Validator>,
1559    /// The height when the offense occurred
1560    #[prost(int64, tag = "3")]
1561    #[serde(
1562        serialize_with = "crate::serde::as_str::serialize",
1563        deserialize_with = "crate::serde::as_str::deserialize"
1564    )]
1565    pub height: i64,
1566    /// The corresponding time where the offense occurred
1567    #[prost(message, optional, tag = "4")]
1568    pub time: ::core::option::Option<crate::shim::Timestamp>,
1569    /// Total voting power of the validator set in case the ABCI application does
1570    /// not store historical validators.
1571    /// <https://github.com/tendermint/tendermint/issues/4581>
1572    #[prost(int64, tag = "5")]
1573    #[serde(
1574        serialize_with = "crate::serde::as_str::serialize",
1575        deserialize_with = "crate::serde::as_str::deserialize"
1576    )]
1577    pub total_voting_power: i64,
1578}
1579#[allow(clippy::derive_partial_eq_without_eq)]
1580#[derive(
1581    Clone,
1582    PartialEq,
1583    Eq,
1584    ::prost::Message,
1585    ::serde::Serialize,
1586    ::serde::Deserialize,
1587    ::schemars::JsonSchema,
1588    CosmwasmExt,
1589)]
1590#[proto_message(type_url = "/tendermint.abci.Snapshot")]
1591pub struct Snapshot {
1592    /// The height at which the snapshot was taken
1593    #[prost(uint64, tag = "1")]
1594    #[serde(
1595        serialize_with = "crate::serde::as_str::serialize",
1596        deserialize_with = "crate::serde::as_str::deserialize"
1597    )]
1598    pub height: u64,
1599    /// The application-specific snapshot format
1600    #[prost(uint32, tag = "2")]
1601    #[serde(
1602        serialize_with = "crate::serde::as_str::serialize",
1603        deserialize_with = "crate::serde::as_str::deserialize"
1604    )]
1605    pub format: u32,
1606    /// Number of chunks in the snapshot
1607    #[prost(uint32, tag = "3")]
1608    #[serde(
1609        serialize_with = "crate::serde::as_str::serialize",
1610        deserialize_with = "crate::serde::as_str::deserialize"
1611    )]
1612    pub chunks: u32,
1613    /// Arbitrary snapshot hash, equal only if identical
1614    #[prost(bytes = "vec", tag = "4")]
1615    #[serde(
1616        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1617        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1618    )]
1619    pub hash: ::prost::alloc::vec::Vec<u8>,
1620    /// Arbitrary application metadata
1621    #[prost(bytes = "vec", tag = "5")]
1622    #[serde(
1623        serialize_with = "crate::serde::as_base64_encoded_string::serialize",
1624        deserialize_with = "crate::serde::as_base64_encoded_string::deserialize"
1625    )]
1626    pub metadata: ::prost::alloc::vec::Vec<u8>,
1627}
1628#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1629#[repr(i32)]
1630#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1631pub enum CheckTxType {
1632    New = 0,
1633    Recheck = 1,
1634}
1635impl CheckTxType {
1636    /// String value of the enum field names used in the ProtoBuf definition.
1637    ///
1638    /// The values are not transformed in any way and thus are considered stable
1639    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1640    pub fn as_str_name(&self) -> &'static str {
1641        match self {
1642            CheckTxType::New => "NEW",
1643            CheckTxType::Recheck => "RECHECK",
1644        }
1645    }
1646    /// Creates an enum from field names used in the ProtoBuf definition.
1647    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1648        match value {
1649            "NEW" => Some(Self::New),
1650            "RECHECK" => Some(Self::Recheck),
1651            _ => None,
1652        }
1653    }
1654}
1655#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1656#[repr(i32)]
1657#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)]
1658pub enum MisbehaviorType {
1659    Unknown = 0,
1660    DuplicateVote = 1,
1661    LightClientAttack = 2,
1662}
1663impl MisbehaviorType {
1664    /// String value of the enum field names used in the ProtoBuf definition.
1665    ///
1666    /// The values are not transformed in any way and thus are considered stable
1667    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1668    pub fn as_str_name(&self) -> &'static str {
1669        match self {
1670            MisbehaviorType::Unknown => "UNKNOWN",
1671            MisbehaviorType::DuplicateVote => "DUPLICATE_VOTE",
1672            MisbehaviorType::LightClientAttack => "LIGHT_CLIENT_ATTACK",
1673        }
1674    }
1675    /// Creates an enum from field names used in the ProtoBuf definition.
1676    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1677        match value {
1678            "UNKNOWN" => Some(Self::Unknown),
1679            "DUPLICATE_VOTE" => Some(Self::DuplicateVote),
1680            "LIGHT_CLIENT_ATTACK" => Some(Self::LightClientAttack),
1681            _ => None,
1682        }
1683    }
1684}