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 }