diff --git a/fireblocks_sdk/ncw_sdk.py b/fireblocks_sdk/ncw_sdk.py index b24944c..860e1bb 100644 --- a/fireblocks_sdk/ncw_sdk.py +++ b/fireblocks_sdk/ncw_sdk.py @@ -4,19 +4,43 @@ 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 = {"enabled": enabled} - def get_wallets(self): - return self.sdk._get_request(self._wallet_url) + if page_cursor: + query_params["pageCursor"] = page_cursor + + if page_size: + query_params["pageSize"] = page_size + + if sort: + query_params["sort"] = sort + + if order: + query_params["order"] = order + + 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" + return self.sdk._get_request(url) + def enable_wallet(self, wallet_id: str, enabled: bool): url = f"{self._wallet_url}/{wallet_id}/enable" body = {"enabled": enabled} @@ -36,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 @@ -50,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): @@ -103,9 +124,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) @@ -121,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 @@ -135,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): @@ -145,7 +161,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) @@ -158,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 + )