1 | var 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 |
|
23 | module.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 |