github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/proto/tendermint/types/params.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: tendermint/types/params.proto
     3  
     4  package types
     5  
     6  import (
     7  	fmt "fmt"
     8  	_ "github.com/gogo/protobuf/gogoproto"
     9  	proto "github.com/gogo/protobuf/proto"
    10  	github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
    11  	_ "github.com/golang/protobuf/ptypes/duration"
    12  	io "io"
    13  	math "math"
    14  	math_bits "math/bits"
    15  	time "time"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var _ = proto.Marshal
    20  var _ = fmt.Errorf
    21  var _ = math.Inf
    22  var _ = time.Kitchen
    23  
    24  // This is a compile-time assertion to ensure that this generated file
    25  // is compatible with the proto package it is being compiled against.
    26  // A compilation error at this line likely means your copy of the
    27  // proto package needs to be updated.
    28  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    29  
    30  // ConsensusParams contains consensus critical parameters that determine the
    31  // validity of blocks.
    32  type ConsensusParams struct {
    33  	Block     *BlockParams     `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
    34  	Evidence  *EvidenceParams  `protobuf:"bytes,2,opt,name=evidence,proto3" json:"evidence,omitempty"`
    35  	Validator *ValidatorParams `protobuf:"bytes,3,opt,name=validator,proto3" json:"validator,omitempty"`
    36  	Version   *VersionParams   `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
    37  	Synchrony *SynchronyParams `protobuf:"bytes,5,opt,name=synchrony,proto3" json:"synchrony,omitempty"`
    38  	Timeout   *TimeoutParams   `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
    39  	Abci      *ABCIParams      `protobuf:"bytes,7,opt,name=abci,proto3" json:"abci,omitempty"`
    40  }
    41  
    42  func (m *ConsensusParams) Reset()         { *m = ConsensusParams{} }
    43  func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
    44  func (*ConsensusParams) ProtoMessage()    {}
    45  func (*ConsensusParams) Descriptor() ([]byte, []int) {
    46  	return fileDescriptor_e12598271a686f57, []int{0}
    47  }
    48  func (m *ConsensusParams) XXX_Unmarshal(b []byte) error {
    49  	return m.Unmarshal(b)
    50  }
    51  func (m *ConsensusParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    52  	if deterministic {
    53  		return xxx_messageInfo_ConsensusParams.Marshal(b, m, deterministic)
    54  	} else {
    55  		b = b[:cap(b)]
    56  		n, err := m.MarshalToSizedBuffer(b)
    57  		if err != nil {
    58  			return nil, err
    59  		}
    60  		return b[:n], nil
    61  	}
    62  }
    63  func (m *ConsensusParams) XXX_Merge(src proto.Message) {
    64  	xxx_messageInfo_ConsensusParams.Merge(m, src)
    65  }
    66  func (m *ConsensusParams) XXX_Size() int {
    67  	return m.Size()
    68  }
    69  func (m *ConsensusParams) XXX_DiscardUnknown() {
    70  	xxx_messageInfo_ConsensusParams.DiscardUnknown(m)
    71  }
    72  
    73  var xxx_messageInfo_ConsensusParams proto.InternalMessageInfo
    74  
    75  func (m *ConsensusParams) GetBlock() *BlockParams {
    76  	if m != nil {
    77  		return m.Block
    78  	}
    79  	return nil
    80  }
    81  
    82  func (m *ConsensusParams) GetEvidence() *EvidenceParams {
    83  	if m != nil {
    84  		return m.Evidence
    85  	}
    86  	return nil
    87  }
    88  
    89  func (m *ConsensusParams) GetValidator() *ValidatorParams {
    90  	if m != nil {
    91  		return m.Validator
    92  	}
    93  	return nil
    94  }
    95  
    96  func (m *ConsensusParams) GetVersion() *VersionParams {
    97  	if m != nil {
    98  		return m.Version
    99  	}
   100  	return nil
   101  }
   102  
   103  func (m *ConsensusParams) GetSynchrony() *SynchronyParams {
   104  	if m != nil {
   105  		return m.Synchrony
   106  	}
   107  	return nil
   108  }
   109  
   110  func (m *ConsensusParams) GetTimeout() *TimeoutParams {
   111  	if m != nil {
   112  		return m.Timeout
   113  	}
   114  	return nil
   115  }
   116  
   117  func (m *ConsensusParams) GetAbci() *ABCIParams {
   118  	if m != nil {
   119  		return m.Abci
   120  	}
   121  	return nil
   122  }
   123  
   124  // BlockParams contains limits on the block size.
   125  type BlockParams struct {
   126  	// Max block size, in bytes.
   127  	// Note: must be greater than 0
   128  	MaxBytes int64 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"`
   129  	// Max gas per block.
   130  	// Note: must be greater or equal to -1
   131  	MaxGas int64 `protobuf:"varint,2,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"`
   132  }
   133  
   134  func (m *BlockParams) Reset()         { *m = BlockParams{} }
   135  func (m *BlockParams) String() string { return proto.CompactTextString(m) }
   136  func (*BlockParams) ProtoMessage()    {}
   137  func (*BlockParams) Descriptor() ([]byte, []int) {
   138  	return fileDescriptor_e12598271a686f57, []int{1}
   139  }
   140  func (m *BlockParams) XXX_Unmarshal(b []byte) error {
   141  	return m.Unmarshal(b)
   142  }
   143  func (m *BlockParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   144  	if deterministic {
   145  		return xxx_messageInfo_BlockParams.Marshal(b, m, deterministic)
   146  	} else {
   147  		b = b[:cap(b)]
   148  		n, err := m.MarshalToSizedBuffer(b)
   149  		if err != nil {
   150  			return nil, err
   151  		}
   152  		return b[:n], nil
   153  	}
   154  }
   155  func (m *BlockParams) XXX_Merge(src proto.Message) {
   156  	xxx_messageInfo_BlockParams.Merge(m, src)
   157  }
   158  func (m *BlockParams) XXX_Size() int {
   159  	return m.Size()
   160  }
   161  func (m *BlockParams) XXX_DiscardUnknown() {
   162  	xxx_messageInfo_BlockParams.DiscardUnknown(m)
   163  }
   164  
   165  var xxx_messageInfo_BlockParams proto.InternalMessageInfo
   166  
   167  func (m *BlockParams) GetMaxBytes() int64 {
   168  	if m != nil {
   169  		return m.MaxBytes
   170  	}
   171  	return 0
   172  }
   173  
   174  func (m *BlockParams) GetMaxGas() int64 {
   175  	if m != nil {
   176  		return m.MaxGas
   177  	}
   178  	return 0
   179  }
   180  
   181  // EvidenceParams determine how we handle evidence of malfeasance.
   182  type EvidenceParams struct {
   183  	// Max age of evidence, in blocks.
   184  	//
   185  	// The basic formula for calculating this is: MaxAgeDuration / {average block
   186  	// time}.
   187  	MaxAgeNumBlocks int64 `protobuf:"varint,1,opt,name=max_age_num_blocks,json=maxAgeNumBlocks,proto3" json:"max_age_num_blocks,omitempty"`
   188  	// Max age of evidence, in time.
   189  	//
   190  	// It should correspond with an app's "unbonding period" or other similar
   191  	// mechanism for handling [Nothing-At-Stake
   192  	// attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
   193  	MaxAgeDuration time.Duration `protobuf:"bytes,2,opt,name=max_age_duration,json=maxAgeDuration,proto3,stdduration" json:"max_age_duration"`
   194  	// This sets the maximum size of total evidence in bytes that can be committed
   195  	// in a single block. and should fall comfortably under the max block bytes.
   196  	// Default is 1048576 or 1MB
   197  	MaxBytes int64 `protobuf:"varint,3,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"`
   198  }
   199  
   200  func (m *EvidenceParams) Reset()         { *m = EvidenceParams{} }
   201  func (m *EvidenceParams) String() string { return proto.CompactTextString(m) }
   202  func (*EvidenceParams) ProtoMessage()    {}
   203  func (*EvidenceParams) Descriptor() ([]byte, []int) {
   204  	return fileDescriptor_e12598271a686f57, []int{2}
   205  }
   206  func (m *EvidenceParams) XXX_Unmarshal(b []byte) error {
   207  	return m.Unmarshal(b)
   208  }
   209  func (m *EvidenceParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   210  	if deterministic {
   211  		return xxx_messageInfo_EvidenceParams.Marshal(b, m, deterministic)
   212  	} else {
   213  		b = b[:cap(b)]
   214  		n, err := m.MarshalToSizedBuffer(b)
   215  		if err != nil {
   216  			return nil, err
   217  		}
   218  		return b[:n], nil
   219  	}
   220  }
   221  func (m *EvidenceParams) XXX_Merge(src proto.Message) {
   222  	xxx_messageInfo_EvidenceParams.Merge(m, src)
   223  }
   224  func (m *EvidenceParams) XXX_Size() int {
   225  	return m.Size()
   226  }
   227  func (m *EvidenceParams) XXX_DiscardUnknown() {
   228  	xxx_messageInfo_EvidenceParams.DiscardUnknown(m)
   229  }
   230  
   231  var xxx_messageInfo_EvidenceParams proto.InternalMessageInfo
   232  
   233  func (m *EvidenceParams) GetMaxAgeNumBlocks() int64 {
   234  	if m != nil {
   235  		return m.MaxAgeNumBlocks
   236  	}
   237  	return 0
   238  }
   239  
   240  func (m *EvidenceParams) GetMaxAgeDuration() time.Duration {
   241  	if m != nil {
   242  		return m.MaxAgeDuration
   243  	}
   244  	return 0
   245  }
   246  
   247  func (m *EvidenceParams) GetMaxBytes() int64 {
   248  	if m != nil {
   249  		return m.MaxBytes
   250  	}
   251  	return 0
   252  }
   253  
   254  // ValidatorParams restrict the public key types validators can use.
   255  // NOTE: uses ABCI pubkey naming, not Amino names.
   256  type ValidatorParams struct {
   257  	PubKeyTypes []string `protobuf:"bytes,1,rep,name=pub_key_types,json=pubKeyTypes,proto3" json:"pub_key_types,omitempty"`
   258  }
   259  
   260  func (m *ValidatorParams) Reset()         { *m = ValidatorParams{} }
   261  func (m *ValidatorParams) String() string { return proto.CompactTextString(m) }
   262  func (*ValidatorParams) ProtoMessage()    {}
   263  func (*ValidatorParams) Descriptor() ([]byte, []int) {
   264  	return fileDescriptor_e12598271a686f57, []int{3}
   265  }
   266  func (m *ValidatorParams) XXX_Unmarshal(b []byte) error {
   267  	return m.Unmarshal(b)
   268  }
   269  func (m *ValidatorParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   270  	if deterministic {
   271  		return xxx_messageInfo_ValidatorParams.Marshal(b, m, deterministic)
   272  	} else {
   273  		b = b[:cap(b)]
   274  		n, err := m.MarshalToSizedBuffer(b)
   275  		if err != nil {
   276  			return nil, err
   277  		}
   278  		return b[:n], nil
   279  	}
   280  }
   281  func (m *ValidatorParams) XXX_Merge(src proto.Message) {
   282  	xxx_messageInfo_ValidatorParams.Merge(m, src)
   283  }
   284  func (m *ValidatorParams) XXX_Size() int {
   285  	return m.Size()
   286  }
   287  func (m *ValidatorParams) XXX_DiscardUnknown() {
   288  	xxx_messageInfo_ValidatorParams.DiscardUnknown(m)
   289  }
   290  
   291  var xxx_messageInfo_ValidatorParams proto.InternalMessageInfo
   292  
   293  func (m *ValidatorParams) GetPubKeyTypes() []string {
   294  	if m != nil {
   295  		return m.PubKeyTypes
   296  	}
   297  	return nil
   298  }
   299  
   300  // VersionParams contains the ABCI application version.
   301  type VersionParams struct {
   302  	AppVersion uint64 `protobuf:"varint,1,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
   303  }
   304  
   305  func (m *VersionParams) Reset()         { *m = VersionParams{} }
   306  func (m *VersionParams) String() string { return proto.CompactTextString(m) }
   307  func (*VersionParams) ProtoMessage()    {}
   308  func (*VersionParams) Descriptor() ([]byte, []int) {
   309  	return fileDescriptor_e12598271a686f57, []int{4}
   310  }
   311  func (m *VersionParams) XXX_Unmarshal(b []byte) error {
   312  	return m.Unmarshal(b)
   313  }
   314  func (m *VersionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   315  	if deterministic {
   316  		return xxx_messageInfo_VersionParams.Marshal(b, m, deterministic)
   317  	} else {
   318  		b = b[:cap(b)]
   319  		n, err := m.MarshalToSizedBuffer(b)
   320  		if err != nil {
   321  			return nil, err
   322  		}
   323  		return b[:n], nil
   324  	}
   325  }
   326  func (m *VersionParams) XXX_Merge(src proto.Message) {
   327  	xxx_messageInfo_VersionParams.Merge(m, src)
   328  }
   329  func (m *VersionParams) XXX_Size() int {
   330  	return m.Size()
   331  }
   332  func (m *VersionParams) XXX_DiscardUnknown() {
   333  	xxx_messageInfo_VersionParams.DiscardUnknown(m)
   334  }
   335  
   336  var xxx_messageInfo_VersionParams proto.InternalMessageInfo
   337  
   338  func (m *VersionParams) GetAppVersion() uint64 {
   339  	if m != nil {
   340  		return m.AppVersion
   341  	}
   342  	return 0
   343  }
   344  
   345  // HashedParams is a subset of ConsensusParams.
   346  //
   347  // It is hashed into the Header.ConsensusHash.
   348  type HashedParams struct {
   349  	BlockMaxBytes int64 `protobuf:"varint,1,opt,name=block_max_bytes,json=blockMaxBytes,proto3" json:"block_max_bytes,omitempty"`
   350  	BlockMaxGas   int64 `protobuf:"varint,2,opt,name=block_max_gas,json=blockMaxGas,proto3" json:"block_max_gas,omitempty"`
   351  }
   352  
   353  func (m *HashedParams) Reset()         { *m = HashedParams{} }
   354  func (m *HashedParams) String() string { return proto.CompactTextString(m) }
   355  func (*HashedParams) ProtoMessage()    {}
   356  func (*HashedParams) Descriptor() ([]byte, []int) {
   357  	return fileDescriptor_e12598271a686f57, []int{5}
   358  }
   359  func (m *HashedParams) XXX_Unmarshal(b []byte) error {
   360  	return m.Unmarshal(b)
   361  }
   362  func (m *HashedParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   363  	if deterministic {
   364  		return xxx_messageInfo_HashedParams.Marshal(b, m, deterministic)
   365  	} else {
   366  		b = b[:cap(b)]
   367  		n, err := m.MarshalToSizedBuffer(b)
   368  		if err != nil {
   369  			return nil, err
   370  		}
   371  		return b[:n], nil
   372  	}
   373  }
   374  func (m *HashedParams) XXX_Merge(src proto.Message) {
   375  	xxx_messageInfo_HashedParams.Merge(m, src)
   376  }
   377  func (m *HashedParams) XXX_Size() int {
   378  	return m.Size()
   379  }
   380  func (m *HashedParams) XXX_DiscardUnknown() {
   381  	xxx_messageInfo_HashedParams.DiscardUnknown(m)
   382  }
   383  
   384  var xxx_messageInfo_HashedParams proto.InternalMessageInfo
   385  
   386  func (m *HashedParams) GetBlockMaxBytes() int64 {
   387  	if m != nil {
   388  		return m.BlockMaxBytes
   389  	}
   390  	return 0
   391  }
   392  
   393  func (m *HashedParams) GetBlockMaxGas() int64 {
   394  	if m != nil {
   395  		return m.BlockMaxGas
   396  	}
   397  	return 0
   398  }
   399  
   400  // SynchronyParams configure the bounds under which a proposed block's timestamp is considered valid.
   401  // These parameters are part of the proposer-based timestamps algorithm. For more information,
   402  // see the specification of proposer-based timestamps:
   403  // https://github.com/tendermint/tendermint/tree/master/spec/consensus/proposer-based-timestamp
   404  type SynchronyParams struct {
   405  	// message_delay bounds how long a proposal message may take to reach all validators on a network
   406  	// and still be considered valid.
   407  	MessageDelay *time.Duration `protobuf:"bytes,1,opt,name=message_delay,json=messageDelay,proto3,stdduration" json:"message_delay,omitempty"`
   408  	// precision bounds how skewed a proposer's clock may be from any validator
   409  	// on the network while still producing valid proposals.
   410  	Precision *time.Duration `protobuf:"bytes,2,opt,name=precision,proto3,stdduration" json:"precision,omitempty"`
   411  }
   412  
   413  func (m *SynchronyParams) Reset()         { *m = SynchronyParams{} }
   414  func (m *SynchronyParams) String() string { return proto.CompactTextString(m) }
   415  func (*SynchronyParams) ProtoMessage()    {}
   416  func (*SynchronyParams) Descriptor() ([]byte, []int) {
   417  	return fileDescriptor_e12598271a686f57, []int{6}
   418  }
   419  func (m *SynchronyParams) XXX_Unmarshal(b []byte) error {
   420  	return m.Unmarshal(b)
   421  }
   422  func (m *SynchronyParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   423  	if deterministic {
   424  		return xxx_messageInfo_SynchronyParams.Marshal(b, m, deterministic)
   425  	} else {
   426  		b = b[:cap(b)]
   427  		n, err := m.MarshalToSizedBuffer(b)
   428  		if err != nil {
   429  			return nil, err
   430  		}
   431  		return b[:n], nil
   432  	}
   433  }
   434  func (m *SynchronyParams) XXX_Merge(src proto.Message) {
   435  	xxx_messageInfo_SynchronyParams.Merge(m, src)
   436  }
   437  func (m *SynchronyParams) XXX_Size() int {
   438  	return m.Size()
   439  }
   440  func (m *SynchronyParams) XXX_DiscardUnknown() {
   441  	xxx_messageInfo_SynchronyParams.DiscardUnknown(m)
   442  }
   443  
   444  var xxx_messageInfo_SynchronyParams proto.InternalMessageInfo
   445  
   446  func (m *SynchronyParams) GetMessageDelay() *time.Duration {
   447  	if m != nil {
   448  		return m.MessageDelay
   449  	}
   450  	return nil
   451  }
   452  
   453  func (m *SynchronyParams) GetPrecision() *time.Duration {
   454  	if m != nil {
   455  		return m.Precision
   456  	}
   457  	return nil
   458  }
   459  
   460  // TimeoutParams configure the timeouts for the steps of the Tendermint consensus algorithm.
   461  type TimeoutParams struct {
   462  	// These fields configure the timeouts for the propose step of the Tendermint
   463  	// consensus algorithm: propose is the initial timeout and propose_delta
   464  	// determines how much the timeout grows in subsequent rounds.
   465  	// For the first round, this propose timeout is used and for every subsequent
   466  	// round, the timeout grows by propose_delta.
   467  	//
   468  	// For example:
   469  	// With propose = 10ms, propose_delta = 5ms, the first round's propose phase
   470  	// timeout would be 10ms, the second round's would be 15ms, the third 20ms and so on.
   471  	//
   472  	// If a node waiting for a proposal message does not receive one matching its
   473  	// current height and round before this timeout, the node will issue a
   474  	// nil prevote for the round and advance to the next step.
   475  	Propose      *time.Duration `protobuf:"bytes,1,opt,name=propose,proto3,stdduration" json:"propose,omitempty"`
   476  	ProposeDelta *time.Duration `protobuf:"bytes,2,opt,name=propose_delta,json=proposeDelta,proto3,stdduration" json:"propose_delta,omitempty"`
   477  	// vote along with vote_delta configure the timeout for both of the prevote and
   478  	// precommit steps of the Tendermint consensus algorithm.
   479  	//
   480  	// These parameters influence the vote step timeouts in the the same way that
   481  	// the propose and propose_delta parameters do to the proposal step.
   482  	//
   483  	// The vote timeout does not begin until a quorum of votes has been received. Once
   484  	// a quorum of votes has been seen and this timeout elapses, Tendermint will
   485  	// procced to the next step of the consensus algorithm. If Tendermint receives
   486  	// all of the remaining votes before the end of the timeout, it will proceed
   487  	// to the next step immediately.
   488  	Vote      *time.Duration `protobuf:"bytes,3,opt,name=vote,proto3,stdduration" json:"vote,omitempty"`
   489  	VoteDelta *time.Duration `protobuf:"bytes,4,opt,name=vote_delta,json=voteDelta,proto3,stdduration" json:"vote_delta,omitempty"`
   490  	// commit configures how long Tendermint will wait after receiving a quorum of
   491  	// precommits before beginning consensus for the next height. This can be
   492  	// used to allow slow precommits to arrive for inclusion in the next height before progressing.
   493  	Commit *time.Duration `protobuf:"bytes,5,opt,name=commit,proto3,stdduration" json:"commit,omitempty"`
   494  	// bypass_commit_timeout configures the node to proceed immediately to
   495  	// the next height once the node has received all precommits for a block, forgoing
   496  	// the remaining commit timeout.
   497  	// Setting bypass_commit_timeout false (the default) causes Tendermint to wait
   498  	// for the full commit timeout.
   499  	BypassCommitTimeout bool `protobuf:"varint,6,opt,name=bypass_commit_timeout,json=bypassCommitTimeout,proto3" json:"bypass_commit_timeout,omitempty"`
   500  }
   501  
   502  func (m *TimeoutParams) Reset()         { *m = TimeoutParams{} }
   503  func (m *TimeoutParams) String() string { return proto.CompactTextString(m) }
   504  func (*TimeoutParams) ProtoMessage()    {}
   505  func (*TimeoutParams) Descriptor() ([]byte, []int) {
   506  	return fileDescriptor_e12598271a686f57, []int{7}
   507  }
   508  func (m *TimeoutParams) XXX_Unmarshal(b []byte) error {
   509  	return m.Unmarshal(b)
   510  }
   511  func (m *TimeoutParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   512  	if deterministic {
   513  		return xxx_messageInfo_TimeoutParams.Marshal(b, m, deterministic)
   514  	} else {
   515  		b = b[:cap(b)]
   516  		n, err := m.MarshalToSizedBuffer(b)
   517  		if err != nil {
   518  			return nil, err
   519  		}
   520  		return b[:n], nil
   521  	}
   522  }
   523  func (m *TimeoutParams) XXX_Merge(src proto.Message) {
   524  	xxx_messageInfo_TimeoutParams.Merge(m, src)
   525  }
   526  func (m *TimeoutParams) XXX_Size() int {
   527  	return m.Size()
   528  }
   529  func (m *TimeoutParams) XXX_DiscardUnknown() {
   530  	xxx_messageInfo_TimeoutParams.DiscardUnknown(m)
   531  }
   532  
   533  var xxx_messageInfo_TimeoutParams proto.InternalMessageInfo
   534  
   535  func (m *TimeoutParams) GetPropose() *time.Duration {
   536  	if m != nil {
   537  		return m.Propose
   538  	}
   539  	return nil
   540  }
   541  
   542  func (m *TimeoutParams) GetProposeDelta() *time.Duration {
   543  	if m != nil {
   544  		return m.ProposeDelta
   545  	}
   546  	return nil
   547  }
   548  
   549  func (m *TimeoutParams) GetVote() *time.Duration {
   550  	if m != nil {
   551  		return m.Vote
   552  	}
   553  	return nil
   554  }
   555  
   556  func (m *TimeoutParams) GetVoteDelta() *time.Duration {
   557  	if m != nil {
   558  		return m.VoteDelta
   559  	}
   560  	return nil
   561  }
   562  
   563  func (m *TimeoutParams) GetCommit() *time.Duration {
   564  	if m != nil {
   565  		return m.Commit
   566  	}
   567  	return nil
   568  }
   569  
   570  func (m *TimeoutParams) GetBypassCommitTimeout() bool {
   571  	if m != nil {
   572  		return m.BypassCommitTimeout
   573  	}
   574  	return false
   575  }
   576  
   577  // ABCIParams configure functionality specific to the Application Blockchain Interface.
   578  type ABCIParams struct {
   579  	// vote_extensions_enable_height configures the first height during which
   580  	// vote extensions will be enabled. During this specified height, and for all
   581  	// subsequent heights, precommit messages that do not contain valid extension data
   582  	// will be considered invalid. Prior to this height, vote extensions will not
   583  	// be used or accepted by validators on the network.
   584  	//
   585  	// Once enabled, vote extensions will be created by the application in ExtendVote,
   586  	// passed to the application for validation in VerifyVoteExtension and given
   587  	// to the application to use when proposing a block during PrepareProposal.
   588  	VoteExtensionsEnableHeight int64 `protobuf:"varint,1,opt,name=vote_extensions_enable_height,json=voteExtensionsEnableHeight,proto3" json:"vote_extensions_enable_height,omitempty"`
   589  	// Indicates if CheckTx should be called on all the transactions
   590  	// remaining in the mempool after a block is executed.
   591  	RecheckTx bool `protobuf:"varint,2,opt,name=recheck_tx,json=recheckTx,proto3" json:"recheck_tx,omitempty"`
   592  }
   593  
   594  func (m *ABCIParams) Reset()         { *m = ABCIParams{} }
   595  func (m *ABCIParams) String() string { return proto.CompactTextString(m) }
   596  func (*ABCIParams) ProtoMessage()    {}
   597  func (*ABCIParams) Descriptor() ([]byte, []int) {
   598  	return fileDescriptor_e12598271a686f57, []int{8}
   599  }
   600  func (m *ABCIParams) XXX_Unmarshal(b []byte) error {
   601  	return m.Unmarshal(b)
   602  }
   603  func (m *ABCIParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   604  	if deterministic {
   605  		return xxx_messageInfo_ABCIParams.Marshal(b, m, deterministic)
   606  	} else {
   607  		b = b[:cap(b)]
   608  		n, err := m.MarshalToSizedBuffer(b)
   609  		if err != nil {
   610  			return nil, err
   611  		}
   612  		return b[:n], nil
   613  	}
   614  }
   615  func (m *ABCIParams) XXX_Merge(src proto.Message) {
   616  	xxx_messageInfo_ABCIParams.Merge(m, src)
   617  }
   618  func (m *ABCIParams) XXX_Size() int {
   619  	return m.Size()
   620  }
   621  func (m *ABCIParams) XXX_DiscardUnknown() {
   622  	xxx_messageInfo_ABCIParams.DiscardUnknown(m)
   623  }
   624  
   625  var xxx_messageInfo_ABCIParams proto.InternalMessageInfo
   626  
   627  func (m *ABCIParams) GetVoteExtensionsEnableHeight() int64 {
   628  	if m != nil {
   629  		return m.VoteExtensionsEnableHeight
   630  	}
   631  	return 0
   632  }
   633  
   634  func (m *ABCIParams) GetRecheckTx() bool {
   635  	if m != nil {
   636  		return m.RecheckTx
   637  	}
   638  	return false
   639  }
   640  
   641  func init() {
   642  	proto.RegisterType((*ConsensusParams)(nil), "seitendermint.types.ConsensusParams")
   643  	proto.RegisterType((*BlockParams)(nil), "seitendermint.types.BlockParams")
   644  	proto.RegisterType((*EvidenceParams)(nil), "seitendermint.types.EvidenceParams")
   645  	proto.RegisterType((*ValidatorParams)(nil), "seitendermint.types.ValidatorParams")
   646  	proto.RegisterType((*VersionParams)(nil), "seitendermint.types.VersionParams")
   647  	proto.RegisterType((*HashedParams)(nil), "seitendermint.types.HashedParams")
   648  	proto.RegisterType((*SynchronyParams)(nil), "seitendermint.types.SynchronyParams")
   649  	proto.RegisterType((*TimeoutParams)(nil), "seitendermint.types.TimeoutParams")
   650  	proto.RegisterType((*ABCIParams)(nil), "seitendermint.types.ABCIParams")
   651  }
   652  
   653  func init() { proto.RegisterFile("tendermint/types/params.proto", fileDescriptor_e12598271a686f57) }
   654  
   655  var fileDescriptor_e12598271a686f57 = []byte{
   656  	// 777 bytes of a gzipped FileDescriptorProto
   657  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xdd, 0x6a, 0xe3, 0x46,
   658  	0x14, 0xc7, 0xad, 0xd8, 0xf1, 0xc7, 0x71, 0x1c, 0x97, 0x49, 0x4b, 0xd5, 0x94, 0xc8, 0x41, 0x2d,
   659  	0x25, 0x50, 0x22, 0x97, 0x84, 0xb6, 0x94, 0x7e, 0x11, 0xdb, 0xa1, 0x29, 0x25, 0xa5, 0xa8, 0x61,
   660  	0x61, 0x73, 0x23, 0x46, 0xf2, 0xac, 0x2c, 0x62, 0x69, 0x84, 0x66, 0x64, 0xac, 0xb7, 0xd8, 0xab,
   661  	0x65, 0x1f, 0x61, 0xf7, 0x39, 0xf6, 0x26, 0x97, 0xb9, 0xdc, 0xab, 0xdd, 0xc5, 0x79, 0x83, 0x7d,
   662  	0x82, 0x65, 0x46, 0xa3, 0x38, 0x36, 0x26, 0xf1, 0x95, 0xad, 0x39, 0xbf, 0xff, 0x99, 0x33, 0xff,
   663  	0x73, 0xa4, 0x81, 0x3d, 0x4e, 0xa2, 0x21, 0x49, 0xc2, 0x20, 0xe2, 0x5d, 0x9e, 0xc5, 0x84, 0x75,
   664  	0x63, 0x9c, 0xe0, 0x90, 0x59, 0x71, 0x42, 0x39, 0x45, 0x3b, 0x8c, 0x04, 0x73, 0xc2, 0x92, 0xc4,
   665  	0xee, 0xe7, 0x3e, 0xf5, 0xa9, 0x8c, 0x77, 0xc5, 0xbf, 0x1c, 0xdd, 0x35, 0x7c, 0x4a, 0xfd, 0x31,
   666  	0xe9, 0xca, 0x27, 0x37, 0x7d, 0xd6, 0x1d, 0xa6, 0x09, 0xe6, 0x01, 0x8d, 0xf2, 0xb8, 0xf9, 0xa6,
   667  	0x0c, 0xed, 0x3e, 0x8d, 0x18, 0x89, 0x58, 0xca, 0xfe, 0x93, 0x9b, 0xa0, 0x9f, 0x60, 0xd3, 0x1d,
   668  	0x53, 0xef, 0x4a, 0xd7, 0xf6, 0xb5, 0x83, 0xe6, 0xd1, 0xbe, 0xb5, 0x62, 0x3b, 0xab, 0x27, 0x88,
   669  	0x5c, 0x60, 0xe7, 0x38, 0xfa, 0x13, 0xea, 0x64, 0x12, 0x0c, 0x49, 0xe4, 0x11, 0x7d, 0x43, 0x4a,
   670  	0xbf, 0x59, 0x29, 0x3d, 0x55, 0x90, 0x52, 0xdf, 0x89, 0x50, 0x0f, 0x1a, 0x13, 0x3c, 0x0e, 0x86,
   671  	0x98, 0xd3, 0x44, 0x2f, 0xcb, 0x0c, 0xdf, 0xae, 0xcc, 0xf0, 0xa4, 0xa0, 0x54, 0x8a, 0xb9, 0x0c,
   672  	0xfd, 0x06, 0xb5, 0x09, 0x49, 0x58, 0x40, 0x23, 0xbd, 0x22, 0x33, 0x98, 0xab, 0x33, 0xe4, 0x8c,
   673  	0xd2, 0x17, 0x12, 0x51, 0x01, 0xcb, 0x22, 0x6f, 0x94, 0xd0, 0x28, 0xd3, 0x37, 0x1f, 0xa8, 0xe0,
   674  	0xff, 0x82, 0x2a, 0x2a, 0xb8, 0x93, 0x89, 0x0a, 0x78, 0x10, 0x12, 0x9a, 0x72, 0xbd, 0xfa, 0x40,
   675  	0x05, 0x17, 0x39, 0x53, 0x54, 0xa0, 0x24, 0xe8, 0x18, 0x2a, 0xd8, 0xf5, 0x02, 0xbd, 0x26, 0xa5,
   676  	0x9d, 0x95, 0xd2, 0x93, 0x5e, 0xff, 0x6f, 0xa5, 0x93, 0xb0, 0xd9, 0x87, 0xe6, 0xbd, 0x7e, 0xa0,
   677  	0xaf, 0xa1, 0x11, 0xe2, 0xa9, 0xe3, 0x66, 0x9c, 0x30, 0xd9, 0xc4, 0xb2, 0x5d, 0x0f, 0xf1, 0xb4,
   678  	0x27, 0x9e, 0xd1, 0x97, 0x50, 0x13, 0x41, 0x1f, 0x33, 0xd9, 0xa4, 0xb2, 0x5d, 0x0d, 0xf1, 0xf4,
   679  	0x2f, 0xcc, 0xcc, 0xd7, 0x1a, 0x6c, 0x2f, 0xb6, 0x06, 0x7d, 0x0f, 0x48, 0xb0, 0xd8, 0x27, 0x4e,
   680  	0x94, 0x86, 0x8e, 0x6c, 0x73, 0x91, 0xb1, 0x1d, 0xe2, 0xe9, 0x89, 0x4f, 0xfe, 0x4d, 0x43, 0xb9,
   681  	0x35, 0x43, 0xe7, 0xf0, 0x59, 0x01, 0x17, 0x43, 0xa6, 0xc6, 0xe0, 0x2b, 0x2b, 0x9f, 0x42, 0xab,
   682  	0x98, 0x42, 0x6b, 0xa0, 0x80, 0x5e, 0xfd, 0xfa, 0x5d, 0xa7, 0xf4, 0xf2, 0x7d, 0x47, 0xb3, 0xb7,
   683  	0xf3, 0x7c, 0x45, 0x64, 0xf1, 0x10, 0xe5, 0xc5, 0x43, 0x98, 0x3f, 0x42, 0x7b, 0x69, 0x06, 0x90,
   684  	0x09, 0xad, 0x38, 0x75, 0x9d, 0x2b, 0x92, 0x39, 0xd2, 0x25, 0x5d, 0xdb, 0x2f, 0x1f, 0x34, 0xec,
   685  	0x66, 0x9c, 0xba, 0xff, 0x90, 0xec, 0x42, 0x2c, 0x99, 0x3f, 0x40, 0x6b, 0xa1, 0xf1, 0xa8, 0x03,
   686  	0x4d, 0x1c, 0xc7, 0x4e, 0x31, 0x31, 0xe2, 0x64, 0x15, 0x1b, 0x70, 0x1c, 0x2b, 0xcc, 0xbc, 0x84,
   687  	0xad, 0x33, 0xcc, 0x46, 0x64, 0xa8, 0x04, 0xdf, 0x41, 0x5b, 0xba, 0xe0, 0x2c, 0x1b, 0xdc, 0x92,
   688  	0xcb, 0xe7, 0x85, 0xcb, 0x26, 0xb4, 0xe6, 0xdc, 0xdc, 0xeb, 0x66, 0x41, 0x09, 0xc3, 0x5f, 0x68,
   689  	0xd0, 0x5e, 0x9a, 0x23, 0x34, 0x80, 0x56, 0x48, 0x18, 0x93, 0x26, 0x92, 0x31, 0xce, 0xd4, 0x3b,
   690  	0xf8, 0x80, 0x83, 0x15, 0xe9, 0xde, 0x96, 0x52, 0x0d, 0x84, 0x08, 0xfd, 0x0e, 0x8d, 0x38, 0x21,
   691  	0x5e, 0xc0, 0xd6, 0xea, 0x41, 0x9e, 0x61, 0xae, 0x30, 0x3f, 0x6e, 0x40, 0x6b, 0x61, 0x3c, 0xd1,
   692  	0x2f, 0x50, 0x8b, 0x13, 0x1a, 0x53, 0x46, 0xd6, 0x2d, 0xa8, 0xe0, 0xc5, 0x89, 0xd4, 0x5f, 0x71,
   693  	0x22, 0x8e, 0xd7, 0xad, 0x67, 0x4b, 0xa9, 0x06, 0x42, 0x24, 0x5e, 0x8b, 0x09, 0xe5, 0x44, 0x7d,
   694  	0x15, 0x1e, 0x15, 0x4b, 0x18, 0xfd, 0x01, 0x20, 0x7e, 0xd5, 0xbe, 0x95, 0x35, 0x7d, 0x10, 0x92,
   695  	0x7c, 0xd3, 0x9f, 0xa1, 0xea, 0xd1, 0x30, 0x0c, 0xb8, 0xfa, 0x14, 0x3c, 0xaa, 0x55, 0x38, 0x3a,
   696  	0x82, 0x2f, 0xdc, 0x2c, 0xc6, 0x8c, 0x39, 0xf9, 0x82, 0x73, 0xff, 0x83, 0x50, 0xb7, 0x77, 0xf2,
   697  	0x60, 0x5f, 0xc6, 0x94, 0xd1, 0x66, 0x04, 0x30, 0x7f, 0xaf, 0xd1, 0x09, 0xec, 0xc9, 0xd2, 0xc9,
   698  	0x94, 0x93, 0x48, 0x34, 0x85, 0x39, 0x24, 0xc2, 0xee, 0x98, 0x38, 0x23, 0x12, 0xf8, 0x23, 0xae,
   699  	0xa6, 0x6e, 0x57, 0x40, 0xa7, 0x77, 0xcc, 0xa9, 0x44, 0xce, 0x24, 0x81, 0xf6, 0x00, 0x12, 0xe2,
   700  	0x8d, 0x88, 0x77, 0xe5, 0xf0, 0xa9, 0x74, 0xbd, 0x6e, 0x37, 0xd4, 0xca, 0xc5, 0xb4, 0xf7, 0xf4,
   701  	0xd5, 0xcc, 0xd0, 0xae, 0x67, 0x86, 0x76, 0x33, 0x33, 0xb4, 0x0f, 0x33, 0x43, 0x7b, 0x7e, 0x6b,
   702  	0x94, 0x6e, 0x6e, 0x8d, 0xd2, 0xdb, 0x5b, 0xa3, 0x74, 0xf9, 0xab, 0x1f, 0xf0, 0x51, 0xea, 0x5a,
   703  	0x1e, 0x0d, 0xbb, 0x38, 0x09, 0x0e, 0x71, 0xe4, 0x8d, 0x68, 0xd2, 0x65, 0x24, 0x38, 0xbc, 0x77,
   704  	0x37, 0xe5, 0xd7, 0xcd, 0xf2, 0x65, 0xe5, 0x56, 0xe5, 0xfa, 0xf1, 0xa7, 0x00, 0x00, 0x00, 0xff,
   705  	0xff, 0x5a, 0x38, 0x7a, 0x9a, 0xc7, 0x06, 0x00, 0x00,
   706  }
   707  
   708  func (this *ConsensusParams) Equal(that interface{}) bool {
   709  	if that == nil {
   710  		return this == nil
   711  	}
   712  
   713  	that1, ok := that.(*ConsensusParams)
   714  	if !ok {
   715  		that2, ok := that.(ConsensusParams)
   716  		if ok {
   717  			that1 = &that2
   718  		} else {
   719  			return false
   720  		}
   721  	}
   722  	if that1 == nil {
   723  		return this == nil
   724  	} else if this == nil {
   725  		return false
   726  	}
   727  	if !this.Block.Equal(that1.Block) {
   728  		return false
   729  	}
   730  	if !this.Evidence.Equal(that1.Evidence) {
   731  		return false
   732  	}
   733  	if !this.Validator.Equal(that1.Validator) {
   734  		return false
   735  	}
   736  	if !this.Version.Equal(that1.Version) {
   737  		return false
   738  	}
   739  	if !this.Synchrony.Equal(that1.Synchrony) {
   740  		return false
   741  	}
   742  	if !this.Timeout.Equal(that1.Timeout) {
   743  		return false
   744  	}
   745  	if !this.Abci.Equal(that1.Abci) {
   746  		return false
   747  	}
   748  	return true
   749  }
   750  func (this *BlockParams) Equal(that interface{}) bool {
   751  	if that == nil {
   752  		return this == nil
   753  	}
   754  
   755  	that1, ok := that.(*BlockParams)
   756  	if !ok {
   757  		that2, ok := that.(BlockParams)
   758  		if ok {
   759  			that1 = &that2
   760  		} else {
   761  			return false
   762  		}
   763  	}
   764  	if that1 == nil {
   765  		return this == nil
   766  	} else if this == nil {
   767  		return false
   768  	}
   769  	if this.MaxBytes != that1.MaxBytes {
   770  		return false
   771  	}
   772  	if this.MaxGas != that1.MaxGas {
   773  		return false
   774  	}
   775  	return true
   776  }
   777  func (this *EvidenceParams) Equal(that interface{}) bool {
   778  	if that == nil {
   779  		return this == nil
   780  	}
   781  
   782  	that1, ok := that.(*EvidenceParams)
   783  	if !ok {
   784  		that2, ok := that.(EvidenceParams)
   785  		if ok {
   786  			that1 = &that2
   787  		} else {
   788  			return false
   789  		}
   790  	}
   791  	if that1 == nil {
   792  		return this == nil
   793  	} else if this == nil {
   794  		return false
   795  	}
   796  	if this.MaxAgeNumBlocks != that1.MaxAgeNumBlocks {
   797  		return false
   798  	}
   799  	if this.MaxAgeDuration != that1.MaxAgeDuration {
   800  		return false
   801  	}
   802  	if this.MaxBytes != that1.MaxBytes {
   803  		return false
   804  	}
   805  	return true
   806  }
   807  func (this *ValidatorParams) Equal(that interface{}) bool {
   808  	if that == nil {
   809  		return this == nil
   810  	}
   811  
   812  	that1, ok := that.(*ValidatorParams)
   813  	if !ok {
   814  		that2, ok := that.(ValidatorParams)
   815  		if ok {
   816  			that1 = &that2
   817  		} else {
   818  			return false
   819  		}
   820  	}
   821  	if that1 == nil {
   822  		return this == nil
   823  	} else if this == nil {
   824  		return false
   825  	}
   826  	if len(this.PubKeyTypes) != len(that1.PubKeyTypes) {
   827  		return false
   828  	}
   829  	for i := range this.PubKeyTypes {
   830  		if this.PubKeyTypes[i] != that1.PubKeyTypes[i] {
   831  			return false
   832  		}
   833  	}
   834  	return true
   835  }
   836  func (this *VersionParams) Equal(that interface{}) bool {
   837  	if that == nil {
   838  		return this == nil
   839  	}
   840  
   841  	that1, ok := that.(*VersionParams)
   842  	if !ok {
   843  		that2, ok := that.(VersionParams)
   844  		if ok {
   845  			that1 = &that2
   846  		} else {
   847  			return false
   848  		}
   849  	}
   850  	if that1 == nil {
   851  		return this == nil
   852  	} else if this == nil {
   853  		return false
   854  	}
   855  	if this.AppVersion != that1.AppVersion {
   856  		return false
   857  	}
   858  	return true
   859  }
   860  func (this *HashedParams) Equal(that interface{}) bool {
   861  	if that == nil {
   862  		return this == nil
   863  	}
   864  
   865  	that1, ok := that.(*HashedParams)
   866  	if !ok {
   867  		that2, ok := that.(HashedParams)
   868  		if ok {
   869  			that1 = &that2
   870  		} else {
   871  			return false
   872  		}
   873  	}
   874  	if that1 == nil {
   875  		return this == nil
   876  	} else if this == nil {
   877  		return false
   878  	}
   879  	if this.BlockMaxBytes != that1.BlockMaxBytes {
   880  		return false
   881  	}
   882  	if this.BlockMaxGas != that1.BlockMaxGas {
   883  		return false
   884  	}
   885  	return true
   886  }
   887  func (this *SynchronyParams) Equal(that interface{}) bool {
   888  	if that == nil {
   889  		return this == nil
   890  	}
   891  
   892  	that1, ok := that.(*SynchronyParams)
   893  	if !ok {
   894  		that2, ok := that.(SynchronyParams)
   895  		if ok {
   896  			that1 = &that2
   897  		} else {
   898  			return false
   899  		}
   900  	}
   901  	if that1 == nil {
   902  		return this == nil
   903  	} else if this == nil {
   904  		return false
   905  	}
   906  	if this.MessageDelay != nil && that1.MessageDelay != nil {
   907  		if *this.MessageDelay != *that1.MessageDelay {
   908  			return false
   909  		}
   910  	} else if this.MessageDelay != nil {
   911  		return false
   912  	} else if that1.MessageDelay != nil {
   913  		return false
   914  	}
   915  	if this.Precision != nil && that1.Precision != nil {
   916  		if *this.Precision != *that1.Precision {
   917  			return false
   918  		}
   919  	} else if this.Precision != nil {
   920  		return false
   921  	} else if that1.Precision != nil {
   922  		return false
   923  	}
   924  	return true
   925  }
   926  func (this *TimeoutParams) Equal(that interface{}) bool {
   927  	if that == nil {
   928  		return this == nil
   929  	}
   930  
   931  	that1, ok := that.(*TimeoutParams)
   932  	if !ok {
   933  		that2, ok := that.(TimeoutParams)
   934  		if ok {
   935  			that1 = &that2
   936  		} else {
   937  			return false
   938  		}
   939  	}
   940  	if that1 == nil {
   941  		return this == nil
   942  	} else if this == nil {
   943  		return false
   944  	}
   945  	if this.Propose != nil && that1.Propose != nil {
   946  		if *this.Propose != *that1.Propose {
   947  			return false
   948  		}
   949  	} else if this.Propose != nil {
   950  		return false
   951  	} else if that1.Propose != nil {
   952  		return false
   953  	}
   954  	if this.ProposeDelta != nil && that1.ProposeDelta != nil {
   955  		if *this.ProposeDelta != *that1.ProposeDelta {
   956  			return false
   957  		}
   958  	} else if this.ProposeDelta != nil {
   959  		return false
   960  	} else if that1.ProposeDelta != nil {
   961  		return false
   962  	}
   963  	if this.Vote != nil && that1.Vote != nil {
   964  		if *this.Vote != *that1.Vote {
   965  			return false
   966  		}
   967  	} else if this.Vote != nil {
   968  		return false
   969  	} else if that1.Vote != nil {
   970  		return false
   971  	}
   972  	if this.VoteDelta != nil && that1.VoteDelta != nil {
   973  		if *this.VoteDelta != *that1.VoteDelta {
   974  			return false
   975  		}
   976  	} else if this.VoteDelta != nil {
   977  		return false
   978  	} else if that1.VoteDelta != nil {
   979  		return false
   980  	}
   981  	if this.Commit != nil && that1.Commit != nil {
   982  		if *this.Commit != *that1.Commit {
   983  			return false
   984  		}
   985  	} else if this.Commit != nil {
   986  		return false
   987  	} else if that1.Commit != nil {
   988  		return false
   989  	}
   990  	if this.BypassCommitTimeout != that1.BypassCommitTimeout {
   991  		return false
   992  	}
   993  	return true
   994  }
   995  func (this *ABCIParams) Equal(that interface{}) bool {
   996  	if that == nil {
   997  		return this == nil
   998  	}
   999  
  1000  	that1, ok := that.(*ABCIParams)
  1001  	if !ok {
  1002  		that2, ok := that.(ABCIParams)
  1003  		if ok {
  1004  			that1 = &that2
  1005  		} else {
  1006  			return false
  1007  		}
  1008  	}
  1009  	if that1 == nil {
  1010  		return this == nil
  1011  	} else if this == nil {
  1012  		return false
  1013  	}
  1014  	if this.VoteExtensionsEnableHeight != that1.VoteExtensionsEnableHeight {
  1015  		return false
  1016  	}
  1017  	if this.RecheckTx != that1.RecheckTx {
  1018  		return false
  1019  	}
  1020  	return true
  1021  }
  1022  func (m *ConsensusParams) Marshal() (dAtA []byte, err error) {
  1023  	size := m.Size()
  1024  	dAtA = make([]byte, size)
  1025  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1026  	if err != nil {
  1027  		return nil, err
  1028  	}
  1029  	return dAtA[:n], nil
  1030  }
  1031  
  1032  func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) {
  1033  	size := m.Size()
  1034  	return m.MarshalToSizedBuffer(dAtA[:size])
  1035  }
  1036  
  1037  func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1038  	i := len(dAtA)
  1039  	_ = i
  1040  	var l int
  1041  	_ = l
  1042  	if m.Abci != nil {
  1043  		{
  1044  			size, err := m.Abci.MarshalToSizedBuffer(dAtA[:i])
  1045  			if err != nil {
  1046  				return 0, err
  1047  			}
  1048  			i -= size
  1049  			i = encodeVarintParams(dAtA, i, uint64(size))
  1050  		}
  1051  		i--
  1052  		dAtA[i] = 0x3a
  1053  	}
  1054  	if m.Timeout != nil {
  1055  		{
  1056  			size, err := m.Timeout.MarshalToSizedBuffer(dAtA[:i])
  1057  			if err != nil {
  1058  				return 0, err
  1059  			}
  1060  			i -= size
  1061  			i = encodeVarintParams(dAtA, i, uint64(size))
  1062  		}
  1063  		i--
  1064  		dAtA[i] = 0x32
  1065  	}
  1066  	if m.Synchrony != nil {
  1067  		{
  1068  			size, err := m.Synchrony.MarshalToSizedBuffer(dAtA[:i])
  1069  			if err != nil {
  1070  				return 0, err
  1071  			}
  1072  			i -= size
  1073  			i = encodeVarintParams(dAtA, i, uint64(size))
  1074  		}
  1075  		i--
  1076  		dAtA[i] = 0x2a
  1077  	}
  1078  	if m.Version != nil {
  1079  		{
  1080  			size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
  1081  			if err != nil {
  1082  				return 0, err
  1083  			}
  1084  			i -= size
  1085  			i = encodeVarintParams(dAtA, i, uint64(size))
  1086  		}
  1087  		i--
  1088  		dAtA[i] = 0x22
  1089  	}
  1090  	if m.Validator != nil {
  1091  		{
  1092  			size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  1093  			if err != nil {
  1094  				return 0, err
  1095  			}
  1096  			i -= size
  1097  			i = encodeVarintParams(dAtA, i, uint64(size))
  1098  		}
  1099  		i--
  1100  		dAtA[i] = 0x1a
  1101  	}
  1102  	if m.Evidence != nil {
  1103  		{
  1104  			size, err := m.Evidence.MarshalToSizedBuffer(dAtA[:i])
  1105  			if err != nil {
  1106  				return 0, err
  1107  			}
  1108  			i -= size
  1109  			i = encodeVarintParams(dAtA, i, uint64(size))
  1110  		}
  1111  		i--
  1112  		dAtA[i] = 0x12
  1113  	}
  1114  	if m.Block != nil {
  1115  		{
  1116  			size, err := m.Block.MarshalToSizedBuffer(dAtA[:i])
  1117  			if err != nil {
  1118  				return 0, err
  1119  			}
  1120  			i -= size
  1121  			i = encodeVarintParams(dAtA, i, uint64(size))
  1122  		}
  1123  		i--
  1124  		dAtA[i] = 0xa
  1125  	}
  1126  	return len(dAtA) - i, nil
  1127  }
  1128  
  1129  func (m *BlockParams) Marshal() (dAtA []byte, err error) {
  1130  	size := m.Size()
  1131  	dAtA = make([]byte, size)
  1132  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1133  	if err != nil {
  1134  		return nil, err
  1135  	}
  1136  	return dAtA[:n], nil
  1137  }
  1138  
  1139  func (m *BlockParams) MarshalTo(dAtA []byte) (int, error) {
  1140  	size := m.Size()
  1141  	return m.MarshalToSizedBuffer(dAtA[:size])
  1142  }
  1143  
  1144  func (m *BlockParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1145  	i := len(dAtA)
  1146  	_ = i
  1147  	var l int
  1148  	_ = l
  1149  	if m.MaxGas != 0 {
  1150  		i = encodeVarintParams(dAtA, i, uint64(m.MaxGas))
  1151  		i--
  1152  		dAtA[i] = 0x10
  1153  	}
  1154  	if m.MaxBytes != 0 {
  1155  		i = encodeVarintParams(dAtA, i, uint64(m.MaxBytes))
  1156  		i--
  1157  		dAtA[i] = 0x8
  1158  	}
  1159  	return len(dAtA) - i, nil
  1160  }
  1161  
  1162  func (m *EvidenceParams) Marshal() (dAtA []byte, err error) {
  1163  	size := m.Size()
  1164  	dAtA = make([]byte, size)
  1165  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1166  	if err != nil {
  1167  		return nil, err
  1168  	}
  1169  	return dAtA[:n], nil
  1170  }
  1171  
  1172  func (m *EvidenceParams) MarshalTo(dAtA []byte) (int, error) {
  1173  	size := m.Size()
  1174  	return m.MarshalToSizedBuffer(dAtA[:size])
  1175  }
  1176  
  1177  func (m *EvidenceParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1178  	i := len(dAtA)
  1179  	_ = i
  1180  	var l int
  1181  	_ = l
  1182  	if m.MaxBytes != 0 {
  1183  		i = encodeVarintParams(dAtA, i, uint64(m.MaxBytes))
  1184  		i--
  1185  		dAtA[i] = 0x18
  1186  	}
  1187  	n8, err8 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MaxAgeDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.MaxAgeDuration):])
  1188  	if err8 != nil {
  1189  		return 0, err8
  1190  	}
  1191  	i -= n8
  1192  	i = encodeVarintParams(dAtA, i, uint64(n8))
  1193  	i--
  1194  	dAtA[i] = 0x12
  1195  	if m.MaxAgeNumBlocks != 0 {
  1196  		i = encodeVarintParams(dAtA, i, uint64(m.MaxAgeNumBlocks))
  1197  		i--
  1198  		dAtA[i] = 0x8
  1199  	}
  1200  	return len(dAtA) - i, nil
  1201  }
  1202  
  1203  func (m *ValidatorParams) Marshal() (dAtA []byte, err error) {
  1204  	size := m.Size()
  1205  	dAtA = make([]byte, size)
  1206  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1207  	if err != nil {
  1208  		return nil, err
  1209  	}
  1210  	return dAtA[:n], nil
  1211  }
  1212  
  1213  func (m *ValidatorParams) MarshalTo(dAtA []byte) (int, error) {
  1214  	size := m.Size()
  1215  	return m.MarshalToSizedBuffer(dAtA[:size])
  1216  }
  1217  
  1218  func (m *ValidatorParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1219  	i := len(dAtA)
  1220  	_ = i
  1221  	var l int
  1222  	_ = l
  1223  	if len(m.PubKeyTypes) > 0 {
  1224  		for iNdEx := len(m.PubKeyTypes) - 1; iNdEx >= 0; iNdEx-- {
  1225  			i -= len(m.PubKeyTypes[iNdEx])
  1226  			copy(dAtA[i:], m.PubKeyTypes[iNdEx])
  1227  			i = encodeVarintParams(dAtA, i, uint64(len(m.PubKeyTypes[iNdEx])))
  1228  			i--
  1229  			dAtA[i] = 0xa
  1230  		}
  1231  	}
  1232  	return len(dAtA) - i, nil
  1233  }
  1234  
  1235  func (m *VersionParams) Marshal() (dAtA []byte, err error) {
  1236  	size := m.Size()
  1237  	dAtA = make([]byte, size)
  1238  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1239  	if err != nil {
  1240  		return nil, err
  1241  	}
  1242  	return dAtA[:n], nil
  1243  }
  1244  
  1245  func (m *VersionParams) MarshalTo(dAtA []byte) (int, error) {
  1246  	size := m.Size()
  1247  	return m.MarshalToSizedBuffer(dAtA[:size])
  1248  }
  1249  
  1250  func (m *VersionParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1251  	i := len(dAtA)
  1252  	_ = i
  1253  	var l int
  1254  	_ = l
  1255  	if m.AppVersion != 0 {
  1256  		i = encodeVarintParams(dAtA, i, uint64(m.AppVersion))
  1257  		i--
  1258  		dAtA[i] = 0x8
  1259  	}
  1260  	return len(dAtA) - i, nil
  1261  }
  1262  
  1263  func (m *HashedParams) Marshal() (dAtA []byte, err error) {
  1264  	size := m.Size()
  1265  	dAtA = make([]byte, size)
  1266  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1267  	if err != nil {
  1268  		return nil, err
  1269  	}
  1270  	return dAtA[:n], nil
  1271  }
  1272  
  1273  func (m *HashedParams) MarshalTo(dAtA []byte) (int, error) {
  1274  	size := m.Size()
  1275  	return m.MarshalToSizedBuffer(dAtA[:size])
  1276  }
  1277  
  1278  func (m *HashedParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1279  	i := len(dAtA)
  1280  	_ = i
  1281  	var l int
  1282  	_ = l
  1283  	if m.BlockMaxGas != 0 {
  1284  		i = encodeVarintParams(dAtA, i, uint64(m.BlockMaxGas))
  1285  		i--
  1286  		dAtA[i] = 0x10
  1287  	}
  1288  	if m.BlockMaxBytes != 0 {
  1289  		i = encodeVarintParams(dAtA, i, uint64(m.BlockMaxBytes))
  1290  		i--
  1291  		dAtA[i] = 0x8
  1292  	}
  1293  	return len(dAtA) - i, nil
  1294  }
  1295  
  1296  func (m *SynchronyParams) Marshal() (dAtA []byte, err error) {
  1297  	size := m.Size()
  1298  	dAtA = make([]byte, size)
  1299  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1300  	if err != nil {
  1301  		return nil, err
  1302  	}
  1303  	return dAtA[:n], nil
  1304  }
  1305  
  1306  func (m *SynchronyParams) MarshalTo(dAtA []byte) (int, error) {
  1307  	size := m.Size()
  1308  	return m.MarshalToSizedBuffer(dAtA[:size])
  1309  }
  1310  
  1311  func (m *SynchronyParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1312  	i := len(dAtA)
  1313  	_ = i
  1314  	var l int
  1315  	_ = l
  1316  	if m.Precision != nil {
  1317  		n9, err9 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Precision, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Precision):])
  1318  		if err9 != nil {
  1319  			return 0, err9
  1320  		}
  1321  		i -= n9
  1322  		i = encodeVarintParams(dAtA, i, uint64(n9))
  1323  		i--
  1324  		dAtA[i] = 0x12
  1325  	}
  1326  	if m.MessageDelay != nil {
  1327  		n10, err10 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.MessageDelay, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.MessageDelay):])
  1328  		if err10 != nil {
  1329  			return 0, err10
  1330  		}
  1331  		i -= n10
  1332  		i = encodeVarintParams(dAtA, i, uint64(n10))
  1333  		i--
  1334  		dAtA[i] = 0xa
  1335  	}
  1336  	return len(dAtA) - i, nil
  1337  }
  1338  
  1339  func (m *TimeoutParams) Marshal() (dAtA []byte, err error) {
  1340  	size := m.Size()
  1341  	dAtA = make([]byte, size)
  1342  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1343  	if err != nil {
  1344  		return nil, err
  1345  	}
  1346  	return dAtA[:n], nil
  1347  }
  1348  
  1349  func (m *TimeoutParams) MarshalTo(dAtA []byte) (int, error) {
  1350  	size := m.Size()
  1351  	return m.MarshalToSizedBuffer(dAtA[:size])
  1352  }
  1353  
  1354  func (m *TimeoutParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1355  	i := len(dAtA)
  1356  	_ = i
  1357  	var l int
  1358  	_ = l
  1359  	if m.BypassCommitTimeout {
  1360  		i--
  1361  		if m.BypassCommitTimeout {
  1362  			dAtA[i] = 1
  1363  		} else {
  1364  			dAtA[i] = 0
  1365  		}
  1366  		i--
  1367  		dAtA[i] = 0x30
  1368  	}
  1369  	if m.Commit != nil {
  1370  		n11, err11 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Commit, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Commit):])
  1371  		if err11 != nil {
  1372  			return 0, err11
  1373  		}
  1374  		i -= n11
  1375  		i = encodeVarintParams(dAtA, i, uint64(n11))
  1376  		i--
  1377  		dAtA[i] = 0x2a
  1378  	}
  1379  	if m.VoteDelta != nil {
  1380  		n12, err12 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.VoteDelta, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.VoteDelta):])
  1381  		if err12 != nil {
  1382  			return 0, err12
  1383  		}
  1384  		i -= n12
  1385  		i = encodeVarintParams(dAtA, i, uint64(n12))
  1386  		i--
  1387  		dAtA[i] = 0x22
  1388  	}
  1389  	if m.Vote != nil {
  1390  		n13, err13 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Vote, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Vote):])
  1391  		if err13 != nil {
  1392  			return 0, err13
  1393  		}
  1394  		i -= n13
  1395  		i = encodeVarintParams(dAtA, i, uint64(n13))
  1396  		i--
  1397  		dAtA[i] = 0x1a
  1398  	}
  1399  	if m.ProposeDelta != nil {
  1400  		n14, err14 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.ProposeDelta, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.ProposeDelta):])
  1401  		if err14 != nil {
  1402  			return 0, err14
  1403  		}
  1404  		i -= n14
  1405  		i = encodeVarintParams(dAtA, i, uint64(n14))
  1406  		i--
  1407  		dAtA[i] = 0x12
  1408  	}
  1409  	if m.Propose != nil {
  1410  		n15, err15 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Propose, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Propose):])
  1411  		if err15 != nil {
  1412  			return 0, err15
  1413  		}
  1414  		i -= n15
  1415  		i = encodeVarintParams(dAtA, i, uint64(n15))
  1416  		i--
  1417  		dAtA[i] = 0xa
  1418  	}
  1419  	return len(dAtA) - i, nil
  1420  }
  1421  
  1422  func (m *ABCIParams) Marshal() (dAtA []byte, err error) {
  1423  	size := m.Size()
  1424  	dAtA = make([]byte, size)
  1425  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1426  	if err != nil {
  1427  		return nil, err
  1428  	}
  1429  	return dAtA[:n], nil
  1430  }
  1431  
  1432  func (m *ABCIParams) MarshalTo(dAtA []byte) (int, error) {
  1433  	size := m.Size()
  1434  	return m.MarshalToSizedBuffer(dAtA[:size])
  1435  }
  1436  
  1437  func (m *ABCIParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1438  	i := len(dAtA)
  1439  	_ = i
  1440  	var l int
  1441  	_ = l
  1442  	if m.RecheckTx {
  1443  		i--
  1444  		if m.RecheckTx {
  1445  			dAtA[i] = 1
  1446  		} else {
  1447  			dAtA[i] = 0
  1448  		}
  1449  		i--
  1450  		dAtA[i] = 0x10
  1451  	}
  1452  	if m.VoteExtensionsEnableHeight != 0 {
  1453  		i = encodeVarintParams(dAtA, i, uint64(m.VoteExtensionsEnableHeight))
  1454  		i--
  1455  		dAtA[i] = 0x8
  1456  	}
  1457  	return len(dAtA) - i, nil
  1458  }
  1459  
  1460  func encodeVarintParams(dAtA []byte, offset int, v uint64) int {
  1461  	offset -= sovParams(v)
  1462  	base := offset
  1463  	for v >= 1<<7 {
  1464  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1465  		v >>= 7
  1466  		offset++
  1467  	}
  1468  	dAtA[offset] = uint8(v)
  1469  	return base
  1470  }
  1471  func (m *ConsensusParams) Size() (n int) {
  1472  	if m == nil {
  1473  		return 0
  1474  	}
  1475  	var l int
  1476  	_ = l
  1477  	if m.Block != nil {
  1478  		l = m.Block.Size()
  1479  		n += 1 + l + sovParams(uint64(l))
  1480  	}
  1481  	if m.Evidence != nil {
  1482  		l = m.Evidence.Size()
  1483  		n += 1 + l + sovParams(uint64(l))
  1484  	}
  1485  	if m.Validator != nil {
  1486  		l = m.Validator.Size()
  1487  		n += 1 + l + sovParams(uint64(l))
  1488  	}
  1489  	if m.Version != nil {
  1490  		l = m.Version.Size()
  1491  		n += 1 + l + sovParams(uint64(l))
  1492  	}
  1493  	if m.Synchrony != nil {
  1494  		l = m.Synchrony.Size()
  1495  		n += 1 + l + sovParams(uint64(l))
  1496  	}
  1497  	if m.Timeout != nil {
  1498  		l = m.Timeout.Size()
  1499  		n += 1 + l + sovParams(uint64(l))
  1500  	}
  1501  	if m.Abci != nil {
  1502  		l = m.Abci.Size()
  1503  		n += 1 + l + sovParams(uint64(l))
  1504  	}
  1505  	return n
  1506  }
  1507  
  1508  func (m *BlockParams) Size() (n int) {
  1509  	if m == nil {
  1510  		return 0
  1511  	}
  1512  	var l int
  1513  	_ = l
  1514  	if m.MaxBytes != 0 {
  1515  		n += 1 + sovParams(uint64(m.MaxBytes))
  1516  	}
  1517  	if m.MaxGas != 0 {
  1518  		n += 1 + sovParams(uint64(m.MaxGas))
  1519  	}
  1520  	return n
  1521  }
  1522  
  1523  func (m *EvidenceParams) Size() (n int) {
  1524  	if m == nil {
  1525  		return 0
  1526  	}
  1527  	var l int
  1528  	_ = l
  1529  	if m.MaxAgeNumBlocks != 0 {
  1530  		n += 1 + sovParams(uint64(m.MaxAgeNumBlocks))
  1531  	}
  1532  	l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.MaxAgeDuration)
  1533  	n += 1 + l + sovParams(uint64(l))
  1534  	if m.MaxBytes != 0 {
  1535  		n += 1 + sovParams(uint64(m.MaxBytes))
  1536  	}
  1537  	return n
  1538  }
  1539  
  1540  func (m *ValidatorParams) Size() (n int) {
  1541  	if m == nil {
  1542  		return 0
  1543  	}
  1544  	var l int
  1545  	_ = l
  1546  	if len(m.PubKeyTypes) > 0 {
  1547  		for _, s := range m.PubKeyTypes {
  1548  			l = len(s)
  1549  			n += 1 + l + sovParams(uint64(l))
  1550  		}
  1551  	}
  1552  	return n
  1553  }
  1554  
  1555  func (m *VersionParams) Size() (n int) {
  1556  	if m == nil {
  1557  		return 0
  1558  	}
  1559  	var l int
  1560  	_ = l
  1561  	if m.AppVersion != 0 {
  1562  		n += 1 + sovParams(uint64(m.AppVersion))
  1563  	}
  1564  	return n
  1565  }
  1566  
  1567  func (m *HashedParams) Size() (n int) {
  1568  	if m == nil {
  1569  		return 0
  1570  	}
  1571  	var l int
  1572  	_ = l
  1573  	if m.BlockMaxBytes != 0 {
  1574  		n += 1 + sovParams(uint64(m.BlockMaxBytes))
  1575  	}
  1576  	if m.BlockMaxGas != 0 {
  1577  		n += 1 + sovParams(uint64(m.BlockMaxGas))
  1578  	}
  1579  	return n
  1580  }
  1581  
  1582  func (m *SynchronyParams) Size() (n int) {
  1583  	if m == nil {
  1584  		return 0
  1585  	}
  1586  	var l int
  1587  	_ = l
  1588  	if m.MessageDelay != nil {
  1589  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.MessageDelay)
  1590  		n += 1 + l + sovParams(uint64(l))
  1591  	}
  1592  	if m.Precision != nil {
  1593  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Precision)
  1594  		n += 1 + l + sovParams(uint64(l))
  1595  	}
  1596  	return n
  1597  }
  1598  
  1599  func (m *TimeoutParams) Size() (n int) {
  1600  	if m == nil {
  1601  		return 0
  1602  	}
  1603  	var l int
  1604  	_ = l
  1605  	if m.Propose != nil {
  1606  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Propose)
  1607  		n += 1 + l + sovParams(uint64(l))
  1608  	}
  1609  	if m.ProposeDelta != nil {
  1610  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.ProposeDelta)
  1611  		n += 1 + l + sovParams(uint64(l))
  1612  	}
  1613  	if m.Vote != nil {
  1614  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Vote)
  1615  		n += 1 + l + sovParams(uint64(l))
  1616  	}
  1617  	if m.VoteDelta != nil {
  1618  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.VoteDelta)
  1619  		n += 1 + l + sovParams(uint64(l))
  1620  	}
  1621  	if m.Commit != nil {
  1622  		l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Commit)
  1623  		n += 1 + l + sovParams(uint64(l))
  1624  	}
  1625  	if m.BypassCommitTimeout {
  1626  		n += 2
  1627  	}
  1628  	return n
  1629  }
  1630  
  1631  func (m *ABCIParams) Size() (n int) {
  1632  	if m == nil {
  1633  		return 0
  1634  	}
  1635  	var l int
  1636  	_ = l
  1637  	if m.VoteExtensionsEnableHeight != 0 {
  1638  		n += 1 + sovParams(uint64(m.VoteExtensionsEnableHeight))
  1639  	}
  1640  	if m.RecheckTx {
  1641  		n += 2
  1642  	}
  1643  	return n
  1644  }
  1645  
  1646  func sovParams(x uint64) (n int) {
  1647  	return (math_bits.Len64(x|1) + 6) / 7
  1648  }
  1649  func sozParams(x uint64) (n int) {
  1650  	return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1651  }
  1652  func (m *ConsensusParams) Unmarshal(dAtA []byte) error {
  1653  	l := len(dAtA)
  1654  	iNdEx := 0
  1655  	for iNdEx < l {
  1656  		preIndex := iNdEx
  1657  		var wire uint64
  1658  		for shift := uint(0); ; shift += 7 {
  1659  			if shift >= 64 {
  1660  				return ErrIntOverflowParams
  1661  			}
  1662  			if iNdEx >= l {
  1663  				return io.ErrUnexpectedEOF
  1664  			}
  1665  			b := dAtA[iNdEx]
  1666  			iNdEx++
  1667  			wire |= uint64(b&0x7F) << shift
  1668  			if b < 0x80 {
  1669  				break
  1670  			}
  1671  		}
  1672  		fieldNum := int32(wire >> 3)
  1673  		wireType := int(wire & 0x7)
  1674  		if wireType == 4 {
  1675  			return fmt.Errorf("proto: ConsensusParams: wiretype end group for non-group")
  1676  		}
  1677  		if fieldNum <= 0 {
  1678  			return fmt.Errorf("proto: ConsensusParams: illegal tag %d (wire type %d)", fieldNum, wire)
  1679  		}
  1680  		switch fieldNum {
  1681  		case 1:
  1682  			if wireType != 2 {
  1683  				return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType)
  1684  			}
  1685  			var msglen int
  1686  			for shift := uint(0); ; shift += 7 {
  1687  				if shift >= 64 {
  1688  					return ErrIntOverflowParams
  1689  				}
  1690  				if iNdEx >= l {
  1691  					return io.ErrUnexpectedEOF
  1692  				}
  1693  				b := dAtA[iNdEx]
  1694  				iNdEx++
  1695  				msglen |= int(b&0x7F) << shift
  1696  				if b < 0x80 {
  1697  					break
  1698  				}
  1699  			}
  1700  			if msglen < 0 {
  1701  				return ErrInvalidLengthParams
  1702  			}
  1703  			postIndex := iNdEx + msglen
  1704  			if postIndex < 0 {
  1705  				return ErrInvalidLengthParams
  1706  			}
  1707  			if postIndex > l {
  1708  				return io.ErrUnexpectedEOF
  1709  			}
  1710  			if m.Block == nil {
  1711  				m.Block = &BlockParams{}
  1712  			}
  1713  			if err := m.Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1714  				return err
  1715  			}
  1716  			iNdEx = postIndex
  1717  		case 2:
  1718  			if wireType != 2 {
  1719  				return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType)
  1720  			}
  1721  			var msglen int
  1722  			for shift := uint(0); ; shift += 7 {
  1723  				if shift >= 64 {
  1724  					return ErrIntOverflowParams
  1725  				}
  1726  				if iNdEx >= l {
  1727  					return io.ErrUnexpectedEOF
  1728  				}
  1729  				b := dAtA[iNdEx]
  1730  				iNdEx++
  1731  				msglen |= int(b&0x7F) << shift
  1732  				if b < 0x80 {
  1733  					break
  1734  				}
  1735  			}
  1736  			if msglen < 0 {
  1737  				return ErrInvalidLengthParams
  1738  			}
  1739  			postIndex := iNdEx + msglen
  1740  			if postIndex < 0 {
  1741  				return ErrInvalidLengthParams
  1742  			}
  1743  			if postIndex > l {
  1744  				return io.ErrUnexpectedEOF
  1745  			}
  1746  			if m.Evidence == nil {
  1747  				m.Evidence = &EvidenceParams{}
  1748  			}
  1749  			if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1750  				return err
  1751  			}
  1752  			iNdEx = postIndex
  1753  		case 3:
  1754  			if wireType != 2 {
  1755  				return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  1756  			}
  1757  			var msglen int
  1758  			for shift := uint(0); ; shift += 7 {
  1759  				if shift >= 64 {
  1760  					return ErrIntOverflowParams
  1761  				}
  1762  				if iNdEx >= l {
  1763  					return io.ErrUnexpectedEOF
  1764  				}
  1765  				b := dAtA[iNdEx]
  1766  				iNdEx++
  1767  				msglen |= int(b&0x7F) << shift
  1768  				if b < 0x80 {
  1769  					break
  1770  				}
  1771  			}
  1772  			if msglen < 0 {
  1773  				return ErrInvalidLengthParams
  1774  			}
  1775  			postIndex := iNdEx + msglen
  1776  			if postIndex < 0 {
  1777  				return ErrInvalidLengthParams
  1778  			}
  1779  			if postIndex > l {
  1780  				return io.ErrUnexpectedEOF
  1781  			}
  1782  			if m.Validator == nil {
  1783  				m.Validator = &ValidatorParams{}
  1784  			}
  1785  			if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1786  				return err
  1787  			}
  1788  			iNdEx = postIndex
  1789  		case 4:
  1790  			if wireType != 2 {
  1791  				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  1792  			}
  1793  			var msglen int
  1794  			for shift := uint(0); ; shift += 7 {
  1795  				if shift >= 64 {
  1796  					return ErrIntOverflowParams
  1797  				}
  1798  				if iNdEx >= l {
  1799  					return io.ErrUnexpectedEOF
  1800  				}
  1801  				b := dAtA[iNdEx]
  1802  				iNdEx++
  1803  				msglen |= int(b&0x7F) << shift
  1804  				if b < 0x80 {
  1805  					break
  1806  				}
  1807  			}
  1808  			if msglen < 0 {
  1809  				return ErrInvalidLengthParams
  1810  			}
  1811  			postIndex := iNdEx + msglen
  1812  			if postIndex < 0 {
  1813  				return ErrInvalidLengthParams
  1814  			}
  1815  			if postIndex > l {
  1816  				return io.ErrUnexpectedEOF
  1817  			}
  1818  			if m.Version == nil {
  1819  				m.Version = &VersionParams{}
  1820  			}
  1821  			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1822  				return err
  1823  			}
  1824  			iNdEx = postIndex
  1825  		case 5:
  1826  			if wireType != 2 {
  1827  				return fmt.Errorf("proto: wrong wireType = %d for field Synchrony", wireType)
  1828  			}
  1829  			var msglen int
  1830  			for shift := uint(0); ; shift += 7 {
  1831  				if shift >= 64 {
  1832  					return ErrIntOverflowParams
  1833  				}
  1834  				if iNdEx >= l {
  1835  					return io.ErrUnexpectedEOF
  1836  				}
  1837  				b := dAtA[iNdEx]
  1838  				iNdEx++
  1839  				msglen |= int(b&0x7F) << shift
  1840  				if b < 0x80 {
  1841  					break
  1842  				}
  1843  			}
  1844  			if msglen < 0 {
  1845  				return ErrInvalidLengthParams
  1846  			}
  1847  			postIndex := iNdEx + msglen
  1848  			if postIndex < 0 {
  1849  				return ErrInvalidLengthParams
  1850  			}
  1851  			if postIndex > l {
  1852  				return io.ErrUnexpectedEOF
  1853  			}
  1854  			if m.Synchrony == nil {
  1855  				m.Synchrony = &SynchronyParams{}
  1856  			}
  1857  			if err := m.Synchrony.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1858  				return err
  1859  			}
  1860  			iNdEx = postIndex
  1861  		case 6:
  1862  			if wireType != 2 {
  1863  				return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType)
  1864  			}
  1865  			var msglen int
  1866  			for shift := uint(0); ; shift += 7 {
  1867  				if shift >= 64 {
  1868  					return ErrIntOverflowParams
  1869  				}
  1870  				if iNdEx >= l {
  1871  					return io.ErrUnexpectedEOF
  1872  				}
  1873  				b := dAtA[iNdEx]
  1874  				iNdEx++
  1875  				msglen |= int(b&0x7F) << shift
  1876  				if b < 0x80 {
  1877  					break
  1878  				}
  1879  			}
  1880  			if msglen < 0 {
  1881  				return ErrInvalidLengthParams
  1882  			}
  1883  			postIndex := iNdEx + msglen
  1884  			if postIndex < 0 {
  1885  				return ErrInvalidLengthParams
  1886  			}
  1887  			if postIndex > l {
  1888  				return io.ErrUnexpectedEOF
  1889  			}
  1890  			if m.Timeout == nil {
  1891  				m.Timeout = &TimeoutParams{}
  1892  			}
  1893  			if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1894  				return err
  1895  			}
  1896  			iNdEx = postIndex
  1897  		case 7:
  1898  			if wireType != 2 {
  1899  				return fmt.Errorf("proto: wrong wireType = %d for field Abci", wireType)
  1900  			}
  1901  			var msglen int
  1902  			for shift := uint(0); ; shift += 7 {
  1903  				if shift >= 64 {
  1904  					return ErrIntOverflowParams
  1905  				}
  1906  				if iNdEx >= l {
  1907  					return io.ErrUnexpectedEOF
  1908  				}
  1909  				b := dAtA[iNdEx]
  1910  				iNdEx++
  1911  				msglen |= int(b&0x7F) << shift
  1912  				if b < 0x80 {
  1913  					break
  1914  				}
  1915  			}
  1916  			if msglen < 0 {
  1917  				return ErrInvalidLengthParams
  1918  			}
  1919  			postIndex := iNdEx + msglen
  1920  			if postIndex < 0 {
  1921  				return ErrInvalidLengthParams
  1922  			}
  1923  			if postIndex > l {
  1924  				return io.ErrUnexpectedEOF
  1925  			}
  1926  			if m.Abci == nil {
  1927  				m.Abci = &ABCIParams{}
  1928  			}
  1929  			if err := m.Abci.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1930  				return err
  1931  			}
  1932  			iNdEx = postIndex
  1933  		default:
  1934  			iNdEx = preIndex
  1935  			skippy, err := skipParams(dAtA[iNdEx:])
  1936  			if err != nil {
  1937  				return err
  1938  			}
  1939  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1940  				return ErrInvalidLengthParams
  1941  			}
  1942  			if (iNdEx + skippy) > l {
  1943  				return io.ErrUnexpectedEOF
  1944  			}
  1945  			iNdEx += skippy
  1946  		}
  1947  	}
  1948  
  1949  	if iNdEx > l {
  1950  		return io.ErrUnexpectedEOF
  1951  	}
  1952  	return nil
  1953  }
  1954  func (m *BlockParams) Unmarshal(dAtA []byte) error {
  1955  	l := len(dAtA)
  1956  	iNdEx := 0
  1957  	for iNdEx < l {
  1958  		preIndex := iNdEx
  1959  		var wire uint64
  1960  		for shift := uint(0); ; shift += 7 {
  1961  			if shift >= 64 {
  1962  				return ErrIntOverflowParams
  1963  			}
  1964  			if iNdEx >= l {
  1965  				return io.ErrUnexpectedEOF
  1966  			}
  1967  			b := dAtA[iNdEx]
  1968  			iNdEx++
  1969  			wire |= uint64(b&0x7F) << shift
  1970  			if b < 0x80 {
  1971  				break
  1972  			}
  1973  		}
  1974  		fieldNum := int32(wire >> 3)
  1975  		wireType := int(wire & 0x7)
  1976  		if wireType == 4 {
  1977  			return fmt.Errorf("proto: BlockParams: wiretype end group for non-group")
  1978  		}
  1979  		if fieldNum <= 0 {
  1980  			return fmt.Errorf("proto: BlockParams: illegal tag %d (wire type %d)", fieldNum, wire)
  1981  		}
  1982  		switch fieldNum {
  1983  		case 1:
  1984  			if wireType != 0 {
  1985  				return fmt.Errorf("proto: wrong wireType = %d for field MaxBytes", wireType)
  1986  			}
  1987  			m.MaxBytes = 0
  1988  			for shift := uint(0); ; shift += 7 {
  1989  				if shift >= 64 {
  1990  					return ErrIntOverflowParams
  1991  				}
  1992  				if iNdEx >= l {
  1993  					return io.ErrUnexpectedEOF
  1994  				}
  1995  				b := dAtA[iNdEx]
  1996  				iNdEx++
  1997  				m.MaxBytes |= int64(b&0x7F) << shift
  1998  				if b < 0x80 {
  1999  					break
  2000  				}
  2001  			}
  2002  		case 2:
  2003  			if wireType != 0 {
  2004  				return fmt.Errorf("proto: wrong wireType = %d for field MaxGas", wireType)
  2005  			}
  2006  			m.MaxGas = 0
  2007  			for shift := uint(0); ; shift += 7 {
  2008  				if shift >= 64 {
  2009  					return ErrIntOverflowParams
  2010  				}
  2011  				if iNdEx >= l {
  2012  					return io.ErrUnexpectedEOF
  2013  				}
  2014  				b := dAtA[iNdEx]
  2015  				iNdEx++
  2016  				m.MaxGas |= int64(b&0x7F) << shift
  2017  				if b < 0x80 {
  2018  					break
  2019  				}
  2020  			}
  2021  		default:
  2022  			iNdEx = preIndex
  2023  			skippy, err := skipParams(dAtA[iNdEx:])
  2024  			if err != nil {
  2025  				return err
  2026  			}
  2027  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2028  				return ErrInvalidLengthParams
  2029  			}
  2030  			if (iNdEx + skippy) > l {
  2031  				return io.ErrUnexpectedEOF
  2032  			}
  2033  			iNdEx += skippy
  2034  		}
  2035  	}
  2036  
  2037  	if iNdEx > l {
  2038  		return io.ErrUnexpectedEOF
  2039  	}
  2040  	return nil
  2041  }
  2042  func (m *EvidenceParams) Unmarshal(dAtA []byte) error {
  2043  	l := len(dAtA)
  2044  	iNdEx := 0
  2045  	for iNdEx < l {
  2046  		preIndex := iNdEx
  2047  		var wire uint64
  2048  		for shift := uint(0); ; shift += 7 {
  2049  			if shift >= 64 {
  2050  				return ErrIntOverflowParams
  2051  			}
  2052  			if iNdEx >= l {
  2053  				return io.ErrUnexpectedEOF
  2054  			}
  2055  			b := dAtA[iNdEx]
  2056  			iNdEx++
  2057  			wire |= uint64(b&0x7F) << shift
  2058  			if b < 0x80 {
  2059  				break
  2060  			}
  2061  		}
  2062  		fieldNum := int32(wire >> 3)
  2063  		wireType := int(wire & 0x7)
  2064  		if wireType == 4 {
  2065  			return fmt.Errorf("proto: EvidenceParams: wiretype end group for non-group")
  2066  		}
  2067  		if fieldNum <= 0 {
  2068  			return fmt.Errorf("proto: EvidenceParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2069  		}
  2070  		switch fieldNum {
  2071  		case 1:
  2072  			if wireType != 0 {
  2073  				return fmt.Errorf("proto: wrong wireType = %d for field MaxAgeNumBlocks", wireType)
  2074  			}
  2075  			m.MaxAgeNumBlocks = 0
  2076  			for shift := uint(0); ; shift += 7 {
  2077  				if shift >= 64 {
  2078  					return ErrIntOverflowParams
  2079  				}
  2080  				if iNdEx >= l {
  2081  					return io.ErrUnexpectedEOF
  2082  				}
  2083  				b := dAtA[iNdEx]
  2084  				iNdEx++
  2085  				m.MaxAgeNumBlocks |= int64(b&0x7F) << shift
  2086  				if b < 0x80 {
  2087  					break
  2088  				}
  2089  			}
  2090  		case 2:
  2091  			if wireType != 2 {
  2092  				return fmt.Errorf("proto: wrong wireType = %d for field MaxAgeDuration", wireType)
  2093  			}
  2094  			var msglen int
  2095  			for shift := uint(0); ; shift += 7 {
  2096  				if shift >= 64 {
  2097  					return ErrIntOverflowParams
  2098  				}
  2099  				if iNdEx >= l {
  2100  					return io.ErrUnexpectedEOF
  2101  				}
  2102  				b := dAtA[iNdEx]
  2103  				iNdEx++
  2104  				msglen |= int(b&0x7F) << shift
  2105  				if b < 0x80 {
  2106  					break
  2107  				}
  2108  			}
  2109  			if msglen < 0 {
  2110  				return ErrInvalidLengthParams
  2111  			}
  2112  			postIndex := iNdEx + msglen
  2113  			if postIndex < 0 {
  2114  				return ErrInvalidLengthParams
  2115  			}
  2116  			if postIndex > l {
  2117  				return io.ErrUnexpectedEOF
  2118  			}
  2119  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.MaxAgeDuration, dAtA[iNdEx:postIndex]); err != nil {
  2120  				return err
  2121  			}
  2122  			iNdEx = postIndex
  2123  		case 3:
  2124  			if wireType != 0 {
  2125  				return fmt.Errorf("proto: wrong wireType = %d for field MaxBytes", wireType)
  2126  			}
  2127  			m.MaxBytes = 0
  2128  			for shift := uint(0); ; shift += 7 {
  2129  				if shift >= 64 {
  2130  					return ErrIntOverflowParams
  2131  				}
  2132  				if iNdEx >= l {
  2133  					return io.ErrUnexpectedEOF
  2134  				}
  2135  				b := dAtA[iNdEx]
  2136  				iNdEx++
  2137  				m.MaxBytes |= int64(b&0x7F) << shift
  2138  				if b < 0x80 {
  2139  					break
  2140  				}
  2141  			}
  2142  		default:
  2143  			iNdEx = preIndex
  2144  			skippy, err := skipParams(dAtA[iNdEx:])
  2145  			if err != nil {
  2146  				return err
  2147  			}
  2148  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2149  				return ErrInvalidLengthParams
  2150  			}
  2151  			if (iNdEx + skippy) > l {
  2152  				return io.ErrUnexpectedEOF
  2153  			}
  2154  			iNdEx += skippy
  2155  		}
  2156  	}
  2157  
  2158  	if iNdEx > l {
  2159  		return io.ErrUnexpectedEOF
  2160  	}
  2161  	return nil
  2162  }
  2163  func (m *ValidatorParams) Unmarshal(dAtA []byte) error {
  2164  	l := len(dAtA)
  2165  	iNdEx := 0
  2166  	for iNdEx < l {
  2167  		preIndex := iNdEx
  2168  		var wire uint64
  2169  		for shift := uint(0); ; shift += 7 {
  2170  			if shift >= 64 {
  2171  				return ErrIntOverflowParams
  2172  			}
  2173  			if iNdEx >= l {
  2174  				return io.ErrUnexpectedEOF
  2175  			}
  2176  			b := dAtA[iNdEx]
  2177  			iNdEx++
  2178  			wire |= uint64(b&0x7F) << shift
  2179  			if b < 0x80 {
  2180  				break
  2181  			}
  2182  		}
  2183  		fieldNum := int32(wire >> 3)
  2184  		wireType := int(wire & 0x7)
  2185  		if wireType == 4 {
  2186  			return fmt.Errorf("proto: ValidatorParams: wiretype end group for non-group")
  2187  		}
  2188  		if fieldNum <= 0 {
  2189  			return fmt.Errorf("proto: ValidatorParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2190  		}
  2191  		switch fieldNum {
  2192  		case 1:
  2193  			if wireType != 2 {
  2194  				return fmt.Errorf("proto: wrong wireType = %d for field PubKeyTypes", wireType)
  2195  			}
  2196  			var stringLen uint64
  2197  			for shift := uint(0); ; shift += 7 {
  2198  				if shift >= 64 {
  2199  					return ErrIntOverflowParams
  2200  				}
  2201  				if iNdEx >= l {
  2202  					return io.ErrUnexpectedEOF
  2203  				}
  2204  				b := dAtA[iNdEx]
  2205  				iNdEx++
  2206  				stringLen |= uint64(b&0x7F) << shift
  2207  				if b < 0x80 {
  2208  					break
  2209  				}
  2210  			}
  2211  			intStringLen := int(stringLen)
  2212  			if intStringLen < 0 {
  2213  				return ErrInvalidLengthParams
  2214  			}
  2215  			postIndex := iNdEx + intStringLen
  2216  			if postIndex < 0 {
  2217  				return ErrInvalidLengthParams
  2218  			}
  2219  			if postIndex > l {
  2220  				return io.ErrUnexpectedEOF
  2221  			}
  2222  			m.PubKeyTypes = append(m.PubKeyTypes, string(dAtA[iNdEx:postIndex]))
  2223  			iNdEx = postIndex
  2224  		default:
  2225  			iNdEx = preIndex
  2226  			skippy, err := skipParams(dAtA[iNdEx:])
  2227  			if err != nil {
  2228  				return err
  2229  			}
  2230  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2231  				return ErrInvalidLengthParams
  2232  			}
  2233  			if (iNdEx + skippy) > l {
  2234  				return io.ErrUnexpectedEOF
  2235  			}
  2236  			iNdEx += skippy
  2237  		}
  2238  	}
  2239  
  2240  	if iNdEx > l {
  2241  		return io.ErrUnexpectedEOF
  2242  	}
  2243  	return nil
  2244  }
  2245  func (m *VersionParams) Unmarshal(dAtA []byte) error {
  2246  	l := len(dAtA)
  2247  	iNdEx := 0
  2248  	for iNdEx < l {
  2249  		preIndex := iNdEx
  2250  		var wire uint64
  2251  		for shift := uint(0); ; shift += 7 {
  2252  			if shift >= 64 {
  2253  				return ErrIntOverflowParams
  2254  			}
  2255  			if iNdEx >= l {
  2256  				return io.ErrUnexpectedEOF
  2257  			}
  2258  			b := dAtA[iNdEx]
  2259  			iNdEx++
  2260  			wire |= uint64(b&0x7F) << shift
  2261  			if b < 0x80 {
  2262  				break
  2263  			}
  2264  		}
  2265  		fieldNum := int32(wire >> 3)
  2266  		wireType := int(wire & 0x7)
  2267  		if wireType == 4 {
  2268  			return fmt.Errorf("proto: VersionParams: wiretype end group for non-group")
  2269  		}
  2270  		if fieldNum <= 0 {
  2271  			return fmt.Errorf("proto: VersionParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2272  		}
  2273  		switch fieldNum {
  2274  		case 1:
  2275  			if wireType != 0 {
  2276  				return fmt.Errorf("proto: wrong wireType = %d for field AppVersion", wireType)
  2277  			}
  2278  			m.AppVersion = 0
  2279  			for shift := uint(0); ; shift += 7 {
  2280  				if shift >= 64 {
  2281  					return ErrIntOverflowParams
  2282  				}
  2283  				if iNdEx >= l {
  2284  					return io.ErrUnexpectedEOF
  2285  				}
  2286  				b := dAtA[iNdEx]
  2287  				iNdEx++
  2288  				m.AppVersion |= uint64(b&0x7F) << shift
  2289  				if b < 0x80 {
  2290  					break
  2291  				}
  2292  			}
  2293  		default:
  2294  			iNdEx = preIndex
  2295  			skippy, err := skipParams(dAtA[iNdEx:])
  2296  			if err != nil {
  2297  				return err
  2298  			}
  2299  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2300  				return ErrInvalidLengthParams
  2301  			}
  2302  			if (iNdEx + skippy) > l {
  2303  				return io.ErrUnexpectedEOF
  2304  			}
  2305  			iNdEx += skippy
  2306  		}
  2307  	}
  2308  
  2309  	if iNdEx > l {
  2310  		return io.ErrUnexpectedEOF
  2311  	}
  2312  	return nil
  2313  }
  2314  func (m *HashedParams) Unmarshal(dAtA []byte) error {
  2315  	l := len(dAtA)
  2316  	iNdEx := 0
  2317  	for iNdEx < l {
  2318  		preIndex := iNdEx
  2319  		var wire uint64
  2320  		for shift := uint(0); ; shift += 7 {
  2321  			if shift >= 64 {
  2322  				return ErrIntOverflowParams
  2323  			}
  2324  			if iNdEx >= l {
  2325  				return io.ErrUnexpectedEOF
  2326  			}
  2327  			b := dAtA[iNdEx]
  2328  			iNdEx++
  2329  			wire |= uint64(b&0x7F) << shift
  2330  			if b < 0x80 {
  2331  				break
  2332  			}
  2333  		}
  2334  		fieldNum := int32(wire >> 3)
  2335  		wireType := int(wire & 0x7)
  2336  		if wireType == 4 {
  2337  			return fmt.Errorf("proto: HashedParams: wiretype end group for non-group")
  2338  		}
  2339  		if fieldNum <= 0 {
  2340  			return fmt.Errorf("proto: HashedParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2341  		}
  2342  		switch fieldNum {
  2343  		case 1:
  2344  			if wireType != 0 {
  2345  				return fmt.Errorf("proto: wrong wireType = %d for field BlockMaxBytes", wireType)
  2346  			}
  2347  			m.BlockMaxBytes = 0
  2348  			for shift := uint(0); ; shift += 7 {
  2349  				if shift >= 64 {
  2350  					return ErrIntOverflowParams
  2351  				}
  2352  				if iNdEx >= l {
  2353  					return io.ErrUnexpectedEOF
  2354  				}
  2355  				b := dAtA[iNdEx]
  2356  				iNdEx++
  2357  				m.BlockMaxBytes |= int64(b&0x7F) << shift
  2358  				if b < 0x80 {
  2359  					break
  2360  				}
  2361  			}
  2362  		case 2:
  2363  			if wireType != 0 {
  2364  				return fmt.Errorf("proto: wrong wireType = %d for field BlockMaxGas", wireType)
  2365  			}
  2366  			m.BlockMaxGas = 0
  2367  			for shift := uint(0); ; shift += 7 {
  2368  				if shift >= 64 {
  2369  					return ErrIntOverflowParams
  2370  				}
  2371  				if iNdEx >= l {
  2372  					return io.ErrUnexpectedEOF
  2373  				}
  2374  				b := dAtA[iNdEx]
  2375  				iNdEx++
  2376  				m.BlockMaxGas |= int64(b&0x7F) << shift
  2377  				if b < 0x80 {
  2378  					break
  2379  				}
  2380  			}
  2381  		default:
  2382  			iNdEx = preIndex
  2383  			skippy, err := skipParams(dAtA[iNdEx:])
  2384  			if err != nil {
  2385  				return err
  2386  			}
  2387  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2388  				return ErrInvalidLengthParams
  2389  			}
  2390  			if (iNdEx + skippy) > l {
  2391  				return io.ErrUnexpectedEOF
  2392  			}
  2393  			iNdEx += skippy
  2394  		}
  2395  	}
  2396  
  2397  	if iNdEx > l {
  2398  		return io.ErrUnexpectedEOF
  2399  	}
  2400  	return nil
  2401  }
  2402  func (m *SynchronyParams) Unmarshal(dAtA []byte) error {
  2403  	l := len(dAtA)
  2404  	iNdEx := 0
  2405  	for iNdEx < l {
  2406  		preIndex := iNdEx
  2407  		var wire uint64
  2408  		for shift := uint(0); ; shift += 7 {
  2409  			if shift >= 64 {
  2410  				return ErrIntOverflowParams
  2411  			}
  2412  			if iNdEx >= l {
  2413  				return io.ErrUnexpectedEOF
  2414  			}
  2415  			b := dAtA[iNdEx]
  2416  			iNdEx++
  2417  			wire |= uint64(b&0x7F) << shift
  2418  			if b < 0x80 {
  2419  				break
  2420  			}
  2421  		}
  2422  		fieldNum := int32(wire >> 3)
  2423  		wireType := int(wire & 0x7)
  2424  		if wireType == 4 {
  2425  			return fmt.Errorf("proto: SynchronyParams: wiretype end group for non-group")
  2426  		}
  2427  		if fieldNum <= 0 {
  2428  			return fmt.Errorf("proto: SynchronyParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2429  		}
  2430  		switch fieldNum {
  2431  		case 1:
  2432  			if wireType != 2 {
  2433  				return fmt.Errorf("proto: wrong wireType = %d for field MessageDelay", wireType)
  2434  			}
  2435  			var msglen int
  2436  			for shift := uint(0); ; shift += 7 {
  2437  				if shift >= 64 {
  2438  					return ErrIntOverflowParams
  2439  				}
  2440  				if iNdEx >= l {
  2441  					return io.ErrUnexpectedEOF
  2442  				}
  2443  				b := dAtA[iNdEx]
  2444  				iNdEx++
  2445  				msglen |= int(b&0x7F) << shift
  2446  				if b < 0x80 {
  2447  					break
  2448  				}
  2449  			}
  2450  			if msglen < 0 {
  2451  				return ErrInvalidLengthParams
  2452  			}
  2453  			postIndex := iNdEx + msglen
  2454  			if postIndex < 0 {
  2455  				return ErrInvalidLengthParams
  2456  			}
  2457  			if postIndex > l {
  2458  				return io.ErrUnexpectedEOF
  2459  			}
  2460  			if m.MessageDelay == nil {
  2461  				m.MessageDelay = new(time.Duration)
  2462  			}
  2463  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.MessageDelay, dAtA[iNdEx:postIndex]); err != nil {
  2464  				return err
  2465  			}
  2466  			iNdEx = postIndex
  2467  		case 2:
  2468  			if wireType != 2 {
  2469  				return fmt.Errorf("proto: wrong wireType = %d for field Precision", wireType)
  2470  			}
  2471  			var msglen int
  2472  			for shift := uint(0); ; shift += 7 {
  2473  				if shift >= 64 {
  2474  					return ErrIntOverflowParams
  2475  				}
  2476  				if iNdEx >= l {
  2477  					return io.ErrUnexpectedEOF
  2478  				}
  2479  				b := dAtA[iNdEx]
  2480  				iNdEx++
  2481  				msglen |= int(b&0x7F) << shift
  2482  				if b < 0x80 {
  2483  					break
  2484  				}
  2485  			}
  2486  			if msglen < 0 {
  2487  				return ErrInvalidLengthParams
  2488  			}
  2489  			postIndex := iNdEx + msglen
  2490  			if postIndex < 0 {
  2491  				return ErrInvalidLengthParams
  2492  			}
  2493  			if postIndex > l {
  2494  				return io.ErrUnexpectedEOF
  2495  			}
  2496  			if m.Precision == nil {
  2497  				m.Precision = new(time.Duration)
  2498  			}
  2499  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Precision, dAtA[iNdEx:postIndex]); err != nil {
  2500  				return err
  2501  			}
  2502  			iNdEx = postIndex
  2503  		default:
  2504  			iNdEx = preIndex
  2505  			skippy, err := skipParams(dAtA[iNdEx:])
  2506  			if err != nil {
  2507  				return err
  2508  			}
  2509  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2510  				return ErrInvalidLengthParams
  2511  			}
  2512  			if (iNdEx + skippy) > l {
  2513  				return io.ErrUnexpectedEOF
  2514  			}
  2515  			iNdEx += skippy
  2516  		}
  2517  	}
  2518  
  2519  	if iNdEx > l {
  2520  		return io.ErrUnexpectedEOF
  2521  	}
  2522  	return nil
  2523  }
  2524  func (m *TimeoutParams) Unmarshal(dAtA []byte) error {
  2525  	l := len(dAtA)
  2526  	iNdEx := 0
  2527  	for iNdEx < l {
  2528  		preIndex := iNdEx
  2529  		var wire uint64
  2530  		for shift := uint(0); ; shift += 7 {
  2531  			if shift >= 64 {
  2532  				return ErrIntOverflowParams
  2533  			}
  2534  			if iNdEx >= l {
  2535  				return io.ErrUnexpectedEOF
  2536  			}
  2537  			b := dAtA[iNdEx]
  2538  			iNdEx++
  2539  			wire |= uint64(b&0x7F) << shift
  2540  			if b < 0x80 {
  2541  				break
  2542  			}
  2543  		}
  2544  		fieldNum := int32(wire >> 3)
  2545  		wireType := int(wire & 0x7)
  2546  		if wireType == 4 {
  2547  			return fmt.Errorf("proto: TimeoutParams: wiretype end group for non-group")
  2548  		}
  2549  		if fieldNum <= 0 {
  2550  			return fmt.Errorf("proto: TimeoutParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2551  		}
  2552  		switch fieldNum {
  2553  		case 1:
  2554  			if wireType != 2 {
  2555  				return fmt.Errorf("proto: wrong wireType = %d for field Propose", wireType)
  2556  			}
  2557  			var msglen int
  2558  			for shift := uint(0); ; shift += 7 {
  2559  				if shift >= 64 {
  2560  					return ErrIntOverflowParams
  2561  				}
  2562  				if iNdEx >= l {
  2563  					return io.ErrUnexpectedEOF
  2564  				}
  2565  				b := dAtA[iNdEx]
  2566  				iNdEx++
  2567  				msglen |= int(b&0x7F) << shift
  2568  				if b < 0x80 {
  2569  					break
  2570  				}
  2571  			}
  2572  			if msglen < 0 {
  2573  				return ErrInvalidLengthParams
  2574  			}
  2575  			postIndex := iNdEx + msglen
  2576  			if postIndex < 0 {
  2577  				return ErrInvalidLengthParams
  2578  			}
  2579  			if postIndex > l {
  2580  				return io.ErrUnexpectedEOF
  2581  			}
  2582  			if m.Propose == nil {
  2583  				m.Propose = new(time.Duration)
  2584  			}
  2585  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Propose, dAtA[iNdEx:postIndex]); err != nil {
  2586  				return err
  2587  			}
  2588  			iNdEx = postIndex
  2589  		case 2:
  2590  			if wireType != 2 {
  2591  				return fmt.Errorf("proto: wrong wireType = %d for field ProposeDelta", wireType)
  2592  			}
  2593  			var msglen int
  2594  			for shift := uint(0); ; shift += 7 {
  2595  				if shift >= 64 {
  2596  					return ErrIntOverflowParams
  2597  				}
  2598  				if iNdEx >= l {
  2599  					return io.ErrUnexpectedEOF
  2600  				}
  2601  				b := dAtA[iNdEx]
  2602  				iNdEx++
  2603  				msglen |= int(b&0x7F) << shift
  2604  				if b < 0x80 {
  2605  					break
  2606  				}
  2607  			}
  2608  			if msglen < 0 {
  2609  				return ErrInvalidLengthParams
  2610  			}
  2611  			postIndex := iNdEx + msglen
  2612  			if postIndex < 0 {
  2613  				return ErrInvalidLengthParams
  2614  			}
  2615  			if postIndex > l {
  2616  				return io.ErrUnexpectedEOF
  2617  			}
  2618  			if m.ProposeDelta == nil {
  2619  				m.ProposeDelta = new(time.Duration)
  2620  			}
  2621  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.ProposeDelta, dAtA[iNdEx:postIndex]); err != nil {
  2622  				return err
  2623  			}
  2624  			iNdEx = postIndex
  2625  		case 3:
  2626  			if wireType != 2 {
  2627  				return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType)
  2628  			}
  2629  			var msglen int
  2630  			for shift := uint(0); ; shift += 7 {
  2631  				if shift >= 64 {
  2632  					return ErrIntOverflowParams
  2633  				}
  2634  				if iNdEx >= l {
  2635  					return io.ErrUnexpectedEOF
  2636  				}
  2637  				b := dAtA[iNdEx]
  2638  				iNdEx++
  2639  				msglen |= int(b&0x7F) << shift
  2640  				if b < 0x80 {
  2641  					break
  2642  				}
  2643  			}
  2644  			if msglen < 0 {
  2645  				return ErrInvalidLengthParams
  2646  			}
  2647  			postIndex := iNdEx + msglen
  2648  			if postIndex < 0 {
  2649  				return ErrInvalidLengthParams
  2650  			}
  2651  			if postIndex > l {
  2652  				return io.ErrUnexpectedEOF
  2653  			}
  2654  			if m.Vote == nil {
  2655  				m.Vote = new(time.Duration)
  2656  			}
  2657  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Vote, dAtA[iNdEx:postIndex]); err != nil {
  2658  				return err
  2659  			}
  2660  			iNdEx = postIndex
  2661  		case 4:
  2662  			if wireType != 2 {
  2663  				return fmt.Errorf("proto: wrong wireType = %d for field VoteDelta", wireType)
  2664  			}
  2665  			var msglen int
  2666  			for shift := uint(0); ; shift += 7 {
  2667  				if shift >= 64 {
  2668  					return ErrIntOverflowParams
  2669  				}
  2670  				if iNdEx >= l {
  2671  					return io.ErrUnexpectedEOF
  2672  				}
  2673  				b := dAtA[iNdEx]
  2674  				iNdEx++
  2675  				msglen |= int(b&0x7F) << shift
  2676  				if b < 0x80 {
  2677  					break
  2678  				}
  2679  			}
  2680  			if msglen < 0 {
  2681  				return ErrInvalidLengthParams
  2682  			}
  2683  			postIndex := iNdEx + msglen
  2684  			if postIndex < 0 {
  2685  				return ErrInvalidLengthParams
  2686  			}
  2687  			if postIndex > l {
  2688  				return io.ErrUnexpectedEOF
  2689  			}
  2690  			if m.VoteDelta == nil {
  2691  				m.VoteDelta = new(time.Duration)
  2692  			}
  2693  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.VoteDelta, dAtA[iNdEx:postIndex]); err != nil {
  2694  				return err
  2695  			}
  2696  			iNdEx = postIndex
  2697  		case 5:
  2698  			if wireType != 2 {
  2699  				return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType)
  2700  			}
  2701  			var msglen int
  2702  			for shift := uint(0); ; shift += 7 {
  2703  				if shift >= 64 {
  2704  					return ErrIntOverflowParams
  2705  				}
  2706  				if iNdEx >= l {
  2707  					return io.ErrUnexpectedEOF
  2708  				}
  2709  				b := dAtA[iNdEx]
  2710  				iNdEx++
  2711  				msglen |= int(b&0x7F) << shift
  2712  				if b < 0x80 {
  2713  					break
  2714  				}
  2715  			}
  2716  			if msglen < 0 {
  2717  				return ErrInvalidLengthParams
  2718  			}
  2719  			postIndex := iNdEx + msglen
  2720  			if postIndex < 0 {
  2721  				return ErrInvalidLengthParams
  2722  			}
  2723  			if postIndex > l {
  2724  				return io.ErrUnexpectedEOF
  2725  			}
  2726  			if m.Commit == nil {
  2727  				m.Commit = new(time.Duration)
  2728  			}
  2729  			if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Commit, dAtA[iNdEx:postIndex]); err != nil {
  2730  				return err
  2731  			}
  2732  			iNdEx = postIndex
  2733  		case 6:
  2734  			if wireType != 0 {
  2735  				return fmt.Errorf("proto: wrong wireType = %d for field BypassCommitTimeout", wireType)
  2736  			}
  2737  			var v int
  2738  			for shift := uint(0); ; shift += 7 {
  2739  				if shift >= 64 {
  2740  					return ErrIntOverflowParams
  2741  				}
  2742  				if iNdEx >= l {
  2743  					return io.ErrUnexpectedEOF
  2744  				}
  2745  				b := dAtA[iNdEx]
  2746  				iNdEx++
  2747  				v |= int(b&0x7F) << shift
  2748  				if b < 0x80 {
  2749  					break
  2750  				}
  2751  			}
  2752  			m.BypassCommitTimeout = bool(v != 0)
  2753  		default:
  2754  			iNdEx = preIndex
  2755  			skippy, err := skipParams(dAtA[iNdEx:])
  2756  			if err != nil {
  2757  				return err
  2758  			}
  2759  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2760  				return ErrInvalidLengthParams
  2761  			}
  2762  			if (iNdEx + skippy) > l {
  2763  				return io.ErrUnexpectedEOF
  2764  			}
  2765  			iNdEx += skippy
  2766  		}
  2767  	}
  2768  
  2769  	if iNdEx > l {
  2770  		return io.ErrUnexpectedEOF
  2771  	}
  2772  	return nil
  2773  }
  2774  func (m *ABCIParams) Unmarshal(dAtA []byte) error {
  2775  	l := len(dAtA)
  2776  	iNdEx := 0
  2777  	for iNdEx < l {
  2778  		preIndex := iNdEx
  2779  		var wire uint64
  2780  		for shift := uint(0); ; shift += 7 {
  2781  			if shift >= 64 {
  2782  				return ErrIntOverflowParams
  2783  			}
  2784  			if iNdEx >= l {
  2785  				return io.ErrUnexpectedEOF
  2786  			}
  2787  			b := dAtA[iNdEx]
  2788  			iNdEx++
  2789  			wire |= uint64(b&0x7F) << shift
  2790  			if b < 0x80 {
  2791  				break
  2792  			}
  2793  		}
  2794  		fieldNum := int32(wire >> 3)
  2795  		wireType := int(wire & 0x7)
  2796  		if wireType == 4 {
  2797  			return fmt.Errorf("proto: ABCIParams: wiretype end group for non-group")
  2798  		}
  2799  		if fieldNum <= 0 {
  2800  			return fmt.Errorf("proto: ABCIParams: illegal tag %d (wire type %d)", fieldNum, wire)
  2801  		}
  2802  		switch fieldNum {
  2803  		case 1:
  2804  			if wireType != 0 {
  2805  				return fmt.Errorf("proto: wrong wireType = %d for field VoteExtensionsEnableHeight", wireType)
  2806  			}
  2807  			m.VoteExtensionsEnableHeight = 0
  2808  			for shift := uint(0); ; shift += 7 {
  2809  				if shift >= 64 {
  2810  					return ErrIntOverflowParams
  2811  				}
  2812  				if iNdEx >= l {
  2813  					return io.ErrUnexpectedEOF
  2814  				}
  2815  				b := dAtA[iNdEx]
  2816  				iNdEx++
  2817  				m.VoteExtensionsEnableHeight |= int64(b&0x7F) << shift
  2818  				if b < 0x80 {
  2819  					break
  2820  				}
  2821  			}
  2822  		case 2:
  2823  			if wireType != 0 {
  2824  				return fmt.Errorf("proto: wrong wireType = %d for field RecheckTx", wireType)
  2825  			}
  2826  			var v int
  2827  			for shift := uint(0); ; shift += 7 {
  2828  				if shift >= 64 {
  2829  					return ErrIntOverflowParams
  2830  				}
  2831  				if iNdEx >= l {
  2832  					return io.ErrUnexpectedEOF
  2833  				}
  2834  				b := dAtA[iNdEx]
  2835  				iNdEx++
  2836  				v |= int(b&0x7F) << shift
  2837  				if b < 0x80 {
  2838  					break
  2839  				}
  2840  			}
  2841  			m.RecheckTx = bool(v != 0)
  2842  		default:
  2843  			iNdEx = preIndex
  2844  			skippy, err := skipParams(dAtA[iNdEx:])
  2845  			if err != nil {
  2846  				return err
  2847  			}
  2848  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2849  				return ErrInvalidLengthParams
  2850  			}
  2851  			if (iNdEx + skippy) > l {
  2852  				return io.ErrUnexpectedEOF
  2853  			}
  2854  			iNdEx += skippy
  2855  		}
  2856  	}
  2857  
  2858  	if iNdEx > l {
  2859  		return io.ErrUnexpectedEOF
  2860  	}
  2861  	return nil
  2862  }
  2863  func skipParams(dAtA []byte) (n int, err error) {
  2864  	l := len(dAtA)
  2865  	iNdEx := 0
  2866  	depth := 0
  2867  	for iNdEx < l {
  2868  		var wire uint64
  2869  		for shift := uint(0); ; shift += 7 {
  2870  			if shift >= 64 {
  2871  				return 0, ErrIntOverflowParams
  2872  			}
  2873  			if iNdEx >= l {
  2874  				return 0, io.ErrUnexpectedEOF
  2875  			}
  2876  			b := dAtA[iNdEx]
  2877  			iNdEx++
  2878  			wire |= (uint64(b) & 0x7F) << shift
  2879  			if b < 0x80 {
  2880  				break
  2881  			}
  2882  		}
  2883  		wireType := int(wire & 0x7)
  2884  		switch wireType {
  2885  		case 0:
  2886  			for shift := uint(0); ; shift += 7 {
  2887  				if shift >= 64 {
  2888  					return 0, ErrIntOverflowParams
  2889  				}
  2890  				if iNdEx >= l {
  2891  					return 0, io.ErrUnexpectedEOF
  2892  				}
  2893  				iNdEx++
  2894  				if dAtA[iNdEx-1] < 0x80 {
  2895  					break
  2896  				}
  2897  			}
  2898  		case 1:
  2899  			iNdEx += 8
  2900  		case 2:
  2901  			var length int
  2902  			for shift := uint(0); ; shift += 7 {
  2903  				if shift >= 64 {
  2904  					return 0, ErrIntOverflowParams
  2905  				}
  2906  				if iNdEx >= l {
  2907  					return 0, io.ErrUnexpectedEOF
  2908  				}
  2909  				b := dAtA[iNdEx]
  2910  				iNdEx++
  2911  				length |= (int(b) & 0x7F) << shift
  2912  				if b < 0x80 {
  2913  					break
  2914  				}
  2915  			}
  2916  			if length < 0 {
  2917  				return 0, ErrInvalidLengthParams
  2918  			}
  2919  			iNdEx += length
  2920  		case 3:
  2921  			depth++
  2922  		case 4:
  2923  			if depth == 0 {
  2924  				return 0, ErrUnexpectedEndOfGroupParams
  2925  			}
  2926  			depth--
  2927  		case 5:
  2928  			iNdEx += 4
  2929  		default:
  2930  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2931  		}
  2932  		if iNdEx < 0 {
  2933  			return 0, ErrInvalidLengthParams
  2934  		}
  2935  		if depth == 0 {
  2936  			return iNdEx, nil
  2937  		}
  2938  	}
  2939  	return 0, io.ErrUnexpectedEOF
  2940  }
  2941  
  2942  var (
  2943  	ErrInvalidLengthParams        = fmt.Errorf("proto: negative length found during unmarshaling")
  2944  	ErrIntOverflowParams          = fmt.Errorf("proto: integer overflow")
  2945  	ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group")
  2946  )