cli WIP
This commit is contained in:
parent
6ca443bf58
commit
ce8648a31d
2
app.js
2
app.js
|
@ -44,6 +44,8 @@ var router = express.Router();
|
|||
|
||||
function returnError(err, res) {
|
||||
if (err instanceof CopayServer.ClientError) {
|
||||
|
||||
console.log('[app.js.47]'); //TODO
|
||||
var status = (err.code == 'NOTAUTHORIZED') ? 401 : 400;
|
||||
res.status(status).json({
|
||||
code: err.code,
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var program = require('commander');
|
||||
var cli = require('../lib/clilib.js');
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.command('create <walletName> <m-n> [username]', 'creates a wallet')
|
||||
.command('join <secret> [username]', 'join a wallet')
|
||||
.command('status', 'get wallet status')
|
||||
.parse(process.argv);
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var program = require('commander');
|
||||
var cli = require('../lib/clilib.js');
|
||||
var common = require('./common');
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.option('-c,--config [file]', 'Wallet config filename')
|
||||
.usage('[options] <walletName> <m-n> [copayerName]')
|
||||
.parse(process.argv);
|
||||
|
||||
var args = program.args;
|
||||
if (!args[0])
|
||||
program.help();
|
||||
|
||||
var walletName = args[0];
|
||||
var copayerName = args[2] || process.env.USER;
|
||||
|
||||
var mn = common.parseMN(args[1]);
|
||||
|
||||
cli.setFilename(program.config);
|
||||
|
||||
cli.createWallet(walletName, copayerName, mn[0], mn[1], function(err, secret) {
|
||||
common.die(err);
|
||||
console.log(' * Wallet Created.');
|
||||
console.log(' - Secret to share:\n\t' + secret);
|
||||
});
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var program = require('commander');
|
||||
var cli = require('../lib/clilib.js');
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.parse(process.argv);
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var program = require('commander');
|
||||
var cli = require('../lib/clilib.js');
|
||||
var common = require('./common');
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.option('-c,--config [file]', 'Wallet config filename')
|
||||
.usage('[options] <secret> [copayerName]')
|
||||
.parse(process.argv);
|
||||
|
||||
var args = program.args;
|
||||
if (!args[0])
|
||||
program.help();
|
||||
|
||||
var secret = args[0];
|
||||
var copayerName = args[1] || process.env.USER;
|
||||
|
||||
cli.setFilename(program.config);
|
||||
|
||||
cli.joinWallet(secret, copayerName, function(err, xx) {
|
||||
common.die(err);
|
||||
console.log(' * Wallet Joined.', xx);
|
||||
});
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var program = require('commander');
|
||||
var cli = require('../lib/clilib.js');
|
||||
var common = require('./common');
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.option('-c,--config [file]', 'Wallet config filename')
|
||||
.parse(process.argv);
|
||||
|
||||
var args = program.args;
|
||||
|
||||
cli.setFilename(program.config);
|
||||
|
||||
cli.status(function(err, xx) {
|
||||
common.die(err);
|
||||
console.log(' * Status:', xx);
|
||||
});
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
var common = function() {};
|
||||
|
||||
|
||||
var die = common.die = function(err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
common.parseMN = function(MN) {
|
||||
if (!MN)
|
||||
die('No m-n parameter');
|
||||
var mn = MN.split('-');
|
||||
|
||||
var m = parseInt(mn[0]);
|
||||
var n = parseInt(mn[1]);
|
||||
|
||||
if (!m || ! n) {
|
||||
die('Bad m-n parameter');
|
||||
}
|
||||
|
||||
return [m, n];
|
||||
};
|
||||
|
||||
|
||||
module.exports = common;
|
|
@ -38,10 +38,14 @@ function _createXPrivKey() {
|
|||
};
|
||||
|
||||
function CliLib(opts) {
|
||||
if (!opts.filename) {
|
||||
throw new Error('Please set the config filename');
|
||||
}
|
||||
this.filename = opts.filename;
|
||||
};
|
||||
|
||||
CliLib.prototype._save = function(data) {
|
||||
|
||||
CliLib.prototype_save = function (data) {
|
||||
fs.writeFileSync(this.filename, JSON.stringify(data));
|
||||
};
|
||||
|
||||
|
@ -139,6 +143,7 @@ CliLib.prototype._joinWallet = function(data, secret, copayerName, cb) {
|
|||
body: args,
|
||||
json: true,
|
||||
}, function(err, res, body) {
|
||||
console.log('[clilib.js.123:err:]',err, body); //TODO
|
||||
if (err) return cb(err);
|
||||
if (res.statusCode != 200) {
|
||||
_parseError(body);
|
||||
|
|
|
@ -5,6 +5,7 @@ var levelup = require('levelup');
|
|||
var async = require('async');
|
||||
var $ = require('preconditions').singleton();
|
||||
var log = require('npmlog');
|
||||
var util = require('util');
|
||||
log.debug = log.verbose;
|
||||
|
||||
var Wallet = require('./model/wallet');
|
||||
|
@ -195,8 +196,8 @@ Storage.prototype.fetchNotifications = function(walletId, opts, cb) {
|
|||
var txs = [];
|
||||
opts = opts || {};
|
||||
opts.limit = _.isNumber(opts.limit) ? parseInt(opts.limit) : -1;
|
||||
opts.minTs = _.isNumber(opts.minTs) ? zeroPad(opts.minTs,11) : 0;
|
||||
opts.maxTs = _.isNumber(opts.maxTs) ? zeroPad(opts.maxTs,11) : MAX_TS;
|
||||
opts.minTs = _.isNumber(opts.minTs) ? zeroPad(opts.minTs, 11) : 0;
|
||||
opts.maxTs = _.isNumber(opts.maxTs) ? zeroPad(opts.maxTs, 11) : MAX_TS;
|
||||
|
||||
var key = KEY.NOTIFICATION(walletId, opts.minTs);
|
||||
var endkey = KEY.NOTIFICATION(walletId, opts.maxTs);
|
||||
|
@ -380,7 +381,11 @@ Storage.prototype._dump = function(cb, fn) {
|
|||
fn = fn || console.log;
|
||||
|
||||
this.db.readStream()
|
||||
.on('data', fn)
|
||||
.on('data', function(data) {
|
||||
fn(util.inspect(data, {
|
||||
depth: 10
|
||||
}));
|
||||
})
|
||||
.on('end', function() {
|
||||
if (cb) return cb();
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue