From 5e4ce70a024263c149ae724391861afe49d4a64f Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 6 Nov 2022 22:52:19 -0500 Subject: [PATCH] Fix retrieving past history with new api We need to touch the derivatives endpoint --- src/cryptocom/exchange/api.py | 11 +++++++++-- src/cryptocom/exchange/market.py | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/cryptocom/exchange/api.py b/src/cryptocom/exchange/api.py index 8ed0b12..492cab8 100644 --- a/src/cryptocom/exchange/api.py +++ b/src/cryptocom/exchange/api.py @@ -123,12 +123,14 @@ class ApiProvider: root_url="https://api.crypto.com/v2/", ws_root_url="wss://stream.crypto.com/v2/", logger=None, + deriv_root_url="https://deriv-api.crypto.com/v1/", ): self.ssl_context = httpx.create_ssl_context() self.api_key = api_key self.api_secret = api_secret self.root_url = root_url self.ws_root_url = ws_root_url + self.deriv_root_url = deriv_root_url self.timeout = timeout self.retries = retries self.last_request_path = "" @@ -195,7 +197,9 @@ class ApiProvider: else: raise ApiError(f"Wrong path: {path}") - async def request(self, method, path, params=None, data=None, sign=False): + async def request(self, method, path, params=None, data=None, sign=False, root=None): + if not root: + root=self.root_url original_data = data limiter = self.get_limiter(path) @@ -210,7 +214,7 @@ class ApiProvider: async with limiter: resp = await client.request( method, - urljoin(self.root_url, path), + urljoin(root, path), params=params, json=data, headers={"content-type": "application/json"}, @@ -255,6 +259,9 @@ class ApiProvider: async def get(self, path, params=None, sign=False): return await self.request("get", path, params=params, sign=sign) + async def get_deriv(self, path, params=None, sign=False): + return await self.request("get", path, params=params, sign=sign, root=self.deriv_root_url) + async def post(self, path, data=None, sign=True): return await self.request("post", path, data=data, sign=sign) diff --git a/src/cryptocom/exchange/market.py b/src/cryptocom/exchange/market.py index 06b6459..2bb04cf 100644 --- a/src/cryptocom/exchange/market.py +++ b/src/cryptocom/exchange/market.py @@ -91,9 +91,9 @@ class Exchange: data = [] if endTime: - data = await self.api.get( + data = await self.api.get_deriv( "public/get-candlestick", - {"instrument_name": pair.name, "timeframe": period.value, "end_time": endTime*1000}) + {"instrument_name": pair.name, "timeframe": period.value, "end_ts": endTime*1000, "count": 5000}) else: data = await self.api.get( "public/get-candlestick",