github.com/line/ostracon@v1.0.10-0.20230328032236-7f20145f065d/proto/ostracon/state/types.proto (about)

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