mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-19 22:44:24 +00:00
these proto files are meant to help unblock ibc in their quest of migrating the ibc module to proto.
93 lines
3.5 KiB
Protocol Buffer
93 lines
3.5 KiB
Protocol Buffer
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;
|
|
}
|
|
}
|