@shapeshiftoss/hdwallet-keepkey-nodehid 1.20.0 → 1.21.1

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
@@ -6,6 +6,7 @@ export declare const HIDKeepKeyAdapterDelegate: {
6
6
  readonly serialNumber: string;
7
7
  }>;
8
8
  getDevices(): Promise<Device[]>;
9
+ getDevice(serialNumber?: string | undefined): Promise<Device>;
9
10
  getTransportDelegate(device: Device): Promise<TransportDelegate>;
10
11
  };
11
12
  export declare const Adapter: keepkey.AdapterConstructor<{
@@ -14,6 +15,7 @@ export declare const Adapter: keepkey.AdapterConstructor<{
14
15
  readonly serialNumber: string;
15
16
  }>;
16
17
  getDevices(): Promise<Device[]>;
18
+ getDevice(serialNumber?: string | undefined): Promise<Device>;
17
19
  getTransportDelegate(device: Device): Promise<TransportDelegate>;
18
20
  }>;
19
21
  export declare const HIDKeepKeyAdapter: keepkey.AdapterConstructor<{
@@ -22,6 +24,7 @@ export declare const HIDKeepKeyAdapter: keepkey.AdapterConstructor<{
22
24
  readonly serialNumber: string;
23
25
  }>;
24
26
  getDevices(): Promise<Device[]>;
27
+ getDevice(serialNumber?: string | undefined): Promise<Device>;
25
28
  getTransportDelegate(device: Device): Promise<TransportDelegate>;
26
29
  }>;
27
30
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGxD,eAAO,MAAM,yBAAyB;0BACR,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;iCAKF,MAAM;CAG1C,CAAC;AAEF,eAAO,MAAM,OAAO;0BApBU,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;iCAKF,MAAM;EAKmC,CAAC;AAC/E,eAAO,MAAM,iBAAiB;0BArBA,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;iCAKF,MAAM;EAMH,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGxD,eAAO,MAAM,yBAAyB;0BACR,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;kDAKG,QAAQ,MAAM,CAAC;iCAOpB,MAAM;CAG1C,CAAC;AAEF,eAAO,MAAM,OAAO;0BA3BU,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;kDAKG,QAAQ,MAAM,CAAC;iCAOpB,MAAM;EAKmC,CAAC;AAC/E,eAAO,MAAM,iBAAiB;0BA5BA,MAAM;;;;kBAUd,QAAQ,MAAM,EAAE,CAAC;kDAKG,QAAQ,MAAM,CAAC;iCAOpB,MAAM;EAMH,CAAC"}
package/dist/adapter.js CHANGED
@@ -51,6 +51,14 @@ exports.HIDKeepKeyAdapterDelegate = {
51
51
  return hid.devices().filter((d) => d.path !== undefined && d.serialNumber !== undefined).filter((d) => d.vendorId === utils_1.VENDOR_ID && d.productId === utils_1.PRODUCT_ID);
52
52
  });
53
53
  },
