push_and_keygen.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. // Generated by IcedCoffeeScript 1.7.1-c
  2. (function() {
  3. var Base, Command, E, KeyManager, KeybasePushProofGen, User, athrow, env, iced, log, make_email, make_esc, prompt_passphrase, req, session, __iced_k, __iced_k_noop,
  4. __hasProp = {}.hasOwnProperty,
  5. __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
  6. __slice = [].slice;
  7. iced = require('iced-runtime').iced;
  8. __iced_k = __iced_k_noop = function() {};
  9. Base = require('./base').Base;
  10. log = require('../log');
  11. session = require('../session');
  12. make_esc = require('iced-error').make_esc;
  13. log = require('../log');
  14. KeybasePushProofGen = require('../sigs').KeybasePushProofGen;
  15. req = require('../req');
  16. env = require('../env').env;
  17. prompt_passphrase = require('../prompter').prompt_passphrase;
  18. KeyManager = require('../keymanager').KeyManager;
  19. E = require('../err').E;
  20. athrow = require('iced-utils').util.athrow;
  21. env = require('../env').env;
  22. User = require('../user').User;
  23. make_email = require('../util').make_email;
  24. exports.Command = Command = (function(_super) {
  25. __extends(Command, _super);
  26. Command.OPTS = {
  27. s: {
  28. alias: "secret",
  29. action: "storeTrue",
  30. help: "push the secret key to the server"
  31. },
  32. u: {
  33. alias: "update",
  34. action: "storeTrue",
  35. help: "update the public key with new key fields"
  36. }
  37. };
  38. function Command() {
  39. var args;
  40. args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
  41. Command.__super__.constructor.apply(this, args);
  42. this._secret_only = false;
  43. }
  44. Command.prototype.use_session = function() {
  45. return true;
  46. };
  47. Command.prototype.needs_configuration = function() {
  48. return true;
  49. };
  50. Command.prototype.secret_only = function() {
  51. return this._secret_only;
  52. };
  53. Command.prototype.sign = function(cb) {
  54. var eng, err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  55. __iced_k = __iced_k_noop;
  56. ___iced_passed_deferral = iced.findDeferral(arguments);
  57. log.debug("+ Command::sign");
  58. (function(_this) {
  59. return (function(__iced_k) {
  60. if (_this.key.has_canonical_username()) {
  61. log.debug("| We can skip the sig, since the UID canonical username is already in the key");
  62. return __iced_k(_this.sig = null);
  63. } else {
  64. eng = new KeybasePushProofGen({
  65. km: _this.key
  66. });
  67. (function(__iced_k) {
  68. __iced_deferrals = new iced.Deferrals(__iced_k, {
  69. parent: ___iced_passed_deferral,
  70. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  71. funcname: "Command.sign"
  72. });
  73. eng.run(__iced_deferrals.defer({
  74. assign_fn: (function(__slot_1) {
  75. return function() {
  76. err = arguments[0];
  77. return __slot_1.sig = arguments[1];
  78. };
  79. })(_this),
  80. lineno: 56
  81. }));
  82. __iced_deferrals._fulfill();
  83. })(__iced_k);
  84. }
  85. });
  86. })(this)((function(_this) {
  87. return function() {
  88. log.debug("- Command::sign");
  89. return cb(err);
  90. };
  91. })(this));
  92. };
  93. Command.prototype.push = function(cb) {
  94. var args, err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  95. __iced_k = __iced_k_noop;
  96. ___iced_passed_deferral = iced.findDeferral(arguments);
  97. args = {
  98. is_primary: 1
  99. };
  100. if (this.sig != null) {
  101. args.sig_id_base = this.sig.id;
  102. args.sig_id_short = this.sig.short_id;
  103. args.sig = this.sig.pgp;
  104. }
  105. if (!this.secret_only()) {
  106. args.public_key = this.key.key_data().toString('utf8');
  107. }
  108. if (this.p3skb) {
  109. args.private_key = this.p3skb;
  110. }
  111. (function(_this) {
  112. return (function(__iced_k) {
  113. __iced_deferrals = new iced.Deferrals(__iced_k, {
  114. parent: ___iced_passed_deferral,
  115. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  116. funcname: "Command.push"
  117. });
  118. req.post({
  119. endpoint: "key/add",
  120. args: args
  121. }, __iced_deferrals.defer({
  122. assign_fn: (function() {
  123. return function() {
  124. return err = arguments[0];
  125. };
  126. })(),
  127. lineno: 73
  128. }));
  129. __iced_deferrals._fulfill();
  130. });
  131. })(this)((function(_this) {
  132. return function() {
  133. return cb(err);
  134. };
  135. })(this));
  136. };
  137. Command.prototype.load_key_manager = function(cb) {
  138. var esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  139. __iced_k = __iced_k_noop;
  140. ___iced_passed_deferral = iced.findDeferral(arguments);
  141. esc = make_esc(cb, "KeyManager::load_secret");
  142. (function(_this) {
  143. return (function(__iced_k) {
  144. __iced_deferrals = new iced.Deferrals(__iced_k, {
  145. parent: ___iced_passed_deferral,
  146. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  147. funcname: "Command.load_key_manager"
  148. });
  149. KeyManager.load({
  150. fingerprint: _this.key.fingerprint()
  151. }, esc(__iced_deferrals.defer({
  152. assign_fn: (function(__slot_1) {
  153. return function() {
  154. return __slot_1.keymanager = arguments[0];
  155. };
  156. })(_this),
  157. lineno: 80
  158. })));
  159. __iced_deferrals._fulfill();
  160. });
  161. })(this)((function(_this) {
  162. return function() {
  163. return cb(null);
  164. };
  165. })(this));
  166. };
  167. Command.prototype.package_secret_key = function(cb) {
  168. var err, p3skb, prompter, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  169. __iced_k = __iced_k_noop;
  170. ___iced_passed_deferral = iced.findDeferral(arguments);
  171. log.debug("+ package secret key");
  172. prompter = this.prompt_passphrase.bind(this);
  173. (function(_this) {
  174. return (function(__iced_k) {
  175. __iced_deferrals = new iced.Deferrals(__iced_k, {
  176. parent: ___iced_passed_deferral,
  177. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  178. funcname: "Command.package_secret_key"
  179. });
  180. _this.keymanager.export_to_p3skb({
  181. prompter: prompter
  182. }, __iced_deferrals.defer({
  183. assign_fn: (function() {
  184. return function() {
  185. err = arguments[0];
  186. return p3skb = arguments[1];
  187. };
  188. })(),
  189. lineno: 88
  190. }));
  191. __iced_deferrals._fulfill();
  192. });
  193. })(this)((function(_this) {
  194. return function() {
  195. if (typeof err === "undefined" || err === null) {
  196. _this.p3skb = p3skb;
  197. }
  198. log.debug("- package secret key -> " + (typeof err !== "undefined" && err !== null ? err.message : void 0));
  199. return cb(err);
  200. };
  201. })(this));
  202. };
  203. Command.prototype.do_secret_key = function(cb) {
  204. var esc, go, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  205. __iced_k = __iced_k_noop;
  206. ___iced_passed_deferral = iced.findDeferral(arguments);
  207. esc = make_esc(cb, "KeyManager::do_secret_key");
  208. (function(_this) {
  209. return (function(__iced_k) {
  210. __iced_deferrals = new iced.Deferrals(__iced_k, {
  211. parent: ___iced_passed_deferral,
  212. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  213. funcname: "Command.do_secret_key"
  214. });
  215. _this.should_push_secret(esc(__iced_deferrals.defer({
  216. assign_fn: (function() {
  217. return function() {
  218. return go = arguments[0];
  219. };
  220. })(),
  221. lineno: 97
  222. })));
  223. __iced_deferrals._fulfill();
  224. });
  225. })(this)((function(_this) {
  226. return function() {
  227. (function(__iced_k) {
  228. if (go) {
  229. (function(__iced_k) {
  230. if (_this.keymanager == null) {
  231. (function(__iced_k) {
  232. __iced_deferrals = new iced.Deferrals(__iced_k, {
  233. parent: ___iced_passed_deferral,
  234. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  235. funcname: "Command.do_secret_key"
  236. });
  237. _this.load_key_manager(esc(__iced_deferrals.defer({
  238. lineno: 99
  239. })));
  240. __iced_deferrals._fulfill();
  241. })(__iced_k);
  242. } else {
  243. return __iced_k();
  244. }
  245. })(function() {
  246. (function(__iced_k) {
  247. __iced_deferrals = new iced.Deferrals(__iced_k, {
  248. parent: ___iced_passed_deferral,
  249. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  250. funcname: "Command.do_secret_key"
  251. });
  252. _this.package_secret_key(esc(__iced_deferrals.defer({
  253. lineno: 100
  254. })));
  255. __iced_deferrals._fulfill();
  256. })(__iced_k);
  257. });
  258. } else {
  259. return __iced_k();
  260. }
  261. })(function() {
  262. return cb(null);
  263. });
  264. };
  265. })(this));
  266. };
  267. Command.prototype.prompt_passphrase = function(cb) {
  268. var args, err, pp, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  269. __iced_k = __iced_k_noop;
  270. ___iced_passed_deferral = iced.findDeferral(arguments);
  271. args = {
  272. prompt: "Your key passphrase"
  273. };
  274. (function(_this) {
  275. return (function(__iced_k) {
  276. __iced_deferrals = new iced.Deferrals(__iced_k, {
  277. parent: ___iced_passed_deferral,
  278. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  279. funcname: "Command.prompt_passphrase"
  280. });
  281. prompt_passphrase(args, __iced_deferrals.defer({
  282. assign_fn: (function() {
  283. return function() {
  284. err = arguments[0];
  285. return pp = arguments[1];
  286. };
  287. })(),
  288. lineno: 108
  289. }));
  290. __iced_deferrals._fulfill();
  291. });
  292. })(this)((function(_this) {
  293. return function() {
  294. return cb(err, pp);
  295. };
  296. })(this));
  297. };
  298. Command.prototype.prompt_new_passphrase = function(cb) {
  299. var args, err, pp, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  300. __iced_k = __iced_k_noop;
  301. ___iced_passed_deferral = iced.findDeferral(arguments);
  302. args = {
  303. prompt: "Your key passphrase (can be the same as your login passphrase)",
  304. confirm: {
  305. prompt: "Repeat to confirm"
  306. },
  307. no_leading_space: true
  308. };
  309. (function(_this) {
  310. return (function(__iced_k) {
  311. __iced_deferrals = new iced.Deferrals(__iced_k, {
  312. parent: ___iced_passed_deferral,
  313. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  314. funcname: "Command.prompt_new_passphrase"
  315. });
  316. prompt_passphrase(args, __iced_deferrals.defer({
  317. assign_fn: (function() {
  318. return function() {
  319. err = arguments[0];
  320. return pp = arguments[1];
  321. };
  322. })(),
  323. lineno: 118
  324. }));
  325. __iced_deferrals._fulfill();
  326. });
  327. })(this)((function(_this) {
  328. return function() {
  329. return cb(err, pp);
  330. };
  331. })(this));
  332. };
  333. Command.prototype.do_key_gen_2 = function(_arg, cb) {
  334. var done, err, go, passphrase, rv, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  335. __iced_k = __iced_k_noop;
  336. ___iced_passed_deferral = iced.findDeferral(arguments);
  337. passphrase = _arg.passphrase;
  338. rv = new iced.Rendezvous();
  339. process.stderr.write("Generating keys.");
  340. KeyManager.generate({
  341. passphrase: passphrase
  342. }, rv.id(true).defer({
  343. assign_fn: (function(_this) {
  344. return function(__slot_1) {
  345. return function() {
  346. err = arguments[0];
  347. return __slot_1.keymanager = arguments[1];
  348. };
  349. };
  350. })(this)(this),
  351. lineno: 127,
  352. context: __iced_deferrals
  353. }));
  354. go = true;
  355. (function(_this) {
  356. return (function(__iced_k) {
  357. var _results, _while;
  358. _results = [];
  359. _while = function(__iced_k) {
  360. var _break, _continue, _next;
  361. _break = function() {
  362. return __iced_k(_results);
  363. };
  364. _continue = function() {
  365. return iced.trampoline(function() {
  366. return _while(__iced_k);
  367. });
  368. };
  369. _next = function(__iced_next_arg) {
  370. _results.push(__iced_next_arg);
  371. return _continue();
  372. };
  373. if (!go) {
  374. return _break();
  375. } else {
  376. setTimeout(rv.id(false).defer({
  377. lineno: 131,
  378. context: __iced_deferrals
  379. }), 1000);
  380. (function(__iced_k) {
  381. __iced_deferrals = new iced.Deferrals(__iced_k, {
  382. parent: ___iced_passed_deferral,
  383. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  384. funcname: "Command.do_key_gen_2"
  385. });
  386. rv.wait(__iced_deferrals.defer({
  387. assign_fn: (function() {
  388. return function() {
  389. return done = arguments[0];
  390. };
  391. })(),
  392. lineno: 132
  393. }));
  394. __iced_deferrals._fulfill();
  395. })(function() {
  396. return _next(done ? go = false : process.stderr.write("."));
  397. });
  398. }
  399. };
  400. _while(__iced_k);
  401. });
  402. })(this)((function(_this) {
  403. return function() {
  404. process.stderr.write(" Done!\n");
  405. return cb(err);
  406. };
  407. })(this));
  408. };
  409. Command.prototype.do_key_gen = function(cb) {
  410. var esc, passphrase, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  411. __iced_k = __iced_k_noop;
  412. ___iced_passed_deferral = iced.findDeferral(arguments);
  413. esc = make_esc(cb, "do_key_gen");
  414. (function(_this) {
  415. return (function(__iced_k) {
  416. __iced_deferrals = new iced.Deferrals(__iced_k, {
  417. parent: ___iced_passed_deferral,
  418. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  419. funcname: "Command.do_key_gen"
  420. });
  421. _this.prompt_new_passphrase(esc(__iced_deferrals.defer({
  422. assign_fn: (function() {
  423. return function() {
  424. return passphrase = arguments[0];
  425. };
  426. })(),
  427. lineno: 144
  428. })));
  429. __iced_deferrals._fulfill();
  430. });
  431. })(this)((function(_this) {
  432. return function() {
  433. log.debug("+ generating public/private keypair");
  434. (function(__iced_k) {
  435. __iced_deferrals = new iced.Deferrals(__iced_k, {
  436. parent: ___iced_passed_deferral,
  437. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  438. funcname: "Command.do_key_gen"
  439. });
  440. _this.do_key_gen_2({
  441. passphrase: passphrase
  442. }, esc(__iced_deferrals.defer({
  443. lineno: 146
  444. })));
  445. __iced_deferrals._fulfill();
  446. })(function() {
  447. log.debug("- generated");
  448. log.debug("+ loading public key");
  449. (function(__iced_k) {
  450. __iced_deferrals = new iced.Deferrals(__iced_k, {
  451. parent: ___iced_passed_deferral,
  452. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  453. funcname: "Command.do_key_gen"
  454. });
  455. _this.keymanager.load_public(esc(__iced_deferrals.defer({
  456. assign_fn: (function(__slot_1) {
  457. return function() {
  458. return __slot_1.key = arguments[0];
  459. };
  460. })(_this),
  461. lineno: 149
  462. })));
  463. __iced_deferrals._fulfill();
  464. })(function() {
  465. log.debug("- loaded public key");
  466. return cb(null, _this.key);
  467. });
  468. });
  469. };
  470. })(this));
  471. };
  472. Command.prototype.check_args = function(cb) {
  473. return cb(null);
  474. };
  475. Command.prototype.should_push_secret = function(cb) {
  476. return cb(null, this.argv.secret || this.secret_only());
  477. };
  478. Command.prototype.should_push = function(cb) {
  479. return cb(null, true);
  480. };
  481. Command.prototype.check_no_key = function(cb) {
  482. var ckres, err, esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  483. __iced_k = __iced_k_noop;
  484. ___iced_passed_deferral = iced.findDeferral(arguments);
  485. esc = make_esc(cb, "check_no_key");
  486. (function(_this) {
  487. return (function(__iced_k) {
  488. __iced_deferrals = new iced.Deferrals(__iced_k, {
  489. parent: ___iced_passed_deferral,
  490. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  491. funcname: "Command.check_no_key"
  492. });
  493. User.load({
  494. username: env().get_username(),
  495. self: true
  496. }, esc(__iced_deferrals.defer({
  497. assign_fn: (function(__slot_1) {
  498. return function() {
  499. return __slot_1.me = arguments[0];
  500. };
  501. })(_this),
  502. lineno: 163
  503. })));
  504. __iced_deferrals._fulfill();
  505. });
  506. })(this)((function(_this) {
  507. return function() {
  508. (function(__iced_k) {
  509. __iced_deferrals = new iced.Deferrals(__iced_k, {
  510. parent: ___iced_passed_deferral,
  511. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  512. funcname: "Command.check_no_key"
  513. });
  514. _this.me.check_key({
  515. secret: false
  516. }, esc(__iced_deferrals.defer({
  517. assign_fn: (function() {
  518. return function() {
  519. return ckres = arguments[0];
  520. };
  521. })(),
  522. lineno: 164
  523. })));
  524. __iced_deferrals._fulfill();
  525. })(function() {
  526. err = null;
  527. if (_this.argv.update && ckres.remote) {
  528. log.info("Updating both remote keys with local version");
  529. _this.argv.search = _this.me.fingerprint();
  530. } else if (_this.argv.update && !ckres.remote) {
  531. err = new E.NoRemoteKeyError("can't update your key; you don't have one uploaded; try push without --update");
  532. } else if (ckres.remote && _this.argv.secret) {
  533. log.info("Public key already uploaded; pushing only secret key");
  534. _this._secret_only = true;
  535. } else if (ckres.remote && !_this.argv.secret) {
  536. err = new E.KeyExistsError("You already have a key registered; either revoke or run `keybase push --update`");
  537. }
  538. return cb(err);
  539. });
  540. };
  541. })(this));
  542. };
  543. Command.prototype.run = function(cb) {
  544. var esc, go, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  545. __iced_k = __iced_k_noop;
  546. ___iced_passed_deferral = iced.findDeferral(arguments);
  547. esc = make_esc(cb, "run");
  548. (function(_this) {
  549. return (function(__iced_k) {
  550. __iced_deferrals = new iced.Deferrals(__iced_k, {
  551. parent: ___iced_passed_deferral,
  552. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  553. funcname: "Command.run"
  554. });
  555. _this.check_no_key(esc(__iced_deferrals.defer({
  556. lineno: 182
  557. })));
  558. __iced_deferrals._fulfill();
  559. });
  560. })(this)((function(_this) {
  561. return function() {
  562. (function(__iced_k) {
  563. __iced_deferrals = new iced.Deferrals(__iced_k, {
  564. parent: ___iced_passed_deferral,
  565. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  566. funcname: "Command.run"
  567. });
  568. _this.check_args(esc(__iced_deferrals.defer({
  569. lineno: 183
  570. })));
  571. __iced_deferrals._fulfill();
  572. })(function() {
  573. (function(__iced_k) {
  574. __iced_deferrals = new iced.Deferrals(__iced_k, {
  575. parent: ___iced_passed_deferral,
  576. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  577. funcname: "Command.run"
  578. });
  579. _this.prepare_key(esc(__iced_deferrals.defer({
  580. lineno: 184
  581. })));
  582. __iced_deferrals._fulfill();
  583. })(function() {
  584. (function(__iced_k) {
  585. __iced_deferrals = new iced.Deferrals(__iced_k, {
  586. parent: ___iced_passed_deferral,
  587. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  588. funcname: "Command.run"
  589. });
  590. _this.should_push(esc(__iced_deferrals.defer({
  591. assign_fn: (function() {
  592. return function() {
  593. return go = arguments[0];
  594. };
  595. })(),
  596. lineno: 185
  597. })));
  598. __iced_deferrals._fulfill();
  599. })(function() {
  600. (function(__iced_k) {
  601. if (go) {
  602. (function(__iced_k) {
  603. __iced_deferrals = new iced.Deferrals(__iced_k, {
  604. parent: ___iced_passed_deferral,
  605. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  606. funcname: "Command.run"
  607. });
  608. session.login(esc(__iced_deferrals.defer({
  609. lineno: 187
  610. })));
  611. __iced_deferrals._fulfill();
  612. })(function() {
  613. (function(__iced_k) {
  614. __iced_deferrals = new iced.Deferrals(__iced_k, {
  615. parent: ___iced_passed_deferral,
  616. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  617. funcname: "Command.run"
  618. });
  619. _this.sign(esc(__iced_deferrals.defer({
  620. lineno: 188
  621. })));
  622. __iced_deferrals._fulfill();
  623. })(function() {
  624. (function(__iced_k) {
  625. __iced_deferrals = new iced.Deferrals(__iced_k, {
  626. parent: ___iced_passed_deferral,
  627. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  628. funcname: "Command.run"
  629. });
  630. _this.do_secret_key(esc(__iced_deferrals.defer({
  631. lineno: 189
  632. })));
  633. __iced_deferrals._fulfill();
  634. })(function() {
  635. (function(__iced_k) {
  636. __iced_deferrals = new iced.Deferrals(__iced_k, {
  637. parent: ___iced_passed_deferral,
  638. filename: "/home/jacko/node-client/src/command/push_and_keygen.iced",
  639. funcname: "Command.run"
  640. });
  641. _this.push(esc(__iced_deferrals.defer({
  642. lineno: 190
  643. })));
  644. __iced_deferrals._fulfill();
  645. })(__iced_k);
  646. });
  647. });
  648. });
  649. } else {
  650. return __iced_k();
  651. }
  652. })(function() {
  653. log.info("success!");
  654. return cb(null);
  655. });
  656. });
  657. });
  658. });
  659. };
  660. })(this));
  661. };
  662. return Command;
  663. })(Base);
  664. }).call(this);