github.com/devwanda/aphelion-staking@v0.33.9/proto/types/params.proto (about)

     1  syntax = "proto3";
     2  package tendermint.proto.types;
     3  
     4  option go_package = "github.com/devwanda/aphelion-staking/proto/types";
     5  
     6  import "third_party/proto/gogoproto/gogo.proto";
     7  import "google/protobuf/duration.proto";
     8  
     9  option (gogoproto.equal_all) = true;
    10  
    11  // ConsensusParams contains consensus critical parameters that determine the
    12  // validity of blocks.
    13  message ConsensusParams {
    14    BlockParams     block     = 1 [(gogoproto.nullable) = false];
    15    EvidenceParams  evidence  = 2 [(gogoproto.nullable) = false];
    16    ValidatorParams validator = 3 [(gogoproto.nullable) = false];
    17  }
    18  
    19  // BlockParams contains limits on the block size.
    20  message BlockParams {
    21    // Note: must be greater than 0
    22    int64 max_bytes = 1;
    23    // Note: must be greater or equal to -1
    24    int64 max_gas = 2;
    25    // Minimum time increment between consecutive blocks (in milliseconds)
    26    // Not exposed to the application.
    27    int64 time_iota_ms = 3;
    28  }
    29  
    30  // EvidenceParams determine how we handle evidence of malfeasance.
    31  message EvidenceParams {
    32    // Max age of evidence, in blocks.
    33    //
    34    // The basic formula for calculating this is: MaxAgeDuration / {average block
    35    // time}.
    36    int64 max_age_num_blocks = 1;
    37  
    38    // Max age of evidence, in time.
    39    //
    40    // It should correspond with an app's "unbonding period" or other similar
    41    // mechanism for handling [Nothing-At-Stake
    42    // attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
    43    google.protobuf.Duration max_age_duration = 2
    44        [(gogoproto.nullable) = false, (gogoproto.stdduration) = true];
    45  
    46    // This sets the maximum number of evidence that can be committed in a single block.
    47    // and should fall comfortably under the max block bytes when we consider the size of
    48    // each evidence (See MaxEvidenceBytes). The maximum number is MaxEvidencePerBlock.
    49    // Default is 50
    50    uint32 max_num = 3;
    51  }
    52  
    53  // ValidatorParams restrict the public key types validators can use.
    54  // NOTE: uses ABCI pubkey naming, not Amino names.
    55  message ValidatorParams {
    56    repeated string pub_key_types = 1;
    57  }
    58  
    59  // HashedParams is a subset of ConsensusParams.
    60  // It is amino encoded and hashed into
    61  // the Header.ConsensusHash.
    62  message HashedParams {
    63    int64 block_max_bytes = 1;
    64    int64 block_max_gas   = 2;
    65  }