|
|
- syntax = "proto3";
- package tendermint.proto.consensus;
-
- option go_package = "github.com/tendermint/tendermint/proto/consensus";
-
- import "third_party/proto/gogoproto/gogo.proto";
- import "proto/types/types.proto";
- import "proto/libs/bits/types.proto";
-
- // NewRoundStepMessage is sent for every step taken in the ConsensusState.
- // For every height/round/step transition
- message NewRoundStep {
- int64 height = 1;
- int32 round = 2;
- uint32 step = 3;
- int64 seconds_since_start_time = 4;
- int32 last_commit_round = 5;
- }
-
- // NewValidBlockMessage is sent when a validator observes a valid block B in some round r,
- //i.e., there is a Proposal for block B and 2/3+ prevotes for the block B in the round r.
- // In case the block is also committed, then IsCommit flag is set to true.
- message NewValidBlock {
- int64 height = 1;
- int32 round = 2;
- tendermint.proto.types.PartSetHeader block_parts_header = 3 [(gogoproto.nullable) = false];
- tendermint.proto.libs.bits.BitArray block_parts = 4;
- bool is_commit = 5;
- }
-
- // ProposalMessage is sent when a new block is proposed.
- message Proposal {
- tendermint.proto.types.Proposal proposal = 1 [(gogoproto.nullable) = false];
- }
-
- // ProposalPOLMessage is sent when a previous proposal is re-proposed.
- message ProposalPOL {
- int64 height = 1;
- int32 proposal_pol_round = 2;
- tendermint.proto.libs.bits.BitArray proposal_pol = 3 [(gogoproto.nullable) = false];
- }
-
- // BlockPartMessage is sent when gossipping a piece of the proposed block.
- message BlockPart {
- int64 height = 1;
- int32 round = 2;
- tendermint.proto.types.Part part = 3 [(gogoproto.nullable) = false];
- }
-
- // VoteMessage is sent when voting for a proposal (or lack thereof).
- message Vote {
- tendermint.proto.types.Vote vote = 1;
- }
-
- // HasVoteMessage is sent to indicate that a particular vote has been received.
- message HasVote {
- int64 height = 1;
- int32 round = 2;
- tendermint.proto.types.SignedMsgType type = 3;
- uint32 index = 4;
- }
-
- // VoteSetMaj23Message is sent to indicate that a given BlockID has seen +2/3 votes.
- message VoteSetMaj23 {
- int64 height = 1;
- int32 round = 2;
- tendermint.proto.types.SignedMsgType type = 3;
- tendermint.proto.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false];
- }
-
- // VoteSetBitsMessage is sent to communicate the bit-array of votes seen for the BlockID.
- message VoteSetBits {
- int64 height = 1;
- int32 round = 2;
- tendermint.proto.types.SignedMsgType type = 3;
- tendermint.proto.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false];
- tendermint.proto.libs.bits.BitArray votes = 5 [(gogoproto.nullable) = false];
- }
-
- message Message {
- oneof sum {
- NewRoundStep new_round_step = 1;
- NewValidBlock new_valid_block = 2;
- Proposal proposal = 3;
- ProposalPOL proposal_pol = 4;
- BlockPart block_part = 5;
- Vote vote = 6;
- HasVote has_vote = 7;
- VoteSetMaj23 vote_set_maj23 = 8;
- VoteSetBits vote_set_bits = 9;
- }
- }
|