Skip to content

Commit bb0f57c

Browse files
authored
Merge pull request #1812 from bitcoinjs/fix/js-fallback-rmd160
Fallback to JS with ripemd160
2 parents cac5d14 + f9ded32 commit bb0f57c

File tree

4 files changed

+27
-6
lines changed

4 files changed

+27
-6
lines changed

package-lock.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"bip174": "^2.0.1",
5454
"bs58check": "^2.1.2",
5555
"create-hash": "^1.1.0",
56+
"ripemd160": "^2.0.2",
5657
"typeforce": "^1.11.3",
5758
"varuint-bitcoin": "^1.1.2",
5859
"wif": "^2.0.1"
@@ -65,6 +66,7 @@
6566
"@types/node": "^16.11.7",
6667
"@types/proxyquire": "^1.3.28",
6768
"@types/randombytes": "^2.0.0",
69+
"@types/ripemd160": "^2.0.0",
6870
"@types/wif": "^2.0.2",
6971
"better-npm-audit": "^3.7.3",
7072
"bip32": "^3.0.1",

src/crypto.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@
22
Object.defineProperty(exports, '__esModule', { value: true });
33
exports.taggedHash = exports.hash256 = exports.hash160 = exports.sha256 = exports.sha1 = exports.ripemd160 = void 0;
44
const createHash = require('create-hash');
5+
const RipeMd160 = require('ripemd160');
56
function ripemd160(buffer) {
67
try {
78
return createHash('rmd160')
89
.update(buffer)
910
.digest();
1011
} catch (err) {
11-
return createHash('ripemd160')
12-
.update(buffer)
13-
.digest();
12+
try {
13+
return createHash('ripemd160')
14+
.update(buffer)
15+
.digest();
16+
} catch (err2) {
17+
return new RipeMd160().update(buffer).digest();
18+
}
1419
}
1520
}
1621
exports.ripemd160 = ripemd160;

ts_src/crypto.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
import * as createHash from 'create-hash';
2+
import * as RipeMd160 from 'ripemd160';
23

34
export function ripemd160(buffer: Buffer): Buffer {
45
try {
56
return createHash('rmd160')
67
.update(buffer)
78
.digest();
89
} catch (err) {
9-
return createHash('ripemd160')
10-
.update(buffer)
11-
.digest();
10+
try {
11+
return createHash('ripemd160')
12+
.update(buffer)
13+
.digest();
14+
} catch (err2) {
15+
return new RipeMd160().update(buffer).digest();
16+
}
1217
}
1318
}
1419

0 commit comments

Comments
 (0)