github.com/pokt-network/tendermint@v0.32.11-0.20230426215212-59310158d3e9/proto/consensus/msgs.proto (about) 1 syntax = "proto3"; 2 package tendermint.proto.consensus; 3 4 option go_package = "github.com/tendermint/tendermint/proto/consensus"; 5 6 import "third_party/proto/gogoproto/gogo.proto"; 7 import "proto/types/types.proto"; 8 import "proto/libs/bits/types.proto"; 9 10 // NewRoundStepMessage 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 // NewValidBlockMessage is sent when a validator observes a valid block B in some round r, 21 //i.e., there is a Proposal for block B and 2/3+ prevotes for the block B in the round r. 22 // In case the block is also committed, then IsCommit flag is set to true. 23 message NewValidBlock { 24 int64 height = 1; 25 int32 round = 2; 26 tendermint.proto.types.PartSetHeader block_parts_header = 3 [(gogoproto.nullable) = false]; 27 tendermint.proto.libs.bits.BitArray block_parts = 4; 28 bool is_commit = 5; 29 } 30 31 // ProposalMessage is sent when a new block is proposed. 32 message Proposal { 33 tendermint.proto.types.Proposal proposal = 1 [(gogoproto.nullable) = false]; 34 } 35 36 // ProposalPOLMessage is sent when a previous proposal is re-proposed. 37 message ProposalPOL { 38 int64 height = 1; 39 int32 proposal_pol_round = 2; 40 tendermint.proto.libs.bits.BitArray proposal_pol = 3 [(gogoproto.nullable) = false]; 41 } 42 43 // BlockPartMessage is sent when gossipping a piece of the proposed block. 44 message BlockPart { 45 int64 height = 1; 46 int32 round = 2; 47 tendermint.proto.types.Part part = 3 [(gogoproto.nullable) = false]; 48 } 49 50 // VoteMessage is sent when voting for a proposal (or lack thereof). 51 message Vote { 52 tendermint.proto.types.Vote vote = 1; 53 } 54 55 // HasVoteMessage is sent to indicate that a particular vote has been received. 56 message HasVote { 57 int64 height = 1; 58 int32 round = 2; 59 tendermint.proto.types.SignedMsgType type = 3; 60 uint32 index = 4; 61 } 62 63 // VoteSetMaj23Message is sent to indicate that a given BlockID has seen +2/3 votes. 64 message VoteSetMaj23 { 65 int64 height = 1; 66 int32 round = 2; 67 tendermint.proto.types.SignedMsgType type = 3; 68 tendermint.proto.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; 69 } 70 71 // VoteSetBitsMessage is sent to communicate the bit-array of votes seen for the BlockID. 72 message VoteSetBits { 73 int64 height = 1; 74 int32 round = 2; 75 tendermint.proto.types.SignedMsgType type = 3; 76 tendermint.proto.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; 77 tendermint.proto.libs.bits.BitArray votes = 5 [(gogoproto.nullable) = false]; 78 } 79 80 message Message { 81 oneof sum { 82 NewRoundStep new_round_step = 1; 83 NewValidBlock new_valid_block = 2; 84 Proposal proposal = 3; 85 ProposalPOL proposal_pol = 4; 86 BlockPart block_part = 5; 87 Vote vote = 6; 88 HasVote has_vote = 7; 89 VoteSetMaj23 vote_set_maj23 = 8; 90 VoteSetBits vote_set_bits = 9; 91 } 92 }