one wallet by default

This commit is contained in:
Matias Alejo Garcia 2014-09-30 16:04:17 -03:00
commit 508a8bfc3c
6 changed files with 25 additions and 10 deletions

View file

@ -3,7 +3,7 @@ var defaultConfig = {
defaultLanguage: 'en',
// DEFAULT network (livenet or testnet)
networkName: 'livenet',
logLevel: 'info',
logLevel: 'debug',
// wallet limits

View file

@ -106,13 +106,28 @@ Identity._profileOpen = function(e, p, s, cb) {
* @return {undefined}
*/
Identity.create = function(email, password, opts, cb) {
opts = opts || {};
var iden = new Identity(email, password, opts);
Identity._createProfile(email, password, iden.storage, function(err, profile) {
if (err) return cb(err);
iden.profile = profile;
return cb(null, iden);
if (opts.noWallets)
cb(null, iden);
// default wallet
var wopts = {
nickname: email,
networkName: opts.networkName,
requiredCopayers: 1,
totalCopayers: 1,
};
iden.createWallet(wopts, function(err, w) {
return cb(null, iden, w);
});
});
};

View file

@ -8,7 +8,7 @@ function Profile(info, storage) {
preconditions.checkArgument(info.email);
preconditions.checkArgument(info.hash);
preconditions.checkArgument(storage);
preconditions.checkArgument(storage.getItem);
preconditions.checkArgument(storage.setPassphrase, 'bad storage');
this.hash = info.hash;
this.email = info.email;
@ -34,8 +34,7 @@ Profile.create = function(email, password, storage, cb) {
email: email,
hash: Profile.hash(email,password),
}, storage);
p.store(cb);
p.store({}, cb);
};
Profile.open = function(email, password, storage, cb) {
@ -118,6 +117,7 @@ Profile.prototype.store = function(opts, cb) {
var key = self.key;
self.storage.get(key, function(val2) {
if (val2 && !opts.overwrite) {
if (cb)
return cb(new Error('PEXISTS: Profile already exist'))

View file

@ -27,7 +27,7 @@ function Storage(opts) {
this.db = opts.db || localStorage;
this.sessionStorage = opts.sessionStorage || sessionStorage;
} catch (e) {
console.log('Error in storage:', e); //TODO
console.log('Error in storage:', e);
};
preconditions.checkState(this.db, 'No db defined');

View file

@ -191,7 +191,7 @@ describe('Identity model', function() {
iden.createWallet({
privateKeyHex: priv,
}, function(err, w) {
Identity._newWallet.getCall(0).args[0].privateKey.toObj().extendedPrivateKeyString.should.equal(priv);
Identity._newWallet.getCall(1).args[0].privateKey.toObj().extendedPrivateKeyString.should.equal(priv);
should.not.exist(err);
done();
});
@ -253,7 +253,7 @@ describe('Identity model', function() {
iden.openWallet('dummy', 'xxx', function(err, w) {
should.not.exist(err);
w.store.calledOnce.should.equal(true);
iden.profile.setLastOpenedTs.calledOnce.should.equal(true);
iden.profile.setLastOpenedTs.calledTwice.should.equal(true);
iden.migrateWallet.calledOnce.should.equal(true);
done();
});

View file

@ -19,7 +19,7 @@ describe('Profile model', function() {
};
beforeEach(function() {
storage.getItem = sinon.stub();
storage.setPassphrase = sinon.stub();
storage.set = sinon.stub();
storage.set.yields(null);
storage.get = sinon.stub().yields(null);