1use provwasm_proc_macro::CosmwasmExt;
2#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
5#[proto_message(type_url = "/tendermint.types.ConsensusParams")]
6pub struct ConsensusParams {
7 #[prost(message, optional, tag = "1")]
8 pub block: ::core::option::Option<BlockParams>,
9 #[prost(message, optional, tag = "2")]
10 pub evidence: ::core::option::Option<EvidenceParams>,
11 #[prost(message, optional, tag = "3")]
12 pub validator: ::core::option::Option<ValidatorParams>,
13 #[prost(message, optional, tag = "4")]
14 pub version: ::core::option::Option<VersionParams>,
15 #[prost(message, optional, tag = "5")]
16 pub abci: ::core::option::Option<AbciParams>,
17}
18#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
20#[proto_message(type_url = "/tendermint.types.BlockParams")]
21pub struct BlockParams {
22 #[prost(int64, tag = "1")]
25 pub max_bytes: i64,
26 #[prost(int64, tag = "2")]
29 pub max_gas: i64,
30}
31#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
33#[proto_message(type_url = "/tendermint.types.EvidenceParams")]
34pub struct EvidenceParams {
35 #[prost(int64, tag = "1")]
40 pub max_age_num_blocks: i64,
41 #[prost(message, optional, tag = "2")]
47 pub max_age_duration: ::core::option::Option<crate::shim::Duration>,
48 #[prost(int64, tag = "3")]
52 pub max_bytes: i64,
53}
54#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
57#[proto_message(type_url = "/tendermint.types.ValidatorParams")]
58pub struct ValidatorParams {
59 #[prost(string, repeated, tag = "1")]
60 pub pub_key_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
61}
62#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
64#[proto_message(type_url = "/tendermint.types.VersionParams")]
65pub struct VersionParams {
66 #[prost(uint64, tag = "1")]
67 pub app: u64,
68}
69#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
73#[proto_message(type_url = "/tendermint.types.HashedParams")]
74pub struct HashedParams {
75 #[prost(int64, tag = "1")]
76 pub block_max_bytes: i64,
77 #[prost(int64, tag = "2")]
78 pub block_max_gas: i64,
79}
80#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
82#[proto_message(type_url = "/tendermint.types.ABCIParams")]
83pub struct AbciParams {
84 #[prost(int64, tag = "1")]
94 pub vote_extensions_enable_height: i64,
95}
96#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
97#[proto_message(type_url = "/tendermint.types.ValidatorSet")]
98pub struct ValidatorSet {
99 #[prost(message, repeated, tag = "1")]
100 pub validators: ::prost::alloc::vec::Vec<Validator>,
101 #[prost(message, optional, tag = "2")]
102 pub proposer: ::core::option::Option<Validator>,
103 #[prost(int64, tag = "3")]
104 pub total_voting_power: i64,
105}
106#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
107#[proto_message(type_url = "/tendermint.types.Validator")]
108pub struct Validator {
109 #[prost(bytes = "vec", tag = "1")]
110 pub address: ::prost::alloc::vec::Vec<u8>,
111 #[prost(message, optional, tag = "2")]
112 pub pub_key: ::core::option::Option<super::crypto::PublicKey>,
113 #[prost(int64, tag = "3")]
114 pub voting_power: i64,
115 #[prost(int64, tag = "4")]
116 pub proposer_priority: i64,
117}
118#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
119#[proto_message(type_url = "/tendermint.types.SimpleValidator")]
120pub struct SimpleValidator {
121 #[prost(message, optional, tag = "1")]
122 pub pub_key: ::core::option::Option<super::crypto::PublicKey>,
123 #[prost(int64, tag = "2")]
124 pub voting_power: i64,
125}
126#[derive(
128 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, ::prost::Enumeration, ::schemars::JsonSchema,
129)]
130#[repr(i32)]
131pub enum BlockIdFlag {
132 Unknown = 0,
134 Absent = 1,
136 Commit = 2,
138 Nil = 3,
140}
141impl BlockIdFlag {
142 pub fn as_str_name(&self) -> &'static str {
147 match self {
148 Self::Unknown => "BLOCK_ID_FLAG_UNKNOWN",
149 Self::Absent => "BLOCK_ID_FLAG_ABSENT",
150 Self::Commit => "BLOCK_ID_FLAG_COMMIT",
151 Self::Nil => "BLOCK_ID_FLAG_NIL",
152 }
153 }
154 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
156 match value {
157 "BLOCK_ID_FLAG_UNKNOWN" => Some(Self::Unknown),
158 "BLOCK_ID_FLAG_ABSENT" => Some(Self::Absent),
159 "BLOCK_ID_FLAG_COMMIT" => Some(Self::Commit),
160 "BLOCK_ID_FLAG_NIL" => Some(Self::Nil),
161 _ => None,
162 }
163 }
164}
165#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
167#[proto_message(type_url = "/tendermint.types.PartSetHeader")]
168pub struct PartSetHeader {
169 #[prost(uint32, tag = "1")]
170 pub total: u32,
171 #[prost(bytes = "vec", tag = "2")]
172 pub hash: ::prost::alloc::vec::Vec<u8>,
173}
174#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
175#[proto_message(type_url = "/tendermint.types.Part")]
176pub struct Part {
177 #[prost(uint32, tag = "1")]
178 pub index: u32,
179 #[prost(bytes = "vec", tag = "2")]
180 pub bytes: ::prost::alloc::vec::Vec<u8>,
181 #[prost(message, optional, tag = "3")]
182 pub proof: ::core::option::Option<super::crypto::Proof>,
183}
184#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
186#[proto_message(type_url = "/tendermint.types.BlockID")]
187pub struct BlockId {
188 #[prost(bytes = "vec", tag = "1")]
189 pub hash: ::prost::alloc::vec::Vec<u8>,
190 #[prost(message, optional, tag = "2")]
191 pub part_set_header: ::core::option::Option<PartSetHeader>,
192}
193#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
195#[proto_message(type_url = "/tendermint.types.Header")]
196pub struct Header {
197 #[prost(message, optional, tag = "1")]
199 pub version: ::core::option::Option<super::version::Consensus>,
200 #[prost(string, tag = "2")]
201 pub chain_id: ::prost::alloc::string::String,
202 #[prost(int64, tag = "3")]
203 pub height: i64,
204 #[prost(message, optional, tag = "4")]
205 pub time: ::core::option::Option<crate::shim::Timestamp>,
206 #[prost(message, optional, tag = "5")]
208 pub last_block_id: ::core::option::Option<BlockId>,
209 #[prost(bytes = "vec", tag = "6")]
213 pub last_commit_hash: ::prost::alloc::vec::Vec<u8>,
214 #[prost(bytes = "vec", tag = "7")]
216 pub data_hash: ::prost::alloc::vec::Vec<u8>,
217 #[prost(bytes = "vec", tag = "8")]
221 pub validators_hash: ::prost::alloc::vec::Vec<u8>,
222 #[prost(bytes = "vec", tag = "9")]
224 pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
225 #[prost(bytes = "vec", tag = "10")]
227 pub consensus_hash: ::prost::alloc::vec::Vec<u8>,
228 #[prost(bytes = "vec", tag = "11")]
230 pub app_hash: ::prost::alloc::vec::Vec<u8>,
231 #[prost(bytes = "vec", tag = "12")]
233 pub last_results_hash: ::prost::alloc::vec::Vec<u8>,
234 #[prost(bytes = "vec", tag = "13")]
238 pub evidence_hash: ::prost::alloc::vec::Vec<u8>,
239 #[prost(bytes = "vec", tag = "14")]
241 pub proposer_address: ::prost::alloc::vec::Vec<u8>,
242}
243#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
245#[proto_message(type_url = "/tendermint.types.Data")]
246pub struct Data {
247 #[prost(bytes = "vec", repeated, tag = "1")]
251 pub txs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
252}
253#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
256#[proto_message(type_url = "/tendermint.types.Vote")]
257pub struct Vote {
258 #[prost(enumeration = "SignedMsgType", tag = "1")]
259 pub r#type: i32,
260 #[prost(int64, tag = "2")]
261 pub height: i64,
262 #[prost(int32, tag = "3")]
263 pub round: i32,
264 #[prost(message, optional, tag = "4")]
266 pub block_id: ::core::option::Option<BlockId>,
267 #[prost(message, optional, tag = "5")]
268 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
269 #[prost(bytes = "vec", tag = "6")]
270 pub validator_address: ::prost::alloc::vec::Vec<u8>,
271 #[prost(int32, tag = "7")]
272 pub validator_index: i32,
273 #[prost(bytes = "vec", tag = "8")]
276 pub signature: ::prost::alloc::vec::Vec<u8>,
277 #[prost(bytes = "vec", tag = "9")]
280 pub extension: ::prost::alloc::vec::Vec<u8>,
281 #[prost(bytes = "vec", tag = "10")]
285 pub extension_signature: ::prost::alloc::vec::Vec<u8>,
286}
287#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
289#[proto_message(type_url = "/tendermint.types.Commit")]
290pub struct Commit {
291 #[prost(int64, tag = "1")]
292 pub height: i64,
293 #[prost(int32, tag = "2")]
294 pub round: i32,
295 #[prost(message, optional, tag = "3")]
296 pub block_id: ::core::option::Option<BlockId>,
297 #[prost(message, repeated, tag = "4")]
298 pub signatures: ::prost::alloc::vec::Vec<CommitSig>,
299}
300#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
302#[proto_message(type_url = "/tendermint.types.CommitSig")]
303pub struct CommitSig {
304 #[prost(enumeration = "BlockIdFlag", tag = "1")]
305 pub block_id_flag: i32,
306 #[prost(bytes = "vec", tag = "2")]
307 pub validator_address: ::prost::alloc::vec::Vec<u8>,
308 #[prost(message, optional, tag = "3")]
309 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
310 #[prost(bytes = "vec", tag = "4")]
311 pub signature: ::prost::alloc::vec::Vec<u8>,
312}
313#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
314#[proto_message(type_url = "/tendermint.types.ExtendedCommit")]
315pub struct ExtendedCommit {
316 #[prost(int64, tag = "1")]
317 pub height: i64,
318 #[prost(int32, tag = "2")]
319 pub round: i32,
320 #[prost(message, optional, tag = "3")]
321 pub block_id: ::core::option::Option<BlockId>,
322 #[prost(message, repeated, tag = "4")]
323 pub extended_signatures: ::prost::alloc::vec::Vec<ExtendedCommitSig>,
324}
325#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
329#[proto_message(type_url = "/tendermint.types.ExtendedCommitSig")]
330pub struct ExtendedCommitSig {
331 #[prost(enumeration = "BlockIdFlag", tag = "1")]
332 pub block_id_flag: i32,
333 #[prost(bytes = "vec", tag = "2")]
334 pub validator_address: ::prost::alloc::vec::Vec<u8>,
335 #[prost(message, optional, tag = "3")]
336 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
337 #[prost(bytes = "vec", tag = "4")]
338 pub signature: ::prost::alloc::vec::Vec<u8>,
339 #[prost(bytes = "vec", tag = "5")]
341 pub extension: ::prost::alloc::vec::Vec<u8>,
342 #[prost(bytes = "vec", tag = "6")]
344 pub extension_signature: ::prost::alloc::vec::Vec<u8>,
345}
346#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
347#[proto_message(type_url = "/tendermint.types.Proposal")]
348pub struct Proposal {
349 #[prost(enumeration = "SignedMsgType", tag = "1")]
350 pub r#type: i32,
351 #[prost(int64, tag = "2")]
352 pub height: i64,
353 #[prost(int32, tag = "3")]
354 pub round: i32,
355 #[prost(int32, tag = "4")]
356 pub pol_round: i32,
357 #[prost(message, optional, tag = "5")]
358 pub block_id: ::core::option::Option<BlockId>,
359 #[prost(message, optional, tag = "6")]
360 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
361 #[prost(bytes = "vec", tag = "7")]
362 pub signature: ::prost::alloc::vec::Vec<u8>,
363}
364#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
365#[proto_message(type_url = "/tendermint.types.SignedHeader")]
366pub struct SignedHeader {
367 #[prost(message, optional, tag = "1")]
368 pub header: ::core::option::Option<Header>,
369 #[prost(message, optional, tag = "2")]
370 pub commit: ::core::option::Option<Commit>,
371}
372#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
373#[proto_message(type_url = "/tendermint.types.LightBlock")]
374pub struct LightBlock {
375 #[prost(message, optional, tag = "1")]
376 pub signed_header: ::core::option::Option<SignedHeader>,
377 #[prost(message, optional, tag = "2")]
378 pub validator_set: ::core::option::Option<ValidatorSet>,
379}
380#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
381#[proto_message(type_url = "/tendermint.types.BlockMeta")]
382pub struct BlockMeta {
383 #[prost(message, optional, tag = "1")]
384 pub block_id: ::core::option::Option<BlockId>,
385 #[prost(int64, tag = "2")]
386 pub block_size: i64,
387 #[prost(message, optional, tag = "3")]
388 pub header: ::core::option::Option<Header>,
389 #[prost(int64, tag = "4")]
390 pub num_txs: i64,
391}
392#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
394#[proto_message(type_url = "/tendermint.types.TxProof")]
395pub struct TxProof {
396 #[prost(bytes = "vec", tag = "1")]
397 pub root_hash: ::prost::alloc::vec::Vec<u8>,
398 #[prost(bytes = "vec", tag = "2")]
399 pub data: ::prost::alloc::vec::Vec<u8>,
400 #[prost(message, optional, tag = "3")]
401 pub proof: ::core::option::Option<super::crypto::Proof>,
402}
403#[derive(
405 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, ::prost::Enumeration, ::schemars::JsonSchema,
406)]
407#[repr(i32)]
408pub enum SignedMsgType {
409 Unknown = 0,
410 Prevote = 1,
412 Precommit = 2,
413 Proposal = 32,
415}
416impl SignedMsgType {
417 pub fn as_str_name(&self) -> &'static str {
422 match self {
423 Self::Unknown => "SIGNED_MSG_TYPE_UNKNOWN",
424 Self::Prevote => "SIGNED_MSG_TYPE_PREVOTE",
425 Self::Precommit => "SIGNED_MSG_TYPE_PRECOMMIT",
426 Self::Proposal => "SIGNED_MSG_TYPE_PROPOSAL",
427 }
428 }
429 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
431 match value {
432 "SIGNED_MSG_TYPE_UNKNOWN" => Some(Self::Unknown),
433 "SIGNED_MSG_TYPE_PREVOTE" => Some(Self::Prevote),
434 "SIGNED_MSG_TYPE_PRECOMMIT" => Some(Self::Precommit),
435 "SIGNED_MSG_TYPE_PROPOSAL" => Some(Self::Proposal),
436 _ => None,
437 }
438 }
439}
440#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
441#[proto_message(type_url = "/tendermint.types.Evidence")]
442pub struct Evidence {
443 #[prost(oneof = "evidence::Sum", tags = "1, 2")]
444 pub sum: ::core::option::Option<evidence::Sum>,
445}
446pub mod evidence {
448 use provwasm_proc_macro::CosmwasmExt;
449 #[derive(Clone, PartialEq, Eq, ::prost::Oneof, ::schemars::JsonSchema)]
450 pub enum Sum {
451 #[prost(message, tag = "1")]
452 DuplicateVoteEvidence(super::DuplicateVoteEvidence),
453 #[prost(message, tag = "2")]
454 LightClientAttackEvidence(super::LightClientAttackEvidence),
455 }
456}
457#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
459#[proto_message(type_url = "/tendermint.types.DuplicateVoteEvidence")]
460pub struct DuplicateVoteEvidence {
461 #[prost(message, optional, tag = "1")]
462 pub vote_a: ::core::option::Option<Vote>,
463 #[prost(message, optional, tag = "2")]
464 pub vote_b: ::core::option::Option<Vote>,
465 #[prost(int64, tag = "3")]
466 pub total_voting_power: i64,
467 #[prost(int64, tag = "4")]
468 pub validator_power: i64,
469 #[prost(message, optional, tag = "5")]
470 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
471}
472#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
474#[proto_message(type_url = "/tendermint.types.LightClientAttackEvidence")]
475pub struct LightClientAttackEvidence {
476 #[prost(message, optional, tag = "1")]
477 pub conflicting_block: ::core::option::Option<LightBlock>,
478 #[prost(int64, tag = "2")]
479 pub common_height: i64,
480 #[prost(message, repeated, tag = "3")]
481 pub byzantine_validators: ::prost::alloc::vec::Vec<Validator>,
482 #[prost(int64, tag = "4")]
483 pub total_voting_power: i64,
484 #[prost(message, optional, tag = "5")]
485 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
486}
487#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
488#[proto_message(type_url = "/tendermint.types.EvidenceList")]
489pub struct EvidenceList {
490 #[prost(message, repeated, tag = "1")]
491 pub evidence: ::prost::alloc::vec::Vec<Evidence>,
492}
493#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
494#[proto_message(type_url = "/tendermint.types.Block")]
495pub struct Block {
496 #[prost(message, optional, tag = "1")]
497 pub header: ::core::option::Option<Header>,
498 #[prost(message, optional, tag = "2")]
499 pub data: ::core::option::Option<Data>,
500 #[prost(message, optional, tag = "3")]
501 pub evidence: ::core::option::Option<EvidenceList>,
502 #[prost(message, optional, tag = "4")]
503 pub last_commit: ::core::option::Option<Commit>,
504}
505#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
506#[proto_message(type_url = "/tendermint.types.EventDataRoundState")]
507pub struct EventDataRoundState {
508 #[prost(int64, tag = "1")]
509 pub height: i64,
510 #[prost(int32, tag = "2")]
511 pub round: i32,
512 #[prost(string, tag = "3")]
513 pub step: ::prost::alloc::string::String,
514}
515#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
516#[proto_message(type_url = "/tendermint.types.CanonicalBlockID")]
517pub struct CanonicalBlockId {
518 #[prost(bytes = "vec", tag = "1")]
519 pub hash: ::prost::alloc::vec::Vec<u8>,
520 #[prost(message, optional, tag = "2")]
521 pub part_set_header: ::core::option::Option<CanonicalPartSetHeader>,
522}
523#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
524#[proto_message(type_url = "/tendermint.types.CanonicalPartSetHeader")]
525pub struct CanonicalPartSetHeader {
526 #[prost(uint32, tag = "1")]
527 pub total: u32,
528 #[prost(bytes = "vec", tag = "2")]
529 pub hash: ::prost::alloc::vec::Vec<u8>,
530}
531#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
532#[proto_message(type_url = "/tendermint.types.CanonicalProposal")]
533pub struct CanonicalProposal {
534 #[prost(enumeration = "SignedMsgType", tag = "1")]
536 pub r#type: i32,
537 #[prost(sfixed64, tag = "2")]
539 pub height: i64,
540 #[prost(sfixed64, tag = "3")]
542 pub round: i64,
543 #[prost(int64, tag = "4")]
544 pub pol_round: i64,
545 #[prost(message, optional, tag = "5")]
546 pub block_id: ::core::option::Option<CanonicalBlockId>,
547 #[prost(message, optional, tag = "6")]
548 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
549 #[prost(string, tag = "7")]
550 pub chain_id: ::prost::alloc::string::String,
551}
552#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
553#[proto_message(type_url = "/tendermint.types.CanonicalVote")]
554pub struct CanonicalVote {
555 #[prost(enumeration = "SignedMsgType", tag = "1")]
557 pub r#type: i32,
558 #[prost(sfixed64, tag = "2")]
560 pub height: i64,
561 #[prost(sfixed64, tag = "3")]
563 pub round: i64,
564 #[prost(message, optional, tag = "4")]
565 pub block_id: ::core::option::Option<CanonicalBlockId>,
566 #[prost(message, optional, tag = "5")]
567 pub timestamp: ::core::option::Option<crate::shim::Timestamp>,
568 #[prost(string, tag = "6")]
569 pub chain_id: ::prost::alloc::string::String,
570}
571#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
574#[proto_message(type_url = "/tendermint.types.CanonicalVoteExtension")]
575pub struct CanonicalVoteExtension {
576 #[prost(bytes = "vec", tag = "1")]
577 pub extension: ::prost::alloc::vec::Vec<u8>,
578 #[prost(sfixed64, tag = "2")]
579 pub height: i64,
580 #[prost(sfixed64, tag = "3")]
581 pub round: i64,
582 #[prost(string, tag = "4")]
583 pub chain_id: ::prost::alloc::string::String,
584}