mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #1466 from matiaspando/moveFiles
Move files to /js/models
This commit is contained in:
commit
ed5c4774af
2
API.js
2
API.js
|
@ -1,4 +1,4 @@
|
||||||
var WalletFactory = require('./js/models/core/WalletFactory');
|
var WalletFactory = require('./js/models/WalletFactory');
|
||||||
|
|
||||||
var API = function(opts) {
|
var API = function(opts) {
|
||||||
this._init(opts);
|
this._init(opts);
|
||||||
|
|
|
@ -64,7 +64,6 @@ module.exports = function(grunt) {
|
||||||
},
|
},
|
||||||
scripts: {
|
scripts: {
|
||||||
files: [
|
files: [
|
||||||
'js/models/**/*.js',
|
|
||||||
'js/models/*.js',
|
'js/models/*.js',
|
||||||
'plugins/*.js',
|
'plugins/*.js',
|
||||||
],
|
],
|
||||||
|
@ -201,8 +200,8 @@ module.exports = function(grunt) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
jsdoc: {
|
jsdoc: {
|
||||||
dist : {
|
dist: {
|
||||||
src: ['js/models/core/*.js', 'js/models/*.js', 'plugins/*.js'],
|
src: ['js/models/*.js', 'plugins/*.js'],
|
||||||
options: {
|
options: {
|
||||||
destination: 'doc',
|
destination: 'doc',
|
||||||
configure: 'jsdoc.conf.json',
|
configure: 'jsdoc.conf.json',
|
||||||
|
|
26
copay.js
26
copay.js
|
@ -1,22 +1,22 @@
|
||||||
// core
|
// core
|
||||||
module.exports.PublicKeyRing = require('./js/models/core/PublicKeyRing');
|
module.exports.PublicKeyRing = require('./js/models/PublicKeyRing');
|
||||||
module.exports.TxProposal = require('./js/models/core/TxProposal');
|
module.exports.TxProposal = require('./js/models/TxProposal');
|
||||||
module.exports.TxProposals = require('./js/models/core/TxProposals');
|
module.exports.TxProposals = require('./js/models/TxProposals');
|
||||||
module.exports.PrivateKey = require('./js/models/core/PrivateKey');
|
module.exports.PrivateKey = require('./js/models/PrivateKey');
|
||||||
module.exports.Passphrase = require('./js/models/core/Passphrase');
|
module.exports.Passphrase = require('./js/models/Passphrase');
|
||||||
module.exports.HDPath = require('./js/models/core/HDPath');
|
module.exports.HDPath = require('./js/models/HDPath');
|
||||||
module.exports.HDParams = require('./js/models/core/HDParams');
|
module.exports.HDParams = require('./js/models/HDParams');
|
||||||
|
|
||||||
|
|
||||||
// components
|
// components
|
||||||
var Async = module.exports.Async = require('./js/models/network/Async');
|
var Async = module.exports.Async = require('./js/models/Async');
|
||||||
var Insight = module.exports.Insight = require('./js/models/blockchain/Insight');
|
var Insight = module.exports.Insight = require('./js/models/Insight');
|
||||||
var Storage = module.exports.Storage = require('./js/models/Storage');
|
var Storage = module.exports.Storage = require('./js/models/Storage');
|
||||||
|
|
||||||
module.exports.WalletFactory = require('./js/models/core/WalletFactory');
|
module.exports.WalletFactory = require('./js/models/WalletFactory');
|
||||||
module.exports.Wallet = require('./js/models/core/Wallet');
|
module.exports.Wallet = require('./js/models/Wallet');
|
||||||
module.exports.WalletLock = require('./js/models/core/WalletLock');
|
module.exports.WalletLock = require('./js/models/WalletLock');
|
||||||
module.exports.PluginManager = require('./js/models/core/PluginManager');
|
module.exports.PluginManager = require('./js/models/PluginManager');
|
||||||
module.exports.version = require('./version').version;
|
module.exports.version = require('./version').version;
|
||||||
module.exports.commitHash = require('./version').commitHash;
|
module.exports.commitHash = require('./version').commitHash;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
var AuthMessage = bitcore.AuthMessage;
|
var AuthMessage = bitcore.AuthMessage;
|
||||||
var util = bitcore.util;
|
var util = bitcore.util;
|
||||||
var nodeUtil = require('util');
|
var nodeUtil = require('util');
|
||||||
|
@ -236,7 +236,7 @@ Network.prototype._setupConnectionHandlers = function(opts, cb) {
|
||||||
});
|
});
|
||||||
|
|
||||||
self.socket.on('subscribed', function(m) {
|
self.socket.on('subscribed', function(m) {
|
||||||
var fromTs = (opts.lastTimestamp||0) + 1;
|
var fromTs = (opts.lastTimestamp || 0) + 1;
|
||||||
self.socket.emit('sync', fromTs);
|
self.socket.emit('sync', fromTs);
|
||||||
self.started = true;
|
self.started = true;
|
||||||
});
|
});
|
|
@ -5,7 +5,7 @@ var async = require('async');
|
||||||
var request = require('request');
|
var request = require('request');
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
var io = require('socket.io-client');
|
var io = require('socket.io-client');
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var preconditions = require('preconditions').singleton();
|
var preconditions = require('preconditions').singleton();
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
var preconditions = require('preconditions').singleton();
|
var preconditions = require('preconditions').singleton();
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
|
|
||||||
function PluginManager(config) {
|
function PluginManager(config) {
|
||||||
this.registered = {};
|
this.registered = {};
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
var preconditions = require('preconditions').instance();
|
var preconditions = require('preconditions').instance();
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
var HK = bitcore.HierarchicalKey;
|
var HK = bitcore.HierarchicalKey;
|
||||||
var Address = bitcore.Address;
|
var Address = bitcore.Address;
|
||||||
|
@ -40,7 +40,7 @@ function PublicKeyRing(opts) {
|
||||||
|
|
||||||
this.indexes = opts.indexes ? HDParams.fromList(opts.indexes) : HDParams.init(this.totalCopayers);
|
this.indexes = opts.indexes ? HDParams.fromList(opts.indexes) : HDParams.init(this.totalCopayers);
|
||||||
|
|
||||||
this.publicKeysCache = {};
|
this.publicKeysCache = {};
|
||||||
this.nicknameFor = opts.nicknameFor || {};
|
this.nicknameFor = opts.nicknameFor || {};
|
||||||
this.copayerIds = [];
|
this.copayerIds = [];
|
||||||
this.copayersBackup = opts.copayersBackup || [];
|
this.copayersBackup = opts.copayersBackup || [];
|
||||||
|
@ -68,10 +68,10 @@ function PublicKeyRing(opts) {
|
||||||
* as a parameter
|
* as a parameter
|
||||||
*/
|
*/
|
||||||
PublicKeyRing.trim = function(data) {
|
PublicKeyRing.trim = function(data) {
|
||||||
var opts = {};
|
var opts = {};
|
||||||
['walletId', 'networkName', 'requiredCopayers', 'totalCopayers',
|
['walletId', 'networkName', 'requiredCopayers', 'totalCopayers',
|
||||||
'indexes','nicknameFor','copayersBackup', 'copayersExtPubKeys'
|
'indexes', 'nicknameFor', 'copayersBackup', 'copayersExtPubKeys'
|
||||||
].forEach(function(k){
|
].forEach(function(k) {
|
||||||
opts[k] = data[k];
|
opts[k] = data[k];
|
||||||
});
|
});
|
||||||
return opts;
|
return opts;
|
||||||
|
@ -259,7 +259,9 @@ PublicKeyRing.prototype.addCopayer = function(newHexaExtendedPublicKey, nickname
|
||||||
preconditions.checkArgument(!this.isComplete());
|
preconditions.checkArgument(!this.isComplete());
|
||||||
preconditions.checkArgument(!nickname || _.isString(nickname));
|
preconditions.checkArgument(!nickname || _.isString(nickname));
|
||||||
preconditions.checkArgument(!_.any(this.copayersHK,
|
preconditions.checkArgument(!_.any(this.copayersHK,
|
||||||
function(copayer) { return copayer.extendedPublicKeyString === newHexaExtendedPublicKey; }
|
function(copayer) {
|
||||||
|
return copayer.extendedPublicKeyString === newHexaExtendedPublicKey;
|
||||||
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
var newCopayerIndex = this.copayersHK.length;
|
var newCopayerIndex = this.copayersHK.length;
|
||||||
|
@ -564,17 +566,18 @@ PublicKeyRing.prototype.copayersForPubkeys = function(pubkeys, paths) {
|
||||||
preconditions.checkArgument(pubkeys);
|
preconditions.checkArgument(pubkeys);
|
||||||
preconditions.checkArgument(paths);
|
preconditions.checkArgument(paths);
|
||||||
|
|
||||||
var inKeyMap = {}, ret = {};
|
var inKeyMap = {},
|
||||||
for(var i in pubkeys ){
|
ret = {};
|
||||||
|
for (var i in pubkeys) {
|
||||||
inKeyMap[pubkeys[i]] = 1;
|
inKeyMap[pubkeys[i]] = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
var keys = this.getForPaths(paths);
|
var keys = this.getForPaths(paths);
|
||||||
for(var i in keys ){
|
for (var i in keys) {
|
||||||
for(var copayerIndex in keys[i] ){
|
for (var copayerIndex in keys[i]) {
|
||||||
var kHex = keys[i][copayerIndex].toString('hex');
|
var kHex = keys[i][copayerIndex].toString('hex');
|
||||||
if (inKeyMap[kHex]) {
|
if (inKeyMap[kHex]) {
|
||||||
ret[kHex] =this.copayerIds[copayerIndex];
|
ret[kHex] = this.copayerIds[copayerIndex];
|
||||||
delete inKeyMap[kHex];
|
delete inKeyMap[kHex];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -628,17 +631,17 @@ PublicKeyRing.prototype._checkInPKR = function(inPKR, ignoreId) {
|
||||||
|
|
||||||
if (this.network.name !== inPKR.network.name)
|
if (this.network.name !== inPKR.network.name)
|
||||||
throw new Error('Network mismatch. Should be ' + this.network.name +
|
throw new Error('Network mismatch. Should be ' + this.network.name +
|
||||||
' and found ' + inPKR.network.name);
|
' and found ' + inPKR.network.name);
|
||||||
|
|
||||||
if (this.requiredCopayers && inPKR.requiredCopayers &&
|
if (this.requiredCopayers && inPKR.requiredCopayers &&
|
||||||
(this.requiredCopayers !== inPKR.requiredCopayers))
|
(this.requiredCopayers !== inPKR.requiredCopayers))
|
||||||
throw new Error('inPKR requiredCopayers mismatch ' + this.requiredCopayers +
|
throw new Error('inPKR requiredCopayers mismatch ' + this.requiredCopayers +
|
||||||
'!=' + inPKR.requiredCopayers);
|
'!=' + inPKR.requiredCopayers);
|
||||||
|
|
||||||
if (this.totalCopayers && inPKR.totalCopayers &&
|
if (this.totalCopayers && inPKR.totalCopayers &&
|
||||||
this.totalCopayers !== inPKR.totalCopayers)
|
this.totalCopayers !== inPKR.totalCopayers)
|
||||||
throw new Error('inPKR totalCopayers mismatch' + this.totalCopayers +
|
throw new Error('inPKR totalCopayers mismatch' + this.totalCopayers +
|
||||||
'!=' + inPKR.requiredCopayers);
|
'!=' + inPKR.requiredCopayers);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@ -659,7 +662,9 @@ PublicKeyRing.prototype._mergePubkeys = function(inPKR) {
|
||||||
|
|
||||||
inPKR.copayersHK.forEach(function(b) {
|
inPKR.copayersHK.forEach(function(b) {
|
||||||
var epk = b.extendedPublicKeyString();
|
var epk = b.extendedPublicKeyString();
|
||||||
var haveIt = _.any(self.copayersHK, function(hk) { return hk.extendedPublicKeyString() === epk; });
|
var haveIt = _.any(self.copayersHK, function(hk) {
|
||||||
|
return hk.extendedPublicKeyString() === epk;
|
||||||
|
});
|
||||||
|
|
||||||
if (!haveIt) {
|
if (!haveIt) {
|
||||||
if (self.isComplete()) {
|
if (self.isComplete()) {
|
|
@ -17,7 +17,7 @@ var Base58Check = bitcore.Base58.base58Check;
|
||||||
var Address = bitcore.Address;
|
var Address = bitcore.Address;
|
||||||
var PayPro = bitcore.PayPro;
|
var PayPro = bitcore.PayPro;
|
||||||
var Transaction = bitcore.Transaction;
|
var Transaction = bitcore.Transaction;
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
|
|
||||||
var HDParams = require('./HDParams');
|
var HDParams = require('./HDParams');
|
||||||
var PublicKeyRing = require('./PublicKeyRing');
|
var PublicKeyRing = require('./PublicKeyRing');
|
||||||
|
@ -25,7 +25,7 @@ var TxProposal = require('./TxProposal');
|
||||||
var TxProposals = require('./TxProposals');
|
var TxProposals = require('./TxProposals');
|
||||||
var PrivateKey = require('./PrivateKey');
|
var PrivateKey = require('./PrivateKey');
|
||||||
var WalletLock = require('./WalletLock');
|
var WalletLock = require('./WalletLock');
|
||||||
var copayConfig = require('../../../config');
|
var copayConfig = require('../../config');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @desc
|
* @desc
|
||||||
|
@ -2382,7 +2382,7 @@ Wallet.prototype.indexDiscovery = function(start, change, copayerIndex, gap, cb)
|
||||||
* @desc Closes the wallet and disconnects all services
|
* @desc Closes the wallet and disconnects all services
|
||||||
*/
|
*/
|
||||||
Wallet.prototype.close = function(cb) {
|
Wallet.prototype.close = function(cb) {
|
||||||
var self =this;
|
var self = this;
|
||||||
log.debug('## CLOSING');
|
log.debug('## CLOSING');
|
||||||
this.lock.release(function() {
|
this.lock.release(function() {
|
||||||
self.network.cleanUp();
|
self.network.cleanUp();
|
|
@ -6,12 +6,12 @@ var PublicKeyRing = require('./PublicKeyRing');
|
||||||
var PrivateKey = require('./PrivateKey');
|
var PrivateKey = require('./PrivateKey');
|
||||||
var Wallet = require('./Wallet');
|
var Wallet = require('./Wallet');
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var log = require('../../log');
|
var log = require('../log');
|
||||||
var PluginManager = require('./PluginManager');
|
var PluginManager = require('./PluginManager');
|
||||||
var Async = module.exports.Async = require('../network/Async');
|
var Async = module.exports.Async = require('./Async');
|
||||||
var Insight = module.exports.Insight = require('../blockchain/Insight');
|
var Insight = module.exports.Insight = require('./Insight');
|
||||||
var preconditions = require('preconditions').singleton();
|
var preconditions = require('preconditions').singleton();
|
||||||
var Storage = module.exports.Storage = require('../Storage');
|
var Storage = module.exports.Storage = require('./Storage');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @desc
|
* @desc
|
||||||
|
@ -427,7 +427,7 @@ WalletFactory.prototype.joinCreateSession = function(opts, cb) {
|
||||||
return cb('badNetwork');
|
return cb('badNetwork');
|
||||||
}
|
}
|
||||||
|
|
||||||
var walletOpts = _.clone(data.opts);
|
var walletOpts = _.clone(data.opts);
|
||||||
walletOpts.id = data.walletId;
|
walletOpts.id = data.walletId;
|
||||||
|
|
||||||
walletOpts.privateKey = privateKey;
|
walletOpts.privateKey = privateKey;
|
|
@ -8,7 +8,7 @@ try {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
var copay = require('../copay'); //node
|
var copay = require('../copay'); //node
|
||||||
}
|
}
|
||||||
var HDPath = require('../js/models/core/HDPath');
|
var HDPath = require('../js/models/HDPath');
|
||||||
|
|
||||||
describe('HDPath model', function() {
|
describe('HDPath model', function() {
|
||||||
it('should have the correct constants', function() {
|
it('should have the correct constants', function() {
|
||||||
|
@ -40,33 +40,33 @@ describe('HDPath model', function() {
|
||||||
|
|
||||||
[
|
[
|
||||||
['m/45\'/0/0/0', {
|
['m/45\'/0/0/0', {
|
||||||
index: 0,
|
index: 0,
|
||||||
isChange: false
|
isChange: false
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/0/1', {
|
['m/45\'/0/0/1', {
|
||||||
index: 1,
|
index: 1,
|
||||||
isChange: false
|
isChange: false
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/0/2', {
|
['m/45\'/0/0/2', {
|
||||||
index: 2,
|
index: 2,
|
||||||
isChange: false
|
isChange: false
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/1/0', {
|
['m/45\'/0/1/0', {
|
||||||
index: 0,
|
index: 0,
|
||||||
isChange: true
|
isChange: true
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/1/1', {
|
['m/45\'/0/1/1', {
|
||||||
index: 1,
|
index: 1,
|
||||||
isChange: true
|
isChange: true
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/1/2', {
|
['m/45\'/0/1/2', {
|
||||||
index: 2,
|
index: 2,
|
||||||
isChange: true
|
isChange: true
|
||||||
}],
|
}],
|
||||||
['m/45\'/0/0/900', {
|
['m/45\'/0/0/900', {
|
||||||
index: 900,
|
index: 900,
|
||||||
isChange: false
|
isChange: false
|
||||||
}],
|
}],
|
||||||
].forEach(function(datum) {
|
].forEach(function(datum) {
|
||||||
var path = datum[0];
|
var path = datum[0];
|
||||||
var result = datum[1];
|
var result = datum[1];
|
||||||
|
|
|
@ -16,7 +16,7 @@ try {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
var copay = require('../copay'); //node
|
var copay = require('../copay'); //node
|
||||||
}
|
}
|
||||||
var PrivateKey = copay.PrivateKey || require('../js/models/core/PrivateKey');
|
var PrivateKey = copay.PrivateKey || require('../js/models/PrivateKey');
|
||||||
|
|
||||||
var pkConfig = {
|
var pkConfig = {
|
||||||
networkName: 'livenet',
|
networkName: 'livenet',
|
||||||
|
@ -33,7 +33,7 @@ describe('PrivateKey model', function() {
|
||||||
|
|
||||||
it('should derive priv keys', function() {
|
it('should derive priv keys', function() {
|
||||||
var pk = new PrivateKey(pkConfig);
|
var pk = new PrivateKey(pkConfig);
|
||||||
for (var j = false; !j; j=true) {
|
for (var j = false; !j; j = true) {
|
||||||
for (var i = 0; i < 3; i++) {
|
for (var i = 0; i < 3; i++) {
|
||||||
var wk = pk.get(i, j);
|
var wk = pk.get(i, j);
|
||||||
should.exist(wk);
|
should.exist(wk);
|
||||||
|
|
|
@ -6,7 +6,7 @@ var bitcore = bitcore || require('bitcore');
|
||||||
var Address = bitcore.Address;
|
var Address = bitcore.Address;
|
||||||
var buffertools = bitcore.buffertools;
|
var buffertools = bitcore.buffertools;
|
||||||
|
|
||||||
var HDPath = require('../js/models/core/HDPath');
|
var HDPath = require('../js/models/HDPath');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var copay = require('copay'); //browser
|
var copay = require('copay'); //browser
|
||||||
|
@ -21,10 +21,10 @@ var aMasterPubKey = 'tprv8ZgxMBicQKsPdSVTiWXEqCCzqRaRr9EAQdn5UVMpT9UHX67Dh1FmzEM
|
||||||
|
|
||||||
var getNewEpk = function() {
|
var getNewEpk = function() {
|
||||||
return new PrivateKey({
|
return new PrivateKey({
|
||||||
networkName: 'livenet',
|
networkName: 'livenet',
|
||||||
})
|
})
|
||||||
.deriveBIP45Branch()
|
.deriveBIP45Branch()
|
||||||
.extendedPublicKeyString();
|
.extendedPublicKeyString();
|
||||||
}
|
}
|
||||||
|
|
||||||
var createW = function(networkName) {
|
var createW = function(networkName) {
|
||||||
|
@ -53,7 +53,7 @@ var createW = function(networkName) {
|
||||||
};
|
};
|
||||||
|
|
||||||
var cachedW;
|
var cachedW;
|
||||||
var getCachedW = function() {
|
var getCachedW = function() {
|
||||||
if (!cachedW) {
|
if (!cachedW) {
|
||||||
cachedW = createW();
|
cachedW = createW();
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ describe('PublicKeyRing model', function() {
|
||||||
a.network().name.should.equal('livenet');
|
a.network().name.should.equal('livenet');
|
||||||
if (i > 1) {
|
if (i > 1) {
|
||||||
w.getAddress(i - 1, isChange).toString().should
|
w.getAddress(i - 1, isChange).toString().should
|
||||||
.not.equal(w.getAddress(i - 2, isChange).toString());
|
.not.equal(w.getAddress(i - 2, isChange).toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -193,9 +193,9 @@ describe('PublicKeyRing model', function() {
|
||||||
var w = k.w;
|
var w = k.w;
|
||||||
|
|
||||||
for (var i = 0; i < 3; i++)
|
for (var i = 0; i < 3; i++)
|
||||||
w.generateAddress(true, k.pub);
|
w.generateAddress(true, k.pub);
|
||||||
for (var i = 0; i < 2; i++)
|
for (var i = 0; i < 2; i++)
|
||||||
w.generateAddress(false, k.pub);
|
w.generateAddress(false, k.pub);
|
||||||
|
|
||||||
w.getHDParams(k.pub).getChangeIndex().should.equal(3);
|
w.getHDParams(k.pub).getChangeIndex().should.equal(3);
|
||||||
w.getHDParams(k.pub).getReceiveIndex().should.equal(2);
|
w.getHDParams(k.pub).getReceiveIndex().should.equal(2);
|
||||||
|
@ -258,9 +258,9 @@ describe('PublicKeyRing model', function() {
|
||||||
var w = k.w;
|
var w = k.w;
|
||||||
|
|
||||||
for (var i = 0; i < 2; i++)
|
for (var i = 0; i < 2; i++)
|
||||||
w.generateAddress(true, k.pub);
|
w.generateAddress(true, k.pub);
|
||||||
for (var i = 0; i < 3; i++)
|
for (var i = 0; i < 3; i++)
|
||||||
w.generateAddress(false, k.pub);
|
w.generateAddress(false, k.pub);
|
||||||
|
|
||||||
var w2 = new PublicKeyRing({
|
var w2 = new PublicKeyRing({
|
||||||
networkName: 'livenet',
|
networkName: 'livenet',
|
||||||
|
@ -327,7 +327,7 @@ describe('PublicKeyRing model', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
for (var i = 0; i < 5; i++)
|
for (var i = 0; i < 5; i++)
|
||||||
w0.addCopayer(getNewEpk());
|
w0.addCopayer(getNewEpk());
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
w0.merge(w);
|
w0.merge(w);
|
||||||
|
@ -441,11 +441,9 @@ describe('PublicKeyRing model', function() {
|
||||||
};
|
};
|
||||||
var pkr = new PublicKeyRing(config);
|
var pkr = new PublicKeyRing(config);
|
||||||
|
|
||||||
(function ()
|
(function() {
|
||||||
{
|
|
||||||
PublicKeyRing.fromObj(pkr);
|
PublicKeyRing.fromObj(pkr);
|
||||||
}
|
}).should.throw('bad data format: Did you use .toObj()?');
|
||||||
).should.throw('bad data format: Did you use .toObj()?');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -499,9 +497,9 @@ describe('PublicKeyRing model', function() {
|
||||||
var amount = 2;
|
var amount = 2;
|
||||||
|
|
||||||
for (var i = 0; i < amount; i++)
|
for (var i = 0; i < amount; i++)
|
||||||
w.generateAddress(true, k.pub);
|
w.generateAddress(true, k.pub);
|
||||||
for (var i = 0; i < amount; i++)
|
for (var i = 0; i < amount; i++)
|
||||||
w.generateAddress(false, k.pub);
|
w.generateAddress(false, k.pub);
|
||||||
|
|
||||||
var m = w.getRedeemScriptMap([
|
var m = w.getRedeemScriptMap([
|
||||||
'm/45\'/2147483647/1/0',
|
'm/45\'/2147483647/1/0',
|
||||||
|
|
|
@ -10,18 +10,18 @@ var sinon = require('sinon');
|
||||||
var FakeNetwork = require('./mocks/FakeNetwork');
|
var FakeNetwork = require('./mocks/FakeNetwork');
|
||||||
var FakeBlockchain = require('./mocks/FakeBlockchain');
|
var FakeBlockchain = require('./mocks/FakeBlockchain');
|
||||||
var FakeStorage = function FakeStorage() {};
|
var FakeStorage = function FakeStorage() {};
|
||||||
var WalletFactory = require('../js/models/core/WalletFactory');
|
var WalletFactory = require('../js/models/WalletFactory');
|
||||||
var Passphrase = require('../js/models/core/Passphrase');
|
var Passphrase = require('../js/models/Passphrase');
|
||||||
var mockLocalStorage = require('./mocks/FakeLocalStorage');
|
var mockLocalStorage = require('./mocks/FakeLocalStorage');
|
||||||
var mockSessionStorage = require('./mocks/FakeLocalStorage');
|
var mockSessionStorage = require('./mocks/FakeLocalStorage');
|
||||||
|
|
||||||
|
|
||||||
var PERSISTED_PROPERTIES = (copay.Wallet || require('../js/models/core/Wallet')).PERSISTED_PROPERTIES;
|
var PERSISTED_PROPERTIES = (copay.Wallet || require('../js/models/Wallet')).PERSISTED_PROPERTIES;
|
||||||
|
|
||||||
function assertObjectEqual(a, b) {
|
function assertObjectEqual(a, b) {
|
||||||
PERSISTED_PROPERTIES.forEach(function(k) {
|
PERSISTED_PROPERTIES.forEach(function(k) {
|
||||||
if (a[k] && b[k]) {
|
if (a[k] && b[k]) {
|
||||||
_.omit(a[k],'name').should.be.deep.equal(b[k], k + ' differs');
|
_.omit(a[k], 'name').should.be.deep.equal(b[k], k + ' differs');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
var chai = chai || require('chai');
|
var chai = chai || require('chai');
|
||||||
var should = chai.should();
|
var should = chai.should();
|
||||||
var PrivateKey = require('../js/models/core/PrivateKey');
|
var PrivateKey = require('../js/models/PrivateKey');
|
||||||
var PublicKeyRing = require('../js/models/core/PublicKeyRing');
|
var PublicKeyRing = require('../js/models/PublicKeyRing');
|
||||||
|
|
||||||
var getNewEpk = function() {
|
var getNewEpk = function() {
|
||||||
return new PrivateKey({
|
return new PrivateKey({
|
||||||
networkName: 'livenet',
|
networkName: 'livenet',
|
||||||
})
|
})
|
||||||
.deriveBIP45Branch()
|
.deriveBIP45Branch()
|
||||||
.extendedPublicKeyString();
|
.extendedPublicKeyString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,33 +58,33 @@ var createBundle = function(opts) {
|
||||||
expose: '../js/log'
|
expose: '../js/log'
|
||||||
});
|
});
|
||||||
// b.external('bitcore');
|
// b.external('bitcore');
|
||||||
b.require('./js/models/core/WalletFactory', {
|
b.require('./js/models/WalletFactory', {
|
||||||
expose: '../js/models/core/WalletFactory'
|
expose: '../js/models/WalletFactory'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/Wallet');
|
b.require('./js/models/Wallet');
|
||||||
b.require('./js/models/core/Wallet', {
|
b.require('./js/models/Wallet', {
|
||||||
expose: '../../js/models/core/Wallet'
|
expose: '../../js/models/Wallet'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/WalletLock', {
|
b.require('./js/models/WalletLock', {
|
||||||
expose: '../js/models/core/WalletLock'
|
expose: '../js/models/WalletLock'
|
||||||
});
|
});
|
||||||
b.require('./js/models/blockchain/Insight', {
|
b.require('./js/models/Insight', {
|
||||||
expose: '../js/models/blockchain/Insight'
|
expose: '../js/models/Insight'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/PrivateKey', {
|
b.require('./js/models/PrivateKey', {
|
||||||
expose: '../js/models/core/PrivateKey'
|
expose: '../js/models/PrivateKey'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/PublicKeyRing', {
|
b.require('./js/models/PublicKeyRing', {
|
||||||
expose: '../js/models/core/PublicKeyRing'
|
expose: '../js/models/PublicKeyRing'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/Passphrase', {
|
b.require('./js/models/Passphrase', {
|
||||||
expose: '../js/models/core/Passphrase'
|
expose: '../js/models/Passphrase'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/HDPath', {
|
b.require('./js/models/HDPath', {
|
||||||
expose: '../js/models/core/HDPath'
|
expose: '../js/models/HDPath'
|
||||||
});
|
});
|
||||||
b.require('./js/models/core/PluginManager', {
|
b.require('./js/models/PluginManager', {
|
||||||
expose: '../js/models/core/PluginManager'
|
expose: '../js/models/PluginManager'
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!opts.disablePlugins) {
|
if (!opts.disablePlugins) {
|
||||||
|
|
|
@ -6,14 +6,14 @@ var async = require('async');
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
var chai = require('chai');
|
var chai = require('chai');
|
||||||
var should = chai.should();
|
var should = chai.should();
|
||||||
var PublicKeyRing = require('../js/models/core/PublicKeyRing');
|
var PublicKeyRing = require('../js/models/PublicKeyRing');
|
||||||
var PrivateKey = require('../js/models/core/PrivateKey');
|
var PrivateKey = require('../js/models/PrivateKey');
|
||||||
|
|
||||||
var FakeNetwork = require('../test/mocks/FakeNetwork');
|
var FakeNetwork = require('../test/mocks/FakeNetwork');
|
||||||
var Insight = require('../js/models/blockchain/Insight');
|
var Insight = require('../js/models/blockchain/Insight');
|
||||||
var FakeStorage = require('../test/mocks/FakeStorage');
|
var FakeStorage = require('../test/mocks/FakeStorage');
|
||||||
|
|
||||||
var WalletFactory = require('soop').load('../js/models/core/WalletFactory', {
|
var WalletFactory = require('soop').load('../js/models/WalletFactory', {
|
||||||
Network: FakeNetwork,
|
Network: FakeNetwork,
|
||||||
Blockchain: Insight,
|
Blockchain: Insight,
|
||||||
Storage: FakeStorage,
|
Storage: FakeStorage,
|
||||||
|
@ -34,7 +34,7 @@ for (var n = 1; n <= N_LIMIT; n++) {
|
||||||
// case m-of-n
|
// case m-of-n
|
||||||
console.log('case ' + m + '-of-' + n);
|
console.log('case ' + m + '-of-' + n);
|
||||||
var pair = [m, n];
|
var pair = [m, n];
|
||||||
for (var iter = 0; iter <= ITERS*n; iter++) {
|
for (var iter = 0; iter <= ITERS * n; iter++) {
|
||||||
// create full pkr
|
// create full pkr
|
||||||
var publicKeyRing = new PublicKeyRing({
|
var publicKeyRing = new PublicKeyRing({
|
||||||
networkName: nn,
|
networkName: nn,
|
||||||
|
@ -108,11 +108,11 @@ for (var n = 1; n <= N_LIMIT; n++) {
|
||||||
|
|
||||||
}
|
}
|
||||||
var size = maxs[pair];
|
var size = maxs[pair];
|
||||||
console.log('\tmax size: '+size);
|
console.log('\tmax size: ' + size);
|
||||||
var m_valid = false;
|
var m_valid = false;
|
||||||
if (size < 500) {
|
if (size < 500) {
|
||||||
m_valid = true;
|
m_valid = true;
|
||||||
valid[[m,n]] = size;
|
valid[[m, n]] = size;
|
||||||
}
|
}
|
||||||
if (!m_valid) break;
|
if (!m_valid) break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue