@shapeshiftoss/hdwallet-ledger-webusb 1.50.9 → 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
@@ -32,15 +32,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.WebUSBLedgerAdapter = void 0;
35
+ exports.WebUSBLedgerAdapter = exports.VENDOR_ID = void 0;
36
36
  const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
37
37
  const ledger = __importStar(require("@shapeshiftoss/hdwallet-ledger"));
38
38
  const transport_1 = require("./transport");
39
- const VENDOR_ID = 11415;
40
- const APP_NAVIGATION_DELAY = 3000;
39
+ exports.VENDOR_ID = 11415;
41
40
  class WebUSBLedgerAdapter {
42
41
  constructor(keyring) {
43
- this.currentEventTimestamp = 0;
44
42
  this.keyring = keyring;
45
43
  if (window && window.navigator.usb) {
46
44
  window.navigator.usb.addEventListener("connect", this.handleConnectWebUSBLedger.bind(this));
@@ -53,11 +51,9 @@ class WebUSBLedgerAdapter {
53
51
  handleConnectWebUSBLedger(e) {
54
52
  var _a, _b, _c, _d;
55
53
  return __awaiter(this, void 0, void 0, function* () {
56
- if (e.device.vendorId !== VENDOR_ID)
54
+ if (e.device.vendorId !== exports.VENDOR_ID)
57
55
  return;
58
- this.currentEventTimestamp = Date.now();
59
56
  try {
60
- yield this.initialize(e.device);
61
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);
62
58
  }
63
59
  catch (error) {
@@ -66,51 +62,30 @@ class WebUSBLedgerAdapter {
66
62
  });
67
63
  }
68
64
  handleDisconnectWebUSBLedger(e) {
65
+ var _a, _b;
69
66
  return __awaiter(this, void 0, void 0, function* () {
70
- if (e.device.vendorId !== VENDOR_ID)
67
+ if (e.device.vendorId !== exports.VENDOR_ID)
71
68
  return;
72
- const ts = Date.now();
73
- this.currentEventTimestamp = ts;
74
- // timeout gives time to detect if it is an app navigation based disconnect/connect event
75
- // discard disconnect event if it is not the most recent event received
76
- setTimeout(() => __awaiter(this, void 0, void 0, function* () {
77
- var _a, _b;
78
- if (ts !== this.currentEventTimestamp)
79
- return;
80
- try {
81
- if (e.device.serialNumber)
82
- yield this.keyring.remove(e.device.serialNumber);
83
- }
84
- catch (error) {
85
- console.error(error);
86
- }
87
- finally {
88
- 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);
89
- }
90
- }), 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);
91
70
  });
92
71
  }
93
72
  get(device) {
94
73
  return core.mustBeDefined(this.keyring.get(device.serialNumber));
95
74
  }
96
75
  // without unique device identifiers, we should only ever have one ledger device on the keyring at a time
97
- initialize(usbDevice) {
76
+ initialize(ledgerTransport) {
98
77
  return __awaiter(this, void 0, void 0, function* () {
99
- const device = usbDevice !== null && usbDevice !== void 0 ? usbDevice : (yield (0, transport_1.getFirstLedgerDevice)());
100
- if (device) {
101
- yield this.keyring.remove(core.mustBeDefined(device.serialNumber));
102
- const ledgerTransport = yield (0, transport_1.openTransport)(device);
103
- const wallet = ledger.create(new transport_1.LedgerWebUsbTransport(device, ledgerTransport, this.keyring));
104
- this.keyring.add(wallet, device.serialNumber);
105
- }
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);
106
81
  return Object.keys(this.keyring.wallets).length;
107
82
  });
108
83
  }
109
84
  pairDevice() {
110
85
  return __awaiter(this, void 0, void 0, function* () {
111
- const ledgerTransport = yield (0, transport_1.getTransport)();
86
+ const ledgerTransport = yield (0, transport_1.getLedgerTransport)();
112
87
  const device = ledgerTransport.device;
113
- yield this.initialize(device);
88
+ yield this.initialize(ledgerTransport);
114
89
  return core.mustBeDefined(this.keyring.get(device.serialNumber));
115
90
  });
116
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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"}
@@ -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;CA4CjC"}
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
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.LedgerWebUsbTransport = exports.translateCoinAndMethod = exports.getTransport = exports.openTransport = exports.getFirstLedgerDevice = void 0;
38
+ exports.LedgerWebUsbTransport = exports.translateCoinAndMethod = exports.getLedgerTransport = exports.getFirstLedgerDevice = void 0;
39
39
  const hw_app_btc_1 = __importDefault(require("@ledgerhq/hw-app-btc"));
40
40
  const hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
41
41
  const hw_transport_webusb_1 = __importDefault(require("@ledgerhq/hw-transport-webusb"));
@@ -44,22 +44,23 @@ const getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/lib/hw/ge
44
44
  const openApp_1 = __importDefault(require("@ledgerhq/live-common/lib/hw/openApp"));
45
45
  const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
46
46
  const ledger = __importStar(require("@shapeshiftoss/hdwallet-ledger"));
47
+ const dist_1 = __importDefault(require("p-queue/dist"));
48
+ const adapter_1 = require("./adapter");
47
49
  const RECORD_CONFORMANCE_MOCKS = false;
50
+ const callsQueue = new dist_1.default({ concurrency: 1, interval: 1000 });
48
51
  function getFirstLedgerDevice() {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- if (!(window && window.navigator.usb))
51
- throw new core.WebUSBNotAvailable();
52
- const existingDevices = yield hw_transport_webusb_1.default.list();
53
- return existingDevices.length > 0 ? existingDevices[0] : null;
54
- });
55
- }
56
- exports.getFirstLedgerDevice = getFirstLedgerDevice;
57
- function openTransport(device) {
58
52
  return __awaiter(this, void 0, void 0, function* () {
59
53
  if (!(window && window.navigator.usb))
60
54
  throw new core.WebUSBNotAvailable();
61
55
  try {
62
- 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;
63
64
  }
64
65
  catch (err) {
65
66
  if (core.isIndexable(err) && err.name === "TransportInterfaceNotAvailable") {
@@ -69,62 +70,75 @@ function openTransport(device) {
69
70
  }
70
71
  });
71
72
  }
72
- exports.openTransport = openTransport;
73
- 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) {
74
102
  return __awaiter(this, void 0, void 0, function* () {
75
- if (!(window && window.navigator.usb))
76
- throw new core.WebUSBNotAvailable();
77
- try {
78
- return (yield hw_transport_webusb_1.default.request());
79
- }
80
- catch (err) {
81
- if (core.isIndexable(err) && err.name === "TransportInterfaceNotAvailable") {
82
- 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;
83
108
  }
84
- throw new core.WebUSBCouldNotPair("Ledger", String(core.isIndexable(err) ? err.message : err));
85
- }
86
- });
87
- }
88
- exports.getTransport = getTransport;
89
- function translateCoinAndMethod(transport, coin, method) {
90
- switch (coin) {
91
- case "Btc": {
92
- const btc = new hw_app_btc_1.default(transport);
93
- const methodInstance = btc[method].bind(btc);
94
- return methodInstance;
95
- }
96
- case "Eth": {
97
- const eth = new hw_app_eth_1.default(transport);
98
- const methodInstance = eth[method].bind(eth);
99
- return methodInstance;
100
- }
101
- case null: {
102
- switch (method) {
103
- case "decorateAppAPIMethods": {
104
- const out = transport.decorateAppAPIMethods.bind(transport);
105
- return out;
106
- }
107
- case "getAppAndVersion": {
108
- const out = getAppAndVersion_1.default.bind(undefined, transport);
109
- return out;
110
- }
111
- case "getDeviceInfo": {
112
- const out = getDeviceInfo_1.default.bind(undefined, transport);
113
- return out;
114
- }
115
- case "openApp": {
116
- const out = openApp_1.default.bind(undefined, transport);
117
- return out;
118
- }
119
- default: {
120
- 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
+ }
121
135
  }
122
136
  }
137
+ default: {
138
+ throw new TypeError("coin");
139
+ }
123
140
  }
124
- default: {
125
- throw new TypeError("coin");
126
- }
127
- }
141
+ });
128
142
  }
129
143
  exports.translateCoinAndMethod = translateCoinAndMethod;
130
144
  class LedgerWebUsbTransport extends ledger.LedgerTransport {
@@ -145,10 +159,12 @@ class LedgerWebUsbTransport extends ledger.LedgerTransport {
145
159
  message: {},
146
160
  }));
