@ledgerhq/dmk-ledger-wallet 0.6.0 → 0.7.1

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 (44) hide show
  1. package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js +1 -1
  2. package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js.map +3 -3
  3. package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js +1 -1
  4. package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js.map +3 -3
  5. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +1 -1
  6. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +3 -3
  7. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +1 -1
  8. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +3 -3
  9. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +1 -1
  10. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +2 -2
  11. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +1 -1
  12. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +2 -2
  13. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js +1 -1
  14. package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +2 -2
  15. package/lib/cjs/index.js +1 -1
  16. package/lib/cjs/index.js.map +2 -2
  17. package/lib/cjs/package.json +2 -2
  18. package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js +1 -1
  19. package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js.map +3 -3
  20. package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js +1 -1
  21. package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js.map +3 -3
  22. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +1 -1
  23. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +3 -3
  24. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +1 -1
  25. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +3 -3
  26. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +1 -1
  27. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +2 -2
  28. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +1 -1
  29. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +2 -2
  30. package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +2 -2
  31. package/lib/esm/index.js +1 -1
  32. package/lib/esm/index.js.map +2 -2
  33. package/lib/esm/package.json +2 -2
  34. package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.d.ts.map +1 -1
  35. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts +3 -3
  36. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts.map +1 -1
  37. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts +2 -2
  38. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts.map +1 -1
  39. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts +10 -2
  40. package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts.map +1 -1
  41. package/lib/types/index.d.ts +1 -1
  42. package/lib/types/index.d.ts.map +1 -1
  43. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  44. package/package.json +6 -6
@@ -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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,00EAAAE,EAAAF,GAEA,IAAAG,EAAsC,mEAEtCC,EAAqC,kEAIrCC,EAAkC,uDAClCC,EAAsC,oDAItCC,EAAmD,oEACnDC,EAAuC,mEAOvCC,EAIO,mDAYPC,EAIO,6CACPC,EASO,kEAGPC,EAKO,iEACPC,EAMO,kEACPC,EAKO,yEACPC,EAMO,uEACPC,EAKO,sEACPC,EAMO,mEACPC,EAAqD,6FASrDC,EAAoD,2FASpDC,EAAyC,wEAWzCC,EAAwC,4EASxCC,EAAgD,gFAUhDC,EAA+C,kGAW/CC,EAA0C,wFAkB1CC,EAAqC,6EASrCC,EAA4C,2FAS5CC,EAAmD,yFAiBnDC,EAAmD,yFACnDC,EAAqC,2DACrCC,EAIO",
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,00EAAAE,EAAAF,GAEA,IAAAG,EAAsC,mEAEtCC,EAAqC,kEAIrCC,EAAkC,uDAClCC,EAAsC,oDAItCC,EAAmD,oEACnDC,EAAuC,mEAOvCC,EAIO,mDAYPC,EAIO,6CACPC,EASO,kEAGPC,EAKO,iEACPC,EAMO,kEACPC,EAKO,yEACPC,EAMO,uEACPC,EAKO,sEACPC,EAMO,mEACPC,EAAqD,6FASrDC,EAAoD,2FASpDC,EAAyC,wEAWzCC,EAAwC,4EASxCC,EAAgD,gFAUhDC,EAA+C,kGAW/CC,EAA0C,wFAkB1CC,EAAqC,6EAWrCC,EAA4C,2FAS5CC,EAAmD,yFAiBnDC,EAAmD,yFACnDC,EAAqC,2DACrCC,EAIO",
6
6
  "names": ["index_exports", "__export", "__toCommonJS", "import_decodeImageFromDevice", "import_encodeImageForDevice", "import_canvasUtils", "import_imageFit", "import_grayscaleDithering", "import_pixelDataRenderer", "import_screenSpecs", "import_types", "import_customLockScreenDeviceActionErrors", "import_BackupAppStorageCommand", "import_GetAppStorageInfoCommand", "import_CommitRestoreAppStorageCommand", "import_InitRestoreAppStorageCommand", "import_RequestMasterConsentCommand", "import_RestoreAppStorageCommand", "import_DownloadCustomLockScreenDeviceAction", "import_GetCustomLockScreenInfoDeviceAction", "import_CreateBackupDeviceAction", "import_CleanDeviceDeviceAction", "import_ResolveOsUpdatePathDeviceAction", "import_RestoreAppsStorageDeviceAction", "import_RestoreBackupDeviceAction", "import_FlashMcuDeviceAction", "import_InstallOsUpdateDeviceAction", "import_RemoveCustomLockScreenDeviceAction", "import_UploadCustomLockScreenDeviceAction", "import_BackupAppStorageTask", "import_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": "workspace:^"
39
+ "@ledgerhq/device-management-kit": "^1.11.0"
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.6.0"
62
+ "version": "0.7.1"
63
63
  }
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as m,isDashboardName as h,LANGUAGE_ID_TO_LANGUAGE as D,RefusedByUserDAError as f,UserInteractionRequired as c,XStateDeviceAction as R}from"@ledgerhq/device-management-kit";import{Left as E,Right as C}from"purify-ts";import{assign as a,fromPromise as k,setup as I}from"xstate";import{isMasterConsentSupported as v}from"../../../../command/OsUpdate/Restore/RequestMasterConsentCommand";import{isCustomLockScreenSupported as L}from"../../../../customLockScreenUtils/screenSpecs";import{getIsOnboarded as b}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded";import{installLanguagePackage as y}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage";import{installOrUpdateApps as x}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps";import{requestMasterConsent as B}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent";import{restoreAppsStorage as V}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage";import{uploadCustomLockScreenDevice as O}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen";import{RequestMasterConsentResult as T,RestoreBackupSteps as s}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/types";import{goToDashboard as U}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as F}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";const S="english",g=n=>n===void 0?void 0:D[n],l=n=>{const r=g(n);return r!==void 0&&r!==S},d=n=>n instanceof f,M=(n,r)=>n?.map(p=>{const o=r.find(e=>e.appName===p.appName);return o?{...p,restoredAppStorage:o.restoredAppStorage}:p});class Y extends R{makeStateMachine(r){const{backup:p,unlockTimeout:o}=this.input;return I({types:{input:{},output:{},context:{}},actors:{waitForAppAndVersion:F(r,o),goToDashboard:U(r,o),getIsOnboarded:k(b(r)),requestMasterConsent:k(B(r)),installLanguagePackage:y(r,o,g(p.languageId)??S),installOrUpdateApps:x(r,o,p.installedApps.map(e=>({name:e.appName}))),restoreAppsStorage:V(r,o),uploadCustomLockScreen:O(r,o,m(p.clsHexImage??"")??new Uint8Array(0))},guards:{isDeviceOnDashboard:({context:e})=>h(e._internalState.currentApp),isDeviceOnboarded:({context:e})=>e._internalState.isDeviceOnboarded,isMasterConsentFeatureSupported:()=>v(r.getDeviceModel().id),hasBackedUpNonEnglishLanguage:({context:e})=>l(e.input.backup.languageId),hasAppsToReinstall:({context:e})=>e.input.backup.installedApps.length>0,isCustomLockScreenFeatureSupported:()=>L(r.getDeviceModel().id),hasBackedUpCustomLockScreen:({context:e})=>e.input.backup.clsHexImage!==void 0,hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorFromEvent:a({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"RestoreBackupDeviceAction",initial:"WaitForAppAndVersion",context:({input:e})=>({input:{backup:e.backup,unlockTimeout:e.unlockTimeout},intermediateValue:{requiredUserInteraction:c.None,step:s.Idle},_internalState:{error:null,currentApp:null,isDeviceOnboarded:!1,isMasterConsentGranted:!1,restoredLanguage:l(e.backup.languageId)?!1:void 0,restoredCLS:e.backup.clsHexImage!==void 0?!1:void 0,restoredApps:e.backup.installedApps.length>0?e.backup.installedApps.map(t=>({appName:t.appName,restoredApp:!1,restoredAppStorage:t.data!==void 0?!1:void 0})):void 0,appsToRestoreStorage:[]}}),states:{WaitForAppAndVersion:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.WaitForAppAndVersion})}),invoke:{src:"waitForAppAndVersion",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,currentApp:t.name})})}),target:"CheckIfDeviceIsOnDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnDashboard:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnDashboard",target:"GetIsOnboarded"},{target:"GoToDashboard"}]},GoToDashboard:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GoToDashboard})}),invoke:{src:"goToDashboard",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:()=>e.context._internalState})}),target:"CheckGoToDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGoToDashboard:{always:[{guard:"hasError",target:"Error"},{target:"WaitForAppAndVersion"}]},GetIsOnboarded:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GetIsOnboarded})}),invoke:{src:"getIsOnboarded",onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:({isDeviceOnboarded:t})=>({...e.context._internalState,isDeviceOnboarded:t})})}),target:"CheckGetIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGetIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isMasterConsentFeatureSupported",target:"RequestMasterConsent"},{target:"CheckBackedUpLanguage"}]},RequestMasterConsent:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RequestMasterConsent,requiredUserInteraction:c.GrantConsent})}),exit:a({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.None})}),invoke:{src:"requestMasterConsent",input:({context:e})=>{const{backup:t}=e.input;return{languagePackConsentEnabled:!l(t.languageId),lockScreenPictureConsentEnabled:t.clsHexImage===void 0,appNumber:t.installedApps.length,appStorageNumber:t.installedApps.filter(u=>u.data===void 0).length}},onDone:[{guard:({event:e})=>e.output.isLeft(),actions:a({_internalState:({event:e,context:t})=>({...t._internalState,error:e.output.extract()})}),target:"Error"},{guard:({event:e})=>e.output.extract()===T.REJECTED,actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!1})}),target:"Success"},{actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!0})}),target:"CheckBackedUpLanguage"}],onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckBackedUpLanguage:{always:[{guard:"hasBackedUpNonEnglishLanguage",target:"InstallLanguagePackage"},{target:"CheckIfDeviceIsOnboarded"}]},InstallLanguagePackage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallLanguagePackage})}),invoke:{src:"installLanguagePackage",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,language:g(e.input.backup.languageId)}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredLanguage:!0})})}),target:"CheckIfDeviceIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnboarded",target:"CheckAppsToReinstall"},{target:"Success"}]},CheckAppsToReinstall:{always:[{guard:"hasAppsToReinstall",target:"InstallOrUpdateApps"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},InstallOrUpdateApps:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallOrUpdateApps})}),invoke:{src:"installOrUpdateApps",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,applications:e.input.backup.installedApps.map(t=>({name:t.appName})),allowMissingApplication:!0}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?{...e.context._internalState,appsToRestoreStorage:[]}:{...e.context._internalState,error:t},Right:t=>{const u=new Set([...t.successfullyInstalled.map(i=>i.versionName),...t.alreadyInstalled]),{backup:A}=e.context.input;return{...e.context._internalState,restoredApps:e.context._internalState.restoredApps?.map(i=>({...i,restoredApp:u.has(i.appName)})),appsToRestoreStorage:A.installedApps.filter(i=>u.has(i.appName)&&i.data!==void 0)}}})}),target:"CheckInstallOrUpdateApps"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckInstallOrUpdateApps:{always:[{guard:"hasError",target:"Error"},{target:"RestoreAppsStorage"}]},RestoreAppsStorage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RestoreAppsStorage})}),invoke:{src:"restoreAppsStorage",input:({context:e})=>({backupApps:e._internalState.appsToRestoreStorage,isMasterConsentGranted:e._internalState.isMasterConsentGranted,unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,restoredApps:M(e.context._internalState.restoredApps,t)})})}),target:"CheckRestoreAppsStorage"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckRestoreAppsStorage:{always:[{guard:"hasError",target:"Error"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},CheckIfDeviceSupportCustomLockScreenFeature:{always:[{guard:"isCustomLockScreenFeatureSupported",target:"CheckBackedUpCustomLockScreen"},{target:"Success"}]},CheckBackedUpCustomLockScreen:{always:[{guard:"hasBackedUpCustomLockScreen",target:"UploadCustomLockScreen"},{target:"Success"}]},UploadCustomLockScreen:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.UploadCustomLockScreen})}),invoke:{src:"uploadCustomLockScreen",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,imageData:m(e.input.backup.clsHexImage)}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredCLS:!0})})}),target:"CheckUploadCustomLockScreen"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckUploadCustomLockScreen:{always:[{guard:"hasError",target:"Error"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.error!==null?E(e._internalState.error):C({restoredLanguage:e._internalState.restoredLanguage,restoredCLS:e._internalState.restoredCLS,restoredApps:e._internalState.restoredApps})})}}export{Y as RestoreBackupDeviceAction};
1
+ import{hexaStringToBuffer as m,isDashboardName as h,LANGUAGE_ID_TO_LANGUAGE as f,RefusedByUserDAError as D,UserInteractionRequired as c,XStateDeviceAction as R}from"@ledgerhq/device-management-kit";import{Left as C,Right as E}from"purify-ts";import{assign as a,fromPromise as k,setup as I}from"xstate";import{isMasterConsentSupported as v}from"../../../../command/OsUpdate/Restore/RequestMasterConsentCommand";import{isCustomLockScreenSupported as L}from"../../../../customLockScreenUtils/screenSpecs";import{getIsOnboarded as b}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded";import{installLanguagePackage as y}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage";import{installOrUpdateApps as x}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps";import{requestMasterConsent as B}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent";import{restoreAppsStorage as V}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage";import{uploadCustomLockScreenDevice as O}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen";import{RequestMasterConsentResult as T,RestoreBackupSteps as s}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/types";import{goToDashboard as U}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as M}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";const S="english",g=n=>n===void 0?void 0:f[n],l=n=>{const r=g(n);return r!==void 0&&r!==S},d=n=>n instanceof D,F=(n,r)=>n?.map(i=>{const o=r.find(e=>e.appName===i.appName);return o?{...i,restoredAppStorage:o.restoredAppStorage}:i});class Y extends R{makeStateMachine(r){const{backup:i,unlockTimeout:o}=this.input;return I({types:{input:{},output:{},context:{}},actors:{waitForAppAndVersion:M(r,o),goToDashboard:U(r,o),getIsOnboarded:k(b(r)),requestMasterConsent:k(B(r)),installLanguagePackage:y(r,o,g(i.languageId)??S),installOrUpdateApps:x(r,o,i.installedApps.map(e=>({name:e.appName}))),restoreAppsStorage:V(r,o),uploadCustomLockScreen:O(r,o,m(i.clsHexImage??"")??new Uint8Array(0))},guards:{isDeviceOnDashboard:({context:e})=>h(e._internalState.currentApp),isDeviceOnboarded:({context:e})=>e._internalState.isDeviceOnboarded,isMasterConsentFeatureSupported:()=>v(r.getDeviceModel().id),hasBackedUpNonEnglishLanguage:({context:e})=>l(e.input.backup.languageId),hasAppsToReinstall:({context:e})=>e.input.backup.installedApps.length>0,isCustomLockScreenFeatureSupported:()=>L(r.getDeviceModel().id),hasBackedUpCustomLockScreen:({context:e})=>e.input.backup.clsHexImage!==void 0,hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorFromEvent:a({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"RestoreBackupDeviceAction",initial:"WaitForAppAndVersion",context:({input:e})=>({input:{backup:e.backup,unlockTimeout:e.unlockTimeout},intermediateValue:{requiredUserInteraction:c.None,step:s.Idle},_internalState:{error:null,currentApp:null,isDeviceOnboarded:!1,isMasterConsentGranted:!1,restoredLanguage:l(e.backup.languageId)?!1:void 0,restoredCLS:e.backup.clsHexImage!==void 0?!1:void 0,restoredApps:e.backup.installedApps.length>0?e.backup.installedApps.map(t=>({appName:t.appName,restoredApp:!1,restoredAppStorage:t.data!==void 0?!1:void 0})):void 0,appsToRestoreStorage:[]}}),states:{WaitForAppAndVersion:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.WaitForAppAndVersion})}),invoke:{src:"waitForAppAndVersion",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,currentApp:t.name})})}),target:"CheckIfDeviceIsOnDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnDashboard:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnDashboard",target:"GetIsOnboarded"},{target:"GoToDashboard"}]},GoToDashboard:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GoToDashboard})}),invoke:{src:"goToDashboard",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:()=>e.context._internalState})}),target:"CheckGoToDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGoToDashboard:{always:[{guard:"hasError",target:"Error"},{target:"WaitForAppAndVersion"}]},GetIsOnboarded:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GetIsOnboarded})}),invoke:{src:"getIsOnboarded",onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:({isDeviceOnboarded:t})=>({...e.context._internalState,isDeviceOnboarded:t})})}),target:"CheckGetIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGetIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isMasterConsentFeatureSupported",target:"RequestMasterConsent"},{target:"CheckBackedUpLanguage"}]},RequestMasterConsent:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RequestMasterConsent,requiredUserInteraction:c.GrantConsent})}),exit:a({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.None})}),invoke:{src:"requestMasterConsent",input:({context:e})=>{const{backup:t}=e.input;return{languagePackConsentEnabled:!l(t.languageId),lockScreenPictureConsentEnabled:t.clsHexImage===void 0,appNumber:t.installedApps.length,appStorageNumber:t.installedApps.filter(u=>u.data===void 0).length}},onDone:[{guard:({event:e})=>e.output.isLeft(),actions:a({_internalState:({event:e,context:t})=>({...t._internalState,error:e.output.extract()})}),target:"Error"},{guard:({event:e})=>e.output.extract()===T.REJECTED,actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!1})}),target:"Success"},{actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!0})}),target:"CheckBackedUpLanguage"}],onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckBackedUpLanguage:{always:[{guard:"hasBackedUpNonEnglishLanguage",target:"InstallLanguagePackage"},{target:"CheckIfDeviceIsOnboarded"}]},InstallLanguagePackage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallLanguagePackage})}),invoke:{src:"installLanguagePackage",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,language:g(e.input.backup.languageId)}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredLanguage:!0})})}),target:"CheckIfDeviceIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnboarded",target:"CheckAppsToReinstall"},{target:"Success"}]},CheckAppsToReinstall:{always:[{guard:"hasAppsToReinstall",target:"InstallOrUpdateApps"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},InstallOrUpdateApps:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallOrUpdateApps})}),invoke:{src:"installOrUpdateApps",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,applications:e.input.backup.installedApps.map(t=>({name:t.appName})),allowMissingApplication:!0}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?{...e.context._internalState,appsToRestoreStorage:[]}:{...e.context._internalState,error:t},Right:t=>{const u=new Set([...t.successfullyInstalled.map(p=>p.versionName),...t.alreadyInstalled]),{backup:A}=e.context.input;return{...e.context._internalState,restoredApps:e.context._internalState.restoredApps?.map(p=>({...p,restoredApp:u.has(p.appName)})),appsToRestoreStorage:A.installedApps.filter(p=>u.has(p.appName)&&p.data!==void 0)}}})}),target:"CheckInstallOrUpdateApps"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckInstallOrUpdateApps:{always:[{guard:"hasError",target:"Error"},{target:"RestoreAppsStorage"}]},RestoreAppsStorage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RestoreAppsStorage})}),invoke:{src:"restoreAppsStorage",input:({context:e})=>({backupApps:e._internalState.appsToRestoreStorage,isMasterConsentGranted:e._internalState.isMasterConsentGranted,unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,restoredApps:F(e.context._internalState.restoredApps,t)})})}),target:"CheckRestoreAppsStorage"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckRestoreAppsStorage:{always:[{guard:"hasError",target:"Error"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},CheckIfDeviceSupportCustomLockScreenFeature:{always:[{guard:"isCustomLockScreenFeatureSupported",target:"CheckBackedUpCustomLockScreen"},{target:"Success"}]},CheckBackedUpCustomLockScreen:{always:[{guard:"hasBackedUpCustomLockScreen",target:"UploadCustomLockScreen"},{target:"Success"}]},UploadCustomLockScreen:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.UploadCustomLockScreen})}),invoke:{src:"uploadCustomLockScreen",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,imageData:m(e.input.backup.clsHexImage)}),onSnapshot:{actions:a({intermediateValue:e=>{const{intermediateValue:t}=e.event.snapshot.context,u=e.context._internalState.isMasterConsentGranted&&(t.requiredUserInteraction===c.ConfirmLoadImage||t.requiredUserInteraction===c.ConfirmCommitImage);return{...t,...u?{requiredUserInteraction:c.None}:{},step:e.context.intermediateValue.step}}})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredCLS:!0})})}),target:"CheckUploadCustomLockScreen"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckUploadCustomLockScreen:{always:[{guard:"hasError",target:"Error"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.error!==null?C(e._internalState.error):E({restoredLanguage:e._internalState.restoredLanguage,restoredCLS:e._internalState.restoredCLS,restoredApps:e._internalState.restoredApps})})}}export{Y as RestoreBackupDeviceAction};
2
2
  //# sourceMappingURL=RestoreBackupDeviceAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.ts"],
