From 733e505e29b502ca79cfa9104a2e68c13c139841 Mon Sep 17 00:00:00 2001 From: Harish Marri Date: Tue, 13 Sep 2022 17:55:23 +0530 Subject: [PATCH] add validation for duration --- x/marketplace/types/msgs.go | 3 +++ x/marketplace/types/validation.go | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/x/marketplace/types/msgs.go b/x/marketplace/types/msgs.go index a915fc5..467a844 100644 --- a/x/marketplace/types/msgs.go +++ b/x/marketplace/types/msgs.go @@ -229,6 +229,9 @@ func (msg MsgCreateAuction) ValidateBasic() error { if err = ValidatePrice(msg.StartPrice); err != nil { return err } + if err = ValidateDuration(*msg.Duration); err != nil { + return err + } if !msg.IncrementPercentage.IsPositive() || !msg.IncrementPercentage.LTE(sdk.NewDec(1)) { return sdkerrors.Wrapf(ErrInvalidPercentage, "invalid percentage value (%s)", msg.IncrementPercentage.String()) } diff --git a/x/marketplace/types/validation.go b/x/marketplace/types/validation.go index 77801d9..bedbcbc 100644 --- a/x/marketplace/types/validation.go +++ b/x/marketplace/types/validation.go @@ -1,7 +1,6 @@ package types import ( - "fmt" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "strings" @@ -44,10 +43,13 @@ func ValidatePrice(price sdk.Coin) error { return nil } -func ValidateTimeStamp(t interface{}) error { - _, ok := t.(time.Duration) +func ValidateDuration(t interface{}) error { + duration, ok := t.(time.Duration) if !ok { - return fmt.Errorf("invalid value for start time: %T", t) + return sdkerrors.Wrapf(ErrInvalidDuration, "invalid value for duration: %T", t) + } + if duration.Nanoseconds() <= 0 { + return sdkerrors.Wrapf(ErrInvalidDuration, "invalid duration %s, only accepts positive value", duration.String()) } return nil }