Use file-saver to export accounts (#701)
* use file-saver * bring back the fake implementation * we never know * fix background test
This commit is contained in:
@@ -69,8 +69,8 @@ describe('Extension', () => {
|
||||
password
|
||||
}, {} as chrome.runtime.Port);
|
||||
|
||||
expect(result.exportedJson).toContain(address);
|
||||
expect(result.exportedJson).toContain('"encoded"');
|
||||
expect(result.exportedJson.address).toBe(address);
|
||||
expect(result.exportedJson.encoded).toBeDefined();
|
||||
});
|
||||
|
||||
describe('account derivation', () => {
|
||||
|
||||
@@ -5,7 +5,7 @@ import type { MetadataDef } from '@polkadot/extension-inject/types';
|
||||
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types';
|
||||
import type { SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types';
|
||||
import type { SubjectInfo } from '@polkadot/ui-keyring/observable/types';
|
||||
import type { AccountJson, AllowedPath, AuthorizeRequest, MessageTypes, MetadataRequest, RequestAccountBatchExport, RequestAccountChangePassword, RequestAccountCreateExternal, RequestAccountCreateHardware, RequestAccountCreateSuri, RequestAccountEdit, RequestAccountExport, RequestAccountForget, RequestAccountShow, RequestAccountTie, RequestAccountValidate, RequestAuthorizeApprove, RequestAuthorizeReject, RequestBatchRestore, RequestDeriveCreate, RequestDeriveValidate, RequestJsonRestore, RequestMetadataApprove, RequestMetadataReject, RequestSeedCreate, RequestSeedValidate, RequestSigningApprovePassword, RequestSigningApproveSignature, RequestSigningCancel, RequestSigningIsLocked, RequestTypes, ResponseAccountExport, ResponseAuthorizeList, ResponseDeriveValidate, ResponseJsonGetAccountInfo, ResponseSeedCreate, ResponseSeedValidate, ResponseSigningIsLocked, ResponseType, SigningRequest } from '../types';
|
||||
import type { AccountJson, AllowedPath, AuthorizeRequest, MessageTypes, MetadataRequest, RequestAccountBatchExport, RequestAccountChangePassword, RequestAccountCreateExternal, RequestAccountCreateHardware, RequestAccountCreateSuri, RequestAccountEdit, RequestAccountExport, RequestAccountForget, RequestAccountShow, RequestAccountTie, RequestAccountValidate, RequestAuthorizeApprove, RequestAuthorizeReject, RequestBatchRestore, RequestDeriveCreate, RequestDeriveValidate, RequestJsonRestore, RequestMetadataApprove, RequestMetadataReject, RequestSeedCreate, RequestSeedValidate, RequestSigningApprovePassword, RequestSigningApproveSignature, RequestSigningCancel, RequestSigningIsLocked, RequestTypes, ResponseAccountExport, ResponseAccountsExport, ResponseAuthorizeList, ResponseDeriveValidate, ResponseJsonGetAccountInfo, ResponseSeedCreate, ResponseSeedValidate, ResponseSigningIsLocked, ResponseType, SigningRequest } from '../types';
|
||||
|
||||
import { ALLOWED_PATH, PASSWORD_EXPIRY_MS } from '@polkadot/extension-base/defaults';
|
||||
import chrome from '@polkadot/extension-inject/chrome';
|
||||
@@ -97,14 +97,12 @@ export default class Extension {
|
||||
}
|
||||
|
||||
private accountsExport ({ address, password }: RequestAccountExport): ResponseAccountExport {
|
||||
return { exportedJson: JSON.stringify(keyring.backupAccount(keyring.getPair(address), password)) };
|
||||
return { exportedJson: keyring.backupAccount(keyring.getPair(address), password) };
|
||||
}
|
||||
|
||||
private async accountsBatchExport ({ addresses, password }: RequestAccountBatchExport): Promise<ResponseAccountExport> {
|
||||
private async accountsBatchExport ({ addresses, password }: RequestAccountBatchExport): Promise<ResponseAccountsExport> {
|
||||
return {
|
||||
exportedJson: JSON.stringify(
|
||||
await keyring.backupAccounts(addresses, password)
|
||||
)
|
||||
exportedJson: await keyring.backupAccounts(addresses, password)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ export interface RequestSignatures {
|
||||
'pri(accounts.create.suri)': [RequestAccountCreateSuri, boolean];
|
||||
'pri(accounts.edit)': [RequestAccountEdit, boolean];
|
||||
'pri(accounts.export)': [RequestAccountExport, ResponseAccountExport];
|
||||
'pri(accounts.batchExport)': [RequestAccountBatchExport, ResponseAccountExport]
|
||||
'pri(accounts.batchExport)': [RequestAccountBatchExport, ResponseAccountsExport]
|
||||
'pri(accounts.forget)': [RequestAccountForget, boolean];
|
||||
'pri(accounts.show)': [RequestAccountShow, boolean];
|
||||
'pri(accounts.tie)': [RequestAccountTie, boolean];
|
||||
@@ -352,7 +352,11 @@ export interface ResponseSeedValidate {
|
||||
}
|
||||
|
||||
export interface ResponseAccountExport {
|
||||
exportedJson: string;
|
||||
exportedJson: KeyringPair$Json;
|
||||
}
|
||||
|
||||
export interface ResponseAccountsExport {
|
||||
exportedJson: KeyringPairs$Json;
|
||||
}
|
||||
|
||||
export type ResponseRpcListProviders = ProviderList;
|
||||
|
||||
Reference in New Issue
Block a user