2022-08-27 14:19:03 -07:00
|
|
|
package types
|
|
|
|
|
|
|
|
import (
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
|
|
|
)
|
|
|
|
|
|
|
|
const TypeMsgNewAuction = "new_auction"
|
|
|
|
|
|
|
|
var _ sdk.Msg = &MsgNewAuction{}
|
|
|
|
|
2022-08-31 21:49:24 -07:00
|
|
|
func NewMsgNewAuction(creator string, name string, description string, denom string) *MsgNewAuction {
|
2022-08-27 14:19:03 -07:00
|
|
|
return &MsgNewAuction{
|
|
|
|
Creator: creator,
|
|
|
|
Name: name,
|
|
|
|
Description: description,
|
2022-08-31 21:49:24 -07:00
|
|
|
Denom: denom,
|
2022-08-27 14:19:03 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (msg *MsgNewAuction) Route() string {
|
|
|
|
return RouterKey
|
|
|
|
}
|
|
|
|
|
|
|
|
func (msg *MsgNewAuction) Type() string {
|
|
|
|
return TypeMsgNewAuction
|
|
|
|
}
|
|
|
|
|
|
|
|
func (msg *MsgNewAuction) GetSigners() []sdk.AccAddress {
|
|
|
|
creator, err := sdk.AccAddressFromBech32(msg.Creator)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
return []sdk.AccAddress{creator}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (msg *MsgNewAuction) GetSignBytes() []byte {
|
|
|
|
bz := ModuleCdc.MustMarshalJSON(msg)
|
|
|
|
return sdk.MustSortJSON(bz)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (msg *MsgNewAuction) ValidateBasic() error {
|
|
|
|
_, err := sdk.AccAddressFromBech32(msg.Creator)
|
|
|
|
if err != nil {
|
|
|
|
return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|