github.com/Finschia/finschia-sdk@v0.48.1/x/crisis/types/msgs.go (about)

     1  package types
     2  
     3  import (
     4  	sdk "github.com/Finschia/finschia-sdk/types"
     5  )
     6  
     7  // ensure Msg interface compliance at compile time
     8  var _ sdk.Msg = &MsgVerifyInvariant{}
     9  
    10  // NewMsgVerifyInvariant creates a new MsgVerifyInvariant object
    11  //
    12  //nolint:interfacer
    13  func NewMsgVerifyInvariant(sender sdk.AccAddress, invModeName, invRoute string) *MsgVerifyInvariant {
    14  	return &MsgVerifyInvariant{
    15  		Sender:              sender.String(),
    16  		InvariantModuleName: invModeName,
    17  		InvariantRoute:      invRoute,
    18  	}
    19  }
    20  
    21  func (msg MsgVerifyInvariant) Route() string { return ModuleName }
    22  func (msg MsgVerifyInvariant) Type() string  { return "verify_invariant" }
    23  
    24  // get the bytes for the message signer to sign on
    25  func (msg MsgVerifyInvariant) GetSigners() []sdk.AccAddress {
    26  	sender, _ := sdk.AccAddressFromBech32(msg.Sender)
    27  	return []sdk.AccAddress{sender}
    28  }
    29  
    30  // GetSignBytes gets the sign bytes for the msg MsgVerifyInvariant
    31  func (msg MsgVerifyInvariant) GetSignBytes() []byte {
    32  	bz := ModuleCdc.MustMarshalJSON(&msg)
    33  	return sdk.MustSortJSON(bz)
    34  }
    35  
    36  // quick validity check
    37  func (msg MsgVerifyInvariant) ValidateBasic() error {
    38  	if msg.Sender == "" {
    39  		return ErrNoSender
    40  	}
    41  	return nil
    42  }
    43  
    44  // FullInvariantRoute - get the messages full invariant route
    45  func (msg MsgVerifyInvariant) FullInvariantRoute() string {
    46  	return msg.InvariantModuleName + "/" + msg.InvariantRoute
    47  }