@ledgerhq/device-core 0.6.6-nightly.6 → 0.6.6

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 (174) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -43
  3. package/lib/capabilities/isCustomLockScreenSupported.test.d.ts +2 -0
  4. package/lib/capabilities/isCustomLockScreenSupported.test.d.ts.map +1 -0
  5. package/lib/capabilities/isCustomLockScreenSupported.test.js +26 -0
  6. package/lib/capabilities/isCustomLockScreenSupported.test.js.map +1 -0
  7. package/lib/capabilities/isEditDeviceNameSupported.test.d.ts +2 -0
  8. package/lib/capabilities/isEditDeviceNameSupported.test.d.ts.map +1 -0
  9. package/lib/capabilities/isEditDeviceNameSupported.test.js +25 -0
  10. package/lib/capabilities/isEditDeviceNameSupported.test.js.map +1 -0
  11. package/lib/capabilities/isSyncOnboardingSupported.test.d.ts +2 -0
  12. package/lib/capabilities/isSyncOnboardingSupported.test.d.ts.map +1 -0
  13. package/lib/capabilities/isSyncOnboardingSupported.test.js +18 -0
  14. package/lib/capabilities/isSyncOnboardingSupported.test.js.map +1 -0
  15. package/lib/commands/entities/AppStorageInfo.test.d.ts +2 -0
  16. package/lib/commands/entities/AppStorageInfo.test.d.ts.map +1 -0
  17. package/lib/commands/entities/AppStorageInfo.test.js +48 -0
  18. package/lib/commands/entities/AppStorageInfo.test.js.map +1 -0
  19. package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts +2 -0
  20. package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +1 -0
  21. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js +47 -0
  22. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
  23. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +2 -0
  24. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +1 -0
  25. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js +58 -0
  26. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
  27. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +2 -0
  28. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +1 -0
  29. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js +51 -0
  30. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
  31. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +2 -0
  32. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +1 -0
  33. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +40 -0
  34. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
  35. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +2 -0
  36. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +1 -0
  37. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js +55 -0
  38. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
  39. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +2 -0
  40. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +1 -0
  41. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js +39 -0
  42. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -0
  43. package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts +2 -0
  44. package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +1 -0
  45. package/lib/commands/use-cases/isBootloaderVersionSupported.test.js +63 -0
  46. package/lib/commands/use-cases/isBootloaderVersionSupported.test.js.map +1 -0
  47. package/lib/commands/use-cases/isCharonSupported.test.d.ts +2 -0
  48. package/lib/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
  49. package/lib/commands/use-cases/isCharonSupported.test.js +46 -0
  50. package/lib/commands/use-cases/isCharonSupported.test.js.map +1 -0
  51. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +2 -0
  52. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +1 -0
  53. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js +55 -0
  54. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js.map +1 -0
  55. package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts +2 -0
  56. package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +1 -0
  57. package/lib/commands/use-cases/isHardwareVersionSupported.test.js +36 -0
  58. package/lib/commands/use-cases/isHardwareVersionSupported.test.js.map +1 -0
  59. package/lib/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
  60. package/lib/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
  61. package/lib/commands/use-cases/isRecoverSupported.test.js +54 -0
  62. package/lib/commands/use-cases/isRecoverSupported.test.js.map +1 -0
  63. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +2 -0
  64. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +1 -0
  65. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js +27 -0
  66. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js.map +1 -0
  67. package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts +2 -0
  68. package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts.map +1 -0
  69. package/lib/commands/use-cases/parseGetVersionResponse.test.js +145 -0
  70. package/lib/commands/use-cases/parseGetVersionResponse.test.js.map +1 -0
  71. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +2 -0
  72. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +1 -0
  73. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js +69 -0
  74. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +1 -0
  75. package/lib/index.d.ts +0 -1
  76. package/lib/index.d.ts.map +1 -1
  77. package/lib/index.js.map +1 -1
  78. package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts +2 -0
  79. package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +1 -0
  80. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js +390 -0
  81. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -0
  82. package/lib/managerApi/use-cases/getAppsCatalogForDevice.d.ts +1 -1
  83. package/lib/managerApi/use-cases/getAppsCatalogForDevice.d.ts.map +1 -1
  84. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +2 -0
  85. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +1 -0
  86. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js +169 -0
  87. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -0
  88. package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts +2 -0
  89. package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts.map +1 -0
  90. package/lib-es/capabilities/isCustomLockScreenSupported.test.js +24 -0
  91. package/lib-es/capabilities/isCustomLockScreenSupported.test.js.map +1 -0
  92. package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts +2 -0
  93. package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts.map +1 -0
  94. package/lib-es/capabilities/isEditDeviceNameSupported.test.js +23 -0
  95. package/lib-es/capabilities/isEditDeviceNameSupported.test.js.map +1 -0
  96. package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts +2 -0
  97. package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts.map +1 -0
  98. package/lib-es/capabilities/isSyncOnboardingSupported.test.js +16 -0
  99. package/lib-es/capabilities/isSyncOnboardingSupported.test.js.map +1 -0
  100. package/lib-es/commands/entities/AppStorageInfo.test.d.ts +2 -0
  101. package/lib-es/commands/entities/AppStorageInfo.test.d.ts.map +1 -0
  102. package/lib-es/commands/entities/AppStorageInfo.test.js +46 -0
  103. package/lib-es/commands/entities/AppStorageInfo.test.js.map +1 -0
  104. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts +2 -0
  105. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +1 -0
  106. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js +45 -0
  107. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
  108. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +2 -0
  109. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +1 -0
  110. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js +56 -0
  111. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
  112. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +2 -0
  113. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +1 -0
  114. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js +49 -0
  115. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
  116. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +2 -0
  117. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +1 -0
  118. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +38 -0
  119. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
  120. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +2 -0
  121. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +1 -0
  122. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js +53 -0
  123. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
  124. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +2 -0
  125. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +1 -0
  126. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js +37 -0
  127. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -0
  128. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts +2 -0
  129. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +1 -0
  130. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js +61 -0
  131. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js.map +1 -0
  132. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts +2 -0
  133. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
  134. package/lib-es/commands/use-cases/isCharonSupported.test.js +44 -0
  135. package/lib-es/commands/use-cases/isCharonSupported.test.js.map +1 -0
  136. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +2 -0
  137. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +1 -0
  138. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js +53 -0
  139. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js.map +1 -0
  140. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts +2 -0
  141. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +1 -0
  142. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js +34 -0
  143. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js.map +1 -0
  144. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
  145. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
  146. package/lib-es/commands/use-cases/isRecoverSupported.test.js +52 -0
  147. package/lib-es/commands/use-cases/isRecoverSupported.test.js.map +1 -0
  148. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +2 -0
  149. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +1 -0
  150. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js +25 -0
  151. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js.map +1 -0
  152. package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts +2 -0
  153. package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts.map +1 -0
  154. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js +143 -0
  155. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js.map +1 -0
  156. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +2 -0
  157. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +1 -0
  158. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js +67 -0
  159. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +1 -0
  160. package/lib-es/index.d.ts +0 -1
  161. package/lib-es/index.d.ts.map +1 -1
  162. package/lib-es/index.js.map +1 -1
  163. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts +2 -0
  164. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +1 -0
  165. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js +388 -0
  166. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -0
  167. package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.d.ts +1 -1
  168. package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.d.ts.map +1 -1
  169. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +2 -0
  170. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +1 -0
  171. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js +167 -0
  172. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -0
  173. package/package.json +6 -6
  174. package/src/index.ts +0 -1
