Files
paperclip-wallet/modules/accounts.js
Taegus 62f8be866e + tooltips
+ sort transactions by date correctly
+ confirmed transactions indicator
2018-12-20 18:29:23 +01:00

54 lines
1.3 KiB
JavaScript

const {app, dialog, ipcMain} = require('electron');
const admZip = require('adm-zip');
const path = require('path');
const fs = require('fs');
class Accounts {
constructor() {
}
exportAccounts() {
var savePath = dialog.showSaveDialog({
defaultPath: path.join(app.getPath('documents'), 'accounts.zip')
});
if (savePath) {
const accPath = path.join(path.join(process.env.APPDATA, 'Ether1'), 'keystore');
fs.readdir(accPath, function(err, files) {
var zip = new admZip();
for(let filePath of files) {
zip.addFile(filePath, fs.readFileSync(path.join(accPath, filePath)));
}
// store zip to path
zip.writeZip(savePath);
});
}
}
importAccounts() {
const accPath = path.join(path.join(process.env.APPDATA, 'Ether1'), 'keystore');
var openPath = dialog.showOpenDialog({
defaultPath: app.getPath('documents')
});
if (openPath) {
var zip = new admZip(openPath[0]);
zip.extractAllTo(accPath, true);
}
}
}
ipcMain.on('exportAccounts', (event, arg) => {
EthoAccounts.exportAccounts();
});
ipcMain.on('importAccounts', (event, arg) => {
EthoAccounts.importAccounts();
event.returnValue = true;
});
EthoAccounts = new Accounts();