@ledgerhq/dmk-ledger-wallet 0.5.0 → 0.7.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 (65) hide show
  1. package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js +1 -1
  2. package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js.map +2 -2
  3. package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js +1 -1
  4. package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js.map +3 -3
  5. package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateUtils.js +1 -1
  6. package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateUtils.js.map +3 -3
  7. package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js +1 -1
  8. package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js.map +2 -2
  9. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +1 -1
  10. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +3 -3
  11. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +1 -1
  12. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +3 -3
  13. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js +1 -1
  14. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js.map +3 -3
  15. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +1 -1
  16. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +3 -3
  17. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +1 -1
  18. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +3 -3
  19. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js +1 -1
  20. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +2 -2
  21. package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js +1 -1
  22. package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js.map +2 -2
  23. package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js +1 -1
  24. package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js.map +3 -3
  25. package/lib/cjs/index.js +1 -1
  26. package/lib/cjs/index.js.map +2 -2
  27. package/lib/cjs/package.json +2 -2
  28. package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js +1 -1
  29. package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js.map +3 -3
  30. package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js +1 -1
  31. package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js.map +3 -3
  32. package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateUtils.js +1 -1
  33. package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateUtils.js.map +3 -3
  34. package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js +1 -1
  35. package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js.map +3 -3
  36. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +1 -1
  37. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +3 -3
  38. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +1 -1
  39. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +3 -3
  40. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js +1 -1
  41. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js.map +3 -3
  42. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +1 -1
  43. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +3 -3
  44. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +1 -1
  45. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +3 -3
  46. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +2 -2
  47. package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js +1 -1
  48. package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js.map +3 -3
  49. package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js +1 -1
  50. package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js.map +3 -3
  51. package/lib/esm/index.js +1 -1
  52. package/lib/esm/index.js.map +2 -2
  53. package/lib/esm/package.json +2 -2
  54. package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateUtils.d.ts +2 -0
  55. package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateUtils.d.ts.map +1 -1
  56. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts +3 -3
  57. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts.map +1 -1
  58. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts +3 -4
  59. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts.map +1 -1
  60. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts +13 -2
  61. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts.map +1 -1
  62. package/lib/types/index.d.ts +1 -1
  63. package/lib/types/index.d.ts.map +1 -1
  64. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  65. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.ts"],
