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