github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/slashing/internal/types/msg.go (about) 1 package types 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 ) 6 7 // verify interface at compile time 8 var _ sdk.Msg = &MsgUnjail{} 9 10 // MsgUnjail - struct for unjailing jailed validator 11 type MsgUnjail struct { 12 ValidatorAddr sdk.ValAddress `json:"address" yaml:"address"` // address of the validator operator 13 } 14 15 // NewMsgUnjail creates a new MsgUnjail instance 16 func NewMsgUnjail(validatorAddr sdk.ValAddress) MsgUnjail { 17 return MsgUnjail{ 18 ValidatorAddr: validatorAddr, 19 } 20 } 21 22 // nolint 23 func (msg MsgUnjail) Route() string { return RouterKey } 24 func (msg MsgUnjail) Type() string { return "unjail" } 25 func (msg MsgUnjail) GetSigners() []sdk.AccAddress { 26 return []sdk.AccAddress{sdk.AccAddress(msg.ValidatorAddr)} 27 } 28 29 // GetSignBytes gets the bytes for the message signer to sign on 30 func (msg MsgUnjail) GetSignBytes() []byte { 31 bz := ModuleCdc.MustMarshalJSON(msg) 32 return sdk.MustSortJSON(bz) 33 } 34 35 // ValidateBasic validity check for the AnteHandler 36 func (msg MsgUnjail) ValidateBasic() error { 37 if msg.ValidatorAddr.Empty() { 38 return ErrBadValidatorAddr 39 } 40 return nil 41 }