@ledgerhq/hw-app-btc 6.17.0 → 6.21.0
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/README.md +1 -1
- package/lib/BtcNew.d.ts +0 -1
- package/lib/BtcNew.d.ts.map +1 -1
- package/lib/BtcNew.js +17 -47
- package/lib/BtcNew.js.map +1 -1
- package/lib/debug.js +7 -7
- package/lib/debug.js.map +1 -1
- package/lib/newops/accounttype.js +1 -1
- package/lib/newops/accounttype.js.map +1 -1
- package/lib/newops/appClient.d.ts +1 -2
- package/lib/newops/appClient.d.ts.map +1 -1
- package/lib/newops/appClient.js.map +1 -1
- package/lib/newops/clientCommands.d.ts +41 -3
- package/lib/newops/clientCommands.d.ts.map +1 -1
- package/lib/newops/clientCommands.js +21 -16
- package/lib/newops/clientCommands.js.map +1 -1
- package/lib/newops/policy.js +1 -1
- package/lib/newops/policy.js.map +1 -1
- package/lib/newops/psbtFinalizer.js +2 -2
- package/lib/newops/psbtFinalizer.js.map +1 -1
- package/lib/splitTransaction.js +1 -1
- package/lib/splitTransaction.js.map +1 -1
- package/lib-es/BtcNew.d.ts +0 -1
- package/lib-es/BtcNew.d.ts.map +1 -1
- package/lib-es/BtcNew.js +17 -47
- package/lib-es/BtcNew.js.map +1 -1
- package/lib-es/debug.js +7 -7
- package/lib-es/debug.js.map +1 -1
- package/lib-es/newops/accounttype.js +1 -1
- package/lib-es/newops/accounttype.js.map +1 -1
- package/lib-es/newops/appClient.d.ts +1 -2
- package/lib-es/newops/appClient.d.ts.map +1 -1
- package/lib-es/newops/appClient.js.map +1 -1
- package/lib-es/newops/clientCommands.d.ts +41 -3
- package/lib-es/newops/clientCommands.d.ts.map +1 -1
- package/lib-es/newops/clientCommands.js +20 -15
- package/lib-es/newops/clientCommands.js.map +1 -1
- package/lib-es/newops/policy.js +1 -1
- package/lib-es/newops/policy.js.map +1 -1
- package/lib-es/newops/psbtFinalizer.js +2 -2
- package/lib-es/newops/psbtFinalizer.js.map +1 -1
- package/lib-es/splitTransaction.js +1 -1
- package/lib-es/splitTransaction.js.map +1 -1
- package/package.json +3 -3
- package/src/BtcNew.ts +15 -52
- package/src/newops/appClient.ts +2 -2
- package/src/newops/clientCommands.ts +15 -19
|
@@ -53,7 +53,7 @@ import { crypto } from "bitcoinjs-lib";
|
|
|
53
53
|
import { BufferReader } from "../buffertools";
|
|
54
54
|
import { createVarint } from "../varint";
|
|
55
55
|
import { hashLeaf, Merkle } from "./merkle";
|
|
56
|
-
|
|
56
|
+
var ClientCommandCode;
|
|
57
57
|
(function (ClientCommandCode) {
|
|
58
58
|
ClientCommandCode[ClientCommandCode["YIELD"] = 16] = "YIELD";
|
|
59
59
|
ClientCommandCode[ClientCommandCode["GET_PREIMAGE"] = 64] = "GET_PREIMAGE";
|
|
@@ -68,18 +68,21 @@ var ClientCommand = /** @class */ (function () {
|
|
|
68
68
|
}());
|
|
69
69
|
var YieldCommand = /** @class */ (function (_super) {
|
|
70
70
|
__extends(YieldCommand, _super);
|
|
71
|
-
function YieldCommand(results) {
|
|
71
|
+
function YieldCommand(results, progressCallback) {
|
|
72
72
|
var _this = _super.call(this) || this;
|
|
73
|
+
_this.progressCallback = progressCallback;
|
|
73
74
|
_this.code = ClientCommandCode.YIELD;
|
|
74
75
|
_this.results = results;
|
|
75
76
|
return _this;
|
|
76
77
|
}
|
|
77
78
|
YieldCommand.prototype.execute = function (request) {
|
|
78
79
|
this.results.push(Buffer.from(request.subarray(1)));
|
|
80
|
+
this.progressCallback();
|
|
79
81
|
return Buffer.from("");
|
|
80
82
|
};
|
|
81
83
|
return YieldCommand;
|
|
82
84
|
}(ClientCommand));
|
|
85
|
+
export { YieldCommand };
|
|
83
86
|
var GetPreimageCommand = /** @class */ (function (_super) {
|
|
84
87
|
__extends(GetPreimageCommand, _super);
|
|
85
88
|
function GetPreimageCommand(known_preimages, queue) {
|
|
@@ -90,7 +93,7 @@ var GetPreimageCommand = /** @class */ (function (_super) {
|
|
|
90
93
|
return _this;
|
|
91
94
|
}
|
|
92
95
|
GetPreimageCommand.prototype.execute = function (request) {
|
|
93
|
-
var req = request.subarray(1);
|
|
96
|
+
var req = Buffer.from(request.subarray(1));
|
|
94
97
|
// we expect no more data to read
|
|
95
98
|
if (req.length != 1 + 32) {
|
|
96
99
|
throw new Error("Invalid request, unexpected trailing data");
|
|
@@ -119,13 +122,14 @@ var GetPreimageCommand = /** @class */ (function (_super) {
|
|
|
119
122
|
return Buffer.concat([
|
|
120
123
|
preimage_len_varint,
|
|
121
124
|
Buffer.from([payload_size]),
|
|
122
|
-
known_preimage.subarray(0, payload_size),
|
|
125
|
+
Buffer.from(known_preimage.subarray(0, payload_size)),
|
|
123
126
|
]);
|
|
124
127
|
}
|
|
125
|
-
throw Error("Requested unknown preimage for: "
|
|
128
|
+
throw Error("Requested unknown preimage for: ".concat(req_hash_hex));
|
|
126
129
|
};
|
|
127
130
|
return GetPreimageCommand;
|
|
128
131
|
}(ClientCommand));
|
|
132
|
+
export { GetPreimageCommand };
|
|
129
133
|
var GetMerkleLeafProofCommand = /** @class */ (function (_super) {
|
|
130
134
|
__extends(GetMerkleLeafProofCommand, _super);
|
|
131
135
|
function GetMerkleLeafProofCommand(known_trees, queue) {
|
|
@@ -137,7 +141,7 @@ var GetMerkleLeafProofCommand = /** @class */ (function (_super) {
|
|
|
137
141
|
}
|
|
138
142
|
GetMerkleLeafProofCommand.prototype.execute = function (request) {
|
|
139
143
|
var _a;
|
|
140
|
-
var req = request.subarray(1);
|
|
144
|
+
var req = Buffer.from(request.subarray(1));
|
|
141
145
|
if (req.length < 32 + 1 + 1) {
|
|
142
146
|
throw new Error("Invalid request, expected at least 34 bytes");
|
|
143
147
|
}
|
|
@@ -155,7 +159,7 @@ var GetMerkleLeafProofCommand = /** @class */ (function (_super) {
|
|
|
155
159
|
}
|
|
156
160
|
var mt = this.known_trees.get(hash_hex);
|
|
157
161
|
if (!mt) {
|
|
158
|
-
throw Error("Requested Merkle leaf proof for unknown tree: "
|
|
162
|
+
throw Error("Requested Merkle leaf proof for unknown tree: ".concat(hash_hex));
|
|
159
163
|
}
|
|
160
164
|
if (leaf_index >= tree_size || mt.size() != tree_size) {
|
|
161
165
|
throw Error("Invalid index or tree size.");
|
|
@@ -178,6 +182,7 @@ var GetMerkleLeafProofCommand = /** @class */ (function (_super) {
|
|
|
178
182
|
};
|
|
179
183
|
return GetMerkleLeafProofCommand;
|
|
180
184
|
}(ClientCommand));
|
|
185
|
+
export { GetMerkleLeafProofCommand };
|
|
181
186
|
var GetMerkleLeafIndexCommand = /** @class */ (function (_super) {
|
|
182
187
|
__extends(GetMerkleLeafIndexCommand, _super);
|
|
183
188
|
function GetMerkleLeafIndexCommand(known_trees) {
|
|
@@ -187,7 +192,7 @@ var GetMerkleLeafIndexCommand = /** @class */ (function (_super) {
|
|
|
187
192
|
return _this;
|
|
188
193
|
}
|
|
189
194
|
GetMerkleLeafIndexCommand.prototype.execute = function (request) {
|
|
190
|
-
var req = request.subarray(1);
|
|
195
|
+
var req = Buffer.from(request.subarray(1));
|
|
191
196
|
if (req.length != 32 + 32) {
|
|
192
197
|
throw new Error("Invalid request, unexpected trailing data");
|
|
193
198
|
}
|
|
@@ -205,7 +210,7 @@ var GetMerkleLeafIndexCommand = /** @class */ (function (_super) {
|
|
|
205
210
|
var leef_hash_hex = leef_hash.toString("hex");
|
|
206
211
|
var mt = this.known_trees.get(root_hash_hex);
|
|
207
212
|
if (!mt) {
|
|
208
|
-
throw Error("Requested Merkle leaf index for unknown root: "
|
|
213
|
+
throw Error("Requested Merkle leaf index for unknown root: ".concat(root_hash_hex));
|
|
209
214
|
}
|
|
210
215
|
var leaf_index = 0;
|
|
211
216
|
var found = 0;
|
|
@@ -220,6 +225,7 @@ var GetMerkleLeafIndexCommand = /** @class */ (function (_super) {
|
|
|
220
225
|
};
|
|
221
226
|
return GetMerkleLeafIndexCommand;
|
|
222
227
|
}(ClientCommand));
|
|
228
|
+
export { GetMerkleLeafIndexCommand };
|
|
223
229
|
var GetMoreElementsCommand = /** @class */ (function (_super) {
|
|
224
230
|
__extends(GetMoreElementsCommand, _super);
|
|
225
231
|
function GetMoreElementsCommand(queue) {
|
|
@@ -250,6 +256,7 @@ var GetMoreElementsCommand = /** @class */ (function (_super) {
|
|
|
250
256
|
};
|
|
251
257
|
return GetMoreElementsCommand;
|
|
252
258
|
}(ClientCommand));
|
|
259
|
+
export { GetMoreElementsCommand };
|
|
253
260
|
/**
|
|
254
261
|
* This class will dispatch a client command coming from the hardware device to
|
|
255
262
|
* the appropriate client command implementation. Those client commands
|
|
@@ -266,16 +273,15 @@ var GetMoreElementsCommand = /** @class */ (function (_super) {
|
|
|
266
273
|
* which will return the yields in the same order as they came in.
|
|
267
274
|
*/
|
|
268
275
|
var ClientCommandInterpreter = /** @class */ (function () {
|
|
269
|
-
function ClientCommandInterpreter(
|
|
276
|
+
function ClientCommandInterpreter(progressCallback) {
|
|
270
277
|
var e_1, _a;
|
|
271
|
-
this.clientCommandCallback = clientCommandCallback;
|
|
272
278
|
this.roots = new Map();
|
|
273
279
|
this.preimages = new Map();
|
|
274
280
|
this.yielded = [];
|
|
275
281
|
this.queue = [];
|
|
276
282
|
this.commands = new Map();
|
|
277
283
|
var commands = [
|
|
278
|
-
new YieldCommand(this.yielded),
|
|
284
|
+
new YieldCommand(this.yielded, progressCallback),
|
|
279
285
|
new GetPreimageCommand(this.preimages, this.queue),
|
|
280
286
|
new GetMerkleLeafIndexCommand(this.roots),
|
|
281
287
|
new GetMerkleLeafProofCommand(this.roots, this.queue),
|
|
@@ -285,7 +291,7 @@ var ClientCommandInterpreter = /** @class */ (function () {
|
|
|
285
291
|
for (var commands_1 = __values(commands), commands_1_1 = commands_1.next(); !commands_1_1.done; commands_1_1 = commands_1.next()) {
|
|
286
292
|
var cmd = commands_1_1.value;
|
|
287
293
|
if (this.commands.has(cmd.code)) {
|
|
288
|
-
throw new Error("Multiple commands with code "
|
|
294
|
+
throw new Error("Multiple commands with code ".concat(cmd.code));
|
|
289
295
|
}
|
|
290
296
|
this.commands.set(cmd.code, cmd);
|
|
291
297
|
}
|
|
@@ -334,9 +340,8 @@ var ClientCommandInterpreter = /** @class */ (function () {
|
|
|
334
340
|
var cmdCode = request[0];
|
|
335
341
|
var cmd = this.commands.get(cmdCode);
|
|
336
342
|
if (!cmd) {
|
|
337
|
-
throw new Error("Unexpected command code "
|
|
343
|
+
throw new Error("Unexpected command code ".concat(cmdCode));
|
|
338
344
|
}
|
|
339
|
-
this.clientCommandCallback(cmdCode, request);
|
|
340
345
|
return cmd.execute(request);
|
|
341
346
|
};
|
|
342
347
|
return ClientCommandInterpreter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAG5C,
|
|
1
|
+
{"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":"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"}
|
package/lib-es/newops/policy.js
CHANGED
|
@@ -39,6 +39,6 @@ var WalletPolicy = /** @class */ (function () {
|
|
|
39
39
|
export { WalletPolicy };
|
|
40
40
|
export function createKey(masterFingerprint, path, xpub) {
|
|
41
41
|
var accountPath = pathArrayToString(path);
|
|
42
|
-
return "["
|
|
42
|
+
return "[".concat(masterFingerprint.toString("hex")).concat(accountPath.substring(1), "]").concat(xpub, "/**");
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ5C;;;;;;;GAOG;AACH;IAGE;;OAEG;IACH,sBAAY,kBAA6C,EAAE,GAAW;QACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,kCAAW,GAAX;QACE,kDAAkD;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gCAAS,GAAT;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAEzD,IAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC9E,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IACH,mBAAC;AAAD,CAAC,AA7BD,IA6BC;;AAED,MAAM,UAAU,SAAS,CACvB,iBAAyB,EACzB,IAAc,EACd,IAAY;IAEZ,IAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ5C;;;;;;;GAOG;AACH;IAGE;;OAEG;IACH,sBAAY,kBAA6C,EAAE,GAAW;QACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,kCAAW,GAAX;QACE,kDAAkD;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gCAAS,GAAT;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAEzD,IAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC9E,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IACH,mBAAC;AAAD,CAAC,AA7BD,IA6BC;;AAED,MAAM,UAAU,SAAS,CACvB,iBAAyB,EACzB,IAAc,EACd,IAAY;IAEZ,IAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,WAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAG,WAAW,CAAC,SAAS,CAClE,CAAC,CACF,cAAI,IAAI,QAAK,CAAC;AACjB,CAAC"}
|
|
@@ -21,11 +21,11 @@ export function finalize(psbt) {
|
|
|
21
21
|
var legacyPubkeys = psbt.getInputKeyDatas(i, psbtIn.PARTIAL_SIG);
|
|
22
22
|
var taprootSig = psbt.getInputTapKeySig(i);
|
|
23
23
|
if (legacyPubkeys.length == 0 && !taprootSig) {
|
|
24
|
-
throw Error("No signature for input "
|
|
24
|
+
throw Error("No signature for input ".concat(i, " present"));
|
|
25
25
|
}
|
|
26
26
|
if (legacyPubkeys.length > 0) {
|
|
27
27
|
if (legacyPubkeys.length > 1) {
|
|
28
|
-
throw Error("Expected exactly one signature, got "
|
|
28
|
+
throw Error("Expected exactly one signature, got ".concat(legacyPubkeys.length));
|
|
29
29
|
}
|
|
30
30
|
if (taprootSig) {
|
|
31
31
|
throw Error("Both taproot and non-taproot signatures present.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbtFinalizer.js","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAU,MAAM,UAAU,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,8CAA8C;IAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;QACnC,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5C,MAAM,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"psbtFinalizer.js","sourceRoot":"","sources":["../../src/newops/psbtFinalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,7 +132,7 @@ export function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp
|
|
|
132
132
|
nExpiryHeight: nExpiryHeight,
|
|
133
133
|
extraData: extraData
|
|
134
134
|
};
|
|
135
|
-
log("btc", "splitTransaction "
|
|
135
|
+
log("btc", "splitTransaction ".concat(transactionHex, ":\n").concat(formatTransactionDebug(t)));
|
|
136
136
|
return t;
|
|
137
137
|
}
|
|
138
138
|
//# sourceMappingURL=splitTransaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,MAAM,UAAU,gBAAgB,CAC9B,cAAsB,EACtB,iBAAqD,EACrD,YAAoB,EACpB,YAAoB,EACpB,WAA+B;IAH/B,kCAAA,EAAA,yBAAqD;IACrD,6BAAA,EAAA,oBAAoB;IACpB,6BAAA,EAAA,oBAAoB;IACpB,4BAAA,EAAA,gBAA+B;IAE/B,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,IAAM,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,CAAC,CAAC;IAEZ,IACE,CAAC,YAAY;QACb,iBAAiB;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAC7B;QACA,MAAM,IAAI,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,YAAY,EAAE;QAChB,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,CAAC;KACb;IAED,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,CAAC;KACb;IAED,IAAI,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACrC,IAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,wCAAwC;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;SACrB;aAAM;YACL,YAAY;YACZ,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,CAAC;SACb;QAED,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,SAAA;YACP,MAAM,QAAA;YACN,QAAQ,UAAA;YACR,IAAI,MAAA;SACL,CAAC,CAAC;KACJ;IAED,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxC,IAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;QACtC,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,CAAC;QAEZ,IAAI,QAAQ,EAAE;YACZ,gBAAgB;YAChB,MAAM,IAAI,CAAC,CAAC;SACb;QAED,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,QAAA;YACN,MAAM,QAAA;SACP,CAAC,CAAC;KACJ;IAED,IAAI,aAAa,EAAE,QAAQ,CAAC;IAE5B,IAAI,OAAO,EAAE;QACX,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACtD;SAAM;QACL,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;KAClD;IAED,MAAM,IAAI,CAAC,CAAC;IAEZ,IAAI,UAAU,IAAI,QAAQ,EAAE;QAC1B,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,CAAC;KACb;IAED,IAAI,YAAY,EAAE;QAChB,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,EAAE;QACZ,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,QAAQ;YACR,MAAM,IAAI,CAAC,CAAC;YACZ,cAAc;YACd,MAAM,IAAI,CAAC,CAAC;YACZ,aAAa;YACb,MAAM,IAAI,CAAC,CAAC;YACZ,aAAa;YACb,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;SAC3B;KACF;IAED,IAAM,CAAC,GAAgB;QACrB,OAAO,SAAA;QACP,MAAM,QAAA;QACN,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,OAAO,EAAE,aAAa;QACtB,SAAS,WAAA;QACT,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,SAAS,WAAA;KACV,CAAC;IACF,GAAG,CACD,KAAK,EACL,2BAAoB,cAAc,gBAAM,sBAAsB,CAAC,CAAC,CAAC,CAAE,CACpE,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/hw-app-btc",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.21.0",
|
|
4
4
|
"description": "Ledger Hardware Wallet Bitcoin Application API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"types": "lib/Btc.d.ts",
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@ledgerhq/hw-transport": "^6.
|
|
30
|
+
"@ledgerhq/hw-transport": "^6.20.0",
|
|
31
31
|
"@ledgerhq/logs": "^6.10.0",
|
|
32
32
|
"bip32-path": "^0.4.2",
|
|
33
33
|
"bitcoinjs-lib": "^5.2.0",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"watch": "bash ../../script/watch.sh",
|
|
46
46
|
"doc": "bash ../../script/doc.sh"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "db3d505e9214debd021784a2c52f33452a654883"
|
|
49
49
|
}
|
package/src/BtcNew.ts
CHANGED
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
SpendingCondition,
|
|
22
22
|
} from "./newops/accounttype";
|
|
23
23
|
import { AppClient as Client } from "./newops/appClient";
|
|
24
|
-
import { ClientCommandCode } from "./newops/clientCommands";
|
|
25
24
|
import {
|
|
26
25
|
createKey,
|
|
27
26
|
DefaultDescriptorTemplate,
|
|
@@ -288,60 +287,24 @@ export default class BtcNew {
|
|
|
288
287
|
|
|
289
288
|
const key = createKey(masterFp, accountPath, accountXpub);
|
|
290
289
|
const p = new WalletPolicy(accountType.getDescriptorTemplate(), key);
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
arg.onDeviceSignatureRequested,
|
|
295
|
-
arg.onDeviceSignatureGranted
|
|
296
|
-
);
|
|
297
|
-
await this.signPsbt(psbt, p, callback);
|
|
298
|
-
finalize(psbt);
|
|
299
|
-
const serializedTx = extract(psbt);
|
|
300
|
-
return serializedTx.toString("hex");
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
private clientCommandCallbackHandler(
|
|
304
|
-
progress: () => void,
|
|
305
|
-
sigRequested?: () => void,
|
|
306
|
-
sigGranted?: () => void
|
|
307
|
-
): (code: ClientCommandCode, data: Buffer) => void {
|
|
308
|
-
let triggered = false;
|
|
309
|
-
const req = () => {
|
|
310
|
-
!triggered && sigRequested && sigRequested();
|
|
311
|
-
triggered = true;
|
|
312
|
-
};
|
|
313
|
-
// We have no way of knowing exactly when the device requests the user
|
|
314
|
-
// to verify the transaction on the device. Therefore we wait until we have
|
|
315
|
-
// a pause in the stream of client commands. A pause is an indicator that
|
|
316
|
-
// the device is waiting for user interaction.
|
|
317
|
-
let timeout = setTimeout(req, 500);
|
|
318
|
-
const reset = () => {
|
|
319
|
-
if (triggered) return;
|
|
320
|
-
clearTimeout(timeout);
|
|
321
|
-
timeout = setTimeout(req, 500);
|
|
322
|
-
};
|
|
323
|
-
const trigger = () => {
|
|
324
|
-
if (triggered) return;
|
|
325
|
-
clearTimeout(timeout);
|
|
326
|
-
req();
|
|
327
|
-
};
|
|
290
|
+
// This is cheating, because it's not actually requested on the
|
|
291
|
+
// device yet, but it will be, soonish.
|
|
292
|
+
if (arg.onDeviceSignatureRequested) arg.onDeviceSignatureRequested();
|
|
328
293
|
|
|
329
294
|
let firstSigned = false;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
if (
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
// call sigRequested() before sigGranted(), because the client might (?)
|
|
336
|
-
// expect that particular order of callbacks. Leaving out sigRequested()
|
|
337
|
-
// or calling it after sigGranted, migh
|
|
338
|
-
trigger();
|
|
339
|
-
firstSigned = true;
|
|
340
|
-
sigGranted && sigGranted();
|
|
341
|
-
}
|
|
342
|
-
progress();
|
|
295
|
+
// This callback will be called once for each signature yielded.
|
|
296
|
+
const progressCallback = () => {
|
|
297
|
+
if (!firstSigned) {
|
|
298
|
+
firstSigned = true;
|
|
299
|
+
arg.onDeviceSignatureGranted && arg.onDeviceSignatureGranted();
|
|
343
300
|
}
|
|
301
|
+
progress();
|
|
344
302
|
};
|
|
303
|
+
|
|
304
|
+
await this.signPsbt(psbt, p, progressCallback);
|
|
305
|
+
finalize(psbt);
|
|
306
|
+
const serializedTx = extract(psbt);
|
|
307
|
+
return serializedTx.toString("hex");
|
|
345
308
|
}
|
|
346
309
|
|
|
347
310
|
/**
|
|
@@ -442,7 +405,7 @@ export default class BtcNew {
|
|
|
442
405
|
private async signPsbt(
|
|
443
406
|
psbt: PsbtV2,
|
|
444
407
|
walletPolicy: WalletPolicy,
|
|
445
|
-
progressCallback: (
|
|
408
|
+
progressCallback: () => void
|
|
446
409
|
): Promise<void> {
|
|
447
410
|
const sigs: Map<number, Buffer> = await this.client.signPsbt(
|
|
448
411
|
psbt,
|
package/src/newops/appClient.ts
CHANGED
|
@@ -2,7 +2,7 @@ import Transport from "@ledgerhq/hw-transport";
|
|
|
2
2
|
import { pathElementsToBuffer } from "../bip32";
|
|
3
3
|
import { PsbtV2 } from "./psbtv2";
|
|
4
4
|
import { MerkelizedPsbt } from "./merkelizedPsbt";
|
|
5
|
-
import {
|
|
5
|
+
import { ClientCommandInterpreter } from "./clientCommands";
|
|
6
6
|
import { WalletPolicy } from "./policy";
|
|
7
7
|
import { createVarint } from "../varint";
|
|
8
8
|
import { hashLeaf, Merkle } from "./merkle";
|
|
@@ -124,7 +124,7 @@ export class AppClient {
|
|
|
124
124
|
psbt: PsbtV2,
|
|
125
125
|
walletPolicy: WalletPolicy,
|
|
126
126
|
walletHMAC: Buffer | null,
|
|
127
|
-
progressCallback: (
|
|
127
|
+
progressCallback: () => void
|
|
128
128
|
): Promise<Map<number, Buffer>> {
|
|
129
129
|
const merkelizedPsbt = new MerkelizedPsbt(psbt);
|
|
130
130
|
|
|
@@ -4,7 +4,7 @@ import { createVarint } from "../varint";
|
|
|
4
4
|
import { hashLeaf, Merkle } from "./merkle";
|
|
5
5
|
import { MerkleMap } from "./merkleMap";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
enum ClientCommandCode {
|
|
8
8
|
YIELD = 0x10,
|
|
9
9
|
GET_PREIMAGE = 0x40,
|
|
10
10
|
GET_MERKLE_LEAF_PROOF = 0x41,
|
|
@@ -17,23 +17,24 @@ abstract class ClientCommand {
|
|
|
17
17
|
abstract execute(request: Buffer): Buffer;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
class YieldCommand extends ClientCommand {
|
|
20
|
+
export class YieldCommand extends ClientCommand {
|
|
21
21
|
private results: Buffer[];
|
|
22
22
|
|
|
23
23
|
code = ClientCommandCode.YIELD;
|
|
24
24
|
|
|
25
|
-
constructor(results: Buffer[]) {
|
|
25
|
+
constructor(results: Buffer[], private progressCallback: () => void) {
|
|
26
26
|
super();
|
|
27
27
|
this.results = results;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
execute(request: Buffer): Buffer {
|
|
31
31
|
this.results.push(Buffer.from(request.subarray(1)));
|
|
32
|
+
this.progressCallback();
|
|
32
33
|
return Buffer.from("");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
class GetPreimageCommand extends ClientCommand {
|
|
37
|
+
export class GetPreimageCommand extends ClientCommand {
|
|
37
38
|
private known_preimages: Map<string, Buffer>;
|
|
38
39
|
private queue: Buffer[];
|
|
39
40
|
|
|
@@ -46,7 +47,7 @@ class GetPreimageCommand extends ClientCommand {
|
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
execute(request: Buffer): Buffer {
|
|
49
|
-
const req = request.subarray(1);
|
|
50
|
+
const req = Buffer.from(request.subarray(1));
|
|
50
51
|
|
|
51
52
|
// we expect no more data to read
|
|
52
53
|
if (req.length != 1 + 32) {
|
|
@@ -83,7 +84,7 @@ class GetPreimageCommand extends ClientCommand {
|
|
|
83
84
|
return Buffer.concat([
|
|
84
85
|
preimage_len_varint,
|
|
85
86
|
Buffer.from([payload_size]),
|
|
86
|
-
known_preimage.subarray(0, payload_size),
|
|
87
|
+
Buffer.from(known_preimage.subarray(0, payload_size)),
|
|
87
88
|
]);
|
|
88
89
|
}
|
|
89
90
|
|
|
@@ -91,7 +92,7 @@ class GetPreimageCommand extends ClientCommand {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
class GetMerkleLeafProofCommand extends ClientCommand {
|
|
95
|
+
export class GetMerkleLeafProofCommand extends ClientCommand {
|
|
95
96
|
private known_trees: Map<string, Merkle>;
|
|
96
97
|
private queue: Buffer[];
|
|
97
98
|
|
|
@@ -104,7 +105,7 @@ class GetMerkleLeafProofCommand extends ClientCommand {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
execute(request: Buffer): Buffer {
|
|
107
|
-
const req = request.subarray(1);
|
|
108
|
+
const req = Buffer.from(request.subarray(1));
|
|
108
109
|
|
|
109
110
|
if (req.length < 32 + 1 + 1) {
|
|
110
111
|
throw new Error("Invalid request, expected at least 34 bytes");
|
|
@@ -162,7 +163,7 @@ class GetMerkleLeafProofCommand extends ClientCommand {
|
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
|
|
165
|
-
class GetMerkleLeafIndexCommand extends ClientCommand {
|
|
166
|
+
export class GetMerkleLeafIndexCommand extends ClientCommand {
|
|
166
167
|
private known_trees: Map<string, Merkle>;
|
|
167
168
|
|
|
168
169
|
code = ClientCommandCode.GET_MERKLE_LEAF_INDEX;
|
|
@@ -173,7 +174,7 @@ class GetMerkleLeafIndexCommand extends ClientCommand {
|
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
execute(request: Buffer): Buffer {
|
|
176
|
-
const req = request.subarray(1);
|
|
177
|
+
const req = Buffer.from(request.subarray(1));
|
|
177
178
|
|
|
178
179
|
if (req.length != 32 + 32) {
|
|
179
180
|
throw new Error("Invalid request, unexpected trailing data");
|
|
@@ -213,7 +214,7 @@ class GetMerkleLeafIndexCommand extends ClientCommand {
|
|
|
213
214
|
}
|
|
214
215
|
}
|
|
215
216
|
|
|
216
|
-
class GetMoreElementsCommand extends ClientCommand {
|
|
217
|
+
export class GetMoreElementsCommand extends ClientCommand {
|
|
217
218
|
queue: Buffer[];
|
|
218
219
|
|
|
219
220
|
code = ClientCommandCode.GET_MORE_ELEMENTS;
|
|
@@ -278,14 +279,9 @@ export class ClientCommandInterpreter {
|
|
|
278
279
|
|
|
279
280
|
private commands: Map<ClientCommandCode, ClientCommand> = new Map();
|
|
280
281
|
|
|
281
|
-
constructor(
|
|
282
|
-
private clientCommandCallback: (
|
|
283
|
-
code: ClientCommandCode,
|
|
284
|
-
data: Buffer
|
|
285
|
-
) => void
|
|
286
|
-
) {
|
|
282
|
+
constructor(progressCallback: () => void) {
|
|
287
283
|
const commands = [
|
|
288
|
-
new YieldCommand(this.yielded),
|
|
284
|
+
new YieldCommand(this.yielded, progressCallback),
|
|
289
285
|
new GetPreimageCommand(this.preimages, this.queue),
|
|
290
286
|
new GetMerkleLeafIndexCommand(this.roots),
|
|
291
287
|
new GetMerkleLeafProofCommand(this.roots, this.queue),
|
|
@@ -332,7 +328,7 @@ export class ClientCommandInterpreter {
|
|
|
332
328
|
if (!cmd) {
|
|
333
329
|
throw new Error(`Unexpected command code ${cmdCode}`);
|
|
334
330
|
}
|
|
335
|
-
|
|
331
|
+
|
|
336
332
|
return cmd.execute(request);
|
|
337
333
|
}
|
|
338
334
|
}
|