@ledgerhq/device-core 0.4.28-nightly.0 → 0.5.0-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.
Files changed (77) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +29 -3
  3. package/lib/commands/entities/FirmwareInfoEntity.d.ts +2 -0
  4. package/lib/commands/entities/FirmwareInfoEntity.d.ts.map +1 -1
  5. package/lib/commands/use-cases/isCharonSupported.d.ts +3 -0
  6. package/lib/commands/use-cases/isCharonSupported.d.ts.map +1 -0
  7. package/lib/commands/use-cases/isCharonSupported.js +15 -0
  8. package/lib/commands/use-cases/isCharonSupported.js.map +1 -0
  9. package/lib/commands/use-cases/isCharonSupported.test.d.ts +2 -0
  10. package/lib/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
  11. package/lib/commands/use-cases/isCharonSupported.test.js +41 -0
  12. package/lib/commands/use-cases/isCharonSupported.test.js.map +1 -0
  13. package/lib/commands/use-cases/isRecoverSupported.d.ts +3 -0
  14. package/lib/commands/use-cases/isRecoverSupported.d.ts.map +1 -0
  15. package/lib/commands/use-cases/isRecoverSupported.js +15 -0
  16. package/lib/commands/use-cases/isRecoverSupported.js.map +1 -0
  17. package/lib/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
  18. package/lib/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
  19. package/lib/commands/use-cases/isRecoverSupported.test.js +49 -0
  20. package/lib/commands/use-cases/isRecoverSupported.test.js.map +1 -0
  21. package/lib/commands/use-cases/parseGetVersionResponse.d.ts.map +1 -1
  22. package/lib/commands/use-cases/parseGetVersionResponse.js +17 -0
  23. package/lib/commands/use-cases/parseGetVersionResponse.js.map +1 -1
  24. package/lib/commands/use-cases/parseGetVersionResponse.test.js +42 -2
  25. package/lib/commands/use-cases/parseGetVersionResponse.test.js.map +1 -1
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.d.ts.map +1 -1
  28. package/lib/index.js +3 -1
  29. package/lib/index.js.map +1 -1
  30. package/lib/managerApi/entities/DeviceInfoEntity.d.ts +3 -0
  31. package/lib/managerApi/entities/DeviceInfoEntity.d.ts.map +1 -1
  32. package/lib/managerApi/entities/mocks/aDeviceInfo.d.ts.map +1 -1
  33. package/lib/managerApi/entities/mocks/aDeviceInfo.js +1 -0
  34. package/lib/managerApi/entities/mocks/aDeviceInfo.js.map +1 -1
  35. package/lib-es/commands/entities/FirmwareInfoEntity.d.ts +2 -0
  36. package/lib-es/commands/entities/FirmwareInfoEntity.d.ts.map +1 -1
  37. package/lib-es/commands/use-cases/isCharonSupported.d.ts +3 -0
  38. package/lib-es/commands/use-cases/isCharonSupported.d.ts.map +1 -0
  39. package/lib-es/commands/use-cases/isCharonSupported.js +11 -0
  40. package/lib-es/commands/use-cases/isCharonSupported.js.map +1 -0
  41. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts +2 -0
  42. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
  43. package/lib-es/commands/use-cases/isCharonSupported.test.js +39 -0
  44. package/lib-es/commands/use-cases/isCharonSupported.test.js.map +1 -0
  45. package/lib-es/commands/use-cases/isRecoverSupported.d.ts +3 -0
  46. package/lib-es/commands/use-cases/isRecoverSupported.d.ts.map +1 -0
  47. package/lib-es/commands/use-cases/isRecoverSupported.js +11 -0
  48. package/lib-es/commands/use-cases/isRecoverSupported.js.map +1 -0
  49. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
  50. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
  51. package/lib-es/commands/use-cases/isRecoverSupported.test.js +47 -0
  52. package/lib-es/commands/use-cases/isRecoverSupported.test.js.map +1 -0
  53. package/lib-es/commands/use-cases/parseGetVersionResponse.d.ts.map +1 -1
  54. package/lib-es/commands/use-cases/parseGetVersionResponse.js +17 -0
  55. package/lib-es/commands/use-cases/parseGetVersionResponse.js.map +1 -1
  56. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js +42 -2
  57. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js.map +1 -1
  58. package/lib-es/index.d.ts +1 -0
  59. package/lib-es/index.d.ts.map +1 -1
  60. package/lib-es/index.js +1 -0
  61. package/lib-es/index.js.map +1 -1
  62. package/lib-es/managerApi/entities/DeviceInfoEntity.d.ts +3 -0
  63. package/lib-es/managerApi/entities/DeviceInfoEntity.d.ts.map +1 -1
  64. package/lib-es/managerApi/entities/mocks/aDeviceInfo.d.ts.map +1 -1
  65. package/lib-es/managerApi/entities/mocks/aDeviceInfo.js +1 -0
  66. package/lib-es/managerApi/entities/mocks/aDeviceInfo.js.map +1 -1
  67. package/package.json +6 -6
  68. package/src/commands/entities/FirmwareInfoEntity.ts +2 -0
  69. package/src/commands/use-cases/isCharonSupported.test.ts +48 -0
  70. package/src/commands/use-cases/isCharonSupported.ts +18 -0
  71. package/src/commands/use-cases/isRecoverSupported.test.ts +60 -0
  72. package/src/commands/use-cases/isRecoverSupported.ts +17 -0
  73. package/src/commands/use-cases/parseGetVersionResponse.test.ts +49 -2
  74. package/src/commands/use-cases/parseGetVersionResponse.ts +19 -0
  75. package/src/index.ts +1 -0
  76. package/src/managerApi/entities/DeviceInfoEntity.ts +1 -0
  77. package/src/managerApi/entities/mocks/aDeviceInfo.ts +1 -0
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/device-core@0.4.27 build /home/runner/work/ledger-live/ledger-live/libs/device-core
2
+ > @ledgerhq/device-core@0.4.28 build /home/runner/work/ledger-live/ledger-live/libs/device-core
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,11 +1,37 @@
1
1
  # @ledgerhq/device-core
