From 16f8fef00b55c64106875f7598632f9e38b1c36e Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 3 Oct 2016 14:50:19 -0700 Subject: [PATCH] hd: fix HD.from. --- lib/hd/hd.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/hd/hd.js b/lib/hd/hd.js index 388abb95..3b1c2ae8 100644 --- a/lib/hd/hd.js +++ b/lib/hd/hd.js @@ -112,26 +112,21 @@ HD.fromExtended = function fromExtended(data) { */ HD.from = function from(options, network) { - var xkey; - assert(options, 'Options required.'); - if (options.xkey) - xkey = options.xkey; - else if (options.xpubkey) - xkey = options.xpubkey; - else if (options.xprivkey) - xkey = options.xprivkey; - else - xkey = options; + if (HD.isHD(options)) + return options; - if (HD.isExtended(xkey)) - return HD.fromBase58(xkey); + if (HD.isExtended(options)) + return HD.fromBase58(options); if (HD.hasPrefix(options)) return HD.fromRaw(options); - return HD.fromMnemonic(options, network); + if (options && typeof options === 'object') + return HD.fromMnemonic(options, network); + + throw new Error('Cannot create HD key from bad options.'); }; /**