@ledgerhq/speculos-transport 0.2.1 → 0.2.2-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.
- package/CHANGELOG.md +11 -0
- package/lib/index.d.ts +8 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -5
- package/lib/index.js.map +1 -1
- package/lib-es/index.d.ts +8 -5
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +3 -3
- package/lib-es/index.js.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +19 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @ledgerhq/speculos-transport
|
|
2
2
|
|
|
3
|
+
## 0.2.2-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`f29e4ba`](https://github.com/LedgerHQ/ledger-live/commit/f29e4bae00a4bf470a0c1ca143e505b731543f95)]:
|
|
8
|
+
- @ledgerhq/logs@6.13.0-next.0
|
|
9
|
+
- @ledgerhq/devices@8.4.6-next.0
|
|
10
|
+
- @ledgerhq/hw-transport-node-speculos@6.29.6-next.0
|
|
11
|
+
- @ledgerhq/hw-transport-node-speculos-http@6.29.6-next.0
|
|
12
|
+
- @ledgerhq/live-promise@0.1.1-next.0
|
|
13
|
+
|
|
3
14
|
## 0.2.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/lib/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export type SpeculosDeviceInternal = {
|
|
|
26
26
|
};
|
|
27
27
|
export declare function getMemorySpeculosDeviceInternal(id: string): SpeculosDeviceInternal | undefined;
|
|
28
28
|
export declare const modelMap: Record<string, DeviceModelId>;
|
|
29
|
+
export declare const reverseModelMap: Record<string, string>;
|
|
29
30
|
/**
|
|
30
31
|
* Release a speculos device
|
|
31
32
|
*/
|
|
@@ -47,14 +48,12 @@ declare const getPorts: (idCounter: number, isSpeculosWebsocket?: boolean) => {
|
|
|
47
48
|
buttonPort?: undefined;
|
|
48
49
|
automationPort?: undefined;
|
|
49
50
|
};
|
|
51
|
+
export declare function conventionalAppSubpath(model: DeviceModelId, firmware: string, appName: string, appVersion: string): string;
|
|
50
52
|
interface Dependency {
|
|
51
53
|
name: string;
|
|
52
54
|
appVersion?: string;
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
* instanciate a speculos device that runs through docker
|
|
56
|
-
*/
|
|
57
|
-
export declare function createSpeculosDevice(arg: {
|
|
56
|
+
export type DeviceParams = {
|
|
58
57
|
model: DeviceModelId;
|
|
59
58
|
firmware: string;
|
|
60
59
|
appName: string;
|
|
@@ -65,5 +64,9 @@ export declare function createSpeculosDevice(arg: {
|
|
|
65
64
|
coinapps: string;
|
|
66
65
|
overridesAppPath?: string;
|
|
67
66
|
onSpeculosDeviceCreated?: (device: SpeculosDevice) => Promise<void>;
|
|
68
|
-
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* instanciate a speculos device that runs through docker
|
|
70
|
+
*/
|
|
71
|
+
export declare function createSpeculosDevice(arg: DeviceParams, maxRetry?: number): Promise<SpeculosDevice>;
|
|
69
72
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GACD;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAON,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE9F;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAKlD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GACD;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAON,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE9F;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAKlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAI1D;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,iBAOrD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,oBAEtC;AAmBD,QAAA,MAAM,QAAQ,cAAe,MAAM,wBAAwB,OAAO;;;;;;;;;;;;CAcjE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,UAGnB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IAEjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,YAAY,EACjB,QAAQ,SAAI,GACX,OAAO,CAAC,cAAc,CAAC,CAwMzB"}
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createSpeculosDevice = exports.closeAllSpeculosDevices = exports.releaseSpeculosDevice = exports.modelMap = exports.getMemorySpeculosDeviceInternal = exports.DeviceModelId = void 0;
|
|
6
|
+
exports.createSpeculosDevice = exports.conventionalAppSubpath = exports.closeAllSpeculosDevices = exports.releaseSpeculosDevice = exports.reverseModelMap = exports.modelMap = exports.getMemorySpeculosDeviceInternal = exports.DeviceModelId = void 0;
|
|
7
7
|
const child_process_1 = require("child_process");
|
|
8
8
|
const logs_1 = require("@ledgerhq/logs");
|
|
9
9
|
const devices_1 = require("@ledgerhq/devices");
|
|
@@ -26,9 +26,9 @@ exports.modelMap = {
|
|
|
26
26
|
nanox: devices_1.DeviceModelId.nanoX,
|
|
27
27
|
blue: devices_1.DeviceModelId.blue,
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
exports.reverseModelMap = {};
|
|
30
30
|
for (const k in exports.modelMap) {
|
|
31
|
-
reverseModelMap[exports.modelMap[k]] = k;
|
|
31
|
+
exports.reverseModelMap[exports.modelMap[k]] = k;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Release a speculos device
|
|
@@ -80,8 +80,9 @@ const getPorts = (idCounter, isSpeculosWebsocket) => {
|
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
82
|
function conventionalAppSubpath(model, firmware, appName, appVersion) {
|
|
83
|
-
return `${reverseModelMap[model]}/${firmware}/${appName.replace(/ /g, "")}/app_${appVersion}.elf`;
|
|
83
|
+
return `${exports.reverseModelMap[model]}/${firmware}/${appName.replace(/ /g, "")}/app_${appVersion}.elf`;
|
|
84
84
|
}
|
|
85
|
+
exports.conventionalAppSubpath = conventionalAppSubpath;
|
|
85
86
|
/**
|
|
86
87
|
* instanciate a speculos device that runs through docker
|
|
87
88
|
*/
|
|
@@ -139,7 +140,7 @@ async function createSpeculosDevice(arg, maxRetry = 3) {
|
|
|
139
140
|
...(sdk ? ["--sdk", sdk] : []),
|
|
140
141
|
"--display",
|
|
141
142
|
"headless",
|
|
142
|
-
...((0, live_env_1.getEnv)("PLAYWRIGHT_RUN") ? ["-p"] : []), // to use the production PKI
|
|
143
|
+
...((0, live_env_1.getEnv)("PLAYWRIGHT_RUN") || (0, live_env_1.getEnv)("DETOX") ? ["-p"] : []), // to use the production PKI
|
|
143
144
|
...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
|
|
144
145
|
...(isSpeculosWebsocket
|
|
145
146
|
? [
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA4E;AAC5E,yCAAqC;AACrC,+CAAkD;AAezC,8FAfA,uBAAa,OAeA;AAdtB,gHAA8E;AAC9E,sGAA8E;AAC9E,iDAA4C;AAC5C,yDAA+C;AA6B/C,wEAAwE;AACxE,IAAI,SAAiB,CAAC;AACtB,MAAM,mBAAmB,GAAG,IAAA,iBAAM,EAAC,wBAAwB,CAAC,CAAC;AAC7D,MAAM,IAAI,GAAuD,EAAE,CAAC;AAEpE,SAAgB,+BAA+B,CAAC,EAAU;IACxD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAFD,0EAEC;AAEY,QAAA,QAAQ,GAAkC;IACrD,KAAK,EAAE,uBAAa,CAAC,KAAK;IAC1B,QAAQ,EAAE,uBAAa,CAAC,MAAM;IAC9B,KAAK,EAAE,uBAAa,CAAC,KAAK;IAC1B,IAAI,EAAE,uBAAa,CAAC,IAAI;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib-es/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export type SpeculosDeviceInternal = {
|
|
|
26
26
|
};
|
|
27
27
|
export declare function getMemorySpeculosDeviceInternal(id: string): SpeculosDeviceInternal | undefined;
|
|
28
28
|
export declare const modelMap: Record<string, DeviceModelId>;
|
|
29
|
+
export declare const reverseModelMap: Record<string, string>;
|
|
29
30
|
/**
|
|
30
31
|
* Release a speculos device
|
|
31
32
|
*/
|
|
@@ -47,14 +48,12 @@ declare const getPorts: (idCounter: number, isSpeculosWebsocket?: boolean) => {
|
|
|
47
48
|
buttonPort?: undefined;
|
|
48
49
|
automationPort?: undefined;
|
|
49
50
|
};
|
|
51
|
+
export declare function conventionalAppSubpath(model: DeviceModelId, firmware: string, appName: string, appVersion: string): string;
|
|
50
52
|
interface Dependency {
|
|
51
53
|
name: string;
|
|
52
54
|
appVersion?: string;
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
* instanciate a speculos device that runs through docker
|
|
56
|
-
*/
|
|
57
|
-
export declare function createSpeculosDevice(arg: {
|
|
56
|
+
export type DeviceParams = {
|
|
58
57
|
model: DeviceModelId;
|
|
59
58
|
firmware: string;
|
|
60
59
|
appName: string;
|
|
@@ -65,5 +64,9 @@ export declare function createSpeculosDevice(arg: {
|
|
|
65
64
|
coinapps: string;
|
|
66
65
|
overridesAppPath?: string;
|
|
67
66
|
onSpeculosDeviceCreated?: (device: SpeculosDevice) => Promise<void>;
|
|
68
|
-
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* instanciate a speculos device that runs through docker
|
|
70
|
+
*/
|
|
71
|
+
export declare function createSpeculosDevice(arg: DeviceParams, maxRetry?: number): Promise<SpeculosDevice>;
|
|
69
72
|
//# sourceMappingURL=index.d.ts.map
|
package/lib-es/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GACD;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAON,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE9F;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAKlD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,GACD;IACE,OAAO,EAAE,8BAA8B,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAON,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE9F;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAKlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAI1D;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,iBAOrD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,oBAEtC;AAmBD,QAAA,MAAM,QAAQ,cAAe,MAAM,wBAAwB,OAAO;;;;;;;;;;;;CAcjE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,UAGnB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IAEjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,YAAY,EACjB,QAAQ,SAAI,GACX,OAAO,CAAC,cAAc,CAAC,CAwMzB"}
|
package/lib-es/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export const modelMap = {
|
|
|
19
19
|
nanox: DeviceModelId.nanoX,
|
|
20
20
|
blue: DeviceModelId.blue,
|
|
21
21
|
};
|
|
22
|
-
const reverseModelMap = {};
|
|
22
|
+
export const reverseModelMap = {};
|
|
23
23
|
for (const k in modelMap) {
|
|
24
24
|
reverseModelMap[modelMap[k]] = k;
|
|
25
25
|
}
|
|
@@ -70,7 +70,7 @@ const getPorts = (idCounter, isSpeculosWebsocket) => {
|
|
|
70
70
|
return { apiPort, vncPort };
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
|
-
function conventionalAppSubpath(model, firmware, appName, appVersion) {
|
|
73
|
+
export function conventionalAppSubpath(model, firmware, appName, appVersion) {
|
|
74
74
|
return `${reverseModelMap[model]}/${firmware}/${appName.replace(/ /g, "")}/app_${appVersion}.elf`;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
@@ -130,7 +130,7 @@ export async function createSpeculosDevice(arg, maxRetry = 3) {
|
|
|
130
130
|
...(sdk ? ["--sdk", sdk] : []),
|
|
131
131
|
"--display",
|
|
132
132
|
"headless",
|
|
133
|
-
...(getEnv("PLAYWRIGHT_RUN") ? ["-p"] : []), // to use the production PKI
|
|
133
|
+
...(getEnv("PLAYWRIGHT_RUN") || getEnv("DETOX") ? ["-p"] : []), // to use the production PKI
|
|
134
134
|
...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
|
|
135
135
|
...(isSpeculosWebsocket
|
|
136
136
|
? [
|
package/lib-es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAkC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAW/C,OAAO,EAAE,aAAa,EAAE,CAAC;AAkBzB,wEAAwE;AACxE,IAAI,SAAiB,CAAC;AACtB,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC7D,MAAM,IAAI,GAAuD,EAAE,CAAC;AAEpE,MAAM,UAAU,+BAA+B,CAAC,EAAU;IACxD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,QAAQ,EAAE,aAAa,CAAC,MAAM;IAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,IAAI,EAAE,aAAa,CAAC,IAAI;CACzB,CAAC;AAEF,MAAM,eAAe,GAA2B,EAAE,CAAC;
|
|
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.2.
|
|
3
|
+
"version": "0.2.2-next.0",
|
|
4
4
|
"description": "Ledger Live speculos transport test helper",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger"
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"types": "lib/index.d.ts",
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@ledgerhq/
|
|
22
|
-
"@ledgerhq/hw-transport-node-speculos": "6.29.
|
|
23
|
-
"@ledgerhq/
|
|
24
|
-
"@ledgerhq/live-
|
|
25
|
-
"@ledgerhq/
|
|
26
|
-
"@ledgerhq/
|
|
21
|
+
"@ledgerhq/hw-transport-node-speculos": "6.29.6-next.0",
|
|
22
|
+
"@ledgerhq/hw-transport-node-speculos-http": "6.29.6-next.0",
|
|
23
|
+
"@ledgerhq/devices": "8.4.6-next.0",
|
|
24
|
+
"@ledgerhq/live-promise": "0.1.1-next.0",
|
|
25
|
+
"@ledgerhq/logs": "6.13.0-next.0",
|
|
26
|
+
"@ledgerhq/live-env": "2.9.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^22.10.10",
|
package/src/index.ts
CHANGED
|
@@ -49,7 +49,7 @@ export const modelMap: Record<string, DeviceModelId> = {
|
|
|
49
49
|
blue: DeviceModelId.blue,
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
const reverseModelMap: Record<string, string> = {};
|
|
52
|
+
export const reverseModelMap: Record<string, string> = {};
|
|
53
53
|
for (const k in modelMap) {
|
|
54
54
|
reverseModelMap[modelMap[k]] = k;
|
|
55
55
|
}
|
|
@@ -105,7 +105,7 @@ const getPorts = (idCounter: number, isSpeculosWebsocket?: boolean) => {
|
|
|
105
105
|
}
|
|
106
106
|
};
|
|
107
107
|
|
|
108
|
-
function conventionalAppSubpath(
|
|
108
|
+
export function conventionalAppSubpath(
|
|
109
109
|
model: DeviceModelId,
|
|
110
110
|
firmware: string,
|
|
111
111
|
appName: string,
|
|
@@ -119,24 +119,26 @@ interface Dependency {
|
|
|
119
119
|
appVersion?: string;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
export type DeviceParams = {
|
|
123
|
+
model: DeviceModelId;
|
|
124
|
+
firmware: string;
|
|
125
|
+
appName: string;
|
|
126
|
+
appVersion: string;
|
|
127
|
+
dependency?: string;
|
|
128
|
+
dependencies?: Dependency[];
|
|
129
|
+
seed: string;
|
|
130
|
+
// Root folder from which you need to lookup app binaries
|
|
131
|
+
coinapps: string;
|
|
132
|
+
// if you want to force a specific app path
|
|
133
|
+
overridesAppPath?: string;
|
|
134
|
+
onSpeculosDeviceCreated?: (device: SpeculosDevice) => Promise<void>;
|
|
135
|
+
};
|
|
136
|
+
|
|
122
137
|
/**
|
|
123
138
|
* instanciate a speculos device that runs through docker
|
|
124
139
|
*/
|
|
125
140
|
export async function createSpeculosDevice(
|
|
126
|
-
arg:
|
|
127
|
-
model: DeviceModelId;
|
|
128
|
-
firmware: string;
|
|
129
|
-
appName: string;
|
|
130
|
-
appVersion: string;
|
|
131
|
-
dependency?: string;
|
|
132
|
-
dependencies?: Dependency[];
|
|
133
|
-
seed: string;
|
|
134
|
-
// Root folder from which you need to lookup app binaries
|
|
135
|
-
coinapps: string;
|
|
136
|
-
// if you want to force a specific app path
|
|
137
|
-
overridesAppPath?: string;
|
|
138
|
-
onSpeculosDeviceCreated?: (device: SpeculosDevice) => Promise<void>;
|
|
139
|
-
},
|
|
141
|
+
arg: DeviceParams,
|
|
140
142
|
maxRetry = 3,
|
|
141
143
|
): Promise<SpeculosDevice> {
|
|
142
144
|
const {
|
|
@@ -205,7 +207,7 @@ export async function createSpeculosDevice(
|
|
|
205
207
|
...(sdk ? ["--sdk", sdk] : []),
|
|
206
208
|
"--display",
|
|
207
209
|
"headless",
|
|
208
|
-
...(getEnv("PLAYWRIGHT_RUN") ? ["-p"] : []), // to use the production PKI
|
|
210
|
+
...(getEnv("PLAYWRIGHT_RUN") || getEnv("DETOX") ? ["-p"] : []), // to use the production PKI
|
|
209
211
|
...(process.env.CI ? ["--vnc-password", "live", "--vnc-port", "41000"] : []),
|
|
210
212
|
...(isSpeculosWebsocket
|
|
211
213
|
? [
|