From 15f56927ba00526eebcb228f3f963eae66790020 Mon Sep 17 00:00:00 2001 From: Yanir Levi Date: Thu, 22 Feb 2024 12:54:14 +0200 Subject: [PATCH 1/4] Updated NCW endpoints --- fireblocks_sdk/ncw_sdk.py | 40 +++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/fireblocks_sdk/ncw_sdk.py b/fireblocks_sdk/ncw_sdk.py index b24944c3..a13baca1 100644 --- a/fireblocks_sdk/ncw_sdk.py +++ b/fireblocks_sdk/ncw_sdk.py @@ -4,19 +4,45 @@ class FireblocksNCW: def __init__(self, sdk: FireblocksSDK): self.sdk = sdk - self._wallet_url = "/v1/wallets" + self._wallet_url = "/v1/ncw/wallets" def create_wallet(self): - url = "/v1/wallets" - return self.sdk._post_request(url) + return self.sdk._post_request(self._wallet_url) + + def get_wallets( + self, + page_cursor: str, + page_size: int, + sort: str, + order: str, + enabled: bool = None, + ): + query_params = {} + + if page_cursor: + query_params["pageCursor"] = page_cursor + + if page_size: + query_params["pageSize"] = page_size - def get_wallets(self): - return self.sdk._get_request(self._wallet_url) + if sort: + query_params["sort"] = sort + + if order: + query_params["order"] = order + + if enabled: + query_params["enabled"] = enabled + + return self.sdk._get_request(self._wallet_url, query_params=query_params) def get_wallet(self, wallet_id: str): url = f"{self._wallet_url}/{wallet_id}" return self.sdk._get_request(url) + def get_latest_backup(self, wallet_id: str): + url = f"{self._wallet_url}/{wallet_id}/backup/latest" + def enable_wallet(self, wallet_id: str, enabled: bool): url = f"{self._wallet_url}/{wallet_id}/enable" body = {"enabled": enabled} @@ -103,9 +129,7 @@ def refresh_wallet_asset_balance( url = f"{self._wallet_url}/{wallet_id}/accounts/{account_id}/assets/{asset_id}/balance" return self.sdk._put_request(url) - def get_wallet_asset_balance( - self, wallet_id: str, account_id: str, asset_id: str - ): + def get_wallet_asset_balance(self, wallet_id: str, account_id: str, asset_id: str): url = f"{self._wallet_url}/{wallet_id}/accounts/{account_id}/assets/{asset_id}/balance" return self.sdk._get_request(url) From 1e009a35cde76d97ecaa4978605233ec62ffd2a4 Mon Sep 17 00:00:00 2001 From: Yanir Levi Date: Thu, 22 Feb 2024 17:59:18 +0200 Subject: [PATCH 2/4] Updated device enable endpoint --- fireblocks_sdk/ncw_sdk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fireblocks_sdk/ncw_sdk.py b/fireblocks_sdk/ncw_sdk.py index a13baca1..d2685b76 100644 --- a/fireblocks_sdk/ncw_sdk.py +++ b/fireblocks_sdk/ncw_sdk.py @@ -169,7 +169,7 @@ def get_devices(self, wallet_id: str): return self.sdk._get_request(url) def enable_device(self, wallet_id: str, device_id: str, enabled: bool): - url = f"{self._wallet_url}/{wallet_id}/devices/{device_id}" + url = f"{self._wallet_url}/{wallet_id}/devices/{device_id}/enable" body = {"enabled": enabled} return self.sdk._put_request(url, body) From 5c613b14566e25a601993d96f443ad9bd73c5529 Mon Sep 17 00:00:00 2001 From: Yanir Levi Date: Mon, 26 Feb 2024 17:34:47 +0200 Subject: [PATCH 3/4] Added get for backup --- fireblocks_sdk/ncw_sdk.py | 1 + 1 file changed, 1 insertion(+) diff --git a/fireblocks_sdk/ncw_sdk.py b/fireblocks_sdk/ncw_sdk.py index d2685b76..ab706cd7 100644 --- a/fireblocks_sdk/ncw_sdk.py +++ b/fireblocks_sdk/ncw_sdk.py @@ -42,6 +42,7 @@ def get_wallet(self, wallet_id: str): def get_latest_backup(self, wallet_id: str): url = f"{self._wallet_url}/{wallet_id}/backup/latest" + return self.sdk._get_request(url) def enable_wallet(self, wallet_id: str, enabled: bool): url = f"{self._wallet_url}/{wallet_id}/enable" From 9b75905710d6ac5b73e9750bf0f812a3b36f8d65 Mon Sep 17 00:00:00 2001 From: Yanir Levi Date: Mon, 26 Feb 2024 17:40:23 +0200 Subject: [PATCH 4/4] added supported assets --- fireblocks_sdk/ncw_sdk.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/fireblocks_sdk/ncw_sdk.py b/fireblocks_sdk/ncw_sdk.py index ab706cd7..860e1bb2 100644 --- a/fireblocks_sdk/ncw_sdk.py +++ b/fireblocks_sdk/ncw_sdk.py @@ -17,7 +17,7 @@ def get_wallets( order: str, enabled: bool = None, ): - query_params = {} + query_params = {"enabled": enabled} if page_cursor: query_params["pageCursor"] = page_cursor @@ -31,9 +31,6 @@ def get_wallets( if order: query_params["order"] = order - if enabled: - query_params["enabled"] = enabled - return self.sdk._get_request(self._wallet_url, query_params=query_params) def get_wallet(self, wallet_id: str): @@ -63,7 +60,7 @@ def get_wallet_accounts( enabled: bool = None, ): url = f"{self._wallet_url}/{wallet_id}/accounts" - query_params = {} + query_params = {"enabled": enabled} if page_cursor: query_params["pageCursor"] = page_cursor @@ -77,9 +74,6 @@ def get_wallet_accounts( if order: query_params["order"] = order - if enabled: - query_params["enabled"] = enabled - return self.sdk._get_request(url, query_params=query_params) def get_wallet_account(self, wallet_id: str, account_id: str): @@ -146,7 +140,7 @@ def get_wallet_asset_addresses( enabled: bool = None, ): url = f"{self._wallet_url}/{wallet_id}/accounts/{account_id}/assets/{asset_id}/addresses" - query_params = {} + query_params = {"enabled": enabled} if page_cursor: query_params["pageCursor"] = page_cursor @@ -160,9 +154,6 @@ def get_wallet_asset_addresses( if order: query_params["order"] = order - if enabled: - query_params["enabled"] = enabled - return self.sdk._get_request(url, query_params=query_params) def get_devices(self, wallet_id: str): @@ -183,3 +174,17 @@ def invoke_wallet_rpc(self, wallet_id: str, device_id: str, payload: str): body = {"payload": payload} return self.sdk._post_request(url, body) + + def get_supported_assets( + self, page_cursor: str, page_size: int, only_base_assets: bool + ): + query_params = {"onlyBaseAssets": only_base_assets} + if page_cursor: + query_params["pageCursor"] = page_cursor + + if page_size: + query_params["pageSize"] = page_size + + return self._get_request( + f"{self._wallet_url}/supported_assets", query_params=query_params + )