@shapeshiftoss/hdwallet-ledger-webusb 1.50.8 → 1.50.10

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/dist/adapter.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  /// <reference types="w3c-web-usb" />
2
+ import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
2
3
  import * as core from "@shapeshiftoss/hdwallet-core";
3
4
  import * as ledger from "@shapeshiftoss/hdwallet-ledger";
5
+ export declare const VENDOR_ID = 11415;
4
6
  export declare class WebUSBLedgerAdapter {
5
7
  keyring: core.Keyring;
6
- currentEventTimestamp: number;
7
8
  constructor(keyring: core.Keyring);
8
9
  static useKeyring(keyring: core.Keyring): WebUSBLedgerAdapter;
9
10
  private handleConnectWebUSBLedger;
10
11
  private handleDisconnectWebUSBLedger;
11
12
  get(device: USBDevice): ledger.LedgerHDWallet;
12
- initialize(usbDevice?: USBDevice): Promise<number>;
13
+ initialize(ledgerTransport?: TransportWebUSB): Promise<number>;
13
14
  pairDevice(): Promise<ledger.LedgerHDWallet>;
14
15
  }
15
16
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AAOzD,qBAAa,mBAAmB;IAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;IACtB,qBAAqB,SAAK;gBAEd,OAAO,EAAE,IAAI,CAAC,OAAO;WASnB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO;YAIhC,yBAAyB;YAmBzB,4BAA4B;IAwBnC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,cAAc;IAKvC,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;CAS1D"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AAIzD,eAAO,MAAM,SAAS,QAAQ,CAAC;AAE/B,qBAAa,mBAAmB;IAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;gBAEV,OAAO,EAAE,IAAI,CAAC,OAAO;WASnB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO;YAIhC,yBAAyB;YAgBzB,4BAA4B;IASnC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,cAAc;IAKvC,UAAU,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAY9D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;CAS1D"}
package/dist/adapter.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -28,15 +32,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
28
32
  });
29
33
  };
30
34
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.WebUSBLedgerAdapter = void 0;
35
+ exports.WebUSBLedgerAdapter = exports.VENDOR_ID = void 0;
32
36
  const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
33
37
  const ledger = __importStar(require("@shapeshiftoss/hdwallet-ledger"));
34
38
  const transport_1 = require("./transport");