4
- "sourcesContent": ["import {\n type ApplicationDependency,\n type DeviceActionStateMachine,\n hexaStringToBuffer,\n type InternalApi,\n isDashboardName,\n type Language,\n LANGUAGE_ID_TO_LANGUAGE,\n RefusedByUserDAError,\n type StateMachineTypes,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport { isMasterConsentSupported } from \"@api/command/OsUpdate/Restore/RequestMasterConsentCommand\";\nimport { isCustomLockScreenSupported } from \"@api/customLockScreenUtils/screenSpecs\";\nimport { type BackupApp } from \"@api/device-action/OsUpdate/Backup/types\";\nimport { type RestoreAppStorageResult } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nimport { getIsOnboarded } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded\";\nimport { installLanguagePackage } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage\";\nimport { installOrUpdateApps } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps\";\nimport { requestMasterConsent } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent\";\nimport { restoreAppsStorage } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage\";\nimport { uploadCustomLockScreenDevice } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen\";\nimport {\n RequestMasterConsentResult,\n type RestoreAppResult,\n type RestoreBackupDAError,\n type RestoreBackupDAInput,\n type RestoreBackupDAIntermediateValue,\n type RestoreBackupDAInternalState,\n type RestoreBackupDAOutput,\n RestoreBackupSteps,\n} from \"@api/device-action/OsUpdate/Restore/RestoreBackup/types\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\n\nconst DEFAULT_LANGUAGE = \"english\";\n\nconst langIdToLanguage = (\n languageId: number | undefined,\n): Language | undefined =>\n languageId === undefined ? undefined : LANGUAGE_ID_TO_LANGUAGE[languageId];\n\nconst hasBackedUpNonEnglishLanguage = (languageId: number | undefined) => {\n const language = langIdToLanguage(languageId);\n return language !== undefined && language !== DEFAULT_LANGUAGE;\n};\n\nconst isRefusedByUser = (error: unknown): boolean =>\n error instanceof RefusedByUserDAError;\n\nconst mergeAppsStorageResults = (\n restoredApps: RestoreAppResult[] | undefined,\n appsStorageResults: RestoreAppStorageResult[],\n): RestoreAppResult[] | undefined =>\n restoredApps?.map((restoredApp) => {\n const appStorageResult = appsStorageResults.find(\n (storageResult) => storageResult.appName === restoredApp.appName,\n );\n return appStorageResult\n ? {\n ...restoredApp,\n restoredAppStorage: appStorageResult.restoredAppStorage,\n }\n : restoredApp;\n });\n\nexport class RestoreBackupDeviceAction extends XStateDeviceAction<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n> {\n protected override makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n > {\n type types = StateMachineTypes<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n >;\n\n const { backup, unlockTimeout } = this.input;\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n output: {} as types[\"output\"],\n context: {} as types[\"context\"],\n } as types,\n actors: {\n waitForAppAndVersion: waitForAppAndVersion(internalAPI, unlockTimeout),\n goToDashboard: goToDashboard(internalAPI, unlockTimeout),\n getIsOnboarded: fromPromise(getIsOnboarded(internalAPI)),\n requestMasterConsent: fromPromise(requestMasterConsent(internalAPI)),\n installLanguagePackage: installLanguagePackage(\n internalAPI,\n unlockTimeout,\n langIdToLanguage(backup.languageId) ?? DEFAULT_LANGUAGE,\n ),\n installOrUpdateApps: installOrUpdateApps(\n internalAPI,\n unlockTimeout,\n backup.installedApps.map(\n (app): ApplicationDependency => ({ name: app.appName }),\n ),\n ),\n restoreAppsStorage: restoreAppsStorage(internalAPI, unlockTimeout),\n uploadCustomLockScreen: uploadCustomLockScreenDevice(\n internalAPI,\n unlockTimeout,\n hexaStringToBuffer(backup.clsHexImage ?? \"\") ?? new Uint8Array(0),\n ),\n },\n guards: {\n isDeviceOnDashboard: ({ context }) =>\n isDashboardName(context._internalState.currentApp),\n isDeviceOnboarded: ({ context }) =>\n context._internalState.isDeviceOnboarded,\n isMasterConsentFeatureSupported: () =>\n isMasterConsentSupported(internalAPI.getDeviceModel().id),\n hasBackedUpNonEnglishLanguage: ({ context }) =>\n hasBackedUpNonEnglishLanguage(context.input.backup.languageId),\n hasAppsToReinstall: ({ context }) =>\n context.input.backup.installedApps.length > 0,\n isCustomLockScreenFeatureSupported: () =>\n isCustomLockScreenSupported(internalAPI.getDeviceModel().id),\n hasBackedUpCustomLockScreen: ({ context }) =>\n context.input.backup.clsHexImage !== undefined,\n hasError: ({ context }) => context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: should never happen\n }),\n }),\n },\n }).createMachine({\n id: \"RestoreBackupDeviceAction\",\n initial: \"WaitForAppAndVersion\",\n context: ({ input }) => ({\n input: {\n backup: input.backup,\n unlockTimeout: input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: RestoreBackupSteps.Idle,\n },\n _internalState: {\n error: null,\n currentApp: null,\n isDeviceOnboarded: false,\n isMasterConsentGranted: false,\n restoredLanguage: hasBackedUpNonEnglishLanguage(\n input.backup.languageId,\n )\n ? false\n : undefined,\n restoredCLS:\n input.backup.clsHexImage !== undefined ? false : undefined,\n restoredApps:\n input.backup.installedApps.length > 0\n ? input.backup.installedApps.map(\n (app): RestoreAppResult => ({\n appName: app.appName,\n restoredApp: false,\n restoredAppStorage:\n app.data !== undefined ? false : undefined,\n }),\n )\n : undefined,\n appsToRestoreStorage: [],\n },\n }),\n states: {\n WaitForAppAndVersion: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.WaitForAppAndVersion,\n }),\n }),\n invoke: {\n src: \"waitForAppAndVersion\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: (output) => ({\n ..._.context._internalState,\n currentApp: output.name,\n }),\n });\n },\n }),\n target: \"CheckIfDeviceIsOnDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckIfDeviceIsOnDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDeviceOnDashboard\",\n target: \"GetIsOnboarded\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.GoToDashboard,\n }),\n }),\n invoke: {\n src: \"goToDashboard\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: () => _.context._internalState,\n });\n },\n }),\n target: \"CheckGoToDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckGoToDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"WaitForAppAndVersion\",\n },\n ],\n },\n GetIsOnboarded: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.GetIsOnboarded,\n }),\n }),\n invoke: {\n src: \"getIsOnboarded\",\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: ({ isDeviceOnboarded }) => ({\n ..._.context._internalState,\n isDeviceOnboarded,\n }),\n });\n },\n }),\n target: \"CheckGetIsOnboarded\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckGetIsOnboarded: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isMasterConsentFeatureSupported\",\n target: \"RequestMasterConsent\",\n },\n {\n target: \"CheckBackedUpLanguage\",\n },\n ],\n },\n RequestMasterConsent: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.RequestMasterConsent,\n requiredUserInteraction: UserInteractionRequired.GrantConsent,\n }),\n }),\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n src: \"requestMasterConsent\",\n input: ({ context }) => {\n const { backup: contextBackup } = context.input;\n return {\n languagePackConsentEnabled: !hasBackedUpNonEnglishLanguage(\n contextBackup.languageId,\n ),\n lockScreenPictureConsentEnabled:\n contextBackup.clsHexImage === undefined,\n appNumber: contextBackup.installedApps.length,\n appStorageNumber: contextBackup.installedApps.filter(\n (app) => app.data === undefined,\n ).length,\n };\n },\n onDone: [\n {\n guard: ({ event }) => event.output.isLeft(),\n actions: assign({\n _internalState: ({ event, context }) => ({\n ...context._internalState,\n error: event.output.extract() as RestoreBackupDAError,\n }),\n }),\n target: \"Error\",\n },\n {\n guard: ({ event }) =>\n event.output.extract() ===\n RequestMasterConsentResult.REJECTED,\n actions: assign({\n _internalState: ({ context }) => ({\n ...context._internalState,\n isMasterConsentGranted: false,\n }),\n }),\n target: \"Success\",\n },\n {\n actions: assign({\n _internalState: ({ context }) => ({\n ...context._internalState,\n isMasterConsentGranted: true,\n }),\n }),\n target: \"CheckBackedUpLanguage\",\n },\n ],\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckBackedUpLanguage: {\n always: [\n {\n guard: \"hasBackedUpNonEnglishLanguage\",\n target: \"InstallLanguagePackage\",\n },\n {\n target: \"CheckIfDeviceIsOnboarded\",\n },\n ],\n },\n InstallLanguagePackage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.InstallLanguagePackage,\n }),\n }),\n invoke: {\n src: \"installLanguagePackage\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n language: langIdToLanguage(context.input.backup.languageId)!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? _.context._internalState\n : { ..._.context._internalState, error },\n Right: () => ({\n ..._.context._internalState,\n restoredLanguage: true,\n }),\n });\n },\n }),\n target: \"CheckIfDeviceIsOnboarded\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckIfDeviceIsOnboarded: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDeviceOnboarded\",\n target: \"CheckAppsToReinstall\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n CheckAppsToReinstall: {\n always: [\n {\n guard: \"hasAppsToReinstall\",\n target: \"InstallOrUpdateApps\",\n },\n {\n target: \"CheckIfDeviceSupportCustomLockScreenFeature\",\n },\n ],\n },\n InstallOrUpdateApps: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.InstallOrUpdateApps,\n }),\n }),\n invoke: {\n src: \"installOrUpdateApps\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n applications: context.input.backup.installedApps.map(\n (app): ApplicationDependency => ({ name: app.appName }),\n ),\n allowMissingApplication: true,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? {\n ..._.context._internalState,\n appsToRestoreStorage: [],\n }\n : { ..._.context._internalState, error },\n Right: (output) => {\n const installedAppNames = new Set([\n ...output.successfullyInstalled.map(\n (installedApp) => installedApp.versionName,\n ),\n ...output.alreadyInstalled,\n ]);\n const { backup: contextBackup } = _.context.input;\n return {\n ..._.context._internalState,\n restoredApps:\n _.context._internalState.restoredApps?.map(\n (result): RestoreAppResult => ({\n ...result,\n restoredApp: installedAppNames.has(\n result.appName,\n ),\n }),\n ),\n appsToRestoreStorage:\n contextBackup.installedApps.filter(\n (app: BackupApp) =>\n installedAppNames.has(app.appName) &&\n app.data !== undefined,\n ),\n };\n },\n });\n },\n }),\n target: \"CheckInstallOrUpdateApps\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckInstallOrUpdateApps: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"RestoreAppsStorage\",\n },\n ],\n },\n RestoreAppsStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.RestoreAppsStorage,\n }),\n }),\n invoke: {\n src: \"restoreAppsStorage\",\n input: ({ context }) => ({\n backupApps: context._internalState.appsToRestoreStorage,\n isMasterConsentGranted:\n context._internalState.isMasterConsentGranted,\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: (appsStorageResults) => ({\n ..._.context._internalState,\n restoredApps: mergeAppsStorageResults(\n _.context._internalState.restoredApps,\n appsStorageResults,\n ),\n }),\n });\n },\n }),\n target: \"CheckRestoreAppsStorage\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckRestoreAppsStorage: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"CheckIfDeviceSupportCustomLockScreenFeature\",\n },\n ],\n },\n CheckIfDeviceSupportCustomLockScreenFeature: {\n always: [\n {\n guard: \"isCustomLockScreenFeatureSupported\",\n target: \"CheckBackedUpCustomLockScreen\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n CheckBackedUpCustomLockScreen: {\n always: [\n {\n guard: \"hasBackedUpCustomLockScreen\",\n target: \"UploadCustomLockScreen\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n UploadCustomLockScreen: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.UploadCustomLockScreen,\n }),\n }),\n invoke: {\n src: \"uploadCustomLockScreen\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n imageData: hexaStringToBuffer(context.input.backup.clsHexImage!)!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? _.context._internalState\n : { ..._.context._internalState, error },\n Right: () => ({\n ..._.context._internalState,\n restoredCLS: true,\n }),\n });\n },\n }),\n target: \"CheckUploadCustomLockScreen\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckUploadCustomLockScreen: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) => {\n if (context._internalState.error !== null) {\n return Left(context._internalState.error);\n }\n return Right({\n restoredLanguage: context._internalState.restoredLanguage,\n restoredCLS: context._internalState.restoredCLS,\n restoredApps: context._internalState.restoredApps,\n });\n },\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["hexaStringToBuffer", "isDashboardName", "LANGUAGE_ID_TO_LANGUAGE", "RefusedByUserDAError", "UserInteractionRequired", "XStateDeviceAction", "Left", "Right", "assign", "fromPromise", "setup", "isMasterConsentSupported", "isCustomLockScreenSupported", "getIsOnboarded", "installLanguagePackage", "installOrUpdateApps", "requestMasterConsent", "restoreAppsStorage", "uploadCustomLockScreenDevice", "RequestMasterConsentResult", "RestoreBackupSteps", "goToDashboard", "waitForAppAndVersion", "DEFAULT_LANGUAGE", "langIdToLanguage", "languageId", "hasBackedUpNonEnglishLanguage", "language", "isRefusedByUser", "error", "mergeAppsStorageResults", "restoredApps", "appsStorageResults", "restoredApp", "appStorageResult", "storageResult", "RestoreBackupDeviceAction", "internalAPI", "backup", "unlockTimeout", "app", "context", "_", "input", "output", "isDeviceOnboarded", "contextBackup", "event", "installedAppNames", "installedApp", "result"]
4
+ "sourcesContent": ["import {\n type ApplicationDependency,\n type DeviceActionStateMachine,\n hexaStringToBuffer,\n type InternalApi,\n isDashboardName,\n type Language,\n LANGUAGE_ID_TO_LANGUAGE,\n RefusedByUserDAError,\n type StateMachineTypes,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport { isMasterConsentSupported } from \"@api/command/OsUpdate/Restore/RequestMasterConsentCommand\";\nimport { isCustomLockScreenSupported } from \"@api/customLockScreenUtils/screenSpecs\";\nimport { type BackupApp } from \"@api/device-action/OsUpdate/Backup/types\";\nimport { type RestoreAppStorageResult } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nimport { getIsOnboarded } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded\";\nimport { installLanguagePackage } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage\";\nimport { installOrUpdateApps } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps\";\nimport { requestMasterConsent } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent\";\nimport { restoreAppsStorage } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage\";\nimport { uploadCustomLockScreenDevice } from \"@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen\";\nimport {\n RequestMasterConsentResult,\n type RestoreAppResult,\n type RestoreBackupDAError,\n type RestoreBackupDAInput,\n type RestoreBackupDAIntermediateValue,\n type RestoreBackupDAInternalState,\n type RestoreBackupDAOutput,\n RestoreBackupSteps,\n} from \"@api/device-action/OsUpdate/Restore/RestoreBackup/types\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\n\nconst DEFAULT_LANGUAGE = \"english\";\n\nconst langIdToLanguage = (\n languageId: number | undefined,\n): Language | undefined =>\n languageId === undefined ? undefined : LANGUAGE_ID_TO_LANGUAGE[languageId];\n\nconst hasBackedUpNonEnglishLanguage = (languageId: number | undefined) => {\n const language = langIdToLanguage(languageId);\n return language !== undefined && language !== DEFAULT_LANGUAGE;\n};\n\nconst isRefusedByUser = (error: unknown): boolean =>\n error instanceof RefusedByUserDAError;\n\nconst mergeAppsStorageResults = (\n restoredApps: RestoreAppResult[] | undefined,\n appsStorageResults: RestoreAppStorageResult[],\n): RestoreAppResult[] | undefined =>\n restoredApps?.map((restoredApp) => {\n const appStorageResult = appsStorageResults.find(\n (storageResult) => storageResult.appName === restoredApp.appName,\n );\n return appStorageResult\n ? {\n ...restoredApp,\n restoredAppStorage: appStorageResult.restoredAppStorage,\n }\n : restoredApp;\n });\n\nexport class RestoreBackupDeviceAction extends XStateDeviceAction<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n> {\n protected override makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n > {\n type types = StateMachineTypes<\n RestoreBackupDAOutput,\n RestoreBackupDAInput,\n RestoreBackupDAError,\n RestoreBackupDAIntermediateValue,\n RestoreBackupDAInternalState\n >;\n\n const { backup, unlockTimeout } = this.input;\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n output: {} as types[\"output\"],\n context: {} as types[\"context\"],\n } as types,\n actors: {\n waitForAppAndVersion: waitForAppAndVersion(internalAPI, unlockTimeout),\n goToDashboard: goToDashboard(internalAPI, unlockTimeout),\n getIsOnboarded: fromPromise(getIsOnboarded(internalAPI)),\n requestMasterConsent: fromPromise(requestMasterConsent(internalAPI)),\n installLanguagePackage: installLanguagePackage(\n internalAPI,\n unlockTimeout,\n langIdToLanguage(backup.languageId) ?? DEFAULT_LANGUAGE,\n ),\n installOrUpdateApps: installOrUpdateApps(\n internalAPI,\n unlockTimeout,\n backup.installedApps.map(\n (app): ApplicationDependency => ({ name: app.appName }),\n ),\n ),\n restoreAppsStorage: restoreAppsStorage(internalAPI, unlockTimeout),\n uploadCustomLockScreen: uploadCustomLockScreenDevice(\n internalAPI,\n unlockTimeout,\n hexaStringToBuffer(backup.clsHexImage ?? \"\") ?? new Uint8Array(0),\n ),\n },\n guards: {\n isDeviceOnDashboard: ({ context }) =>\n isDashboardName(context._internalState.currentApp),\n isDeviceOnboarded: ({ context }) =>\n context._internalState.isDeviceOnboarded,\n isMasterConsentFeatureSupported: () =>\n isMasterConsentSupported(internalAPI.getDeviceModel().id),\n hasBackedUpNonEnglishLanguage: ({ context }) =>\n hasBackedUpNonEnglishLanguage(context.input.backup.languageId),\n hasAppsToReinstall: ({ context }) =>\n context.input.backup.installedApps.length > 0,\n isCustomLockScreenFeatureSupported: () =>\n isCustomLockScreenSupported(internalAPI.getDeviceModel().id),\n hasBackedUpCustomLockScreen: ({ context }) =>\n context.input.backup.clsHexImage !== undefined,\n hasError: ({ context }) => context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: should never happen\n }),\n }),\n },\n }).createMachine({\n id: \"RestoreBackupDeviceAction\",\n initial: \"WaitForAppAndVersion\",\n context: ({ input }) => ({\n input: {\n backup: input.backup,\n unlockTimeout: input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: RestoreBackupSteps.Idle,\n },\n _internalState: {\n error: null,\n currentApp: null,\n isDeviceOnboarded: false,\n isMasterConsentGranted: false,\n restoredLanguage: hasBackedUpNonEnglishLanguage(\n input.backup.languageId,\n )\n ? false\n : undefined,\n restoredCLS:\n input.backup.clsHexImage !== undefined ? false : undefined,\n restoredApps:\n input.backup.installedApps.length > 0\n ? input.backup.installedApps.map(\n (app): RestoreAppResult => ({\n appName: app.appName,\n restoredApp: false,\n restoredAppStorage:\n app.data !== undefined ? false : undefined,\n }),\n )\n : undefined,\n appsToRestoreStorage: [],\n },\n }),\n states: {\n WaitForAppAndVersion: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.WaitForAppAndVersion,\n }),\n }),\n invoke: {\n src: \"waitForAppAndVersion\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: (output) => ({\n ..._.context._internalState,\n currentApp: output.name,\n }),\n });\n },\n }),\n target: \"CheckIfDeviceIsOnDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckIfDeviceIsOnDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDeviceOnDashboard\",\n target: \"GetIsOnboarded\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.GoToDashboard,\n }),\n }),\n invoke: {\n src: \"goToDashboard\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: () => _.context._internalState,\n });\n },\n }),\n target: \"CheckGoToDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckGoToDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"WaitForAppAndVersion\",\n },\n ],\n },\n GetIsOnboarded: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.GetIsOnboarded,\n }),\n }),\n invoke: {\n src: \"getIsOnboarded\",\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: ({ isDeviceOnboarded }) => ({\n ..._.context._internalState,\n isDeviceOnboarded,\n }),\n });\n },\n }),\n target: \"CheckGetIsOnboarded\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckGetIsOnboarded: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isMasterConsentFeatureSupported\",\n target: \"RequestMasterConsent\",\n },\n {\n target: \"CheckBackedUpLanguage\",\n },\n ],\n },\n RequestMasterConsent: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.RequestMasterConsent,\n requiredUserInteraction: UserInteractionRequired.GrantConsent,\n }),\n }),\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n src: \"requestMasterConsent\",\n input: ({ context }) => {\n const { backup: contextBackup } = context.input;\n return {\n languagePackConsentEnabled: !hasBackedUpNonEnglishLanguage(\n contextBackup.languageId,\n ),\n lockScreenPictureConsentEnabled:\n contextBackup.clsHexImage === undefined,\n appNumber: contextBackup.installedApps.length,\n appStorageNumber: contextBackup.installedApps.filter(\n (app) => app.data === undefined,\n ).length,\n };\n },\n onDone: [\n {\n guard: ({ event }) => event.output.isLeft(),\n actions: assign({\n _internalState: ({ event, context }) => ({\n ...context._internalState,\n error: event.output.extract() as RestoreBackupDAError,\n }),\n }),\n target: \"Error\",\n },\n {\n guard: ({ event }) =>\n event.output.extract() ===\n RequestMasterConsentResult.REJECTED,\n actions: assign({\n _internalState: ({ context }) => ({\n ...context._internalState,\n isMasterConsentGranted: false,\n }),\n }),\n target: \"Success\",\n },\n {\n actions: assign({\n _internalState: ({ context }) => ({\n ...context._internalState,\n isMasterConsentGranted: true,\n }),\n }),\n target: \"CheckBackedUpLanguage\",\n },\n ],\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckBackedUpLanguage: {\n always: [\n {\n guard: \"hasBackedUpNonEnglishLanguage\",\n target: \"InstallLanguagePackage\",\n },\n {\n target: \"CheckIfDeviceIsOnboarded\",\n },\n ],\n },\n InstallLanguagePackage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.InstallLanguagePackage,\n }),\n }),\n invoke: {\n src: \"installLanguagePackage\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n language: langIdToLanguage(context.input.backup.languageId)!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? _.context._internalState\n : { ..._.context._internalState, error },\n Right: () => ({\n ..._.context._internalState,\n restoredLanguage: true,\n }),\n });\n },\n }),\n target: \"CheckIfDeviceIsOnboarded\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckIfDeviceIsOnboarded: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDeviceOnboarded\",\n target: \"CheckAppsToReinstall\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n CheckAppsToReinstall: {\n always: [\n {\n guard: \"hasAppsToReinstall\",\n target: \"InstallOrUpdateApps\",\n },\n {\n target: \"CheckIfDeviceSupportCustomLockScreenFeature\",\n },\n ],\n },\n InstallOrUpdateApps: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.InstallOrUpdateApps,\n }),\n }),\n invoke: {\n src: \"installOrUpdateApps\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n applications: context.input.backup.installedApps.map(\n (app): ApplicationDependency => ({ name: app.appName }),\n ),\n allowMissingApplication: true,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? {\n ..._.context._internalState,\n appsToRestoreStorage: [],\n }\n : { ..._.context._internalState, error },\n Right: (output) => {\n const installedAppNames = new Set([\n ...output.successfullyInstalled.map(\n (installedApp) => installedApp.versionName,\n ),\n ...output.alreadyInstalled,\n ]);\n const { backup: contextBackup } = _.context.input;\n return {\n ..._.context._internalState,\n restoredApps:\n _.context._internalState.restoredApps?.map(\n (result): RestoreAppResult => ({\n ...result,\n restoredApp: installedAppNames.has(\n result.appName,\n ),\n }),\n ),\n appsToRestoreStorage:\n contextBackup.installedApps.filter(\n (app: BackupApp) =>\n installedAppNames.has(app.appName) &&\n app.data !== undefined,\n ),\n };\n },\n });\n },\n }),\n target: \"CheckInstallOrUpdateApps\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckInstallOrUpdateApps: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"RestoreAppsStorage\",\n },\n ],\n },\n RestoreAppsStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.RestoreAppsStorage,\n }),\n }),\n invoke: {\n src: \"restoreAppsStorage\",\n input: ({ context }) => ({\n backupApps: context._internalState.appsToRestoreStorage,\n isMasterConsentGranted:\n context._internalState.isMasterConsentGranted,\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: (appsStorageResults) => ({\n ..._.context._internalState,\n restoredApps: mergeAppsStorageResults(\n _.context._internalState.restoredApps,\n appsStorageResults,\n ),\n }),\n });\n },\n }),\n target: \"CheckRestoreAppsStorage\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckRestoreAppsStorage: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"CheckIfDeviceSupportCustomLockScreenFeature\",\n },\n ],\n },\n CheckIfDeviceSupportCustomLockScreenFeature: {\n always: [\n {\n guard: \"isCustomLockScreenFeatureSupported\",\n target: \"CheckBackedUpCustomLockScreen\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n CheckBackedUpCustomLockScreen: {\n always: [\n {\n guard: \"hasBackedUpCustomLockScreen\",\n target: \"UploadCustomLockScreen\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n UploadCustomLockScreen: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreBackupSteps.UploadCustomLockScreen,\n }),\n }),\n invoke: {\n src: \"uploadCustomLockScreen\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n imageData: hexaStringToBuffer(context.input.backup.clsHexImage!)!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n const { intermediateValue } = _.event.snapshot.context;\n // With master consent granted, the user already approved the restore:\n // do not forward the hardcoded confirm load/commit image\n // interactions, but keep any other required interaction.\n const shouldHideInteraction =\n _.context._internalState.isMasterConsentGranted &&\n (intermediateValue.requiredUserInteraction ===\n UserInteractionRequired.ConfirmLoadImage ||\n intermediateValue.requiredUserInteraction ===\n UserInteractionRequired.ConfirmCommitImage);\n return {\n ...intermediateValue,\n ...(shouldHideInteraction\n ? {\n requiredUserInteraction: UserInteractionRequired.None,\n }\n : {}),\n step: _.context.intermediateValue.step,\n };\n },\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreBackupDAInternalState>({\n Left: (error) =>\n isRefusedByUser(error)\n ? _.context._internalState\n : { ..._.context._internalState, error },\n Right: () => ({\n ..._.context._internalState,\n restoredCLS: true,\n }),\n });\n },\n }),\n target: \"CheckUploadCustomLockScreen\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckUploadCustomLockScreen: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) => {\n if (context._internalState.error !== null) {\n return Left(context._internalState.error);\n }\n return Right({\n restoredLanguage: context._internalState.restoredLanguage,\n restoredCLS: context._internalState.restoredCLS,\n restoredApps: context._internalState.restoredApps,\n });\n },\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["hexaStringToBuffer", "isDashboardName", "LANGUAGE_ID_TO_LANGUAGE", "RefusedByUserDAError", "UserInteractionRequired", "XStateDeviceAction", "Left", "Right", "assign", "fromPromise", "setup", "isMasterConsentSupported", "isCustomLockScreenSupported", "getIsOnboarded", "installLanguagePackage", "installOrUpdateApps", "requestMasterConsent", "restoreAppsStorage", "uploadCustomLockScreenDevice", "RequestMasterConsentResult", "RestoreBackupSteps", "goToDashboard", "waitForAppAndVersion", "DEFAULT_LANGUAGE", "langIdToLanguage", "languageId", "hasBackedUpNonEnglishLanguage", "language", "isRefusedByUser", "error", "mergeAppsStorageResults", "restoredApps", "appsStorageResults", "restoredApp", "appStorageResult", "storageResult", "RestoreBackupDeviceAction", "internalAPI", "backup", "unlockTimeout", "app", "context", "_", "input", "output", "isDeviceOnboarded", "contextBackup", "event", "installedAppNames", "installedApp", "result", "intermediateValue", "shouldHideInteraction"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceActionStatus as E,DeviceModelId as A,RefusedByUserDAError as O,UnknownDAError as I,UserInteractionRequired as m}from"@ledgerhq/device-management-kit";import{Left as S,Right as u}from"purify-ts";import{assign as W,createMachine as T}from"xstate";import{makeDeviceActionInternalApiMock as a}from"../../../../device-action/__test-utils__/makeInternalApi";import{testDeviceActionStates as i}from"../../../../device-action/__test-utils__/testDeviceActionStates";import{RestoreBackupDeviceAction as G}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction";import{GetIsOnboardedError as x,RequestMasterConsentError as M}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors";import{getIsOnboarded as P}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded";import{installLanguagePackage as q}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage";import{installOrUpdateApps as N}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps";import{requestMasterConsent as X}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent";import{restoreAppsStorage as H}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage";import{uploadCustomLockScreenDevice as _}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen";import{RequestMasterConsentResult as F,RestoreBackupSteps as e}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/types";import{goToDashboard as j}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as V}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";vi.mock("@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion");vi.mock("@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen");const t=(k,p=m.None)=>({status:E.Pending,intermediateValue:{requiredUserInteraction:p,step:k}}),f=k=>({status:E.Completed,output:k}),w=k=>({status:E.Error,error:k}),y=k=>T({initial:"ready",states:{ready:{after:{0:"done"},entry:W({intermediateValue:()=>({requiredUserInteraction:m.None})})},done:{type:"final"}},output:k}),D=k=>y(()=>k),R=(k={})=>({languageId:void 0,installedApps:[],clsHexImage:void 0,createdAt:new Date,...k});describe("RestoreBackupDeviceAction",()=>{const{getDeviceModel:k}=a();beforeEach(()=>{vi.resetAllMocks()});const p=(o="BOLOS")=>vi.mocked(V).mockReturnValue(D(u({name:o,version:"1.0.0"}))),U=o=>{const r=[...o];vi.mocked(V).mockReturnValue(y(()=>u({name:r.shift()??"BOLOS",version:"1.0.0"})))},B=(o=u(void 0))=>vi.mocked(j).mockReturnValue(D(o)),c=(o=u({isDeviceOnboarded:!0}))=>vi.mocked(P).mockReturnValue(()=>Promise.resolve(o)),g=(o=u(F.GRANTED))=>vi.mocked(X).mockReturnValue(()=>Promise.resolve(o)),b=(o=u(void 0))=>vi.mocked(q).mockReturnValue(D(o)),C=(o=u({successfullyInstalled:[],alreadyInstalled:[],missingApplications:[]}))=>vi.mocked(N).mockReturnValue(D(o)),L=(o=u([]))=>vi.mocked(H).mockReturnValue(D(o)),v=(o=u(void 0))=>vi.mocked(_).mockReturnValue(D(o)),l=o=>k.mockReturnValue({id:o}),d=(o=R())=>new G({input:{backup:o,unlockTimeout:3e4}});describe("Success",()=>{it("should complete the full restore flow when everything succeeds",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(),b(),C(u({successfullyInstalled:[{versionName:"App1"}],alreadyInstalled:[],missingApplications:[]})),L(u([{appName:"App1",restoredAppStorage:!0}])),v();const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),f({restoredLanguage:!0,restoredCLS:!0,restoredApps:[{appName:"App1",restoredApp:!0,restoredAppStorage:!0}]})];i(d(n),s,a(),{onDone:o,onError:r})})),it("should go to dashboard and wait for app and version again when an app is open",()=>new Promise((o,r)=>{U(["Bitcoin","BOLOS"]),B(),c(),l(A.NANO_X);const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GoToDashboard),t(e.GoToDashboard),t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),f({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];i(d(),n,a(),{onDone:o,onError:r})})),it("should still restore the language pack but skip app/storage/CLS steps when device is not onboarded",()=>new Promise((o,r)=>{p(),c(u({isDeviceOnboarded:!1})),l(A.STAX),g(),b();const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),f({restoredLanguage:!0,restoredCLS:!1,restoredApps:[{appName:"App1",restoredApp:!1,restoredAppStorage:!1}]})];i(d(n),s,a(),{onDone:o,onError:r})})),it("should skip RequestMasterConsent when the device does not support the feature",()=>new Promise((o,r)=>{p(),c(),l(A.NANO_X),g();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),f({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];i(d(),n,a(),{onDone:o,onError:r})})),it("should stop and complete immediately when master consent is rejected by the user",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(u(F.REJECTED)),b();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),f({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];i(d(),n,a(),{onDone:o,onError:r})})),it("should skip InstallOrUpdateApps and RestoreAppsStorage when the backup has no app",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(),v(),C(),L();const n=R({clsHexImage:"0x0102"}),s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),f({restoredLanguage:void 0,restoredCLS:!0,restoredApps:void 0})];i(d(n),s,a(),{onDone:o,onError:r})})),it("should skip UploadCustomLockScreen when the device does not support the feature, even if a CLS was backed up",()=>new Promise((o,r)=>{p(),c(),l(A.NANO_X),v();const n=R({clsHexImage:"0x0102"}),s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),f({restoredLanguage:void 0,restoredCLS:!1,restoredApps:void 0})];i(d(n),s,a(),{onDone:o,onError:r})})),it("should skip UploadCustomLockScreen when no CLS was backed up, even on a supported device",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(),v();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),f({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];i(d(),n,a(),{onDone:o,onError:r})})),it("should not fail and should keep going when the user refuses the language pack, app install, and CLS upload prompts",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(),b(S(new O)),C(S(new O)),L(u([])),v(S(new O));const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),f({restoredLanguage:!1,restoredCLS:!1,restoredApps:[{appName:"App1",restoredApp:!1,restoredAppStorage:!1}]})];i(d(n),s,a(),{onDone:o,onError:r})}))}),describe("Error",()=>{it("should go to Error when waitForAppAndVersion returns Left",()=>new Promise((o,r)=>{const n=new I("waitForAppAndVersion failed");vi.mocked(V).mockReturnValue(D(S(n)));const s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),w(n)];i(d(),s,a(),{onDone:o,onError:r})})),it("should go to Error when goToDashboard returns Left",()=>new Promise((o,r)=>{p("Bitcoin");const n=new I("goToDashboard failed");B(S(n));const s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GoToDashboard),t(e.GoToDashboard),w(n)];i(d(),s,a(),{onDone:o,onError:r})})),it("should go to Error when getIsOnboarded returns Left",()=>new Promise((o,r)=>{p();const n=new x(new Error("command failed"));c(S(n));const s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),w(n)];i(d(),s,a(),{onDone:o,onError:r})})),it("should go to Error when requestMasterConsent fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{p(),c(),l(A.STAX);const n=new M(new Error("command failed"));g(S(n));const s=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),w(n)];i(d(),s,a(),{onDone:o,onError:r})})),it("should go to Error when installLanguagePackage fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g();const n=new I("installLanguagePackage failed");b(S(n));const s=R({languageId:1}),h=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),w(n)];i(d(s),h,a(),{onDone:o,onError:r})})),it("should go to Error when installOrUpdateApps fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g();const n=new I("installOrUpdateApps failed");C(S(n));const s=R({installedApps:[{appName:"App1",data:"0xaa"}]}),h=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),w(n)];i(d(s),h,a(),{onDone:o,onError:r})})),it("should go to Error when restoreAppsStorage returns Left",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g(),C(u({successfullyInstalled:[{versionName:"App1"}],alreadyInstalled:[],missingApplications:[]}));const n=new I("restoreAppsStorage failed");L(S(n));const s=R({installedApps:[{appName:"App1",data:"0xaa"}]}),h=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),w(n)];i(d(s),h,a(),{onDone:o,onError:r})})),it("should go to Error when uploadCustomLockScreen fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{p(),c(),l(A.STAX),g();const n=new I("uploadCustomLockScreen failed");v(S(n));const s=R({clsHexImage:"0x0102"}),h=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,m.GrantConsent),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),w(n)];i(d(s),h,a(),{onDone:o,onError:r})}))})});
1
+ import{DeviceActionStatus as O,DeviceModelId as m,RefusedByUserDAError as U,UnknownDAError as C,UserInteractionRequired as i}from"@ledgerhq/device-management-kit";import{Left as S,Right as k}from"purify-ts";import{assign as T,createMachine as M}from"xstate";import{makeDeviceActionInternalApiMock as p}from"../../../../device-action/__test-utils__/makeInternalApi";import{testDeviceActionStates as c}from"../../../../device-action/__test-utils__/testDeviceActionStates";import{RestoreBackupDeviceAction as X}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction";import{GetIsOnboardedError as H,RequestMasterConsentError as _}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors";import{getIsOnboarded as j}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded";import{installLanguagePackage as $}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage";import{installOrUpdateApps as J}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps";import{requestMasterConsent as z}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent";import{restoreAppsStorage as K}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage";import{uploadCustomLockScreenDevice as W}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen";import{RequestMasterConsentResult as x,RestoreBackupSteps as e}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/types";import{goToDashboard as Q}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as y}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";vi.mock("@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion");vi.mock("@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen");const t=(u,s=i.None)=>({status:O.Pending,intermediateValue:{requiredUserInteraction:s,step:u}}),w=u=>({status:O.Completed,output:u}),h=u=>({status:O.Error,error:u}),P=u=>M({initial:"ready",states:{ready:{after:{0:"done"},entry:T({intermediateValue:()=>({requiredUserInteraction:i.None})})},done:{type:"final"}},output:u}),v=u=>P(()=>u),Y=(u,s)=>M({initial:"interaction0",states:{...Object.fromEntries(u.map((E,D)=>[`interaction${D}`,{after:{0:D+1<u.length?`interaction${D+1}`:"done"},entry:T({intermediateValue:()=>({requiredUserInteraction:E})})}])),done:{type:"final"}},output:()=>s}),R=(u={})=>({languageId:void 0,installedApps:[],clsHexImage:void 0,createdAt:new Date,...u});describe("RestoreBackupDeviceAction",()=>{const{getDeviceModel:u}=p();beforeEach(()=>{vi.resetAllMocks(),A(m.NANO_X)});const s=(o="BOLOS")=>vi.mocked(y).mockReturnValue(v(k({name:o,version:"1.0.0"}))),E=o=>{const r=[...o];vi.mocked(y).mockReturnValue(P(()=>k({name:r.shift()??"BOLOS",version:"1.0.0"})))},D=(o=k(void 0))=>vi.mocked(Q).mockReturnValue(v(o)),l=(o=k({isDeviceOnboarded:!0}))=>vi.mocked(j).mockReturnValue(()=>Promise.resolve(o)),g=(o=k(x.GRANTED))=>vi.mocked(z).mockReturnValue(()=>Promise.resolve(o)),b=(o=k(void 0))=>vi.mocked($).mockReturnValue(v(o)),L=(o=k({successfullyInstalled:[],alreadyInstalled:[],missingApplications:[]}))=>vi.mocked(J).mockReturnValue(v(o)),V=(o=k([]))=>vi.mocked(K).mockReturnValue(v(o)),I=(o=k(void 0))=>vi.mocked(W).mockReturnValue(v(o)),G=o=>vi.mocked(W).mockReturnValue(Y(o,k(void 0))),A=o=>u.mockReturnValue({id:o}),d=(o=R())=>new X({input:{backup:o,unlockTimeout:3e4}});describe("Success",()=>{it("should complete the full restore flow when everything succeeds",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(),b(),L(k({successfullyInstalled:[{versionName:"App1"}],alreadyInstalled:[],missingApplications:[]})),V(k([{appName:"App1",restoredAppStorage:!0}])),I();const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),w({restoredLanguage:!0,restoredCLS:!0,restoredApps:[{appName:"App1",restoredApp:!0,restoredAppStorage:!0}]})];c(d(n),a,p(),{onDone:o,onError:r})})),it("should go to dashboard and wait for app and version again when an app is open",()=>new Promise((o,r)=>{E(["Bitcoin","BOLOS"]),D(),l(),A(m.NANO_X);const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GoToDashboard),t(e.GoToDashboard),t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),w({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];c(d(),n,p(),{onDone:o,onError:r})})),it("should still restore the language pack but skip app/storage/CLS steps when device is not onboarded",()=>new Promise((o,r)=>{s(),l(k({isDeviceOnboarded:!1})),A(m.STAX),g(),b();const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),w({restoredLanguage:!0,restoredCLS:!1,restoredApps:[{appName:"App1",restoredApp:!1,restoredAppStorage:!1}]})];c(d(n),a,p(),{onDone:o,onError:r})})),it("should skip RequestMasterConsent when the device does not support the feature",()=>new Promise((o,r)=>{s(),l(),A(m.NANO_X),g();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),w({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];c(d(),n,p(),{onDone:o,onError:r})})),it("should stop and complete immediately when master consent is rejected by the user",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(k(x.REJECTED)),b();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),w({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];c(d(),n,p(),{onDone:o,onError:r})})),it("should skip InstallOrUpdateApps and RestoreAppsStorage when the backup has no app",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(),I(),L(),V();const n=R({clsHexImage:"0x0102"}),a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),w({restoredLanguage:void 0,restoredCLS:!0,restoredApps:void 0})];c(d(n),a,p(),{onDone:o,onError:r})})),it("should skip UploadCustomLockScreen when the device does not support the feature, even if a CLS was backed up",()=>new Promise((o,r)=>{s(),l(),A(m.NANO_X),I();const n=R({clsHexImage:"0x0102"}),a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),w({restoredLanguage:void 0,restoredCLS:!1,restoredApps:void 0})];c(d(n),a,p(),{onDone:o,onError:r})})),it("should skip UploadCustomLockScreen when no CLS was backed up, even on a supported device",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(),I();const n=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),w({restoredLanguage:void 0,restoredCLS:void 0,restoredApps:void 0})];c(d(),n,p(),{onDone:o,onError:r})})),describe("UploadCustomLockScreen required user interactions",()=>{const o=(n,a)=>new Promise((f,q)=>{s(),l(),A(n),g(),G(a);const F=[],{observable:N}=d(R({clsHexImage:"0x0102"}))._execute(p());N.subscribe({next:B=>{B.status===O.Pending&&B.intermediateValue.step===e.UploadCustomLockScreen&&F.push(B.intermediateValue.requiredUserInteraction)},error:q,complete:()=>f(F)})}),r=[i.UnlockDevice,i.ConfirmLoadImage,i.ConfirmCommitImage];it("should hide confirm load/commit image interactions but keep the others when master consent is granted",async()=>{const n=await o(m.STAX,r);expect(n).toContain(i.UnlockDevice),expect(n).not.toContain(i.ConfirmLoadImage),expect(n).not.toContain(i.ConfirmCommitImage)})}),it("should not fail and should keep going when the user refuses the language pack, app install, and CLS upload prompts",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(),b(S(new U)),L(S(new U)),V(k([])),I(S(new U));const n=R({languageId:1,installedApps:[{appName:"App1",data:"0xaa"}],clsHexImage:"0x0102"}),a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),w({restoredLanguage:!1,restoredCLS:!1,restoredApps:[{appName:"App1",restoredApp:!1,restoredAppStorage:!1}]})];c(d(n),a,p(),{onDone:o,onError:r})}))}),describe("Error",()=>{it("should go to Error when waitForAppAndVersion returns Left",()=>new Promise((o,r)=>{const n=new C("waitForAppAndVersion failed");vi.mocked(y).mockReturnValue(v(S(n)));const a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),h(n)];c(d(),a,p(),{onDone:o,onError:r})})),it("should go to Error when goToDashboard returns Left",()=>new Promise((o,r)=>{s("Bitcoin");const n=new C("goToDashboard failed");D(S(n));const a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GoToDashboard),t(e.GoToDashboard),h(n)];c(d(),a,p(),{onDone:o,onError:r})})),it("should go to Error when getIsOnboarded returns Left",()=>new Promise((o,r)=>{s();const n=new H(new Error("command failed"));l(S(n));const a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),h(n)];c(d(),a,p(),{onDone:o,onError:r})})),it("should go to Error when requestMasterConsent fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{s(),l(),A(m.STAX);const n=new _(new Error("command failed"));g(S(n));const a=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),h(n)];c(d(),a,p(),{onDone:o,onError:r})})),it("should go to Error when installLanguagePackage fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g();const n=new C("installLanguagePackage failed");b(S(n));const a=R({languageId:1}),f=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallLanguagePackage),t(e.InstallLanguagePackage),h(n)];c(d(a),f,p(),{onDone:o,onError:r})})),it("should go to Error when installOrUpdateApps fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g();const n=new C("installOrUpdateApps failed");L(S(n));const a=R({installedApps:[{appName:"App1",data:"0xaa"}]}),f=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),h(n)];c(d(a),f,p(),{onDone:o,onError:r})})),it("should go to Error when restoreAppsStorage returns Left",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g(),L(k({successfullyInstalled:[{versionName:"App1"}],alreadyInstalled:[],missingApplications:[]}));const n=new C("restoreAppsStorage failed");V(S(n));const a=R({installedApps:[{appName:"App1",data:"0xaa"}]}),f=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.InstallOrUpdateApps),t(e.InstallOrUpdateApps),t(e.RestoreAppsStorage),t(e.RestoreAppsStorage),h(n)];c(d(a),f,p(),{onDone:o,onError:r})})),it("should go to Error when uploadCustomLockScreen fails with a fatal (non-refusal) error",()=>new Promise((o,r)=>{s(),l(),A(m.STAX),g();const n=new C("uploadCustomLockScreen failed");I(S(n));const a=R({clsHexImage:"0x0102"}),f=[t(e.WaitForAppAndVersion),t(e.WaitForAppAndVersion),t(e.GetIsOnboarded),t(e.RequestMasterConsent,i.GrantConsent),t(e.UploadCustomLockScreen),t(e.UploadCustomLockScreen),h(n)];c(d(a),f,p(),{onDone:o,onError:r})}))})});
2
2
  //# sourceMappingURL=RestoreBackupDeviceAction.test.js.map