This commit is contained in:
Matias Alejo Garcia 2015-02-12 23:57:16 -03:00
parent 6ca443bf58
commit ce8648a31d
9 changed files with 142 additions and 4 deletions

2
app.js
View File

@ -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,

14
bit-wallet/bit Executable file
View File

@ -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);

29
bit-wallet/bit-create Executable file
View File

@ -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);
});

10
bit-wallet/bit-create.js Normal file
View File

@ -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);

26
bit-wallet/bit-join Normal file
View File

@ -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);
});

20
bit-wallet/bit-status Normal file
View File

@ -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);
});

27
bit-wallet/common.js Normal file
View File

@ -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;

View File

@ -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);

View File

@ -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();
});