From 59d07962a4eaef71b72fda4c08131e03f636bc16 Mon Sep 17 00:00:00 2001
From: Ryan Zimmerman <17342435+RyanZim@users.noreply.github.com>
Date: Mon, 1 Apr 2019 13:52:24 -0400
Subject: [PATCH 1/4] Change rmd160 -> ripemd160 for Electron v4

Electron v4 only supports ripemd160; no support for the rmd160 alias.
---
 src/crypto.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/crypto.js b/src/crypto.js
index a11d061..87f6571 100644
--- a/src/crypto.js
+++ b/src/crypto.js
@@ -1,7 +1,7 @@
 const createHash = require('create-hash')
 
 function ripemd160 (buffer) {
-  return createHash('rmd160').update(buffer).digest()
+  return createHash('ripemd160').update(buffer).digest()
 }
 
 function sha1 (buffer) {

From 7aadfa7f4c8ab0de80e3450cffab139fb0ff0626 Mon Sep 17 00:00:00 2001
From: Ryan Zimmerman <opensrc@ryanzim.com>
Date: Wed, 3 Apr 2019 10:52:50 -0400
Subject: [PATCH 2/4] Add try/catch

---
 src/crypto.js | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/crypto.js b/src/crypto.js
index 87f6571..604cd0c 100644
--- a/src/crypto.js
+++ b/src/crypto.js
@@ -1,7 +1,18 @@
 const createHash = require('create-hash')
 
+let rmd160
+try {
+  rmd160 = require('crypto')
+    .getHashes()
+    .includes('rmd160')
+    ? 'rmd160'
+    : 'ripemd160'
+} catch (err) {
+  rmd160 = 'rmd160'
+}
+
 function ripemd160 (buffer) {
-  return createHash('ripemd160').update(buffer).digest()
+  return createHash(rmd160).update(buffer).digest()
 }
 
 function sha1 (buffer) {

From 05f32ccffaf74442df470edfa160c364506d3e57 Mon Sep 17 00:00:00 2001
From: Ryan Zimmerman <opensrc@ryanzim.com>
Date: Wed, 3 Apr 2019 19:34:17 -0400
Subject: [PATCH 3/4] Update bip32 dep

---
 package-lock.json | 12 +++++++++---
 package.json      |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3009813..a50262d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,11 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "@types/node": {
+      "version": "10.12.18",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
+      "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
+    },
     "acorn": {
       "version": "5.7.3",
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
@@ -148,10 +153,11 @@
       "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew=="
     },
     "bip32": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.2.tgz",
-      "integrity": "sha512-kedLYj8yvYzND+EfzeoMSlGiN7ImiRBF/MClJSZPkMfcU+OQO7ZpL5L/Yg+TunebBZIHhunstiQF//KLKSF5rg==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.1.tgz",
+      "integrity": "sha512-NpKopXjm1d8EdKt++MrE1ETDQPljSaz/usstoVhP7qij39yTd3UcrS9HXT/oV/K4OQGprvI8mQfl/PZMW10s0A==",
       "requires": {
+        "@types/node": "10.12.18",
         "bs58check": "^2.1.1",
         "create-hash": "^1.2.0",
         "create-hmac": "^1.1.7",
diff --git a/package.json b/package.json
index 0c3a31f..07a2405 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
   ],
   "dependencies": {
     "bech32": "^1.1.2",
-    "bip32": "^1.0.0",
+    "bip32": "^2.0.1",
     "bip66": "^1.1.0",
     "bitcoin-ops": "^1.4.0",
     "bs58check": "^2.0.0",

From a39ca22e2eafd472be6933bdf23c6d76eaf14aa6 Mon Sep 17 00:00:00 2001
From: junderw <junderwood@bitcoinbank.co.jp>
Date: Thu, 4 Apr 2019 10:48:42 +0900
Subject: [PATCH 4/4] Revert bip32 to 1.0.3 backport patch

---
 package-lock.json | 12 +++---------
 package.json      |  2 +-
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a50262d..e763fcc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,11 +4,6 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
-    "@types/node": {
-      "version": "10.12.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
-      "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
-    },
     "acorn": {
       "version": "5.7.3",
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
@@ -153,11 +148,10 @@
       "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew=="
     },
     "bip32": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.1.tgz",
-      "integrity": "sha512-NpKopXjm1d8EdKt++MrE1ETDQPljSaz/usstoVhP7qij39yTd3UcrS9HXT/oV/K4OQGprvI8mQfl/PZMW10s0A==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.3.tgz",
+      "integrity": "sha512-rY7ie/4Nmcpgx1y4kAsJJLiluGzNzz20u44LFaElLXCGq3hQjfHV11r9fHwbtquKZ4JXL7BEMCnmpCzFko4ZLA==",
       "requires": {
-        "@types/node": "10.12.18",
         "bs58check": "^2.1.1",
         "create-hash": "^1.2.0",
         "create-hmac": "^1.1.7",
diff --git a/package.json b/package.json
index 07a2405..72ae4b5 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
   ],
   "dependencies": {
     "bech32": "^1.1.2",
-    "bip32": "^2.0.1",
+    "bip32": "^1.0.3",
     "bip66": "^1.1.0",
     "bitcoin-ops": "^1.4.0",
     "bs58check": "^2.0.0",