From 24690121c9f9e42e8442ec80ef1793c34eee5f8f Mon Sep 17 00:00:00 2001 From: Joan La Rosa <89815407+JoanLaRosa@users.noreply.github.com> Date: Sun, 9 Feb 2025 12:22:10 -0500 Subject: [PATCH 1/3] Support grouping in exchange.order --- hyperliquid/exchange.py | 13 ++++++++++--- hyperliquid/utils/signing.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/hyperliquid/exchange.py b/hyperliquid/exchange.py index ccf35058..7a73caf7 100644 --- a/hyperliquid/exchange.py +++ b/hyperliquid/exchange.py @@ -11,6 +11,7 @@ from hyperliquid.utils.signing import ( CancelByCloidRequest, CancelRequest, + Grouping, ModifyRequest, OidOrCloid, OrderRequest, @@ -93,6 +94,7 @@ def order( reduce_only: bool = False, cloid: Optional[Cloid] = None, builder: Optional[BuilderInfo] = None, + grouping: Grouping = "na", ) -> Any: order: OrderRequest = { "coin": name, @@ -104,9 +106,14 @@ def order( } if cloid: order["cloid"] = cloid - return self.bulk_orders([order], builder) + return self.bulk_orders([order], builder, grouping) - def bulk_orders(self, order_requests: List[OrderRequest], builder: Optional[BuilderInfo] = None) -> Any: + def bulk_orders( + self, + order_requests: List[OrderRequest], + builder: Optional[BuilderInfo] = None, + grouping: Grouping = "na", + ) -> Any: order_wires: List[OrderWire] = [ order_request_to_order_wire(order, self.info.name_to_asset(order["coin"])) for order in order_requests ] @@ -114,7 +121,7 @@ def bulk_orders(self, order_requests: List[OrderRequest], builder: Optional[Buil if builder: builder["b"] = builder["b"].lower() - order_action = order_wires_to_order_action(order_wires, builder) + order_action = order_wires_to_order_action(order_wires, builder, grouping) signature = sign_l1_action( self.wallet, diff --git a/hyperliquid/utils/signing.py b/hyperliquid/utils/signing.py index d8669792..03458713 100644 --- a/hyperliquid/utils/signing.py +++ b/hyperliquid/utils/signing.py @@ -407,7 +407,7 @@ def order_request_to_order_wire(order: OrderRequest, asset: int) -> OrderWire: return order_wire -def order_wires_to_order_action(order_wires, builder=None): +def order_wires_to_order_action(order_wires, builder=None, grouping:Grouping="na"): action = { "type": "order", "orders": order_wires, From 97442340b556c325684d045f39935b63173956f0 Mon Sep 17 00:00:00 2001 From: Joan La Rosa <89815407+JoanLaRosa@users.noreply.github.com> Date: Wed, 12 Feb 2025 19:49:23 -0500 Subject: [PATCH 2/3] fix order_wires_to_order_action function --- hyperliquid/utils/signing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hyperliquid/utils/signing.py b/hyperliquid/utils/signing.py index 03458713..514e182c 100644 --- a/hyperliquid/utils/signing.py +++ b/hyperliquid/utils/signing.py @@ -407,11 +407,11 @@ def order_request_to_order_wire(order: OrderRequest, asset: int) -> OrderWire: return order_wire -def order_wires_to_order_action(order_wires, builder=None, grouping:Grouping="na"): +def order_wires_to_order_action(order_wires, builder=None, grouping: Grouping="na"): action = { "type": "order", "orders": order_wires, - "grouping": "na", + "grouping": grouping, } if builder: action["builder"] = builder From 9846f0aab28a257b40458158d786c7d5687a15aa Mon Sep 17 00:00:00 2001 From: Joan La Rosa <89815407+JoanLaRosa@users.noreply.github.com> Date: Wed, 12 Feb 2025 19:56:28 -0500 Subject: [PATCH 3/3] remove unnecessary grouping in order function --- hyperliquid/exchange.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hyperliquid/exchange.py b/hyperliquid/exchange.py index 7a73caf7..d4c417bd 100644 --- a/hyperliquid/exchange.py +++ b/hyperliquid/exchange.py @@ -94,7 +94,6 @@ def order( reduce_only: bool = False, cloid: Optional[Cloid] = None, builder: Optional[BuilderInfo] = None, - grouping: Grouping = "na", ) -> Any: order: OrderRequest = { "coin": name, @@ -106,7 +105,7 @@ def order( } if cloid: order["cloid"] = cloid - return self.bulk_orders([order], builder, grouping) + return self.bulk_orders([order], builder) def bulk_orders( self,