one wallet by default
This commit is contained in:
parent
606ea0668c
commit
508a8bfc3c
6 changed files with 25 additions and 10 deletions
|
|
@ -3,7 +3,7 @@ var defaultConfig = {
|
||||||
defaultLanguage: 'en',
|
defaultLanguage: 'en',
|
||||||
// DEFAULT network (livenet or testnet)
|
// DEFAULT network (livenet or testnet)
|
||||||
networkName: 'livenet',
|
networkName: 'livenet',
|
||||||
logLevel: 'info',
|
logLevel: 'debug',
|
||||||
|
|
||||||
|
|
||||||
// wallet limits
|
// wallet limits
|
||||||
|
|
|
||||||
|
|
@ -106,13 +106,28 @@ Identity._profileOpen = function(e, p, s, cb) {
|
||||||
* @return {undefined}
|
* @return {undefined}
|
||||||
*/
|
*/
|
||||||
Identity.create = function(email, password, opts, cb) {
|
Identity.create = function(email, password, opts, cb) {
|
||||||
|
opts = opts || {};
|
||||||
|
|
||||||
var iden = new Identity(email, password, opts);
|
var iden = new Identity(email, password, opts);
|
||||||
|
|
||||||
Identity._createProfile(email, password, iden.storage, function(err, profile) {
|
Identity._createProfile(email, password, iden.storage, function(err, profile) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
|
|
||||||
iden.profile = profile;
|
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);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ function Profile(info, storage) {
|
||||||
preconditions.checkArgument(info.email);
|
preconditions.checkArgument(info.email);
|
||||||
preconditions.checkArgument(info.hash);
|
preconditions.checkArgument(info.hash);
|
||||||
preconditions.checkArgument(storage);
|
preconditions.checkArgument(storage);
|
||||||
preconditions.checkArgument(storage.getItem);
|
preconditions.checkArgument(storage.setPassphrase, 'bad storage');
|
||||||
|
|
||||||
this.hash = info.hash;
|
this.hash = info.hash;
|
||||||
this.email = info.email;
|
this.email = info.email;
|
||||||
|
|
@ -34,8 +34,7 @@ Profile.create = function(email, password, storage, cb) {
|
||||||
email: email,
|
email: email,
|
||||||
hash: Profile.hash(email,password),
|
hash: Profile.hash(email,password),
|
||||||
}, storage);
|
}, storage);
|
||||||
|
p.store({}, cb);
|
||||||
p.store(cb);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Profile.open = function(email, password, storage, cb) {
|
Profile.open = function(email, password, storage, cb) {
|
||||||
|
|
@ -118,6 +117,7 @@ Profile.prototype.store = function(opts, cb) {
|
||||||
var key = self.key;
|
var key = self.key;
|
||||||
|
|
||||||
self.storage.get(key, function(val2) {
|
self.storage.get(key, function(val2) {
|
||||||
|
|
||||||
if (val2 && !opts.overwrite) {
|
if (val2 && !opts.overwrite) {
|
||||||
if (cb)
|
if (cb)
|
||||||
return cb(new Error('PEXISTS: Profile already exist'))
|
return cb(new Error('PEXISTS: Profile already exist'))
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ function Storage(opts) {
|
||||||
this.db = opts.db || localStorage;
|
this.db = opts.db || localStorage;
|
||||||
this.sessionStorage = opts.sessionStorage || sessionStorage;
|
this.sessionStorage = opts.sessionStorage || sessionStorage;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log('Error in storage:', e); //TODO
|
console.log('Error in storage:', e);
|
||||||
};
|
};
|
||||||
|
|
||||||
preconditions.checkState(this.db, 'No db defined');
|
preconditions.checkState(this.db, 'No db defined');
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ describe('Identity model', function() {
|
||||||
iden.createWallet({
|
iden.createWallet({
|
||||||
privateKeyHex: priv,
|
privateKeyHex: priv,
|
||||||
}, function(err, w) {
|
}, 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);
|
should.not.exist(err);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
@ -253,7 +253,7 @@ describe('Identity model', function() {
|
||||||
iden.openWallet('dummy', 'xxx', function(err, w) {
|
iden.openWallet('dummy', 'xxx', function(err, w) {
|
||||||
should.not.exist(err);
|
should.not.exist(err);
|
||||||
w.store.calledOnce.should.equal(true);
|
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);
|
iden.migrateWallet.calledOnce.should.equal(true);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ describe('Profile model', function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
storage.getItem = sinon.stub();
|
storage.setPassphrase = sinon.stub();
|
||||||
storage.set = sinon.stub();
|
storage.set = sinon.stub();
|
||||||
storage.set.yields(null);
|
storage.set.yields(null);
|
||||||
storage.get = sinon.stub().yields(null);
|
storage.get = sinon.stub().yields(null);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue