github.com/okex/exchain@v1.8.0/libs/tendermint/proto/state/types.proto (about)

     1  syntax = "proto3";
     2  package tendermint.proto.state;
     3  
     4  option go_package = "github.com/tendermint/tendermint/proto/state";
     5  
     6  import "third_party/proto/gogoproto/gogo.proto";
     7  import "abci/types/types.proto";
     8  import "proto/types/types.proto";
     9  import "proto/types/validator.proto";
    10  import "proto/types/params.proto";
    11  import "proto/version/version.proto";
    12  import "google/protobuf/timestamp.proto";
    13  
    14  // ABCIResponses retains the responses
    15  // of the various ABCI calls during block processing.
    16  // It is persisted to disk for each height before calling Commit.
    17  message ABCIResponses {
    18    repeated tendermint.abci.types.ResponseDeliverTx deliver_txs = 1;
    19    tendermint.abci.types.ResponseEndBlock           end_block   = 2;
    20    tendermint.abci.types.ResponseBeginBlock         begin_block = 3;
    21  }
    22  
    23  // ValidatorsInfo represents the latest validator set, or the last height it changed
    24  message ValidatorsInfo {
    25    tendermint.proto.types.ValidatorSet validator_set       = 1;
    26    int64                               last_height_changed = 2;
    27  }
    28  
    29  // ConsensusParamsInfo represents the latest consensus params, or the last height it changed
    30  message ConsensusParamsInfo {
    31    tendermint.proto.types.ConsensusParams consensus_params    = 1 [(gogoproto.nullable) = false];
    32    int64                                  last_height_changed = 2;
    33  }
    34  
    35  message Version {
    36    tendermint.proto.version.Consensus consensus = 1 [(gogoproto.nullable) = false];
    37    string                             software  = 2;
    38  }
    39  
    40  message State {
    41    Version version = 1 [(gogoproto.nullable) = false];
    42  
    43    // immutable
    44    string chain_id = 2 [(gogoproto.customname) = "ChainID"];
    45  
    46    // LastBlockHeight=0 at genesis (ie. block(H=0) does not exist)
    47    int64                          last_block_height = 3;
    48    tendermint.proto.types.BlockID last_block_id     = 4
    49        [(gogoproto.nullable) = false, (gogoproto.customname) = "LastBlockID"];
    50    google.protobuf.Timestamp last_block_time = 5
    51        [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
    52  
    53    // LastValidators is used to validate block.LastCommit.
    54    // Validators are persisted to the database separately every time they change,
    55    // so we can query for historical validator sets.
    56    // Note that if s.LastBlockHeight causes a valset change,
    57    // we set s.LastHeightValidatorsChanged = s.LastBlockHeight + 1 + 1
    58    // Extra +1 due to nextValSet delay.
    59    tendermint.proto.types.ValidatorSet next_validators                = 6;
    60    tendermint.proto.types.ValidatorSet validators                     = 7;
    61    tendermint.proto.types.ValidatorSet last_validators                = 8;
    62    int64                               last_height_validators_changed = 9;
    63  
    64    // Consensus parameters used for validating blocks.
    65    // Changes returned by EndBlock and updated after Commit.
    66    tendermint.proto.types.ConsensusParams consensus_params                     = 10 [(gogoproto.nullable) = false];
    67    int64                                  last_height_consensus_params_changed = 11;
    68  
    69    // Merkle root of the results from executing prev block
    70    bytes last_results_hash = 12;
    71  
    72    // the latest AppHash we've received from calling abci.Commit()
    73    bytes app_hash = 13;
    74  }