Batch export patch up (#455)

* .

* .

* fix lint

* .

* change on request

* .
This commit is contained in:
雪霁
2021-03-12 02:25:04 +08:00
committed by GitHub
parent b898dff53f
commit 0864aef698
2 changed files with 6 additions and 5 deletions
+4 -4
View File
@@ -83,7 +83,7 @@ export class Keyring extends Base implements KeyringStruct {
return pair.toJson(password);
}
public async backupAccounts (addresses: string[]): Promise<KeyringPairs$Json> {
public async backupAccounts (addresses: string[], password: string): Promise<KeyringPairs$Json> {
const accountPromises = addresses.map((address) => {
return new Promise<KeyringJson>((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));
+2 -1
View File
@@ -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<KeyringPairs$Json>
backupAccounts: (addresses: string[], password: string) => Promise<KeyringPairs$Json>
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;