github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/proto/tendermint/consensus/types.proto (about) 1 syntax = "proto3"; 2 package seitendermint.consensus; 3 4 option go_package = "github.com/ari-anchor/sei-tendermint/proto/tendermint/consensus"; 5 6 import "gogoproto/gogo.proto"; 7 import "tendermint/types/types.proto"; 8 import "tendermint/libs/bits/types.proto"; 9 10 // NewRoundStep is sent for every step taken in the ConsensusState. 11 // For every height/round/step transition 12 message NewRoundStep { 13 int64 height = 1; 14 int32 round = 2; 15 uint32 step = 3; 16 int64 seconds_since_start_time = 4; 17 int32 last_commit_round = 5; 18 } 19 20 // NewValidBlock is sent when a validator observes a valid block B in some round 21 // r, 22 // i.e., there is a Proposal for block B and 2/3+ prevotes for the block B in 23 // the round r. 24 // In case the block is also committed, then IsCommit flag is set to true. 25 message NewValidBlock { 26 int64 height = 1; 27 int32 round = 2; 28 seitendermint.types.PartSetHeader block_part_set_header = 3 29 [(gogoproto.nullable) = false]; 30 seitendermint.libs.bits.BitArray block_parts = 4; 31 bool is_commit = 5; 32 } 33 34 // Proposal is sent when a new block is proposed. 35 message Proposal { 36 seitendermint.types.Proposal proposal = 1 [(gogoproto.nullable) = false]; 37 } 38 39 // ProposalPOL is sent when a previous proposal is re-proposed. 40 message ProposalPOL { 41 int64 height = 1; 42 int32 proposal_pol_round = 2; 43 seitendermint.libs.bits.BitArray proposal_pol = 3 44 [(gogoproto.nullable) = false]; 45 } 46 47 // BlockPart is sent when gossipping a piece of the proposed block. 48 message BlockPart { 49 int64 height = 1; 50 int32 round = 2; 51 seitendermint.types.Part part = 3 [(gogoproto.nullable) = false]; 52 } 53 54 // Vote is sent when voting for a proposal (or lack thereof). 55 message Vote { 56 seitendermint.types.Vote vote = 1; 57 } 58 59 // HasVote is sent to indicate that a particular vote has been received. 60 message HasVote { 61 int64 height = 1; 62 int32 round = 2; 63 seitendermint.types.SignedMsgType type = 3; 64 int32 index = 4; 65 } 66 67 message VoteSetMaj23 { 68 // VoteSetMaj23 is sent to indicate that a given BlockID has seen +2/3 votes. 69 int64 height = 1; 70 int32 round = 2; 71 seitendermint.types.SignedMsgType type = 3; 72 seitendermint.types.BlockID block_id = 4 73 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; 74 } 75 76 // VoteSetBits is sent to communicate the bit-array of votes seen for the 77 // BlockID. 78 message VoteSetBits { 79 int64 height = 1; 80 int32 round = 2; 81 seitendermint.types.SignedMsgType type = 3; 82 seitendermint.types.BlockID block_id = 4 83 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; 84 seitendermint.libs.bits.BitArray votes = 5 [(gogoproto.nullable) = false]; 85 } 86 87 88 message Message { 89 oneof sum { 90 NewRoundStep new_round_step = 1; 91 NewValidBlock new_valid_block = 2; 92 Proposal proposal = 3; 93 ProposalPOL proposal_pol = 4; 94 BlockPart block_part = 5; 95 Vote vote = 6; 96 HasVote has_vote = 7; 97 VoteSetMaj23 vote_set_maj23 = 8; 98 VoteSetBits vote_set_bits = 9; 99 } 100 }