@@ -41,28 +41,30 @@ def __init__(self, network: str):
4141 def Coin (self , amount : int , denom : str ):
4242 return cosmos_base_coin_pb .Coin (amount = str (amount ), denom = denom )
4343
44- def OrderData (self , market_id : str , subaccount_id : str , order_hash : str , order_mask : str = "any" ):
44+ def OrderData (self , market_id : str , subaccount_id : str , order_hash : str , ** kwargs ):
4545
46- if order_mask == "any" :
47- order_mask = injective_exchange_pb .OrderMask .ANY
46+ order_mask = 0
4847
49- elif order_mask == "regular" :
50- order_mask = injective_exchange_pb . OrderMask . REGULAR
48+ if not kwargs . get ( "is_conditional" ) and not kwargs . get ( "order_direction" ) and not kwargs . get ( "order_type" ) :
49+ order_mask = 1
5150
52- elif order_mask == "conditional" :
53- order_mask = injective_exchange_pb .OrderMask .CONDITIONAL
51+ if kwargs . get ( "is_conditional" ) :
52+ order_mask + = injective_exchange_pb .OrderMask .CONDITIONAL
5453
55- elif order_mask == "direction_buy_or_higher" :
56- order_mask = injective_exchange_pb .OrderMask .DIRECTION_BUY_OR_HIGHER
54+ elif kwargs . get ( "is_conditional" , False ) :
55+ order_mask + = injective_exchange_pb .OrderMask .REGULAR
5756
58- elif order_mask == "direction_sell_or_lower " :
59- order_mask = injective_exchange_pb .OrderMask .DIRECTION_SELL_OR_LOWER
57+ if kwargs . get ( "is_conditional" ) and kwargs . get ( "order_direction" ) == "buy " :
58+ order_mask + = injective_exchange_pb .OrderMask .DIRECTION_BUY_OR_HIGHER
6059
61- elif order_mask == "type_market " :
62- order_mask = injective_exchange_pb .OrderMask .TYPE_MARKET
60+ elif kwargs . get ( "is_conditional" ) and kwargs . get ( "order_direction" ) == "sell " :
61+ order_mask + = injective_exchange_pb .OrderMask .DIRECTION_SELL_OR_LOWER
6362
64- elif order_mask == "type_limit" :
65- order_mask = injective_exchange_pb .OrderMask .TYPE_LIMIT
63+ if kwargs .get ("order_type" ) == "market" :
64+ order_mask += injective_exchange_pb .OrderMask .TYPE_MARKET
65+
66+ elif kwargs .get ("order_type" ) == "limit" :
67+ order_mask += injective_exchange_pb .OrderMask .TYPE_LIMIT
6668
6769 return injective_exchange_tx_pb .OrderData (
6870 market_id = market_id , subaccount_id = subaccount_id , order_hash = order_hash , order_mask = order_mask
@@ -544,36 +546,38 @@ def MsgInstantBinaryOptionsMarketLaunch(
544546 )
545547
546548 def MsgCancelDerivativeOrder (
547- self , market_id : str , sender : str , subaccount_id : str , order_hash : str , order_mask : str = "any"
549+ self , market_id : str , sender : str , subaccount_id : str , order_hash : str , ** kwargs
548550 ):
549551
550- if order_mask == "any" :
551- order_mask = injective_exchange_pb .OrderMask .ANY
552+ order_mask = 0
552553
553- elif order_mask == "regular" :
554- order_mask = injective_exchange_pb . OrderMask . REGULAR
554+ if not kwargs . get ( "is_conditional" ) and not kwargs . get ( "order_direction" ) and not kwargs . get ( "order_type" ) :
555+ order_mask = 1
555556
556- elif order_mask == "conditional" :
557- order_mask = injective_exchange_pb .OrderMask .CONDITIONAL
557+ if kwargs . get ( "is_conditional" ) :
558+ order_mask + = injective_exchange_pb .OrderMask .CONDITIONAL
558559
559- elif order_mask == "direction_buy_or_higher" :
560- order_mask = injective_exchange_pb .OrderMask .DIRECTION_BUY_OR_HIGHER
560+ elif kwargs . get ( "is_conditional" , False ) :
561+ order_mask + = injective_exchange_pb .OrderMask .REGULAR
561562
562- elif order_mask == "direction_sell_or_lower " :
563- order_mask = injective_exchange_pb .OrderMask .DIRECTION_SELL_OR_LOWER
563+ if kwargs . get ( "is_conditional" ) and kwargs . get ( "order_direction" ) == "buy " :
564+ order_mask + = injective_exchange_pb .OrderMask .DIRECTION_BUY_OR_HIGHER
564565
565- elif order_mask == "type_market " :
566- order_mask = injective_exchange_pb .OrderMask .TYPE_MARKET
566+ elif kwargs . get ( "is_conditional" ) and kwargs . get ( "order_direction" ) == "sell " :
567+ order_mask + = injective_exchange_pb .OrderMask .DIRECTION_SELL_OR_LOWER
567568
568- elif order_mask == "type_limit " :
569- order_mask = injective_exchange_pb .OrderMask .TYPE_LIMIT
569+ if kwargs . get ( "order_type" ) == "market " :
570+ order_mask + = injective_exchange_pb .OrderMask .TYPE_MARKET
570571
571- return injective_exchange_tx_pb .MsgCancelDerivativeOrder (
572- sender = sender ,
573- market_id = market_id ,
574- subaccount_id = subaccount_id ,
575- order_hash = order_hash ,
576- order_mask = order_mask
572+ elif kwargs .get ("order_type" ) == "limit" :
573+ order_mask += injective_exchange_pb .OrderMask .TYPE_LIMIT
574+
575+ return injective_exchange_tx_pb .MsgCancelDerivativeOrder (
576+ sender = sender ,
577+ market_id = market_id ,
578+ subaccount_id = subaccount_id ,
579+ order_hash = order_hash ,
580+ order_mask = order_mask
577581 )
578582
579583 def MsgBatchCreateDerivativeLimitOrders (self , sender : str , orders : List ):
0 commit comments