@shapeshiftoss/hdwallet-ledger-webusb 1.16.9 → 1.17.1-alpha.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/dist/adapter.js CHANGED
@@ -87,14 +87,14 @@ class WebUSBLedgerAdapter {
87
87
  });
88
88
  }
89
89
  get(device) {
90
- return this.keyring.get(device.serialNumber);
90
+ return core.mustBeDefined(this.keyring.get(device.serialNumber));
91
91
  }
92
92
  // without unique device identifiers, we should only ever have one ledger device on the keyring at a time
93
93
  initialize(usbDevice) {
94
94
  return __awaiter(this, void 0, void 0, function* () {
95
95
  const device = usbDevice !== null && usbDevice !== void 0 ? usbDevice : (yield transport_1.getFirstLedgerDevice());
96
96
  if (device) {
97
- yield this.keyring.remove(device.serialNumber);
97
+ yield this.keyring.remove(core.mustBeDefined(device.serialNumber));
98
98
  const ledgerTransport = yield transport_1.openTransport(device);
99
99
  const wallet = ledger.create(new transport_1.LedgerWebUsbTransport(device, ledgerTransport, this.keyring));
100
100
  this.keyring.add(wallet, device.serialNumber);
@@ -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,17 @@
1
1
  /// <reference types="w3c-web-usb" />
2
- /// <reference types="ledgerhq__hw-transport" />
3
2
  import Transport from "@ledgerhq/hw-transport";
4
3
  import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
5
4
  import * as core from "@shapeshiftoss/hdwallet-core";
6
5
  import * as ledger from "@shapeshiftoss/hdwallet-ledger";
6
+ import { LedgerResponse, LedgerTransportCoinType, LedgerTransportMethod, LedgerTransportMethodName } from "hdwallet-ledger/src/transport";
7
7
  export declare function getFirstLedgerDevice(): Promise<USBDevice | null>;
8
8
  export declare function openTransport(device: USBDevice): Promise<TransportWebUSB>;
9
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>;
10
11
  export declare class LedgerWebUsbTransport extends ledger.LedgerTransport {
11
12
  device: USBDevice;
12
13
  constructor(device: USBDevice, transport: Transport, keyring: core.Keyring);
13
14
  getDeviceID(): Promise<string>;
14
- call(coin: string, method: string, ...args: any[]): Promise<ledger.LedgerResponse>;
15
+ call<T extends LedgerTransportCoinType, U extends LedgerTransportMethodName<T>>(coin: T, method: U, ...args: Parameters<LedgerTransportMethod<T, U>>): Promise<LedgerResponse<T, U>>;
15
16
  }
16
17
  //# sourceMappingURL=transport.d.ts.map
@@ -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;AAmBzD,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,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,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;CA8ChG"}
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"}
package/dist/transport.js CHANGED
@@ -31,7 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
31
31
  return (mod && mod.__esModule) ? mod : { "default": mod };
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.LedgerWebUsbTransport = exports.getTransport = exports.openTransport = exports.getFirstLedgerDevice = void 0;
34
+ exports.LedgerWebUsbTransport = exports.translateCoinAndMethod = exports.getTransport = exports.openTransport = exports.getFirstLedgerDevice = void 0;
35
35
  const hw_app_btc_1 = __importDefault(require("@ledgerhq/hw-app-btc"));
36
36
  const hw_app_eth_1 = __importDefault(require("@ledgerhq/hw-app-eth"));
37
37
  const hw_transport_webusb_1 = __importDefault(require("@ledgerhq/hw-transport-webusb"));
@@ -41,19 +41,6 @@ const openApp_1 = __importDefault(require("@ledgerhq/live-common/lib/hw/openApp"
41
41
  const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
42
42
  const ledger = __importStar(require("@shapeshiftoss/hdwallet-ledger"));
43
43
  const RECORD_CONFORMANCE_MOCKS = false;
44
- function translateCoin(coin) {
45
- return core.mustBeDefined({
46
- Btc: hw_app_btc_1.default,
47
- Eth: hw_app_eth_1.default,
48
- }[coin]);
49
- }
50
- function translateMethod(method) {
51
- return core.mustBeDefined({
52
- getAppAndVersion: getAppAndVersion_1.default,
53
- getDeviceInfo: getDeviceInfo_1.default,
54
- openApp: openApp_1.default,
55
- }[method]);
56
- }
57
44
  function getFirstLedgerDevice() {
58
45
  return __awaiter(this, void 0, void 0, function* () {
59
46
  if (!(window && window.navigator.usb))
@@ -84,7 +71,7 @@ function getTransport() {
84
71
  if (!(window && window.navigator.usb))
85
72
  throw new core.WebUSBNotAvailable();
86
73
  try {
87
- return yield hw_transport_webusb_1.default.request();
74
+ return (yield hw_transport_webusb_1.default.request());
88
75
  }
89
76
  catch (err) {
90
77
  if (err.name === "TransportInterfaceNotAvailable") {
@@ -95,6 +82,47 @@ function getTransport() {
95
82
  });
96
83
  }
97
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");
117
+ }
118
+ }
119
+ }
120
+ default: {
121
+ throw new TypeError("coin");
122
+ }
123
+ }
124
+ }
125
+ exports.translateCoinAndMethod = translateCoinAndMethod;
98
126
  class LedgerWebUsbTransport extends ledger.LedgerTransport {
99
127
  constructor(device, transport, keyring) {
100
128
  super(transport, keyring);
@@ -102,45 +130,40 @@ class LedgerWebUsbTransport extends ledger.LedgerTransport {
102
130
  }
103
131
  getDeviceID() {
104
132
  return __awaiter(this, void 0, void 0, function* () {
105
- return this.device.deviceID;
133
+ return core.mustBeDefined(this.device.serialNumber);
106
134
  });
107
135
  }
108
136
  call(coin, method, ...args) {
109
137
  return __awaiter(this, void 0, void 0, function* () {
110
- let response;
138
+ this.emit(`ledger.${coin}.${method}.call`, core.makeEvent({
139
+ message_type: method,
140
+ from_wallet: false,
141
+ message: {},
142
+ }));
111
143
  try {
112
- this.emit(`ledger.${coin}.${method}.call`, core.makeEvent({
113
- message_type: method,
114
- from_wallet: false,
115
- message: {},
116
- }));
117
- if (coin) {
118
- response = yield new (translateCoin(coin))(this.transport)[method](...args);
119
- }
120
- else {
121
- response = yield translateMethod(method)(this.transport, ...args);
144
+ const methodInstance = translateCoinAndMethod(this.transport, coin, method);
145
+ const response = yield methodInstance(...args);
146
+ const result = {
147
+ success: true,
148
+ payload: response,
149
+ coin,
150
+ method,
151
+ };
152
+ if (RECORD_CONFORMANCE_MOCKS) {
153
+ // May need a slight amount of cleanup on escaping `'`s.
154
+ console.log(`this.memoize('${coin}', '${method}',\n JSON.parse('${JSON.stringify(args)}'),\n JSON.parse('${JSON.stringify(result)}'))`);
122
155
  }
156
+ return result;
123
157
  }
124
158
  catch (e) {
125
159
  console.error(e);
126
160
  return {
127
161
  success: false,
128
- payload: { error: e.toString() },
162
+ payload: { error: String(e) },
129
163
  coin,
130
164
  method,
131
165
  };
132
166
  }
133
- let result = {
134
- success: true,
135
- payload: response,
136
- coin,
137
- method,
138
- };
139
- if (RECORD_CONFORMANCE_MOCKS) {
140
- // May need a slight amount of cleanup on escaping `'`s.
141
- console.log(`this.memoize('${coin}', '${method}',\n JSON.parse('${JSON.stringify(args)}'),\n JSON.parse('${JSON.stringify(result)}'))`);
142
- }
143
- return result;
144
167
  });
145
168
  }
146
169
  }
@@ -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.16.9",
3
+ "version": "1.17.1-alpha.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,18 +14,18 @@
14
14
  "prepublishOnly": "yarn clean && yarn build"
15
15
  },
16
16
  "dependencies": {
17
- "@ledgerhq/hw-app-btc": "^4.73.4",
18
- "@ledgerhq/hw-app-eth": "^4.73.4",
19
- "@ledgerhq/hw-transport": "^4.73.4",
20
- "@ledgerhq/hw-transport-webusb": "^4.73.4",
21
- "@ledgerhq/live-common": "^8.4.1",
22
- "@shapeshiftoss/hdwallet-core": "1.16.9",
23
- "@shapeshiftoss/hdwallet-ledger": "1.16.9",
17
+ "@ledgerhq/hw-app-btc": "^6.7.0",
18
+ "@ledgerhq/hw-app-eth": "^6.9.0",
19
+ "@ledgerhq/hw-transport": "^6.7.0",
20
+ "@ledgerhq/hw-transport-webusb": "^6.7.0",
21
+ "@ledgerhq/live-common": "^21.8.2",
22
+ "@shapeshiftoss/hdwallet-core": "1.17.1-alpha.0",
23
+ "@shapeshiftoss/hdwallet-ledger": "1.17.1-alpha.0",
24
24
  "@types/w3c-web-usb": "^1.0.4",
25
25
  "typescript": "^4.3.2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/ledgerhq__hw-transport": "^4.21.3"
29
29
  },
30
- "gitHead": "9adb3d2babe801e6a406f2b42f8deeef2b6cc9dc"
30
+ "gitHead": "5786be030071788870263ad4fa5bb5ab6cc9c69d"
31
31
  }