@ledgerhq/speculos-transport 0.1.9-nightly.0 → 0.1.10-nightly.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
- > @ledgerhq/speculos-transport@0.1.8 build /home/runner/work/ledger-live/ledger-live/libs/speculos-transport
3
- > tsc && tsc -m ES6 --outDir lib-es
2
+ > @ledgerhq/speculos-transport@0.1.9 build /home/runner/work/ledger-live/ledger-live/libs/speculos-transport
3
+ > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,11 +1,25 @@
1
1
  # @ledgerhq/speculos-transport
2
2
 
3
- ## 0.1.9-nightly.0
3
+ ## 0.1.10-nightly.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`1461449`](https://github.com/LedgerHQ/ledger-live/commit/146144941c13e60182da8d79592f706d12a6f00e)]:
8
+ - @ledgerhq/live-env@2.6.0-nightly.0
9
+
10
+ ## 0.1.9
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`d98a964`](https://github.com/LedgerHQ/ledger-live/commit/d98a96476c3d44eab1575f6c7c58ec03b5daf890)]:
15
+ - @ledgerhq/live-env@2.5.0
16
+
17
+ ## 0.1.9-next.0
4
18
 
5
19
  ### Patch Changes
6
20
 
7
21
  - Updated dependencies [[`d98a964`](https://github.com/LedgerHQ/ledger-live/commit/d98a96476c3d44eab1575f6c7c58ec03b5daf890)]:
8
- - @ledgerhq/live-env@2.5.0-nightly.0
22
+ - @ledgerhq/live-env@2.5.0-next.0
9
23
 
10
24
  ## 0.1.8
11
25
 
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
  };
@@ -42,14 +33,12 @@ for (const k in exports.modelMap) {
42
33
  /**
43
34
  * Release a speculos device
44
35
  */
45
- function releaseSpeculosDevice(id) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- (0, logs_1.log)("speculos", "release " + id);
48
- const obj = data[id];
49
- if (obj) {
50
- yield obj.destroy();
51
- }
52
- });
36
+ async function releaseSpeculosDevice(id) {
37
+ (0, logs_1.log)("speculos", "release " + id);
38
+ const obj = data[id];
39
+ if (obj) {
40
+ await obj.destroy();
41
+ }
53
42
  }
54
43
  exports.releaseSpeculosDevice = releaseSpeculosDevice;
55
44
  /**
@@ -96,185 +85,182 @@ function conventionalAppSubpath(model, firmware, appName, appVersion) {
96
85
  /**
97
86
  * instanciate a speculos device that runs through docker
98
87
  */
99
- function createSpeculosDevice(arg_1) {
100
- return __awaiter(this, arguments, void 0, function* (arg, maxRetry = 3) {
101
- var _a, _b, _c;
102
- const { overridesAppPath, model, firmware, appName, appVersion, seed, coinapps, dependency, dependencies, } = arg;
103
- idCounter = idCounter !== null && idCounter !== void 0 ? idCounter : (0, live_env_1.getEnv)("SPECULOS_PID_OFFSET");
104
- const speculosID = `speculosID-${++idCounter}`;
105
- const ports = getPorts(idCounter, isSpeculosWebsocket);
106
- const sdk = inferSDK(firmware, model);
107
- const subpath = overridesAppPath || conventionalAppSubpath(model, firmware, appName, appVersion);
108
- const appPath = `./apps/${subpath}`;
109
- const params = [
110
- "run",
111
- "-v",
112
- `${coinapps}:/speculos/apps`,
113
- ...(isSpeculosWebsocket
114
- ? [
115
- // websocket ports
116
- "-p",
117
- `${ports.apduPort}:40000`,
118
- "-p",
119
- `${ports.vncPort}:41000`,
120
- "-p",
121
- `${ports.buttonPort}:42000`,
122
- "-p",
123
- `${ports.automationPort}:43000`,
124
- ]
125
- : [
126
- // http ports
127
- "-p",
128
- `${ports.apiPort}:40000`,
129
- "-p",
130
- `${ports.vncPort}:41000`,
131
- ]),
132
- "-e",
133
- `SPECULOS_APPNAME=${appName}:${appVersion}`,
134
- "--name",
135
- `${speculosID}`,
136
- (_a = process.env.SPECULOS_IMAGE_TAG) !== null && _a !== void 0 ? _a : "ghcr.io/ledgerhq/speculos:sha-e262a0c",
137
- "--model",
138
- model.toLowerCase(),
139
- appPath,
140
- ...(dependency
141
- ? [
142
- "-l",
143
- `${dependency}:./apps/${conventionalAppSubpath(model, firmware, dependency, appVersion)}`,
144
- ]
145
- : []),
146
- ...(dependencies !== undefined
147
- ? dependencies.flatMap(dependency => [
148
- "-l",
149
- `${dependency.name}:./apps/${conventionalAppSubpath(model, firmware, dependency.name, dependency.appVersion ? dependency.appVersion : "1.0.0")}`,
150
- ])
151
- : []),
152
- ...(sdk ? ["--sdk", sdk] : []),
153
- "--display",
154
- "headless",
155
- ...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
156
- ...(isSpeculosWebsocket
157
- ? [
158
- // websocket ports
159
- "--apdu-port",
160
- "40000",
161
- "--button-port",
162
- "42000",
163
- "--automation-port",
164
- "43000",
165
- ]
166
- : [
167
- // http ports
168
- "--api-port",
169
- "40000",
170
- ]),
171
- ];
172
- (0, logs_1.log)("speculos", `${speculosID}: spawning = ${params.join(" ")}`);
173
- const p = (0, child_process_1.spawn)("docker", [...params, "--seed", `${seed}`]);
174
- let resolveReady;
175
- let rejectReady;
176
- const ready = new Promise((resolve, reject) => {
177
- resolveReady = resolve;
178
- rejectReady = reject;
179
- });
180
- let destroyed = false;
181
- const destroy = () => __awaiter(this, void 0, void 0, function* () {
182
- if (destroyed)
183
- return Promise.resolve();
184
- destroyed = true;
185
- return new Promise((resolve, reject) => {
186
- if (!data[speculosID])
187
- return resolve(undefined);
188
- delete data[speculosID];
189
- (0, child_process_1.exec)(`docker rm -f ${speculosID}`, (error, stdout, stderr) => {
190
- if (error) {
191
- (0, logs_1.log)("speculos-error", `${speculosID} not destroyed ${error} ${stderr}`);
192
- reject(error);
193
- }
194
- else {
195
- (0, logs_1.log)("speculos", `destroyed ${speculosID}`);
196
- resolve(undefined);
197
- }
198
- });
88
+ async function createSpeculosDevice(arg, maxRetry = 3) {
89
+ const { overridesAppPath, model, firmware, appName, appVersion, seed, coinapps, dependency, dependencies, } = arg;
90
+ idCounter = idCounter ?? (0, live_env_1.getEnv)("SPECULOS_PID_OFFSET");
91
+ const speculosID = `speculosID-${++idCounter}`;
92
+ const ports = getPorts(idCounter, isSpeculosWebsocket);
93
+ const sdk = inferSDK(firmware, model);
94
+ const subpath = overridesAppPath || conventionalAppSubpath(model, firmware, appName, appVersion);
95
+ const appPath = `./apps/${subpath}`;
96
+ const params = [
97
+ "run",
98
+ "-v",
99
+ `${coinapps}:/speculos/apps`,
100
+ ...(isSpeculosWebsocket
101
+ ? [
102
+ // websocket ports
103
+ "-p",
104
+ `${ports.apduPort}:40000`,
105
+ "-p",
106
+ `${ports.vncPort}:41000`,
107
+ "-p",
108
+ `${ports.buttonPort}:42000`,
109
+ "-p",
110
+ `${ports.automationPort}:43000`,
111
+ ]
112
+ : [
113
+ // http ports
114
+ "-p",
115
+ `${ports.apiPort}:40000`,
116
+ "-p",
117
+ `${ports.vncPort}:41000`,
118
+ ]),
119
+ "-e",
120
+ `SPECULOS_APPNAME=${appName}:${appVersion}`,
121
+ "--name",
122
+ `${speculosID}`,
123
+ process.env.SPECULOS_IMAGE_TAG ?? "ghcr.io/ledgerhq/speculos:sha-e262a0c",
124
+ "--model",
125
+ model.toLowerCase(),
126
+ appPath,
127
+ ...(dependency
128
+ ? [
129
+ "-l",
130
+ `${dependency}:./apps/${conventionalAppSubpath(model, firmware, dependency, appVersion)}`,
131
+ ]
132
+ : []),
133
+ ...(dependencies !== undefined
134
+ ? dependencies.flatMap(dependency => [
135
+ "-l",
136
+ `${dependency.name}:./apps/${conventionalAppSubpath(model, firmware, dependency.name, dependency.appVersion ? dependency.appVersion : "1.0.0")}`,
137
+ ])
138
+ : []),
139
+ ...(sdk ? ["--sdk", sdk] : []),
140
+ "--display",
141
+ "headless",
142
+ ...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
143
+ ...(isSpeculosWebsocket
144
+ ? [
145
+ // websocket ports
146
+ "--apdu-port",
147
+ "40000",
148
+ "--button-port",
149
+ "42000",
150
+ "--automation-port",
151
+ "43000",
152
+ ]
153
+ : [
154
+ // http ports
155
+ "--api-port",
156
+ "40000",
157
+ ]),
158
+ ];
159
+ (0, logs_1.log)("speculos", `${speculosID}: spawning = ${params.join(" ")}`);
160
+ const p = (0, child_process_1.spawn)("docker", [...params, "--seed", `${seed}`]);
161
+ let resolveReady;
162
+ let rejectReady;
163
+ const ready = new Promise((resolve, reject) => {
164
+ resolveReady = resolve;
165
+ rejectReady = reject;
166
+ });
167
+ let destroyed = false;
168
+ const destroy = async () => {
169
+ if (destroyed)
170
+ return Promise.resolve();
171
+ destroyed = true;
172
+ return new Promise((resolve, reject) => {
173
+ if (!data[speculosID])
174
+ return resolve(undefined);
175
+ delete data[speculosID];
176
+ (0, child_process_1.exec)(`docker rm -f ${speculosID}`, (error, stdout, stderr) => {
177
+ if (error) {
178
+ (0, logs_1.log)("speculos-error", `${speculosID} not destroyed ${error} ${stderr}`);
179
+ reject(error);
180
+ }
181
+ else {
182
+ (0, logs_1.log)("speculos", `destroyed ${speculosID}`);
183
+ resolve(undefined);
184
+ }
199
185
  });
200
186
  });
201
- p.stdout.on("data", data => {
202
- if (data) {
203
- (0, logs_1.log)("speculos-stdout", `${speculosID}: ${String(data).trim()}`);
204
- }
205
- });
206
- let latestStderr;
207
- p.stderr.on("data", (data) => __awaiter(this, void 0, void 0, function* () {
208
- if (!data)
209
- return;
210
- latestStderr = data;
211
- if (!data.includes("apdu: ")) {
212
- (0, logs_1.log)("speculos-stderr", `${speculosID}: ${String(data).trim()}`);
213
- }
214
- if (/using\s(?:SDK|API_LEVEL)/.test(data)) {
215
- setTimeout(() => resolveReady(true), 500);
216
- }
217
- else if (data.includes("is already in use by")) {
218
- rejectReady(new Error("speculos already in use! Try `ledger-live cleanSpeculos` or check logs"));
219
- }
220
- else if (data.includes("address already in use")) {
221
- if (maxRetry > 0) {
222
- (0, logs_1.log)("speculos", "retrying speculos connection");
223
- yield destroy();
224
- resolveReady(false);
225
- }
226
- }
227
- }));
228
- p.on("close", () => __awaiter(this, void 0, void 0, function* () {
229
- (0, logs_1.log)("speculos", `${speculosID} closed`);
230
- if (!destroyed) {
231
- yield destroy();
232
- rejectReady(new Error(`speculos process failure. ${latestStderr || ""}`));
233
- }
234
- }));
235
- const hasSucceed = yield ready;
236
- if (!hasSucceed) {
237
- yield (0, live_promise_1.delay)(1000);
238
- return createSpeculosDevice(arg, maxRetry - 1);
187
+ };
188
+ p.stdout.on("data", data => {
189
+ if (data) {
190
+ (0, logs_1.log)("speculos-stdout", `${speculosID}: ${String(data).trim()}`);
239
191
  }
240
- let transport;
241
- if (isSpeculosWebsocket) {
242
- transport = yield hw_transport_node_speculos_1.default.open({
243
- apduPort: ports === null || ports === void 0 ? void 0 : ports.apduPort,
244
- buttonPort: ports === null || ports === void 0 ? void 0 : ports.buttonPort,
245
- automationPort: ports === null || ports === void 0 ? void 0 : ports.automationPort,
246
- });
247
- data[speculosID] = {
248
- process: p,
249
- apduPort: ports.apduPort,
250
- buttonPort: ports.buttonPort,
251
- automationPort: ports.automationPort,
252
- transport,
253
- destroy,
254
- };
192
+ });
193
+ let latestStderr;
194
+ p.stderr.on("data", async (data) => {
195
+ if (!data)
196
+ return;
197
+ latestStderr = data;
198
+ if (!data.includes("apdu: ")) {
199
+ (0, logs_1.log)("speculos-stderr", `${speculosID}: ${String(data).trim()}`);
255
200
  }
256
- else {
257
- transport = yield hw_transport_node_speculos_http_1.default.open({
258
- apiPort: (_b = ports.apiPort) === null || _b === void 0 ? void 0 : _b.toString(),
259
- });
260
- data[speculosID] = {
261
- process: p,
262
- apiPort: (_c = ports.apiPort) === null || _c === void 0 ? void 0 : _c.toString(),
263
- transport,
264
- destroy,
265
- };
201
+ if (/using\s(?:SDK|API_LEVEL)/.test(data)) {
202
+ setTimeout(() => resolveReady(true), 500);
266
203
  }
267
- const device = {
268
- id: speculosID,
269
- transport,
270
- appPath,
271
- ports,
272
- };
273
- if (arg.onSpeculosDeviceCreated != null) {
274
- yield arg.onSpeculosDeviceCreated(device);
204
+ else if (data.includes("is already in use by")) {
205
+ rejectReady(new Error("speculos already in use! Try `ledger-live cleanSpeculos` or check logs"));
206
+ }
207
+ else if (data.includes("address already in use")) {
208
+ if (maxRetry > 0) {
209
+ (0, logs_1.log)("speculos", "retrying speculos connection");
210
+ await destroy();
211
+ resolveReady(false);
212
+ }
275
213
  }
276
- return device;
277
214
  });
215
+ p.on("close", async () => {
216
+ (0, logs_1.log)("speculos", `${speculosID} closed`);
217
+ if (!destroyed) {
218
+ await destroy();
219
+ rejectReady(new Error(`speculos process failure. ${latestStderr || ""}`));
220
+ }
221
+ });
222
+ const hasSucceed = await ready;
223
+ if (!hasSucceed) {
224
+ await (0, live_promise_1.delay)(1000);
225
+ return createSpeculosDevice(arg, maxRetry - 1);
226
+ }
227
+ let transport;
228
+ if (isSpeculosWebsocket) {
229
+ transport = await hw_transport_node_speculos_1.default.open({
230
+ apduPort: ports?.apduPort,
231
+ buttonPort: ports?.buttonPort,
232
+ automationPort: ports?.automationPort,
233
+ });
234
+ data[speculosID] = {
235
+ process: p,
236
+ apduPort: ports.apduPort,
237
+ buttonPort: ports.buttonPort,
238
+ automationPort: ports.automationPort,
239
+ transport,
240
+ destroy,
241
+ };
242
+ }
243
+ else {
244
+ transport = await hw_transport_node_speculos_http_1.default.open({
245
+ apiPort: ports.apiPort?.toString(),
246
+ });
247
+ data[speculosID] = {
248
+ process: p,
249
+ apiPort: ports.apiPort?.toString(),
250
+ transport,
251
+ destroy,
252
+ };
253
+ }
254
+ const device = {
255
+ id: speculosID,
256
+ transport,
257
+ appPath,
258
+ ports,
259
+ };
260
+ if (arg.onSpeculosDeviceCreated != null) {
261
+ await arg.onSpeculosDeviceCreated(device);
262
+ }
263
+ return device;
278
264
  }
279
265
  exports.createSpeculosDevice = createSpeculosDevice;
280
266
  //# sourceMappingURL=index.js.map
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.js CHANGED
@@ -1,12 +1,3 @@
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 { spawn, exec } from "child_process";
11
2
  import { log } from "@ledgerhq/logs";
12
3
  import { DeviceModelId } from "@ledgerhq/devices";
@@ -35,14 +26,12 @@ for (const k in modelMap) {
35
26
  /**
36
27
  * Release a speculos device
37
28
  */
38
- export function releaseSpeculosDevice(id) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- log("speculos", "release " + id);
41
- const obj = data[id];
42
- if (obj) {
43
- yield obj.destroy();
44
- }
45
- });
29
+ export async function releaseSpeculosDevice(id) {
30
+ log("speculos", "release " + id);
31
+ const obj = data[id];
32
+ if (obj) {
33
+ await obj.destroy();
34
+ }
46
35
  }
47
36
  /**
48
37
  * Close all speculos devices
@@ -87,184 +76,181 @@ function conventionalAppSubpath(model, firmware, appName, appVersion) {
87
76
  /**
88
77
  * instanciate a speculos device that runs through docker
89
78
  */
90
- export function createSpeculosDevice(arg_1) {
91
- return __awaiter(this, arguments, void 0, function* (arg, maxRetry = 3) {
92
- var _a, _b, _c;
93
- const { overridesAppPath, model, firmware, appName, appVersion, seed, coinapps, dependency, dependencies, } = arg;
94
- idCounter = idCounter !== null && idCounter !== void 0 ? idCounter : getEnv("SPECULOS_PID_OFFSET");
95
- const speculosID = `speculosID-${++idCounter}`;
96
- const ports = getPorts(idCounter, isSpeculosWebsocket);
97
- const sdk = inferSDK(firmware, model);
98
- const subpath = overridesAppPath || conventionalAppSubpath(model, firmware, appName, appVersion);
99
- const appPath = `./apps/${subpath}`;
100
- const params = [
101
- "run",
102
- "-v",
103
- `${coinapps}:/speculos/apps`,
104
- ...(isSpeculosWebsocket
105
- ? [
106
- // websocket ports
107
- "-p",
108
- `${ports.apduPort}:40000`,
109
- "-p",
110
- `${ports.vncPort}:41000`,
111
- "-p",
112
- `${ports.buttonPort}:42000`,
113
- "-p",
114
- `${ports.automationPort}:43000`,
115
- ]
116
- : [
117
- // http ports
118
- "-p",
119
- `${ports.apiPort}:40000`,
120
- "-p",
121
- `${ports.vncPort}:41000`,
122
- ]),
123
- "-e",
124
- `SPECULOS_APPNAME=${appName}:${appVersion}`,
125
- "--name",
126
- `${speculosID}`,
127
- (_a = process.env.SPECULOS_IMAGE_TAG) !== null && _a !== void 0 ? _a : "ghcr.io/ledgerhq/speculos:sha-e262a0c",
128
- "--model",
129
- model.toLowerCase(),
130
- appPath,
131
- ...(dependency
132
- ? [
133
- "-l",
134
- `${dependency}:./apps/${conventionalAppSubpath(model, firmware, dependency, appVersion)}`,
135
- ]
136
- : []),
137
- ...(dependencies !== undefined
138
- ? dependencies.flatMap(dependency => [
139
- "-l",
140
- `${dependency.name}:./apps/${conventionalAppSubpath(model, firmware, dependency.name, dependency.appVersion ? dependency.appVersion : "1.0.0")}`,
141
- ])
142
- : []),
143
- ...(sdk ? ["--sdk", sdk] : []),
144
- "--display",
145
- "headless",
146
- ...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
147
- ...(isSpeculosWebsocket
148
- ? [
149
- // websocket ports
150
- "--apdu-port",
151
- "40000",
152
- "--button-port",
153
- "42000",
154
- "--automation-port",
155
- "43000",
156
- ]
157
- : [
158
- // http ports
159
- "--api-port",
160
- "40000",
161
- ]),
162
- ];
163
- log("speculos", `${speculosID}: spawning = ${params.join(" ")}`);
164
- const p = spawn("docker", [...params, "--seed", `${seed}`]);
165
- let resolveReady;
166
- let rejectReady;
167
- const ready = new Promise((resolve, reject) => {
168
- resolveReady = resolve;
169
- rejectReady = reject;
170
- });
171
- let destroyed = false;
172
- const destroy = () => __awaiter(this, void 0, void 0, function* () {
173
- if (destroyed)
174
- return Promise.resolve();
175
- destroyed = true;
176
- return new Promise((resolve, reject) => {
177
- if (!data[speculosID])
178
- return resolve(undefined);
179
- delete data[speculosID];
180
- exec(`docker rm -f ${speculosID}`, (error, stdout, stderr) => {
181
- if (error) {
182
- log("speculos-error", `${speculosID} not destroyed ${error} ${stderr}`);
183
- reject(error);
184
- }
185
- else {
186
- log("speculos", `destroyed ${speculosID}`);
187
- resolve(undefined);
188
- }
189
- });
79
+ export async function createSpeculosDevice(arg, maxRetry = 3) {
80
+ const { overridesAppPath, model, firmware, appName, appVersion, seed, coinapps, dependency, dependencies, } = arg;
81
+ idCounter = idCounter ?? getEnv("SPECULOS_PID_OFFSET");
82
+ const speculosID = `speculosID-${++idCounter}`;
83
+ const ports = getPorts(idCounter, isSpeculosWebsocket);
84
+ const sdk = inferSDK(firmware, model);
85
+ const subpath = overridesAppPath || conventionalAppSubpath(model, firmware, appName, appVersion);
86
+ const appPath = `./apps/${subpath}`;
87
+ const params = [
88
+ "run",
89
+ "-v",
90
+ `${coinapps}:/speculos/apps`,
91
+ ...(isSpeculosWebsocket
92
+ ? [
93
+ // websocket ports
94
+ "-p",
95
+ `${ports.apduPort}:40000`,
96
+ "-p",
97
+ `${ports.vncPort}:41000`,
98
+ "-p",
99
+ `${ports.buttonPort}:42000`,
100
+ "-p",
101
+ `${ports.automationPort}:43000`,
102
+ ]
103
+ : [
104
+ // http ports
105
+ "-p",
106
+ `${ports.apiPort}:40000`,
107
+ "-p",
108
+ `${ports.vncPort}:41000`,
109
+ ]),
110
+ "-e",
111
+ `SPECULOS_APPNAME=${appName}:${appVersion}`,
112
+ "--name",
113
+ `${speculosID}`,
114
+ process.env.SPECULOS_IMAGE_TAG ?? "ghcr.io/ledgerhq/speculos:sha-e262a0c",
115
+ "--model",
116
+ model.toLowerCase(),
117
+ appPath,
118
+ ...(dependency
119
+ ? [
120
+ "-l",
121
+ `${dependency}:./apps/${conventionalAppSubpath(model, firmware, dependency, appVersion)}`,
122
+ ]
123
+ : []),
124
+ ...(dependencies !== undefined
125
+ ? dependencies.flatMap(dependency => [
126
+ "-l",
127
+ `${dependency.name}:./apps/${conventionalAppSubpath(model, firmware, dependency.name, dependency.appVersion ? dependency.appVersion : "1.0.0")}`,
128
+ ])
129
+ : []),
130
+ ...(sdk ? ["--sdk", sdk] : []),
131
+ "--display",
132
+ "headless",
133
+ ...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
134
+ ...(isSpeculosWebsocket
135
+ ? [
136
+ // websocket ports
137
+ "--apdu-port",
138
+ "40000",
139
+ "--button-port",
140
+ "42000",
141
+ "--automation-port",
142
+ "43000",
143
+ ]
144
+ : [
145
+ // http ports
146
+ "--api-port",
147
+ "40000",
148
+ ]),
149
+ ];
150
+ log("speculos", `${speculosID}: spawning = ${params.join(" ")}`);
151
+ const p = spawn("docker", [...params, "--seed", `${seed}`]);
152
+ let resolveReady;
153
+ let rejectReady;
154
+ const ready = new Promise((resolve, reject) => {
155
+ resolveReady = resolve;
156
+ rejectReady = reject;
157
+ });
158
+ let destroyed = false;
159
+ const destroy = async () => {
160
+ if (destroyed)
161
+ return Promise.resolve();
162
+ destroyed = true;
163
+ return new Promise((resolve, reject) => {
164
+ if (!data[speculosID])
165
+ return resolve(undefined);
166
+ delete data[speculosID];
167
+ exec(`docker rm -f ${speculosID}`, (error, stdout, stderr) => {
168
+ if (error) {
169
+ log("speculos-error", `${speculosID} not destroyed ${error} ${stderr}`);
170
+ reject(error);
171
+ }
172
+ else {
173
+ log("speculos", `destroyed ${speculosID}`);
174
+ resolve(undefined);
175
+ }
190
176
  });
191
177
  });
192
- p.stdout.on("data", data => {
193
- if (data) {
194
- log("speculos-stdout", `${speculosID}: ${String(data).trim()}`);
195
- }
196
- });
197
- let latestStderr;
198
- p.stderr.on("data", (data) => __awaiter(this, void 0, void 0, function* () {
199
- if (!data)
200
- return;
201
- latestStderr = data;
202
- if (!data.includes("apdu: ")) {
203
- log("speculos-stderr", `${speculosID}: ${String(data).trim()}`);
204
- }
205
- if (/using\s(?:SDK|API_LEVEL)/.test(data)) {
206
- setTimeout(() => resolveReady(true), 500);
207
- }
208
- else if (data.includes("is already in use by")) {
209
- rejectReady(new Error("speculos already in use! Try `ledger-live cleanSpeculos` or check logs"));
210
- }
211
- else if (data.includes("address already in use")) {
212
- if (maxRetry > 0) {
213
- log("speculos", "retrying speculos connection");
214
- yield destroy();
215
- resolveReady(false);
216
- }
217
- }
218
- }));
219
- p.on("close", () => __awaiter(this, void 0, void 0, function* () {
220
- log("speculos", `${speculosID} closed`);
221
- if (!destroyed) {
222
- yield destroy();
223
- rejectReady(new Error(`speculos process failure. ${latestStderr || ""}`));
224
- }
225
- }));
226
- const hasSucceed = yield ready;
227
- if (!hasSucceed) {
228
- yield delay(1000);
229
- return createSpeculosDevice(arg, maxRetry - 1);
178
+ };
179
+ p.stdout.on("data", data => {
180
+ if (data) {
181
+ log("speculos-stdout", `${speculosID}: ${String(data).trim()}`);
230
182
  }
231
- let transport;
232
- if (isSpeculosWebsocket) {
233
- transport = yield SpeculosTransportWebsocket.open({
234
- apduPort: ports === null || ports === void 0 ? void 0 : ports.apduPort,
235
- buttonPort: ports === null || ports === void 0 ? void 0 : ports.buttonPort,
236
- automationPort: ports === null || ports === void 0 ? void 0 : ports.automationPort,
237
- });
238
- data[speculosID] = {
239
- process: p,
240
- apduPort: ports.apduPort,
241
- buttonPort: ports.buttonPort,
242
- automationPort: ports.automationPort,
243
- transport,
244
- destroy,
245
- };
183
+ });
184
+ let latestStderr;
185
+ p.stderr.on("data", async (data) => {
186
+ if (!data)
187
+ return;
188
+ latestStderr = data;
189
+ if (!data.includes("apdu: ")) {
190
+ log("speculos-stderr", `${speculosID}: ${String(data).trim()}`);
246
191
  }
247
- else {
248
- transport = yield SpeculosTransportHttp.open({
249
- apiPort: (_b = ports.apiPort) === null || _b === void 0 ? void 0 : _b.toString(),
250
- });
251
- data[speculosID] = {
252
- process: p,
253
- apiPort: (_c = ports.apiPort) === null || _c === void 0 ? void 0 : _c.toString(),
254
- transport,
255
- destroy,
256
- };
192
+ if (/using\s(?:SDK|API_LEVEL)/.test(data)) {
193
+ setTimeout(() => resolveReady(true), 500);
257
194
  }
258
- const device = {
259
- id: speculosID,
260
- transport,
261
- appPath,
262
- ports,
263
- };
264
- if (arg.onSpeculosDeviceCreated != null) {
265
- yield arg.onSpeculosDeviceCreated(device);
195
+ else if (data.includes("is already in use by")) {
196
+ rejectReady(new Error("speculos already in use! Try `ledger-live cleanSpeculos` or check logs"));
197
+ }
198
+ else if (data.includes("address already in use")) {
199
+ if (maxRetry > 0) {
200
+ log("speculos", "retrying speculos connection");
201
+ await destroy();
202
+ resolveReady(false);
203
+ }
266
204
  }
267
- return device;
268
205
  });
206
+ p.on("close", async () => {
207
+ log("speculos", `${speculosID} closed`);
208
+ if (!destroyed) {
209
+ await destroy();
210
+ rejectReady(new Error(`speculos process failure. ${latestStderr || ""}`));
211
+ }
212
+ });
213
+ const hasSucceed = await ready;
214
+ if (!hasSucceed) {
215
+ await delay(1000);
216
+ return createSpeculosDevice(arg, maxRetry - 1);
217
+ }
218
+ let transport;
219
+ if (isSpeculosWebsocket) {
220
+ transport = await SpeculosTransportWebsocket.open({
221
+ apduPort: ports?.apduPort,
222
+ buttonPort: ports?.buttonPort,
223
+ automationPort: ports?.automationPort,
224
+ });
225
+ data[speculosID] = {
226
+ process: p,
227
+ apduPort: ports.apduPort,
228
+ buttonPort: ports.buttonPort,
229
+ automationPort: ports.automationPort,
230
+ transport,
231
+ destroy,
232
+ };
233
+ }
234
+ else {
235
+ transport = await SpeculosTransportHttp.open({
236
+ apiPort: ports.apiPort?.toString(),
237
+ });
238
+ data[speculosID] = {
239
+ process: p,
240
+ apiPort: ports.apiPort?.toString(),
241
+ transport,
242
+ destroy,
243
+ };
244
+ }
245
+ const device = {
246
+ id: speculosID,
247
+ transport,
248
+ appPath,
249
+ ports,
250
+ };
251
+ if (arg.onSpeculosDeviceCreated != null) {
252
+ await arg.onSpeculosDeviceCreated(device);
253
+ }
254
+ return device;
269
255
  }
270
256
  //# 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/speculos-transport",
3
- "version": "0.1.9-nightly.0",
3
+ "version": "0.1.10-nightly.0",
4
4
  "description": "Ledger Live speculos transport test helper",
5
5
  "keywords": [
6
6
  "Ledger"
@@ -18,15 +18,15 @@
18
18
  "types": "lib/index.d.ts",
19
19
  "license": "Apache-2.0",
20
20
  "dependencies": {
21
- "@ledgerhq/live-env": "2.5.0-nightly.0",
22
- "@ledgerhq/live-promise": "0.1.0",
23
- "@ledgerhq/logs": "6.12.0",
24
21
  "@ledgerhq/devices": "8.4.4",
25
22
  "@ledgerhq/hw-transport-node-speculos": "6.29.4",
26
- "@ledgerhq/hw-transport-node-speculos-http": "6.29.4"
23
+ "@ledgerhq/hw-transport-node-speculos-http": "6.29.4",
24
+ "@ledgerhq/live-env": "2.6.0-nightly.0",
25
+ "@ledgerhq/live-promise": "0.1.0",
26
+ "@ledgerhq/logs": "6.12.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@types/node": "^20.8.10",
29
+ "@types/node": "^22.10.10",
30
30
  "documentation": "14.0.2"
31
31
  },
32
32
  "typesVersions": {
@@ -47,10 +47,10 @@
47
47
  },
48
48
  "scripts": {
49
49
  "clean": "rimraf lib lib-es",
50
- "build": "tsc && tsc -m ES6 --outDir lib-es",
50
+ "build": "tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es",
51
51
  "prewatch": "pnpm build",
52
52
  "watch": "tsc --watch",
53
- "watch:es": "tsc --watch -m ES6 --outDir lib-es",
53
+ "watch:es": "tsc --watch -m esnext --moduleResolution bundler --outDir lib-es",
54
54
  "lint": "eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx --cache",
55
55
  "lint:fix": "pnpm lint --fix",
56
56
  "typecheck": "tsc --noEmit",
package/tsconfig.json CHANGED
@@ -5,7 +5,6 @@
5
5
  "declarationMap": true,
6
6
  "noImplicitAny": true,
7
7
  "noImplicitThis": true,
8
- "module": "commonjs",
9
8
  "outDir": "lib"
10
9
  },
11
10
  "include": ["src/**/*"]