@ledgerhq/hw-transport-vault 1.3.4 → 1.3.5-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.
@@ -1,4 +1,4 @@
1
1
 
2
2
  > @ledgerhq/hw-transport-vault@1.3.4 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-transport-vault
3
- > tsc && tsc -m ES6 --outDir lib-es
3
+ > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @ledgerhq/hw-transport-vault
2
2
 
3
+ ## 1.3.5-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`107f35a`](https://github.com/LedgerHQ/ledger-live/commit/107f35a0650412716b088a3503b86435e6d9cf47), [`9081c26`](https://github.com/LedgerHQ/ledger-live/commit/9081c2648490f977469a33762a3c67bb2c2a0be5)]:
8
+ - @ledgerhq/errors@6.21.0-next.0
9
+ - @ledgerhq/hw-transport-http@6.30.5-next.0
10
+
3
11
  ## 1.3.4
4
12
 
5
13
  ### Patch Changes
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import WebSocketTransport from "@ledgerhq/hw-transport-http/lib-es/WebSocketTransport";
3
4
  type VaultData = {
4
5
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;gBAErB,IAAI,EAAE,GAAG;IAKrB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;WAIjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAiDvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;gBAErB,IAAI,EAAE,GAAG;IAKrB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;WAIjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAiDvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC9C"}
package/lib/index.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -17,6 +8,7 @@ const errors_1 = require("@ledgerhq/errors");
17
8
  const WebSocketTransport_1 = __importDefault(require("@ledgerhq/hw-transport-http/lib-es/WebSocketTransport"));
18
9
  let sessionId = null;
19
10
  class VaultTransport extends WebSocketTransport_1.default {
11
+ data;
20
12
  constructor(hook) {
21
13
  super(hook);
22
14
  this.data = null;
@@ -24,83 +16,78 @@ class VaultTransport extends WebSocketTransport_1.default {
24
16
  setData(data) {
25
17
  this.data = data;
26
18
  }
27
- static open(url) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const exchangeMethods = yield new Promise((resolve, reject) => {
30
- try {
31
- const socket = new WebSocket(url);
32
- const exchangeMethods = {
33
- resolveExchange: (_b, _sessionId) => { },
34
- rejectExchange: (_e) => { },
35
- onDisconnect: () => { },
36
- close: () => socket.close(),
37
- send: msg => socket.send(msg),
38
- };
39
- socket.onopen = () => {
40
- socket.send("open");
41
- };
42
- socket.onerror = e => {
43
- exchangeMethods.onDisconnect();
44
- reject(e);
45
- };
46
- socket.onclose = () => {
47
- exchangeMethods.onDisconnect();
48
- reject(new errors_1.TransportError("OpenFailed", "OpenFailed"));
49
- };
50
- socket.onmessage = e => {
51
- if (typeof e.data !== "string")
52
- return;
53
- const data = JSON.parse(e.data);
54
- switch (data.type) {
55
- case "opened":
56
- return resolve(exchangeMethods);
57
- case "error":
58
- reject(new Error(data.error));
59
- return exchangeMethods.rejectExchange(new errors_1.TransportError(data.error, "WSError"));
60
- case "response":
61
- return exchangeMethods.resolveExchange(Buffer.from(data.data, "hex"), data.sessionId);
62
- }
63
- };
64
- }
65
- catch (e) {
66
- reject(e);
67
- }
68
- });
69
- return new VaultTransport(exchangeMethods);
70
- });
71
- }
72
- exchange(apdu) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const hex = apdu.toString("hex");
75
- (0, logs_1.log)("apdu", "=> " + hex);
76
- const iv = setInterval(() => {
77
- this.hook.send("ping");
78
- }, 30e3);
19
+ static async open(url) {
20
+ const exchangeMethods = await new Promise((resolve, reject) => {
79
21
  try {
80
- const res = yield new Promise((resolve, reject) => {
81
- var _a, _c;
82
- this.hook.rejectExchange = (e) => reject(e);
83
- this.hook.resolveExchange = (b, _sessionId) => {
84
- if (_sessionId) {
85
- sessionId = _sessionId;
86
- }
87
- return resolve(b);
88
- };
89
- const data = {
90
- sessionId,
91
- workspace: (_a = this.data) === null || _a === void 0 ? void 0 : _a.workspace,
92
- token: (_c = this.data) === null || _c === void 0 ? void 0 : _c.token,
93
- apdu: hex,
94
- };
95
- this.hook.send(JSON.stringify(data));
96
- });
97
- (0, logs_1.log)("apdu", "<= " + res.toString("hex"));
98
- return res;
22
+ const socket = new WebSocket(url);
23
+ const exchangeMethods = {
24
+ resolveExchange: (_b, _sessionId) => { },
25
+ rejectExchange: (_e) => { },
26
+ onDisconnect: () => { },
27
+ close: () => socket.close(),
28
+ send: msg => socket.send(msg),
29
+ };
30
+ socket.onopen = () => {
31
+ socket.send("open");
32
+ };
33
+ socket.onerror = e => {
34
+ exchangeMethods.onDisconnect();
35
+ reject(e);
36
+ };
37
+ socket.onclose = () => {
38
+ exchangeMethods.onDisconnect();
39
+ reject(new errors_1.TransportError("OpenFailed", "OpenFailed"));
40
+ };
41
+ socket.onmessage = e => {
42
+ if (typeof e.data !== "string")
43
+ return;
44
+ const data = JSON.parse(e.data);
45
+ switch (data.type) {
46
+ case "opened":
47
+ return resolve(exchangeMethods);
48
+ case "error":
49
+ reject(new Error(data.error));
50
+ return exchangeMethods.rejectExchange(new errors_1.TransportError(data.error, "WSError"));
51
+ case "response":
52
+ return exchangeMethods.resolveExchange(Buffer.from(data.data, "hex"), data.sessionId);
53
+ }
54
+ };
99
55
  }
100
- finally {
101
- clearInterval(iv);
56
+ catch (e) {
57
+ reject(e);
102
58
  }
103
59
  });
60
+ return new VaultTransport(exchangeMethods);
61
+ }
62
+ async exchange(apdu) {
63
+ const hex = apdu.toString("hex");
64
+ (0, logs_1.log)("apdu", "=> " + hex);
65
+ const iv = setInterval(() => {
66
+ this.hook.send("ping");
67
+ }, 30e3);
68
+ try {
69
+ const res = await new Promise((resolve, reject) => {
70
+ this.hook.rejectExchange = (e) => reject(e);
71
+ this.hook.resolveExchange = (b, _sessionId) => {
72
+ if (_sessionId) {
73
+ sessionId = _sessionId;
74
+ }
75
+ return resolve(b);
76
+ };
77
+ const data = {
78
+ sessionId,
79
+ workspace: this.data?.workspace,
80
+ token: this.data?.token,
81
+ apdu: hex,
82
+ };
83
+ this.hook.send(JSON.stringify(data));
84
+ });
85
+ (0, logs_1.log)("apdu", "<= " + res.toString("hex"));
86
+ return res;
87
+ }
88
+ finally {
89
+ clearInterval(iv);
90
+ }
104
91
  }
105
92
  }
106
93
  exports.default = VaultTransport;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib-es/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import WebSocketTransport from "@ledgerhq/hw-transport-http/lib-es/WebSocketTransport";
3
4
  type VaultData = {
4
5
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;gBAErB,IAAI,EAAE,GAAG;IAKrB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;WAIjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAiDvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;gBAErB,IAAI,EAAE,GAAG;IAKrB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;WAIjB,IAAI,CAAC,GAAG,EAAE,MAAM;IAiDvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC9C"}
package/lib-es/index.js CHANGED
@@ -1,17 +1,9 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { log } from "@ledgerhq/logs";
11
2
  import { TransportError } from "@ledgerhq/errors";
12
3
  import WebSocketTransport from "@ledgerhq/hw-transport-http/lib-es/WebSocketTransport";
13
4
  let sessionId = null;
14
5
  export default class VaultTransport extends WebSocketTransport {
6
+ data;
15
7
  constructor(hook) {
16
8
  super(hook);
17
9
  this.data = null;
@@ -19,83 +11,78 @@ export default class VaultTransport extends WebSocketTransport {
19
11
  setData(data) {
20
12
  this.data = data;
21
13
  }
22
- static open(url) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const exchangeMethods = yield new Promise((resolve, reject) => {
25
- try {
26
- const socket = new WebSocket(url);
27
- const exchangeMethods = {
28
- resolveExchange: (_b, _sessionId) => { },
29
- rejectExchange: (_e) => { },
30
- onDisconnect: () => { },
31
- close: () => socket.close(),
32
- send: msg => socket.send(msg),
33
- };
34
- socket.onopen = () => {
35
- socket.send("open");
36
- };
37
- socket.onerror = e => {
38
- exchangeMethods.onDisconnect();
39
- reject(e);
40
- };
41
- socket.onclose = () => {
42
- exchangeMethods.onDisconnect();
43
- reject(new TransportError("OpenFailed", "OpenFailed"));
44
- };
45
- socket.onmessage = e => {
46
- if (typeof e.data !== "string")
47
- return;
48
- const data = JSON.parse(e.data);
49
- switch (data.type) {
50
- case "opened":
51
- return resolve(exchangeMethods);
52
- case "error":
53
- reject(new Error(data.error));
54
- return exchangeMethods.rejectExchange(new TransportError(data.error, "WSError"));
55
- case "response":
56
- return exchangeMethods.resolveExchange(Buffer.from(data.data, "hex"), data.sessionId);
57
- }
58
- };
59
- }
60
- catch (e) {
61
- reject(e);
62
- }
63
- });
64
- return new VaultTransport(exchangeMethods);
65
- });
66
- }
67
- exchange(apdu) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const hex = apdu.toString("hex");
70
- log("apdu", "=> " + hex);
71
- const iv = setInterval(() => {
72
- this.hook.send("ping");
73
- }, 30e3);
14
+ static async open(url) {
15
+ const exchangeMethods = await new Promise((resolve, reject) => {
74
16
  try {
75
- const res = yield new Promise((resolve, reject) => {
76
- var _a, _c;
77
- this.hook.rejectExchange = (e) => reject(e);
78
- this.hook.resolveExchange = (b, _sessionId) => {
79
- if (_sessionId) {
80
- sessionId = _sessionId;
81
- }
82
- return resolve(b);
83
- };
84
- const data = {
85
- sessionId,
86
- workspace: (_a = this.data) === null || _a === void 0 ? void 0 : _a.workspace,
87
- token: (_c = this.data) === null || _c === void 0 ? void 0 : _c.token,
88
- apdu: hex,
89
- };
90
- this.hook.send(JSON.stringify(data));
91
- });
92
- log("apdu", "<= " + res.toString("hex"));
93
- return res;
17
+ const socket = new WebSocket(url);
18
+ const exchangeMethods = {
19
+ resolveExchange: (_b, _sessionId) => { },
20
+ rejectExchange: (_e) => { },
21
+ onDisconnect: () => { },
22
+ close: () => socket.close(),
23
+ send: msg => socket.send(msg),
24
+ };
25
+ socket.onopen = () => {
26
+ socket.send("open");
27
+ };
28
+ socket.onerror = e => {
29
+ exchangeMethods.onDisconnect();
30
+ reject(e);
31
+ };
32
+ socket.onclose = () => {
33
+ exchangeMethods.onDisconnect();
34
+ reject(new TransportError("OpenFailed", "OpenFailed"));
35
+ };
36
+ socket.onmessage = e => {
37
+ if (typeof e.data !== "string")
38
+ return;
39
+ const data = JSON.parse(e.data);
40
+ switch (data.type) {
41
+ case "opened":
42
+ return resolve(exchangeMethods);
43
+ case "error":
44
+ reject(new Error(data.error));
45
+ return exchangeMethods.rejectExchange(new TransportError(data.error, "WSError"));
46
+ case "response":
47
+ return exchangeMethods.resolveExchange(Buffer.from(data.data, "hex"), data.sessionId);
48
+ }
49
+ };
94
50
  }
95
- finally {
96
- clearInterval(iv);
51
+ catch (e) {
52
+ reject(e);
97
53
  }
98
54
  });
55
+ return new VaultTransport(exchangeMethods);
56
+ }
57
+ async exchange(apdu) {
58
+ const hex = apdu.toString("hex");
59
+ log("apdu", "=> " + hex);
60
+ const iv = setInterval(() => {
61
+ this.hook.send("ping");
62
+ }, 30e3);
63
+ try {
64
+ const res = await new Promise((resolve, reject) => {
65
+ this.hook.rejectExchange = (e) => reject(e);
66
+ this.hook.resolveExchange = (b, _sessionId) => {
67
+ if (_sessionId) {
68
+ sessionId = _sessionId;
69
+ }
70
+ return resolve(b);
71
+ };
72
+ const data = {
73
+ sessionId,
74
+ workspace: this.data?.workspace,
75
+ token: this.data?.token,
76
+ apdu: hex,
77
+ };
78
+ this.hook.send(JSON.stringify(data));
79
+ });
80
+ log("apdu", "<= " + res.toString("hex"));
81
+ return res;
82
+ }
83
+ finally {
84
+ clearInterval(iv);
85
+ }
99
86
  }
100
87
  }
101
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-transport-vault",
3
- "version": "1.3.4",
3
+ "version": "1.3.5-next.0",
4
4
  "description": "Ledger Vault transport",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -27,13 +27,13 @@
27
27
  "types": "lib/index.d.ts",
28
28
  "license": "Apache-2.0",
29
29
  "dependencies": {
30
- "@ledgerhq/errors": "^6.19.1",
31
- "@ledgerhq/hw-transport-http": "^6.30.4",
30
+ "@ledgerhq/errors": "^6.21.0-next.0",
31
+ "@ledgerhq/hw-transport-http": "^6.30.5-next.0",
32
32
  "@ledgerhq/logs": "^6.12.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/jest": "^29.5.10",
36
- "@types/node": "^20.8.10",
36
+ "@types/node": "^22.10.10",
37
37
  "documentation": "14.0.2",
38
38
  "jest": "^29.7.0",
39
39
  "rimraf": "^4.4.1",
@@ -43,9 +43,10 @@
43
43
  },
44
44
  "scripts": {
45
45
  "clean": "rimraf lib lib-es",
46
- "build": "tsc && tsc -m ES6 --outDir lib-es",
46
+ "build": "tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es",
47
47
  "prewatch": "pnpm build",
48
48
  "watch": "tsc --watch",
49
+ "watch:es": "tsc --watch -m esnext --moduleResolution bundler --outDir lib-es",
49
50
  "lint": "eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx",
50
51
  "lint:fix": "pnpm lint --fix",
51
52
  "test": "jest",