35
- const VENDOR_ID = 11415;
36
- const APP_NAVIGATION_DELAY = 3000;
39
+ exports.VENDOR_ID = 11415;
37
40
  class WebUSBLedgerAdapter {
38
41
  constructor(keyring) {
39
- this.currentEventTimestamp = 0;
40
42
  this.keyring = keyring;
41
43
  if (window && window.navigator.usb) {
42
44
  window.navigator.usb.addEventListener("connect", this.handleConnectWebUSBLedger.bind(this));
@@ -49,11 +51,9 @@ class WebUSBLedgerAdapter {
49
51
  handleConnectWebUSBLedger(e) {
50
52
  var _a, _b, _c, _d;
51
53
  return __awaiter(this, void 0, void 0, function* () {
52
- if (e.device.vendorId !== VENDOR_ID)
54
+ if (e.device.vendorId !== exports.VENDOR_ID)
53
55
  return;
54
- this.currentEventTimestamp = Date.now();
55
56
  try {
56
- yield this.initialize(e.device);
57
57
  this.keyring.emit([(_a = e.device.manufacturerName) !== null && _a !== void 0 ? _a : "", (_b = e.device.productName) !== null && _b !== void 0 ? _b : "", core.Events.CONNECT], e.device.serialNumber);
58
58
  }
59
59
  catch (error) {
@@ -62,51 +62,30 @@ class WebUSBLedgerAdapter {
62
62
  });
63
63
  }
64
64
  handleDisconnectWebUSBLedger(e) {
65
+ var _a, _b;
65
66
  return __awaiter(this, void 0, void 0, function* () {
66
- if (e.device.vendorId !== VENDOR_ID)
67
+ if (e.device.vendorId !== exports.VENDOR_ID)
67
68
  return;
68
- const ts = Date.now();
69
- this.currentEventTimestamp = ts;
70
- // timeout gives time to detect if it is an app navigation based disconnect/connect event
71
- // discard disconnect event if it is not the most recent event received
72
- setTimeout(() => __awaiter(this, void 0, void 0, function* () {
73
- var _a, _b;
74
- if (ts !== this.currentEventTimestamp)
75
- return;
76
- try {
77
- if (e.device.serialNumber)
78
- yield this.keyring.remove(e.device.serialNumber);
79
- }
80
- catch (error) {
81
- console.error(error);
82
- }
83
- finally {
84
- this.keyring.emit([(_a = e.device.manufacturerName) !== null && _a !== void 0 ? _a : "", (_b = e.device.productName) !== null && _b !== void 0 ? _b : "", core.Events.DISCONNECT], e.device.serialNumber);
85
- }
86
- }), APP_NAVIGATION_DELAY);
69
+ this.keyring.emit([(_a = e.device.manufacturerName) !== null && _a !== void 0 ? _a : "", (_b = e.device.productName) !== null && _b !== void 0 ? _b : "", core.Events.DISCONNECT], e.device.serialNumber);
87
70
  });
88
71
  }
89
72
  get(device) {
90
73
  return core.mustBeDefined(this.keyring.get(device.serialNumber));
91
74
  }
92
75
  // without unique device identifiers, we should only ever have one ledger device on the keyring at a time
93
- initialize(usbDevice) {
76
+ initialize(ledgerTransport) {
94
77
  return __awaiter(this, void 0, void 0, function* () {
95
- const device = usbDevice !== null && usbDevice !== void 0 ? usbDevice : (yield transport_1.getFirstLedgerDevice());
96
- if (device) {
97
- yield this.keyring.remove(core.mustBeDefined(device.serialNumber));
98
- const ledgerTransport = yield transport_1.openTransport(device);
99
- const wallet = ledger.create(new transport_1.LedgerWebUsbTransport(device, ledgerTransport, this.keyring));
100
- this.keyring.add(wallet, device.serialNumber);
101
- }
78
+ const transport = ledgerTransport !== null && ledgerTransport !== void 0 ? ledgerTransport : (yield (0, transport_1.getLedgerTransport)());
79
+ const wallet = ledger.create(new transport_1.LedgerWebUsbTransport(transport.device, transport, this.keyring));
80
+ this.keyring.add(wallet, transport.device.serialNumber);
102
81
  return Object.keys(this.keyring.wallets).length;
103
82
  });
104
83
  }
105
84
  pairDevice() {
106
85
  return __awaiter(this, void 0, void 0, function* () {
107
- const ledgerTransport = yield transport_1.getTransport();
86
+ const ledgerTransport = yield (0, transport_1.getLedgerTransport)();
108
87
  const device = ledgerTransport.device;
109
- yield this.initialize(device);
88
+ yield this.initialize(ledgerTransport);
110
89
  return core.mustBeDefined(this.keyring.get(device.serialNumber));
111
90
  });
112
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B"}
@@ -1,16 +1,14 @@
1
1
  /// <reference types="w3c-web-usb" />
2
- import Transport from "@ledgerhq/hw-transport";
3
2
  import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
4
3
  import * as core from "@shapeshiftoss/hdwallet-core";
5
4
  import * as ledger from "@shapeshiftoss/hdwallet-ledger";
6
5
  import { LedgerResponse, LedgerTransportCoinType, LedgerTransportMethod, LedgerTransportMethodName } from "hdwallet-ledger/src/transport";
7
- export declare function getFirstLedgerDevice(): Promise<USBDevice | null>;
8
- export declare function openTransport(device: USBDevice): Promise<TransportWebUSB>;
9
- export declare function getTransport(): Promise<TransportWebUSB>;
10
- export declare function translateCoinAndMethod<T extends LedgerTransportCoinType, U extends LedgerTransportMethodName<T>>(transport: Transport, coin: T, method: U): LedgerTransportMethod<T, U>;
6
+ export declare function getFirstLedgerDevice(): Promise<USBDevice>;
7
+ export declare const getLedgerTransport: () => Promise<TransportWebUSB>;
8
+ export declare function translateCoinAndMethod<T extends LedgerTransportCoinType, U extends LedgerTransportMethodName<T>>(transport: TransportWebUSB, coin: T, method: U): Promise<LedgerTransportMethod<T, U>>;
11
9
  export declare class LedgerWebUsbTransport extends ledger.LedgerTransport {
12
10
  device: USBDevice;
13
- constructor(device: USBDevice, transport: Transport, keyring: core.Keyring);
11
+ constructor(device: USBDevice, transport: TransportWebUSB, keyring: core.Keyring);
14
12
  getDeviceID(): Promise<string>;
15
13
  call<T extends LedgerTransportCoinType, U extends LedgerTransportMethodName<T>>(coin: T, method: U, ...args: Parameters<LedgerTransportMethod<T, U>>): Promise<LedgerResponse<T, U>>;
16
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";AAEA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAI5D,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAIvC,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMtE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAY/E;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAY7D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EAC9G,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,GACR,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAwC7B;AAED,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,eAAe;IAC/D,MAAM,EAAE,SAAS,CAAC;gBAEN,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;IAK7D,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,IAAI,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EACzF,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAwCjC"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";AAEA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAI5D,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AASvC,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,SAAS,CAAC,CAoB/D;AAED,eAAO,MAAM,kBAAkB,QAAa,QAAQ,eAAe,CA6BlE,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EACpH,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAwCtC;AAED,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,eAAe;IAC/D,MAAM,EAAE,SAAS,CAAC;gBAEN,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;IAKnE,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,IAAI,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,yBAAyB,CAAC,CAAC,CAAC,EACzF,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CA8CjC"}
package/dist/transport.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -31,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
31
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
32
36
  };
33
37
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.LedgerWebUsbTransport = exports.translateCoinAndMethod = exports.getTransport = exports.openTransport = exports.getFirstLedgerDevice = void 0;
38
+ exports.LedgerWebUsbTransport = exports.translateCoinAndMethod = exports.getLedgerTransport = exports.getFirstLedgerDevice = void 0;
35
39
  const hw_app_btc_1 = __importDefault(require("@ledgerhq/hw-app-btc"));
36
40
  const hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
37
41
  const hw_transport_webusb_1 = __importDefault(require("@ledgerhq/hw-transport-webusb"));
@@ -40,22 +44,23 @@ const getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/lib/hw/ge
40
44
  const openApp_1 = __importDefault(require("@ledgerhq/live-common/lib/hw/openApp"));
41
45
  const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
42
46
  const ledger = __importStar(require("@shapeshiftoss/hdwallet-ledger"));
47
+ const dist_1 = __importDefault(require("p-queue/dist"));
48
+ const adapter_1 = require("./adapter");
43
49
  const RECORD_CONFORMANCE_MOCKS = false;
50
+ const callsQueue = new dist_1.default({ concurrency: 1, interval: 1000 });
44
51
  function getFirstLedgerDevice() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- if (!(window && window.navigator.usb))
47
- throw new core.WebUSBNotAvailable();
48
- const existingDevices = yield hw_transport_webusb_1.default.list();
49
- return existingDevices.length > 0 ? existingDevices[0] : null;
50
- });
51
- }
52
- exports.getFirstLedgerDevice = getFirstLedgerDevice;
53
- function openTransport(device) {
54
52
  return __awaiter(this, void 0, void 0, function* () {
55
53
  if (!(window && window.navigator.usb))
56
54
  throw new core.WebUSBNotAvailable();
57
55
  try {
58
- return yield hw_transport_webusb_1.default.open(device);
56
+ const existingDevices = yield hw_transport_webusb_1.default.list();
57
+ const maybeExistingDevice = existingDevices === null || existingDevices === void 0 ? void 0 : existingDevices[0];
58
+ if (maybeExistingDevice)
59
+ return maybeExistingDevice;
60
+ const requestedDevice = yield window.navigator.usb.requestDevice({
61
+ filters: [{ vendorId: adapter_1.VENDOR_ID }],
62
+ });
63
+ return requestedDevice;
59
64
  }
60
65
  catch (err) {
61
66
  if (core.isIndexable(err) && err.name === "TransportInterfaceNotAvailable") {
@@ -65,62 +70,75 @@ function openTransport(device) {
65
70
  }
66
71
  });
67
72
  }
68
- exports.openTransport = openTransport;
69
- function getTransport() {
73
+ exports.getFirstLedgerDevice = getFirstLedgerDevice;
74
+ const getLedgerTransport = () => __awaiter(void 0, void 0, void 0, function* () {
75
+ const device = yield getFirstLedgerDevice();
76
+ if (!device)
77
+ throw new Error("No device found");
78
+ yield device.open();
79
+ if (device.configuration === null)
80
+ yield device.selectConfiguration(1);
81
+ try {
82
+ yield device.reset();
83
+ }
84
+ catch (err) {
85
+ console.warn(err);
86
+ }
87
+ const usbInterface = device.configurations[0].interfaces.find(({ alternates }) => alternates.some(({ interfaceClass }) => interfaceClass === 255));
88
+ if (!usbInterface)
89
+ throw new Error("No Ledger device found");
90
+ try {
91
+ yield device.claimInterface(usbInterface.interfaceNumber);
92
+ }
93
+ catch (error) {
94
+ yield device.close();
95
+ console.error(error);
96
+ throw new Error(error.message);
97
+ }
98
+ return new hw_transport_webusb_1.default(device, usbInterface.interfaceNumber);
99
+ });
100
+ exports.getLedgerTransport = getLedgerTransport;
101
+ function translateCoinAndMethod(transport, coin, method) {
70
102
  return __awaiter(this, void 0, void 0, function* () {
71
- if (!(window && window.navigator.usb))
72
- throw new core.WebUSBNotAvailable();
73
- try {
74
- return (yield hw_transport_webusb_1.default.request());
75
- }
76
- catch (err) {
77
- if (core.isIndexable(err) && err.name === "TransportInterfaceNotAvailable") {
78
- throw new core.ConflictingApp("Ledger");
103
+ switch (coin) {
104
+ case "Btc": {
105
+ const btc = new hw_app_btc_1.default({ transport });
106
+ const methodInstance = btc[method].bind(btc);
107
+ return methodInstance;
79
108
  }
80
- throw new core.WebUSBCouldNotPair("Ledger", String(core.isIndexable(err) ? err.message : err));
81
- }
82
- });
83
- }
84
- exports.getTransport = getTransport;
85
- function translateCoinAndMethod(transport, coin, method) {
86
- switch (coin) {
87
- case "Btc": {
88
- const btc = new hw_app_btc_1.default(transport);
89
- const methodInstance = btc[method].bind(btc);
90
- return methodInstance;
91
- }
92
- case "Eth": {
93
- const eth = new hw_app_eth_1.default(transport);
94
- const methodInstance = eth[method].bind(eth);
95
- return methodInstance;
96
- }
97
- case null: {
98
- switch (method) {
99
- case "decorateAppAPIMethods": {
100
- const out = transport.decorateAppAPIMethods.bind(transport);
101
- return out;
102
- }
103
- case "getAppAndVersion": {
104
- const out = getAppAndVersion_1.default.bind(undefined, transport);
105
- return out;
106
- }
107
- case "getDeviceInfo": {
108
- const out = getDeviceInfo_1.default.bind(undefined, transport);
109
- return out;
110
- }
111
- case "openApp": {
112
- const out = openApp_1.default.bind(undefined, transport);
113
- return out;
114
- }
115
- default: {
116
- throw new TypeError("method");
109
+ case "Eth": {
110
+ const eth = new hw_app_eth_1.default(transport);
111
+ const methodInstance = eth[method].bind(eth);
112
+ return methodInstance;
113
+ }
114
+ case null: {
115
+ switch (method) {
116
+ case "decorateAppAPIMethods": {
117
+ const out = transport.decorateAppAPIMethods.bind(transport);
118
+ return out;
119
+ }
120
+ case "getAppAndVersion": {
121
+ const out = getAppAndVersion_1.default.bind(undefined, transport);
122
+ return out;
123
+ }
124
+ case "getDeviceInfo": {
125
+ const out = getDeviceInfo_1.default.bind(undefined, transport);
126
+ return out;
127
+ }
128
+ case "openApp": {
129
+ const out = openApp_1.default.bind(undefined, transport);
130
+ return out;
131
+ }
132
+ default: {
133
+ throw new TypeError("method");
134
+ }
117
135
  }
118
136
  }
137
+ default: {
138
+ throw new TypeError("coin");
139
+ }
119
140
  }
120
- default: {
121
- throw new TypeError("coin");
122
- }
123
- }
141
+ });
124
142
  }
125
143
  exports.translateCoinAndMethod = translateCoinAndMethod;
126
144
  class LedgerWebUsbTransport extends ledger.LedgerTransport {
@@ -141,8 +159,12 @@ class LedgerWebUsbTransport extends ledger.LedgerTransport {
141
159
  message: {},
142
160
  }));
143
161
  try {
144
- const methodInstance = translateCoinAndMethod(this.transport, coin, method);
145
- const response = yield methodInstance(...args);
162
+ const transport = yield (0, exports.getLedgerTransport)();
163
+ const methodInstance = yield translateCoinAndMethod(transport, coin, method);
164
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
165
+ // @ts-ignore ts is drunk, stop pls
166
+ const response = yield callsQueue.add(() => methodInstance(...args));
167
+ yield transport.close();
146
168
  const result = {
147
169
  success: true,
148
170
  payload: response,
@@ -153,6 +175,8 @@ class LedgerWebUsbTransport extends ledger.LedgerTransport {
153
175
  // May need a slight amount of cleanup on escaping `'`s.
154
176
  console.info(`this.memoize('${coin}', '${method}',\n JSON.parse('${JSON.stringify(args)}'),\n JSON.parse('${JSON.stringify(result)}'))`);
155
177
  }
178
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
179
+ // @ts-ignore ts is drunk, stop pls
156
180
  return result;
157
181
  }
158
182
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/hdwallet-ledger-webusb",
3
- "version": "1.50.8",
3
+ "version": "1.50.10",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -10,23 +10,24 @@
10
10
  "types": "dist/index.d.ts",
11
11
  "scripts": {
12
12
  "build": "tsc --build",
13
- "clean": "rm -rf dist tsconfig.tsbuildinfo",
13
+ "clean": "rm -rf dist node_modules tsconfig.tsbuildinfo",
14
14
  "prepublishOnly": "yarn clean && yarn build"
15
15
  },
16
16
  "dependencies": {
17
- "@ledgerhq/hw-app-btc": "^6.7.0",
17
+ "@ledgerhq/hw-app-btc": "^10.0.8",
18
18
  "@ledgerhq/hw-app-eth": "^6.9.0",
19
19
  "@ledgerhq/hw-transport": "^6.7.0",
20
20
  "@ledgerhq/hw-transport-webusb": "^6.7.0",
21
21
  "@ledgerhq/live-common": "^21.8.2",
22
- "@shapeshiftoss/hdwallet-core": "^1.50.8",
23
- "@shapeshiftoss/hdwallet-ledger": "^1.50.8",
22
+ "@ledgerhq/logs": "^6.10.1",
23
+ "@shapeshiftoss/hdwallet-core": "1.50.10",
24
+ "@shapeshiftoss/hdwallet-ledger": "1.50.10",
24
25
  "@types/w3c-web-usb": "^1.0.4",
25
- "typescript": "^4.3.2"
26
+ "p-queue": "^7.4.1"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@types/ledgerhq__hw-transport": "^4.21.3",
29
30
  "@types/w3c-web-usb": "^1.0.6"
30
31
  },
31
- "gitHead": "0baebbd79a7efa847a5f2419422b9abb523cd0bc"
32
+ "gitHead": "e82f3956c9e13e7609ff0134fae611dec7b5815b"
32
33
  }