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 }