github.com/Finschia/finschia-sdk@v0.48.1/x/slashing/types/msg.go (about) 1 package types 2 3 import ( 4 sdk "github.com/Finschia/finschia-sdk/types" 5 ) 6 7 // slashing message types 8 const ( 9 TypeMsgUnjail = "unjail" 10 ) 11 12 // verify interface at compile time 13 var _ sdk.Msg = &MsgUnjail{} 14 15 // NewMsgUnjail creates a new MsgUnjail instance 16 // 17 //nolint:interfacer 18 func NewMsgUnjail(validatorAddr sdk.ValAddress) *MsgUnjail { 19 return &MsgUnjail{ 20 ValidatorAddr: validatorAddr.String(), 21 } 22 } 23 24 func (msg MsgUnjail) Route() string { return RouterKey } 25 func (msg MsgUnjail) Type() string { return TypeMsgUnjail } 26 func (msg MsgUnjail) GetSigners() []sdk.AccAddress { 27 valAddr, err := sdk.ValAddressFromBech32(msg.ValidatorAddr) 28 if err != nil { 29 panic(err) 30 } 31 return []sdk.AccAddress{valAddr.Bytes()} 32 } 33 34 // GetSignBytes gets the bytes for the message signer to sign on 35 func (msg MsgUnjail) GetSignBytes() []byte { 36 bz := ModuleCdc.MustMarshalJSON(&msg) 37 return sdk.MustSortJSON(bz) 38 } 39 40 // ValidateBasic validity check for the AnteHandler 41 func (msg MsgUnjail) ValidateBasic() error { 42 if msg.ValidatorAddr == "" { 43 return ErrBadValidatorAddr 44 } 45 46 return nil 47 }