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  }