gpu-compute-chain/x/colinearcore/types/message_unlock_funds.go

47 lines
1012 B
Go
Raw Normal View History

2022-09-08 14:49:56 -07:00
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
}