3434)
3535
3636func (o * SpotOrder ) ValidateBasic (senderAddr sdk.AccAddress ) error {
37- if o .MarketId == "" {
37+ if ! IsHexHash ( o .MarketId ) {
3838 return sdkerrors .Wrap (ErrMarketInvalid , o .MarketId )
3939 }
4040 switch o .OrderType {
@@ -75,7 +75,7 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress) error {
7575}
7676
7777func (o * DerivativeOrder ) ValidateBasic (senderAddr sdk.AccAddress ) error {
78- if o .MarketId == "" {
78+ if ! IsHexHash ( o .MarketId ) {
7979 return sdkerrors .Wrap (ErrMarketInvalid , o .MarketId )
8080 }
8181 switch o .OrderType {
@@ -101,7 +101,7 @@ func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress) error {
101101}
102102
103103func (o * OrderData ) ValidateBasic (senderAddr sdk.AccAddress ) error {
104- if o .MarketId == "" {
104+ if ! IsHexHash ( o .MarketId ) {
105105 return sdkerrors .Wrap (ErrMarketInvalid , o .MarketId )
106106 }
107107
@@ -878,9 +878,10 @@ func (msg *MsgIncreasePositionMargin) ValidateBasic() error {
878878 return sdkerrors .Wrap (sdkerrors .ErrInvalidAddress , msg .Sender )
879879 }
880880
881- if msg .MarketId == "" {
881+ if ! IsHexHash ( msg .MarketId ) {
882882 return sdkerrors .Wrap (ErrMarketInvalid , msg .MarketId )
883883 }
884+
884885 if ! msg .Amount .IsPositive () {
885886 return sdkerrors .Wrap (sdkerrors .ErrInvalidCoins , msg .Amount .String ())
886887 }
@@ -928,7 +929,7 @@ func (msg *MsgLiquidatePosition) ValidateBasic() error {
928929 return sdkerrors .Wrap (sdkerrors .ErrInvalidAddress , msg .Sender )
929930 }
930931
931- if msg .MarketId == "" {
932+ if ! IsHexHash ( msg .MarketId ) {
932933 return sdkerrors .Wrap (ErrMarketInvalid , msg .MarketId )
933934 }
934935
@@ -975,7 +976,11 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error {
975976 hasSubaccountIdForCancelAll := msg .SubaccountId != ""
976977
977978 if hasCancelAllMarketId && ! hasSubaccountIdForCancelAll {
978- return sdkerrors .Wrap (ErrInvalidBatchMsgUpdate , "msg contains cancel all market id but no subaccount id" )
979+ return sdkerrors .Wrap (ErrInvalidBatchMsgUpdate , "msg contains cancel all marketIDs but no subaccountID" )
980+ }
981+
982+ if hasSubaccountIdForCancelAll && ! hasCancelAllMarketId {
983+ return sdkerrors .Wrap (ErrInvalidBatchMsgUpdate , "msg contains subaccountID but no cancel all marketIDs" )
979984 }
980985
981986 if hasSubaccountIdForCancelAll {
@@ -1011,6 +1016,9 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error {
10111016 if len (msg .SpotMarketIdsToCancelAll ) > 0 && len (msg .SpotOrdersToCancel ) > 0 {
10121017 seen := make (map [common.Hash ]struct {})
10131018 for _ , marketID := range msg .SpotMarketIdsToCancelAll {
1019+ if ! IsHexHash (marketID ) {
1020+ return sdkerrors .Wrap (ErrMarketInvalid , marketID )
1021+ }
10141022 seen [common .HexToHash (marketID )] = struct {}{}
10151023 }
10161024
@@ -1024,6 +1032,9 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error {
10241032 if len (msg .DerivativeMarketIdsToCancelAll ) > 0 && len (msg .DerivativeOrdersToCancel ) > 0 {
10251033 seen := make (map [common.Hash ]struct {})
10261034 for _ , marketID := range msg .DerivativeMarketIdsToCancelAll {
1035+ if ! IsHexHash (marketID ) {
1036+ return sdkerrors .Wrap (ErrMarketInvalid , marketID )
1037+ }
10271038 seen [common .HexToHash (marketID )] = struct {}{}
10281039 }
10291040
0 commit comments