From 0864aef6980fcb48ea6b517570af01d906655018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=AA=E9=9C=81?= Date: Fri, 12 Mar 2021 02:25:04 +0800 Subject: [PATCH] Batch export patch up (#455) * . * . * fix lint * . * change on request * . --- packages/ui-keyring/src/Keyring.ts | 8 ++++---- packages/ui-keyring/src/types.ts | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/ui-keyring/src/Keyring.ts b/packages/ui-keyring/src/Keyring.ts index ab50e81d..1bdc6824 100644 --- a/packages/ui-keyring/src/Keyring.ts +++ b/packages/ui-keyring/src/Keyring.ts @@ -83,7 +83,7 @@ export class Keyring extends Base implements KeyringStruct { return pair.toJson(password); } - public async backupAccounts (addresses: string[]): Promise { + public async backupAccounts (addresses: string[], password: string): Promise { const accountPromises = addresses.map((address) => { return new Promise((resolve) => { this._store.get(accountKey(address), resolve); @@ -93,7 +93,7 @@ export class Keyring extends Base implements KeyringStruct { const accounts = await Promise.all(accountPromises); return { - ...jsonEncrypt(stringToU8a(JSON.stringify(accounts)), ['batch-pkcs8']), + ...jsonEncrypt(stringToU8a(JSON.stringify(accounts)), ['batch-pkcs8'], password), accounts: accounts.map((account) => ({ address: account.address, meta: account.meta @@ -329,8 +329,8 @@ export class Keyring extends Base implements KeyringStruct { return pair; } - public restoreAccounts (json: EncryptedJson): void { - const accounts: KeyringJson[] = JSON.parse(u8aToString(jsonDecrypt(json))) as KeyringJson[]; + public restoreAccounts (json: EncryptedJson, password: string): void { + const accounts: KeyringJson[] = JSON.parse(u8aToString(jsonDecrypt(json, password))) as KeyringJson[]; accounts.forEach((account) => { this.loadAccount(account, accountKey(account.address)); diff --git a/packages/ui-keyring/src/types.ts b/packages/ui-keyring/src/types.ts index 62606488..05eef114 100644 --- a/packages/ui-keyring/src/types.ts +++ b/packages/ui-keyring/src/types.ts @@ -75,7 +75,7 @@ export interface KeyringStruct { addPair: (pair: KeyringPair, password: string) => CreateResult; addUri: (suri: string, password?: string, meta?: KeyringPair$Meta, type?: KeypairType) => CreateResult; backupAccount: (pair: KeyringPair, password: string) => KeyringPair$Json; - backupAccounts: (addresses: string[]) => Promise + backupAccounts: (addresses: string[], password: string) => Promise createFromUri (suri: string, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair; decodeAddress: (key: string | Uint8Array) => Uint8Array; encodeAddress: (key: string | Uint8Array) => string; @@ -95,6 +95,7 @@ export interface KeyringStruct { isPassValid: (password: string) => boolean; loadAll: (options: KeyringOptions) => void; restoreAccount: (json: KeyringPair$Json, password: string) => KeyringPair; + restoreAccounts: (json: EncryptedJson, password: string) => void; saveAccount: (pair: KeyringPair, password?: string) => KeyringPair$Json; saveAccountMeta: (pair: KeyringPair, meta: KeyringPair$Meta) => void; saveAddress: (address: string, meta: KeyringPair$Meta) => KeyringPair$Json;