From 44b36de35c7c750828f71e353183d11a88e57b0d Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 28 Oct 2025 12:17:32 +0400 Subject: [PATCH 1/2] Add get order by ID (internal/external) endpoints --- examples/utils.py | 8 ++------ x10/perpetual/trading_client/account_module.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/examples/utils.py b/examples/utils.py index b704607..1c79cb0 100644 --- a/examples/utils.py +++ b/examples/utils.py @@ -13,13 +13,9 @@ def adjust_price_by_pct(price: Decimal, pct: int): async def find_order_and_cancel(*, trading_client: PerpetualTradingClient, logger: Logger, order_id: str): - open_orders = await trading_client.account.get_open_orders() - - for order in open_orders.data: - if order.id == order_id: - logger.info("Found placed order: %s", order.to_pretty_json()) - break + open_order = await trading_client.account.get_order_by_id(order_id) + logger.info("Found placed order: %s", open_order.to_pretty_json()) logger.info("Cancelling placed order...") await trading_client.orders.cancel_order(order_id) diff --git a/x10/perpetual/trading_client/account_module.py b/x10/perpetual/trading_client/account_module.py index 533e8ad..6e70218 100644 --- a/x10/perpetual/trading_client/account_module.py +++ b/x10/perpetual/trading_client/account_module.py @@ -107,6 +107,24 @@ async def get_orders_history( ) return await send_get_request(await self.get_session(), url, List[OpenOrderModel], api_key=self._get_api_key()) + async def get_order_by_id(self, order_id: int) -> WrappedApiResponse[OpenOrderModel]: + """ + https://api.docs.extended.exchange/#get-order-by-id + """ + + url = self._get_url("/user/orders/", order_id=order_id) + + return await send_get_request(await self.get_session(), url, OpenOrderModel, api_key=self._get_api_key()) + + async def get_order_by_external_id(self, external_id: str) -> WrappedApiResponse[list[OpenOrderModel]]: + """ + https://api.docs.extended.exchange/#get-order-by-external-id + """ + + url = self._get_url("/user/orders/external/", external_id=external_id) + + return await send_get_request(await self.get_session(), url, list[OpenOrderModel], api_key=self._get_api_key()) + async def get_trades( self, market_names: List[str], From 16abcc91cc178d60f58a59959dbc2ebf1ebea64c Mon Sep 17 00:00:00 2001 From: alex101xela Date: Tue, 28 Oct 2025 14:32:54 +0400 Subject: [PATCH 2/2] Add get order by ID (internal/external) endpoints --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e274604..25bdaaa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "x10-python-trading-starknet" -version = "0.0.13" +version = "0.0.14" description = "Python client for X10 API" authors = ["X10 "] repository = "https://github.com/x10xchange/python_sdk"