github.com/cosmos/cosmos-sdk@v0.50.10/x/consensus/types/msgs.go (about)

     1  package types
     2  
     3  import (
     4  	"errors"
     5  
     6  	cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
     7  	cmttypes "github.com/cometbft/cometbft/types"
     8  
     9  	sdk "github.com/cosmos/cosmos-sdk/types"
    10  )
    11  
    12  var _ sdk.Msg = &MsgUpdateParams{}
    13  
    14  func (msg MsgUpdateParams) ToProtoConsensusParams() (cmtproto.ConsensusParams, error) {
    15  	if msg.Evidence == nil || msg.Block == nil || msg.Validator == nil {
    16  		return cmtproto.ConsensusParams{}, errors.New("all parameters must be present")
    17  	}
    18  
    19  	cp := cmtproto.ConsensusParams{
    20  		Block: &cmtproto.BlockParams{
    21  			MaxBytes: msg.Block.MaxBytes,
    22  			MaxGas:   msg.Block.MaxGas,
    23  		},
    24  		Evidence: &cmtproto.EvidenceParams{
    25  			MaxAgeNumBlocks: msg.Evidence.MaxAgeNumBlocks,
    26  			MaxAgeDuration:  msg.Evidence.MaxAgeDuration,
    27  			MaxBytes:        msg.Evidence.MaxBytes,
    28  		},
    29  		Validator: &cmtproto.ValidatorParams{
    30  			PubKeyTypes: msg.Validator.PubKeyTypes,
    31  		},
    32  		Version: cmttypes.DefaultConsensusParams().ToProto().Version, // Version is stored in x/upgrade
    33  	}
    34  
    35  	if msg.Abci != nil {
    36  		cp.Abci = &cmtproto.ABCIParams{
    37  			VoteExtensionsEnableHeight: msg.Abci.VoteExtensionsEnableHeight,
    38  		}
    39  	}
    40  
    41  	return cp, nil
    42  }