4
- "sourcesContent": ["import {\n DeviceActionStatus,\n type GetOsVersionResponse,\n SecureChannelError,\n SecureChannelEventType,\n UnknownDAError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\nimport { Observable, of } from \"rxjs\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { GetOsVersionError } from \"@api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors\";\nimport { getOsVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\nimport { type OsUpdate } from \"@api/device-action/OsUpdate/Shared/types\";\nimport { InstallOsUpdateDeviceAction } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction\";\nimport { installFirmware } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\";\nimport {\n type InstallOsUpdateDAError,\n type InstallOsUpdateDARequiredInteraction,\n type InstallOsUpdateDAState,\n InstallOsUpdateSteps,\n} from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/types\";\n\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\");\nvi.mock(\n \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\",\n);\n\nconst pendingState = (\n step: InstallOsUpdateSteps,\n intermediateValue: {\n requiredUserInteraction?: InstallOsUpdateDARequiredInteraction;\n progress?: number;\n } = {},\n): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step,\n ...intermediateValue,\n },\n});\n\nconst completedState = (): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Completed,\n output: undefined,\n});\n\nconst errorState = (error: InstallOsUpdateDAError): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Error,\n error,\n});\n\nconst createMockActorMachineFromOutput = (\n output: () => Either<unknown, unknown>,\n) =>\n createMachine({\n initial: \"ready\",\n states: {\n ready: {\n after: { 0: \"done\" },\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n },\n done: { type: \"final\" },\n },\n output,\n });\n\nconst createMockActorMachine = (output: Either<unknown, unknown>) =>\n createMockActorMachineFromOutput(() => output);\n\ndescribe(\"InstallOsUpdateDeviceAction\", () => {\n const getOsVersionResponse = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n },\n } satisfies GetOsVersionResponse;\n\n const osUpdate = {\n osuFirmware: {\n id: 200,\n notes: \"Update notes\",\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n hash: \"osu-hash\",\n nextFinalFirmware: 300,\n },\n finalFirmware: {\n id: 300,\n version: \"1.4.0\",\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n hash: \"final-hash\",\n bytes: 123,\n mcuVersions: [1],\n },\n shouldFlashMcu: false,\n } satisfies OsUpdate;\n\n type SecureChannelEvents = ReturnType<ReturnType<typeof installFirmware>>;\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n const setupWaitForAppAndVersion = (appName = \"BOLOS\") =>\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(\n Right({\n name: appName,\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n\n const setupWaitForAppAndVersionSequence = (appNames: string[]) => {\n const remainingAppNames = [...appNames];\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachineFromOutput(() =>\n Right({\n name: remainingAppNames.shift() ?? \"BOLOS\",\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n };\n\n const setupGoToDashboard = (\n output: Either<unknown, unknown> = Right(undefined),\n ) =>\n vi\n .mocked(goToDashboard)\n .mockReturnValue(\n createMockActorMachine(output) as unknown as ReturnType<\n typeof goToDashboard\n >,\n );\n\n const setupGetOsVersion = (\n result: Either<unknown, GetOsVersionResponse> = Right(getOsVersionResponse),\n ) =>\n vi\n .mocked(getOsVersion)\n .mockReturnValue(\n () =>\n Promise.resolve(result) as ReturnType<\n ReturnType<typeof getOsVersion>\n >,\n );\n\n const setupInstallFirmware = (events: SecureChannelEvents = of()) => {\n const handler = vi.fn().mockReturnValue(events);\n vi.mocked(installFirmware).mockReturnValue(handler);\n return handler;\n };\n\n const makeDeviceAction = () =>\n new InstallOsUpdateDeviceAction({\n input: {\n osUpdate,\n unlockTimeout: 30_000,\n },\n });\n\n describe(\"Success\", () => {\n it(\"Should install the OSU firmware when the device is not in OSU mode\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n const installFirmwareHandler = setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: () => {\n expect(installFirmwareHandler).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n deviceInfo: getOsVersionResponse,\n firmware: {\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n },\n },\n }),\n );\n resolve();\n },\n onError: reject,\n },\n );\n }));\n\n it(\"Should install the final firmware when the device is in OSU mode\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion(Right({ ...getOsVersionResponse, isOsu: true }));\n const installFirmwareHandler = setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: () => {\n expect(installFirmwareHandler).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n deviceInfo: { ...getOsVersionResponse, isOsu: true },\n firmware: {\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n },\n },\n }),\n );\n resolve();\n },\n onError: reject,\n },\n );\n }));\n\n it(\"Should only track progress while installing the final firmware\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion(Right({ ...getOsVersionResponse, isOsu: true }));\n setupInstallFirmware(\n of(\n { type: SecureChannelEventType.PermissionRequested },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.5, index: 0, total: 2 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 1, index: 1, total: 2 },\n },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, { progress: 0.5 }),\n pendingState(InstallOsUpdateSteps.InstallFirmware, { progress: 1 }),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to dashboard and wait for app and version again when an app is open\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersionSequence([\"Bitcoin\", \"BOLOS\"]);\n setupGoToDashboard();\n setupGetOsVersion();\n setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should request the secure connection permission then clear it once granted while installing the OSU\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of(\n { type: SecureChannelEventType.PermissionRequested },\n { type: SecureChannelEventType.PermissionGranted },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n }),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should report progress and request install confirmation on the last OSU APDU\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of(\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.99, index: 0, total: 2 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 1, index: 1, total: 2 },\n },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n progress: 0.99,\n requiredUserInteraction:\n UserInteractionRequired.AllowInstallFirmware,\n }),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n progress: 1,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n\n describe(\"Error\", () => {\n it(\"Should go to Error when waitForAppAndVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new UnknownDAError(\"waitForAppAndVersion failed\");\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(Left(error)) as unknown as ReturnType<\n typeof waitForAppAndVersion\n >,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when goToDashboard returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion(\"Bitcoin\");\n const error = new UnknownDAError(\"goToDashboard failed\");\n setupGoToDashboard(Left(error));\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when getOsVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n const error = new GetOsVersionError(new Error(\"command failed\"));\n setupGetOsVersion(Left(error));\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should map a secure channel error event to a device action error\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of({\n type: SecureChannelEventType.Error,\n error: new SecureChannelError(\"install failed\"),\n }) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n errorState(new UnknownDAError()),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when the secure channel connection cannot be opened\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n const error = new UnknownDAError(\"Invalid WebSocket connection\");\n setupInstallFirmware(\n new Observable((subscriber) => {\n subscriber.error(error);\n }) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["DeviceActionStatus", "SecureChannelError", "SecureChannelEventType", "UnknownDAError", "UserInteractionRequired", "Left", "Right", "Observable", "of", "assign", "createMachine", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "GetOsVersionError", "getOsVersion", "goToDashboard", "waitForAppAndVersion", "InstallOsUpdateDeviceAction", "installFirmware", "InstallOsUpdateSteps", "pendingState", "step", "intermediateValue", "completedState", "errorState", "error", "createMockActorMachineFromOutput", "output", "createMockActorMachine", "getOsVersionResponse", "osUpdate", "setupWaitForAppAndVersion", "appName", "setupWaitForAppAndVersionSequence", "appNames", "remainingAppNames", "setupGoToDashboard", "setupGetOsVersion", "result", "setupInstallFirmware", "events", "handler", "makeDeviceAction", "resolve", "reject", "installFirmwareHandler", "expectedStates", "subscriber"]
4
+ "sourcesContent": ["import {\n DeviceActionStatus,\n type GetOsVersionResponse,\n OnboardingState,\n SecureChannelError,\n SecureChannelEventType,\n SeedWordCount,\n UnknownDAError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\nimport { Observable, of } from \"rxjs\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { GetOsVersionError } from \"@api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors\";\nimport { getOsVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\nimport { type OsUpdate } from \"@api/device-action/OsUpdate/Shared/types\";\nimport { InstallOsUpdateDeviceAction } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction\";\nimport { installFirmware } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\";\nimport {\n type InstallOsUpdateDAError,\n type InstallOsUpdateDARequiredInteraction,\n type InstallOsUpdateDAState,\n InstallOsUpdateSteps,\n} from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/types\";\n\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\");\nvi.mock(\n \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\",\n);\n\nconst pendingState = (\n step: InstallOsUpdateSteps,\n intermediateValue: {\n requiredUserInteraction?: InstallOsUpdateDARequiredInteraction;\n progress?: number;\n } = {},\n): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step,\n ...intermediateValue,\n },\n});\n\nconst completedState = (): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Completed,\n output: undefined,\n});\n\nconst errorState = (error: InstallOsUpdateDAError): InstallOsUpdateDAState => ({\n status: DeviceActionStatus.Error,\n error,\n});\n\nconst createMockActorMachineFromOutput = (\n output: () => Either<unknown, unknown>,\n) =>\n createMachine({\n initial: \"ready\",\n states: {\n ready: {\n after: { 0: \"done\" },\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n },\n done: { type: \"final\" },\n },\n output,\n });\n\nconst createMockActorMachine = (output: Either<unknown, unknown>) =>\n createMockActorMachineFromOutput(() => output);\n\ndescribe(\"InstallOsUpdateDeviceAction\", () => {\n const getOsVersionResponse = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n hasEndorsementCertificateInSlot1: false,\n hasEndorsementCertificateInSlot2: false,\n numberOfWords: SeedWordCount.TwentyFour,\n currentWordIndex: 0,\n onboardingState: OnboardingState.Unknown,\n },\n } satisfies GetOsVersionResponse;\n\n const osUpdate = {\n osuFirmware: {\n id: 200,\n notes: \"Update notes\",\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n hash: \"osu-hash\",\n nextFinalFirmware: 300,\n },\n finalFirmware: {\n id: 300,\n version: \"1.4.0\",\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n hash: \"final-hash\",\n bytes: 123,\n mcuVersions: [1],\n },\n shouldFlashMcu: false,\n } satisfies OsUpdate;\n\n type SecureChannelEvents = ReturnType<ReturnType<typeof installFirmware>>;\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n const setupWaitForAppAndVersion = (appName = \"BOLOS\") =>\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(\n Right({\n name: appName,\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n\n const setupWaitForAppAndVersionSequence = (appNames: string[]) => {\n const remainingAppNames = [...appNames];\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachineFromOutput(() =>\n Right({\n name: remainingAppNames.shift() ?? \"BOLOS\",\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n };\n\n const setupGoToDashboard = (\n output: Either<unknown, unknown> = Right(undefined),\n ) =>\n vi\n .mocked(goToDashboard)\n .mockReturnValue(\n createMockActorMachine(output) as unknown as ReturnType<\n typeof goToDashboard\n >,\n );\n\n const setupGetOsVersion = (\n result: Either<unknown, GetOsVersionResponse> = Right(getOsVersionResponse),\n ) =>\n vi\n .mocked(getOsVersion)\n .mockReturnValue(\n () =>\n Promise.resolve(result) as ReturnType<\n ReturnType<typeof getOsVersion>\n >,\n );\n\n const setupInstallFirmware = (events: SecureChannelEvents = of()) => {\n const handler = vi.fn().mockReturnValue(events);\n vi.mocked(installFirmware).mockReturnValue(handler);\n return handler;\n };\n\n const makeDeviceAction = () =>\n new InstallOsUpdateDeviceAction({\n input: {\n osUpdate,\n unlockTimeout: 30_000,\n },\n });\n\n describe(\"Success\", () => {\n it(\"Should install the OSU firmware when the device is not in OSU mode\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n const installFirmwareHandler = setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: () => {\n expect(installFirmwareHandler).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n deviceInfo: getOsVersionResponse,\n firmware: {\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n },\n },\n }),\n );\n resolve();\n },\n onError: reject,\n },\n );\n }));\n\n it(\"Should install the final firmware when the device is in OSU mode\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion(Right({ ...getOsVersionResponse, isOsu: true }));\n const installFirmwareHandler = setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: () => {\n expect(installFirmwareHandler).toHaveBeenCalledWith(\n expect.objectContaining({\n input: {\n deviceInfo: { ...getOsVersionResponse, isOsu: true },\n firmware: {\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n },\n },\n }),\n );\n resolve();\n },\n onError: reject,\n },\n );\n }));\n\n it(\"Should only track progress while installing the final firmware\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion(Right({ ...getOsVersionResponse, isOsu: true }));\n setupInstallFirmware(\n of(\n { type: SecureChannelEventType.PermissionRequested },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.5, index: 0, total: 2 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 1, index: 1, total: 2 },\n },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, { progress: 0.5 }),\n pendingState(InstallOsUpdateSteps.InstallFirmware, { progress: 1 }),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to dashboard and wait for app and version again when an app is open\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersionSequence([\"Bitcoin\", \"BOLOS\"]);\n setupGoToDashboard();\n setupGetOsVersion();\n setupInstallFirmware();\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should request the secure connection permission then clear it once granted while installing the OSU\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of(\n { type: SecureChannelEventType.PermissionRequested },\n { type: SecureChannelEventType.PermissionGranted },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n }),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should report progress and request install confirmation on the last OSU APDU\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of(\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.99, index: 0, total: 2 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 1, index: 1, total: 2 },\n },\n ) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n progress: 0.99,\n requiredUserInteraction:\n UserInteractionRequired.AllowInstallFirmware,\n }),\n pendingState(InstallOsUpdateSteps.InstallFirmware, {\n progress: 1,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n completedState(),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n\n describe(\"Error\", () => {\n it(\"Should go to Error when waitForAppAndVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new UnknownDAError(\"waitForAppAndVersion failed\");\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(Left(error)) as unknown as ReturnType<\n typeof waitForAppAndVersion\n >,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when goToDashboard returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion(\"Bitcoin\");\n const error = new UnknownDAError(\"goToDashboard failed\");\n setupGoToDashboard(Left(error));\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n pendingState(InstallOsUpdateSteps.GoToDashboard),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when getOsVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n const error = new GetOsVersionError(new Error(\"command failed\"));\n setupGetOsVersion(Left(error));\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should map a secure channel error event to a device action error\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupInstallFirmware(\n of({\n type: SecureChannelEventType.Error,\n error: new SecureChannelError(\"install failed\"),\n }) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n errorState(new UnknownDAError()),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when the secure channel connection cannot be opened\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n const error = new UnknownDAError(\"Invalid WebSocket connection\");\n setupInstallFirmware(\n new Observable((subscriber) => {\n subscriber.error(error);\n }) as SecureChannelEvents,\n );\n\n const expectedStates: InstallOsUpdateDAState[] = [\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.WaitForAppAndVersion),\n pendingState(InstallOsUpdateSteps.GetDeviceInfo),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n pendingState(InstallOsUpdateSteps.InstallFirmware),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,sBAAAA,EAEA,mBAAAC,EACA,sBAAAC,EACA,0BAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,2BAAAC,MACK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,YACzC,OAAS,cAAAC,EAAY,MAAAC,MAAU,OAC/B,OAAS,UAAAC,EAAQ,iBAAAC,MAAqB,SAEtC,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,0BAAAC,MAA8B,2DACvC,OAAS,qBAAAC,MAAyB,gEAClC,OAAS,gBAAAC,MAAoB,2DAC7B,OAAS,iBAAAC,MAAqB,4DAC9B,OAAS,wBAAAC,MAA4B,mEAErC,OAAS,+BAAAC,MAAmC,iFAC5C,OAAS,mBAAAC,MAAuB,8EAChC,OAIE,wBAAAC,MACK,2DAEP,GAAG,KAAK,kEAAkE,EAC1E,GAAG,KAAK,2DAA2D,EACnE,GAAG,KAAK,0DAA0D,EAClE,GAAG,KACD,6EACF,EAEA,MAAMC,EAAe,CACnBC,EACAC,EAGI,CAAC,KACuB,CAC5B,OAAQxB,EAAmB,QAC3B,kBAAmB,CACjB,wBAAyBM,EAAwB,KACjD,KAAAiB,EACA,GAAGC,CACL,CACF,GAEMC,EAAiB,KAA+B,CACpD,OAAQzB,EAAmB,UAC3B,OAAQ,MACV,GAEM0B,EAAcC,IAA2D,CAC7E,OAAQ3B,EAAmB,MAC3B,MAAA2B,CACF,GAEMC,EACJC,GAEAjB,EAAc,CACZ,QAAS,QACT,OAAQ,CACN,MAAO,CACL,MAAO,CAAE,EAAG,MAAO,EACnB,MAAOD,EAAO,CACZ,kBAAmB,KAAO,CACxB,wBAAyBL,EAAwB,IACnD,EACF,CAAC,CACH,EACA,KAAM,CAAE,KAAM,OAAQ,CACxB,EACA,OAAAuB,CACF,CAAC,EAEGC,EAA0BD,GAC9BD,EAAiC,IAAMC,CAAM,EAE/C,SAAS,8BAA+B,IAAM,CAC5C,MAAME,EAAuB,CAC3B,aAAc,GACd,MAAO,GACP,SAAU,UACV,WAAY,UACZ,YAAa,OACb,UAAW,QACX,QAAS,IAAI,WAAW,CAAC,IAAM,EAAM,EAAM,CAAI,CAAC,EAChD,eAAgB,OAChB,qBAAsB,OACtB,UAAW,KACX,OAAQ,EACR,aAAc,OACd,mBAAoB,CAClB,eAAgB,GAChB,mBAAoB,GACpB,oBAAqB,GACrB,mCAAoC,GACpC,0BAA2B,GAC3B,YAAa,GACb,gBAAiB,GACjB,iBAAkB,GAClB,iCAAkC,GAClC,iCAAkC,GAClC,cAAe3B,EAAc,WAC7B,iBAAkB,EAClB,gBAAiBH,EAAgB,OACnC,CACF,EAEM+B,EAAW,CACf,YAAa,CACX,GAAI,IACJ,MAAO,eACP,MAAO,QACP,SAAU,MACV,YAAa,UACb,KAAM,WACN,kBAAmB,GACrB,EACA,cAAe,CACb,GAAI,IACJ,QAAS,QACT,MAAO,QACP,SAAU,QACV,YAAa,YACb,KAAM,aACN,MAAO,IACP,YAAa,CAAC,CAAC,CACjB,EACA,eAAgB,EAClB,EAIA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,MAAMC,EAA4B,CAACC,EAAU,UAC3C,GAAG,OAAOhB,CAAoB,EAAE,gBAC9BY,EACEtB,EAAM,CACJ,KAAM0B,EACN,QAAS,OACX,CAAC,CACH,CACF,EAEIC,EAAqCC,GAAuB,CAChE,MAAMC,EAAoB,CAAC,GAAGD,CAAQ,EACtC,GAAG,OAAOlB,CAAoB,EAAE,gBAC9BU,EAAiC,IAC/BpB,EAAM,CACJ,KAAM6B,EAAkB,MAAM,GAAK,QACnC,QAAS,OACX,CAAC,CACH,CACF,CACF,EAEMC,EAAqB,CACzBT,EAAmCrB,EAAM,MAAS,IAElD,GACG,OAAOS,CAAa,EACpB,gBACCa,EAAuBD,CAAM,CAG/B,EAEEU,EAAoB,CACxBC,EAAgDhC,EAAMuB,CAAoB,IAE1E,GACG,OAAOf,CAAY,EACnB,gBACC,IACE,QAAQ,QAAQwB,CAAM,CAG1B,EAEEC,EAAuB,CAACC,EAA8BhC,EAAG,IAAM,CACnE,MAAMiC,EAAU,GAAG,GAAG,EAAE,gBAAgBD,CAAM,EAC9C,UAAG,OAAOtB,CAAe,EAAE,gBAAgBuB,CAAO,EAC3CA,CACT,EAEMC,EAAmB,IACvB,IAAIzB,EAA4B,CAC9B,MAAO,CACL,SAAAa,EACA,cAAe,GACjB,CACF,CAAC,EAEH,SAAS,UAAW,IAAM,CACxB,GAAG,qEAAsE,IACvE,IAAI,QAAc,CAACa,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB,EAClB,MAAMQ,EAAyBN,EAAqB,EAE9CO,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDI,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CACE,OAAQ,IAAM,CACZ,OAAOkC,CAAsB,EAAE,qBAC7B,OAAO,iBAAiB,CACtB,MAAO,CACL,WAAYhB,EACZ,SAAU,CACR,MAAO,QACP,SAAU,MACV,YAAa,SACf,CACF,CACF,CAAC,CACH,EACAc,EAAQ,CACV,EACA,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,mEAAoE,IACrE,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB/B,EAAM,CAAE,GAAGuB,EAAsB,MAAO,EAAK,CAAC,CAAC,EACjE,MAAMgB,EAAyBN,EAAqB,EAE9CO,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDI,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CACE,OAAQ,IAAM,CACZ,OAAOkC,CAAsB,EAAE,qBAC7B,OAAO,iBAAiB,CACtB,MAAO,CACL,WAAY,CAAE,GAAGhB,EAAsB,MAAO,EAAK,EACnD,SAAU,CACR,MAAO,QACP,SAAU,QACV,YAAa,WACf,CACF,CACF,CAAC,CACH,EACAc,EAAQ,CACV,EACA,QAASC,CACX,CACF,CACF,CAAC,CAAC,EAEJ,GAAG,iEAAkE,IACnE,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB/B,EAAM,CAAE,GAAGuB,EAAsB,MAAO,EAAK,CAAC,CAAC,EACjEU,EACE/B,EACE,CAAE,KAAMP,EAAuB,mBAAoB,EACnD,CACE,KAAMA,EAAuB,SAC7B,QAAS,CAAE,SAAU,GAAK,MAAO,EAAG,MAAO,CAAE,CAC/C,EACA,CACE,KAAMA,EAAuB,SAC7B,QAAS,CAAE,SAAU,EAAG,MAAO,EAAG,MAAO,CAAE,CAC7C,CACF,CACF,EAEA,MAAM6C,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,gBAAiB,CAAE,SAAU,EAAI,CAAC,EACpEC,EAAaD,EAAqB,gBAAiB,CAAE,SAAU,CAAE,CAAC,EAClEI,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,gFAAiF,IAClF,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCX,EAAkC,CAAC,UAAW,OAAO,CAAC,EACtDG,EAAmB,EACnBC,EAAkB,EAClBE,EAAqB,EAErB,MAAMO,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDI,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,sGAAuG,IACxG,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB,EAClBE,EACE/B,EACE,CAAE,KAAMP,EAAuB,mBAAoB,EACnD,CAAE,KAAMA,EAAuB,iBAAkB,CACnD,CACF,EAEA,MAAM6C,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,gBAAiB,CACjD,wBACEf,EAAwB,qBAC5B,CAAC,EACDgB,EAAaD,EAAqB,eAAe,EACjDI,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,+EAAgF,IACjF,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB,EAClBE,EACE/B,EACE,CACE,KAAMP,EAAuB,SAC7B,QAAS,CAAE,SAAU,IAAM,MAAO,EAAG,MAAO,CAAE,CAChD,EACA,CACE,KAAMA,EAAuB,SAC7B,QAAS,CAAE,SAAU,EAAG,MAAO,EAAG,MAAO,CAAE,CAC7C,CACF,CACF,EAEA,MAAM6C,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,gBAAiB,CACjD,SAAU,IACV,wBACEf,EAAwB,oBAC5B,CAAC,EACDgB,EAAaD,EAAqB,gBAAiB,CACjD,SAAU,EACV,wBAAyBf,EAAwB,IACnD,CAAC,EACDmB,EAAe,CACjB,EAEAX,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,CACN,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,4DAA6D,IAC9D,IAAI,QAAc,CAACD,EAASC,IAAW,CACrC,MAAMnB,EAAQ,IAAItB,EAAe,6BAA6B,EAC9D,GAAG,OAAOa,CAAoB,EAAE,gBAC9BY,EAAuBvB,EAAKoB,CAAK,CAAC,CAGpC,EAEA,MAAMqB,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDK,EAAWC,CAAK,CAClB,EAEAb,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,qDAAsD,IACvD,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,SAAS,EACnC,MAAMN,EAAQ,IAAItB,EAAe,sBAAsB,EACvDiC,EAAmB/B,EAAKoB,CAAK,CAAC,EAE9B,MAAMqB,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,aAAa,EAC/CK,EAAWC,CAAK,CAClB,EAEAb,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,oDAAqD,IACtD,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1B,MAAMN,EAAQ,IAAIZ,EAAkB,IAAI,MAAM,gBAAgB,CAAC,EAC/DwB,EAAkBhC,EAAKoB,CAAK,CAAC,EAE7B,MAAMqB,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CK,EAAWC,CAAK,CAClB,EAEAb,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,mEAAoE,IACrE,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB,EAClBE,EACE/B,EAAG,CACD,KAAMP,EAAuB,MAC7B,MAAO,IAAID,EAAmB,gBAAgB,CAChD,CAAC,CACH,EAEA,MAAM8C,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDK,EAAW,IAAIrB,CAAgB,CACjC,EAEAS,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,EAEJ,GAAG,yEAA0E,IAC3E,IAAI,QAAc,CAACD,EAASC,IAAW,CACrCb,EAA0B,EAC1BM,EAAkB,EAClB,MAAMZ,EAAQ,IAAItB,EAAe,8BAA8B,EAC/DoC,EACE,IAAIhC,EAAYwC,GAAe,CAC7BA,EAAW,MAAMtB,CAAK,CACxB,CAAC,CACH,EAEA,MAAMqB,EAA2C,CAC/C1B,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,oBAAoB,EACtDC,EAAaD,EAAqB,aAAa,EAC/CC,EAAaD,EAAqB,eAAe,EACjDC,EAAaD,EAAqB,eAAe,EACjDK,EAAWC,CAAK,CAClB,EAEAb,EACE8B,EAAiB,EACjBI,EACAnC,EAAgC,EAChC,CAAE,OAAQgC,EAAS,QAASC,CAAO,CACrC,CACF,CAAC,CAAC,CACN,CAAC,CACH,CAAC",
6
+ "names": ["DeviceActionStatus", "OnboardingState", "SecureChannelError", "SecureChannelEventType", "SeedWordCount", "UnknownDAError", "UserInteractionRequired", "Left", "Right", "Observable", "of", "assign", "createMachine", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "GetOsVersionError", "getOsVersion", "goToDashboard", "waitForAppAndVersion", "InstallOsUpdateDeviceAction", "installFirmware", "InstallOsUpdateSteps", "pendingState", "step", "intermediateValue", "completedState", "errorState", "error", "createMockActorMachineFromOutput", "output", "createMockActorMachine", "getOsVersionResponse", "osUpdate", "setupWaitForAppAndVersion", "appName", "setupWaitForAppAndVersionSequence", "appNames", "remainingAppNames", "setupGoToDashboard", "setupGetOsVersion", "result", "setupInstallFirmware", "events", "handler", "makeDeviceAction", "resolve", "reject", "installFirmwareHandler", "expectedStates", "subscriber"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Right as o}from"purify-ts";import{makeDeviceActionInternalApiMock as a}from"../../../../../device-action/__test-utils__/makeInternalApi";import{installFirmware as s}from"../../../../../device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware";describe("InstallFirmware",()=>{const r=a(),{getSecureChannelService:n}=r,i={isBootloader:!1,isOsu:!1,targetId:857735172,seTargetId:857735172,mcuTargetId:void 0,seVersion:"1.3.0",seFlags:new Uint8Array([230,0,0,0]),mcuSephVersion:"5.24",mcuBootloaderVersion:"0.48",hwVersion:"00",langId:0,recoverState:void 0,secureElementFlags:{isPinValidated:!0,hasMcuSerialNumber:!0,hasValidCertificate:!0,isCustomAuthorityConnectionAllowed:!1,isSecureConnectionAllowed:!1,isOnboarded:!0,isMcuCodeSigned:!0,isInRecoveryMode:!1}},e=vi.fn();beforeEach(()=>{vi.resetAllMocks(),e.mockReturnValue(o({})),n.mockReturnValue({updateFirmware:e})}),it("Should open a secure channel with the OSU firmware payload",()=>{const t={perso:"perso",firmware:"osu",firmwareKey:"osu-key"};s(r)({input:{deviceInfo:i,firmware:t}}),expect(e).toHaveBeenCalledWith(i,t)})});
1
+ import{OnboardingState as i,SeedWordCount as a}from"@ledgerhq/device-management-kit";import{Right as s}from"purify-ts";import{makeDeviceActionInternalApiMock as c}from"../../../../../device-action/__test-utils__/makeInternalApi";import{installFirmware as l}from"../../../../../device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware";describe("InstallFirmware",()=>{const r=c(),{getSecureChannelService:o}=r,n={isBootloader:!1,isOsu:!1,targetId:857735172,seTargetId:857735172,mcuTargetId:void 0,seVersion:"1.3.0",seFlags:new Uint8Array([230,0,0,0]),mcuSephVersion:"5.24",mcuBootloaderVersion:"0.48",hwVersion:"00",langId:0,recoverState:void 0,secureElementFlags:{isPinValidated:!0,hasMcuSerialNumber:!0,hasValidCertificate:!0,isCustomAuthorityConnectionAllowed:!1,isSecureConnectionAllowed:!1,isOnboarded:!0,isMcuCodeSigned:!0,isInRecoveryMode:!1,hasEndorsementCertificateInSlot1:!1,hasEndorsementCertificateInSlot2:!1,numberOfWords:a.TwentyFour,currentWordIndex:0,onboardingState:i.Unknown}},e=vi.fn();beforeEach(()=>{vi.resetAllMocks(),e.mockReturnValue(s({})),o.mockReturnValue({updateFirmware:e})}),it("Should open a secure channel with the OSU firmware payload",()=>{const t={perso:"perso",firmware:"osu",firmwareKey:"osu-key"};l(r)({input:{deviceInfo:n,firmware:t}}),expect(e).toHaveBeenCalledWith(n,t)})});
2
2
  //# sourceMappingURL=InstallFirmware.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.ts"],
4
- "sourcesContent": ["import {\n type GetOsVersionResponse,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { installFirmware } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\";\n\ndescribe(\"InstallFirmware\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const { getSecureChannelService: getSecureChannelServiceMock } = apiMock;\n\n const deviceInfo = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n },\n } satisfies GetOsVersionResponse;\n\n const updateFirmwareMock = vi.fn();\n\n beforeEach(() => {\n vi.resetAllMocks();\n updateFirmwareMock.mockReturnValue(Right({}));\n getSecureChannelServiceMock.mockReturnValue({\n updateFirmware: updateFirmwareMock,\n } as unknown as ReturnType<InternalApi[\"getSecureChannelService\"]>);\n });\n\n it(\"Should open a secure channel with the OSU firmware payload\", () => {\n const firmware = {\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n };\n\n installFirmware(apiMock)({ input: { deviceInfo, firmware } });\n\n expect(updateFirmwareMock).toHaveBeenCalledWith(deviceInfo, firmware);\n });\n});\n"],
5
- "mappings": "AAIA,OAAS,SAAAA,MAAa,YAEtB,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,mBAAAC,MAAuB,8EAEhC,SAAS,kBAAmB,IAAM,CAChC,MAAMC,EAAUF,EAAgC,EAC1C,CAAE,wBAAyBG,CAA4B,EAAID,EAE3DE,EAAa,CACjB,aAAc,GACd,MAAO,GACP,SAAU,UACV,WAAY,UACZ,YAAa,OACb,UAAW,QACX,QAAS,IAAI,WAAW,CAAC,IAAM,EAAM,EAAM,CAAI,CAAC,EAChD,eAAgB,OAChB,qBAAsB,OACtB,UAAW,KACX,OAAQ,EACR,aAAc,OACd,mBAAoB,CAClB,eAAgB,GAChB,mBAAoB,GACpB,oBAAqB,GACrB,mCAAoC,GACpC,0BAA2B,GAC3B,YAAa,GACb,gBAAiB,GACjB,iBAAkB,EACpB,CACF,EAEMC,EAAqB,GAAG,GAAG,EAEjC,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAmB,gBAAgBN,EAAM,CAAC,CAAC,CAAC,EAC5CI,EAA4B,gBAAgB,CAC1C,eAAgBE,CAClB,CAAkE,CACpE,CAAC,EAED,GAAG,6DAA8D,IAAM,CACrE,MAAMC,EAAW,CACf,MAAO,QACP,SAAU,MACV,YAAa,SACf,EAEAL,EAAgBC,CAAO,EAAE,CAAE,MAAO,CAAE,WAAAE,EAAY,SAAAE,CAAS,CAAE,CAAC,EAE5D,OAAOD,CAAkB,EAAE,qBAAqBD,EAAYE,CAAQ,CACtE,CAAC,CACH,CAAC",
6
- "names": ["Right", "makeDeviceActionInternalApiMock", "installFirmware", "apiMock", "getSecureChannelServiceMock", "deviceInfo", "updateFirmwareMock", "firmware"]
4
+ "sourcesContent": ["import {\n type GetOsVersionResponse,\n type InternalApi,\n OnboardingState,\n SeedWordCount,\n} from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { installFirmware } from \"@api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware\";\n\ndescribe(\"InstallFirmware\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const { getSecureChannelService: getSecureChannelServiceMock } = apiMock;\n\n const deviceInfo = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n hasEndorsementCertificateInSlot1: false,\n hasEndorsementCertificateInSlot2: false,\n numberOfWords: SeedWordCount.TwentyFour,\n currentWordIndex: 0,\n onboardingState: OnboardingState.Unknown,\n },\n } satisfies GetOsVersionResponse;\n\n const updateFirmwareMock = vi.fn();\n\n beforeEach(() => {\n vi.resetAllMocks();\n updateFirmwareMock.mockReturnValue(Right({}));\n getSecureChannelServiceMock.mockReturnValue({\n updateFirmware: updateFirmwareMock,\n } as unknown as ReturnType<InternalApi[\"getSecureChannelService\"]>);\n });\n\n it(\"Should open a secure channel with the OSU firmware payload\", () => {\n const firmware = {\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n };\n\n installFirmware(apiMock)({ input: { deviceInfo, firmware } });\n\n expect(updateFirmwareMock).toHaveBeenCalledWith(deviceInfo, firmware);\n });\n});\n"],
5
+ "mappings": "AAAA,OAGE,mBAAAA,EACA,iBAAAC,MACK,kCACP,OAAS,SAAAC,MAAa,YAEtB,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,mBAAAC,MAAuB,8EAEhC,SAAS,kBAAmB,IAAM,CAChC,MAAMC,EAAUF,EAAgC,EAC1C,CAAE,wBAAyBG,CAA4B,EAAID,EAE3DE,EAAa,CACjB,aAAc,GACd,MAAO,GACP,SAAU,UACV,WAAY,UACZ,YAAa,OACb,UAAW,QACX,QAAS,IAAI,WAAW,CAAC,IAAM,EAAM,EAAM,CAAI,CAAC,EAChD,eAAgB,OAChB,qBAAsB,OACtB,UAAW,KACX,OAAQ,EACR,aAAc,OACd,mBAAoB,CAClB,eAAgB,GAChB,mBAAoB,GACpB,oBAAqB,GACrB,mCAAoC,GACpC,0BAA2B,GAC3B,YAAa,GACb,gBAAiB,GACjB,iBAAkB,GAClB,iCAAkC,GAClC,iCAAkC,GAClC,cAAeN,EAAc,WAC7B,iBAAkB,EAClB,gBAAiBD,EAAgB,OACnC,CACF,EAEMQ,EAAqB,GAAG,GAAG,EAEjC,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAmB,gBAAgBN,EAAM,CAAC,CAAC,CAAC,EAC5CI,EAA4B,gBAAgB,CAC1C,eAAgBE,CAClB,CAAkE,CACpE,CAAC,EAED,GAAG,6DAA8D,IAAM,CACrE,MAAMC,EAAW,CACf,MAAO,QACP,SAAU,MACV,YAAa,SACf,EAEAL,EAAgBC,CAAO,EAAE,CAAE,MAAO,CAAE,WAAAE,EAAY,SAAAE,CAAS,CAAE,CAAC,EAE5D,OAAOD,CAAkB,EAAE,qBAAqBD,EAAYE,CAAQ,CACtE,CAAC,CACH,CAAC",
6
+ "names": ["OnboardingState", "SeedWordCount", "Right", "makeDeviceActionInternalApiMock", "installFirmware", "apiMock", "getSecureChannelServiceMock", "deviceInfo", "updateFirmwareMock", "firmware"]
7
7
  }
package/lib/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{decodeImageFromDevice as t}from"./api/customLockScreenUtils/codec/decodeImageFromDevice";import{encodeImageForDevice as a}from"./api/customLockScreenUtils/codec/encodeImageForDevice";import{loadImageFromFile as s}from"./api/customLockScreenUtils/fit/canvasUtils";import{centerCropResizeImage as n}from"./api/customLockScreenUtils/fit/imageFit";import{convertToGrayscale as i}from"./api/customLockScreenUtils/grayscale/grayscaleDithering";import{renderPixelDataToImage as d}from"./api/customLockScreenUtils/grayscale/pixelDataRenderer";import{getScreenSpecs as D,getScreenVisibleAreaDimensions as S,isCustomLockScreenSupported as C}from"./api/customLockScreenUtils/screenSpecs";import{ImageCropError as R,ImageResizeError as I,ImageSizeLoadingError as g}from"./api/customLockScreenUtils/types";import{CustomLockScreenDeviceInternalErrorDAError as v,DeviceInRecoveryModeDAError as f,InvalidCustomLockScreenImageDataDAError as y,InvalidCustomLockScreenStateDAError as x,NoCustomLockScreenImageDAError as L}from"./api/device-action/customLockScreenDeviceActionErrors";import{BackupAppStorageCommand as O}from"./api/command/OsUpdate/Backup/BackupAppStorageCommand";import{GetAppStorageInfoCommand as B}from"./api/command/OsUpdate/Backup/GetAppStorageInfoCommand";import{CommitRestoreAppStorageCommand as h,CommitRestoreAppStorageCommandError as q}from"./api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand";import{InitRestoreAppStorageCommand as G,InitRestoreAppStorageCommandError as w}from"./api/command/OsUpdate/Restore/InitRestoreAppStorageCommand";import{RequestMasterConsentCommand as V}from"./api/command/OsUpdate/Restore/RequestMasterConsentCommand";import{RestoreAppStorageCommand as z,RestoreAppStorageCommandError as b}from"./api/command/OsUpdate/Restore/RestoreAppStorageCommand";import{DownloadCustomLockScreenDeviceAction as j}from"./api/device-action/DownloadCustomLockScreen/DownloadCustomLockScreenDeviceAction";import{GetCustomLockScreenInfoDeviceAction as J}from"./api/device-action/GetCustomLockScreenInfo/GetCustomLockScreenInfoDeviceAction";import{CreateBackupDeviceAction as Q}from"./api/device-action/OsUpdate/Backup/CreateBackupDeviceAction";import{CleanDeviceDeviceAction as X}from"./api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction";import{ResolveOsUpdatePathDeviceAction as Z}from"./api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction";import{RestoreAppsStorageDeviceAction as $}from"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction";import{RestoreBackupDeviceAction as oe}from"./api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction";import{FlashMcuDeviceAction as re}from"./api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction";import{InstallOsUpdateDeviceAction as pe}from"./api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction";import{RemoveCustomLockScreenDeviceAction as ce}from"./api/device-action/RemoveCustomLockScreen/RemoveCustomLockScreenDeviceAction";import{UploadCustomLockScreenDeviceAction as me}from"./api/device-action/UploadCustomLockScreen/UploadCustomLockScreenDeviceAction";import{BackupAppStorageTask as ue}from"./api/task/OsUpdate/Backup/BackupAppStorageTask";import{RestoreAppStorageTask as Ae}from"./api/task/OsUpdate/Restore/RestoreAppStorageTask";export{O as BackupAppStorageCommand,ue as BackupAppStorageTask,X as CleanDeviceDeviceAction,h as CommitRestoreAppStorageCommand,q as CommitRestoreAppStorageCommandError,Q as CreateBackupDeviceAction,v as CustomLockScreenDeviceInternalErrorDAError,f as DeviceInRecoveryModeDAError,j as DownloadCustomLockScreenDeviceAction,re as FlashMcuDeviceAction,B as GetAppStorageInfoCommand,J as GetCustomLockScreenInfoDeviceAction,R as ImageCropError,I as ImageResizeError,g as ImageSizeLoadingError,G as InitRestoreAppStorageCommand,w as InitRestoreAppStorageCommandError,pe as InstallOsUpdateDeviceAction,y as InvalidCustomLockScreenImageDataDAError,x as InvalidCustomLockScreenStateDAError,L as NoCustomLockScreenImageDAError,ce as RemoveCustomLockScreenDeviceAction,V as RequestMasterConsentCommand,Z as ResolveOsUpdatePathDeviceAction,z as RestoreAppStorageCommand,b as RestoreAppStorageCommandError,Ae as RestoreAppStorageTask,$ as RestoreAppsStorageDeviceAction,oe as RestoreBackupDeviceAction,me as UploadCustomLockScreenDeviceAction,n as centerCropResizeImage,t as decodeImageFromDevice,a as encodeImageForDevice,D as getScreenSpecs,S as getScreenVisibleAreaDimensions,C as isCustomLockScreenSupported,s as loadImageFromFile,i as processImage,d as renderPixelDataToImage};
1
+ import{decodeImageFromDevice as o}from"./api/customLockScreenUtils/codec/decodeImageFromDevice";import{encodeImageForDevice as a}from"./api/customLockScreenUtils/codec/encodeImageForDevice";import{loadImageFromFile as s}from"./api/customLockScreenUtils/fit/canvasUtils";import{centerCropResizeImage as n}from"./api/customLockScreenUtils/fit/imageFit";import{convertToGrayscale as i}from"./api/customLockScreenUtils/grayscale/grayscaleDithering";import{renderPixelDataToImage as d}from"./api/customLockScreenUtils/grayscale/pixelDataRenderer";import{getScreenSpecs as D,getScreenVisibleAreaDimensions as S,isCustomLockScreenSupported as l}from"./api/customLockScreenUtils/screenSpecs";import{ImageCropError as R,ImageResizeError as I,ImageSizeLoadingError as g}from"./api/customLockScreenUtils/types";import{CustomLockScreenDeviceInternalErrorDAError as v,DeviceInRecoveryModeDAError as f,InvalidCustomLockScreenImageDataDAError as y,InvalidCustomLockScreenStateDAError as x,NoCustomLockScreenImageDAError as L}from"./api/device-action/customLockScreenDeviceActionErrors";import{BackupAppStorageCommand as O}from"./api/command/OsUpdate/Backup/BackupAppStorageCommand";import{GetAppStorageInfoCommand as B}from"./api/command/OsUpdate/Backup/GetAppStorageInfoCommand";import{CommitRestoreAppStorageCommand as h,CommitRestoreAppStorageCommandError as M}from"./api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand";import{InitRestoreAppStorageCommand as G,InitRestoreAppStorageCommandError as w}from"./api/command/OsUpdate/Restore/InitRestoreAppStorageCommand";import{RequestMasterConsentCommand as V}from"./api/command/OsUpdate/Restore/RequestMasterConsentCommand";import{RestoreAppStorageCommand as z,RestoreAppStorageCommandError as b}from"./api/command/OsUpdate/Restore/RestoreAppStorageCommand";import{DownloadCustomLockScreenDeviceAction as j}from"./api/device-action/DownloadCustomLockScreen/DownloadCustomLockScreenDeviceAction";import{GetCustomLockScreenInfoDeviceAction as J}from"./api/device-action/GetCustomLockScreenInfo/GetCustomLockScreenInfoDeviceAction";import{CreateBackupDeviceAction as Q}from"./api/device-action/OsUpdate/Backup/CreateBackupDeviceAction";import{CleanDeviceDeviceAction as X}from"./api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction";import{ResolveOsUpdatePathDeviceAction as Z}from"./api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction";import{RestoreAppsStorageDeviceAction as $}from"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction";import{RestoreBackupDeviceAction as te}from"./api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction";import{FlashMcuDeviceAction as re}from"./api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction";import{InstallOsUpdateDeviceAction as pe}from"./api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction";import{RemoveCustomLockScreenDeviceAction as ce}from"./api/device-action/RemoveCustomLockScreen/RemoveCustomLockScreenDeviceAction";import{UploadCustomLockScreenDeviceAction as me}from"./api/device-action/UploadCustomLockScreen/UploadCustomLockScreenDeviceAction";import{BackupAppStorageTask as ue}from"./api/task/OsUpdate/Backup/BackupAppStorageTask";import{RestoreAppStorageTask as Ae}from"./api/task/OsUpdate/Restore/RestoreAppStorageTask";export{O as BackupAppStorageCommand,ue as BackupAppStorageTask,X as CleanDeviceDeviceAction,h as CommitRestoreAppStorageCommand,M as CommitRestoreAppStorageCommandError,Q as CreateBackupDeviceAction,v as CustomLockScreenDeviceInternalErrorDAError,f as DeviceInRecoveryModeDAError,j as DownloadCustomLockScreenDeviceAction,re as FlashMcuDeviceAction,B as GetAppStorageInfoCommand,J as GetCustomLockScreenInfoDeviceAction,R as ImageCropError,I as ImageResizeError,g as ImageSizeLoadingError,G as InitRestoreAppStorageCommand,w as InitRestoreAppStorageCommandError,pe as InstallOsUpdateDeviceAction,y as InvalidCustomLockScreenImageDataDAError,x as InvalidCustomLockScreenStateDAError,L as NoCustomLockScreenImageDAError,ce as RemoveCustomLockScreenDeviceAction,V as RequestMasterConsentCommand,Z as ResolveOsUpdatePathDeviceAction,z as RestoreAppStorageCommand,b as RestoreAppStorageCommandError,Ae as RestoreAppStorageTask,$ as RestoreAppsStorageDeviceAction,te as RestoreBackupDeviceAction,me as UploadCustomLockScreenDeviceAction,n as centerCropResizeImage,o as decodeImageFromDevice,a as encodeImageForDevice,D as getScreenSpecs,S as getScreenVisibleAreaDimensions,l as isCustomLockScreenSupported,s as loadImageFromFile,i as processImage,d as renderPixelDataToImage};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["// Custom Lock Screen Utilities - Codec (device binary format)\nexport type { DecodeImageFromDeviceResult } from \"./api/customLockScreenUtils/codec/decodeImageFromDevice\";\nexport { decodeImageFromDevice } from \"./api/customLockScreenUtils/codec/decodeImageFromDevice\";\nexport type { EncodeImageForDeviceArgs } from \"./api/customLockScreenUtils/codec/encodeImageForDevice\";\nexport { encodeImageForDevice } from \"./api/customLockScreenUtils/codec/encodeImageForDevice\";\n\n// Custom Lock Screen Utilities - Fit (resize/crop to screen)\n// Note: These functions require a Web runtime environment (browser)\nexport { loadImageFromFile } from \"./api/customLockScreenUtils/fit/canvasUtils\";\nexport { centerCropResizeImage } from \"./api/customLockScreenUtils/fit/imageFit\";\n\n// Custom Lock Screen Utilities - Grayscale (color conversion & dithering)\n// Note: These functions require a Web runtime environment (browser)\nexport { convertToGrayscale as processImage } from \"./api/customLockScreenUtils/grayscale/grayscaleDithering\";\nexport { renderPixelDataToImage } from \"./api/customLockScreenUtils/grayscale/pixelDataRenderer\";\n\n// Custom Lock Screen Utilities - Screen Specs\nexport type {\n CLSSupportedDeviceModelId,\n ScreenSpecs,\n} from \"./api/customLockScreenUtils/screenSpecs\";\nexport {\n getScreenSpecs,\n getScreenVisibleAreaDimensions,\n isCustomLockScreenSupported,\n} from \"./api/customLockScreenUtils/screenSpecs\";\n\n// Custom Lock Screen Utilities - Types\nexport type {\n CenteredResult,\n DitheringAlgorithm,\n ImageDimensions,\n ProcessImageArgs,\n ProcessorResult,\n RenderPixelDataToImageArgs,\n RenderPixelDataToImageResult,\n} from \"./api/customLockScreenUtils/types\";\nexport {\n ImageCropError,\n ImageResizeError,\n ImageSizeLoadingError,\n} from \"./api/customLockScreenUtils/types\";\nexport {\n CustomLockScreenDeviceInternalErrorDAError,\n DeviceInRecoveryModeDAError,\n type DownloadCommandsDAError,\n InvalidCustomLockScreenImageDataDAError,\n InvalidCustomLockScreenStateDAError,\n NoCustomLockScreenImageDAError,\n type RemoveCommandDAError,\n type UploadCommandsDAError,\n} from \"./api/device-action/customLockScreenDeviceActionErrors\";\n\n// Device Actions\nexport {\n BackupAppStorageCommand,\n type BackupAppStorageCommandErrorCodes,\n type BackupAppStorageCommandResponse,\n type BackupAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Backup/BackupAppStorageCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"./api/command/OsUpdate/Backup/GetAppStorageInfoCommand\";\nexport {\n CommitRestoreAppStorageCommand,\n CommitRestoreAppStorageCommandError,\n type CommitRestoreAppStorageCommandErrorCodes,\n type CommitRestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand\";\nexport {\n InitRestoreAppStorageCommand,\n type InitRestoreAppStorageCommandArgs,\n InitRestoreAppStorageCommandError,\n type InitRestoreAppStorageCommandErrorCodes,\n type InitRestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/InitRestoreAppStorageCommand\";\nexport {\n RequestMasterConsentCommand,\n type RequestMasterConsentCommandArgs,\n type RequestMasterConsentCommandErrorCodes,\n type RequestMasterConsentCommandResult,\n} from \"./api/command/OsUpdate/Restore/RequestMasterConsentCommand\";\nexport {\n RestoreAppStorageCommand,\n type RestoreAppStorageCommandArgs,\n RestoreAppStorageCommandError,\n type RestoreAppStorageCommandErrorCodes,\n type RestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/RestoreAppStorageCommand\";\nexport { DownloadCustomLockScreenDeviceAction } from \"./api/device-action/DownloadCustomLockScreen/DownloadCustomLockScreenDeviceAction\";\nexport type {\n DownloadCustomLockScreenDAError,\n DownloadCustomLockScreenDAInput,\n DownloadCustomLockScreenDAIntermediateValue,\n DownloadCustomLockScreenDAOutput,\n DownloadCustomLockScreenDARequiredInteraction,\n DownloadCustomLockScreenDAState,\n} from \"./api/device-action/DownloadCustomLockScreen/types\";\nexport { GetCustomLockScreenInfoDeviceAction } from \"./api/device-action/GetCustomLockScreenInfo/GetCustomLockScreenInfoDeviceAction\";\nexport type {\n GetCustomLockScreenInfoDAError,\n GetCustomLockScreenInfoDAInput,\n GetCustomLockScreenInfoDAIntermediateValue,\n GetCustomLockScreenInfoDAOutput,\n GetCustomLockScreenInfoDARequiredInteraction,\n GetCustomLockScreenInfoDAState,\n} from \"./api/device-action/GetCustomLockScreenInfo/types\";\nexport { CreateBackupDeviceAction } from \"./api/device-action/OsUpdate/Backup/CreateBackupDeviceAction\";\nexport type {\n Backup,\n CreateBackupDAError,\n CreateBackupDAInput,\n CreateBackupDAIntermediateValue,\n CreateBackupDAOutput,\n CreateBackupDARequiredInteraction,\n CreateBackupDAState,\n CreateBackupSteps,\n} from \"./api/device-action/OsUpdate/Backup/types\";\nexport { CleanDeviceDeviceAction } from \"./api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction\";\nexport type {\n CleanDeviceDAError,\n CleanDeviceDAInput,\n CleanDeviceDAIntermediateValue,\n CleanDeviceDAOutput,\n CleanDeviceDARequiredInteraction,\n CleanDeviceDAState,\n} from \"./api/device-action/OsUpdate/CleanDevice/types\";\nexport { ResolveOsUpdatePathDeviceAction } from \"./api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction\";\nexport type {\n ResolveOsUpdatePathDAError,\n ResolveOsUpdatePathDAInput,\n ResolveOsUpdatePathDAIntermediateValue,\n ResolveOsUpdatePathDAOutput,\n ResolveOsUpdatePathDARequiredInteraction,\n ResolveOsUpdatePathDAState,\n ResolveOsUpdatePathSteps,\n} from \"./api/device-action/OsUpdate/Resolve/types\";\nexport { RestoreAppsStorageDeviceAction } from \"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction\";\nexport type {\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAInput,\n RestoreAppsStorageDAIntermediateValue,\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDARequiredInteraction,\n RestoreAppsStorageDAState,\n RestoreAppsStorageSteps,\n RestoreAppStorageResult,\n} from \"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nexport { RestoreBackupDeviceAction } from \"./api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction\";\nexport type {\n RestoreAppResult,\n RestoreBackupDAError,\n RestoreBackupDAInput,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAOutput,\n RestoreBackupDARequiredInteraction,\n RestoreBackupDAState,\n RestoreBackupSteps,\n} from \"./api/device-action/OsUpdate/Restore/RestoreBackup/types\";\nexport type {\n BaseFirmware,\n FinalFirmware,\n McuFirmware,\n OsuFirmware,\n OsUpdate,\n} from \"./api/device-action/OsUpdate/Shared/types\";\nexport { FlashMcuDeviceAction } from \"./api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction\";\nexport type {\n FlashMcuDAError,\n FlashMcuDAInput,\n FlashMcuDAIntermediateValue,\n FlashMcuDARequiredInteraction,\n FlashMcuDAState,\n FlashMcuSteps,\n} from \"./api/device-action/OsUpdate/Update/FlashMcu/types\";\nexport { InstallOsUpdateDeviceAction } from \"./api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction\";\nexport type {\n InstallOsUpdateDAError,\n InstallOsUpdateDAInput,\n InstallOsUpdateDAIntermediateValue,\n InstallOsUpdateDARequiredInteraction,\n InstallOsUpdateDAState,\n InstallOsUpdateSteps,\n} from \"./api/device-action/OsUpdate/Update/InstallOsUpdate/types\";\nexport { RemoveCustomLockScreenDeviceAction } from \"./api/device-action/RemoveCustomLockScreen/RemoveCustomLockScreenDeviceAction\";\nexport type {\n RemoveCustomLockScreenDAError,\n RemoveCustomLockScreenDAInput,\n RemoveCustomLockScreenDAIntermediateValue,\n RemoveCustomLockScreenDAOutput,\n RemoveCustomLockScreenDARequiredInteraction,\n RemoveCustomLockScreenDAState,\n} from \"./api/device-action/RemoveCustomLockScreen/types\";\nexport type {\n UploadCustomLockScreenDAError,\n UploadCustomLockScreenDAInput,\n UploadCustomLockScreenDAIntermediateValue,\n UploadCustomLockScreenDAOutput,\n UploadCustomLockScreenDARequiredInteraction,\n UploadCustomLockScreenDAState,\n} from \"./api/device-action/UploadCustomLockScreen/types\";\nexport { UploadCustomLockScreenDeviceAction } from \"./api/device-action/UploadCustomLockScreen/UploadCustomLockScreenDeviceAction\";\nexport { BackupAppStorageTask } from \"./api/task/OsUpdate/Backup/BackupAppStorageTask\";\nexport {\n RestoreAppStorageTask,\n type RestoreAppStorageTaskArgs,\n type RestoreAppStorageTaskError,\n} from \"./api/task/OsUpdate/Restore/RestoreAppStorageTask\";\n"],
5
- "mappings": "AAEA,OAAS,yBAAAA,MAA6B,0DAEtC,OAAS,wBAAAC,MAA4B,yDAIrC,OAAS,qBAAAC,MAAyB,8CAClC,OAAS,yBAAAC,MAA6B,2CAItC,OAA+B,sBAAtBC,MAA0C,2DACnD,OAAS,0BAAAC,MAA8B,0DAOvC,OACE,kBAAAC,EACA,kCAAAC,EACA,+BAAAC,MACK,0CAYP,OACE,kBAAAC,EACA,oBAAAC,EACA,yBAAAC,MACK,oCACP,OACE,8CAAAC,EACA,+BAAAC,EAEA,2CAAAC,EACA,uCAAAC,EACA,kCAAAC,MAGK,yDAGP,OACE,2BAAAC,MAIK,wDACP,OACE,4BAAAC,MAKK,yDACP,OACE,kCAAAC,EACA,uCAAAC,MAGK,gEACP,OACE,gCAAAC,EAEA,qCAAAC,MAGK,8DACP,OACE,+BAAAC,MAIK,6DACP,OACE,4BAAAC,EAEA,iCAAAC,MAGK,0DACP,OAAS,wCAAAC,MAA4C,oFASrD,OAAS,uCAAAC,MAA2C,kFASpD,OAAS,4BAAAC,MAAgC,+DAWzC,OAAS,2BAAAC,MAA+B,mEASxC,OAAS,mCAAAC,MAAuC,uEAUhD,OAAS,kCAAAC,MAAsC,yFAW/C,OAAS,6BAAAC,OAAiC,+EAkB1C,OAAS,wBAAAC,OAA4B,oEASrC,OAAS,+BAAAC,OAAmC,kFAS5C,OAAS,sCAAAC,OAA0C,gFAiBnD,OAAS,sCAAAC,OAA0C,gFACnD,OAAS,wBAAAC,OAA4B,kDACrC,OACE,yBAAAC,OAGK",
4
+ "sourcesContent": ["// Custom Lock Screen Utilities - Codec (device binary format)\nexport type { DecodeImageFromDeviceResult } from \"./api/customLockScreenUtils/codec/decodeImageFromDevice\";\nexport { decodeImageFromDevice } from \"./api/customLockScreenUtils/codec/decodeImageFromDevice\";\nexport type { EncodeImageForDeviceArgs } from \"./api/customLockScreenUtils/codec/encodeImageForDevice\";\nexport { encodeImageForDevice } from \"./api/customLockScreenUtils/codec/encodeImageForDevice\";\n\n// Custom Lock Screen Utilities - Fit (resize/crop to screen)\n// Note: These functions require a Web runtime environment (browser)\nexport { loadImageFromFile } from \"./api/customLockScreenUtils/fit/canvasUtils\";\nexport { centerCropResizeImage } from \"./api/customLockScreenUtils/fit/imageFit\";\n\n// Custom Lock Screen Utilities - Grayscale (color conversion & dithering)\n// Note: These functions require a Web runtime environment (browser)\nexport { convertToGrayscale as processImage } from \"./api/customLockScreenUtils/grayscale/grayscaleDithering\";\nexport { renderPixelDataToImage } from \"./api/customLockScreenUtils/grayscale/pixelDataRenderer\";\n\n// Custom Lock Screen Utilities - Screen Specs\nexport type {\n CLSSupportedDeviceModelId,\n ScreenSpecs,\n} from \"./api/customLockScreenUtils/screenSpecs\";\nexport {\n getScreenSpecs,\n getScreenVisibleAreaDimensions,\n isCustomLockScreenSupported,\n} from \"./api/customLockScreenUtils/screenSpecs\";\n\n// Custom Lock Screen Utilities - Types\nexport type {\n CenteredResult,\n DitheringAlgorithm,\n ImageDimensions,\n ProcessImageArgs,\n ProcessorResult,\n RenderPixelDataToImageArgs,\n RenderPixelDataToImageResult,\n} from \"./api/customLockScreenUtils/types\";\nexport {\n ImageCropError,\n ImageResizeError,\n ImageSizeLoadingError,\n} from \"./api/customLockScreenUtils/types\";\nexport {\n CustomLockScreenDeviceInternalErrorDAError,\n DeviceInRecoveryModeDAError,\n type DownloadCommandsDAError,\n InvalidCustomLockScreenImageDataDAError,\n InvalidCustomLockScreenStateDAError,\n NoCustomLockScreenImageDAError,\n type RemoveCommandDAError,\n type UploadCommandsDAError,\n} from \"./api/device-action/customLockScreenDeviceActionErrors\";\n\n// Device Actions\nexport {\n BackupAppStorageCommand,\n type BackupAppStorageCommandErrorCodes,\n type BackupAppStorageCommandResponse,\n type BackupAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Backup/BackupAppStorageCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"./api/command/OsUpdate/Backup/GetAppStorageInfoCommand\";\nexport {\n CommitRestoreAppStorageCommand,\n CommitRestoreAppStorageCommandError,\n type CommitRestoreAppStorageCommandErrorCodes,\n type CommitRestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand\";\nexport {\n InitRestoreAppStorageCommand,\n type InitRestoreAppStorageCommandArgs,\n InitRestoreAppStorageCommandError,\n type InitRestoreAppStorageCommandErrorCodes,\n type InitRestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/InitRestoreAppStorageCommand\";\nexport {\n RequestMasterConsentCommand,\n type RequestMasterConsentCommandArgs,\n type RequestMasterConsentCommandErrorCodes,\n type RequestMasterConsentCommandResult,\n} from \"./api/command/OsUpdate/Restore/RequestMasterConsentCommand\";\nexport {\n RestoreAppStorageCommand,\n type RestoreAppStorageCommandArgs,\n RestoreAppStorageCommandError,\n type RestoreAppStorageCommandErrorCodes,\n type RestoreAppStorageCommandResult,\n} from \"./api/command/OsUpdate/Restore/RestoreAppStorageCommand\";\nexport { DownloadCustomLockScreenDeviceAction } from \"./api/device-action/DownloadCustomLockScreen/DownloadCustomLockScreenDeviceAction\";\nexport type {\n DownloadCustomLockScreenDAError,\n DownloadCustomLockScreenDAInput,\n DownloadCustomLockScreenDAIntermediateValue,\n DownloadCustomLockScreenDAOutput,\n DownloadCustomLockScreenDARequiredInteraction,\n DownloadCustomLockScreenDAState,\n} from \"./api/device-action/DownloadCustomLockScreen/types\";\nexport { GetCustomLockScreenInfoDeviceAction } from \"./api/device-action/GetCustomLockScreenInfo/GetCustomLockScreenInfoDeviceAction\";\nexport type {\n GetCustomLockScreenInfoDAError,\n GetCustomLockScreenInfoDAInput,\n GetCustomLockScreenInfoDAIntermediateValue,\n GetCustomLockScreenInfoDAOutput,\n GetCustomLockScreenInfoDARequiredInteraction,\n GetCustomLockScreenInfoDAState,\n} from \"./api/device-action/GetCustomLockScreenInfo/types\";\nexport { CreateBackupDeviceAction } from \"./api/device-action/OsUpdate/Backup/CreateBackupDeviceAction\";\nexport type {\n Backup,\n CreateBackupDAError,\n CreateBackupDAInput,\n CreateBackupDAIntermediateValue,\n CreateBackupDAOutput,\n CreateBackupDARequiredInteraction,\n CreateBackupDAState,\n CreateBackupSteps,\n} from \"./api/device-action/OsUpdate/Backup/types\";\nexport { CleanDeviceDeviceAction } from \"./api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction\";\nexport type {\n CleanDeviceDAError,\n CleanDeviceDAInput,\n CleanDeviceDAIntermediateValue,\n CleanDeviceDAOutput,\n CleanDeviceDARequiredInteraction,\n CleanDeviceDAState,\n} from \"./api/device-action/OsUpdate/CleanDevice/types\";\nexport { ResolveOsUpdatePathDeviceAction } from \"./api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction\";\nexport type {\n ResolveOsUpdatePathDAError,\n ResolveOsUpdatePathDAInput,\n ResolveOsUpdatePathDAIntermediateValue,\n ResolveOsUpdatePathDAOutput,\n ResolveOsUpdatePathDARequiredInteraction,\n ResolveOsUpdatePathDAState,\n ResolveOsUpdatePathSteps,\n} from \"./api/device-action/OsUpdate/Resolve/types\";\nexport { RestoreAppsStorageDeviceAction } from \"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction\";\nexport type {\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAInput,\n RestoreAppsStorageDAIntermediateValue,\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDARequiredInteraction,\n RestoreAppsStorageDAState,\n RestoreAppsStorageSteps,\n RestoreAppStorageResult,\n} from \"./api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nexport { RestoreBackupDeviceAction } from \"./api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction\";\nexport type {\n RestoreAppResult,\n RestoreBackupDAError,\n RestoreBackupDAInput,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAOutput,\n RestoreBackupDARequiredInteraction,\n RestoreBackupDAState,\n RestoreBackupSteps,\n} from \"./api/device-action/OsUpdate/Restore/RestoreBackup/types\";\nexport type {\n BaseFirmware,\n FinalFirmware,\n McuFirmware,\n OsuFirmware,\n OsUpdate,\n} from \"./api/device-action/OsUpdate/Shared/types\";\nexport { FlashMcuDeviceAction } from \"./api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction\";\nexport type {\n FlashMcuDAError,\n FlashMcuDAInput,\n FlashMcuDAIntermediateValue,\n FlashMcuDAOutput,\n FlashMcuDARequiredInteraction,\n FlashMcuDAState,\n FlashMcuSteps,\n FlashTarget,\n} from \"./api/device-action/OsUpdate/Update/FlashMcu/types\";\nexport { InstallOsUpdateDeviceAction } from \"./api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction\";\nexport type {\n InstallOsUpdateDAError,\n InstallOsUpdateDAInput,\n InstallOsUpdateDAIntermediateValue,\n InstallOsUpdateDARequiredInteraction,\n InstallOsUpdateDAState,\n InstallOsUpdateSteps,\n} from \"./api/device-action/OsUpdate/Update/InstallOsUpdate/types\";\nexport { RemoveCustomLockScreenDeviceAction } from \"./api/device-action/RemoveCustomLockScreen/RemoveCustomLockScreenDeviceAction\";\nexport type {\n RemoveCustomLockScreenDAError,\n RemoveCustomLockScreenDAInput,\n RemoveCustomLockScreenDAIntermediateValue,\n RemoveCustomLockScreenDAOutput,\n RemoveCustomLockScreenDARequiredInteraction,\n RemoveCustomLockScreenDAState,\n} from \"./api/device-action/RemoveCustomLockScreen/types\";\nexport type {\n UploadCustomLockScreenDAError,\n UploadCustomLockScreenDAInput,\n UploadCustomLockScreenDAIntermediateValue,\n UploadCustomLockScreenDAOutput,\n UploadCustomLockScreenDARequiredInteraction,\n UploadCustomLockScreenDAState,\n} from \"./api/device-action/UploadCustomLockScreen/types\";\nexport { UploadCustomLockScreenDeviceAction } from \"./api/device-action/UploadCustomLockScreen/UploadCustomLockScreenDeviceAction\";\nexport { BackupAppStorageTask } from \"./api/task/OsUpdate/Backup/BackupAppStorageTask\";\nexport {\n RestoreAppStorageTask,\n type RestoreAppStorageTaskArgs,\n type RestoreAppStorageTaskError,\n} from \"./api/task/OsUpdate/Restore/RestoreAppStorageTask\";\n"],
5
+ "mappings": "AAEA,OAAS,yBAAAA,MAA6B,0DAEtC,OAAS,wBAAAC,MAA4B,yDAIrC,OAAS,qBAAAC,MAAyB,8CAClC,OAAS,yBAAAC,MAA6B,2CAItC,OAA+B,sBAAtBC,MAA0C,2DACnD,OAAS,0BAAAC,MAA8B,0DAOvC,OACE,kBAAAC,EACA,kCAAAC,EACA,+BAAAC,MACK,0CAYP,OACE,kBAAAC,EACA,oBAAAC,EACA,yBAAAC,MACK,oCACP,OACE,8CAAAC,EACA,+BAAAC,EAEA,2CAAAC,EACA,uCAAAC,EACA,kCAAAC,MAGK,yDAGP,OACE,2BAAAC,MAIK,wDACP,OACE,4BAAAC,MAKK,yDACP,OACE,kCAAAC,EACA,uCAAAC,MAGK,gEACP,OACE,gCAAAC,EAEA,qCAAAC,MAGK,8DACP,OACE,+BAAAC,MAIK,6DACP,OACE,4BAAAC,EAEA,iCAAAC,MAGK,0DACP,OAAS,wCAAAC,MAA4C,oFASrD,OAAS,uCAAAC,MAA2C,kFASpD,OAAS,4BAAAC,MAAgC,+DAWzC,OAAS,2BAAAC,MAA+B,mEASxC,OAAS,mCAAAC,MAAuC,uEAUhD,OAAS,kCAAAC,MAAsC,yFAW/C,OAAS,6BAAAC,OAAiC,+EAkB1C,OAAS,wBAAAC,OAA4B,oEAWrC,OAAS,+BAAAC,OAAmC,kFAS5C,OAAS,sCAAAC,OAA0C,gFAiBnD,OAAS,sCAAAC,OAA0C,gFACnD,OAAS,wBAAAC,OAA4B,kDACrC,OACE,yBAAAC,OAGK",
6
6
  "names": ["decodeImageFromDevice", "encodeImageForDevice", "loadImageFromFile", "centerCropResizeImage", "convertToGrayscale", "renderPixelDataToImage", "getScreenSpecs", "getScreenVisibleAreaDimensions", "isCustomLockScreenSupported", "ImageCropError", "ImageResizeError", "ImageSizeLoadingError", "CustomLockScreenDeviceInternalErrorDAError", "DeviceInRecoveryModeDAError", "InvalidCustomLockScreenImageDataDAError", "InvalidCustomLockScreenStateDAError", "NoCustomLockScreenImageDAError", "BackupAppStorageCommand", "GetAppStorageInfoCommand", "CommitRestoreAppStorageCommand", "CommitRestoreAppStorageCommandError", "InitRestoreAppStorageCommand", "InitRestoreAppStorageCommandError", "RequestMasterConsentCommand", "RestoreAppStorageCommand", "RestoreAppStorageCommandError", "DownloadCustomLockScreenDeviceAction", "GetCustomLockScreenInfoDeviceAction", "CreateBackupDeviceAction", "CleanDeviceDeviceAction", "ResolveOsUpdatePathDeviceAction", "RestoreAppsStorageDeviceAction", "RestoreBackupDeviceAction", "FlashMcuDeviceAction", "InstallOsUpdateDeviceAction", "RemoveCustomLockScreenDeviceAction", "UploadCustomLockScreenDeviceAction", "BackupAppStorageTask", "RestoreAppStorageTask"]
7
7
  }
