@ledgerhq/hw-transport-webhid 6.27.13 → 6.27.14-next.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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @ledgerhq/hw-transport-webhid
2
2
 
3
+ ## 6.27.14-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`87d2349fd8`](https://github.com/LedgerHQ/ledger-live/commit/87d2349fd835e5deb39d1ee8dfcf3539f4195472)]:
8
+ - @ledgerhq/errors@6.12.5-next.0
9
+ - @ledgerhq/devices@8.0.2-next.0
10
+ - @ledgerhq/hw-transport@6.28.3-next.0
11
+
3
12
  ## 6.27.13
4
13
 
5
14
  ### Patch Changes
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -23,119 +8,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
24
9
  });
25
10
  };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __read = (this && this.__read) || function (o, n) {
54
- var m = typeof Symbol === "function" && o[Symbol.iterator];
55
- if (!m) return o;
56
- var i = m.call(o), r, ar = [], e;
57
- try {
58
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
59
- }
60
- catch (error) { e = { error: error }; }
61
- finally {
62
- try {
63
- if (r && !r.done && (m = i["return"])) m.call(i);
64
- }
65
- finally { if (e) throw e.error; }
66
- }
67
- return ar;
68
- };
69
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
70
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
71
13
  };
72
- exports.__esModule = true;
73
- var hw_transport_1 = __importDefault(require("@ledgerhq/hw-transport"));
74
- var hid_framing_1 = __importDefault(require("@ledgerhq/devices/hid-framing"));
75
- var devices_1 = require("@ledgerhq/devices");
76
- var logs_1 = require("@ledgerhq/logs");
77
- var errors_1 = require("@ledgerhq/errors");
78
- var ledgerDevices = [
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const hw_transport_1 = __importDefault(require("@ledgerhq/hw-transport"));
16
+ const hid_framing_1 = __importDefault(require("@ledgerhq/devices/hid-framing"));
17
+ const devices_1 = require("@ledgerhq/devices");
18
+ const logs_1 = require("@ledgerhq/logs");
19
+ const errors_1 = require("@ledgerhq/errors");
20
+ const ledgerDevices = [
79
21
  {
80
- vendorId: devices_1.ledgerUSBVendorId
22
+ vendorId: devices_1.ledgerUSBVendorId,
81
23
  },
82
24
  ];
83
- var isSupported = function () {
84
- return Promise.resolve(!!(window.navigator && window.navigator.hid));
85
- };
86
- var getHID = function () {
25
+ const isSupported = () => Promise.resolve(!!(window.navigator && window.navigator.hid));
26
+ const getHID = () => {
87
27
  // $FlowFixMe
88
- var hid = navigator.hid;
28
+ const { hid } = navigator;
89
29
  if (!hid)
90
30
  throw new errors_1.TransportError("navigator.hid is not supported", "HIDNotSupported");
91
31
  return hid;
92
32
  };
93
33
  function requestLedgerDevices() {
94
- return __awaiter(this, void 0, void 0, function () {
95
- var device;
96
- return __generator(this, function (_a) {
97
- switch (_a.label) {
98
- case 0: return [4 /*yield*/, getHID().requestDevice({
99
- filters: ledgerDevices
100
- })];
101
- case 1:
102
- device = _a.sent();
103
- if (Array.isArray(device))
104
- return [2 /*return*/, device];
105
- return [2 /*return*/, [device]];
106
- }
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const device = yield getHID().requestDevice({
36
+ filters: ledgerDevices,
107
37
  });
38
+ if (Array.isArray(device))
39
+ return device;
40
+ return [device];
108
41
  });
109
42
  }
110
43
  function getLedgerDevices() {
111
- return __awaiter(this, void 0, void 0, function () {
112
- var devices;
113
- return __generator(this, function (_a) {
114
- switch (_a.label) {
115
- case 0: return [4 /*yield*/, getHID().getDevices()];
116
- case 1:
117
- devices = _a.sent();
118
- return [2 /*return*/, devices.filter(function (d) { return d.vendorId === devices_1.ledgerUSBVendorId; })];
119
- }
120
- });
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const devices = yield getHID().getDevices();
46
+ return devices.filter((d) => d.vendorId === devices_1.ledgerUSBVendorId);
121
47
  });
122
48
  }
123
49
  function getFirstLedgerDevice() {
124
- return __awaiter(this, void 0, void 0, function () {
125
- var existingDevices, devices;
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0: return [4 /*yield*/, getLedgerDevices()];
129
- case 1:
130
- existingDevices = _a.sent();
131
- if (existingDevices.length > 0)
132
- return [2 /*return*/, existingDevices[0]];
133
- return [4 /*yield*/, requestLedgerDevices()];
134
- case 2:
135
- devices = _a.sent();
136
- return [2 /*return*/, devices[0]];
137
- }
138
- });
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const existingDevices = yield getLedgerDevices();
52
+ if (existingDevices.length > 0)
53
+ return existingDevices[0];
54
+ const devices = yield requestLedgerDevices();
55
+ return devices[0];
139
56
  });
140
57
  }
141
58
  /**
@@ -145,221 +62,166 @@ function getFirstLedgerDevice() {
145
62
  * ...
146
63
  * TransportWebHID.create().then(transport => ...)
147
64
  */
148
- var TransportWebHID = /** @class */ (function (_super) {
149
- __extends(TransportWebHID, _super);
150
- function TransportWebHID(device) {
151
- var _this = _super.call(this) || this;
152
- _this.channel = Math.floor(Math.random() * 0xffff);
153
- _this.packetSize = 64;
154
- _this.inputs = [];
155
- _this.read = function () {
156
- if (_this.inputs.length) {
157
- return Promise.resolve(_this.inputs.shift());
65
+ class TransportWebHID extends hw_transport_1.default {
66
+ constructor(device) {
67
+ super();
68
+ this.channel = Math.floor(Math.random() * 0xffff);
69
+ this.packetSize = 64;
70
+ this.inputs = [];
71
+ this.read = () => {
72
+ if (this.inputs.length) {
73
+ return Promise.resolve(this.inputs.shift());
158
74
  }
159
- return new Promise(function (success) {
160
- _this.inputCallback = success;
75
+ return new Promise((success) => {
76
+ this.inputCallback = success;
161
77
  });
162
78
  };
163
- _this.onInputReport = function (e) {
164
- var buffer = Buffer.from(e.data.buffer);
165
- if (_this.inputCallback) {
166
- _this.inputCallback(buffer);
167
- _this.inputCallback = null;
79
+ this.onInputReport = (e) => {
80
+ const buffer = Buffer.from(e.data.buffer);
81
+ if (this.inputCallback) {
82
+ this.inputCallback(buffer);
83
+ this.inputCallback = null;
168
84
  }
169
85
  else {
170
- _this.inputs.push(buffer);
86
+ this.inputs.push(buffer);
171
87
  }
172
88
  };
173
- _this._disconnectEmitted = false;
174
- _this._emitDisconnect = function (e) {
175
- if (_this._disconnectEmitted)
89
+ this._disconnectEmitted = false;
90
+ this._emitDisconnect = (e) => {
91
+ if (this._disconnectEmitted)
176
92
  return;
177
- _this._disconnectEmitted = true;
178
- _this.emit("disconnect", e);
93
+ this._disconnectEmitted = true;
94
+ this.emit("disconnect", e);
179
95
  };
180
96
  /**
181
97
  * Exchange with the device using APDU protocol.
182
98
  * @param apdu
183
99
  * @returns a promise of apdu response
184
100
  */
185
- _this.exchange = function (apdu) { return __awaiter(_this, void 0, void 0, function () {
186
- var b;
187
- var _this = this;
188
- return __generator(this, function (_a) {
189
- switch (_a.label) {
190
- case 0: return [4 /*yield*/, this.exchangeAtomicImpl(function () { return __awaiter(_this, void 0, void 0, function () {
191
- var _a, channel, packetSize, framing, blocks, i, result, acc, buffer;
192
- return __generator(this, function (_b) {
193
- switch (_b.label) {
194
- case 0:
195
- _a = this, channel = _a.channel, packetSize = _a.packetSize;
196
- (0, logs_1.log)("apdu", "=> " + apdu.toString("hex"));
197
- framing = (0, hid_framing_1["default"])(channel, packetSize);
198
- blocks = framing.makeBlocks(apdu);
199
- i = 0;
200
- _b.label = 1;
201
- case 1:
202
- if (!(i < blocks.length)) return [3 /*break*/, 4];
203
- return [4 /*yield*/, this.device.sendReport(0, blocks[i])];
204
- case 2:
205
- _b.sent();
206
- _b.label = 3;
207
- case 3:
208
- i++;
209
- return [3 /*break*/, 1];
210
- case 4:
211
- if (!!(result = framing.getReducedResult(acc))) return [3 /*break*/, 6];
212
- return [4 /*yield*/, this.read()];
213
- case 5:
214
- buffer = _b.sent();
215
- acc = framing.reduceResponse(acc, buffer);
216
- return [3 /*break*/, 4];
217
- case 6:
218
- (0, logs_1.log)("apdu", "<= " + result.toString("hex"));
219
- return [2 /*return*/, result];
220
- }
221
- });
222
- }); })["catch"](function (e) {
223
- if (e && e.message && e.message.includes("write")) {
224
- _this._emitDisconnect(e);
225
- throw new errors_1.DisconnectedDeviceDuringOperation(e.message);
226
- }
227
- throw e;
228
- })];
229
- case 1:
230
- b = _a.sent();
231
- return [2 /*return*/, b];
101
+ this.exchange = (apdu) => __awaiter(this, void 0, void 0, function* () {
102
+ const b = yield this.exchangeAtomicImpl(() => __awaiter(this, void 0, void 0, function* () {
103
+ const { channel, packetSize } = this;
104
+ (0, logs_1.log)("apdu", "=> " + apdu.toString("hex"));
105
+ const framing = (0, hid_framing_1.default)(channel, packetSize);
106
+ // Write...
107
+ const blocks = framing.makeBlocks(apdu);
108
+ for (let i = 0; i < blocks.length; i++) {
109
+ yield this.device.sendReport(0, blocks[i]);
232
110
  }
111
+ // Read...
112
+ let result;
113
+ let acc;
114
+ while (!(result = framing.getReducedResult(acc))) {
115
+ const buffer = yield this.read();
116
+ acc = framing.reduceResponse(acc, buffer);
117
+ }
118
+ (0, logs_1.log)("apdu", "<= " + result.toString("hex"));
119
+ return result;
120
+ })).catch((e) => {
121
+ if (e && e.message && e.message.includes("write")) {
122
+ this._emitDisconnect(e);
123
+ throw new errors_1.DisconnectedDeviceDuringOperation(e.message);
124
+ }
125
+ throw e;
233
126
  });
234
- }); };
235
- _this.device = device;
236
- _this.deviceModel =
127
+ return b;
128
+ });
129
+ this.device = device;
130
+ this.deviceModel =
237
131
  typeof device.productId === "number"
238
132
  ? (0, devices_1.identifyUSBProductId)(device.productId)
239
133
  : undefined;
240
- device.addEventListener("inputreport", _this.onInputReport);
241
- return _this;
134
+ device.addEventListener("inputreport", this.onInputReport);
242
135
  }
243
136
  /**
244
137
  * Similar to create() except it will always display the device permission (even if some devices are already accepted).
245
138
  */
246
- TransportWebHID.request = function () {
247
- return __awaiter(this, void 0, void 0, function () {
248
- var _a, device;
249
- return __generator(this, function (_b) {
250
- switch (_b.label) {
251
- case 0: return [4 /*yield*/, requestLedgerDevices()];
252
- case 1:
253
- _a = __read.apply(void 0, [_b.sent(), 1]), device = _a[0];
254
- return [2 /*return*/, TransportWebHID.open(device)];
255
- }
256
- });
139
+ static request() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ const [device] = yield requestLedgerDevices();
142
+ return TransportWebHID.open(device);
257
143
  });
258
- };
144
+ }
259
145
  /**
260
146
  * Similar to create() except it will never display the device permission (it returns a Promise<?Transport>, null if it fails to find a device).
261
147
  */
262
- TransportWebHID.openConnected = function () {
263
- return __awaiter(this, void 0, void 0, function () {
264
- var devices;
265
- return __generator(this, function (_a) {
266
- switch (_a.label) {
267
- case 0: return [4 /*yield*/, getLedgerDevices()];
268
- case 1:
269
- devices = _a.sent();
270
- if (devices.length === 0)
271
- return [2 /*return*/, null];
272
- return [2 /*return*/, TransportWebHID.open(devices[0])];
273
- }
274
- });
148
+ static openConnected() {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const devices = yield getLedgerDevices();
151
+ if (devices.length === 0)
152
+ return null;
153
+ return TransportWebHID.open(devices[0]);
275
154
  });
276
- };
155
+ }
277
156
  /**
278
157
  * Create a Ledger transport with a HIDDevice
279
158
  */
280
- TransportWebHID.open = function (device) {
281
- return __awaiter(this, void 0, void 0, function () {
282
- var transport, onDisconnect;
283
- return __generator(this, function (_a) {
284
- switch (_a.label) {
285
- case 0: return [4 /*yield*/, device.open()];
286
- case 1:
287
- _a.sent();
288
- transport = new TransportWebHID(device);
289
- onDisconnect = function (e) {
290
- if (device === e.device) {
291
- getHID().removeEventListener("disconnect", onDisconnect);
292
- transport._emitDisconnect(new errors_1.DisconnectedDevice());
293
- }
294
- };
295
- getHID().addEventListener("disconnect", onDisconnect);
296
- return [2 /*return*/, transport];
159
+ static open(device) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ yield device.open();
162
+ const transport = new TransportWebHID(device);
163
+ const onDisconnect = (e) => {
164
+ if (device === e.device) {
165
+ getHID().removeEventListener("disconnect", onDisconnect);
166
+ transport._emitDisconnect(new errors_1.DisconnectedDevice());
297
167
  }
298
- });
168
+ };
169
+ getHID().addEventListener("disconnect", onDisconnect);
170
+ return transport;
299
171
  });
300
- };
172
+ }
301
173
  /**
302
174
  * Release the transport device
303
175
  */
304
- TransportWebHID.prototype.close = function () {
305
- return __awaiter(this, void 0, void 0, function () {
306
- return __generator(this, function (_a) {
307
- switch (_a.label) {
308
- case 0: return [4 /*yield*/, this.exchangeBusyPromise];
309
- case 1:
310
- _a.sent();
311
- this.device.removeEventListener("inputreport", this.onInputReport);
312
- return [4 /*yield*/, this.device.close()];
313
- case 2:
314
- _a.sent();
315
- return [2 /*return*/];
316
- }
317
- });
318
- });
319
- };
320
- TransportWebHID.prototype.setScrambleKey = function () { };
321
- /**
322
- * Check if WebUSB transport is supported.
323
- */
324
- TransportWebHID.isSupported = isSupported;
325
- /**
326
- * List the WebUSB devices that was previously authorized by the user.
327
- */
328
- TransportWebHID.list = getLedgerDevices;
329
- /**
330
- * Actively listen to WebUSB devices and emit ONE device
331
- * that was either accepted before, if not it will trigger the native permission UI.
332
- *
333
- * Important: it must be called in the context of a UI click!
334
- */
335
- TransportWebHID.listen = function (observer) {
336
- var unsubscribed = false;
337
- getFirstLedgerDevice().then(function (device) {
338
- if (!device) {
339
- observer.error(new errors_1.TransportOpenUserCancelled("Access denied to use Ledger device"));
340
- }
341
- else if (!unsubscribed) {
342
- var deviceModel = typeof device.productId === "number"
343
- ? (0, devices_1.identifyUSBProductId)(device.productId)
344
- : undefined;
345
- observer.next({
346
- type: "add",
347
- descriptor: device,
348
- deviceModel: deviceModel
349
- });
350
- observer.complete();
351
- }
352
- }, function (error) {
353
- observer.error(new errors_1.TransportOpenUserCancelled(error.message));
176
+ close() {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ yield this.exchangeBusyPromise;
179
+ this.device.removeEventListener("inputreport", this.onInputReport);
180
+ yield this.device.close();
354
181
  });
355
- function unsubscribe() {
356
- unsubscribed = true;
182
+ }
183
+ setScrambleKey() { }
184
+ }
185
+ exports.default = TransportWebHID;
186
+ /**
187
+ * Check if WebUSB transport is supported.
188
+ */
189
+ TransportWebHID.isSupported = isSupported;
190
+ /**
191
+ * List the WebUSB devices that was previously authorized by the user.
192
+ */
193
+ TransportWebHID.list = getLedgerDevices;
194
+ /**
195
+ * Actively listen to WebUSB devices and emit ONE device
196
+ * that was either accepted before, if not it will trigger the native permission UI.
197
+ *
198
+ * Important: it must be called in the context of a UI click!
199
+ */
200
+ TransportWebHID.listen = (observer) => {
201
+ let unsubscribed = false;
202
+ getFirstLedgerDevice().then((device) => {
203
+ if (!device) {
204
+ observer.error(new errors_1.TransportOpenUserCancelled("Access denied to use Ledger device"));
357
205
  }
358
- return {
359
- unsubscribe: unsubscribe
360
- };
206
+ else if (!unsubscribed) {
207
+ const deviceModel = typeof device.productId === "number"
208
+ ? (0, devices_1.identifyUSBProductId)(device.productId)
209
+ : undefined;
210
+ observer.next({
211
+ type: "add",
212
+ descriptor: device,
213
+ deviceModel,
214
+ });
215
+ observer.complete();
216
+ }
217
+ }, (error) => {
218
+ observer.error(new errors_1.TransportOpenUserCancelled(error.message));
219
+ });
220
+ function unsubscribe() {
221
+ unsubscribed = true;
222
+ }
223
+ return {
224
+ unsubscribe,
361
225
  };
362
- return TransportWebHID;
363
- }(hw_transport_1["default"]));
364
- exports["default"] = TransportWebHID;
226
+ };
365
227
  //# sourceMappingURL=TransportWebHID.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransportWebHID.js","sourceRoot":"","sources":["../src/TransportWebHID.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransportWebHID.js","sourceRoot":"","sources":["../src/TransportWebHID.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,3 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -22,115 +7,47 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
23
8
  });
24
9
  };
25
- var __generator = (this && this.__generator) || function (thisArg, body) {
26
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
- function verb(n) { return function (v) { return step([n, v]); }; }
29
- function step(op) {
30
- if (f) throw new TypeError("Generator is already executing.");
31
- while (_) try {
32
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
- if (y = 0, t) op = [op[0] & 2, t.value];
34
- switch (op[0]) {
35
- case 0: case 1: t = op; break;
36
- case 4: _.label++; return { value: op[1], done: false };
37
- case 5: _.label++; y = op[1]; op = [0]; continue;
38
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
- default:
40
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
- if (t[2]) _.ops.pop();
45
- _.trys.pop(); continue;
46
- }
47
- op = body.call(thisArg, _);
48
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
- }
51
- };
52
- var __read = (this && this.__read) || function (o, n) {
53
- var m = typeof Symbol === "function" && o[Symbol.iterator];
54
- if (!m) return o;
55
- var i = m.call(o), r, ar = [], e;
56
- try {
57
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
58
- }
59
- catch (error) { e = { error: error }; }
60
- finally {
61
- try {
62
- if (r && !r.done && (m = i["return"])) m.call(i);
63
- }
64
- finally { if (e) throw e.error; }
65
- }
66
- return ar;
67
- };
68
10
  import Transport from "@ledgerhq/hw-transport";
69
11
  import hidFraming from "@ledgerhq/devices/hid-framing";
70
12
  import { identifyUSBProductId, ledgerUSBVendorId } from "@ledgerhq/devices";
71
13
  import { log } from "@ledgerhq/logs";
72
14
  import { TransportOpenUserCancelled, DisconnectedDeviceDuringOperation, DisconnectedDevice, TransportError, } from "@ledgerhq/errors";
73
- var ledgerDevices = [
15
+ const ledgerDevices = [
74
16
  {
75
- vendorId: ledgerUSBVendorId
17
+ vendorId: ledgerUSBVendorId,
76
18
  },
77
19
  ];
78
- var isSupported = function () {
79
- return Promise.resolve(!!(window.navigator && window.navigator.hid));
80
- };
81
- var getHID = function () {
20
+ const isSupported = () => Promise.resolve(!!(window.navigator && window.navigator.hid));
21
+ const getHID = () => {
82
22
  // $FlowFixMe
83
- var hid = navigator.hid;
23
+ const { hid } = navigator;
84
24
  if (!hid)
85
25
  throw new TransportError("navigator.hid is not supported", "HIDNotSupported");
86
26
  return hid;
87
27
  };
88
28
  function requestLedgerDevices() {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var device;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0: return [4 /*yield*/, getHID().requestDevice({
94
- filters: ledgerDevices
95
- })];
96
- case 1:
97
- device = _a.sent();
98
- if (Array.isArray(device))
99
- return [2 /*return*/, device];
100
- return [2 /*return*/, [device]];
101
- }
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const device = yield getHID().requestDevice({
31
+ filters: ledgerDevices,
102
32
  });
33
+ if (Array.isArray(device))
34
+ return device;
35
+ return [device];
103
36
  });
104
37
  }
105
38
  function getLedgerDevices() {
106
- return __awaiter(this, void 0, void 0, function () {
107
- var devices;
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0: return [4 /*yield*/, getHID().getDevices()];
111
- case 1:
112
- devices = _a.sent();
113
- return [2 /*return*/, devices.filter(function (d) { return d.vendorId === ledgerUSBVendorId; })];
114
- }
115
- });
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const devices = yield getHID().getDevices();
41
+ return devices.filter((d) => d.vendorId === ledgerUSBVendorId);
116
42
  });
117
43
  }
118
44
  function getFirstLedgerDevice() {
119
- return __awaiter(this, void 0, void 0, function () {
120
- var existingDevices, devices;
121
- return __generator(this, function (_a) {
122
- switch (_a.label) {
123
- case 0: return [4 /*yield*/, getLedgerDevices()];
124
- case 1:
125
- existingDevices = _a.sent();
126
- if (existingDevices.length > 0)
127
- return [2 /*return*/, existingDevices[0]];
128
- return [4 /*yield*/, requestLedgerDevices()];
129
- case 2:
130
- devices = _a.sent();
131
- return [2 /*return*/, devices[0]];
132
- }
133
- });
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const existingDevices = yield getLedgerDevices();
47
+ if (existingDevices.length > 0)
48
+ return existingDevices[0];
49
+ const devices = yield requestLedgerDevices();
50
+ return devices[0];
134
51
  });
135
52
  }
136
53
  /**
@@ -140,221 +57,165 @@ function getFirstLedgerDevice() {
140
57
  * ...
141
58
  * TransportWebHID.create().then(transport => ...)
142
59
  */
143
- var TransportWebHID = /** @class */ (function (_super) {
144
- __extends(TransportWebHID, _super);
145
- function TransportWebHID(device) {
146
- var _this = _super.call(this) || this;
147
- _this.channel = Math.floor(Math.random() * 0xffff);
148
- _this.packetSize = 64;
149
- _this.inputs = [];
150
- _this.read = function () {
151
- if (_this.inputs.length) {
152
- return Promise.resolve(_this.inputs.shift());
60
+ export default class TransportWebHID extends Transport {
61
+ constructor(device) {
62
+ super();
63
+ this.channel = Math.floor(Math.random() * 0xffff);
64
+ this.packetSize = 64;
65
+ this.inputs = [];
66
+ this.read = () => {
67
+ if (this.inputs.length) {
68
+ return Promise.resolve(this.inputs.shift());
153
69
  }
154
- return new Promise(function (success) {
155
- _this.inputCallback = success;
70
+ return new Promise((success) => {
71
+ this.inputCallback = success;
156
72
  });
157
73
  };
158
- _this.onInputReport = function (e) {
159
- var buffer = Buffer.from(e.data.buffer);
160
- if (_this.inputCallback) {
161
- _this.inputCallback(buffer);
162
- _this.inputCallback = null;
74
+ this.onInputReport = (e) => {
75
+ const buffer = Buffer.from(e.data.buffer);
76
+ if (this.inputCallback) {
77
+ this.inputCallback(buffer);
78
+ this.inputCallback = null;
163
79
  }
164
80
  else {
165
- _this.inputs.push(buffer);
81
+ this.inputs.push(buffer);
166
82
  }
167
83
  };
168
- _this._disconnectEmitted = false;
169
- _this._emitDisconnect = function (e) {
170
- if (_this._disconnectEmitted)
84
+ this._disconnectEmitted = false;
85
+ this._emitDisconnect = (e) => {
86
+ if (this._disconnectEmitted)
171
87
  return;
172
- _this._disconnectEmitted = true;
173
- _this.emit("disconnect", e);
88
+ this._disconnectEmitted = true;
89
+ this.emit("disconnect", e);
174
90
  };
175
91
  /**
176
92
  * Exchange with the device using APDU protocol.
177
93
  * @param apdu
178
94
  * @returns a promise of apdu response
179
95
  */
180
- _this.exchange = function (apdu) { return __awaiter(_this, void 0, void 0, function () {
181
- var b;
182
- var _this = this;
183
- return __generator(this, function (_a) {
184
- switch (_a.label) {
185
- case 0: return [4 /*yield*/, this.exchangeAtomicImpl(function () { return __awaiter(_this, void 0, void 0, function () {
186
- var _a, channel, packetSize, framing, blocks, i, result, acc, buffer;
187
- return __generator(this, function (_b) {
188
- switch (_b.label) {
189
- case 0:
190
- _a = this, channel = _a.channel, packetSize = _a.packetSize;
191
- log("apdu", "=> " + apdu.toString("hex"));
192
- framing = hidFraming(channel, packetSize);
193
- blocks = framing.makeBlocks(apdu);
194
- i = 0;
195
- _b.label = 1;
196
- case 1:
197
- if (!(i < blocks.length)) return [3 /*break*/, 4];
198
- return [4 /*yield*/, this.device.sendReport(0, blocks[i])];
199
- case 2:
200
- _b.sent();
201
- _b.label = 3;
202
- case 3:
203
- i++;
204
- return [3 /*break*/, 1];
205
- case 4:
206
- if (!!(result = framing.getReducedResult(acc))) return [3 /*break*/, 6];
207
- return [4 /*yield*/, this.read()];
208
- case 5:
209
- buffer = _b.sent();
210
- acc = framing.reduceResponse(acc, buffer);
211
- return [3 /*break*/, 4];
212
- case 6:
213
- log("apdu", "<= " + result.toString("hex"));
214
- return [2 /*return*/, result];
215
- }
216
- });
217
- }); })["catch"](function (e) {
218
- if (e && e.message && e.message.includes("write")) {
219
- _this._emitDisconnect(e);
220
- throw new DisconnectedDeviceDuringOperation(e.message);
221
- }
222
- throw e;
223
- })];
224
- case 1:
225
- b = _a.sent();
226
- return [2 /*return*/, b];
96
+ this.exchange = (apdu) => __awaiter(this, void 0, void 0, function* () {
97
+ const b = yield this.exchangeAtomicImpl(() => __awaiter(this, void 0, void 0, function* () {
98
+ const { channel, packetSize } = this;
99
+ log("apdu", "=> " + apdu.toString("hex"));
100
+ const framing = hidFraming(channel, packetSize);
101
+ // Write...
102
+ const blocks = framing.makeBlocks(apdu);
103
+ for (let i = 0; i < blocks.length; i++) {
104
+ yield this.device.sendReport(0, blocks[i]);
227
105
  }
106
+ // Read...
107
+ let result;
108
+ let acc;
109
+ while (!(result = framing.getReducedResult(acc))) {
110
+ const buffer = yield this.read();
111
+ acc = framing.reduceResponse(acc, buffer);
112
+ }
113
+ log("apdu", "<= " + result.toString("hex"));
114
+ return result;
115
+ })).catch((e) => {
116
+ if (e && e.message && e.message.includes("write")) {
117
+ this._emitDisconnect(e);
118
+ throw new DisconnectedDeviceDuringOperation(e.message);
119
+ }
120
+ throw e;
228
121
  });
229
- }); };
230
- _this.device = device;
231
- _this.deviceModel =
122
+ return b;
123
+ });
124
+ this.device = device;
125
+ this.deviceModel =
232
126
  typeof device.productId === "number"
233
127
  ? identifyUSBProductId(device.productId)
234
128
  : undefined;
235
- device.addEventListener("inputreport", _this.onInputReport);
236
- return _this;
129
+ device.addEventListener("inputreport", this.onInputReport);
237
130
  }
238
131
  /**
239
132
  * Similar to create() except it will always display the device permission (even if some devices are already accepted).
240
133
  */
241
- TransportWebHID.request = function () {
242
- return __awaiter(this, void 0, void 0, function () {
243
- var _a, device;
244
- return __generator(this, function (_b) {
245
- switch (_b.label) {
246
- case 0: return [4 /*yield*/, requestLedgerDevices()];
247
- case 1:
248
- _a = __read.apply(void 0, [_b.sent(), 1]), device = _a[0];
249
- return [2 /*return*/, TransportWebHID.open(device)];
250
- }
251
- });
134
+ static request() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const [device] = yield requestLedgerDevices();
137
+ return TransportWebHID.open(device);
252
138
  });
253
- };
139
+ }
254
140
  /**
255
141
  * Similar to create() except it will never display the device permission (it returns a Promise<?Transport>, null if it fails to find a device).
256
142
  */
257
- TransportWebHID.openConnected = function () {
258
- return __awaiter(this, void 0, void 0, function () {
259
- var devices;
260
- return __generator(this, function (_a) {
261
- switch (_a.label) {
262
- case 0: return [4 /*yield*/, getLedgerDevices()];
263
- case 1:
264
- devices = _a.sent();
265
- if (devices.length === 0)
266
- return [2 /*return*/, null];
267
- return [2 /*return*/, TransportWebHID.open(devices[0])];
268
- }
269
- });
143
+ static openConnected() {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const devices = yield getLedgerDevices();
146
+ if (devices.length === 0)
147
+ return null;
148
+ return TransportWebHID.open(devices[0]);
270
149
  });
271
- };
150
+ }
272
151
  /**
273
152
  * Create a Ledger transport with a HIDDevice
274
153
  */
275
- TransportWebHID.open = function (device) {
276
- return __awaiter(this, void 0, void 0, function () {
277
- var transport, onDisconnect;
278
- return __generator(this, function (_a) {
279
- switch (_a.label) {
280
- case 0: return [4 /*yield*/, device.open()];
281
- case 1:
282
- _a.sent();
283
- transport = new TransportWebHID(device);
284
- onDisconnect = function (e) {
285
- if (device === e.device) {
286
- getHID().removeEventListener("disconnect", onDisconnect);
287
- transport._emitDisconnect(new DisconnectedDevice());
288
- }
289
- };
290
- getHID().addEventListener("disconnect", onDisconnect);
291
- return [2 /*return*/, transport];
154
+ static open(device) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ yield device.open();
157
+ const transport = new TransportWebHID(device);
158
+ const onDisconnect = (e) => {
159
+ if (device === e.device) {
160
+ getHID().removeEventListener("disconnect", onDisconnect);
161
+ transport._emitDisconnect(new DisconnectedDevice());
292
162
  }
293
- });
163
+ };
164
+ getHID().addEventListener("disconnect", onDisconnect);
165
+ return transport;
294
166
  });
295
- };
167
+ }
296
168
  /**
297
169
  * Release the transport device
298
170
  */
299
- TransportWebHID.prototype.close = function () {
300
- return __awaiter(this, void 0, void 0, function () {
301
- return __generator(this, function (_a) {
302
- switch (_a.label) {
303
- case 0: return [4 /*yield*/, this.exchangeBusyPromise];
304
- case 1:
305
- _a.sent();
306
- this.device.removeEventListener("inputreport", this.onInputReport);
307
- return [4 /*yield*/, this.device.close()];
308
- case 2:
309
- _a.sent();
310
- return [2 /*return*/];
311
- }
312
- });
313
- });
314
- };
315
- TransportWebHID.prototype.setScrambleKey = function () { };
316
- /**
317
- * Check if WebUSB transport is supported.
318
- */
319
- TransportWebHID.isSupported = isSupported;
320
- /**
321
- * List the WebUSB devices that was previously authorized by the user.
322
- */
323
- TransportWebHID.list = getLedgerDevices;
324
- /**
325
- * Actively listen to WebUSB devices and emit ONE device
326
- * that was either accepted before, if not it will trigger the native permission UI.
327
- *
328
- * Important: it must be called in the context of a UI click!
329
- */
330
- TransportWebHID.listen = function (observer) {
331
- var unsubscribed = false;
332
- getFirstLedgerDevice().then(function (device) {
333
- if (!device) {
334
- observer.error(new TransportOpenUserCancelled("Access denied to use Ledger device"));
335
- }
336
- else if (!unsubscribed) {
337
- var deviceModel = typeof device.productId === "number"
338
- ? identifyUSBProductId(device.productId)
339
- : undefined;
340
- observer.next({
341
- type: "add",
342
- descriptor: device,
343
- deviceModel: deviceModel
344
- });
345
- observer.complete();
346
- }
347
- }, function (error) {
348
- observer.error(new TransportOpenUserCancelled(error.message));
171
+ close() {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ yield this.exchangeBusyPromise;
174
+ this.device.removeEventListener("inputreport", this.onInputReport);
175
+ yield this.device.close();
349
176
  });
350
- function unsubscribe() {
351
- unsubscribed = true;
177
+ }
178
+ setScrambleKey() { }
179
+ }
180
+ /**
181
+ * Check if WebUSB transport is supported.
182
+ */
183
+ TransportWebHID.isSupported = isSupported;
184
+ /**
185
+ * List the WebUSB devices that was previously authorized by the user.
186
+ */
187
+ TransportWebHID.list = getLedgerDevices;
188
+ /**
189
+ * Actively listen to WebUSB devices and emit ONE device
190
+ * that was either accepted before, if not it will trigger the native permission UI.
191
+ *
192
+ * Important: it must be called in the context of a UI click!
193
+ */
194
+ TransportWebHID.listen = (observer) => {
195
+ let unsubscribed = false;
196
+ getFirstLedgerDevice().then((device) => {
197
+ if (!device) {
198
+ observer.error(new TransportOpenUserCancelled("Access denied to use Ledger device"));
352
199
  }
353
- return {
354
- unsubscribe: unsubscribe
355
- };
200
+ else if (!unsubscribed) {
201
+ const deviceModel = typeof device.productId === "number"
202
+ ? identifyUSBProductId(device.productId)
203
+ : undefined;
204
+ observer.next({
205
+ type: "add",
206
+ descriptor: device,
207
+ deviceModel,
208
+ });
209
+ observer.complete();
210
+ }
211
+ }, (error) => {
212
+ observer.error(new TransportOpenUserCancelled(error.message));
213
+ });
214
+ function unsubscribe() {
215
+ unsubscribed = true;
216
+ }
217
+ return {
218
+ unsubscribe,
356
219
  };
357
- return TransportWebHID;
358
- }(Transport));
359
- export default TransportWebHID;
220
+ };
360
221
  //# sourceMappingURL=TransportWebHID.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransportWebHID.js","sourceRoot":"","sources":["../src/TransportWebHID.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransportWebHID.js","sourceRoot":"","sources":["../src/TransportWebHID.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-transport-webhid",
3
- "version": "6.27.13",
3
+ "version": "6.27.14-next.0",
4
4
  "description": "Ledger Hardware Wallet WebHID implementation of the communication layer",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -26,9 +26,9 @@
26
26
  "types": "lib/TransportWebHID.d.ts",
27
27
  "license": "Apache-2.0",
28
28
  "dependencies": {
29
- "@ledgerhq/devices": "^8.0.1",
30
- "@ledgerhq/errors": "^6.12.4",
31
- "@ledgerhq/hw-transport": "^6.28.2",
29
+ "@ledgerhq/devices": "^8.0.2-next.0",
30
+ "@ledgerhq/errors": "^6.12.5-next.0",
31
+ "@ledgerhq/hw-transport": "^6.28.3-next.0",
32
32
  "@ledgerhq/logs": "^6.10.1"
33
33
  },
34
34
  "devDependencies": {
@@ -37,11 +37,10 @@
37
37
  "@types/w3c-web-hid": "^1.0.2",
38
38
  "documentation": "13.2.4",
39
39
  "jest": "^28.1.1",
40
- "rimraf": "^4.1.2",
40
+ "rimraf": "^4.4.1",
41
41
  "source-map-support": "^0.5.21",
42
42
  "ts-jest": "^28.0.5",
43
- "ts-node": "^10.4.0",
44
- "typescript": "^4"
43
+ "ts-node": "^10.4.0"
45
44
  },
46
45
  "gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
47
46
  "scripts": {