147
161
  try {
148
- const methodInstance = translateCoinAndMethod(this.transport, coin, method);
162
+ const transport = yield (0, exports.getLedgerTransport)();
163
+ const methodInstance = yield translateCoinAndMethod(transport, coin, method);
149
164
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
150
165
  // @ts-ignore ts is drunk, stop pls
151
- const response = yield methodInstance(...args);
166
+ const response = yield callsQueue.add(() => methodInstance(...args));
167
+ yield transport.close();
152
168
  const result = {
153
169
  success: true,
154
170
  payload: response,
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAuC;AACvC,sEAAuC;AAEvC,wFAA4D;AAC5D,qGAA6E;AAC7E,+FAAuE;AACvE,mFAA2D;AAC3D,mEAAqD;AACrD,uEAAyD;AAQzD,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC,SAAsB,oBAAoB;;QACxC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3E,MAAM,eAAe,GAAG,MAAM,6BAAe,CAAC,IAAI,EAAE,CAAC;QAErD,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;CAAA;AAND,oDAMC;AAED,SAAsB,aAAa,CAAC,MAAiB;;QACnD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3E,IAAI;YACF,OAAO,MAAM,6BAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3C;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,gCAAgC,EAAE;gBAC1E,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aACzC;YAED,MAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACtG;IACH,CAAC;CAAA;AAZD,sCAYC;AAED,SAAsB,YAAY;;QAChC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE3E,IAAI;YACF,OAAO,CAAC,MAAM,6BAAe,CAAC,OAAO,EAAE,CAAoB,CAAC;SAC7D;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,gCAAgC,EAAE;gBAC1E,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aACzC;YAED,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAChG;IACH,CAAC;CAAA;AAZD,oCAYC;AAED,SAAgB,sBAAsB,CACpC,SAAoB,EACpB,IAAO,EACP,MAAS;IAET,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,oBAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,MAA0C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,OAAO,cAA6C,CAAC;SACtD;QACD,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,oBAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,GAAG,CAAC,MAA0C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,OAAO,cAA6C,CAAC;SACtD;QACD,KAAK,IAAI,CAAC,CAAC;YACT,QAAQ,MAAM,EAAE;gBACd,KAAK,uBAAuB,CAAC,CAAC;oBAC5B,MAAM,GAAG,GACP,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClD,OAAO,GAAkC,CAAC;iBAC3C;gBACD,KAAK,kBAAkB,CAAC,CAAC;oBACvB,MAAM,GAAG,GAAoD,0BAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACzG,OAAO,GAAkC,CAAC;iBAC3C;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,MAAM,GAAG,GAAiD,uBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACnG,OAAO,GAAkC,CAAC;iBAC3C;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,MAAM,GAAG,GAA2C,iBAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACvF,OAAO,GAAkC,CAAC;iBAC3C;gBACD,OAAO,CAAC,CAAC;oBACP,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC/B;aACF;SACF;QACD,OAAO,CAAC,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;KACF;AACH,CAAC;AA5CD,wDA4CC;AAED,MAAa,qBAAsB,SAAQ,MAAM,CAAC,eAAe;IAG/D,YAAY,MAAiB,EAAE,SAAoB,EAAE,OAAqB;QACxE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEY,WAAW;;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;KAAA;IAEY,IAAI,CACf,IAAO,EACP,MAAS,EACT,GAAG,IAA6C;;YAEhD,IAAI,CAAC,IAAI,CACP,UAAU,IAAI,IAAI,MAAM,OAAO,EAC/B,IAAI,CAAC,SAAS,CAAC;gBACb,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,EAAE;aACZ,CAAC,CACH,CAAC;YAEF,IAAI;gBACF,MAAM,cAAc,GAAgC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACzG,6DAA6D;gBAC7D,mCAAmC;gBACnC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,QAAQ;oBACjB,IAAI;oBACJ,MAAM;iBACP,CAAC;gBAEF,IAAI,wBAAwB,EAAE;oBAC5B,wDAAwD;oBACxD,OAAO,CAAC,IAAI,CACV,iBAAiB,IAAI,OAAO,MAAM,qBAAqB,IAAI,CAAC,SAAS,CACnE,IAAI,CACL,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CACnD,CAAC;iBACH;gBAED,6DAA6D;gBAC7D,mCAAmC;gBACnC,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC7B,IAAI;oBACJ,MAAM;iBACP,CAAC;aACH;QACH,CAAC;KAAA;CACF;AA5DD,sDA4DC"}
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.9",
3
+ "version": "1.50.10",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,18 +14,20 @@
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.9",
23
- "@shapeshiftoss/hdwallet-ledger": "^1.50.9",
24
- "@types/w3c-web-usb": "^1.0.4"
22
+ "@ledgerhq/logs": "^6.10.1",
23
+ "@shapeshiftoss/hdwallet-core": "1.50.10",
24
+ "@shapeshiftoss/hdwallet-ledger": "1.50.10",
25
+ "@types/w3c-web-usb": "^1.0.4",
26
+ "p-queue": "^7.4.1"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@types/ledgerhq__hw-transport": "^4.21.3",
28
30
  "@types/w3c-web-usb": "^1.0.6"
29
31
  },
30
- "gitHead": "a7390af4dea957596394910f6b85112311868dbd"
32
+ "gitHead": "e82f3956c9e13e7609ff0134fae611dec7b5815b"
31
33
  }