@@ -36,7 +36,7 @@
36
36
  "license": "Apache-2.0",
37
37
  "name": "@ledgerhq/dmk-ledger-wallet",
38
38
  "peerDependencies": {
39
- "@ledgerhq/device-management-kit": "^1.8.0"
39
+ "@ledgerhq/device-management-kit": "workspace:^"
40
40
  },
41
41
  "private": false,
42
42
  "repository": {
@@ -59,5 +59,5 @@
59
59
  "watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
60
60
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
61
61
  },
62
- "version": "0.5.0"
62
+ "version": "0.7.0"
63
63
  }
@@ -1,3 +1,5 @@
1
1
  import { type FinalFirmware, type McuFirmware } from "../../../device-action/OsUpdate/Shared/types";
2
+ export declare const isSameBootloaderVersion: (bootloaderVersion: string, otherBootloaderVersion: string) => boolean;
2
3
  export declare const bestCompatibleMcu: (mcuList: McuFirmware[], finalFirmware: FinalFirmware, provider?: number) => McuFirmware | null;
4
+ export declare const bestMcuForBootloaderVersion: (mcuList: McuFirmware[], bootloaderVersion: string, provider?: number) => McuFirmware | null;
3
5
  //# sourceMappingURL=OsUpdateUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OsUpdateUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/api/device-action/OsUpdate/Shared/OsUpdateUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AAclD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,WAAW,EAAE,EACtB,eAAe,aAAa,EAC5B,WAAU,MAAqC,KAC9C,WAAW,GAAG,IAuBL,CAAC"}
