From 85711db3bbad8cbc1176410e4320aaa24b0bcee7 Mon Sep 17 00:00:00 2001 From: Sylvia G Date: Tue, 6 Apr 2021 03:18:04 +0300 Subject: [PATCH 1/2] fix bip85 mode to work without mnemonic (using xprv or entropy) --- src/js/index.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/js/index.js b/src/js/index.js index c502208..9a32cbc 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -495,13 +495,12 @@ var app = DOM.bip85application.val(); - var phrase = DOM.phrase.val(); - var passphrase = DOM.passphrase.val(); - if (!phrase) { + var rootKey = DOM.rootKey.val(); + if (!rootKey) { return; } try { - var master = libs.bip85.BIP85.fromMnemonic(phrase, passphrase); + var master = libs.bip85.BIP85.fromBase58(rootKey); var result; From 18d64d9586fbb668e411b865c0cae17b04b14857 Mon Sep 17 00:00:00 2001 From: Sylvia G Date: Tue, 6 Apr 2021 04:32:20 +0300 Subject: [PATCH 2/2] fix bip85 root key when using non-xprv version bytes --- src/js/index.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/js/index.js b/src/js/index.js index 9a32cbc..e329fa1 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -495,12 +495,16 @@ var app = DOM.bip85application.val(); - var rootKey = DOM.rootKey.val(); - if (!rootKey) { + var rootKeyBase58 = DOM.rootKey.val(); + if (!rootKeyBase58) { return; } try { - var master = libs.bip85.BIP85.fromBase58(rootKey); + // try parsing using base network params + // The bip85 lib only understands xpubs, so compute it + var rootKey = libs.bitcoin.HDNode.fromBase58(rootKeyBase58, network); + rootKey.keyPair.network = libs.bitcoin.networks['bitcoin'] + var master = libs.bip85.BIP85.fromBase58(rootKey.toBase58()); var result;