1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Request {
4 #[prost(
5 oneof = "request::Value",
6 tags = "1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17"
7 )]
8 pub value: ::core::option::Option<request::Value>,
9}
10pub mod request {
12 #[derive(Clone, PartialEq, ::prost::Oneof)]
13 pub enum Value {
14 #[prost(message, tag = "1")]
15 Echo(super::RequestEcho),
16 #[prost(message, tag = "2")]
17 Flush(super::RequestFlush),
18 #[prost(message, tag = "3")]
19 Info(super::RequestInfo),
20 #[prost(message, tag = "5")]
21 InitChain(super::RequestInitChain),
22 #[prost(message, tag = "6")]
23 Query(super::RequestQuery),
24 #[prost(message, tag = "7")]
25 BeginBlock(super::RequestBeginBlock),
26 #[prost(message, tag = "8")]
27 CheckTx(super::RequestCheckTx),
28 #[prost(message, tag = "9")]
29 DeliverTx(super::RequestDeliverTx),
30 #[prost(message, tag = "10")]
31 EndBlock(super::RequestEndBlock),
32 #[prost(message, tag = "11")]
33 Commit(super::RequestCommit),
34 #[prost(message, tag = "12")]
35 ListSnapshots(super::RequestListSnapshots),
36 #[prost(message, tag = "13")]
37 OfferSnapshot(super::RequestOfferSnapshot),
38 #[prost(message, tag = "14")]
39 LoadSnapshotChunk(super::RequestLoadSnapshotChunk),
40 #[prost(message, tag = "15")]
41 ApplySnapshotChunk(super::RequestApplySnapshotChunk),
42 #[prost(message, tag = "16")]
43 PrepareProposal(super::RequestPrepareProposal),
44 #[prost(message, tag = "17")]
45 ProcessProposal(super::RequestProcessProposal),
46 }
47}
48impl ::prost::Name for Request {
49 const NAME: &'static str = "Request";
50 const PACKAGE: &'static str = "tendermint.abci";
51 fn full_name() -> ::prost::alloc::string::String {
52 "tendermint.abci.Request".into()
53 }
54 fn type_url() -> ::prost::alloc::string::String {
55 "/tendermint.abci.Request".into()
56 }
57}
58#[derive(Clone, PartialEq, ::prost::Message)]
59pub struct RequestEcho {
60 #[prost(string, tag = "1")]
61 pub message: ::prost::alloc::string::String,
62}
63impl ::prost::Name for RequestEcho {
64 const NAME: &'static str = "RequestEcho";
65 const PACKAGE: &'static str = "tendermint.abci";
66 fn full_name() -> ::prost::alloc::string::String {
67 "tendermint.abci.RequestEcho".into()
68 }
69 fn type_url() -> ::prost::alloc::string::String {
70 "/tendermint.abci.RequestEcho".into()
71 }
72}
73#[derive(Clone, Copy, PartialEq, ::prost::Message)]
74pub struct RequestFlush {}
75impl ::prost::Name for RequestFlush {
76 const NAME: &'static str = "RequestFlush";
77 const PACKAGE: &'static str = "tendermint.abci";
78 fn full_name() -> ::prost::alloc::string::String {
79 "tendermint.abci.RequestFlush".into()
80 }
81 fn type_url() -> ::prost::alloc::string::String {
82 "/tendermint.abci.RequestFlush".into()
83 }
84}
85#[derive(Clone, PartialEq, ::prost::Message)]
86pub struct RequestInfo {
87 #[prost(string, tag = "1")]
88 pub version: ::prost::alloc::string::String,
89 #[prost(uint64, tag = "2")]
90 pub block_version: u64,
91 #[prost(uint64, tag = "3")]
92 pub p2p_version: u64,
93 #[prost(string, tag = "4")]
94 pub abci_version: ::prost::alloc::string::String,
95}
96impl ::prost::Name for RequestInfo {
97 const NAME: &'static str = "RequestInfo";
98 const PACKAGE: &'static str = "tendermint.abci";
99 fn full_name() -> ::prost::alloc::string::String {
100 "tendermint.abci.RequestInfo".into()
101 }
102 fn type_url() -> ::prost::alloc::string::String {
103 "/tendermint.abci.RequestInfo".into()
104 }
105}
106#[derive(Clone, PartialEq, ::prost::Message)]
107pub struct RequestInitChain {
108 #[prost(message, optional, tag = "1")]
109 pub time: ::core::option::Option<::pbjson_types::Timestamp>,
110 #[prost(string, tag = "2")]
111 pub chain_id: ::prost::alloc::string::String,
112 #[prost(message, optional, tag = "3")]
113 pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
114 #[prost(message, repeated, tag = "4")]
115 pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
116 #[prost(bytes = "vec", tag = "5")]
117 pub app_state_bytes: ::prost::alloc::vec::Vec<u8>,
118 #[prost(int64, tag = "6")]
119 pub initial_height: i64,
120}
121impl ::prost::Name for RequestInitChain {
122 const NAME: &'static str = "RequestInitChain";
123 const PACKAGE: &'static str = "tendermint.abci";
124 fn full_name() -> ::prost::alloc::string::String {
125 "tendermint.abci.RequestInitChain".into()
126 }
127 fn type_url() -> ::prost::alloc::string::String {
128 "/tendermint.abci.RequestInitChain".into()
129 }
130}
131#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct RequestQuery {
133 #[prost(bytes = "vec", tag = "1")]
134 pub data: ::prost::alloc::vec::Vec<u8>,
135 #[prost(string, tag = "2")]
136 pub path: ::prost::alloc::string::String,
137 #[prost(int64, tag = "3")]
138 pub height: i64,
139 #[prost(bool, tag = "4")]
140 pub prove: bool,
141}
142impl ::prost::Name for RequestQuery {
143 const NAME: &'static str = "RequestQuery";
144 const PACKAGE: &'static str = "tendermint.abci";
145 fn full_name() -> ::prost::alloc::string::String {
146 "tendermint.abci.RequestQuery".into()
147 }
148 fn type_url() -> ::prost::alloc::string::String {
149 "/tendermint.abci.RequestQuery".into()
150 }
151}
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct RequestBeginBlock {
154 #[prost(bytes = "vec", tag = "1")]
155 pub hash: ::prost::alloc::vec::Vec<u8>,
156 #[prost(message, optional, tag = "2")]
157 pub header: ::core::option::Option<super::types::Header>,
158 #[prost(message, optional, tag = "3")]
159 pub last_commit_info: ::core::option::Option<CommitInfo>,
160 #[prost(message, repeated, tag = "4")]
161 pub byzantine_validators: ::prost::alloc::vec::Vec<Misbehavior>,
162}
163impl ::prost::Name for RequestBeginBlock {
164 const NAME: &'static str = "RequestBeginBlock";
165 const PACKAGE: &'static str = "tendermint.abci";
166 fn full_name() -> ::prost::alloc::string::String {
167 "tendermint.abci.RequestBeginBlock".into()
168 }
169 fn type_url() -> ::prost::alloc::string::String {
170 "/tendermint.abci.RequestBeginBlock".into()
171 }
172}
173#[derive(Clone, PartialEq, ::prost::Message)]
174pub struct RequestCheckTx {
175 #[prost(bytes = "vec", tag = "1")]
176 pub tx: ::prost::alloc::vec::Vec<u8>,
177 #[prost(enumeration = "CheckTxType", tag = "2")]
178 pub r#type: i32,
179}
180impl ::prost::Name for RequestCheckTx {
181 const NAME: &'static str = "RequestCheckTx";
182 const PACKAGE: &'static str = "tendermint.abci";
183 fn full_name() -> ::prost::alloc::string::String {
184 "tendermint.abci.RequestCheckTx".into()
185 }
186 fn type_url() -> ::prost::alloc::string::String {
187 "/tendermint.abci.RequestCheckTx".into()
188 }
189}
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct RequestDeliverTx {
192 #[prost(bytes = "vec", tag = "1")]
193 pub tx: ::prost::alloc::vec::Vec<u8>,
194}
195impl ::prost::Name for RequestDeliverTx {
196 const NAME: &'static str = "RequestDeliverTx";
197 const PACKAGE: &'static str = "tendermint.abci";
198 fn full_name() -> ::prost::alloc::string::String {
199 "tendermint.abci.RequestDeliverTx".into()
200 }
201 fn type_url() -> ::prost::alloc::string::String {
202 "/tendermint.abci.RequestDeliverTx".into()
203 }
204}
205#[derive(Clone, Copy, PartialEq, ::prost::Message)]
206pub struct RequestEndBlock {
207 #[prost(int64, tag = "1")]
208 pub height: i64,
209}
210impl ::prost::Name for RequestEndBlock {
211 const NAME: &'static str = "RequestEndBlock";
212 const PACKAGE: &'static str = "tendermint.abci";
213 fn full_name() -> ::prost::alloc::string::String {
214 "tendermint.abci.RequestEndBlock".into()
215 }
216 fn type_url() -> ::prost::alloc::string::String {
217 "/tendermint.abci.RequestEndBlock".into()
218 }
219}
220#[derive(Clone, Copy, PartialEq, ::prost::Message)]
221pub struct RequestCommit {}
222impl ::prost::Name for RequestCommit {
223 const NAME: &'static str = "RequestCommit";
224 const PACKAGE: &'static str = "tendermint.abci";
225 fn full_name() -> ::prost::alloc::string::String {
226 "tendermint.abci.RequestCommit".into()
227 }
228 fn type_url() -> ::prost::alloc::string::String {
229 "/tendermint.abci.RequestCommit".into()
230 }
231}
232#[derive(Clone, Copy, PartialEq, ::prost::Message)]
234pub struct RequestListSnapshots {}
235impl ::prost::Name for RequestListSnapshots {
236 const NAME: &'static str = "RequestListSnapshots";
237 const PACKAGE: &'static str = "tendermint.abci";
238 fn full_name() -> ::prost::alloc::string::String {
239 "tendermint.abci.RequestListSnapshots".into()
240 }
241 fn type_url() -> ::prost::alloc::string::String {
242 "/tendermint.abci.RequestListSnapshots".into()
243 }
244}
245#[derive(Clone, PartialEq, ::prost::Message)]
247pub struct RequestOfferSnapshot {
248 #[prost(message, optional, tag = "1")]
250 pub snapshot: ::core::option::Option<Snapshot>,
251 #[prost(bytes = "vec", tag = "2")]
253 pub app_hash: ::prost::alloc::vec::Vec<u8>,
254}
255impl ::prost::Name for RequestOfferSnapshot {
256 const NAME: &'static str = "RequestOfferSnapshot";
257 const PACKAGE: &'static str = "tendermint.abci";
258 fn full_name() -> ::prost::alloc::string::String {
259 "tendermint.abci.RequestOfferSnapshot".into()
260 }
261 fn type_url() -> ::prost::alloc::string::String {
262 "/tendermint.abci.RequestOfferSnapshot".into()
263 }
264}
265#[derive(Clone, Copy, PartialEq, ::prost::Message)]
267pub struct RequestLoadSnapshotChunk {
268 #[prost(uint64, tag = "1")]
269 pub height: u64,
270 #[prost(uint32, tag = "2")]
271 pub format: u32,
272 #[prost(uint32, tag = "3")]
273 pub chunk: u32,
274}
275impl ::prost::Name for RequestLoadSnapshotChunk {
276 const NAME: &'static str = "RequestLoadSnapshotChunk";
277 const PACKAGE: &'static str = "tendermint.abci";
278 fn full_name() -> ::prost::alloc::string::String {
279 "tendermint.abci.RequestLoadSnapshotChunk".into()
280 }
281 fn type_url() -> ::prost::alloc::string::String {
282 "/tendermint.abci.RequestLoadSnapshotChunk".into()
283 }
284}
285#[derive(Clone, PartialEq, ::prost::Message)]
287pub struct RequestApplySnapshotChunk {
288 #[prost(uint32, tag = "1")]
289 pub index: u32,
290 #[prost(bytes = "vec", tag = "2")]
291 pub chunk: ::prost::alloc::vec::Vec<u8>,
292 #[prost(string, tag = "3")]
293 pub sender: ::prost::alloc::string::String,
294}
295impl ::prost::Name for RequestApplySnapshotChunk {
296 const NAME: &'static str = "RequestApplySnapshotChunk";
297 const PACKAGE: &'static str = "tendermint.abci";
298 fn full_name() -> ::prost::alloc::string::String {
299 "tendermint.abci.RequestApplySnapshotChunk".into()
300 }
301 fn type_url() -> ::prost::alloc::string::String {
302 "/tendermint.abci.RequestApplySnapshotChunk".into()
303 }
304}
305#[derive(Clone, PartialEq, ::prost::Message)]
306pub struct RequestPrepareProposal {
307 #[prost(int64, tag = "1")]
309 pub max_tx_bytes: i64,
310 #[prost(bytes = "vec", repeated, tag = "2")]
313 pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
314 #[prost(message, optional, tag = "3")]
315 pub local_last_commit: ::core::option::Option<ExtendedCommitInfo>,
316 #[prost(message, repeated, tag = "4")]
317 pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
318 #[prost(int64, tag = "5")]
319 pub height: i64,
320 #[prost(message, optional, tag = "6")]
321 pub time: ::core::option::Option<::pbjson_types::Timestamp>,
322 #[prost(bytes = "vec", tag = "7")]
323 pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
324 #[prost(bytes = "vec", tag = "8")]
326 pub proposer_address: ::prost::alloc::vec::Vec<u8>,
327}
328impl ::prost::Name for RequestPrepareProposal {
329 const NAME: &'static str = "RequestPrepareProposal";
330 const PACKAGE: &'static str = "tendermint.abci";
331 fn full_name() -> ::prost::alloc::string::String {
332 "tendermint.abci.RequestPrepareProposal".into()
333 }
334 fn type_url() -> ::prost::alloc::string::String {
335 "/tendermint.abci.RequestPrepareProposal".into()
336 }
337}
338#[derive(Clone, PartialEq, ::prost::Message)]
339pub struct RequestProcessProposal {
340 #[prost(bytes = "vec", repeated, tag = "1")]
341 pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
342 #[prost(message, optional, tag = "2")]
343 pub proposed_last_commit: ::core::option::Option<CommitInfo>,
344 #[prost(message, repeated, tag = "3")]
345 pub misbehavior: ::prost::alloc::vec::Vec<Misbehavior>,
346 #[prost(bytes = "vec", tag = "4")]
348 pub hash: ::prost::alloc::vec::Vec<u8>,
349 #[prost(int64, tag = "5")]
350 pub height: i64,
351 #[prost(message, optional, tag = "6")]
352 pub time: ::core::option::Option<::pbjson_types::Timestamp>,
353 #[prost(bytes = "vec", tag = "7")]
354 pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
355 #[prost(bytes = "vec", tag = "8")]
357 pub proposer_address: ::prost::alloc::vec::Vec<u8>,
358}
359impl ::prost::Name for RequestProcessProposal {
360 const NAME: &'static str = "RequestProcessProposal";
361 const PACKAGE: &'static str = "tendermint.abci";
362 fn full_name() -> ::prost::alloc::string::String {
363 "tendermint.abci.RequestProcessProposal".into()
364 }
365 fn type_url() -> ::prost::alloc::string::String {
366 "/tendermint.abci.RequestProcessProposal".into()
367 }
368}
369#[derive(Clone, PartialEq, ::prost::Message)]
370pub struct Response {
371 #[prost(
372 oneof = "response::Value",
373 tags = "1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18"
374 )]
375 pub value: ::core::option::Option<response::Value>,
376}
377pub mod response {
379 #[derive(Clone, PartialEq, ::prost::Oneof)]
380 pub enum Value {
381 #[prost(message, tag = "1")]
382 Exception(super::ResponseException),
383 #[prost(message, tag = "2")]
384 Echo(super::ResponseEcho),
385 #[prost(message, tag = "3")]
386 Flush(super::ResponseFlush),
387 #[prost(message, tag = "4")]
388 Info(super::ResponseInfo),
389 #[prost(message, tag = "6")]
390 InitChain(super::ResponseInitChain),
391 #[prost(message, tag = "7")]
392 Query(super::ResponseQuery),
393 #[prost(message, tag = "8")]
394 BeginBlock(super::ResponseBeginBlock),
395 #[prost(message, tag = "9")]
396 CheckTx(super::ResponseCheckTx),
397 #[prost(message, tag = "10")]
398 DeliverTx(super::ResponseDeliverTx),
399 #[prost(message, tag = "11")]
400 EndBlock(super::ResponseEndBlock),
401 #[prost(message, tag = "12")]
402 Commit(super::ResponseCommit),
403 #[prost(message, tag = "13")]
404 ListSnapshots(super::ResponseListSnapshots),
405 #[prost(message, tag = "14")]
406 OfferSnapshot(super::ResponseOfferSnapshot),
407 #[prost(message, tag = "15")]
408 LoadSnapshotChunk(super::ResponseLoadSnapshotChunk),
409 #[prost(message, tag = "16")]
410 ApplySnapshotChunk(super::ResponseApplySnapshotChunk),
411 #[prost(message, tag = "17")]
412 PrepareProposal(super::ResponsePrepareProposal),
413 #[prost(message, tag = "18")]
414 ProcessProposal(super::ResponseProcessProposal),
415 }
416}
417impl ::prost::Name for Response {
418 const NAME: &'static str = "Response";
419 const PACKAGE: &'static str = "tendermint.abci";
420 fn full_name() -> ::prost::alloc::string::String {
421 "tendermint.abci.Response".into()
422 }
423 fn type_url() -> ::prost::alloc::string::String {
424 "/tendermint.abci.Response".into()
425 }
426}
427#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct ResponseException {
430 #[prost(string, tag = "1")]
431 pub error: ::prost::alloc::string::String,
432}
433impl ::prost::Name for ResponseException {
434 const NAME: &'static str = "ResponseException";
435 const PACKAGE: &'static str = "tendermint.abci";
436 fn full_name() -> ::prost::alloc::string::String {
437 "tendermint.abci.ResponseException".into()
438 }
439 fn type_url() -> ::prost::alloc::string::String {
440 "/tendermint.abci.ResponseException".into()
441 }
442}
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct ResponseEcho {
445 #[prost(string, tag = "1")]
446 pub message: ::prost::alloc::string::String,
447}
448impl ::prost::Name for ResponseEcho {
449 const NAME: &'static str = "ResponseEcho";
450 const PACKAGE: &'static str = "tendermint.abci";
451 fn full_name() -> ::prost::alloc::string::String {
452 "tendermint.abci.ResponseEcho".into()
453 }
454 fn type_url() -> ::prost::alloc::string::String {
455 "/tendermint.abci.ResponseEcho".into()
456 }
457}
458#[derive(Clone, Copy, PartialEq, ::prost::Message)]
459pub struct ResponseFlush {}
460impl ::prost::Name for ResponseFlush {
461 const NAME: &'static str = "ResponseFlush";
462 const PACKAGE: &'static str = "tendermint.abci";
463 fn full_name() -> ::prost::alloc::string::String {
464 "tendermint.abci.ResponseFlush".into()
465 }
466 fn type_url() -> ::prost::alloc::string::String {
467 "/tendermint.abci.ResponseFlush".into()
468 }
469}
470#[derive(Clone, PartialEq, ::prost::Message)]
471pub struct ResponseInfo {
472 #[prost(string, tag = "1")]
473 pub data: ::prost::alloc::string::String,
474 #[prost(string, tag = "2")]
475 pub version: ::prost::alloc::string::String,
476 #[prost(uint64, tag = "3")]
477 pub app_version: u64,
478 #[prost(int64, tag = "4")]
479 pub last_block_height: i64,
480 #[prost(bytes = "vec", tag = "5")]
481 pub last_block_app_hash: ::prost::alloc::vec::Vec<u8>,
482}
483impl ::prost::Name for ResponseInfo {
484 const NAME: &'static str = "ResponseInfo";
485 const PACKAGE: &'static str = "tendermint.abci";
486 fn full_name() -> ::prost::alloc::string::String {
487 "tendermint.abci.ResponseInfo".into()
488 }
489 fn type_url() -> ::prost::alloc::string::String {
490 "/tendermint.abci.ResponseInfo".into()
491 }
492}
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct ResponseInitChain {
495 #[prost(message, optional, tag = "1")]
496 pub consensus_params: ::core::option::Option<super::types::ConsensusParams>,
497 #[prost(message, repeated, tag = "2")]
498 pub validators: ::prost::alloc::vec::Vec<ValidatorUpdate>,
499 #[prost(bytes = "vec", tag = "3")]
500 pub app_hash: ::prost::alloc::vec::Vec<u8>,
501}
502impl ::prost::Name for ResponseInitChain {
503 const NAME: &'static str = "ResponseInitChain";
504 const PACKAGE: &'static str = "tendermint.abci";
505 fn full_name() -> ::prost::alloc::string::String {
506 "tendermint.abci.ResponseInitChain".into()
507 }
508 fn type_url() -> ::prost::alloc::string::String {
509 "/tendermint.abci.ResponseInitChain".into()
510 }
511}
512#[derive(Clone, PartialEq, ::prost::Message)]
513pub struct ResponseQuery {
514 #[prost(uint32, tag = "1")]
515 pub code: u32,
516 #[prost(string, tag = "3")]
520 pub log: ::prost::alloc::string::String,
521 #[prost(string, tag = "4")]
523 pub info: ::prost::alloc::string::String,
524 #[prost(int64, tag = "5")]
525 pub index: i64,
526 #[prost(bytes = "vec", tag = "6")]
527 pub key: ::prost::alloc::vec::Vec<u8>,
528 #[prost(bytes = "vec", tag = "7")]
529 pub value: ::prost::alloc::vec::Vec<u8>,
530 #[prost(message, optional, tag = "8")]
531 pub proof_ops: ::core::option::Option<super::crypto::ProofOps>,
532 #[prost(int64, tag = "9")]
533 pub height: i64,
534 #[prost(string, tag = "10")]
535 pub codespace: ::prost::alloc::string::String,
536}
537impl ::prost::Name for ResponseQuery {
538 const NAME: &'static str = "ResponseQuery";
539 const PACKAGE: &'static str = "tendermint.abci";
540 fn full_name() -> ::prost::alloc::string::String {
541 "tendermint.abci.ResponseQuery".into()
542 }
543 fn type_url() -> ::prost::alloc::string::String {
544 "/tendermint.abci.ResponseQuery".into()
545 }
546}
547#[derive(Clone, PartialEq, ::prost::Message)]
548pub struct ResponseBeginBlock {
549 #[prost(message, repeated, tag = "1")]
550 pub events: ::prost::alloc::vec::Vec<Event>,
551}
552impl ::prost::Name for ResponseBeginBlock {
553 const NAME: &'static str = "ResponseBeginBlock";
554 const PACKAGE: &'static str = "tendermint.abci";
555 fn full_name() -> ::prost::alloc::string::String {
556 "tendermint.abci.ResponseBeginBlock".into()
557 }
558 fn type_url() -> ::prost::alloc::string::String {
559 "/tendermint.abci.ResponseBeginBlock".into()
560 }
561}
562#[derive(Clone, PartialEq, ::prost::Message)]
563pub struct ResponseCheckTx {
564 #[prost(uint32, tag = "1")]
565 pub code: u32,
566 #[prost(bytes = "vec", tag = "2")]
567 pub data: ::prost::alloc::vec::Vec<u8>,
568 #[prost(string, tag = "3")]
570 pub log: ::prost::alloc::string::String,
571 #[prost(string, tag = "4")]
573 pub info: ::prost::alloc::string::String,
574 #[prost(int64, tag = "5")]
575 pub gas_wanted: i64,
576 #[prost(int64, tag = "6")]
577 pub gas_used: i64,
578 #[prost(message, repeated, tag = "7")]
579 pub events: ::prost::alloc::vec::Vec<Event>,
580 #[prost(string, tag = "8")]
581 pub codespace: ::prost::alloc::string::String,
582 #[prost(string, tag = "9")]
583 pub sender: ::prost::alloc::string::String,
584 #[prost(int64, tag = "10")]
585 pub priority: i64,
586 #[prost(string, tag = "11")]
589 pub mempool_error: ::prost::alloc::string::String,
590}
591impl ::prost::Name for ResponseCheckTx {
592 const NAME: &'static str = "ResponseCheckTx";
593 const PACKAGE: &'static str = "tendermint.abci";
594 fn full_name() -> ::prost::alloc::string::String {
595 "tendermint.abci.ResponseCheckTx".into()
596 }
597 fn type_url() -> ::prost::alloc::string::String {
598 "/tendermint.abci.ResponseCheckTx".into()
599 }
600}
601#[derive(Clone, PartialEq, ::prost::Message)]
602pub struct ResponseDeliverTx {
603 #[prost(uint32, tag = "1")]
604 pub code: u32,
605 #[prost(bytes = "vec", tag = "2")]
606 pub data: ::prost::alloc::vec::Vec<u8>,
607 #[prost(string, tag = "3")]
609 pub log: ::prost::alloc::string::String,
610 #[prost(string, tag = "4")]
612 pub info: ::prost::alloc::string::String,
613 #[prost(int64, tag = "5")]
614 pub gas_wanted: i64,
615 #[prost(int64, tag = "6")]
616 pub gas_used: i64,
617 #[prost(message, repeated, tag = "7")]
619 pub events: ::prost::alloc::vec::Vec<Event>,
620 #[prost(string, tag = "8")]
621 pub codespace: ::prost::alloc::string::String,
622}
623impl ::prost::Name for ResponseDeliverTx {
624 const NAME: &'static str = "ResponseDeliverTx";
625 const PACKAGE: &'static str = "tendermint.abci";
626 fn full_name() -> ::prost::alloc::string::String {
627 "tendermint.abci.ResponseDeliverTx".into()
628 }
629 fn type_url() -> ::prost::alloc::string::String {
630 "/tendermint.abci.ResponseDeliverTx".into()
631 }
632}
633#[derive(Clone, PartialEq, ::prost::Message)]
634pub struct ResponseEndBlock {
635 #[prost(message, repeated, tag = "1")]
636 pub validator_updates: ::prost::alloc::vec::Vec<ValidatorUpdate>,
637 #[prost(message, optional, tag = "2")]
638 pub consensus_param_updates: ::core::option::Option<super::types::ConsensusParams>,
639 #[prost(message, repeated, tag = "3")]
640 pub events: ::prost::alloc::vec::Vec<Event>,
641}
642impl ::prost::Name for ResponseEndBlock {
643 const NAME: &'static str = "ResponseEndBlock";
644 const PACKAGE: &'static str = "tendermint.abci";
645 fn full_name() -> ::prost::alloc::string::String {
646 "tendermint.abci.ResponseEndBlock".into()
647 }
648 fn type_url() -> ::prost::alloc::string::String {
649 "/tendermint.abci.ResponseEndBlock".into()
650 }
651}
652#[derive(Clone, PartialEq, ::prost::Message)]
653pub struct ResponseCommit {
654 #[prost(bytes = "vec", tag = "2")]
656 pub data: ::prost::alloc::vec::Vec<u8>,
657 #[prost(int64, tag = "3")]
658 pub retain_height: i64,
659}
660impl ::prost::Name for ResponseCommit {
661 const NAME: &'static str = "ResponseCommit";
662 const PACKAGE: &'static str = "tendermint.abci";
663 fn full_name() -> ::prost::alloc::string::String {
664 "tendermint.abci.ResponseCommit".into()
665 }
666 fn type_url() -> ::prost::alloc::string::String {
667 "/tendermint.abci.ResponseCommit".into()
668 }
669}
670#[derive(Clone, PartialEq, ::prost::Message)]
671pub struct ResponseListSnapshots {
672 #[prost(message, repeated, tag = "1")]
673 pub snapshots: ::prost::alloc::vec::Vec<Snapshot>,
674}
675impl ::prost::Name for ResponseListSnapshots {
676 const NAME: &'static str = "ResponseListSnapshots";
677 const PACKAGE: &'static str = "tendermint.abci";
678 fn full_name() -> ::prost::alloc::string::String {
679 "tendermint.abci.ResponseListSnapshots".into()
680 }
681 fn type_url() -> ::prost::alloc::string::String {
682 "/tendermint.abci.ResponseListSnapshots".into()
683 }
684}
685#[derive(Clone, Copy, PartialEq, ::prost::Message)]
686pub struct ResponseOfferSnapshot {
687 #[prost(enumeration = "response_offer_snapshot::Result", tag = "1")]
688 pub result: i32,
689}
690pub mod response_offer_snapshot {
692 #[derive(
693 Clone,
694 Copy,
695 Debug,
696 PartialEq,
697 Eq,
698 Hash,
699 PartialOrd,
700 Ord,
701 ::prost::Enumeration
702 )]
703 #[repr(i32)]
704 pub enum Result {
705 Unknown = 0,
707 Accept = 1,
709 Abort = 2,
711 Reject = 3,
713 RejectFormat = 4,
715 RejectSender = 5,
717 }
718 impl Result {
719 pub fn as_str_name(&self) -> &'static str {
724 match self {
725 Self::Unknown => "UNKNOWN",
726 Self::Accept => "ACCEPT",
727 Self::Abort => "ABORT",
728 Self::Reject => "REJECT",
729 Self::RejectFormat => "REJECT_FORMAT",
730 Self::RejectSender => "REJECT_SENDER",
731 }
732 }
733 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
735 match value {
736 "UNKNOWN" => Some(Self::Unknown),
737 "ACCEPT" => Some(Self::Accept),
738 "ABORT" => Some(Self::Abort),
739 "REJECT" => Some(Self::Reject),
740 "REJECT_FORMAT" => Some(Self::RejectFormat),
741 "REJECT_SENDER" => Some(Self::RejectSender),
742 _ => None,
743 }
744 }
745 }
746}
747impl ::prost::Name for ResponseOfferSnapshot {
748 const NAME: &'static str = "ResponseOfferSnapshot";
749 const PACKAGE: &'static str = "tendermint.abci";
750 fn full_name() -> ::prost::alloc::string::String {
751 "tendermint.abci.ResponseOfferSnapshot".into()
752 }
753 fn type_url() -> ::prost::alloc::string::String {
754 "/tendermint.abci.ResponseOfferSnapshot".into()
755 }
756}
757#[derive(Clone, PartialEq, ::prost::Message)]
758pub struct ResponseLoadSnapshotChunk {
759 #[prost(bytes = "vec", tag = "1")]
760 pub chunk: ::prost::alloc::vec::Vec<u8>,
761}
762impl ::prost::Name for ResponseLoadSnapshotChunk {
763 const NAME: &'static str = "ResponseLoadSnapshotChunk";
764 const PACKAGE: &'static str = "tendermint.abci";
765 fn full_name() -> ::prost::alloc::string::String {
766 "tendermint.abci.ResponseLoadSnapshotChunk".into()
767 }
768 fn type_url() -> ::prost::alloc::string::String {
769 "/tendermint.abci.ResponseLoadSnapshotChunk".into()
770 }
771}
772#[derive(Clone, PartialEq, ::prost::Message)]
773pub struct ResponseApplySnapshotChunk {
774 #[prost(enumeration = "response_apply_snapshot_chunk::Result", tag = "1")]
775 pub result: i32,
776 #[prost(uint32, repeated, tag = "2")]
778 pub refetch_chunks: ::prost::alloc::vec::Vec<u32>,
779 #[prost(string, repeated, tag = "3")]
781 pub reject_senders: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
782}
783pub mod response_apply_snapshot_chunk {
785 #[derive(
786 Clone,
787 Copy,
788 Debug,
789 PartialEq,
790 Eq,
791 Hash,
792 PartialOrd,
793 Ord,
794 ::prost::Enumeration
795 )]
796 #[repr(i32)]
797 pub enum Result {
798 Unknown = 0,
800 Accept = 1,
802 Abort = 2,
804 Retry = 3,
806 RetrySnapshot = 4,
808 RejectSnapshot = 5,
810 }
811 impl Result {
812 pub fn as_str_name(&self) -> &'static str {
817 match self {
818 Self::Unknown => "UNKNOWN",
819 Self::Accept => "ACCEPT",
820 Self::Abort => "ABORT",
821 Self::Retry => "RETRY",
822 Self::RetrySnapshot => "RETRY_SNAPSHOT",
823 Self::RejectSnapshot => "REJECT_SNAPSHOT",
824 }
825 }
826 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
828 match value {
829 "UNKNOWN" => Some(Self::Unknown),
830 "ACCEPT" => Some(Self::Accept),
831 "ABORT" => Some(Self::Abort),
832 "RETRY" => Some(Self::Retry),
833 "RETRY_SNAPSHOT" => Some(Self::RetrySnapshot),
834 "REJECT_SNAPSHOT" => Some(Self::RejectSnapshot),
835 _ => None,
836 }
837 }
838 }
839}
840impl ::prost::Name for ResponseApplySnapshotChunk {
841 const NAME: &'static str = "ResponseApplySnapshotChunk";
842 const PACKAGE: &'static str = "tendermint.abci";
843 fn full_name() -> ::prost::alloc::string::String {
844 "tendermint.abci.ResponseApplySnapshotChunk".into()
845 }
846 fn type_url() -> ::prost::alloc::string::String {
847 "/tendermint.abci.ResponseApplySnapshotChunk".into()
848 }
849}
850#[derive(Clone, PartialEq, ::prost::Message)]
851pub struct ResponsePrepareProposal {
852 #[prost(bytes = "vec", repeated, tag = "1")]
853 pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
854}
855impl ::prost::Name for ResponsePrepareProposal {
856 const NAME: &'static str = "ResponsePrepareProposal";
857 const PACKAGE: &'static str = "tendermint.abci";
858 fn full_name() -> ::prost::alloc::string::String {
859 "tendermint.abci.ResponsePrepareProposal".into()
860 }
861 fn type_url() -> ::prost::alloc::string::String {
862 "/tendermint.abci.ResponsePrepareProposal".into()
863 }
864}
865#[derive(Clone, Copy, PartialEq, ::prost::Message)]
866pub struct ResponseProcessProposal {
867 #[prost(enumeration = "response_process_proposal::ProposalStatus", tag = "1")]
868 pub status: i32,
869}
870pub mod response_process_proposal {
872 #[derive(
873 Clone,
874 Copy,
875 Debug,
876 PartialEq,
877 Eq,
878 Hash,
879 PartialOrd,
880 Ord,
881 ::prost::Enumeration
882 )]
883 #[repr(i32)]
884 pub enum ProposalStatus {
885 Unknown = 0,
886 Accept = 1,
887 Reject = 2,
888 }
889 impl ProposalStatus {
890 pub fn as_str_name(&self) -> &'static str {
895 match self {
896 Self::Unknown => "UNKNOWN",
897 Self::Accept => "ACCEPT",
898 Self::Reject => "REJECT",
899 }
900 }
901 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
903 match value {
904 "UNKNOWN" => Some(Self::Unknown),
905 "ACCEPT" => Some(Self::Accept),
906 "REJECT" => Some(Self::Reject),
907 _ => None,
908 }
909 }
910 }
911}
912impl ::prost::Name for ResponseProcessProposal {
913 const NAME: &'static str = "ResponseProcessProposal";
914 const PACKAGE: &'static str = "tendermint.abci";
915 fn full_name() -> ::prost::alloc::string::String {
916 "tendermint.abci.ResponseProcessProposal".into()
917 }
918 fn type_url() -> ::prost::alloc::string::String {
919 "/tendermint.abci.ResponseProcessProposal".into()
920 }
921}
922#[derive(Clone, PartialEq, ::prost::Message)]
923pub struct CommitInfo {
924 #[prost(int32, tag = "1")]
925 pub round: i32,
926 #[prost(message, repeated, tag = "2")]
927 pub votes: ::prost::alloc::vec::Vec<VoteInfo>,
928}
929impl ::prost::Name for CommitInfo {
930 const NAME: &'static str = "CommitInfo";
931 const PACKAGE: &'static str = "tendermint.abci";
932 fn full_name() -> ::prost::alloc::string::String {
933 "tendermint.abci.CommitInfo".into()
934 }
935 fn type_url() -> ::prost::alloc::string::String {
936 "/tendermint.abci.CommitInfo".into()
937 }
938}
939#[derive(Clone, PartialEq, ::prost::Message)]
940pub struct ExtendedCommitInfo {
941 #[prost(int32, tag = "1")]
943 pub round: i32,
944 #[prost(message, repeated, tag = "2")]
947 pub votes: ::prost::alloc::vec::Vec<ExtendedVoteInfo>,
948}
949impl ::prost::Name for ExtendedCommitInfo {
950 const NAME: &'static str = "ExtendedCommitInfo";
951 const PACKAGE: &'static str = "tendermint.abci";
952 fn full_name() -> ::prost::alloc::string::String {
953 "tendermint.abci.ExtendedCommitInfo".into()
954 }
955 fn type_url() -> ::prost::alloc::string::String {
956 "/tendermint.abci.ExtendedCommitInfo".into()
957 }
958}
959#[derive(Clone, PartialEq, ::prost::Message)]
963pub struct Event {
964 #[prost(string, tag = "1")]
965 pub r#type: ::prost::alloc::string::String,
966 #[prost(message, repeated, tag = "2")]
967 pub attributes: ::prost::alloc::vec::Vec<EventAttribute>,
968}
969impl ::prost::Name for Event {
970 const NAME: &'static str = "Event";
971 const PACKAGE: &'static str = "tendermint.abci";
972 fn full_name() -> ::prost::alloc::string::String {
973 "tendermint.abci.Event".into()
974 }
975 fn type_url() -> ::prost::alloc::string::String {
976 "/tendermint.abci.Event".into()
977 }
978}
979#[derive(Clone, PartialEq, ::prost::Message)]
981pub struct EventAttribute {
982 #[prost(string, tag = "1")]
983 pub key: ::prost::alloc::string::String,
984 #[prost(string, tag = "2")]
985 pub value: ::prost::alloc::string::String,
986 #[prost(bool, tag = "3")]
988 pub index: bool,
989}
990impl ::prost::Name for EventAttribute {
991 const NAME: &'static str = "EventAttribute";
992 const PACKAGE: &'static str = "tendermint.abci";
993 fn full_name() -> ::prost::alloc::string::String {
994 "tendermint.abci.EventAttribute".into()
995 }
996 fn type_url() -> ::prost::alloc::string::String {
997 "/tendermint.abci.EventAttribute".into()
998 }
999}
1000#[derive(Clone, PartialEq, ::prost::Message)]
1004pub struct TxResult {
1005 #[prost(int64, tag = "1")]
1006 pub height: i64,
1007 #[prost(uint32, tag = "2")]
1008 pub index: u32,
1009 #[prost(bytes = "vec", tag = "3")]
1010 pub tx: ::prost::alloc::vec::Vec<u8>,
1011 #[prost(message, optional, tag = "4")]
1012 pub result: ::core::option::Option<ResponseDeliverTx>,
1013}
1014impl ::prost::Name for TxResult {
1015 const NAME: &'static str = "TxResult";
1016 const PACKAGE: &'static str = "tendermint.abci";
1017 fn full_name() -> ::prost::alloc::string::String {
1018 "tendermint.abci.TxResult".into()
1019 }
1020 fn type_url() -> ::prost::alloc::string::String {
1021 "/tendermint.abci.TxResult".into()
1022 }
1023}
1024#[derive(Clone, PartialEq, ::prost::Message)]
1026pub struct Validator {
1027 #[prost(bytes = "vec", tag = "1")]
1029 pub address: ::prost::alloc::vec::Vec<u8>,
1030 #[prost(int64, tag = "3")]
1034 pub power: i64,
1035}
1036impl ::prost::Name for Validator {
1037 const NAME: &'static str = "Validator";
1038 const PACKAGE: &'static str = "tendermint.abci";
1039 fn full_name() -> ::prost::alloc::string::String {
1040 "tendermint.abci.Validator".into()
1041 }
1042 fn type_url() -> ::prost::alloc::string::String {
1043 "/tendermint.abci.Validator".into()
1044 }
1045}
1046#[derive(Clone, PartialEq, ::prost::Message)]
1048pub struct ValidatorUpdate {
1049 #[prost(message, optional, tag = "1")]
1050 pub pub_key: ::core::option::Option<super::crypto::PublicKey>,
1051 #[prost(int64, tag = "2")]
1052 pub power: i64,
1053}
1054impl ::prost::Name for ValidatorUpdate {
1055 const NAME: &'static str = "ValidatorUpdate";
1056 const PACKAGE: &'static str = "tendermint.abci";
1057 fn full_name() -> ::prost::alloc::string::String {
1058 "tendermint.abci.ValidatorUpdate".into()
1059 }
1060 fn type_url() -> ::prost::alloc::string::String {
1061 "/tendermint.abci.ValidatorUpdate".into()
1062 }
1063}
1064#[derive(Clone, PartialEq, ::prost::Message)]
1066pub struct VoteInfo {
1067 #[prost(message, optional, tag = "1")]
1068 pub validator: ::core::option::Option<Validator>,
1069 #[prost(bool, tag = "2")]
1070 pub signed_last_block: bool,
1071}
1072impl ::prost::Name for VoteInfo {
1073 const NAME: &'static str = "VoteInfo";
1074 const PACKAGE: &'static str = "tendermint.abci";
1075 fn full_name() -> ::prost::alloc::string::String {
1076 "tendermint.abci.VoteInfo".into()
1077 }
1078 fn type_url() -> ::prost::alloc::string::String {
1079 "/tendermint.abci.VoteInfo".into()
1080 }
1081}
1082#[derive(Clone, PartialEq, ::prost::Message)]
1083pub struct ExtendedVoteInfo {
1084 #[prost(message, optional, tag = "1")]
1085 pub validator: ::core::option::Option<Validator>,
1086 #[prost(bool, tag = "2")]
1087 pub signed_last_block: bool,
1088 #[prost(bytes = "vec", tag = "3")]
1090 pub vote_extension: ::prost::alloc::vec::Vec<u8>,
1091}
1092impl ::prost::Name for ExtendedVoteInfo {
1093 const NAME: &'static str = "ExtendedVoteInfo";
1094 const PACKAGE: &'static str = "tendermint.abci";
1095 fn full_name() -> ::prost::alloc::string::String {
1096 "tendermint.abci.ExtendedVoteInfo".into()
1097 }
1098 fn type_url() -> ::prost::alloc::string::String {
1099 "/tendermint.abci.ExtendedVoteInfo".into()
1100 }
1101}
1102#[derive(Clone, PartialEq, ::prost::Message)]
1103pub struct Misbehavior {
1104 #[prost(enumeration = "MisbehaviorType", tag = "1")]
1105 pub r#type: i32,
1106 #[prost(message, optional, tag = "2")]
1108 pub validator: ::core::option::Option<Validator>,
1109 #[prost(int64, tag = "3")]
1111 pub height: i64,
1112 #[prost(message, optional, tag = "4")]
1114 pub time: ::core::option::Option<::pbjson_types::Timestamp>,
1115 #[prost(int64, tag = "5")]
1119 pub total_voting_power: i64,
1120}
1121impl ::prost::Name for Misbehavior {
1122 const NAME: &'static str = "Misbehavior";
1123 const PACKAGE: &'static str = "tendermint.abci";
1124 fn full_name() -> ::prost::alloc::string::String {
1125 "tendermint.abci.Misbehavior".into()
1126 }
1127 fn type_url() -> ::prost::alloc::string::String {
1128 "/tendermint.abci.Misbehavior".into()
1129 }
1130}
1131#[derive(Clone, PartialEq, ::prost::Message)]
1132pub struct Snapshot {
1133 #[prost(uint64, tag = "1")]
1135 pub height: u64,
1136 #[prost(uint32, tag = "2")]
1138 pub format: u32,
1139 #[prost(uint32, tag = "3")]
1141 pub chunks: u32,
1142 #[prost(bytes = "vec", tag = "4")]
1144 pub hash: ::prost::alloc::vec::Vec<u8>,
1145 #[prost(bytes = "vec", tag = "5")]
1147 pub metadata: ::prost::alloc::vec::Vec<u8>,
1148}
1149impl ::prost::Name for Snapshot {
1150 const NAME: &'static str = "Snapshot";
1151 const PACKAGE: &'static str = "tendermint.abci";
1152 fn full_name() -> ::prost::alloc::string::String {
1153 "tendermint.abci.Snapshot".into()
1154 }
1155 fn type_url() -> ::prost::alloc::string::String {
1156 "/tendermint.abci.Snapshot".into()
1157 }
1158}
1159#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1160#[repr(i32)]
1161pub enum CheckTxType {
1162 New = 0,
1163 Recheck = 1,
1164}
1165impl CheckTxType {
1166 pub fn as_str_name(&self) -> &'static str {
1171 match self {
1172 Self::New => "NEW",
1173 Self::Recheck => "RECHECK",
1174 }
1175 }
1176 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1178 match value {
1179 "NEW" => Some(Self::New),
1180 "RECHECK" => Some(Self::Recheck),
1181 _ => None,
1182 }
1183 }
1184}
1185#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1186#[repr(i32)]
1187pub enum MisbehaviorType {
1188 Unknown = 0,
1189 DuplicateVote = 1,
1190 LightClientAttack = 2,
1191}
1192impl MisbehaviorType {
1193 pub fn as_str_name(&self) -> &'static str {
1198 match self {
1199 Self::Unknown => "UNKNOWN",
1200 Self::DuplicateVote => "DUPLICATE_VOTE",
1201 Self::LightClientAttack => "LIGHT_CLIENT_ATTACK",
1202 }
1203 }
1204 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1206 match value {
1207 "UNKNOWN" => Some(Self::Unknown),
1208 "DUPLICATE_VOTE" => Some(Self::DuplicateVote),
1209 "LIGHT_CLIENT_ATTACK" => Some(Self::LightClientAttack),
1210 _ => None,
1211 }
1212 }
1213}
1214#[cfg(feature = "rpc")]
1216pub mod abci_application_client {
1217 #![allow(
1218 unused_variables,
1219 dead_code,
1220 missing_docs,
1221 clippy::wildcard_imports,
1222 clippy::let_unit_value,
1223 )]
1224 use tonic::codegen::*;
1225 use tonic::codegen::http::Uri;
1226 #[derive(Debug, Clone)]
1227 pub struct AbciApplicationClient<T> {
1228 inner: tonic::client::Grpc<T>,
1229 }
1230 impl AbciApplicationClient<tonic::transport::Channel> {
1231 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1233 where
1234 D: TryInto<tonic::transport::Endpoint>,
1235 D::Error: Into<StdError>,
1236 {
1237 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1238 Ok(Self::new(conn))
1239 }
1240 }
1241 impl<T> AbciApplicationClient<T>
1242 where
1243 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1244 T::Error: Into<StdError>,
1245 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1246 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1247 {
1248 pub fn new(inner: T) -> Self {
1249 let inner = tonic::client::Grpc::new(inner);
1250 Self { inner }
1251 }
1252 pub fn with_origin(inner: T, origin: Uri) -> Self {
1253 let inner = tonic::client::Grpc::with_origin(inner, origin);
1254 Self { inner }
1255 }
1256 pub fn with_interceptor<F>(
1257 inner: T,
1258 interceptor: F,
1259 ) -> AbciApplicationClient<InterceptedService<T, F>>
1260 where
1261 F: tonic::service::Interceptor,
1262 T::ResponseBody: Default,
1263 T: tonic::codegen::Service<
1264 http::Request<tonic::body::BoxBody>,
1265 Response = http::Response<
1266 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1267 >,
1268 >,
1269 <T as tonic::codegen::Service<
1270 http::Request<tonic::body::BoxBody>,
1271 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1272 {
1273 AbciApplicationClient::new(InterceptedService::new(inner, interceptor))
1274 }
1275 #[must_use]
1280 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1281 self.inner = self.inner.send_compressed(encoding);
1282 self
1283 }
1284 #[must_use]
1286 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1287 self.inner = self.inner.accept_compressed(encoding);
1288 self
1289 }
1290 #[must_use]
1294 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1295 self.inner = self.inner.max_decoding_message_size(limit);
1296 self
1297 }
1298 #[must_use]
1302 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1303 self.inner = self.inner.max_encoding_message_size(limit);
1304 self
1305 }
1306 pub async fn echo(
1307 &mut self,
1308 request: impl tonic::IntoRequest<super::RequestEcho>,
1309 ) -> std::result::Result<tonic::Response<super::ResponseEcho>, tonic::Status> {
1310 self.inner
1311 .ready()
1312 .await
1313 .map_err(|e| {
1314 tonic::Status::unknown(
1315 format!("Service was not ready: {}", e.into()),
1316 )
1317 })?;
1318 let codec = tonic::codec::ProstCodec::default();
1319 let path = http::uri::PathAndQuery::from_static(
1320 "/tendermint.abci.ABCIApplication/Echo",
1321 );
1322 let mut req = request.into_request();
1323 req.extensions_mut()
1324 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "Echo"));
1325 self.inner.unary(req, path, codec).await
1326 }
1327 pub async fn flush(
1328 &mut self,
1329 request: impl tonic::IntoRequest<super::RequestFlush>,
1330 ) -> std::result::Result<tonic::Response<super::ResponseFlush>, tonic::Status> {
1331 self.inner
1332 .ready()
1333 .await
1334 .map_err(|e| {
1335 tonic::Status::unknown(
1336 format!("Service was not ready: {}", e.into()),
1337 )
1338 })?;
1339 let codec = tonic::codec::ProstCodec::default();
1340 let path = http::uri::PathAndQuery::from_static(
1341 "/tendermint.abci.ABCIApplication/Flush",
1342 );
1343 let mut req = request.into_request();
1344 req.extensions_mut()
1345 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "Flush"));
1346 self.inner.unary(req, path, codec).await
1347 }
1348 pub async fn info(
1349 &mut self,
1350 request: impl tonic::IntoRequest<super::RequestInfo>,
1351 ) -> std::result::Result<tonic::Response<super::ResponseInfo>, tonic::Status> {
1352 self.inner
1353 .ready()
1354 .await
1355 .map_err(|e| {
1356 tonic::Status::unknown(
1357 format!("Service was not ready: {}", e.into()),
1358 )
1359 })?;
1360 let codec = tonic::codec::ProstCodec::default();
1361 let path = http::uri::PathAndQuery::from_static(
1362 "/tendermint.abci.ABCIApplication/Info",
1363 );
1364 let mut req = request.into_request();
1365 req.extensions_mut()
1366 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "Info"));
1367 self.inner.unary(req, path, codec).await
1368 }
1369 pub async fn deliver_tx(
1370 &mut self,
1371 request: impl tonic::IntoRequest<super::RequestDeliverTx>,
1372 ) -> std::result::Result<
1373 tonic::Response<super::ResponseDeliverTx>,
1374 tonic::Status,
1375 > {
1376 self.inner
1377 .ready()
1378 .await
1379 .map_err(|e| {
1380 tonic::Status::unknown(
1381 format!("Service was not ready: {}", e.into()),
1382 )
1383 })?;
1384 let codec = tonic::codec::ProstCodec::default();
1385 let path = http::uri::PathAndQuery::from_static(
1386 "/tendermint.abci.ABCIApplication/DeliverTx",
1387 );
1388 let mut req = request.into_request();
1389 req.extensions_mut()
1390 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "DeliverTx"));
1391 self.inner.unary(req, path, codec).await
1392 }
1393 pub async fn check_tx(
1394 &mut self,
1395 request: impl tonic::IntoRequest<super::RequestCheckTx>,
1396 ) -> std::result::Result<
1397 tonic::Response<super::ResponseCheckTx>,
1398 tonic::Status,
1399 > {
1400 self.inner
1401 .ready()
1402 .await
1403 .map_err(|e| {
1404 tonic::Status::unknown(
1405 format!("Service was not ready: {}", e.into()),
1406 )
1407 })?;
1408 let codec = tonic::codec::ProstCodec::default();
1409 let path = http::uri::PathAndQuery::from_static(
1410 "/tendermint.abci.ABCIApplication/CheckTx",
1411 );
1412 let mut req = request.into_request();
1413 req.extensions_mut()
1414 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "CheckTx"));
1415 self.inner.unary(req, path, codec).await
1416 }
1417 pub async fn query(
1418 &mut self,
1419 request: impl tonic::IntoRequest<super::RequestQuery>,
1420 ) -> std::result::Result<tonic::Response<super::ResponseQuery>, tonic::Status> {
1421 self.inner
1422 .ready()
1423 .await
1424 .map_err(|e| {
1425 tonic::Status::unknown(
1426 format!("Service was not ready: {}", e.into()),
1427 )
1428 })?;
1429 let codec = tonic::codec::ProstCodec::default();
1430 let path = http::uri::PathAndQuery::from_static(
1431 "/tendermint.abci.ABCIApplication/Query",
1432 );
1433 let mut req = request.into_request();
1434 req.extensions_mut()
1435 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "Query"));
1436 self.inner.unary(req, path, codec).await
1437 }
1438 pub async fn commit(
1439 &mut self,
1440 request: impl tonic::IntoRequest<super::RequestCommit>,
1441 ) -> std::result::Result<tonic::Response<super::ResponseCommit>, tonic::Status> {
1442 self.inner
1443 .ready()
1444 .await
1445 .map_err(|e| {
1446 tonic::Status::unknown(
1447 format!("Service was not ready: {}", e.into()),
1448 )
1449 })?;
1450 let codec = tonic::codec::ProstCodec::default();
1451 let path = http::uri::PathAndQuery::from_static(
1452 "/tendermint.abci.ABCIApplication/Commit",
1453 );
1454 let mut req = request.into_request();
1455 req.extensions_mut()
1456 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "Commit"));
1457 self.inner.unary(req, path, codec).await
1458 }
1459 pub async fn init_chain(
1460 &mut self,
1461 request: impl tonic::IntoRequest<super::RequestInitChain>,
1462 ) -> std::result::Result<
1463 tonic::Response<super::ResponseInitChain>,
1464 tonic::Status,
1465 > {
1466 self.inner
1467 .ready()
1468 .await
1469 .map_err(|e| {
1470 tonic::Status::unknown(
1471 format!("Service was not ready: {}", e.into()),
1472 )
1473 })?;
1474 let codec = tonic::codec::ProstCodec::default();
1475 let path = http::uri::PathAndQuery::from_static(
1476 "/tendermint.abci.ABCIApplication/InitChain",
1477 );
1478 let mut req = request.into_request();
1479 req.extensions_mut()
1480 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "InitChain"));
1481 self.inner.unary(req, path, codec).await
1482 }
1483 pub async fn begin_block(
1484 &mut self,
1485 request: impl tonic::IntoRequest<super::RequestBeginBlock>,
1486 ) -> std::result::Result<
1487 tonic::Response<super::ResponseBeginBlock>,
1488 tonic::Status,
1489 > {
1490 self.inner
1491 .ready()
1492 .await
1493 .map_err(|e| {
1494 tonic::Status::unknown(
1495 format!("Service was not ready: {}", e.into()),
1496 )
1497 })?;
1498 let codec = tonic::codec::ProstCodec::default();
1499 let path = http::uri::PathAndQuery::from_static(
1500 "/tendermint.abci.ABCIApplication/BeginBlock",
1501 );
1502 let mut req = request.into_request();
1503 req.extensions_mut()
1504 .insert(
1505 GrpcMethod::new("tendermint.abci.ABCIApplication", "BeginBlock"),
1506 );
1507 self.inner.unary(req, path, codec).await
1508 }
1509 pub async fn end_block(
1510 &mut self,
1511 request: impl tonic::IntoRequest<super::RequestEndBlock>,
1512 ) -> std::result::Result<
1513 tonic::Response<super::ResponseEndBlock>,
1514 tonic::Status,
1515 > {
1516 self.inner
1517 .ready()
1518 .await
1519 .map_err(|e| {
1520 tonic::Status::unknown(
1521 format!("Service was not ready: {}", e.into()),
1522 )
1523 })?;
1524 let codec = tonic::codec::ProstCodec::default();
1525 let path = http::uri::PathAndQuery::from_static(
1526 "/tendermint.abci.ABCIApplication/EndBlock",
1527 );
1528 let mut req = request.into_request();
1529 req.extensions_mut()
1530 .insert(GrpcMethod::new("tendermint.abci.ABCIApplication", "EndBlock"));
1531 self.inner.unary(req, path, codec).await
1532 }
1533 pub async fn list_snapshots(
1534 &mut self,
1535 request: impl tonic::IntoRequest<super::RequestListSnapshots>,
1536 ) -> std::result::Result<
1537 tonic::Response<super::ResponseListSnapshots>,
1538 tonic::Status,
1539 > {
1540 self.inner
1541 .ready()
1542 .await
1543 .map_err(|e| {
1544 tonic::Status::unknown(
1545 format!("Service was not ready: {}", e.into()),
1546 )
1547 })?;
1548 let codec = tonic::codec::ProstCodec::default();
1549 let path = http::uri::PathAndQuery::from_static(
1550 "/tendermint.abci.ABCIApplication/ListSnapshots",
1551 );
1552 let mut req = request.into_request();
1553 req.extensions_mut()
1554 .insert(
1555 GrpcMethod::new("tendermint.abci.ABCIApplication", "ListSnapshots"),
1556 );
1557 self.inner.unary(req, path, codec).await
1558 }
1559 pub async fn offer_snapshot(
1560 &mut self,
1561 request: impl tonic::IntoRequest<super::RequestOfferSnapshot>,
1562 ) -> std::result::Result<
1563 tonic::Response<super::ResponseOfferSnapshot>,
1564 tonic::Status,
1565 > {
1566 self.inner
1567 .ready()
1568 .await
1569 .map_err(|e| {
1570 tonic::Status::unknown(
1571 format!("Service was not ready: {}", e.into()),
1572 )
1573 })?;
1574 let codec = tonic::codec::ProstCodec::default();
1575 let path = http::uri::PathAndQuery::from_static(
1576 "/tendermint.abci.ABCIApplication/OfferSnapshot",
1577 );
1578 let mut req = request.into_request();
1579 req.extensions_mut()
1580 .insert(
1581 GrpcMethod::new("tendermint.abci.ABCIApplication", "OfferSnapshot"),
1582 );
1583 self.inner.unary(req, path, codec).await
1584 }
1585 pub async fn load_snapshot_chunk(
1586 &mut self,
1587 request: impl tonic::IntoRequest<super::RequestLoadSnapshotChunk>,
1588 ) -> std::result::Result<
1589 tonic::Response<super::ResponseLoadSnapshotChunk>,
1590 tonic::Status,
1591 > {
1592 self.inner
1593 .ready()
1594 .await
1595 .map_err(|e| {
1596 tonic::Status::unknown(
1597 format!("Service was not ready: {}", e.into()),
1598 )
1599 })?;
1600 let codec = tonic::codec::ProstCodec::default();
1601 let path = http::uri::PathAndQuery::from_static(
1602 "/tendermint.abci.ABCIApplication/LoadSnapshotChunk",
1603 );
1604 let mut req = request.into_request();
1605 req.extensions_mut()
1606 .insert(
1607 GrpcMethod::new(
1608 "tendermint.abci.ABCIApplication",
1609 "LoadSnapshotChunk",
1610 ),
1611 );
1612 self.inner.unary(req, path, codec).await
1613 }
1614 pub async fn apply_snapshot_chunk(
1615 &mut self,
1616 request: impl tonic::IntoRequest<super::RequestApplySnapshotChunk>,
1617 ) -> std::result::Result<
1618 tonic::Response<super::ResponseApplySnapshotChunk>,
1619 tonic::Status,
1620 > {
1621 self.inner
1622 .ready()
1623 .await
1624 .map_err(|e| {
1625 tonic::Status::unknown(
1626 format!("Service was not ready: {}", e.into()),
1627 )
1628 })?;
1629 let codec = tonic::codec::ProstCodec::default();
1630 let path = http::uri::PathAndQuery::from_static(
1631 "/tendermint.abci.ABCIApplication/ApplySnapshotChunk",
1632 );
1633 let mut req = request.into_request();
1634 req.extensions_mut()
1635 .insert(
1636 GrpcMethod::new(
1637 "tendermint.abci.ABCIApplication",
1638 "ApplySnapshotChunk",
1639 ),
1640 );
1641 self.inner.unary(req, path, codec).await
1642 }
1643 pub async fn prepare_proposal(
1644 &mut self,
1645 request: impl tonic::IntoRequest<super::RequestPrepareProposal>,
1646 ) -> std::result::Result<
1647 tonic::Response<super::ResponsePrepareProposal>,
1648 tonic::Status,
1649 > {
1650 self.inner
1651 .ready()
1652 .await
1653 .map_err(|e| {
1654 tonic::Status::unknown(
1655 format!("Service was not ready: {}", e.into()),
1656 )
1657 })?;
1658 let codec = tonic::codec::ProstCodec::default();
1659 let path = http::uri::PathAndQuery::from_static(
1660 "/tendermint.abci.ABCIApplication/PrepareProposal",
1661 );
1662 let mut req = request.into_request();
1663 req.extensions_mut()
1664 .insert(
1665 GrpcMethod::new("tendermint.abci.ABCIApplication", "PrepareProposal"),
1666 );
1667 self.inner.unary(req, path, codec).await
1668 }
1669 pub async fn process_proposal(
1670 &mut self,
1671 request: impl tonic::IntoRequest<super::RequestProcessProposal>,
1672 ) -> std::result::Result<
1673 tonic::Response<super::ResponseProcessProposal>,
1674 tonic::Status,
1675 > {
1676 self.inner
1677 .ready()
1678 .await
1679 .map_err(|e| {
1680 tonic::Status::unknown(
1681 format!("Service was not ready: {}", e.into()),
1682 )
1683 })?;
1684 let codec = tonic::codec::ProstCodec::default();
1685 let path = http::uri::PathAndQuery::from_static(
1686 "/tendermint.abci.ABCIApplication/ProcessProposal",
1687 );
1688 let mut req = request.into_request();
1689 req.extensions_mut()
1690 .insert(
1691 GrpcMethod::new("tendermint.abci.ABCIApplication", "ProcessProposal"),
1692 );
1693 self.inner.unary(req, path, codec).await
1694 }
1695 }
1696}
1697#[cfg(feature = "rpc")]
1699pub mod abci_application_server {
1700 #![allow(
1701 unused_variables,
1702 dead_code,
1703 missing_docs,
1704 clippy::wildcard_imports,
1705 clippy::let_unit_value,
1706 )]
1707 use tonic::codegen::*;
1708 #[async_trait]
1710 pub trait AbciApplication: std::marker::Send + std::marker::Sync + 'static {
1711 async fn echo(
1712 &self,
1713 request: tonic::Request<super::RequestEcho>,
1714 ) -> std::result::Result<tonic::Response<super::ResponseEcho>, tonic::Status>;
1715 async fn flush(
1716 &self,
1717 request: tonic::Request<super::RequestFlush>,
1718 ) -> std::result::Result<tonic::Response<super::ResponseFlush>, tonic::Status>;
1719 async fn info(
1720 &self,
1721 request: tonic::Request<super::RequestInfo>,
1722 ) -> std::result::Result<tonic::Response<super::ResponseInfo>, tonic::Status>;
1723 async fn deliver_tx(
1724 &self,
1725 request: tonic::Request<super::RequestDeliverTx>,
1726 ) -> std::result::Result<
1727 tonic::Response<super::ResponseDeliverTx>,
1728 tonic::Status,
1729 >;
1730 async fn check_tx(
1731 &self,
1732 request: tonic::Request<super::RequestCheckTx>,
1733 ) -> std::result::Result<tonic::Response<super::ResponseCheckTx>, tonic::Status>;
1734 async fn query(
1735 &self,
1736 request: tonic::Request<super::RequestQuery>,
1737 ) -> std::result::Result<tonic::Response<super::ResponseQuery>, tonic::Status>;
1738 async fn commit(
1739 &self,
1740 request: tonic::Request<super::RequestCommit>,
1741 ) -> std::result::Result<tonic::Response<super::ResponseCommit>, tonic::Status>;
1742 async fn init_chain(
1743 &self,
1744 request: tonic::Request<super::RequestInitChain>,
1745 ) -> std::result::Result<
1746 tonic::Response<super::ResponseInitChain>,
1747 tonic::Status,
1748 >;
1749 async fn begin_block(
1750 &self,
1751 request: tonic::Request<super::RequestBeginBlock>,
1752 ) -> std::result::Result<
1753 tonic::Response<super::ResponseBeginBlock>,
1754 tonic::Status,
1755 >;
1756 async fn end_block(
1757 &self,
1758 request: tonic::Request<super::RequestEndBlock>,
1759 ) -> std::result::Result<
1760 tonic::Response<super::ResponseEndBlock>,
1761 tonic::Status,
1762 >;
1763 async fn list_snapshots(
1764 &self,
1765 request: tonic::Request<super::RequestListSnapshots>,
1766 ) -> std::result::Result<
1767 tonic::Response<super::ResponseListSnapshots>,
1768 tonic::Status,
1769 >;
1770 async fn offer_snapshot(
1771 &self,
1772 request: tonic::Request<super::RequestOfferSnapshot>,
1773 ) -> std::result::Result<
1774 tonic::Response<super::ResponseOfferSnapshot>,
1775 tonic::Status,
1776 >;
1777 async fn load_snapshot_chunk(
1778 &self,
1779 request: tonic::Request<super::RequestLoadSnapshotChunk>,
1780 ) -> std::result::Result<
1781 tonic::Response<super::ResponseLoadSnapshotChunk>,
1782 tonic::Status,
1783 >;
1784 async fn apply_snapshot_chunk(
1785 &self,
1786 request: tonic::Request<super::RequestApplySnapshotChunk>,
1787 ) -> std::result::Result<
1788 tonic::Response<super::ResponseApplySnapshotChunk>,
1789 tonic::Status,
1790 >;
1791 async fn prepare_proposal(
1792 &self,
1793 request: tonic::Request<super::RequestPrepareProposal>,
1794 ) -> std::result::Result<
1795 tonic::Response<super::ResponsePrepareProposal>,
1796 tonic::Status,
1797 >;
1798 async fn process_proposal(
1799 &self,
1800 request: tonic::Request<super::RequestProcessProposal>,
1801 ) -> std::result::Result<
1802 tonic::Response<super::ResponseProcessProposal>,
1803 tonic::Status,
1804 >;
1805 }
1806 #[derive(Debug)]
1807 pub struct AbciApplicationServer<T> {
1808 inner: Arc<T>,
1809 accept_compression_encodings: EnabledCompressionEncodings,
1810 send_compression_encodings: EnabledCompressionEncodings,
1811 max_decoding_message_size: Option<usize>,
1812 max_encoding_message_size: Option<usize>,
1813 }
1814 impl<T> AbciApplicationServer<T> {
1815 pub fn new(inner: T) -> Self {
1816 Self::from_arc(Arc::new(inner))
1817 }
1818 pub fn from_arc(inner: Arc<T>) -> Self {
1819 Self {
1820 inner,
1821 accept_compression_encodings: Default::default(),
1822 send_compression_encodings: Default::default(),
1823 max_decoding_message_size: None,
1824 max_encoding_message_size: None,
1825 }
1826 }
1827 pub fn with_interceptor<F>(
1828 inner: T,
1829 interceptor: F,
1830 ) -> InterceptedService<Self, F>
1831 where
1832 F: tonic::service::Interceptor,
1833 {
1834 InterceptedService::new(Self::new(inner), interceptor)
1835 }
1836 #[must_use]
1838 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1839 self.accept_compression_encodings.enable(encoding);
1840 self
1841 }
1842 #[must_use]
1844 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1845 self.send_compression_encodings.enable(encoding);
1846 self
1847 }
1848 #[must_use]
1852 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1853 self.max_decoding_message_size = Some(limit);
1854 self
1855 }
1856 #[must_use]
1860 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1861 self.max_encoding_message_size = Some(limit);
1862 self
1863 }
1864 }
1865 impl<T, B> tonic::codegen::Service<http::Request<B>> for AbciApplicationServer<T>
1866 where
1867 T: AbciApplication,
1868 B: Body + std::marker::Send + 'static,
1869 B::Error: Into<StdError> + std::marker::Send + 'static,
1870 {
1871 type Response = http::Response<tonic::body::BoxBody>;
1872 type Error = std::convert::Infallible;
1873 type Future = BoxFuture<Self::Response, Self::Error>;
1874 fn poll_ready(
1875 &mut self,
1876 _cx: &mut Context<'_>,
1877 ) -> Poll<std::result::Result<(), Self::Error>> {
1878 Poll::Ready(Ok(()))
1879 }
1880 fn call(&mut self, req: http::Request<B>) -> Self::Future {
1881 match req.uri().path() {
1882 "/tendermint.abci.ABCIApplication/Echo" => {
1883 #[allow(non_camel_case_types)]
1884 struct EchoSvc<T: AbciApplication>(pub Arc<T>);
1885 impl<
1886 T: AbciApplication,
1887 > tonic::server::UnaryService<super::RequestEcho> for EchoSvc<T> {
1888 type Response = super::ResponseEcho;
1889 type Future = BoxFuture<
1890 tonic::Response<Self::Response>,
1891 tonic::Status,
1892 >;
1893 fn call(
1894 &mut self,
1895 request: tonic::Request<super::RequestEcho>,
1896 ) -> Self::Future {
1897 let inner = Arc::clone(&self.0);
1898 let fut = async move {
1899 <T as AbciApplication>::echo(&inner, request).await
1900 };
1901 Box::pin(fut)
1902 }
1903 }
1904 let accept_compression_encodings = self.accept_compression_encodings;
1905 let send_compression_encodings = self.send_compression_encodings;
1906 let max_decoding_message_size = self.max_decoding_message_size;
1907 let max_encoding_message_size = self.max_encoding_message_size;
1908 let inner = self.inner.clone();
1909 let fut = async move {
1910 let method = EchoSvc(inner);
1911 let codec = tonic::codec::ProstCodec::default();
1912 let mut grpc = tonic::server::Grpc::new(codec)
1913 .apply_compression_config(
1914 accept_compression_encodings,
1915 send_compression_encodings,
1916 )
1917 .apply_max_message_size_config(
1918 max_decoding_message_size,
1919 max_encoding_message_size,
1920 );
1921 let res = grpc.unary(method, req).await;
1922 Ok(res)
1923 };
1924 Box::pin(fut)
1925 }
1926 "/tendermint.abci.ABCIApplication/Flush" => {
1927 #[allow(non_camel_case_types)]
1928 struct FlushSvc<T: AbciApplication>(pub Arc<T>);
1929 impl<
1930 T: AbciApplication,
1931 > tonic::server::UnaryService<super::RequestFlush> for FlushSvc<T> {
1932 type Response = super::ResponseFlush;
1933 type Future = BoxFuture<
1934 tonic::Response<Self::Response>,
1935 tonic::Status,
1936 >;
1937 fn call(
1938 &mut self,
1939 request: tonic::Request<super::RequestFlush>,
1940 ) -> Self::Future {
1941 let inner = Arc::clone(&self.0);
1942 let fut = async move {
1943 <T as AbciApplication>::flush(&inner, request).await
1944 };
1945 Box::pin(fut)
1946 }
1947 }
1948 let accept_compression_encodings = self.accept_compression_encodings;
1949 let send_compression_encodings = self.send_compression_encodings;
1950 let max_decoding_message_size = self.max_decoding_message_size;
1951 let max_encoding_message_size = self.max_encoding_message_size;
1952 let inner = self.inner.clone();
1953 let fut = async move {
1954 let method = FlushSvc(inner);
1955 let codec = tonic::codec::ProstCodec::default();
1956 let mut grpc = tonic::server::Grpc::new(codec)
1957 .apply_compression_config(
1958 accept_compression_encodings,
1959 send_compression_encodings,
1960 )
1961 .apply_max_message_size_config(
1962 max_decoding_message_size,
1963 max_encoding_message_size,
1964 );
1965 let res = grpc.unary(method, req).await;
1966 Ok(res)
1967 };
1968 Box::pin(fut)
1969 }
1970 "/tendermint.abci.ABCIApplication/Info" => {
1971 #[allow(non_camel_case_types)]
1972 struct InfoSvc<T: AbciApplication>(pub Arc<T>);
1973 impl<
1974 T: AbciApplication,
1975 > tonic::server::UnaryService<super::RequestInfo> for InfoSvc<T> {
1976 type Response = super::ResponseInfo;
1977 type Future = BoxFuture<
1978 tonic::Response<Self::Response>,
1979 tonic::Status,
1980 >;
1981 fn call(
1982 &mut self,
1983 request: tonic::Request<super::RequestInfo>,
1984 ) -> Self::Future {
1985 let inner = Arc::clone(&self.0);
1986 let fut = async move {
1987 <T as AbciApplication>::info(&inner, request).await
1988 };
1989 Box::pin(fut)
1990 }
1991 }
1992 let accept_compression_encodings = self.accept_compression_encodings;
1993 let send_compression_encodings = self.send_compression_encodings;
1994 let max_decoding_message_size = self.max_decoding_message_size;
1995 let max_encoding_message_size = self.max_encoding_message_size;
1996 let inner = self.inner.clone();
1997 let fut = async move {
1998 let method = InfoSvc(inner);
1999 let codec = tonic::codec::ProstCodec::default();
2000 let mut grpc = tonic::server::Grpc::new(codec)
2001 .apply_compression_config(
2002 accept_compression_encodings,
2003 send_compression_encodings,
2004 )
2005 .apply_max_message_size_config(
2006 max_decoding_message_size,
2007 max_encoding_message_size,
2008 );
2009 let res = grpc.unary(method, req).await;
2010 Ok(res)
2011 };
2012 Box::pin(fut)
2013 }
2014 "/tendermint.abci.ABCIApplication/DeliverTx" => {
2015 #[allow(non_camel_case_types)]
2016 struct DeliverTxSvc<T: AbciApplication>(pub Arc<T>);
2017 impl<
2018 T: AbciApplication,
2019 > tonic::server::UnaryService<super::RequestDeliverTx>
2020 for DeliverTxSvc<T> {
2021 type Response = super::ResponseDeliverTx;
2022 type Future = BoxFuture<
2023 tonic::Response<Self::Response>,
2024 tonic::Status,
2025 >;
2026 fn call(
2027 &mut self,
2028 request: tonic::Request<super::RequestDeliverTx>,
2029 ) -> Self::Future {
2030 let inner = Arc::clone(&self.0);
2031 let fut = async move {
2032 <T as AbciApplication>::deliver_tx(&inner, request).await
2033 };
2034 Box::pin(fut)
2035 }
2036 }
2037 let accept_compression_encodings = self.accept_compression_encodings;
2038 let send_compression_encodings = self.send_compression_encodings;
2039 let max_decoding_message_size = self.max_decoding_message_size;
2040 let max_encoding_message_size = self.max_encoding_message_size;
2041 let inner = self.inner.clone();
2042 let fut = async move {
2043 let method = DeliverTxSvc(inner);
2044 let codec = tonic::codec::ProstCodec::default();
2045 let mut grpc = tonic::server::Grpc::new(codec)
2046 .apply_compression_config(
2047 accept_compression_encodings,
2048 send_compression_encodings,
2049 )
2050 .apply_max_message_size_config(
2051 max_decoding_message_size,
2052 max_encoding_message_size,
2053 );
2054 let res = grpc.unary(method, req).await;
2055 Ok(res)
2056 };
2057 Box::pin(fut)
2058 }
2059 "/tendermint.abci.ABCIApplication/CheckTx" => {
2060 #[allow(non_camel_case_types)]
2061 struct CheckTxSvc<T: AbciApplication>(pub Arc<T>);
2062 impl<
2063 T: AbciApplication,
2064 > tonic::server::UnaryService<super::RequestCheckTx>
2065 for CheckTxSvc<T> {
2066 type Response = super::ResponseCheckTx;
2067 type Future = BoxFuture<
2068 tonic::Response<Self::Response>,
2069 tonic::Status,
2070 >;
2071 fn call(
2072 &mut self,
2073 request: tonic::Request<super::RequestCheckTx>,
2074 ) -> Self::Future {
2075 let inner = Arc::clone(&self.0);
2076 let fut = async move {
2077 <T as AbciApplication>::check_tx(&inner, request).await
2078 };
2079 Box::pin(fut)
2080 }
2081 }
2082 let accept_compression_encodings = self.accept_compression_encodings;
2083 let send_compression_encodings = self.send_compression_encodings;
2084 let max_decoding_message_size = self.max_decoding_message_size;
2085 let max_encoding_message_size = self.max_encoding_message_size;
2086 let inner = self.inner.clone();
2087 let fut = async move {
2088 let method = CheckTxSvc(inner);
2089 let codec = tonic::codec::ProstCodec::default();
2090 let mut grpc = tonic::server::Grpc::new(codec)
2091 .apply_compression_config(
2092 accept_compression_encodings,
2093 send_compression_encodings,
2094 )
2095 .apply_max_message_size_config(
2096 max_decoding_message_size,
2097 max_encoding_message_size,
2098 );
2099 let res = grpc.unary(method, req).await;
2100 Ok(res)
2101 };
2102 Box::pin(fut)
2103 }
2104 "/tendermint.abci.ABCIApplication/Query" => {
2105 #[allow(non_camel_case_types)]
2106 struct QuerySvc<T: AbciApplication>(pub Arc<T>);
2107 impl<
2108 T: AbciApplication,
2109 > tonic::server::UnaryService<super::RequestQuery> for QuerySvc<T> {
2110 type Response = super::ResponseQuery;
2111 type Future = BoxFuture<
2112 tonic::Response<Self::Response>,
2113 tonic::Status,
2114 >;
2115 fn call(
2116 &mut self,
2117 request: tonic::Request<super::RequestQuery>,
2118 ) -> Self::Future {
2119 let inner = Arc::clone(&self.0);
2120 let fut = async move {
2121 <T as AbciApplication>::query(&inner, request).await
2122 };
2123 Box::pin(fut)
2124 }
2125 }
2126 let accept_compression_encodings = self.accept_compression_encodings;
2127 let send_compression_encodings = self.send_compression_encodings;
2128 let max_decoding_message_size = self.max_decoding_message_size;
2129 let max_encoding_message_size = self.max_encoding_message_size;
2130 let inner = self.inner.clone();
2131 let fut = async move {
2132 let method = QuerySvc(inner);
2133 let codec = tonic::codec::ProstCodec::default();
2134 let mut grpc = tonic::server::Grpc::new(codec)
2135 .apply_compression_config(
2136 accept_compression_encodings,
2137 send_compression_encodings,
2138 )
2139 .apply_max_message_size_config(
2140 max_decoding_message_size,
2141 max_encoding_message_size,
2142 );
2143 let res = grpc.unary(method, req).await;
2144 Ok(res)
2145 };
2146 Box::pin(fut)
2147 }
2148 "/tendermint.abci.ABCIApplication/Commit" => {
2149 #[allow(non_camel_case_types)]
2150 struct CommitSvc<T: AbciApplication>(pub Arc<T>);
2151 impl<
2152 T: AbciApplication,
2153 > tonic::server::UnaryService<super::RequestCommit>
2154 for CommitSvc<T> {
2155 type Response = super::ResponseCommit;
2156 type Future = BoxFuture<
2157 tonic::Response<Self::Response>,
2158 tonic::Status,
2159 >;
2160 fn call(
2161 &mut self,
2162 request: tonic::Request<super::RequestCommit>,
2163 ) -> Self::Future {
2164 let inner = Arc::clone(&self.0);
2165 let fut = async move {
2166 <T as AbciApplication>::commit(&inner, request).await
2167 };
2168 Box::pin(fut)
2169 }
2170 }
2171 let accept_compression_encodings = self.accept_compression_encodings;
2172 let send_compression_encodings = self.send_compression_encodings;
2173 let max_decoding_message_size = self.max_decoding_message_size;
2174 let max_encoding_message_size = self.max_encoding_message_size;
2175 let inner = self.inner.clone();
2176 let fut = async move {
2177 let method = CommitSvc(inner);
2178 let codec = tonic::codec::ProstCodec::default();
2179 let mut grpc = tonic::server::Grpc::new(codec)
2180 .apply_compression_config(
2181 accept_compression_encodings,
2182 send_compression_encodings,
2183 )
2184 .apply_max_message_size_config(
2185 max_decoding_message_size,
2186 max_encoding_message_size,
2187 );
2188 let res = grpc.unary(method, req).await;
2189 Ok(res)
2190 };
2191 Box::pin(fut)
2192 }
2193 "/tendermint.abci.ABCIApplication/InitChain" => {
2194 #[allow(non_camel_case_types)]
2195 struct InitChainSvc<T: AbciApplication>(pub Arc<T>);
2196 impl<
2197 T: AbciApplication,
2198 > tonic::server::UnaryService<super::RequestInitChain>
2199 for InitChainSvc<T> {
2200 type Response = super::ResponseInitChain;
2201 type Future = BoxFuture<
2202 tonic::Response<Self::Response>,
2203 tonic::Status,
2204 >;
2205 fn call(
2206 &mut self,
2207 request: tonic::Request<super::RequestInitChain>,
2208 ) -> Self::Future {
2209 let inner = Arc::clone(&self.0);
2210 let fut = async move {
2211 <T as AbciApplication>::init_chain(&inner, request).await
2212 };
2213 Box::pin(fut)
2214 }
2215 }
2216 let accept_compression_encodings = self.accept_compression_encodings;
2217 let send_compression_encodings = self.send_compression_encodings;
2218 let max_decoding_message_size = self.max_decoding_message_size;
2219 let max_encoding_message_size = self.max_encoding_message_size;
2220 let inner = self.inner.clone();
2221 let fut = async move {
2222 let method = InitChainSvc(inner);
2223 let codec = tonic::codec::ProstCodec::default();
2224 let mut grpc = tonic::server::Grpc::new(codec)
2225 .apply_compression_config(
2226 accept_compression_encodings,
2227 send_compression_encodings,
2228 )
2229 .apply_max_message_size_config(
2230 max_decoding_message_size,
2231 max_encoding_message_size,
2232 );
2233 let res = grpc.unary(method, req).await;
2234 Ok(res)
2235 };
2236 Box::pin(fut)
2237 }
2238 "/tendermint.abci.ABCIApplication/BeginBlock" => {
2239 #[allow(non_camel_case_types)]
2240 struct BeginBlockSvc<T: AbciApplication>(pub Arc<T>);
2241 impl<
2242 T: AbciApplication,
2243 > tonic::server::UnaryService<super::RequestBeginBlock>
2244 for BeginBlockSvc<T> {
2245 type Response = super::ResponseBeginBlock;
2246 type Future = BoxFuture<
2247 tonic::Response<Self::Response>,
2248 tonic::Status,
2249 >;
2250 fn call(
2251 &mut self,
2252 request: tonic::Request<super::RequestBeginBlock>,
2253 ) -> Self::Future {
2254 let inner = Arc::clone(&self.0);
2255 let fut = async move {
2256 <T as AbciApplication>::begin_block(&inner, request).await
2257 };
2258 Box::pin(fut)
2259 }
2260 }
2261 let accept_compression_encodings = self.accept_compression_encodings;
2262 let send_compression_encodings = self.send_compression_encodings;
2263 let max_decoding_message_size = self.max_decoding_message_size;
2264 let max_encoding_message_size = self.max_encoding_message_size;
2265 let inner = self.inner.clone();
2266 let fut = async move {
2267 let method = BeginBlockSvc(inner);
2268 let codec = tonic::codec::ProstCodec::default();
2269 let mut grpc = tonic::server::Grpc::new(codec)
2270 .apply_compression_config(
2271 accept_compression_encodings,
2272 send_compression_encodings,
2273 )
2274 .apply_max_message_size_config(
2275 max_decoding_message_size,
2276 max_encoding_message_size,
2277 );
2278 let res = grpc.unary(method, req).await;
2279 Ok(res)
2280 };
2281 Box::pin(fut)
2282 }
2283 "/tendermint.abci.ABCIApplication/EndBlock" => {
2284 #[allow(non_camel_case_types)]
2285 struct EndBlockSvc<T: AbciApplication>(pub Arc<T>);
2286 impl<
2287 T: AbciApplication,
2288 > tonic::server::UnaryService<super::RequestEndBlock>
2289 for EndBlockSvc<T> {
2290 type Response = super::ResponseEndBlock;
2291 type Future = BoxFuture<
2292 tonic::Response<Self::Response>,
2293 tonic::Status,
2294 >;
2295 fn call(
2296 &mut self,
2297 request: tonic::Request<super::RequestEndBlock>,
2298 ) -> Self::Future {
2299 let inner = Arc::clone(&self.0);
2300 let fut = async move {
2301 <T as AbciApplication>::end_block(&inner, request).await
2302 };
2303 Box::pin(fut)
2304 }
2305 }
2306 let accept_compression_encodings = self.accept_compression_encodings;
2307 let send_compression_encodings = self.send_compression_encodings;
2308 let max_decoding_message_size = self.max_decoding_message_size;
2309 let max_encoding_message_size = self.max_encoding_message_size;
2310 let inner = self.inner.clone();
2311 let fut = async move {
2312 let method = EndBlockSvc(inner);
2313 let codec = tonic::codec::ProstCodec::default();
2314 let mut grpc = tonic::server::Grpc::new(codec)
2315 .apply_compression_config(
2316 accept_compression_encodings,
2317 send_compression_encodings,
2318 )
2319 .apply_max_message_size_config(
2320 max_decoding_message_size,
2321 max_encoding_message_size,
2322 );
2323 let res = grpc.unary(method, req).await;
2324 Ok(res)
2325 };
2326 Box::pin(fut)
2327 }
2328 "/tendermint.abci.ABCIApplication/ListSnapshots" => {
2329 #[allow(non_camel_case_types)]
2330 struct ListSnapshotsSvc<T: AbciApplication>(pub Arc<T>);
2331 impl<
2332 T: AbciApplication,
2333 > tonic::server::UnaryService<super::RequestListSnapshots>
2334 for ListSnapshotsSvc<T> {
2335 type Response = super::ResponseListSnapshots;
2336 type Future = BoxFuture<
2337 tonic::Response<Self::Response>,
2338 tonic::Status,
2339 >;
2340 fn call(
2341 &mut self,
2342 request: tonic::Request<super::RequestListSnapshots>,
2343 ) -> Self::Future {
2344 let inner = Arc::clone(&self.0);
2345 let fut = async move {
2346 <T as AbciApplication>::list_snapshots(&inner, request)
2347 .await
2348 };
2349 Box::pin(fut)
2350 }
2351 }
2352 let accept_compression_encodings = self.accept_compression_encodings;
2353 let send_compression_encodings = self.send_compression_encodings;
2354 let max_decoding_message_size = self.max_decoding_message_size;
2355 let max_encoding_message_size = self.max_encoding_message_size;
2356 let inner = self.inner.clone();
2357 let fut = async move {
2358 let method = ListSnapshotsSvc(inner);
2359 let codec = tonic::codec::ProstCodec::default();
2360 let mut grpc = tonic::server::Grpc::new(codec)
2361 .apply_compression_config(
2362 accept_compression_encodings,
2363 send_compression_encodings,
2364 )
2365 .apply_max_message_size_config(
2366 max_decoding_message_size,
2367 max_encoding_message_size,
2368 );
2369 let res = grpc.unary(method, req).await;
2370 Ok(res)
2371 };
2372 Box::pin(fut)
2373 }
2374 "/tendermint.abci.ABCIApplication/OfferSnapshot" => {
2375 #[allow(non_camel_case_types)]
2376 struct OfferSnapshotSvc<T: AbciApplication>(pub Arc<T>);
2377 impl<
2378 T: AbciApplication,
2379 > tonic::server::UnaryService<super::RequestOfferSnapshot>
2380 for OfferSnapshotSvc<T> {
2381 type Response = super::ResponseOfferSnapshot;
2382 type Future = BoxFuture<
2383 tonic::Response<Self::Response>,
2384 tonic::Status,
2385 >;
2386 fn call(
2387 &mut self,
2388 request: tonic::Request<super::RequestOfferSnapshot>,
2389 ) -> Self::Future {
2390 let inner = Arc::clone(&self.0);
2391 let fut = async move {
2392 <T as AbciApplication>::offer_snapshot(&inner, request)
2393 .await
2394 };
2395 Box::pin(fut)
2396 }
2397 }
2398 let accept_compression_encodings = self.accept_compression_encodings;
2399 let send_compression_encodings = self.send_compression_encodings;
2400 let max_decoding_message_size = self.max_decoding_message_size;
2401 let max_encoding_message_size = self.max_encoding_message_size;
2402 let inner = self.inner.clone();
2403 let fut = async move {
2404 let method = OfferSnapshotSvc(inner);
2405 let codec = tonic::codec::ProstCodec::default();
2406 let mut grpc = tonic::server::Grpc::new(codec)
2407 .apply_compression_config(
2408 accept_compression_encodings,
2409 send_compression_encodings,
2410 )
2411 .apply_max_message_size_config(
2412 max_decoding_message_size,
2413 max_encoding_message_size,
2414 );
2415 let res = grpc.unary(method, req).await;
2416 Ok(res)
2417 };
2418 Box::pin(fut)
2419 }
2420 "/tendermint.abci.ABCIApplication/LoadSnapshotChunk" => {
2421 #[allow(non_camel_case_types)]
2422 struct LoadSnapshotChunkSvc<T: AbciApplication>(pub Arc<T>);
2423 impl<
2424 T: AbciApplication,
2425 > tonic::server::UnaryService<super::RequestLoadSnapshotChunk>
2426 for LoadSnapshotChunkSvc<T> {
2427 type Response = super::ResponseLoadSnapshotChunk;
2428 type Future = BoxFuture<
2429 tonic::Response<Self::Response>,
2430 tonic::Status,
2431 >;
2432 fn call(
2433 &mut self,
2434 request: tonic::Request<super::RequestLoadSnapshotChunk>,
2435 ) -> Self::Future {
2436 let inner = Arc::clone(&self.0);
2437 let fut = async move {
2438 <T as AbciApplication>::load_snapshot_chunk(&inner, request)
2439 .await
2440 };
2441 Box::pin(fut)
2442 }
2443 }
2444 let accept_compression_encodings = self.accept_compression_encodings;
2445 let send_compression_encodings = self.send_compression_encodings;
2446 let max_decoding_message_size = self.max_decoding_message_size;
2447 let max_encoding_message_size = self.max_encoding_message_size;
2448 let inner = self.inner.clone();
2449 let fut = async move {
2450 let method = LoadSnapshotChunkSvc(inner);
2451 let codec = tonic::codec::ProstCodec::default();
2452 let mut grpc = tonic::server::Grpc::new(codec)
2453 .apply_compression_config(
2454 accept_compression_encodings,
2455 send_compression_encodings,
2456 )
2457 .apply_max_message_size_config(
2458 max_decoding_message_size,
2459 max_encoding_message_size,
2460 );
2461 let res = grpc.unary(method, req).await;
2462 Ok(res)
2463 };
2464 Box::pin(fut)
2465 }
2466 "/tendermint.abci.ABCIApplication/ApplySnapshotChunk" => {
2467 #[allow(non_camel_case_types)]
2468 struct ApplySnapshotChunkSvc<T: AbciApplication>(pub Arc<T>);
2469 impl<
2470 T: AbciApplication,
2471 > tonic::server::UnaryService<super::RequestApplySnapshotChunk>
2472 for ApplySnapshotChunkSvc<T> {
2473 type Response = super::ResponseApplySnapshotChunk;
2474 type Future = BoxFuture<
2475 tonic::Response<Self::Response>,
2476 tonic::Status,
2477 >;
2478 fn call(
2479 &mut self,
2480 request: tonic::Request<super::RequestApplySnapshotChunk>,
2481 ) -> Self::Future {
2482 let inner = Arc::clone(&self.0);
2483 let fut = async move {
2484 <T as AbciApplication>::apply_snapshot_chunk(
2485 &inner,
2486 request,
2487 )
2488 .await
2489 };
2490 Box::pin(fut)
2491 }
2492 }
2493 let accept_compression_encodings = self.accept_compression_encodings;
2494 let send_compression_encodings = self.send_compression_encodings;
2495 let max_decoding_message_size = self.max_decoding_message_size;
2496 let max_encoding_message_size = self.max_encoding_message_size;
2497 let inner = self.inner.clone();
2498 let fut = async move {
2499 let method = ApplySnapshotChunkSvc(inner);
2500 let codec = tonic::codec::ProstCodec::default();
2501 let mut grpc = tonic::server::Grpc::new(codec)
2502 .apply_compression_config(
2503 accept_compression_encodings,
2504 send_compression_encodings,
2505 )
2506 .apply_max_message_size_config(
2507 max_decoding_message_size,
2508 max_encoding_message_size,
2509 );
2510 let res = grpc.unary(method, req).await;
2511 Ok(res)
2512 };
2513 Box::pin(fut)
2514 }
2515 "/tendermint.abci.ABCIApplication/PrepareProposal" => {
2516 #[allow(non_camel_case_types)]
2517 struct PrepareProposalSvc<T: AbciApplication>(pub Arc<T>);
2518 impl<
2519 T: AbciApplication,
2520 > tonic::server::UnaryService<super::RequestPrepareProposal>
2521 for PrepareProposalSvc<T> {
2522 type Response = super::ResponsePrepareProposal;
2523 type Future = BoxFuture<
2524 tonic::Response<Self::Response>,
2525 tonic::Status,
2526 >;
2527 fn call(
2528 &mut self,
2529 request: tonic::Request<super::RequestPrepareProposal>,
2530 ) -> Self::Future {
2531 let inner = Arc::clone(&self.0);
2532 let fut = async move {
2533 <T as AbciApplication>::prepare_proposal(&inner, request)
2534 .await
2535 };
2536 Box::pin(fut)
2537 }
2538 }
2539 let accept_compression_encodings = self.accept_compression_encodings;
2540 let send_compression_encodings = self.send_compression_encodings;
2541 let max_decoding_message_size = self.max_decoding_message_size;
2542 let max_encoding_message_size = self.max_encoding_message_size;
2543 let inner = self.inner.clone();
2544 let fut = async move {
2545 let method = PrepareProposalSvc(inner);
2546 let codec = tonic::codec::ProstCodec::default();
2547 let mut grpc = tonic::server::Grpc::new(codec)
2548 .apply_compression_config(
2549 accept_compression_encodings,
2550 send_compression_encodings,
2551 )
2552 .apply_max_message_size_config(
2553 max_decoding_message_size,
2554 max_encoding_message_size,
2555 );
2556 let res = grpc.unary(method, req).await;
2557 Ok(res)
2558 };
2559 Box::pin(fut)
2560 }
2561 "/tendermint.abci.ABCIApplication/ProcessProposal" => {
2562 #[allow(non_camel_case_types)]
2563 struct ProcessProposalSvc<T: AbciApplication>(pub Arc<T>);
2564 impl<
2565 T: AbciApplication,
2566 > tonic::server::UnaryService<super::RequestProcessProposal>
2567 for ProcessProposalSvc<T> {
2568 type Response = super::ResponseProcessProposal;
2569 type Future = BoxFuture<
2570 tonic::Response<Self::Response>,
2571 tonic::Status,
2572 >;
2573 fn call(
2574 &mut self,
2575 request: tonic::Request<super::RequestProcessProposal>,
2576 ) -> Self::Future {
2577 let inner = Arc::clone(&self.0);
2578 let fut = async move {
2579 <T as AbciApplication>::process_proposal(&inner, request)
2580 .await
2581 };
2582 Box::pin(fut)
2583 }
2584 }
2585 let accept_compression_encodings = self.accept_compression_encodings;
2586 let send_compression_encodings = self.send_compression_encodings;
2587 let max_decoding_message_size = self.max_decoding_message_size;
2588 let max_encoding_message_size = self.max_encoding_message_size;
2589 let inner = self.inner.clone();
2590 let fut = async move {
2591 let method = ProcessProposalSvc(inner);
2592 let codec = tonic::codec::ProstCodec::default();
2593 let mut grpc = tonic::server::Grpc::new(codec)
2594 .apply_compression_config(
2595 accept_compression_encodings,
2596 send_compression_encodings,
2597 )
2598 .apply_max_message_size_config(
2599 max_decoding_message_size,
2600 max_encoding_message_size,
2601 );
2602 let res = grpc.unary(method, req).await;
2603 Ok(res)
2604 };
2605 Box::pin(fut)
2606 }
2607 _ => {
2608 Box::pin(async move {
2609 let mut response = http::Response::new(empty_body());
2610 let headers = response.headers_mut();
2611 headers
2612 .insert(
2613 tonic::Status::GRPC_STATUS,
2614 (tonic::Code::Unimplemented as i32).into(),
2615 );
2616 headers
2617 .insert(
2618 http::header::CONTENT_TYPE,
2619 tonic::metadata::GRPC_CONTENT_TYPE,
2620 );
2621 Ok(response)
2622 })
2623 }
2624 }
2625 }
2626 }
2627 impl<T> Clone for AbciApplicationServer<T> {
2628 fn clone(&self) -> Self {
2629 let inner = self.inner.clone();
2630 Self {
2631 inner,
2632 accept_compression_encodings: self.accept_compression_encodings,
2633 send_compression_encodings: self.send_compression_encodings,
2634 max_decoding_message_size: self.max_decoding_message_size,
2635 max_encoding_message_size: self.max_encoding_message_size,
2636 }
2637 }
2638 }
2639 pub const SERVICE_NAME: &str = "tendermint.abci.ABCIApplication";
2641 impl<T> tonic::server::NamedService for AbciApplicationServer<T> {
2642 const NAME: &'static str = SERVICE_NAME;
2643 }
2644}