1
+ {"version":3,"file":"OsUpdateUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/api/device-action/OsUpdate/Shared/OsUpdateUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AAmBlD,eAAO,MAAM,uBAAuB,GAClC,mBAAmB,MAAM,EACzB,wBAAwB,MAAM,KAC7B,OAOF,CAAC;AAuBF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,WAAW,EAAE,EACtB,eAAe,aAAa,EAC5B,WAAU,MAAqC,KAC9C,WAAW,GAAG,IAQd,CAAC;AAMJ,eAAO,MAAM,2BAA2B,GACtC,SAAS,WAAW,EAAE,EACtB,mBAAmB,MAAM,EACzB,WAAU,MAAqC,KAC9C,WAAW,GAAG,IAQd,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type DeviceActionStateMachine, type InternalApi, XStateDeviceAction } from "@ledgerhq/device-management-kit";
2
- import { type FlashMcuDAError, type FlashMcuDAInput, type FlashMcuDAIntermediateValue, type FlashMcuDAInternalState } from "./types";
3
- export declare class FlashMcuDeviceAction extends XStateDeviceAction<void, FlashMcuDAInput, FlashMcuDAError, FlashMcuDAIntermediateValue, FlashMcuDAInternalState> {
4
- protected makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<void, FlashMcuDAInput, FlashMcuDAError, FlashMcuDAIntermediateValue, FlashMcuDAInternalState>;
2
+ import { type FlashMcuDAError, type FlashMcuDAInput, type FlashMcuDAIntermediateValue, type FlashMcuDAInternalState, type FlashMcuDAOutput } from "./types";
3
+ export declare class FlashMcuDeviceAction extends XStateDeviceAction<FlashMcuDAOutput, FlashMcuDAInput, FlashMcuDAError, FlashMcuDAIntermediateValue, FlashMcuDAInternalState> {
4
+ protected makeStateMachine(internalApi: InternalApi): DeviceActionStateMachine<FlashMcuDAOutput, FlashMcuDAInput, FlashMcuDAError, FlashMcuDAIntermediateValue, FlashMcuDAInternalState>;
5
5
  }
6
6
  //# sourceMappingURL=FlashMcuDeviceAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlashMcuDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAIhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AASzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAC;AAUjB,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,IAAI,EACJ,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;cACoB,gBAAgB,CACjC,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,IAAI,EACJ,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;CAuPF"}
1
+ {"version":3,"file":"FlashMcuDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAIhB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AASzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAEtB,MAAM,SAAS,CAAC;AAUjB,qBAAa,oBAAqB,SAAQ,kBAAkB,CAC1D,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;cACoB,gBAAgB,CACjC,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,CACxB;CAqPF"}
@@ -1,14 +1,13 @@
1
1
  import { type GetOsVersionResponse, type InternalApi } from "@ledgerhq/device-management-kit";
2
2
  import { type Either } from "purify-ts";
3
- import { type FinalFirmware } from "../../../../../device-action/OsUpdate/Shared/types";
4
3
  import { ResolveMcuVersionError } from "../../../../../device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors";
4
+ import { type FlashMcuDAInput, type ResolvedFlash } from "../../../../../device-action/OsUpdate/Update/FlashMcu/types";
5
5
  type ResolveMcuVersionHandlerArgs = {
6
- input: {
6
+ input: FlashMcuDAInput & {
7
7
  deviceInfo: GetOsVersionResponse;
8
- finalFirmware: FinalFirmware;
9
8
  };
10
9
  };
11
- type ResolveMcuVersionHandlerResponse = Promise<Either<ResolveMcuVersionError, string>>;
10
+ type ResolveMcuVersionHandlerResponse = Promise<Either<ResolveMcuVersionError, ResolvedFlash>>;
12
11
  type ResolveMcuVersionHandler = (args: ResolveMcuVersionHandlerArgs) => ResolveMcuVersionHandlerResponse;
13
12
  export declare const resolveMcuVersion: (internalApi: InternalApi) => ResolveMcuVersionHandler;
14
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveMcuVersion.d.ts","sourceRoot":"","sources":["../../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,MAAM,EAAsB,MAAM,WAAW,CAAC;AAG5D,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wEAAwE,CAAC;AAShH,KAAK,4BAA4B,GAAG;IAClC,KAAK,EAAE;QACL,UAAU,EAAE,oBAAoB,CAAC;QACjC,aAAa,EAAE,aAAa,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,KAAK,gCAAgC,GAAG,OAAO,CAC7C,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CACvC,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAC9B,IAAI,EAAE,4BAA4B,KAC/B,gCAAgC,CAAC;AAqBtC,eAAO,MAAM,iBAAiB,GAC3B,aAAa,WAAW,KAAG,wBAiC3B,CAAC"}
1
+ {"version":3,"file":"ResolveMcuVersion.d.ts","sourceRoot":"","sources":["../../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,MAAM,EAAsB,MAAM,WAAW,CAAC;AAW5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wEAAwE,CAAC;AAChH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,mDAAmD,CAAC;AAgC3D,KAAK,4BAA4B,GAAG;IAClC,KAAK,EAAE,eAAe,GAAG;QACvB,UAAU,EAAE,oBAAoB,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gCAAgC,GAAG,OAAO,CAC7C,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAC9C,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAC9B,IAAI,EAAE,4BAA4B,KAC/B,gCAAgC,CAAC;AA4FtC,eAAO,MAAM,iBAAiB,GAC3B,aAAa,WAAW,KAAG,wBAkD3B,CAAC"}
@@ -2,7 +2,10 @@ import { type DeviceActionState, type DeviceLockedError, type GetOsVersionRespon
2
2
  import { type FinalFirmware } from "../../../../device-action/OsUpdate/Shared/types";
3
3
  import { type FlashMcuDAErrors } from "./FlashMcuDeviceActionErrors";
4
4
  export type FlashMcuDAInput = {
5
+ mode: "osUpdate";
5
6
  finalFirmware: FinalFirmware;
7
+ } | {
8
+ mode: "bootloaderRecovery";
6
9
  };
7
10
  export type SecureChannelFlashMcuDAErrors = SecureChannelError | DeviceLockedError | UnknownDAError;
8
11
  export type FlashMcuDAError = FlashMcuDAErrors | SecureChannelFlashMcuDAErrors;
@@ -12,13 +15,21 @@ export type FlashMcuDAIntermediateValue = {
12
15
  step: FlashMcuSteps;
13
16
  progress?: number;
14
17
  };
18
+ export type FlashTarget = "mcu" | "bootloader";
19
+ export type ResolvedFlash = {
20
+ target: FlashTarget;
21
+ version: string;
22
+ };
23
+ export type FlashMcuDAOutput = {
24
+ target: FlashTarget;
25
+ };
15
26
  export type FlashMcuDAInternalState = {
16
27
  error: FlashMcuDAError | null;
17
28
  deviceInfo: GetOsVersionResponse | null;
18
- version: string | null;
29
+ resolvedFlash: ResolvedFlash | null;
19
30
  bootloaderPollAttempts: number;
20
31
  };
21
- export type FlashMcuDAState = DeviceActionState<void, FlashMcuDAError, FlashMcuDAIntermediateValue>;
32
+ export type FlashMcuDAState = DeviceActionState<FlashMcuDAOutput, FlashMcuDAError, FlashMcuDAIntermediateValue>;
22
33
  export declare enum FlashMcuSteps {
23
34
  Idle = "idle",
24
35
  GetDeviceInfo = "getDeviceInfo",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACrC,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,6BAA6B,CAAC;AAE/E,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAEzE,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAC7C,IAAI,EACJ,eAAe,EACf,2BAA2B,CAC5B,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/OsUpdate/Update/FlashMcu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;CAC5B,CAAC;AAEN,MAAM,MAAM,6BAA6B,GACrC,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,6BAA6B,CAAC;AAE/E,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAEzE,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,YAAY,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAC7C,gBAAgB,EAChB,eAAe,EACf,2BAA2B,CAC5B,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;CAC9C"}
@@ -33,7 +33,7 @@ export { RestoreBackupDeviceAction } from "./api/device-action/OsUpdate/Restore/
33
33
  export type { RestoreAppResult, RestoreBackupDAError, RestoreBackupDAInput, RestoreBackupDAIntermediateValue, RestoreBackupDAOutput, RestoreBackupDARequiredInteraction, RestoreBackupDAState, RestoreBackupSteps, } from "./api/device-action/OsUpdate/Restore/RestoreBackup/types";
34
34
  export type { BaseFirmware, FinalFirmware, McuFirmware, OsuFirmware, OsUpdate, } from "./api/device-action/OsUpdate/Shared/types";
35
35
  export { FlashMcuDeviceAction } from "./api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction";
36
- export type { FlashMcuDAError, FlashMcuDAInput, FlashMcuDAIntermediateValue, FlashMcuDARequiredInteraction, FlashMcuDAState, FlashMcuSteps, } from "./api/device-action/OsUpdate/Update/FlashMcu/types";
36
+ export type { FlashMcuDAError, FlashMcuDAInput, FlashMcuDAIntermediateValue, FlashMcuDAOutput, FlashMcuDARequiredInteraction, FlashMcuDAState, FlashMcuSteps, FlashTarget, } from "./api/device-action/OsUpdate/Update/FlashMcu/types";
37
37
  export { InstallOsUpdateDeviceAction } from "./api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction";
38
38
  export type { InstallOsUpdateDAError, InstallOsUpdateDAInput, InstallOsUpdateDAIntermediateValue, InstallOsUpdateDARequiredInteraction, InstallOsUpdateDAState, InstallOsUpdateSteps, } from "./api/device-action/OsUpdate/Update/InstallOsUpdate/types";
39
39
  export { RemoveCustomLockScreenDeviceAction } from "./api/device-action/RemoveCustomLockScreen/RemoveCustomLockScreenDeviceAction";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}