54
+ getDevice(serialNumber) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const out = (yield this.getDevices()).find(serialNumber !== undefined ? (x) => x.serialNumber === serialNumber : () => true);
57
+ if (!out)
58
+ throw new Error("device not found");
59
+ return out;
60
+ });
61
+ },
54
62
  getTransportDelegate(device) {
55
63
  return __awaiter(this, void 0, void 0, function* () {
56
64
  return new transport_1.TransportDelegate(device);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA2D;AAC3D,8CAAgC;AAEhC,2CAAwD;AACxD,mCAAgD;AAEnC,QAAA,yBAAyB,GAAG;IACjC,aAAa,CAAC,MAAc;;YAChC,OAAO;gBACL,IAAI,WAAW;oBACb,OAAO,MAAM,CAAC,OAAO,CAAC;gBACxB,CAAC;gBACD,IAAI,YAAY;oBACd,OAAO,MAAM,CAAC,YAAY,CAAC;gBAC7B,CAAC;aACF,CAAC;QACJ,CAAC;KAAA;IACK,UAAU;;YACd,OAAQ,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAAc,CAAC,MAAM,CAC3G,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAS,IAAI,CAAC,CAAC,SAAS,KAAK,kBAAU,CAC9D,CAAC;QACJ,CAAC;KAAA;IACK,oBAAoB,CAAC,MAAc;;YACvC,OAAO,IAAI,6BAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;KAAA;CACF,CAAC;AAEW,QAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAyB,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,eAAO,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA2D;AAC3D,8CAAgC;AAEhC,2CAAwD;AACxD,mCAAgD;AAEnC,QAAA,yBAAyB,GAAG;IACjC,aAAa,CAAC,MAAc;;YAChC,OAAO;gBACL,IAAI,WAAW;oBACb,OAAO,MAAM,CAAC,OAAO,CAAC;gBACxB,CAAC;gBACD,IAAI,YAAY;oBACd,OAAO,MAAM,CAAC,YAAY,CAAC;gBAC7B,CAAC;aACF,CAAC;QACJ,CAAC;KAAA;IACK,UAAU;;YACd,OAAQ,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAAc,CAAC,MAAM,CAC3G,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAS,IAAI,CAAC,CAAC,SAAS,KAAK,kBAAU,CAC9D,CAAC;QACJ,CAAC;KAAA;IACK,SAAS,CAAC,YAAqB;;YACnC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CACxC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CACjF,CAAC;YACF,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IACK,oBAAoB,CAAC,MAAc;;YACvC,OAAO,IAAI,6BAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;KAAA;CACF,CAAC;AAEW,QAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,iCAAyB,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,eAAO,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import * as keepkey from "@shapeshiftoss/hdwallet-keepkey";
2
2
  import * as hid from "node-hid";
3
- export declare function requestPair(): hid.HID;
4
3
  export declare type Device = hid.Device & {
5
4
  path: string;
6
5
  serialNumber: string;
7
6
  };
8
7
  export declare class TransportDelegate implements keepkey.TransportDelegate {
9
- hidRef: hid.HID;
8
+ hidRef: hid.HID | undefined;
10
9
  hidDevice: Device;
11
10
  constructor(hidDevice: Device, hidRef?: hid.HID);
12
11
  getDeviceID(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC,wBAAgB,WAAW,IAAI,GAAG,CAAC,GAAG,CAErC;AAED,oBAAY,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,qBAAa,iBAAkB,YAAW,OAAO,CAAC,iBAAiB;IAC1D,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG;IAKzC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAKhC,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAIjD"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,oBAAY,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,qBAAa,iBAAkB,YAAW,OAAO,CAAC,iBAAiB;IAC1D,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG;IAKzC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAOhC,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAMjD"}
package/dist/transport.js CHANGED
@@ -28,13 +28,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
28
28
  });
29
29
  };
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.TransportDelegate = exports.requestPair = void 0;
31
+ exports.TransportDelegate = void 0;
32
32
  const hid = __importStar(require("node-hid"));
33
- const utils_1 = require("./utils");
34
- function requestPair() {
35
- return new hid.HID(utils_1.VENDOR_ID, utils_1.PRODUCT_ID);
36
- }
37
- exports.requestPair = requestPair;
38
33
  class TransportDelegate {
39
34
  constructor(hidDevice, hidRef) {
40
35
  this.hidDevice = hidDevice;
@@ -47,21 +42,22 @@ class TransportDelegate {
47
42
  }
48
43
  isOpened() {
49
44
  return __awaiter(this, void 0, void 0, function* () {
50
- return this.hidDevice.interface > -1;
45
+ return !!this.hidRef;
51
46
  });
52
47
  }
53
48
  connect() {
54
49
  return __awaiter(this, void 0, void 0, function* () {
55
- if (yield this.isOpened())
56
- throw new Error("cannot connect an already-connected connection");
57
- this.hidRef.readSync();
50
+ if (!(yield this.isOpened()))
51
+ throw new Error("cannot reconnect a disconnected connection");
58
52
  });
59
53
  }
60
54
  disconnect() {
61
55
  return __awaiter(this, void 0, void 0, function* () {
62
56
  try {
57
+ const oldHidRef = this.hidRef;
58
+ this.hidRef = undefined;
63
59
  // If the device is disconnected, this will fail and throw, which is fine.
64
- yield this.hidRef.close();
60
+ yield (oldHidRef === null || oldHidRef === void 0 ? void 0 : oldHidRef.close());
65
61
  }
66
62
  catch (e) {
67
63
  console.warn("Disconnect Error (Ignored):", e);
@@ -70,13 +66,19 @@ class TransportDelegate {
70
66
  }
71
67
  readChunk() {
72
68
  return __awaiter(this, void 0, void 0, function* () {
69
+ if (!(yield this.isOpened()))
70
+ throw new Error("cannot read from a closed connection");
71
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
73
72
  const result = yield this.hidRef.readSync();
74
73
  return new Uint8Array(result);
75
74
  });
76
75
  }
77
76
  writeChunk(buf) {
78
77
  return __awaiter(this, void 0, void 0, function* () {
78
+ if (!(yield this.isOpened()))
79
+ throw new Error("cannot write to a closed connection");
79
80
  const numArray = buf.reduce((a, x, i) => ((a[i] = x), a), new Array(buf.length));
81
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
80
82
  yield this.hidRef.write(numArray);
81
83
  });
82
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAEhC,mCAAgD;AAEhD,SAAgB,WAAW;IACzB,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAS,EAAE,kBAAU,CAAC,CAAC;AAC5C,CAAC;AAFD,kCAEC;AAID,MAAa,iBAAiB;IAI5B,YAAY,SAAiB,EAAE,MAAgB;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEK,WAAW;;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrC,CAAC;KAAA;IAEK,QAAQ;;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,OAAO;;YACX,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;KAAA;IAEK,UAAU;;YACd,IAAI;gBACF,0EAA0E;gBAC1E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;aAC3B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;aAChD;QACH,CAAC;KAAA;IAEK,SAAS;;YACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KAAA;IAEK,UAAU,CAAC,GAAe;;YAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;KAAA;CACF;AAxCD,8CAwCC"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAIhC,MAAa,iBAAiB;IAI5B,YAAY,SAAiB,EAAE,MAAgB;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEK,WAAW;;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrC,CAAC;KAAA;IAEK,QAAQ;;YACZ,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;KAAA;IAEK,OAAO;;YACX,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC9F,CAAC;KAAA;IAEK,UAAU;;YACd,IAAI;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,0EAA0E;gBAC1E,MAAM,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAA,CAAC;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;aAChD;QACH,CAAC;KAAA;IAEK,SAAS;;YACb,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtF,oEAAoE;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KAAA;IAEK,UAAU,CAAC,GAAe;;YAC9B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACzF,oEAAoE;YACpE,MAAM,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;KAAA;CACF;AA7CD,8CA6CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapeshiftoss/hdwallet-keepkey-nodehid",
3
- "version": "1.20.0",
3
+ "version": "1.21.1",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,14 +14,14 @@
14
14
  "prepublishOnly": "yarn clean && yarn build"
15
15
  },
16
16
  "dependencies": {
17
- "@shapeshiftoss/hdwallet-keepkey": "1.20.0"
17
+ "@shapeshiftoss/hdwallet-keepkey": "1.21.1"
18
18
  },
19
19
  "peerDependencies": {
20
- "node-hid": "^0.7.7"
20
+ "node-hid": "^2.1.1"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/node-hid": "^0.7.0",
23
+ "@types/node-hid": "^1.3.1",
24
24
  "typescript": "^4.3.2"
25
25
  },
26
- "gitHead": "b1b57edc8e998402cd2d250e3ab0997f46d7a1e2"
26
+ "gitHead": "ae5e2ce525b1775f4c51d2077d8e86b065b58c02"
27
27
  }