diff --git a/lib/networks.js b/lib/networks.js index 51062f060..96e6176f2 100644 --- a/lib/networks.js +++ b/lib/networks.js @@ -75,7 +75,7 @@ function addNetwork(data) { }); _.each(_.values(network), function(value) { - if (!_.isObject(value)) { + if (!_.isUndefined(value) && !_.isObject(value)) { networkMaps[value] = network; } }); diff --git a/test/networks.js b/test/networks.js index ddcd07a59..d019479ba 100644 --- a/test/networks.js +++ b/test/networks.js @@ -20,7 +20,7 @@ describe('Networks', function() { pubkeyhash: 0x10, privatekey: 0x90, scripthash: 0x08, - xpubkey: 0x0278b20e, + xpubkey: 0x0278b20e, xprivkey: 0x0278ade4, networkMagic: 0xe7beb4d4, port: 20001, @@ -40,6 +40,25 @@ describe('Networks', function() { } } }); + + it('should not set a network map for an undefined value', function() { + var custom = { + name: 'somenet', + pubkeyhash: 0x13, + privatekey: 0x93, + scripthash: 0x11, + xpubkey: 0x0278b20f, + xprivkey: 0x0278ade5, + networkMagic: 0xe7beb4d5, + port: 20008, + dnsSeeds: [ + 'somenet.localhost' + ] + }; + networks.add(custom); + var network = networks.get(undefined); + should.not.exist(network); + }); var constants = ['name', 'alias', 'pubkeyhash', 'scripthash', 'xpubkey', 'xprivkey'];