| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- // Generated by IcedCoffeeScript 1.7.1-c
- (function() {
- var ACCTYPES, ArgumentParser, Base, C, Command, CryptocurrencySigGen, E, PackageJson, S, ST, User, add_option_dict, assert, bitcoyne, dict_union, fs, iced, log, make_esc, prompt_remote_name, prompt_yn, proofs, req, session, util, __iced_k, __iced_k_noop, _ref,
- __hasProp = {}.hasOwnProperty,
- __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; },
- __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
- iced = require('iced-runtime').iced;
- __iced_k = __iced_k_noop = function() {};
- Base = require('./base').Base;
- log = require('../log');
- ArgumentParser = require('argparse').ArgumentParser;
- add_option_dict = require('./argparse').add_option_dict;
- C = require('../constants').constants;
- ST = C.signature_types;
- ACCTYPES = C.allowed_cryptocurrency_types;
- PackageJson = require('../package').PackageJson;
- E = require('../err').E;
- make_esc = require('iced-error').make_esc;
- _ref = require('../prompter'), prompt_yn = _ref.prompt_yn, prompt_remote_name = _ref.prompt_remote_name;
- User = require('../user').User;
- req = require('../req').req;
- assert = require('assert');
- session = require('../session');
- S = require('../services');
- dict_union = require('../util').dict_union;
- util = require('util');
- fs = require('fs');
- proofs = require('keybase-proofs');
- bitcoyne = require('bitcoyne');
- CryptocurrencySigGen = require('../sigs').CryptocurrencySigGen;
- exports.Command = Command = (function(_super) {
- __extends(Command, _super);
- function Command() {
- return Command.__super__.constructor.apply(this, arguments);
- }
- Command.prototype.OPTS = {
- f: {
- alias: 'force',
- action: 'storeTrue',
- help: 'force overwrite, revoking any old addresses'
- }
- };
- Command.prototype.use_session = function() {
- return true;
- };
- Command.prototype.needs_configuration = function() {
- return true;
- };
- Command.prototype.add_subcommand_parser = function(scp) {
- var name, opts, sub;
- opts = {
- aliases: ['bitcoin'],
- help: "add a signed cryptocurrency address to your profile"
- };
- name = "btc";
- sub = scp.addParser(name, opts);
- add_option_dict(sub, this.OPTS);
- sub.addArgument(["btc"], {
- nargs: 1,
- help: "the address to sign and publicly post"
- });
- return opts.aliases.concat([name]);
- };
- Command.prototype.parse_args = function(cb) {
- var err, ret, _ref1, _ref2;
- _ref1 = bitcoyne.address.check(this.argv.btc[0]), err = _ref1[0], ret = _ref1[1];
- if (err != null) {
- err = new E.BadCryptocurrencyAddressError("Bad BTC address: " + err.message);
- } else if ((ret != null ? ret.version : void 0) == null) {
- err = new E.BadCryptocurrencyAddressError("Bad BTC address; no type found");
- } else if (!(_ref2 = ret.version, __indexOf.call(ACCTYPES, _ref2) >= 0)) {
- err = new E.UnsupportedCryptocurrencyAddressError("Only support bitcoin addresses at current");
- } else {
- this.address_version = ret.version;
- }
- return cb(err);
- };
- Command.prototype.check_exists = function(cb) {
- var address_types, addresses, c, err, link, links, m, ok, prompt, ___iced_passed_deferral, __iced_deferrals, __iced_k, _ref1, _ref2;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- address_types = ((_ref1 = this.me.sig_chain) != null ? (_ref2 = _ref1.table) != null ? _ref2.get(ST.CRYPTOCURRENCY) : void 0 : void 0) || null;
- links = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = ACCTYPES.length; _i < _len; _i++) {
- c = ACCTYPES[_i];
- if ((link = address_types != null ? address_types.get(c) : void 0) != null) {
- _results.push(link);
- }
- }
- return _results;
- })();
- addresses = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = links.length; _i < _len; _i++) {
- link = links[_i];
- _results.push(link.body().cryptocurrency.address);
- }
- return _results;
- })();
- (function(_this) {
- return (function(__iced_k) {
- if (!addresses.length) {
- return __iced_k(err = null);
- } else {
- (function(__iced_k) {
- var _ref3;
- if (_ref3 = _this.argv.btc[0], __indexOf.call(addresses, _ref3) >= 0) {
- return __iced_k(err = new E.DuplicateError("you've already signed BTC address '" + _this.argv.btc[0] + "'"));
- } else {
- (function(__iced_k) {
- if (!_this.argv.force) {
- if (addresses.length === 1) {
- prompt = "You already have registered address " + addresses[0] + "; revoke and proceed?";
- } else {
- prompt = "You already have registered addresses [" + (addresses.join(',')) + "]; revoke and proceed?";
- }
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.check_exists"
- });
- prompt_yn({
- prompt: prompt,
- defval: false
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return ok = arguments[1];
- };
- })(),
- lineno: 81
- }));
- __iced_deferrals._fulfill();
- })(function() {
- return __iced_k(err != null ? void 0 : !ok ? (m = addresses.length === 1 ? 'Address already exists' : "Addresses already exist", err = new E.ProofExistsError(m)) : void 0);
- });
- } else {
- return __iced_k();
- }
- })(__iced_k);
- }
- })(__iced_k);
- }
- });
- })(this)((function(_this) {
- return function() {
- if (typeof err === "undefined" || err === null) {
- _this.revoke_sig_ids = (function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = links.length; _i < _len; _i++) {
- link = links[_i];
- _results.push(link.sig_id());
- }
- return _results;
- })();
- }
- return cb(err);
- };
- })(this));
- };
- Command.prototype.allocate_proof_gen = function(cb) {
- var arg, cryptocurrency, err, klass, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- klass = CryptocurrencySigGen;
- cryptocurrency = {
- address: this.argv.btc[0],
- type: 'bitcoin'
- };
- arg = {
- revoke_sig_ids: this.revoke_sig_ids,
- cryptocurrency: cryptocurrency
- };
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.allocate_proof_gen"
- });
- _this.me.gen_sig_base({
- klass: klass,
- arg: arg
- }, __iced_deferrals.defer({
- assign_fn: (function(__slot_1) {
- return function() {
- err = arguments[0];
- return __slot_1.gen = arguments[1];
- };
- })(_this),
- lineno: 100
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- return cb(err);
- };
- })(this));
- };
- Command.prototype.run = function(cb) {
- var esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- esc = make_esc(cb, "Command::run");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- _this.parse_args(esc(__iced_deferrals.defer({
- lineno: 107
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- session.login(esc(__iced_deferrals.defer({
- lineno: 108
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- User.load_me({
- secret: true
- }, esc(__iced_deferrals.defer({
- assign_fn: (function(__slot_1) {
- return function() {
- return __slot_1.me = arguments[0];
- };
- })(_this),
- lineno: 109
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- _this.check_exists(esc(__iced_deferrals.defer({
- lineno: 110
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- _this.allocate_proof_gen(esc(__iced_deferrals.defer({
- lineno: 111
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/max/src/keybase/node-client/src/command/btc.iced",
- funcname: "Command.run"
- });
- _this.gen.run(esc(__iced_deferrals.defer({
- lineno: 112
- })));
- __iced_deferrals._fulfill();
- })(function() {
- log.info("Success!");
- return cb(null);
- });
- });
- });
- });
- });
- };
- })(this));
- };
- return Command;
- })(Base);
- }).call(this);
|