package types import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgUnlockFunds = "unlock_funds" var _ sdk.Msg = &MsgUnlockFunds{} func NewMsgUnlockFunds(creator string, amount string) *MsgUnlockFunds { return &MsgUnlockFunds{ Creator: creator, Amount: amount, } } func (msg *MsgUnlockFunds) Route() string { return RouterKey } func (msg *MsgUnlockFunds) Type() string { return TypeMsgUnlockFunds } func (msg *MsgUnlockFunds) GetSigners() []sdk.AccAddress { creator, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { panic(err) } return []sdk.AccAddress{creator} } func (msg *MsgUnlockFunds) GetSignBytes() []byte { bz := ModuleCdc.MustMarshalJSON(msg) return sdk.MustSortJSON(bz) } func (msg *MsgUnlockFunds) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil }