UNPKG

1.68 kBJavaScriptView Raw
1var fs = require('fs')
2 , loadRecipients = require('../utils/loadRecipients')
3 , crypto = require('crypto')
4 , constants = require('../lib/constants')
5 , makeNonce = require('../utils/makeNonce')
6 , encrypt = require('../lib/encrypt')
7 , printHeader = require('../utils/printHeader')
8 , translateHeader = require('../utils/translateHeader')
9 , Progress = require('progress')
10 , loadWallet = require('../utils/loadWallet')
11 , pempal = require('pempal')
12 , through = require('through')
13 , prompt = require('cli-prompt')
14 , createGist = require('../utils/createGist')
15 , tar = require('tar')
16 , zlib = require('zlib')
17 , fstream = require('fstream')
18 , tmpDir = require('os').tmpDir()
19 , path = require('path')
20 , minimist = require('minimist')
21 , headersFromArgs = require('../utils/headersFromArgs')
22
23module.exports = function (input, options) {
24 var walletDir = options.parent.wallet
25 var inFile = path.join(walletDir, 'imported_keys')
26 fs.readFile(inFile, {encoding: 'utf8'}, function (err, str) {
27 if (err && err.code !== 'ENOENT') return cb(err)
28 var lines = (str || '').trim().split('\n').filter(function (line) {
29 return !!line.trim()
30 })
31 var goodLines = []
32 lines.forEach(function (line) {
33 try {
34 var pubkey = libPubkey.parse(line.trim())
35 }
36 catch (e) {
37 return
38 }
39 if (pubkey.pubkey !== input && pubkey.email !== input.toLowerCase()) {
40 goodLines.push(line)
41 }
42 })
43 fs.writeFile(inFile, goodLines.join('\n'), {mode: parseInt('0600', 8)}, function (err) {
44 if (err) throw err
45 console.log('Removed ' + (lines.length - goodLines.length) + ' key(s).')
46 })
47 })
48}
\No newline at end of file