2
2
 
3
- ## 0.4.28-nightly.0
3
+ ## 0.5.0-nightly.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#10591](https://github.com/LedgerHQ/ledger-live/pull/10591) [`95bcad3`](https://github.com/LedgerHQ/ledger-live/commit/95bcad3cc17aa7b4139a8ae3b08ecfb15a2fbcdc) Thanks [@ofreyssinet-ledger](https://github.com/ofreyssinet-ledger)! - Add ledger charon support
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`95bcad3`](https://github.com/LedgerHQ/ledger-live/commit/95bcad3cc17aa7b4139a8ae3b08ecfb15a2fbcdc)]:
12
+ - @ledgerhq/types-live@6.75.0-nightly.0
13
+
14
+ ## 0.4.28
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [[`9ceee03`](https://github.com/LedgerHQ/ledger-live/commit/9ceee03c33c41bb035fe64f9303acd36872536b6), [`98eb2eb`](https://github.com/LedgerHQ/ledger-live/commit/98eb2ebce8e12742a68b8f54ba625d63c4958087), [`b5e3217`](https://github.com/LedgerHQ/ledger-live/commit/b5e321789d3a6f9cb1916067790590640db0876f), [`e9739d1`](https://github.com/LedgerHQ/ledger-live/commit/e9739d19946376dd7a8a5f10471594f267f3a95f)]:
19
+ - @ledgerhq/types-live@6.74.0
20
+ - @ledgerhq/errors@6.22.0
21
+ - @ledgerhq/devices@8.4.7
22
+ - @ledgerhq/hw-transport@6.31.7
23
+ - @ledgerhq/live-network@2.0.11
24
+
25
+ ## 0.4.28-next.0
4
26
 
5
27
  ### Patch Changes
6
28
 
7
- - Updated dependencies [[`7a1b8c8`](https://github.com/LedgerHQ/ledger-live/commit/7a1b8c8e59383efb02676cfe647c5889a31372bc)]:
8
- - @ledgerhq/types-live@6.74.0-nightly.0
29
+ - Updated dependencies [[`9ceee03`](https://github.com/LedgerHQ/ledger-live/commit/9ceee03c33c41bb035fe64f9303acd36872536b6), [`98eb2eb`](https://github.com/LedgerHQ/ledger-live/commit/98eb2ebce8e12742a68b8f54ba625d63c4958087), [`b5e3217`](https://github.com/LedgerHQ/ledger-live/commit/b5e321789d3a6f9cb1916067790590640db0876f), [`e9739d1`](https://github.com/LedgerHQ/ledger-live/commit/e9739d19946376dd7a8a5f10471594f267f3a95f)]:
30
+ - @ledgerhq/types-live@6.74.0-next.0
31
+ - @ledgerhq/errors@6.22.0-next.0
32
+ - @ledgerhq/devices@8.4.7-next.0
33
+ - @ledgerhq/hw-transport@6.31.7-next.0
34
+ - @ledgerhq/live-network@2.0.11-next.0
9
35
 
10
36
  ## 0.4.27
11
37
 
@@ -13,5 +13,7 @@ export type FirmwareInfoEntity = {
13
13
  bootloaderVersion?: string;
14
14
  hardwareVersion?: number;
15
15
  languageId?: number;
16
+ recoverState?: Buffer;
17
+ charonState?: Buffer;
16
18
  };
17
19
  //# sourceMappingURL=FirmwareInfoEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/commands/entities/FirmwareInfoEntity.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"FirmwareInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/commands/entities/FirmwareInfoEntity.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices/lib/index";
2
+ export declare const isCharonSupported: (seVersion: string, modelId?: DeviceModelId) => boolean;
3
+ //# sourceMappingURL=isCharonSupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQ5D,eAAO,MAAM,iBAAiB,cAAe,MAAM,YAAY,aAAa,KAAG,OAS9E,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCharonSupported = void 0;
4
+ const semver_1 = require("semver");
5
+ const deviceVersionRangesForCharon = {
6
+ stax: ">=1.7.0",
7
+ europa: ">=1.3.0",
8
+ };
9
+ const isCharonSupported = (seVersion, modelId) => {
10
+ return (!!modelId &&
11
+ !!deviceVersionRangesForCharon[modelId] &&
12
+ !!(0, semver_1.satisfies)((0, semver_1.coerce)(seVersion) || seVersion, deviceVersionRangesForCharon[modelId]));
13
+ };
14
+ exports.isCharonSupported = isCharonSupported;
15
+ //# sourceMappingURL=isCharonSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.ts"],"names":[],"mappings":";;;AACA,mCAA+E;AAE/E,MAAM,4BAA4B,GAAwC;IACxE,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,OAAuB,EAAW,EAAE;IACvF,OAAO,CACL,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,4BAA4B,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,IAAA,kBAAgB,EAChB,IAAA,eAAY,EAAC,SAAS,CAAC,IAAI,SAAS,EACpC,4BAA4B,CAAC,OAAO,CAAW,CAChD,CACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isCharonSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devices_1 = require("@ledgerhq/devices");
4
+ const isCharonSupported_1 = require("./isCharonSupported");
5
+ const { nanoS, nanoX, stax, europa, nanoSP } = devices_1.DeviceModelId;
6
+ test("isHardwareVersionSupported", () => {
7
+ /**
8
+ * Nano S
9
+ * */
10
+ expect((0, isCharonSupported_1.isCharonSupported)("2.0.0", nanoS)).toBe(false);
11
+ expect((0, isCharonSupported_1.isCharonSupported)("2.0.0-whatever0", nanoS)).toBe(false);
12
+ /**
13
+ * Nano X
14
+ * */
15
+ expect((0, isCharonSupported_1.isCharonSupported)("1.9.0", nanoX)).toBe(false);
16
+ expect((0, isCharonSupported_1.isCharonSupported)("1.9.0-whatever0", nanoX)).toBe(false);
17
+ /**
18
+ * Nano SP
19
+ * */
20
+ expect((0, isCharonSupported_1.isCharonSupported)("2.0.0", nanoSP)).toBe(false);
21
+ expect((0, isCharonSupported_1.isCharonSupported)("2.0.0-whatever0", nanoSP)).toBe(false);
22
+ /**
23
+ * Stax
24
+ * */
25
+ expect((0, isCharonSupported_1.isCharonSupported)("1.9.0", stax)).toBe(true);
26
+ expect((0, isCharonSupported_1.isCharonSupported)("1.9.0-whatever0", stax)).toBe(true);
27
+ expect((0, isCharonSupported_1.isCharonSupported)("1.7.0", stax)).toBe(true);
28
+ expect((0, isCharonSupported_1.isCharonSupported)("1.7.0-whatever0", stax)).toBe(true);
29
+ expect((0, isCharonSupported_1.isCharonSupported)("1.3.0", stax)).toBe(false);
30
+ expect((0, isCharonSupported_1.isCharonSupported)("1.3.0-whatever0", stax)).toBe(false);
31
+ /**
32
+ * Europa
33
+ * */
34
+ expect((0, isCharonSupported_1.isCharonSupported)("1.6.0", europa)).toBe(true);
35
+ expect((0, isCharonSupported_1.isCharonSupported)("1.6.0-whatever0", europa)).toBe(true);
36
+ expect((0, isCharonSupported_1.isCharonSupported)("1.3.0", europa)).toBe(true);
37
+ expect((0, isCharonSupported_1.isCharonSupported)("1.3.0-whatever0", europa)).toBe(true);
38
+ expect((0, isCharonSupported_1.isCharonSupported)("1.2.0", europa)).toBe(false);
39
+ expect((0, isCharonSupported_1.isCharonSupported)("1.2.0-whatever0", europa)).toBe(false);
40
+ });
41
+ //# sourceMappingURL=isCharonSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":";;AAAA,+CAAkD;AAClD,2DAAwD;AAExD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAa,CAAC;AAE7D,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC;;SAEK;IACL,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjE;;SAEK;IACL,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE/D;;SAEK;IACL,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,IAAA,qCAAiB,EAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ export declare const isRecoverSupported: (seVersion: string, modelId?: DeviceModelId) => boolean;
3
+ //# sourceMappingURL=isRecoverSupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecoverSupported.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUlD,eAAO,MAAM,kBAAkB,cAAe,MAAM,YAAY,aAAa,KAAG,OAM7E,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRecoverSupported = void 0;
4
+ const semver_1 = require("semver");
5
+ const deviceVersionRangesForRecover = {
6
+ nanoX: ">=2.1.0",
7
+ nanoSP: ">=1.1.0",
8
+ stax: ">=1.0.0",
9
+ europa: ">=0.0.0",
10
+ };
11
+ const isRecoverSupported = (seVersion, modelId) => !!modelId &&
12
+ !!deviceVersionRangesForRecover[modelId] &&
13
+ !!(0, semver_1.satisfies)((0, semver_1.coerce)(seVersion) || seVersion, deviceVersionRangesForRecover[modelId]);
14
+ exports.isRecoverSupported = isRecoverSupported;
15
+ //# sourceMappingURL=isRecoverSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecoverSupported.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.ts"],"names":[],"mappings":";;;AACA,mCAA+E;AAE/E,MAAM,6BAA6B,GAAwC;IACzE,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,OAAuB,EAAW,EAAE,CACxF,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC;IACxC,CAAC,CAAC,IAAA,kBAAgB,EAChB,IAAA,eAAY,EAAC,SAAS,CAAC,IAAI,SAAS,EACpC,6BAA6B,CAAC,OAAO,CAAW,CACjD,CAAC;AANS,QAAA,kBAAkB,sBAM3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isRecoverSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecoverSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devices_1 = require("@ledgerhq/devices");
4
+ const isRecoverSupported_1 = require("./isRecoverSupported");
5
+ const { nanoS, nanoX, stax, europa, nanoSP } = devices_1.DeviceModelId;
6
+ test("isRecoverSupported", () => {
7
+ /**
8
+ * Nano S
9
+ * */
10
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0", nanoS)).toBe(false);
11
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0-whatever0", nanoS)).toBe(false);
12
+ /**
13
+ * Nano SP
14
+ * */
15
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0", nanoSP)).toBe(true);
16
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0-whatever0", nanoSP)).toBe(true);
17
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.1.0", nanoSP)).toBe(true);
18
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.1.0-whatever0", nanoSP)).toBe(true);
19
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.0.0", nanoSP)).toBe(false);
20
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.0.0-whatever0", nanoSP)).toBe(false);
21
+ /**
22
+ * Nano X
23
+ * */
24
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.5.0", nanoX)).toBe(true);
25
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.5.0-whatever0", nanoX)).toBe(true);
26
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.1.0", nanoX)).toBe(true);
27
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.1.0-whatever0", nanoX)).toBe(true);
28
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0", nanoX)).toBe(false);
29
+ expect((0, isRecoverSupported_1.isRecoverSupported)("2.0.0-whatever0", nanoX)).toBe(false);
30
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.9.0", nanoX)).toBe(false);
31
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.9.0-whatever0", nanoX)).toBe(false);
32
+ /**
33
+ * Stax
34
+ * */
35
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.9.0", stax)).toBe(true);
36
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.9.0-whatever0", stax)).toBe(true);
37
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.0.0", stax)).toBe(true);
38
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.0.0-whatever0", stax)).toBe(true);
39
+ expect((0, isRecoverSupported_1.isRecoverSupported)("0.0.0", stax)).toBe(false);
40
+ expect((0, isRecoverSupported_1.isRecoverSupported)("0.0.0-whatever0", stax)).toBe(false);
41
+ /**
42
+ * Europa
43
+ * */
44
+ expect((0, isRecoverSupported_1.isRecoverSupported)("0.0.0", europa)).toBe(true);
45
+ expect((0, isRecoverSupported_1.isRecoverSupported)("0.0.0-whatever0", europa)).toBe(true);
46
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.4.0", europa)).toBe(true);
47
+ expect((0, isRecoverSupported_1.isRecoverSupported)("1.4.0-whatever0", europa)).toBe(true);
48
+ });
49
+ //# sourceMappingURL=isRecoverSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecoverSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseGetVersionResponse.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAkH5E"}
1
+ {"version":3,"file":"parseGetVersionResponse.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAOpE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAmI5E"}
@@ -5,6 +5,8 @@ const devices_1 = require("@ledgerhq/devices");
5
5
  const isDeviceLocalizationSupported_1 = require("./isDeviceLocalizationSupported");
6
6
  const isHardwareVersionSupported_1 = require("./isHardwareVersionSupported");
7
7
  const isBootloaderVersionSupported_1 = require("./isBootloaderVersionSupported");
8
+ const isRecoverSupported_1 = require("./isRecoverSupported");
9
+ const isCharonSupported_1 = require("./isCharonSupported");
8
10
  function parseGetVersionResponse(response) {
9
11
  const data = response.slice(0, response.length - 2);
10
12
  let i = 0;
@@ -32,6 +34,8 @@ function parseGetVersionResponse(response) {
32
34
  let mcuTargetId;
33
35
  let seTargetId;
34
36
  let languageId;
37
+ let recoverState;
38
+ let charonState;
35
39
  const isBootloader = (targetId & 4026531840) !== 805306368;
36
40
  if (isBootloader) {
37
41
  mcuBlVersion = rawVersion;
@@ -86,6 +90,17 @@ function parseGetVersionResponse(response) {
86
90
  if ((0, isDeviceLocalizationSupported_1.isDeviceLocalizationSupported)(seVersion, deviceModel?.id)) {
87
91
  const languageIdLength = data[i++];
88
92
  languageId = data.slice(i, i + languageIdLength).readUIntBE(0, 1);
93
+ i += languageIdLength;
94
+ }
95
+ if ((0, isRecoverSupported_1.isRecoverSupported)(seVersion, deviceModel?.id)) {
96
+ const recoverStateLength = data[i++];
97
+ recoverState = Buffer.from(data.slice(i, i + recoverStateLength));
98
+ i += recoverStateLength;
99
+ }
100
+ if ((0, isCharonSupported_1.isCharonSupported)(seVersion, deviceModel?.id)) {
101
+ const charonStateLength = data[i++];
102
+ charonState = Buffer.from(data.slice(i, i + charonStateLength));
103
+ i += charonStateLength;
89
104
  }
90
105
  }
91
106
  }
@@ -102,6 +117,8 @@ function parseGetVersionResponse(response) {
102
117
  bootloaderVersion,
103
118
  hardwareVersion,
104
119
  languageId,
120
+ recoverState,
121
+ charonState,
105
122
  };
106
123
  }
107
124
  exports.parseGetVersionResponse = parseGetVersionResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"parseGetVersionResponse.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseGetVersionResponse.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ describe("parseGetVersionResult", () => {
17
17
  "01", // hw version aka `hardwareVersion`
18
18
  "01", // language id length
19
19
  "00", // language id
20
- "01", // ?
21
- "00", // ?
20
+ "01", // recoverState length
21
+ "00", // recoverState
22
22
  "9000", // status
23
23
  ].join(""), "hex");
24
24
  const expectedParseResult = {
@@ -34,6 +34,8 @@ describe("parseGetVersionResult", () => {
34
34
  bootloaderVersion: "1.16",
35
35
  hardwareVersion: 1,
36
36
  languageId: 0,
37
+ recoverState: Buffer.from([0]),
38
+ charonState: undefined,
37
39
  };
38
40
  const parseResult = (0, parseGetVersionResponse_1.parseGetVersionResponse)(responseBuffer);
39
41
  expect(parseResult).toEqual(expectedParseResult);
@@ -101,5 +103,43 @@ describe("parseGetVersionResult", () => {
101
103
  const parseResult = (0, parseGetVersionResponse_1.parseGetVersionResponse)(responseBuffer);
102
104
  expect(parseResult).toEqual(expectedParseResult);
103
105
  });
106
+ it("should handle charon state and recover state", () => {
107
+ const responseBuffer = Buffer.from([
108
+ "33300004", // targetId
109
+ "05", // device version length
110
+ "312e342e30", // device version aka `rawVersion`
111
+ "04", // flags length
112
+ "ee000000", // flags
113
+ "05",
114
+ "362e352e32", // mcu version aka `mcuVersion`
115
+ "05", // bootloader version length
116
+ "352e352e32", // bootloader version aka `bootloaderVersion`
117
+ "01", // language id length
118
+ "00", // language id
119
+ "01", // recoverState length
120
+ "06", // recoverState
121
+ "01", // charonLength
122
+ "02", // charon
123
+ "9000", // status
124
+ ].join(""), "hex");
125
+ const expectedParseResult = {
126
+ isBootloader: false,
127
+ rawVersion: "1.4.0",
128
+ targetId: 858783748,
129
+ seVersion: "1.4.0",
130
+ mcuVersion: "6.5.2",
131
+ mcuBlVersion: undefined,
132
+ mcuTargetId: undefined,
133
+ seTargetId: 858783748,
134
+ flags: Buffer.from([238, 0, 0, 0]),
135
+ bootloaderVersion: "5.5.2",
136
+ hardwareVersion: undefined,
137
+ languageId: 0,
138
+ recoverState: Buffer.from([6]),
139
+ charonState: Buffer.from([2]),
140
+ };
141
+ const parseResult = (0, parseGetVersionResponse_1.parseGetVersionResponse)(responseBuffer);
142
+ expect(parseResult).toEqual(expectedParseResult);
143
+ });
104
144
  });
105
145
  //# sourceMappingURL=parseGetVersionResponse.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseGetVersionResponse.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.test.ts"],"names":[],"mappings":";;AAAA,uEAAoE;AAEpE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC;YACE,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,gCAAgC;YACtC,YAAY,EAAE,kCAAkC;YAChD,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,iCAAiC;YAC7C,IAAI,EAAE,mCAAmC;YACzC,UAAU,EAAE,+CAA+C;YAC3D,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,2CAA2C;YACjD,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,eAAe;SACxB,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,KAAK,CACN,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,iBAAiB,EAAE,MAAM;YACzB,eAAe,EAAE,CAAC;YAClB,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,iDAAuB,EAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC;YACE,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,iCAAiC;YAC7C,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,2CAA2C;YACjD,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,eAAe;SACxB,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,KAAK,CACN,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,OAAO,EAAE,uCAAuC;YAC5D,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,iCAAiC;YACzD,iBAAiB,EAAE,SAAS,EAAE,iFAAiF;YAC/G,eAAe,EAAE,SAAS,EAAE,6EAA6E;YACzG,UAAU,EAAE,SAAS,EAAE,kFAAkF;SAC1G,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,iDAAuB,EAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC;YACE,UAAU,EAAE,8BAA8B;YAC1C,IAAI,EAAE,2BAA2B;YACjC,UAAU,EAAE,iCAAiC;YAC7C,IAAI,EAAE,sBAAsB;YAC5B,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,0BAA0B;YAChC,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,2BAA2B;YACjC,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,cAAc;SACvB,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,KAAK,CACN,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACvC,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,iDAAuB,EAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"parseGetVersionResponse.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.test.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -27,6 +27,7 @@ export { type CLSSupportedDeviceModelId, isCustomLockScreenSupported, } from "./
27
27
  export { isEditDeviceNameSupported } from "./capabilities/isEditDeviceNameSupported";
28
28
  export { isSyncOnboardingSupported } from "./capabilities/isSyncOnboardingSupported";
29
29
  export { supportedDeviceModelIds } from "./capabilities/isCustomLockScreenSupported";
30
+ export { isCharonSupported } from "./commands/use-cases/isCharonSupported";
30
31
  export * from "./customLockScreen/screenSpecs";
31
32
  export { shouldForceFirmwareUpdate } from "./firmwareUpdate/shouldForceFirmwareUpdate";
32
33
  export * from "./errors";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,WAAW,EACX,2BAA2B,GAC5B,MAAM,mDAAmD,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,YAAY,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,cAAc,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAE9F,OAAO,EACL,KAAK,yBAAyB,EAC9B,2BAA2B,GAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,WAAW,EACX,2BAA2B,GAC5B,MAAM,mDAAmD,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,YAAY,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,cAAc,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAE9F,OAAO,EACL,KAAK,yBAAyB,EAC9B,2BAA2B,GAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC"}
package/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.reinstallConfigurationConsent = exports.shouldForceFirmwareUpdate = exports.supportedDeviceModelIds = exports.isSyncOnboardingSupported = exports.isEditDeviceNameSupported = exports.isCustomLockScreenSupported = exports.restoreAppStorageInit = exports.restoreAppStorageCommit = exports.restoreAppStorage = exports.getAppStorageInfo = exports.backupAppStorage = exports.isAppStorageInfo = exports.getVersion = exports.isBootloaderVersionSupported = exports.isHardwareVersionSupported = exports.getDeviceName = exports.parseGetVersionResponse = exports.GET_VERSION_APDU = exports.getAppsCatalogForDevice = exports.aDeviceInfoBuilder = exports.fetchMcus = exports.getProviderIdUseCase = exports.PROVIDERS = exports.isDeviceLocalizationSupported = exports.getLatestFirmwareForDevice = exports.StubManagerApiRepository = exports.HttpManagerApiRepository = void 0;
17
+ exports.reinstallConfigurationConsent = exports.shouldForceFirmwareUpdate = exports.isCharonSupported = exports.supportedDeviceModelIds = exports.isSyncOnboardingSupported = exports.isEditDeviceNameSupported = exports.isCustomLockScreenSupported = exports.restoreAppStorageInit = exports.restoreAppStorageCommit = exports.restoreAppStorage = exports.getAppStorageInfo = exports.backupAppStorage = exports.isAppStorageInfo = exports.getVersion = exports.isBootloaderVersionSupported = exports.isHardwareVersionSupported = exports.getDeviceName = exports.parseGetVersionResponse = exports.GET_VERSION_APDU = exports.getAppsCatalogForDevice = exports.aDeviceInfoBuilder = exports.fetchMcus = exports.getProviderIdUseCase = exports.PROVIDERS = exports.isDeviceLocalizationSupported = exports.getLatestFirmwareForDevice = exports.StubManagerApiRepository = exports.HttpManagerApiRepository = void 0;
18
18
  var HttpManagerApiRepository_1 = require("./managerApi/repositories/HttpManagerApiRepository");
19
19
  Object.defineProperty(exports, "HttpManagerApiRepository", { enumerable: true, get: function () { return HttpManagerApiRepository_1.HttpManagerApiRepository; } });
20
20
  var StubManagerApiRepository_1 = require("./managerApi/repositories/StubManagerApiRepository");
@@ -65,6 +65,8 @@ var isSyncOnboardingSupported_1 = require("./capabilities/isSyncOnboardingSuppor
65
65
  Object.defineProperty(exports, "isSyncOnboardingSupported", { enumerable: true, get: function () { return isSyncOnboardingSupported_1.isSyncOnboardingSupported; } });
66
66
  var isCustomLockScreenSupported_2 = require("./capabilities/isCustomLockScreenSupported");
67
67
  Object.defineProperty(exports, "supportedDeviceModelIds", { enumerable: true, get: function () { return isCustomLockScreenSupported_2.supportedDeviceModelIds; } });
68
+ var isCharonSupported_1 = require("./commands/use-cases/isCharonSupported");
69
+ Object.defineProperty(exports, "isCharonSupported", { enumerable: true, get: function () { return isCharonSupported_1.isCharonSupported; } });
68
70
  // src/customLockScreen/
69
71
  __exportStar(require("./customLockScreen/screenSpecs"), exports);
70
72
  // src/firmwareUpdate/
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASA,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,gGAA+F;AAAtF,wIAAA,0BAA0B,OAAA;AACnC,oGAAmG;AAA1F,8IAAA,6BAA6B,OAAA;AACtC,oFAA8F;AAArF,iHAAA,SAAS,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACxC,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,uEAA6E;AAApE,iHAAA,kBAAkB,OAAA;AAC3B,0FAAyF;AAAhF,kIAAA,uBAAuB,OAAA;AAGhC,8DAAmE;AAA1D,8GAAA,gBAAgB,OAAA;AACzB,wFAAuF;AAA9E,kIAAA,uBAAuB,OAAA;AAChC,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,kGAAiG;AAAxF,4IAAA,4BAA4B,OAAA;AACrC,8DAA6D;AAApD,wGAAA,UAAU,OAAA;AACnB,qEAA2F;AAA7D,kHAAA,gBAAgB,OAAA;AAC9C,qFAAoF;AAA3E,oHAAA,gBAAgB,OAAA;AACzB,uFAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAC1B,uFAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,kIAAA,uBAAuB,OAAA;AAChC,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,oBAAoB;AACpB,0FAGoD;AADlD,0IAAA,2BAA2B,OAAA;AAE7B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,0FAAqF;AAA5E,sIAAA,uBAAuB,OAAA;AAChC,wBAAwB;AACxB,iEAA+C;AAC/C,sBAAsB;AACtB,wFAAuF;AAA9E,sIAAA,yBAAyB,OAAA;AAClC,SAAS;AACT,2CAAyB;AACzB,wBAAwB;AACxB,4GAA2G;AAAlG,8IAAA,6BAA6B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASA,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,gGAA+F;AAAtF,wIAAA,0BAA0B,OAAA;AACnC,oGAAmG;AAA1F,8IAAA,6BAA6B,OAAA;AACtC,oFAA8F;AAArF,iHAAA,SAAS,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACxC,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,uEAA6E;AAApE,iHAAA,kBAAkB,OAAA;AAC3B,0FAAyF;AAAhF,kIAAA,uBAAuB,OAAA;AAGhC,8DAAmE;AAA1D,8GAAA,gBAAgB,OAAA;AACzB,wFAAuF;AAA9E,kIAAA,uBAAuB,OAAA;AAChC,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,kGAAiG;AAAxF,4IAAA,4BAA4B,OAAA;AACrC,8DAA6D;AAApD,wGAAA,UAAU,OAAA;AACnB,qEAA2F;AAA7D,kHAAA,gBAAgB,OAAA;AAC9C,qFAAoF;AAA3E,oHAAA,gBAAgB,OAAA;AACzB,uFAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAC1B,uFAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,kIAAA,uBAAuB,OAAA;AAChC,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,oBAAoB;AACpB,0FAGoD;AADlD,0IAAA,2BAA2B,OAAA;AAE7B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,0FAAqF;AAA5E,sIAAA,uBAAuB,OAAA;AAChC,4EAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,wBAAwB;AACxB,iEAA+C;AAC/C,sBAAsB;AACtB,wFAAuF;AAA9E,sIAAA,yBAAyB,OAAA;AAClC,SAAS;AACT,2CAAyB;AACzB,wBAAwB;AACxB,4GAA2G;AAAlG,8IAAA,6BAA6B,OAAA"}
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
1
3
  export type DeviceInfoEntity = {
2
4
  mcuVersion: string;
3
5
  version: string;
@@ -18,5 +20,6 @@ export type DeviceInfoEntity = {
18
20
  bootloaderVersion?: string;
19
21
  hardwareVersion?: number;
20
22
  languageId?: number;
23
+ seFlags: Buffer;
21
24
  };
22
25
  //# sourceMappingURL=DeviceInfoEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/managerApi/entities/DeviceInfoEntity.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"DeviceInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/managerApi/entities/DeviceInfoEntity.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aDeviceInfo.d.ts","sourceRoot":"","sources":["../../../../src/managerApi/entities/mocks/aDeviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,kBAAkB,WAAY,QAAQ,UAAU,CAAC,KAAG,UAahE,CAAC"}
1
+ {"version":3,"file":"aDeviceInfo.d.ts","sourceRoot":"","sources":["../../../../src/managerApi/entities/mocks/aDeviceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,kBAAkB,WAAY,QAAQ,UAAU,CAAC,KAAG,UAchE,CAAC"}
@@ -12,6 +12,7 @@ const aDeviceInfoBuilder = (props) => {
12
12
  providerName: undefined,
13
13
  managerAllowed: false,
14
14
  pinValidated: true,
15
+ seFlags: Buffer.alloc(0),
15
16
  ...props,
16
17
  };
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"aDeviceInfo.js","sourceRoot":"","sources":["../../../../src/managerApi/entities/mocks/aDeviceInfo.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAAC,KAA2B,EAAc,EAAE;IAC5E,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;QAClB,GAAG,KAAK;KACT,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
1
+ {"version":3,"file":"aDeviceInfo.js","sourceRoot":"","sources":["../../../../src/managerApi/entities/mocks/aDeviceInfo.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAAC,KAA2B,EAAc,EAAE;IAC5E,OAAO;QACL,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,GAAG,KAAK;KACT,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B"}
@@ -13,5 +13,7 @@ export type FirmwareInfoEntity = {
13
13
  bootloaderVersion?: string;
14
14
  hardwareVersion?: number;
15
15
  languageId?: number;
16
+ recoverState?: Buffer;
17
+ charonState?: Buffer;
16
18
  };
17
19
  //# sourceMappingURL=FirmwareInfoEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/commands/entities/FirmwareInfoEntity.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"FirmwareInfoEntity.d.ts","sourceRoot":"","sources":["../../../src/commands/entities/FirmwareInfoEntity.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices/lib/index";
2
+ export declare const isCharonSupported: (seVersion: string, modelId?: DeviceModelId) => boolean;
3
+ //# sourceMappingURL=isCharonSupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQ5D,eAAO,MAAM,iBAAiB,cAAe,MAAM,YAAY,aAAa,KAAG,OAS9E,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { satisfies as versionSatisfies, coerce as semverCoerce } from "semver";
2
+ const deviceVersionRangesForCharon = {
3
+ stax: ">=1.7.0",
4
+ europa: ">=1.3.0",
5
+ };
6
+ export const isCharonSupported = (seVersion, modelId) => {
7
+ return (!!modelId &&
8
+ !!deviceVersionRangesForCharon[modelId] &&
9
+ !!versionSatisfies(semverCoerce(seVersion) || seVersion, deviceVersionRangesForCharon[modelId]));
10
+ };
11
+ //# sourceMappingURL=isCharonSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE/E,MAAM,4BAA4B,GAAwC;IACxE,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,OAAuB,EAAW,EAAE;IACvF,OAAO,CACL,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,4BAA4B,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,gBAAgB,CAChB,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,EACpC,4BAA4B,CAAC,OAAO,CAAW,CAChD,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isCharonSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isCharonSupported } from "./isCharonSupported";
3
+ const { nanoS, nanoX, stax, europa, nanoSP } = DeviceModelId;
4
+ test("isHardwareVersionSupported", () => {
5
+ /**
6
+ * Nano S
7
+ * */
8
+ expect(isCharonSupported("2.0.0", nanoS)).toBe(false);
9
+ expect(isCharonSupported("2.0.0-whatever0", nanoS)).toBe(false);
10
+ /**
11
+ * Nano X
12
+ * */
13
+ expect(isCharonSupported("1.9.0", nanoX)).toBe(false);
14
+ expect(isCharonSupported("1.9.0-whatever0", nanoX)).toBe(false);
15
+ /**
16
+ * Nano SP
17
+ * */
18
+ expect(isCharonSupported("2.0.0", nanoSP)).toBe(false);
19
+ expect(isCharonSupported("2.0.0-whatever0", nanoSP)).toBe(false);
20
+ /**
21
+ * Stax
22
+ * */
23
+ expect(isCharonSupported("1.9.0", stax)).toBe(true);
24
+ expect(isCharonSupported("1.9.0-whatever0", stax)).toBe(true);
25
+ expect(isCharonSupported("1.7.0", stax)).toBe(true);
26
+ expect(isCharonSupported("1.7.0-whatever0", stax)).toBe(true);
27
+ expect(isCharonSupported("1.3.0", stax)).toBe(false);
28
+ expect(isCharonSupported("1.3.0-whatever0", stax)).toBe(false);
29
+ /**
30
+ * Europa
31
+ * */
32
+ expect(isCharonSupported("1.6.0", europa)).toBe(true);
33
+ expect(isCharonSupported("1.6.0-whatever0", europa)).toBe(true);
34
+ expect(isCharonSupported("1.3.0", europa)).toBe(true);
35
+ expect(isCharonSupported("1.3.0-whatever0", europa)).toBe(true);
36
+ expect(isCharonSupported("1.2.0", europa)).toBe(false);
37
+ expect(isCharonSupported("1.2.0-whatever0", europa)).toBe(false);
38
+ });
39
+ //# sourceMappingURL=isCharonSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCharonSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;AAE7D,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE/D;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ export declare const isRecoverSupported: (seVersion: string, modelId?: DeviceModelId) => boolean;
3
+ //# sourceMappingURL=isRecoverSupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecoverSupported.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUlD,eAAO,MAAM,kBAAkB,cAAe,MAAM,YAAY,aAAa,KAAG,OAM7E,CAAC"}