From d5f76e8517ff17ee50e2cd08afd1975bdaa56993 Mon Sep 17 00:00:00 2001 From: Yemel Jardi Date: Tue, 30 Dec 2014 18:44:27 -0300 Subject: [PATCH] Fix creation of a randomn testnet private key --- lib/privatekey.js | 5 ++++- test/privatekey.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/privatekey.js b/lib/privatekey.js index c0569fe54..794860ca1 100644 --- a/lib/privatekey.js +++ b/lib/privatekey.js @@ -97,7 +97,7 @@ PrivateKey.prototype._classifyArguments = function(data, network) { }; // detect type of data - if (_.isUndefined(data)){ + if (_.isUndefined(data) || _.isNull(data)){ info.bn = PrivateKey._getRandomBN(); } else if (data instanceof BN) { info.bn = data; @@ -105,6 +105,9 @@ PrivateKey.prototype._classifyArguments = function(data, network) { info = PrivateKey._transformBuffer(data, network); } else if (PrivateKey._isJSON(data)){ info = PrivateKey._transformJSON(data); + } else if (!network && Networks.get(data)) { + info.bn = PrivateKey._getRandomBN(); + info.network = Networks.get(data); } else if (typeof(data) === 'string'){ if (JSUtil.isHexa(data)) { info.bn = BN(new Buffer(data, 'hex')); diff --git a/test/privatekey.js b/test/privatekey.js index 6ecda31f9..6aaaa1d86 100644 --- a/test/privatekey.js +++ b/test/privatekey.js @@ -31,6 +31,24 @@ describe('PrivateKey', function() { should.exist(b.bn); }); + it('should create a new random testnet private key with only one argument', function() { + var a = new PrivateKey(Networks.testnet); + should.exist(a); + should.exist(a.bn); + var b = PrivateKey(Networks.testnet); + should.exist(b); + should.exist(b.bn); + }); + + it('should create a new random testnet private key with an empty data', function() { + var a = new PrivateKey(null, Networks.testnet); + should.exist(a); + should.exist(a.bn); + var b = PrivateKey(null, Networks.testnet); + should.exist(b); + should.exist(b.bn); + }); + it('should create a private key from WIF string', function() { var a = new PrivateKey('L3T1s1TYP9oyhHpXgkyLoJFGniEgkv2Jhi138d7R2yJ9F4QdDU2m'); should.exist(a);