From 6f962e7fcfaa6203162462ae155afd14ae4d5df9 Mon Sep 17 00:00:00 2001 From: Amit Perelstein Date: Mon, 20 Nov 2023 10:45:39 +0200 Subject: [PATCH] feat: ncw latest backup --- src/ncw-api-client.ts | 5 +++++ src/ncw-sdk.ts | 8 ++++++++ src/types.ts | 13 +++++++++++++ 3 files changed, 26 insertions(+) diff --git a/src/ncw-api-client.ts b/src/ncw-api-client.ts index 1f9d1694..592ab556 100644 --- a/src/ncw-api-client.ts +++ b/src/ncw-api-client.ts @@ -32,6 +32,11 @@ export class NcwApiClient implements NcwSdk { `${this.NCW_BASE_PATH}/${walletId}`); } + public async getLatestBackup(walletId: string): Promise { + return await this.apiClient.issueGetRequest( + `${this.NCW_BASE_PATH}/${walletId}/backup/latest`); + } + public async enableWallet(walletId: string, enabled: boolean): Promise { return await this.apiClient.issuePutRequest( `${this.NCW_BASE_PATH}/${walletId}/enable`, diff --git a/src/ncw-sdk.ts b/src/ncw-sdk.ts index 1e69bdea..b50f086c 100644 --- a/src/ncw-sdk.ts +++ b/src/ncw-sdk.ts @@ -20,6 +20,14 @@ export interface NcwSdk { */ getWallet(walletId: string): Promise<{ walletId: string; enabled: boolean; }>; + + /** + * Get NCW wallet's latest backup + * + * @param {string} walletId + */ + getLatestBackup(walletId: string): Promise; + /** * Enable a NCW wallet * diff --git a/src/types.ts b/src/types.ts index b620dffb..7808333f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1870,6 +1870,19 @@ export namespace NCW { enabled: boolean; } + export class LatestBackupKey { + deviceId: string; + publicKey: string; + keyId: string; + algorithm: string; + } + + export class LatestBackupResponse { + passphraseId: string; + createdAt: number; + keys: Array; + } + export interface GetWalletsPayload { pageCursor?: string; pageSize?: number;