@@ -0,0 +1,53 @@
1
+ import { StatusCodes } from "@ledgerhq/hw-transport";
2
+ import { restoreAppStorageInit, parseResponse } from "./restoreAppStorageInit";
3
+ import { InvalidAppNameLength } from "../../../errors";
4
+ jest.mock("@ledgerhq/hw-transport");
5
+ describe("restoreAppStorageInit", () => {
6
+ let transport;
7
+ const response = Buffer.from([0x90, 0x00]);
8
+ beforeEach(() => {
9
+ transport = {
10
+ send: jest.fn().mockResolvedValue(response),
11
+ getTraceContext: jest.fn().mockResolvedValue(undefined),
12
+ };
13
+ });
14
+ afterEach(() => {
15
+ jest.clearAllMocks();
16
+ });
17
+ it("should call the send function with correct parameters", async () => {
18
+ const appName = "MyApp";
19
+ const backupSize = 1234;
20
+ await restoreAppStorageInit(transport, appName, backupSize);
21
+ const data = Buffer.concat([
22
+ Buffer.from(backupSize.toString(16).padStart(8, "0"), "hex"), // BACKUP_LEN
23
+ Buffer.from(appName, "ascii"), // APP_NAME
24
+ ]);
25
+ const args = [
26
+ 0xe0,
27
+ 0x6c,
28
+ 0x00,
29
+ 0x00,
30
+ data,
31
+ [
32
+ StatusCodes.OK,
33
+ StatusCodes.APP_NOT_FOUND_OR_INVALID_CONTEXT,
34
+ StatusCodes.DEVICE_IN_RECOVERY_MODE,
35
+ StatusCodes.USER_REFUSED_ON_DEVICE,
36
+ StatusCodes.PIN_NOT_SET,
37
+ StatusCodes.INVALID_APP_NAME_LENGTH,
38
+ StatusCodes.INVALID_BACKUP_LENGTH,
39
+ ],
40
+ ];
41
+ expect(transport.send).toHaveBeenCalledWith(...args);
42
+ });
43
+ describe("parseResponse", () => {
44
+ it("should parse the response data correctly", () => {
45
+ expect(() => parseResponse(response)).not.toThrow();
46
+ });
47
+ it("should throw TransportStatusError if the response status is invalid", () => {
48
+ const data = Buffer.from([0x67, 0x0a]);
49
+ expect(() => parseResponse(data)).toThrow(new InvalidAppNameLength("Invalid application name length, two chars minimum."));
50
+ });
51
+ });
52
+ });
53
+ //# sourceMappingURL=restoreAppStorageInit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restoreAppStorageInit.test.js","sourceRoot":"","sources":["../../../../src/commands/use-cases/app-backup/restoreAppStorageInit.test.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEpC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,SAAoB,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3C,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG;YACV,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC3C,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAChC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa;YAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW;SAC3C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ;gBACE,WAAW,CAAC,EAAE;gBACd,WAAW,CAAC,gCAAgC;gBAC5C,WAAW,CAAC,uBAAuB;gBACnC,WAAW,CAAC,sBAAsB;gBAClC,WAAW,CAAC,WAAW;gBACvB,WAAW,CAAC,uBAAuB;gBACnC,WAAW,CAAC,qBAAqB;aAClC;SACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACvC,IAAI,oBAAoB,CAAC,qDAAqD,CAAC,CAChF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reinstallConfigurationConsent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reinstallConfigurationConsent.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/use-cases/consent/reinstallConfigurationConsent.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { StatusCodes, TransportStatusError } from "@ledgerhq/hw-transport";
2
+ import { reinstallConfigurationConsent } from "./reinstallConfigurationConsent";
3
+ import { PinNotSet, UserRefusedOnDevice } from "@ledgerhq/errors";
4
+ describe("reinstallConfigurationConsent", () => {
5
+ let transport;
6
+ beforeEach(() => {
7
+ transport = {
8
+ send: jest.fn().mockResolvedValue(Buffer.from([])),
9
+ getTraceContext: jest.fn().mockResolvedValue(undefined),
10
+ };
11
+ });
12
+ afterEach(() => {
13
+ jest.clearAllMocks();
14
+ });
15
+ describe("success cases", () => {
16
+ it("should call the send function with correct parameters", async () => {
17
+ transport.send = jest.fn().mockResolvedValue(Buffer.from([0x90, 0x00]));
18
+ await reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00]);
19
+ expect(transport.send).toHaveBeenCalledWith(0xe0, 0x6f, 0x00, 0x00, Buffer.from([0x00, 0x00, 0x00, 0x00]), [StatusCodes.OK, StatusCodes.USER_REFUSED_ON_DEVICE, StatusCodes.PIN_NOT_SET]);
20
+ });
21
+ });
22
+ describe("error cases", () => {
23
+ it("should throw UserRefusedOnDevice if the user refused on device", async () => {
24
+ transport.send = jest.fn().mockResolvedValue(Buffer.from([0x55, 0x01]));
25
+ await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new UserRefusedOnDevice("User refused on device"));
26
+ });
27
+ it("should throw PINNotSet if the PIN is not set", async () => {
28
+ transport.send = jest.fn().mockResolvedValue(Buffer.from([0x55, 0x02]));
29
+ await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new PinNotSet("PIN not set"));
30
+ });
31
+ it("should throw TransportStatusError if the response status is invalid", async () => {
32
+ transport.send = jest.fn().mockResolvedValue(Buffer.from([0x6f, 0x00]));
33
+ await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new TransportStatusError(0x6f00));
34
+ });
35
+ });
36
+ });
37
+ //# sourceMappingURL=reinstallConfigurationConsent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reinstallConfigurationConsent.test.js","sourceRoot":"","sources":["../../../../src/commands/use-cases/consent/reinstallConfigurationConsent.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isBootloaderVersionSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBootloaderVersionSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isBootloaderVersionSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isBootloaderVersionSupported } from "./isBootloaderVersionSupported";
3
+ const { nanoS, nanoSP, nanoX, stax, europa, apex } = DeviceModelId;
4
+ test("isBootloaderVersionSupported", () => {
5
+ /**
6
+ * Nano S
7
+ * */
8
+ expect(isBootloaderVersionSupported("1.9.0", nanoS)).toBe(false);
9
+ expect(isBootloaderVersionSupported("1.9.0-whatever0", nanoS)).toBe(false);
10
+ expect(isBootloaderVersionSupported("2.0.0", nanoS)).toBe(true);
11
+ expect(isBootloaderVersionSupported("2.0.0-rc1", nanoS)).toBe(true);
12
+ expect(isBootloaderVersionSupported("2.0.1", nanoS)).toBe(true);
13
+ expect(isBootloaderVersionSupported("2.0.1-whatever0", nanoS)).toBe(true);
14
+ expect(isBootloaderVersionSupported("2.1.0", nanoS)).toBe(true);
15
+ expect(isBootloaderVersionSupported("2.1.0-whatever0", nanoS)).toBe(true);
16
+ expect(isBootloaderVersionSupported("3.0.0", nanoS)).toBe(true);
17
+ expect(isBootloaderVersionSupported("3.0.0-whatever0", nanoS)).toBe(true);
18
+ /**
19
+ * Nano X
20
+ * */
21
+ expect(isBootloaderVersionSupported("1.9.0", nanoX)).toBe(false);
22
+ expect(isBootloaderVersionSupported("1.9.0-whatever0", nanoX)).toBe(false);
23
+ expect(isBootloaderVersionSupported("2.0.0", nanoX)).toBe(true);
24
+ expect(isBootloaderVersionSupported("2.0.0-rc1", nanoX)).toBe(true);
25
+ expect(isBootloaderVersionSupported("2.0.1", nanoX)).toBe(true);
26
+ expect(isBootloaderVersionSupported("2.0.1-whatever0", nanoX)).toBe(true);
27
+ expect(isBootloaderVersionSupported("2.1.0", nanoX)).toBe(true);
28
+ expect(isBootloaderVersionSupported("2.1.0-whatever0", nanoX)).toBe(true);
29
+ expect(isBootloaderVersionSupported("3.0.0", nanoX)).toBe(true);
30
+ expect(isBootloaderVersionSupported("3.0.0-whatever0", nanoX)).toBe(true);
31
+ /**
32
+ * Nano SP
33
+ * */
34
+ expect(isBootloaderVersionSupported("0.9.0", nanoSP)).toBe(false);
35
+ expect(isBootloaderVersionSupported("0.9.0-whatever0", nanoSP)).toBe(false);
36
+ expect(isBootloaderVersionSupported("1.0.0", nanoSP)).toBe(true);
37
+ expect(isBootloaderVersionSupported("1.0.0-rc1", nanoSP)).toBe(true);
38
+ expect(isBootloaderVersionSupported("1.0.1", nanoSP)).toBe(true);
39
+ expect(isBootloaderVersionSupported("1.0.1-whatever0", nanoSP)).toBe(true);
40
+ expect(isBootloaderVersionSupported("1.1.0", nanoSP)).toBe(true);
41
+ expect(isBootloaderVersionSupported("1.1.0-whatever0", nanoSP)).toBe(true);
42
+ expect(isBootloaderVersionSupported("1.0.0", nanoSP)).toBe(true);
43
+ expect(isBootloaderVersionSupported("1.0.0-whatever0", nanoSP)).toBe(true);
44
+ /**
45
+ * Stax
46
+ * */
47
+ expect(isBootloaderVersionSupported("0.9.0", stax)).toBe(false);
48
+ expect(isBootloaderVersionSupported("1.0.0", stax)).toBe(true);
49
+ expect(isBootloaderVersionSupported("1.0.0-whatever0", stax)).toBe(true);
50
+ /**
51
+ * Europa
52
+ */
53
+ expect(isBootloaderVersionSupported("0.1.0", europa)).toBe(true);
54
+ expect(isBootloaderVersionSupported("0.1.0-whatever0", europa)).toBe(true);
55
+ /**
56
+ * Apex
57
+ */
58
+ expect(isBootloaderVersionSupported("0.1.0", apex)).toBe(true);
59
+ expect(isBootloaderVersionSupported("0.1.0-whatever0", apex)).toBe(true);
60
+ });
61
+ //# sourceMappingURL=isBootloaderVersionSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBootloaderVersionSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isBootloaderVersionSupported.test.ts"],"names":[],"mappings":"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"}
@@ -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,44 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isCharonSupported } from "./isCharonSupported";
3
+ const { nanoS, nanoX, stax, europa, nanoSP, apex } = 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
+ * Apex
40
+ * */
41
+ expect(isCharonSupported("0.0.0", apex)).toBe(true);
42
+ expect(isCharonSupported("0.0.0-whatever0", apex)).toBe(true);
43
+ });
44
+ //# 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,IAAI,EAAE,GAAG,aAAa,CAAC;AAEnE,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;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;AAChE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isDeviceLocalizationSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDeviceLocalizationSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isDeviceLocalizationSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isDeviceLocalizationSupported } from "./isDeviceLocalizationSupported";
3
+ const { nanoS, nanoSP, nanoX, stax, europa, apex } = DeviceModelId;
4
+ test("isDeviceLocalizationSupported", () => {
5
+ /**
6
+ * Nano X
7
+ * */
8
+ expect(isDeviceLocalizationSupported("2.0.0", nanoX)).toBe(false);
9
+ expect(isDeviceLocalizationSupported("2.0.0-whatever0", nanoX)).toBe(false);
10
+ expect(isDeviceLocalizationSupported("2.1.0", nanoX)).toBe(true);
11
+ expect(isDeviceLocalizationSupported("2.1.0-rc1", nanoX)).toBe(true);
12
+ expect(isDeviceLocalizationSupported("2.1.1", nanoX)).toBe(true);
13
+ expect(isDeviceLocalizationSupported("2.1.1-whatever0", nanoX)).toBe(true);
14
+ expect(isDeviceLocalizationSupported("2.2.0", nanoX)).toBe(true);
15
+ expect(isDeviceLocalizationSupported("2.2.0-whatever0", nanoX)).toBe(true);
16
+ expect(isDeviceLocalizationSupported("3.0.0", nanoX)).toBe(true);
17
+ expect(isDeviceLocalizationSupported("3.0.0-whatever0", nanoX)).toBe(true);
18
+ /**
19
+ * Nano SP
20
+ * */
21
+ expect(isDeviceLocalizationSupported("1.0.0", nanoSP)).toBe(false);
22
+ expect(isDeviceLocalizationSupported("1.0.0-whatever", nanoSP)).toBe(false);
23
+ expect(isDeviceLocalizationSupported("1.1.0", nanoSP)).toBe(true);
24
+ expect(isDeviceLocalizationSupported("1.1.0-rc1", nanoSP)).toBe(true);
25
+ expect(isDeviceLocalizationSupported("1.1.2", nanoSP)).toBe(true);
26
+ expect(isDeviceLocalizationSupported("1.1.2-whatever0", nanoSP)).toBe(true);
27
+ expect(isDeviceLocalizationSupported("1.2.0", nanoSP)).toBe(true);
28
+ expect(isDeviceLocalizationSupported("1.2.0-whatever0", nanoSP)).toBe(true);
29
+ expect(isDeviceLocalizationSupported("2.0.0", nanoSP)).toBe(true);
30
+ expect(isDeviceLocalizationSupported("2.0.0-whatever0", nanoSP)).toBe(true);
31
+ /**
32
+ * Stax
33
+ * */
34
+ expect(isDeviceLocalizationSupported("0.9.0", stax)).toBe(false);
35
+ expect(isDeviceLocalizationSupported("9.0.0", stax)).toBe(true);
36
+ expect(isDeviceLocalizationSupported("9.0.0-whatever", stax)).toBe(true);
37
+ /**
38
+ * NanoS
39
+ * */
40
+ expect(isDeviceLocalizationSupported("9.0.0", nanoS)).toBe(false);
41
+ expect(isDeviceLocalizationSupported("9.0.0-whatever", nanoS)).toBe(false);
42
+ /**
43
+ * Europa
44
+ * */
45
+ expect(isDeviceLocalizationSupported("0.0.0", europa)).toBe(true);
46
+ expect(isDeviceLocalizationSupported("0.0.0-whatever", europa)).toBe(true);
47
+ /**
48
+ * Apex
49
+ * */
50
+ expect(isDeviceLocalizationSupported("0.0.0", apex)).toBe(true);
51
+ expect(isDeviceLocalizationSupported("0.0.0-whatever", apex)).toBe(true);
52
+ });
53
+ //# sourceMappingURL=isDeviceLocalizationSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDeviceLocalizationSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isDeviceLocalizationSupported.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isHardwareVersionSupported.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isHardwareVersionSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isHardwareVersionSupported.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isHardwareVersionSupported } from "./isHardwareVersionSupported";
3
+ const { nanoS, nanoSP, nanoX, stax } = DeviceModelId;
4
+ test("isHardwareVersionSupported", () => {
5
+ /**
6
+ * Nano S
7
+ * */
8
+ expect(isHardwareVersionSupported("2.0.0", nanoS)).toBe(false);
9
+ expect(isHardwareVersionSupported("2.0.0-whatever0", nanoS)).toBe(false);
10
+ /**
11
+ * Nano X
12
+ * */
13
+ expect(isHardwareVersionSupported("1.9.0", nanoX)).toBe(false);
14
+ expect(isHardwareVersionSupported("1.9.0-whatever0", nanoX)).toBe(false);
15
+ expect(isHardwareVersionSupported("2.0.0", nanoX)).toBe(true);
16
+ expect(isHardwareVersionSupported("2.0.0-rc1", nanoX)).toBe(true);
17
+ expect(isHardwareVersionSupported("2.0.1", nanoX)).toBe(true);
18
+ expect(isHardwareVersionSupported("2.0.1-whatever0", nanoX)).toBe(true);
19
+ expect(isHardwareVersionSupported("2.1.0", nanoX)).toBe(true);
20
+ expect(isHardwareVersionSupported("2.1.0-whatever0", nanoX)).toBe(true);
21
+ expect(isHardwareVersionSupported("3.0.0", nanoX)).toBe(true);
22
+ expect(isHardwareVersionSupported("3.0.0-whatever0", nanoX)).toBe(true);
23
+ /**
24
+ * Nano SP
25
+ * */
26
+ expect(isHardwareVersionSupported("2.0.0", nanoSP)).toBe(false);
27
+ expect(isHardwareVersionSupported("2.0.0-whatever0", nanoSP)).toBe(false);
28
+ /**
29
+ * Stax
30
+ * */
31
+ expect(isHardwareVersionSupported("2.0.0", stax)).toBe(false);
32
+ expect(isHardwareVersionSupported("2.0.0-whatever0", stax)).toBe(false);
33
+ });
34
+ //# sourceMappingURL=isHardwareVersionSupported.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isHardwareVersionSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isHardwareVersionSupported.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;AAErD,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzE;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExE;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1E;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
@@ -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,52 @@
1
+ import { DeviceModelId } from "@ledgerhq/devices";
2
+ import { isRecoverSupported } from "./isRecoverSupported";
3
+ const { nanoS, nanoX, stax, europa, nanoSP, apex } = DeviceModelId;
4
+ test("isRecoverSupported", () => {
5
+ /**
6
+ * Nano S
7
+ * */
8
+ expect(isRecoverSupported("2.0.0", nanoS)).toBe(false);
9
+ expect(isRecoverSupported("2.0.0-whatever0", nanoS)).toBe(false);
10
+ /**
11
+ * Nano SP
12
+ * */
13
+ expect(isRecoverSupported("2.0.0", nanoSP)).toBe(true);
14
+ expect(isRecoverSupported("2.0.0-whatever0", nanoSP)).toBe(true);
15
+ expect(isRecoverSupported("1.1.0", nanoSP)).toBe(true);
16
+ expect(isRecoverSupported("1.1.0-whatever0", nanoSP)).toBe(true);
17
+ expect(isRecoverSupported("1.0.0", nanoSP)).toBe(false);
18
+ expect(isRecoverSupported("1.0.0-whatever0", nanoSP)).toBe(false);
19
+ /**
20
+ * Nano X
21
+ * */
22
+ expect(isRecoverSupported("2.5.0", nanoX)).toBe(true);
23
+ expect(isRecoverSupported("2.5.0-whatever0", nanoX)).toBe(true);
24
+ expect(isRecoverSupported("2.1.0", nanoX)).toBe(true);
25
+ expect(isRecoverSupported("2.1.0-whatever0", nanoX)).toBe(true);
26
+ expect(isRecoverSupported("2.0.0", nanoX)).toBe(false);
27
+ expect(isRecoverSupported("2.0.0-whatever0", nanoX)).toBe(false);
28
+ expect(isRecoverSupported("1.9.0", nanoX)).toBe(false);
29
+ expect(isRecoverSupported("1.9.0-whatever0", nanoX)).toBe(false);
30
+ /**
31
+ * Stax
32
+ * */
33
+ expect(isRecoverSupported("1.9.0", stax)).toBe(true);
34
+ expect(isRecoverSupported("1.9.0-whatever0", stax)).toBe(true);
35
+ expect(isRecoverSupported("1.0.0", stax)).toBe(true);
36
+ expect(isRecoverSupported("1.0.0-whatever0", stax)).toBe(true);
37
+ expect(isRecoverSupported("0.0.0", stax)).toBe(false);
38
+ expect(isRecoverSupported("0.0.0-whatever0", stax)).toBe(false);
39
+ /**
40
+ * Europa
41
+ * */
42
+ expect(isRecoverSupported("0.0.0", europa)).toBe(true);
43
+ expect(isRecoverSupported("0.0.0-whatever0", europa)).toBe(true);
44
+ expect(isRecoverSupported("1.4.0", europa)).toBe(true);
45
+ expect(isRecoverSupported("1.4.0-whatever0", europa)).toBe(true);
46
+ /**
47
+ * Apex
48
+ * */
49
+ expect(isRecoverSupported("0.0.0", apex)).toBe(true);
50
+ expect(isRecoverSupported("0.0.0-whatever0", apex)).toBe(true);
51
+ });
52
+ //# 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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseGetDeviceNameResponse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseGetDeviceNameResponse.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetDeviceNameResponse.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { parseGetDeviceNameResponse } from "./parseGetDeviceNameResponse";
2
+ describe("getDeviceName", () => {
3
+ it("should return name if available", () => {
4
+ const responseBuffer = Buffer.from("50756572746f9000", "hex");
5
+ const result = parseGetDeviceNameResponse(responseBuffer);
6
+ expect(result).toMatch("Puerto"); // 🐾
7
+ });
8
+ it("should return empty name when the device is not onboarded", () => {
9
+ const responseBuffer = Buffer.from("bababababababa6d07", "hex");
10
+ const result = parseGetDeviceNameResponse(responseBuffer);
11
+ expect(result).toMatch("");
12
+ });
13
+ it("should return empty name when the device is not onboarded #2", () => {
14
+ const responseBuffer = Buffer.from("bababababababa6611", "hex");
15
+ const result = parseGetDeviceNameResponse(responseBuffer);
16
+ expect(result).toMatch("");
17
+ });
18
+ it("should throw for an unexpected bootloader or any other code", () => {
19
+ const responseBuffer = Buffer.from("662d", "hex");
20
+ expect(() => {
21
+ parseGetDeviceNameResponse(responseBuffer);
22
+ }).toThrow(Error);
23
+ });
24
+ });
25
+ //# sourceMappingURL=parseGetDeviceNameResponse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseGetDeviceNameResponse.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetDeviceNameResponse.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseGetVersionResponse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseGetVersionResponse.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.test.ts"],"names":[],"mappings":""}