@ledgerhq/hw-app-btc 10.11.1-nightly.0 → 10.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +9 -2
- package/lib/BtcOld.js +4 -4
- package/lib/BtcOld.js.map +1 -1
- package/lib/getTrustedInputBIP143.d.ts.map +1 -1
- package/lib/getTrustedInputBIP143.js +2 -7
- package/lib/getTrustedInputBIP143.js.map +1 -1
- package/lib/hashPublicKey.js +3 -6
- package/lib/hashPublicKey.js.map +1 -1
- package/lib-es/BtcOld.js +4 -4
- package/lib-es/BtcOld.js.map +1 -1
- package/lib-es/getTrustedInputBIP143.d.ts.map +1 -1
- package/lib-es/getTrustedInputBIP143.js +2 -4
- package/lib-es/getTrustedInputBIP143.js.map +1 -1
- package/lib-es/hashPublicKey.js +3 -3
- package/lib-es/hashPublicKey.js.map +1 -1
- package/package.json +5 -6
- package/src/BtcOld.ts +4 -4
- package/src/getTrustedInputBIP143.ts +2 -4
- package/src/hashPublicKey.ts +3 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/hw-app-btc@10.11.
|
|
2
|
+
> @ledgerhq/hw-app-btc@10.11.1 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-btc
|
|
3
3
|
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
# @ledgerhq/hw-app-btc
|
|
2
2
|
|
|
3
|
-
## 10.11.1
|
|
3
|
+
## 10.11.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
7
|
- Updated dependencies []:
|
|
8
|
-
- @ledgerhq/hw-transport@6.31.11
|
|
8
|
+
- @ledgerhq/hw-transport@6.31.11
|
|
9
|
+
|
|
10
|
+
## 10.11.1-next.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies []:
|
|
15
|
+
- @ledgerhq/hw-transport@6.31.11-next.0
|
|
9
16
|
|
|
10
17
|
## 10.11.0
|
|
11
18
|
|
package/lib/BtcOld.js
CHANGED
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const bs58_1 = __importDefault(require("bs58"));
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
8
|
+
const ripemd160_1 = require("@noble/hashes/ripemd160");
|
|
9
9
|
const createTransaction_1 = require("./createTransaction");
|
|
10
10
|
const getWalletPublicKey_1 = require("./getWalletPublicKey");
|
|
11
11
|
const bip32_1 = require("./bip32");
|
|
@@ -140,13 +140,13 @@ function makeXpub(version, depth, parentFingerprint, index, chainCode, pubKey) {
|
|
|
140
140
|
return bs58_1.default.encode(Buffer.concat([extendedKeyBytes, checksum]));
|
|
141
141
|
}
|
|
142
142
|
function sha256(buffer) {
|
|
143
|
-
return (0,
|
|
143
|
+
return Buffer.from((0, sha256_1.sha256)(buffer));
|
|
144
144
|
}
|
|
145
145
|
function hash256(buffer) {
|
|
146
146
|
return sha256(sha256(buffer));
|
|
147
147
|
}
|
|
148
148
|
function ripemd160(buffer) {
|
|
149
|
-
return
|
|
149
|
+
return Buffer.from((0, ripemd160_1.ripemd160)(buffer));
|
|
150
150
|
}
|
|
151
151
|
function hash160(buffer) {
|
|
152
152
|
return ripemd160(sha256(buffer));
|
package/lib/BtcOld.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrustedInputBIP143.d.ts","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"getTrustedInputBIP143.d.ts","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM,CA0BR"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getTrustedInputBIP143 = void 0;
|
|
7
|
-
const
|
|
4
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
8
5
|
const serializeTransaction_1 = require("./serializeTransaction");
|
|
9
6
|
function getTrustedInputBIP143(transport, indexLookup, transaction, additionals = []) {
|
|
10
7
|
if (!transaction) {
|
|
@@ -14,9 +11,7 @@ function getTrustedInputBIP143(transport, indexLookup, transaction, additionals
|
|
|
14
11
|
if (isDecred) {
|
|
15
12
|
throw new Error("Decred does not implement BIP143");
|
|
16
13
|
}
|
|
17
|
-
let hash = (0,
|
|
18
|
-
.update((0, sha_js_1.default)("sha256").update((0, serializeTransaction_1.serializeTransaction)(transaction, true)).digest())
|
|
19
|
-
.digest();
|
|
14
|
+
let hash = Buffer.from((0, sha256_1.sha256)((0, sha256_1.sha256)((0, serializeTransaction_1.serializeTransaction)(transaction, true))));
|
|
20
15
|
const data = Buffer.alloc(4);
|
|
21
16
|
data.writeUInt32LE(indexLookup, 0);
|
|
22
17
|
const { outputs, locktime } = transaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrustedInputBIP143.js","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTrustedInputBIP143.js","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAE9C,iEAA8D;AAC9D,SAAgB,qBAAqB,CACnC,SAAoB,EACpB,WAAmB,EACnB,WAAwB,EACxB,cAA6B,EAAE;IAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,eAAM,EAAC,IAAA,eAAM,EAAC,IAAA,2CAAoB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAE1C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AA/BD,sDA+BC"}
|
package/lib/hashPublicKey.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.hashPublicKey = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
5
|
+
const ripemd160_1 = require("@noble/hashes/ripemd160");
|
|
9
6
|
function hashPublicKey(buffer) {
|
|
10
|
-
return
|
|
7
|
+
return Buffer.from((0, ripemd160_1.ripemd160)((0, sha256_1.sha256)(buffer)));
|
|
11
8
|
}
|
|
12
9
|
exports.hashPublicKey = hashPublicKey;
|
|
13
10
|
//# sourceMappingURL=hashPublicKey.js.map
|
package/lib/hashPublicKey.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashPublicKey.js","sourceRoot":"","sources":["../src/hashPublicKey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hashPublicKey.js","sourceRoot":"","sources":["../src/hashPublicKey.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,uDAAoD;AACpD,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,qBAAS,EAAC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAFD,sCAEC"}
|
package/lib-es/BtcOld.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import bs58 from "bs58";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { sha256 as nobleSha256 } from "@noble/hashes/sha256";
|
|
3
|
+
import { ripemd160 as nobleRipemd160 } from "@noble/hashes/ripemd160";
|
|
4
4
|
import { createTransaction } from "./createTransaction";
|
|
5
5
|
import { getWalletPublicKey } from "./getWalletPublicKey";
|
|
6
6
|
import { pathArrayToString, pathStringToArray } from "./bip32";
|
|
@@ -134,13 +134,13 @@ function makeXpub(version, depth, parentFingerprint, index, chainCode, pubKey) {
|
|
|
134
134
|
return bs58.encode(Buffer.concat([extendedKeyBytes, checksum]));
|
|
135
135
|
}
|
|
136
136
|
function sha256(buffer) {
|
|
137
|
-
return
|
|
137
|
+
return Buffer.from(nobleSha256(buffer));
|
|
138
138
|
}
|
|
139
139
|
function hash256(buffer) {
|
|
140
140
|
return sha256(sha256(buffer));
|
|
141
141
|
}
|
|
142
142
|
function ripemd160(buffer) {
|
|
143
|
-
return
|
|
143
|
+
return Buffer.from(nobleRipemd160(buffer));
|
|
144
144
|
}
|
|
145
145
|
function hash160(buffer) {
|
|
146
146
|
return ripemd160(sha256(buffer));
|
package/lib-es/BtcOld.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrustedInputBIP143.d.ts","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"getTrustedInputBIP143.d.ts","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM,CA0BR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
2
2
|
import { serializeTransaction } from "./serializeTransaction";
|
|
3
3
|
export function getTrustedInputBIP143(transport, indexLookup, transaction, additionals = []) {
|
|
4
4
|
if (!transaction) {
|
|
@@ -8,9 +8,7 @@ export function getTrustedInputBIP143(transport, indexLookup, transaction, addit
|
|
|
8
8
|
if (isDecred) {
|
|
9
9
|
throw new Error("Decred does not implement BIP143");
|
|
10
10
|
}
|
|
11
|
-
let hash =
|
|
12
|
-
.update(shajs("sha256").update(serializeTransaction(transaction, true)).digest())
|
|
13
|
-
.digest();
|
|
11
|
+
let hash = Buffer.from(sha256(sha256(serializeTransaction(transaction, true))));
|
|
14
12
|
const data = Buffer.alloc(4);
|
|
15
13
|
data.writeUInt32LE(indexLookup, 0);
|
|
16
14
|
const { outputs, locktime } = transaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrustedInputBIP143.js","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"getTrustedInputBIP143.js","sourceRoot":"","sources":["../src/getTrustedInputBIP143.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,MAAM,UAAU,qBAAqB,CACnC,SAAoB,EACpB,WAAmB,EACnB,WAAwB,EACxB,cAA6B,EAAE;IAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAE1C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|
package/lib-es/hashPublicKey.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
2
|
+
import { ripemd160 } from "@noble/hashes/ripemd160";
|
|
3
3
|
export function hashPublicKey(buffer) {
|
|
4
|
-
return
|
|
4
|
+
return Buffer.from(ripemd160(sha256(buffer)));
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=hashPublicKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashPublicKey.js","sourceRoot":"","sources":["../src/hashPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"hashPublicKey.js","sourceRoot":"","sources":["../src/hashPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/hw-app-btc",
|
|
3
|
-
"version": "10.11.1
|
|
3
|
+
"version": "10.11.1",
|
|
4
4
|
"description": "Ledger Hardware Wallet Bitcoin Application API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -65,12 +65,11 @@
|
|
|
65
65
|
"bs58": "^4.0.1",
|
|
66
66
|
"bs58check": "^2.1.2",
|
|
67
67
|
"invariant": "^2.2.4",
|
|
68
|
-
"
|
|
68
|
+
"@noble/hashes": "1.8.0",
|
|
69
69
|
"semver": "^7.3.5",
|
|
70
|
-
"sha.js": "2",
|
|
71
70
|
"@noble/curves": "1.9.7",
|
|
72
71
|
"varuint-bitcoin": "1.1.2",
|
|
73
|
-
"@ledgerhq/hw-transport": "^6.31.11
|
|
72
|
+
"@ledgerhq/hw-transport": "^6.31.11",
|
|
74
73
|
"@ledgerhq/logs": "^6.13.0"
|
|
75
74
|
},
|
|
76
75
|
"devDependencies": {
|
|
@@ -83,8 +82,8 @@
|
|
|
83
82
|
"source-map-support": "^0.5.21",
|
|
84
83
|
"ts-jest": "^29.1.1",
|
|
85
84
|
"ts-node": "^10.4.0",
|
|
86
|
-
"@ledgerhq/hw-transport-mocker": "^6.29.11
|
|
87
|
-
"@ledgerhq/hw-transport-node-speculos": "^6.29.11
|
|
85
|
+
"@ledgerhq/hw-transport-mocker": "^6.29.11",
|
|
86
|
+
"@ledgerhq/hw-transport-node-speculos": "^6.29.11"
|
|
88
87
|
},
|
|
89
88
|
"gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
|
|
90
89
|
"scripts": {
|
package/src/BtcOld.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import bs58 from "bs58";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { sha256 as nobleSha256 } from "@noble/hashes/sha256";
|
|
3
|
+
import { ripemd160 as nobleRipemd160 } from "@noble/hashes/ripemd160";
|
|
4
4
|
import type Transport from "@ledgerhq/hw-transport";
|
|
5
5
|
import type { CreateTransactionArg } from "./createTransaction";
|
|
6
6
|
import { createTransaction } from "./createTransaction";
|
|
@@ -185,13 +185,13 @@ function makeXpub(
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
function sha256(buffer: Buffer | string) {
|
|
188
|
-
return
|
|
188
|
+
return Buffer.from(nobleSha256(buffer));
|
|
189
189
|
}
|
|
190
190
|
function hash256(buffer: Buffer | string) {
|
|
191
191
|
return sha256(sha256(buffer));
|
|
192
192
|
}
|
|
193
193
|
function ripemd160(buffer: Buffer | string) {
|
|
194
|
-
return
|
|
194
|
+
return Buffer.from(nobleRipemd160(buffer));
|
|
195
195
|
}
|
|
196
196
|
function hash160(buffer: Buffer | string) {
|
|
197
197
|
return ripemd160(sha256(buffer));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Transport from "@ledgerhq/hw-transport";
|
|
2
|
-
import
|
|
2
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
3
3
|
import type { Transaction } from "./types";
|
|
4
4
|
import { serializeTransaction } from "./serializeTransaction";
|
|
5
5
|
export function getTrustedInputBIP143(
|
|
@@ -18,9 +18,7 @@ export function getTrustedInputBIP143(
|
|
|
18
18
|
throw new Error("Decred does not implement BIP143");
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
let hash =
|
|
22
|
-
.update(shajs("sha256").update(serializeTransaction(transaction, true)).digest())
|
|
23
|
-
.digest();
|
|
21
|
+
let hash = Buffer.from(sha256(sha256(serializeTransaction(transaction, true))));
|
|
24
22
|
const data = Buffer.alloc(4);
|
|
25
23
|
data.writeUInt32LE(indexLookup, 0);
|
|
26
24
|
const { outputs, locktime } = transaction;
|
package/src/hashPublicKey.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
2
|
+
import { ripemd160 } from "@noble/hashes/ripemd160";
|
|
3
3
|
export function hashPublicKey(buffer: Buffer): Buffer {
|
|
4
|
-
return
|
|
4
|
+
return Buffer.from(ripemd160(sha256(buffer)));
|
|
5
5
|
}
|