provwasm_std/types/tendermint/
abci.rs

1use provwasm_proc_macro::CosmwasmExt;
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
4#[proto_message(type_url = "/tendermint.abci.Request")]
5pub struct Request {
6    #[prost(
7        oneof = "request::Value",
8        tags = "1, 2, 3, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20"
9    )]
10    pub value: ::core::option::Option<request::Value>,
11}
12/// Nested message and enum types in `Request`.
13pub mod request {
14    use provwasm_proc_macro::CosmwasmExt;
15    #[allow(clippy::derive_partial_eq_without_eq)]
16    #[derive(Clone, PartialEq, Eq, ::prost::Oneof, ::schemars::JsonSchema)]
17    pub enum Value {
18        #[prost(message, tag = "1")]
19        Echo(super::RequestEcho),
20        #[prost(message, tag = "2")]
21        Flush(super::RequestFlush),
22        #[prost(message, tag = "3")]
23        Info(super::RequestInfo),
24        #[prost(message, tag = "5")]
25        InitChain(super::RequestInitChain),
26        #[prost(message, tag = "6")]
27        Query(super::RequestQuery),
28        #[prost(message, tag = "8")]
29        CheckTx(super::RequestCheckTx),
30        #[prost(message, tag = "11")]
31        Commit(super::RequestCommit),
32        #[prost(message, tag = "12")]
33        ListSnapshots(super::RequestListSnapshots),
34        #[prost(message, tag = "13")]
35        OfferSnapshot(super::RequestOfferSnapshot),
36        #[prost(message, tag = "14")]
37        LoadSnapshotChunk(super::RequestLoadSnapshotChunk),
38        #[prost(message, tag = "15")]
39        ApplySnapshotChunk(super::RequestApplySnapshotChunk),
40        #[prost(message, tag = "16")]
41        PrepareProposal(super::RequestPrepareProposal),
42        #[prost(message, tag = "17")]
43        ProcessProposal(super::RequestProcessProposal),
44        #[prost(message, tag = "18")]
45        ExtendVote(super::RequestExtendVote),
46        #[prost(message, tag = "19")]
47        VerifyVoteExtension(super::RequestVerifyVoteExtension),
48        #[prost(message, tag = "20")]
49        FinalizeBlock(super::RequestFinalizeBlock),
50    }
51}
52#[allow(clippy::derive_partial_eq_without_eq)]
53#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
54#[proto_message(type_url = "/tendermint.abci.RequestEcho")]
55pub struct RequestEcho {
56    #[prost(string, tag = "1")]
57    pub message: ::prost::alloc::string::String,
58}
59#[allow(clippy::derive_partial_eq_without_eq)]
60#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
61#[proto_message(type_url = "/tendermint.abci.RequestFlush")]
62pub struct RequestFlush {}
63#[allow(clippy::derive_partial_eq_without_eq)]
64#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
65#[proto_message(type_url = "/tendermint.abci.RequestInfo")]
66pub struct RequestInfo {
67    #[prost(string, tag = "1")]
68    pub version: ::prost::alloc::string::String,
69    #[prost(uint64, tag = "2")]
70    pub block_version: u64,
71    #[prost(uint64, tag = "3")]
72    pub p2p_version: u64,
73    #[prost(string, tag = "4")]
74    pub abci_version: ::prost::alloc::string::String,
75}
76#[allow(clippy::derive_partial_eq_without_eq)]
77#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
78#[proto_message(type_url = "/tendermint.abci.RequestInitChain")]
79pub struct RequestInitChain {
80    #[prost(message, optional, tag = "1")]
81    pub time: ::core::option::Option<crate::shim::Timestamp>,
82    #[prost(string, tag = "2")]
83    pub chain_id: ::prost::alloc::string::String,
84    #[prost(message, optional, tag = "3")]
85    pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
86    #[prost(message, repeated, tag = "4")]
87    pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
88    #[prost(bytes = "vec", tag = "5")]
89    pub app_state_bytes: ::prost::alloc::vec::Vec<u8>,
90    #[prost(int64, tag = "6")]
91    pub initial_height: i64,
92}
93#[allow(clippy::derive_partial_eq_without_eq)]
94#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
95#[proto_message(type_url = "/tendermint.abci.RequestQuery")]
96pub struct RequestQuery {
97    #[prost(bytes = "vec", tag = "1")]
98    pub data: ::prost::alloc::vec::Vec<u8>,
99    #[prost(string, tag = "2")]
100    pub path: ::prost::alloc::string::String,
101    #[prost(int64, tag = "3")]
102    pub height: i64,
103    #[prost(bool, tag = "4")]
104    pub prove: bool,
105}
106#[allow(clippy::derive_partial_eq_without_eq)]
107#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
108#[proto_message(type_url = "/tendermint.abci.RequestCheckTx")]
109pub struct RequestCheckTx {
110    #[prost(bytes = "vec", tag = "1")]
111    pub tx: ::prost::alloc::vec::Vec<u8>,
112    #[prost(enumeration = "CheckTxType", tag = "2")]
113    pub r#type: i32,
114}
115#[allow(clippy::derive_partial_eq_without_eq)]
116#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
117#[proto_message(type_url = "/tendermint.abci.RequestCommit")]
118pub struct RequestCommit {}
119/// lists available snapshots
120#[allow(clippy::derive_partial_eq_without_eq)]
121#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
122#[proto_message(type_url = "/tendermint.abci.RequestListSnapshots")]
123pub struct RequestListSnapshots {}
124/// offers a snapshot to the application
125#[allow(clippy::derive_partial_eq_without_eq)]
126#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
127#[proto_message(type_url = "/tendermint.abci.RequestOfferSnapshot")]
128pub struct RequestOfferSnapshot {
129    /// snapshot offered by peers
130    #[prost(message, optional, tag = "1")]
131    pub snapshot: ::core::option::Option<Snapshot>,
132    /// light client-verified app hash for snapshot height
133    #[prost(bytes = "vec", tag = "2")]
134    pub app_hash: ::prost::alloc::vec::Vec<u8>,
135}
136/// loads a snapshot chunk
137#[allow(clippy::derive_partial_eq_without_eq)]
138#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
139#[proto_message(type_url = "/tendermint.abci.RequestLoadSnapshotChunk")]
140pub struct RequestLoadSnapshotChunk {
141    #[prost(uint64, tag = "1")]
142    pub height: u64,
143    #[prost(uint32, tag = "2")]
144    pub format: u32,
145    #[prost(uint32, tag = "3")]
146    pub chunk: u32,
147}
148/// Applies a snapshot chunk
149#[allow(clippy::derive_partial_eq_without_eq)]
150#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
151#[proto_message(type_url = "/tendermint.abci.RequestApplySnapshotChunk")]
152pub struct RequestApplySnapshotChunk {
153    #[prost(uint32, tag = "1")]
154    pub index: u32,
155    #[prost(bytes = "vec", tag = "2")]
156    pub chunk: ::prost::alloc::vec::Vec<u8>,
157    #[prost(string, tag = "3")]
158    pub sender: ::prost::alloc::string::String,
159}
160#[allow(clippy::derive_partial_eq_without_eq)]
161#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
162#[proto_message(type_url = "/tendermint.abci.RequestPrepareProposal")]
163pub struct RequestPrepareProposal {
164    /// the modified transactions cannot exceed this size.
165    #[prost(int64, tag = "1")]
166    pub max_tx_bytes: i64,
167    /// txs is an array of transactions that will be included in a block,
168    /// sent to the app for possible modifications.
169    #[prost(bytes = "vec", repeated, tag = "2")]
170    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
171    #[prost(message, optional, tag = "3")]
172    pub local_last_commit: ::core::option::Option<ExtendedCommitInfo>,
173    #[prost(message, repeated, tag = "4")]
174    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
175    #[prost(int64, tag = "5")]
176    pub height: i64,
177    #[prost(message, optional, tag = "6")]
178    pub time: ::core::option::Option<crate::shim::Timestamp>,
179    #[prost(bytes = "vec", tag = "7")]
180    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
181    /// address of the public key of the validator proposing the block.
182    #[prost(bytes = "vec", tag = "8")]
183    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
184}
185#[allow(clippy::derive_partial_eq_without_eq)]
186#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
187#[proto_message(type_url = "/tendermint.abci.RequestProcessProposal")]
188pub struct RequestProcessProposal {
189    #[prost(bytes = "vec", repeated, tag = "1")]
190    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
191    #[prost(message, optional, tag = "2")]
192    pub proposed_last_commit: ::core::option::Option<CommitInfo>,
193    #[prost(message, repeated, tag = "3")]
194    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
195    /// hash is the merkle root hash of the fields of the proposed block.
196    #[prost(bytes = "vec", tag = "4")]
197    pub hash: ::prost::alloc::vec::Vec<u8>,
198    #[prost(int64, tag = "5")]
199    pub height: i64,
200    #[prost(message, optional, tag = "6")]
201    pub time: ::core::option::Option<crate::shim::Timestamp>,
202    #[prost(bytes = "vec", tag = "7")]
203    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
204    /// address of the public key of the original proposer of the block.
205    #[prost(bytes = "vec", tag = "8")]
206    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
207}
208/// Extends a vote with application-injected data
209#[allow(clippy::derive_partial_eq_without_eq)]
210#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
211#[proto_message(type_url = "/tendermint.abci.RequestExtendVote")]
212pub struct RequestExtendVote {
213    /// the hash of the block that this vote may be referring to
214    #[prost(bytes = "vec", tag = "1")]
215    pub hash: ::prost::alloc::vec::Vec<u8>,
216    /// the height of the extended vote
217    #[prost(int64, tag = "2")]
218    pub height: i64,
219    /// info of the block that this vote may be referring to
220    #[prost(message, optional, tag = "3")]
221    pub time: ::core::option::Option<crate::shim::Timestamp>,
222    #[prost(bytes = "vec", repeated, tag = "4")]
223    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
224    #[prost(message, optional, tag = "5")]
225    pub proposed_last_commit: ::core::option::Option<CommitInfo>,
226    #[prost(message, repeated, tag = "6")]
227    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
228    #[prost(bytes = "vec", tag = "7")]
229    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
230    /// address of the public key of the original proposer of the block.
231    #[prost(bytes = "vec", tag = "8")]
232    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
233}
234/// Verify the vote extension
235#[allow(clippy::derive_partial_eq_without_eq)]
236#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
237#[proto_message(type_url = "/tendermint.abci.RequestVerifyVoteExtension")]
238pub struct RequestVerifyVoteExtension {
239    /// the hash of the block that this received vote corresponds to
240    #[prost(bytes = "vec", tag = "1")]
241    pub hash: ::prost::alloc::vec::Vec<u8>,
242    /// the validator that signed the vote extension
243    #[prost(bytes = "vec", tag = "2")]
244    pub validator_address: ::prost::alloc::vec::Vec<u8>,
245    #[prost(int64, tag = "3")]
246    pub height: i64,
247    #[prost(bytes = "vec", tag = "4")]
248    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
249}
250#[allow(clippy::derive_partial_eq_without_eq)]
251#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
252#[proto_message(type_url = "/tendermint.abci.RequestFinalizeBlock")]
253pub struct RequestFinalizeBlock {
254    #[prost(bytes = "vec", repeated, tag = "1")]
255    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
256    #[prost(message, optional, tag = "2")]
257    pub decided_last_commit: ::core::option::Option<CommitInfo>,
258    #[prost(message, repeated, tag = "3")]
259    pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
260    /// hash is the merkle root hash of the fields of the decided block.
261    #[prost(bytes = "vec", tag = "4")]
262    pub hash: ::prost::alloc::vec::Vec<u8>,
263    #[prost(int64, tag = "5")]
264    pub height: i64,
265    #[prost(message, optional, tag = "6")]
266    pub time: ::core::option::Option<crate::shim::Timestamp>,
267    #[prost(bytes = "vec", tag = "7")]
268    pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
269    /// proposer_address is the address of the public key of the original proposer of the block.
270    #[prost(bytes = "vec", tag = "8")]
271    pub proposer_address: ::prost::alloc::vec::Vec<u8>,
272}
273#[allow(clippy::derive_partial_eq_without_eq)]
274#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
275#[proto_message(type_url = "/tendermint.abci.Response")]
276pub struct Response {
277    #[prost(
278        oneof = "response::Value",
279        tags = "1, 2, 3, 4, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21"
280    )]
281    pub value: ::core::option::Option<response::Value>,
282}
283/// Nested message and enum types in `Response`.
284pub mod response {
285    use provwasm_proc_macro::CosmwasmExt;
286    #[allow(clippy::derive_partial_eq_without_eq)]
287    #[derive(Clone, PartialEq, Eq, ::prost::Oneof, ::schemars::JsonSchema)]
288    pub enum Value {
289        #[prost(message, tag = "1")]
290        Exception(super::ResponseException),
291        #[prost(message, tag = "2")]
292        Echo(super::ResponseEcho),
293        #[prost(message, tag = "3")]
294        Flush(super::ResponseFlush),
295        #[prost(message, tag = "4")]
296        Info(super::ResponseInfo),
297        #[prost(message, tag = "6")]
298        InitChain(super::ResponseInitChain),
299        #[prost(message, tag = "7")]
300        Query(super::ResponseQuery),
301        #[prost(message, tag = "9")]
302        CheckTx(super::ResponseCheckTx),
303        #[prost(message, tag = "12")]
304        Commit(super::ResponseCommit),
305        #[prost(message, tag = "13")]
306        ListSnapshots(super::ResponseListSnapshots),
307        #[prost(message, tag = "14")]
308        OfferSnapshot(super::ResponseOfferSnapshot),
309        #[prost(message, tag = "15")]
310        LoadSnapshotChunk(super::ResponseLoadSnapshotChunk),
311        #[prost(message, tag = "16")]
312        ApplySnapshotChunk(super::ResponseApplySnapshotChunk),
313        #[prost(message, tag = "17")]
314        PrepareProposal(super::ResponsePrepareProposal),
315        #[prost(message, tag = "18")]
316        ProcessProposal(super::ResponseProcessProposal),
317        #[prost(message, tag = "19")]
318        ExtendVote(super::ResponseExtendVote),
319        #[prost(message, tag = "20")]
320        VerifyVoteExtension(super::ResponseVerifyVoteExtension),
321        #[prost(message, tag = "21")]
322        FinalizeBlock(super::ResponseFinalizeBlock),
323    }
324}
325/// nondeterministic
326#[allow(clippy::derive_partial_eq_without_eq)]
327#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
328#[proto_message(type_url = "/tendermint.abci.ResponseException")]
329pub struct ResponseException {
330    #[prost(string, tag = "1")]
331    pub error: ::prost::alloc::string::String,
332}
333#[allow(clippy::derive_partial_eq_without_eq)]
334#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
335#[proto_message(type_url = "/tendermint.abci.ResponseEcho")]
336pub struct ResponseEcho {
337    #[prost(string, tag = "1")]
338    pub message: ::prost::alloc::string::String,
339}
340#[allow(clippy::derive_partial_eq_without_eq)]
341#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
342#[proto_message(type_url = "/tendermint.abci.ResponseFlush")]
343pub struct ResponseFlush {}
344#[allow(clippy::derive_partial_eq_without_eq)]
345#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
346#[proto_message(type_url = "/tendermint.abci.ResponseInfo")]
347pub struct ResponseInfo {
348    #[prost(string, tag = "1")]
349    pub data: ::prost::alloc::string::String,
350    #[prost(string, tag = "2")]
351    pub version: ::prost::alloc::string::String,
352    #[prost(uint64, tag = "3")]
353    pub app_version: u64,
354    #[prost(int64, tag = "4")]
355    pub last_block_height: i64,
356    #[prost(bytes = "vec", tag = "5")]
357    pub last_block_app_hash: ::prost::alloc::vec::Vec<u8>,
358}
359#[allow(clippy::derive_partial_eq_without_eq)]
360#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
361#[proto_message(type_url = "/tendermint.abci.ResponseInitChain")]
362pub struct ResponseInitChain {
363    #[prost(message, optional, tag = "1")]
364    pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
365    #[prost(message, repeated, tag = "2")]
366    pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
367    #[prost(bytes = "vec", tag = "3")]
368    pub app_hash: ::prost::alloc::vec::Vec<u8>,
369}
370#[allow(clippy::derive_partial_eq_without_eq)]
371#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
372#[proto_message(type_url = "/tendermint.abci.ResponseQuery")]
373pub struct ResponseQuery {
374    #[prost(uint32, tag = "1")]
375    pub code: u32,
376    /// bytes data = 2; // use "value" instead.
377    ///
378    /// nondeterministic
379    #[prost(string, tag = "3")]
380    pub log: ::prost::alloc::string::String,
381    /// nondeterministic
382    #[prost(string, tag = "4")]
383    pub info: ::prost::alloc::string::String,
384    #[prost(int64, tag = "5")]
385    pub index: i64,
386    #[prost(bytes = "vec", tag = "6")]
387    pub key: ::prost::alloc::vec::Vec<u8>,
388    #[prost(bytes = "vec", tag = "7")]
389    pub value: ::prost::alloc::vec::Vec<u8>,
390    #[prost(message, optional, tag = "8")]
391    pub proof_ops: ::core::option::Option<super::crypto::ProofOps>,
392    #[prost(int64, tag = "9")]
393    pub height: i64,
394    #[prost(string, tag = "10")]
395    pub codespace: ::prost::alloc::string::String,
396}
397#[allow(clippy::derive_partial_eq_without_eq)]
398#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
399#[proto_message(type_url = "/tendermint.abci.ResponseCheckTx")]
400pub struct ResponseCheckTx {
401    #[prost(uint32, tag = "1")]
402    pub code: u32,
403    #[prost(bytes = "vec", tag = "2")]
404    pub data: ::prost::alloc::vec::Vec<u8>,
405    /// nondeterministic
406    #[prost(string, tag = "3")]
407    pub log: ::prost::alloc::string::String,
408    /// nondeterministic
409    #[prost(string, tag = "4")]
410    pub info: ::prost::alloc::string::String,
411    #[prost(int64, tag = "5")]
412    pub gas_wanted: i64,
413    #[prost(int64, tag = "6")]
414    pub gas_used: i64,
415    #[prost(message, repeated, tag = "7")]
416    pub events: ::prost::alloc::vec::Vec<Event>,
417    #[prost(string, tag = "8")]
418    pub codespace: ::prost::alloc::string::String,
419}
420#[allow(clippy::derive_partial_eq_without_eq)]
421#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
422#[proto_message(type_url = "/tendermint.abci.ResponseCommit")]
423pub struct ResponseCommit {
424    #[prost(int64, tag = "3")]
425    pub retain_height: i64,
426}
427#[allow(clippy::derive_partial_eq_without_eq)]
428#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
429#[proto_message(type_url = "/tendermint.abci.ResponseListSnapshots")]
430pub struct ResponseListSnapshots {
431    #[prost(message, repeated, tag = "1")]
432    pub snapshots: ::prost::alloc::vec::Vec<Snapshot>,
433}
434#[allow(clippy::derive_partial_eq_without_eq)]
435#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
436#[proto_message(type_url = "/tendermint.abci.ResponseOfferSnapshot")]
437pub struct ResponseOfferSnapshot {
438    #[prost(enumeration = "response_offer_snapshot::Result", tag = "1")]
439    pub result: i32,
440}
441/// Nested message and enum types in `ResponseOfferSnapshot`.
442pub mod response_offer_snapshot {
443    use provwasm_proc_macro::CosmwasmExt;
444    #[derive(
445        Clone,
446        Copy,
447        Debug,
448        PartialEq,
449        Eq,
450        Hash,
451        PartialOrd,
452        Ord,
453        ::prost::Enumeration,
454        ::schemars::JsonSchema,
455    )]
456    #[repr(i32)]
457    pub enum Result {
458        /// Unknown result, abort all snapshot restoration
459        Unknown = 0,
460        /// Snapshot accepted, apply chunks
461        Accept = 1,
462        /// Abort all snapshot restoration
463        Abort = 2,
464        /// Reject this specific snapshot, try others
465        Reject = 3,
466        /// Reject all snapshots of this format, try others
467        RejectFormat = 4,
468        /// Reject all snapshots from the sender(s), try others
469        RejectSender = 5,
470    }
471    impl Result {
472        /// String value of the enum field names used in the ProtoBuf definition.
473        ///
474        /// The values are not transformed in any way and thus are considered stable
475        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
476        pub fn as_str_name(&self) -> &'static str {
477            match self {
478                Result::Unknown => "UNKNOWN",
479                Result::Accept => "ACCEPT",
480                Result::Abort => "ABORT",
481                Result::Reject => "REJECT",
482                Result::RejectFormat => "REJECT_FORMAT",
483                Result::RejectSender => "REJECT_SENDER",
484            }
485        }
486        /// Creates an enum from field names used in the ProtoBuf definition.
487        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
488            match value {
489                "UNKNOWN" => Some(Self::Unknown),
490                "ACCEPT" => Some(Self::Accept),
491                "ABORT" => Some(Self::Abort),
492                "REJECT" => Some(Self::Reject),
493                "REJECT_FORMAT" => Some(Self::RejectFormat),
494                "REJECT_SENDER" => Some(Self::RejectSender),
495                _ => None,
496            }
497        }
498    }
499}
500#[allow(clippy::derive_partial_eq_without_eq)]
501#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
502#[proto_message(type_url = "/tendermint.abci.ResponseLoadSnapshotChunk")]
503pub struct ResponseLoadSnapshotChunk {
504    #[prost(bytes = "vec", tag = "1")]
505    pub chunk: ::prost::alloc::vec::Vec<u8>,
506}
507#[allow(clippy::derive_partial_eq_without_eq)]
508#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
509#[proto_message(type_url = "/tendermint.abci.ResponseApplySnapshotChunk")]
510pub struct ResponseApplySnapshotChunk {
511    #[prost(enumeration = "response_apply_snapshot_chunk::Result", tag = "1")]
512    pub result: i32,
513    /// Chunks to refetch and reapply
514    #[prost(uint32, repeated, tag = "2")]
515    pub refetch_chunks: ::prost::alloc::vec::Vec<u32>,
516    /// Chunk senders to reject and ban
517    #[prost(string, repeated, tag = "3")]
518    pub reject_senders: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
519}
520/// Nested message and enum types in `ResponseApplySnapshotChunk`.
521pub mod response_apply_snapshot_chunk {
522    use provwasm_proc_macro::CosmwasmExt;
523    #[derive(
524        Clone,
525        Copy,
526        Debug,
527        PartialEq,
528        Eq,
529        Hash,
530        PartialOrd,
531        Ord,
532        ::prost::Enumeration,
533        ::schemars::JsonSchema,
534    )]
535    #[repr(i32)]
536    pub enum Result {
537        /// Unknown result, abort all snapshot restoration
538        Unknown = 0,
539        /// Chunk successfully accepted
540        Accept = 1,
541        /// Abort all snapshot restoration
542        Abort = 2,
543        /// Retry chunk (combine with refetch and reject)
544        Retry = 3,
545        /// Retry snapshot (combine with refetch and reject)
546        RetrySnapshot = 4,
547        /// Reject this snapshot, try others
548        RejectSnapshot = 5,
549    }
550    impl Result {
551        /// String value of the enum field names used in the ProtoBuf definition.
552        ///
553        /// The values are not transformed in any way and thus are considered stable
554        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
555        pub fn as_str_name(&self) -> &'static str {
556            match self {
557                Result::Unknown => "UNKNOWN",
558                Result::Accept => "ACCEPT",
559                Result::Abort => "ABORT",
560                Result::Retry => "RETRY",
561                Result::RetrySnapshot => "RETRY_SNAPSHOT",
562                Result::RejectSnapshot => "REJECT_SNAPSHOT",
563            }
564        }
565        /// Creates an enum from field names used in the ProtoBuf definition.
566        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
567            match value {
568                "UNKNOWN" => Some(Self::Unknown),
569                "ACCEPT" => Some(Self::Accept),
570                "ABORT" => Some(Self::Abort),
571                "RETRY" => Some(Self::Retry),
572                "RETRY_SNAPSHOT" => Some(Self::RetrySnapshot),
573                "REJECT_SNAPSHOT" => Some(Self::RejectSnapshot),
574                _ => None,
575            }
576        }
577    }
578}
579#[allow(clippy::derive_partial_eq_without_eq)]
580#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
581#[proto_message(type_url = "/tendermint.abci.ResponsePrepareProposal")]
582pub struct ResponsePrepareProposal {
583    #[prost(bytes = "vec", repeated, tag = "1")]
584    pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
585}
586#[allow(clippy::derive_partial_eq_without_eq)]
587#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
588#[proto_message(type_url = "/tendermint.abci.ResponseProcessProposal")]
589pub struct ResponseProcessProposal {
590    #[prost(enumeration = "response_process_proposal::ProposalStatus", tag = "1")]
591    pub status: i32,
592}
593/// Nested message and enum types in `ResponseProcessProposal`.
594pub mod response_process_proposal {
595    use provwasm_proc_macro::CosmwasmExt;
596    #[derive(
597        Clone,
598        Copy,
599        Debug,
600        PartialEq,
601        Eq,
602        Hash,
603        PartialOrd,
604        Ord,
605        ::prost::Enumeration,
606        ::schemars::JsonSchema,
607    )]
608    #[repr(i32)]
609    pub enum ProposalStatus {
610        Unknown = 0,
611        Accept = 1,
612        Reject = 2,
613    }
614    impl ProposalStatus {
615        /// String value of the enum field names used in the ProtoBuf definition.
616        ///
617        /// The values are not transformed in any way and thus are considered stable
618        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
619        pub fn as_str_name(&self) -> &'static str {
620            match self {
621                ProposalStatus::Unknown => "UNKNOWN",
622                ProposalStatus::Accept => "ACCEPT",
623                ProposalStatus::Reject => "REJECT",
624            }
625        }
626        /// Creates an enum from field names used in the ProtoBuf definition.
627        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
628            match value {
629                "UNKNOWN" => Some(Self::Unknown),
630                "ACCEPT" => Some(Self::Accept),
631                "REJECT" => Some(Self::Reject),
632                _ => None,
633            }
634        }
635    }
636}
637#[allow(clippy::derive_partial_eq_without_eq)]
638#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
639#[proto_message(type_url = "/tendermint.abci.ResponseExtendVote")]
640pub struct ResponseExtendVote {
641    #[prost(bytes = "vec", tag = "1")]
642    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
643}
644#[allow(clippy::derive_partial_eq_without_eq)]
645#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
646#[proto_message(type_url = "/tendermint.abci.ResponseVerifyVoteExtension")]
647pub struct ResponseVerifyVoteExtension {
648    #[prost(
649        enumeration = "response_verify_vote_extension::VerifyStatus",
650        tag = "1"
651    )]
652    pub status: i32,
653}
654/// Nested message and enum types in `ResponseVerifyVoteExtension`.
655pub mod response_verify_vote_extension {
656    use provwasm_proc_macro::CosmwasmExt;
657    #[derive(
658        Clone,
659        Copy,
660        Debug,
661        PartialEq,
662        Eq,
663        Hash,
664        PartialOrd,
665        Ord,
666        ::prost::Enumeration,
667        ::schemars::JsonSchema,
668    )]
669    #[repr(i32)]
670    pub enum VerifyStatus {
671        Unknown = 0,
672        Accept = 1,
673        /// Rejecting the vote extension will reject the entire precommit by the sender.
674        /// Incorrectly implementing this thus has liveness implications as it may affect
675        /// CometBFT's ability to receive 2/3+ valid votes to finalize the block.
676        /// Honest nodes should never be rejected.
677        Reject = 2,
678    }
679    impl VerifyStatus {
680        /// String value of the enum field names used in the ProtoBuf definition.
681        ///
682        /// The values are not transformed in any way and thus are considered stable
683        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
684        pub fn as_str_name(&self) -> &'static str {
685            match self {
686                VerifyStatus::Unknown => "UNKNOWN",
687                VerifyStatus::Accept => "ACCEPT",
688                VerifyStatus::Reject => "REJECT",
689            }
690        }
691        /// Creates an enum from field names used in the ProtoBuf definition.
692        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
693            match value {
694                "UNKNOWN" => Some(Self::Unknown),
695                "ACCEPT" => Some(Self::Accept),
696                "REJECT" => Some(Self::Reject),
697                _ => None,
698            }
699        }
700    }
701}
702#[allow(clippy::derive_partial_eq_without_eq)]
703#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
704#[proto_message(type_url = "/tendermint.abci.ResponseFinalizeBlock")]
705pub struct ResponseFinalizeBlock {
706    /// set of block events emmitted as part of executing the block
707    #[prost(message, repeated, tag = "1")]
708    pub events: ::prost::alloc::vec::Vec<Event>,
709    /// the result of executing each transaction including the events
710    /// the particular transction emitted. This should match the order
711    /// of the transactions delivered in the block itself
712    #[prost(message, repeated, tag = "2")]
713    pub tx_results: ::prost::alloc::vec::Vec<ExecTxResult>,
714    /// a list of updates to the validator set. These will reflect the validator set at current height + 2.
715    #[prost(message, repeated, tag = "3")]
716    pub validator_updates: ::prost::alloc::vec::Vec<ValidatorUpdate>,
717    /// updates to the consensus params, if any.
718    #[prost(message, optional, tag = "4")]
719    pub consensus_param_updates: ::core::option::Option<super::types::ConsensusParams>,
720    /// app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was deterministic. It is up to the application to decide which algorithm to use.
721    #[prost(bytes = "vec", tag = "5")]
722    pub app_hash: ::prost::alloc::vec::Vec<u8>,
723}
724#[allow(clippy::derive_partial_eq_without_eq)]
725#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
726#[proto_message(type_url = "/tendermint.abci.CommitInfo")]
727pub struct CommitInfo {
728    #[prost(int32, tag = "1")]
729    pub round: i32,
730    #[prost(message, repeated, tag = "2")]
731    pub votes: ::prost::alloc::vec::Vec<VoteInfo>,
732}
733/// ExtendedCommitInfo is similar to CommitInfo except that it is only used in
734/// the PrepareProposal request such that CometBFT can provide vote extensions
735/// to the application.
736#[allow(clippy::derive_partial_eq_without_eq)]
737#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
738#[proto_message(type_url = "/tendermint.abci.ExtendedCommitInfo")]
739pub struct ExtendedCommitInfo {
740    /// The round at which the block proposer decided in the previous height.
741    #[prost(int32, tag = "1")]
742    pub round: i32,
743    /// List of validators' addresses in the last validator set with their voting
744    /// information, including vote extensions.
745    #[prost(message, repeated, tag = "2")]
746    pub votes: ::prost::alloc::vec::Vec<ExtendedVoteInfo>,
747}
748/// Event allows application developers to attach additional information to
749/// ResponseFinalizeBlock and ResponseCheckTx.
750/// Later, transactions may be queried using these events.
751#[allow(clippy::derive_partial_eq_without_eq)]
752#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
753#[proto_message(type_url = "/tendermint.abci.Event")]
754pub struct Event {
755    #[prost(string, tag = "1")]
756    pub r#type: ::prost::alloc::string::String,
757    #[prost(message, repeated, tag = "2")]
758    pub attributes: ::prost::alloc::vec::Vec<EventAttribute>,
759}
760/// EventAttribute is a single key-value pair, associated with an event.
761#[allow(clippy::derive_partial_eq_without_eq)]
762#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
763#[proto_message(type_url = "/tendermint.abci.EventAttribute")]
764pub struct EventAttribute {
765    #[prost(string, tag = "1")]
766    pub key: ::prost::alloc::string::String,
767    #[prost(string, tag = "2")]
768    pub value: ::prost::alloc::string::String,
769    /// nondeterministic
770    #[prost(bool, tag = "3")]
771    pub index: bool,
772}
773/// ExecTxResult contains results of executing one individual transaction.
774///
775/// * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted
776#[allow(clippy::derive_partial_eq_without_eq)]
777#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
778#[proto_message(type_url = "/tendermint.abci.ExecTxResult")]
779pub struct ExecTxResult {
780    #[prost(uint32, tag = "1")]
781    pub code: u32,
782    #[prost(bytes = "vec", tag = "2")]
783    pub data: ::prost::alloc::vec::Vec<u8>,
784    /// nondeterministic
785    #[prost(string, tag = "3")]
786    pub log: ::prost::alloc::string::String,
787    /// nondeterministic
788    #[prost(string, tag = "4")]
789    pub info: ::prost::alloc::string::String,
790    #[prost(int64, tag = "5")]
791    pub gas_wanted: i64,
792    #[prost(int64, tag = "6")]
793    pub gas_used: i64,
794    /// nondeterministic
795    #[prost(message, repeated, tag = "7")]
796    pub events: ::prost::alloc::vec::Vec<Event>,
797    #[prost(string, tag = "8")]
798    pub codespace: ::prost::alloc::string::String,
799}
800/// TxResult contains results of executing the transaction.
801///
802/// One usage is indexing transaction results.
803#[allow(clippy::derive_partial_eq_without_eq)]
804#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
805#[proto_message(type_url = "/tendermint.abci.TxResult")]
806pub struct TxResult {
807    #[prost(int64, tag = "1")]
808    pub height: i64,
809    #[prost(uint32, tag = "2")]
810    pub index: u32,
811    #[prost(bytes = "vec", tag = "3")]
812    pub tx: ::prost::alloc::vec::Vec<u8>,
813    #[prost(message, optional, tag = "4")]
814    pub result: ::core::option::Option<ExecTxResult>,
815}
816#[allow(clippy::derive_partial_eq_without_eq)]
817#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
818#[proto_message(type_url = "/tendermint.abci.Validator")]
819pub struct Validator {
820    /// The first 20 bytes of SHA256(public key)
821    #[prost(bytes = "vec", tag = "1")]
822    pub address: ::prost::alloc::vec::Vec<u8>,
823    /// PubKey pub_key = 2 \[(gogoproto.nullable)=false\];
824    ///
825    /// The voting power
826    #[prost(int64, tag = "3")]
827    pub power: i64,
828}
829#[allow(clippy::derive_partial_eq_without_eq)]
830#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
831#[proto_message(type_url = "/tendermint.abci.ValidatorUpdate")]
832pub struct ValidatorUpdate {
833    #[prost(message, optional, tag = "1")]
834    pub pub_key: ::core::option::Option<super::crypto::PublicKey>,
835    #[prost(int64, tag = "2")]
836    pub power: i64,
837}
838#[allow(clippy::derive_partial_eq_without_eq)]
839#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
840#[proto_message(type_url = "/tendermint.abci.VoteInfo")]
841pub struct VoteInfo {
842    #[prost(message, optional, tag = "1")]
843    pub validator: ::core::option::Option<Validator>,
844    #[prost(enumeration = "super::types::BlockIdFlag", tag = "3")]
845    pub block_id_flag: i32,
846}
847#[allow(clippy::derive_partial_eq_without_eq)]
848#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
849#[proto_message(type_url = "/tendermint.abci.ExtendedVoteInfo")]
850pub struct ExtendedVoteInfo {
851    /// The validator that sent the vote.
852    #[prost(message, optional, tag = "1")]
853    pub validator: ::core::option::Option<Validator>,
854    /// Non-deterministic extension provided by the sending validator's application.
855    #[prost(bytes = "vec", tag = "3")]
856    pub vote_extension: ::prost::alloc::vec::Vec<u8>,
857    /// Vote extension signature created by CometBFT
858    #[prost(bytes = "vec", tag = "4")]
859    pub extension_signature: ::prost::alloc::vec::Vec<u8>,
860    /// block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all
861    #[prost(enumeration = "super::types::BlockIdFlag", tag = "5")]
862    pub block_id_flag: i32,
863}
864#[allow(clippy::derive_partial_eq_without_eq)]
865#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
866#[proto_message(type_url = "/tendermint.abci.Misbehavior")]
867pub struct Misbehavior {
868    #[prost(enumeration = "MisbehaviorType", tag = "1")]
869    pub r#type: i32,
870    /// The offending validator
871    #[prost(message, optional, tag = "2")]
872    pub validator: ::core::option::Option<Validator>,
873    /// The height when the offense occurred
874    #[prost(int64, tag = "3")]
875    pub height: i64,
876    /// The corresponding time where the offense occurred
877    #[prost(message, optional, tag = "4")]
878    pub time: ::core::option::Option<crate::shim::Timestamp>,
879    /// Total voting power of the validator set in case the ABCI application does
880    /// not store historical validators.
881    /// <https://github.com/tendermint/tendermint/issues/4581>
882    #[prost(int64, tag = "5")]
883    pub total_voting_power: i64,
884}
885#[allow(clippy::derive_partial_eq_without_eq)]
886#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
887#[proto_message(type_url = "/tendermint.abci.Snapshot")]
888pub struct Snapshot {
889    /// The height at which the snapshot was taken
890    #[prost(uint64, tag = "1")]
891    pub height: u64,
892    /// The application-specific snapshot format
893    #[prost(uint32, tag = "2")]
894    pub format: u32,
895    /// Number of chunks in the snapshot
896    #[prost(uint32, tag = "3")]
897    pub chunks: u32,
898    /// Arbitrary snapshot hash, equal only if identical
899    #[prost(bytes = "vec", tag = "4")]
900    pub hash: ::prost::alloc::vec::Vec<u8>,
901    /// Arbitrary application metadata
902    #[prost(bytes = "vec", tag = "5")]
903    pub metadata: ::prost::alloc::vec::Vec<u8>,
904}
905#[derive(
906    Clone,
907    Copy,
908    Debug,
909    PartialEq,
910    Eq,
911    Hash,
912    PartialOrd,
913    Ord,
914    ::prost::Enumeration,
915    ::schemars::JsonSchema,
916)]
917#[repr(i32)]
918pub enum CheckTxType {
919    New = 0,
920    Recheck = 1,
921}
922impl CheckTxType {
923    /// String value of the enum field names used in the ProtoBuf definition.
924    ///
925    /// The values are not transformed in any way and thus are considered stable
926    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
927    pub fn as_str_name(&self) -> &'static str {
928        match self {
929            CheckTxType::New => "NEW",
930            CheckTxType::Recheck => "RECHECK",
931        }
932    }
933    /// Creates an enum from field names used in the ProtoBuf definition.
934    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
935        match value {
936            "NEW" => Some(Self::New),
937            "RECHECK" => Some(Self::Recheck),
938            _ => None,
939        }
940    }
941}
942#[derive(
943    Clone,
944    Copy,
945    Debug,
946    PartialEq,
947    Eq,
948    Hash,
949    PartialOrd,
950    Ord,
951    ::prost::Enumeration,
952    ::schemars::JsonSchema,
953)]
954#[repr(i32)]
955pub enum MisbehaviorType {
956    Unknown = 0,
957    DuplicateVote = 1,
958    LightClientAttack = 2,
959}
960impl MisbehaviorType {
961    /// String value of the enum field names used in the ProtoBuf definition.
962    ///
963    /// The values are not transformed in any way and thus are considered stable
964    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
965    pub fn as_str_name(&self) -> &'static str {
966        match self {
967            MisbehaviorType::Unknown => "UNKNOWN",
968            MisbehaviorType::DuplicateVote => "DUPLICATE_VOTE",
969            MisbehaviorType::LightClientAttack => "LIGHT_CLIENT_ATTACK",
970        }
971    }
972    /// Creates an enum from field names used in the ProtoBuf definition.
973    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
974        match value {
975            "UNKNOWN" => Some(Self::Unknown),
976            "DUPLICATE_VOTE" => Some(Self::DuplicateVote),
977            "LIGHT_CLIENT_ATTACK" => Some(Self::LightClientAttack),
978            _ => None,
979        }
980    }
981}