@ledgerhq/device-management-kit 0.0.0-develop-20260706002934 → 0.0.0-develop-20260707161641

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 (92) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/api/command/os/BackupAppStorageCommand.js +2 -0
  3. package/lib/cjs/src/api/command/os/BackupAppStorageCommand.js.map +7 -0
  4. package/lib/cjs/src/api/command/os/BackupAppStorageCommand.test.js +2 -0
  5. package/lib/cjs/src/api/command/os/BackupAppStorageCommand.test.js.map +7 -0
  6. package/lib/cjs/src/api/command/os/CommitRestoreAppStorageCommand.js +2 -0
  7. package/lib/cjs/src/api/command/os/CommitRestoreAppStorageCommand.js.map +7 -0
  8. package/lib/cjs/src/api/command/os/CommitRestoreAppStorageCommand.test.js +2 -0
  9. package/lib/cjs/src/api/command/os/CommitRestoreAppStorageCommand.test.js.map +7 -0
  10. package/lib/cjs/src/api/command/os/InitRestoreAppStorageCommand.js +2 -0
  11. package/lib/cjs/src/api/command/os/InitRestoreAppStorageCommand.js.map +7 -0
  12. package/lib/cjs/src/api/command/os/InitRestoreAppStorageCommand.test.js +2 -0
  13. package/lib/cjs/src/api/command/os/InitRestoreAppStorageCommand.test.js.map +7 -0
  14. package/lib/cjs/src/api/command/os/RestoreAppStorageCommand.js +2 -0
  15. package/lib/cjs/src/api/command/os/RestoreAppStorageCommand.js.map +7 -0
  16. package/lib/cjs/src/api/command/os/RestoreAppStorageCommand.test.js +2 -0
  17. package/lib/cjs/src/api/command/os/RestoreAppStorageCommand.test.js.map +7 -0
  18. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js +1 -1
  19. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
  20. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
  21. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js.map +3 -3
  22. package/lib/cjs/src/api/device-action/task/RestoreAppStorageTask.js +2 -0
  23. package/lib/cjs/src/api/device-action/task/RestoreAppStorageTask.js.map +7 -0
  24. package/lib/cjs/src/api/device-action/task/RestoreAppStorageTask.test.js +2 -0
  25. package/lib/cjs/src/api/device-action/task/RestoreAppStorageTask.test.js.map +7 -0
  26. package/lib/cjs/src/api/index.js +1 -1
  27. package/lib/cjs/src/api/index.js.map +3 -3
  28. package/lib/esm/package.json +1 -1
  29. package/lib/esm/src/api/command/os/BackupAppStorageCommand.js +2 -0
  30. package/lib/esm/src/api/command/os/BackupAppStorageCommand.js.map +7 -0
  31. package/lib/esm/src/api/command/os/BackupAppStorageCommand.test.js +2 -0
  32. package/lib/esm/src/api/command/os/BackupAppStorageCommand.test.js.map +7 -0
  33. package/lib/esm/src/api/command/os/CommitRestoreAppStorageCommand.js +2 -0
  34. package/lib/esm/src/api/command/os/CommitRestoreAppStorageCommand.js.map +7 -0
  35. package/lib/esm/src/api/command/os/CommitRestoreAppStorageCommand.test.js +2 -0
  36. package/lib/esm/src/api/command/os/CommitRestoreAppStorageCommand.test.js.map +7 -0
  37. package/lib/esm/src/api/command/os/InitRestoreAppStorageCommand.js +2 -0
  38. package/lib/esm/src/api/command/os/InitRestoreAppStorageCommand.js.map +7 -0
  39. package/lib/esm/src/api/command/os/InitRestoreAppStorageCommand.test.js +2 -0
  40. package/lib/esm/src/api/command/os/InitRestoreAppStorageCommand.test.js.map +7 -0
  41. package/lib/esm/src/api/command/os/RestoreAppStorageCommand.js +2 -0
  42. package/lib/esm/src/api/command/os/RestoreAppStorageCommand.js.map +7 -0
  43. package/lib/esm/src/api/command/os/RestoreAppStorageCommand.test.js +2 -0
  44. package/lib/esm/src/api/command/os/RestoreAppStorageCommand.test.js.map +7 -0
  45. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js +1 -1
  46. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
  47. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
  48. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js.map +3 -3
  49. package/lib/esm/src/api/device-action/task/RestoreAppStorageTask.js +2 -0
  50. package/lib/esm/src/api/device-action/task/RestoreAppStorageTask.js.map +7 -0
  51. package/lib/esm/src/api/device-action/task/RestoreAppStorageTask.test.js +2 -0
  52. package/lib/esm/src/api/device-action/task/RestoreAppStorageTask.test.js.map +7 -0
  53. package/lib/esm/src/api/index.js +1 -1
  54. package/lib/esm/src/api/index.js.map +3 -3
  55. package/lib/types/src/api/command/os/BackupAppStorageCommand.d.ts +23 -0
  56. package/lib/types/src/api/command/os/BackupAppStorageCommand.d.ts.map +1 -0
  57. package/lib/types/src/api/command/os/BackupAppStorageCommand.test.d.ts +2 -0
  58. package/lib/types/src/api/command/os/BackupAppStorageCommand.test.d.ts.map +1 -0
  59. package/lib/types/src/api/command/os/CommitRestoreAppStorageCommand.d.ts +19 -0
  60. package/lib/types/src/api/command/os/CommitRestoreAppStorageCommand.d.ts.map +1 -0
  61. package/lib/types/src/api/command/os/CommitRestoreAppStorageCommand.test.d.ts +2 -0
  62. package/lib/types/src/api/command/os/CommitRestoreAppStorageCommand.test.d.ts.map +1 -0
  63. package/lib/types/src/api/command/os/InitRestoreAppStorageCommand.d.ts +25 -0
  64. package/lib/types/src/api/command/os/InitRestoreAppStorageCommand.d.ts.map +1 -0
  65. package/lib/types/src/api/command/os/InitRestoreAppStorageCommand.test.d.ts +2 -0
  66. package/lib/types/src/api/command/os/InitRestoreAppStorageCommand.test.d.ts.map +1 -0
  67. package/lib/types/src/api/command/os/RestoreAppStorageCommand.d.ts +24 -0
  68. package/lib/types/src/api/command/os/RestoreAppStorageCommand.d.ts.map +1 -0
  69. package/lib/types/src/api/command/os/RestoreAppStorageCommand.test.d.ts +2 -0
  70. package/lib/types/src/api/command/os/RestoreAppStorageCommand.test.d.ts.map +1 -0
  71. package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts +3 -3
  72. package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts.map +1 -1
  73. package/lib/types/src/api/device-action/task/RestoreAppStorageTask.d.ts +17 -0
  74. package/lib/types/src/api/device-action/task/RestoreAppStorageTask.d.ts.map +1 -0
  75. package/lib/types/src/api/device-action/task/RestoreAppStorageTask.test.d.ts +2 -0
  76. package/lib/types/src/api/device-action/task/RestoreAppStorageTask.test.d.ts.map +1 -0
  77. package/lib/types/src/api/index.d.ts +5 -1
  78. package/lib/types/src/api/index.d.ts.map +1 -1
  79. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  80. package/package.json +4 -4
  81. package/lib/cjs/src/api/command/os/BackupStorageCommand.js +0 -2
  82. package/lib/cjs/src/api/command/os/BackupStorageCommand.js.map +0 -7
  83. package/lib/cjs/src/api/command/os/BackupStorageCommand.test.js +0 -2
  84. package/lib/cjs/src/api/command/os/BackupStorageCommand.test.js.map +0 -7
  85. package/lib/esm/src/api/command/os/BackupStorageCommand.js +0 -2
  86. package/lib/esm/src/api/command/os/BackupStorageCommand.js.map +0 -7
  87. package/lib/esm/src/api/command/os/BackupStorageCommand.test.js +0 -2
  88. package/lib/esm/src/api/command/os/BackupStorageCommand.test.js.map +0 -7
  89. package/lib/types/src/api/command/os/BackupStorageCommand.d.ts +0 -23
  90. package/lib/types/src/api/command/os/BackupStorageCommand.d.ts.map +0 -1
  91. package/lib/types/src/api/command/os/BackupStorageCommand.test.d.ts +0 -2
  92. package/lib/types/src/api/command/os/BackupStorageCommand.test.d.ts.map +0 -1
package/package.json CHANGED
@@ -18,11 +18,11 @@
18
18
  "@types/ws": "^8.5.14",
19
19
  "rxjs": "7.8.2",
20
20
  "ts-node": "10.9.2",
21
- "@ledgerhq/eslint-config-dsdk": "0.0.2",
22
21
  "@ledgerhq/ldmk-tool": "0.0.1",
22
+ "@ledgerhq/eslint-config-dsdk": "0.0.2",
23
23
  "@ledgerhq/prettier-config-dsdk": "0.0.2",
24
- "@ledgerhq/vitest-config-dmk": "0.0.0",
25
- "@ledgerhq/tsconfig-dsdk": "1.0.1"
24
+ "@ledgerhq/tsconfig-dsdk": "1.0.1",
25
+ "@ledgerhq/vitest-config-dmk": "0.0.0"
26
26
  },
27
27
  "exports": {
28
28
  ".": {
@@ -45,7 +45,7 @@
45
45
  "type": "git",
46
46
  "url": "https://github.com/LedgerHQ/device-sdk-ts.git"
47
47
  },
48
- "version": "0.0.0-develop-20260706002934",
48
+ "version": "0.0.0-develop-20260707161641",
49
49
  "scripts": {
50
50
  "build": "pnpm ldmk-tool build --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
51
51
  "dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
@@ -1,2 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var E=(e,r)=>{for(var a in r)n(e,a,{get:r[a],enumerable:!0})},y=(e,r,a,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of S(r))!f.call(e,o)&&o!==a&&n(e,o,{get:()=>r[o],enumerable:!(t=k(r,o))||t.enumerable});return e};var B=e=>y(n({},"__esModule",{value:!0}),e);var h={};E(h,{BACKUP_STORAGE_ERRORS:()=>d,BackupStorageCommand:()=>x,BackupStorageCommandError:()=>l});module.exports=B(h);var p=require("../../apdu/utils/ApduBuilder"),s=require("../../apdu/utils/ApduParser"),c=require("../../command/Errors"),m=require("../../command/model/CommandResult"),u=require("../../command/utils/CommandErrors"),i=require("../../command/utils/CommandUtils"),C=require("../../command/utils/GlobalCommandError"),g=require("../../Error");const d={5123:{message:"Invalid context. Get info must be called."},5419:{message:"Failed to generate AES key."},"541a":{message:"Internal error, crypto operation failed."},"541b":{message:"Internal error, failed to compute AES CMAC."},"541c":{message:"Failed to encrypt the app storage backup."},"622f":{message:"Invalid device state, recovery mode."},6642:{message:"Invalid backup state, backup already performed."}};class l extends g.DeviceExchangeError{constructor(r){super({tag:"BackupStorageCommandError",...r})}}class x{name="BackupStorage";header={cla:224,ins:107,p1:0,p2:0};getApdu(){return new p.ApduBuilder(this.header).build()}parseResponse(r){const a=new s.ApduParser(r);if(!i.CommandUtils.isSuccessResponse(r)){const o=a.encodeToHexaString(r.statusCode);return(0,u.isCommandErrorCode)(o,d)?(0,m.CommandResultFactory)({error:new l({...d[o],errorCode:o})}):(0,m.CommandResultFactory)({error:C.GlobalCommandErrorHandler.handle(r)})}const t=a.extractFieldByLength(a.getUnparsedRemainingLength());return t===void 0?(0,m.CommandResultFactory)({error:new c.InvalidStatusWordError("Failed to extract app storage data chunk")}):(0,m.CommandResultFactory)({data:{chunkData:t,chunkSize:t.length}})}}0&&(module.exports={BACKUP_STORAGE_ERRORS,BackupStorageCommand,BackupStorageCommandError});
2
- //# sourceMappingURL=BackupStorageCommand.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/api/command/os/BackupStorageCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\n\nexport type BackupStorageCommandResponse = {\n chunkData: Uint8Array;\n chunkSize: number;\n};\n\nexport type BackupStorageCommandErrorCodes =\n | \"5123\"\n | \"5419\"\n | \"541a\"\n | \"541b\"\n | \"541c\"\n | \"622f\"\n | \"6642\";\n\nexport const BACKUP_STORAGE_ERRORS: CommandErrors<BackupStorageCommandErrorCodes> =\n {\n \"5123\": { message: \"Invalid context. Get info must be called.\" },\n \"5419\": { message: \"Failed to generate AES key.\" },\n \"541a\": { message: \"Internal error, crypto operation failed.\" },\n \"541b\": { message: \"Internal error, failed to compute AES CMAC.\" },\n \"541c\": { message: \"Failed to encrypt the app storage backup.\" },\n \"622f\": { message: \"Invalid device state, recovery mode.\" },\n \"6642\": { message: \"Invalid backup state, backup already performed.\" },\n };\n\nexport class BackupStorageCommandError extends DeviceExchangeError<BackupStorageCommandErrorCodes> {\n constructor(args: CommandErrorArgs<BackupStorageCommandErrorCodes>) {\n super({ tag: \"BackupStorageCommandError\", ...args });\n }\n}\n\nexport type BackupStorageCommandResult = CommandResult<\n BackupStorageCommandResponse,\n BackupStorageCommandErrorCodes\n>;\n\nexport class BackupStorageCommand\n implements\n Command<BackupStorageCommandResponse, void, BackupStorageCommandErrorCodes>\n{\n readonly name = \"BackupStorage\";\n\n private readonly header = {\n cla: 0xe0,\n ins: 0x6b,\n p1: 0x00,\n p2: 0x00,\n };\n\n getApdu(): Apdu {\n return new ApduBuilder(this.header).build();\n }\n\n parseResponse(apduResponse: ApduResponse): BackupStorageCommandResult {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, BACKUP_STORAGE_ERRORS)) {\n return CommandResultFactory({\n error: new BackupStorageCommandError({\n ...BACKUP_STORAGE_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n const appStorageDataChunk = parser.extractFieldByLength(\n parser.getUnparsedRemainingLength(),\n );\n\n if (appStorageDataChunk === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Failed to extract app storage data chunk\",\n ),\n });\n }\n\n return CommandResultFactory({\n data: {\n chunkData: appStorageDataChunk,\n chunkSize: appStorageDataChunk.length,\n },\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,yBAAAC,EAAA,8BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAA4B,uCAC5BC,EAA2B,sCAE3BC,EAAuC,+BACvCC,EAGO,4CACPC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAE1CC,EAA2D,sBAgBpD,MAAMX,EACX,CACE,KAAQ,CAAE,QAAS,2CAA4C,EAC/D,KAAQ,CAAE,QAAS,6BAA8B,EACjD,OAAQ,CAAE,QAAS,0CAA2C,EAC9D,OAAQ,CAAE,QAAS,6CAA8C,EACjE,OAAQ,CAAE,QAAS,2CAA4C,EAC/D,OAAQ,CAAE,QAAS,sCAAuC,EAC1D,KAAQ,CAAE,QAAS,iDAAkD,CACvE,EAEK,MAAME,UAAkC,qBAAoD,CACjG,YAAYU,EAAwD,CAClE,MAAM,CAAE,IAAK,4BAA6B,GAAGA,CAAK,CAAC,CACrD,CACF,CAOO,MAAMX,CAGb,CACW,KAAO,gBAEC,OAAS,CACxB,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EAEA,SAAgB,CACd,OAAO,IAAI,cAAY,KAAK,MAAM,EAAE,MAAM,CAC5C,CAEA,cAAcY,EAAwD,CACpE,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAE1C,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAAG,CACjD,MAAME,EAAYD,EAAO,mBAAmBD,EAAa,UAAU,EACnE,SAAI,sBAAmBE,EAAWf,CAAqB,KAC9C,wBAAqB,CAC1B,MAAO,IAAIE,EAA0B,CACnC,GAAGF,EAAsBe,CAAS,EAClC,UAAAA,CACF,CAAC,CACH,CAAC,KAEI,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOF,CAAY,CACtD,CAAC,CACH,CAEA,MAAMG,EAAsBF,EAAO,qBACjCA,EAAO,2BAA2B,CACpC,EAEA,OAAIE,IAAwB,UACnB,wBAAqB,CAC1B,MAAO,IAAI,yBACT,0CACF,CACF,CAAC,KAGI,wBAAqB,CAC1B,KAAM,CACJ,UAAWA,EACX,UAAWA,EAAoB,MACjC,CACF,CAAC,CACH,CACF",
6
- "names": ["BackupStorageCommand_exports", "__export", "BACKUP_STORAGE_ERRORS", "BackupStorageCommand", "BackupStorageCommandError", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_Errors", "import_CommandResult", "import_CommandErrors", "import_CommandUtils", "import_GlobalCommandError", "import_Error", "args", "apduResponse", "parser", "errorCode", "appStorageDataChunk"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var s=require("../../command/model/CommandResult"),a=require("../../command/os/BackupStorageCommand"),r=require("../../device-session/ApduResponse");describe("BackupStorageCommand",()=>{describe("Name",()=>{it("name should be 'BackupStorage'",()=>{const e=new a.BackupStorageCommand().name;expect(e).toBe("BackupStorage")})}),describe("Command",()=>{it("should return the correct APDU for backing up app storage",()=>{const t=Uint8Array.from([224,107,0,0,0]),e=new a.BackupStorageCommand().getApdu();expect(e.getRawApdu()).toEqual(t)})}),describe("Success response",()=>{it("should return the app storage data chunk as a hex string",()=>{const t=Uint8Array.from([144,0]),e=new r.ApduResponse({statusCode:t,data:Uint8Array.from([171,205,239,1,35])}),o=new a.BackupStorageCommand().parseResponse(e);expect((0,s.isSuccessCommandResult)(o)).toBe(!0),expect(o).toEqual({data:{chunkData:Uint8Array.from([171,205,239,1,35]),chunkSize:5},status:"SUCCESS"})})}),describe("Error response",()=>{it.each([{description:"get info was not called first",statusCode:[81,35],expectedMessage:"Invalid context. Get info must be called."},{description:"AES key generation fails",statusCode:[84,25],expectedMessage:"Failed to generate AES key."},{description:"crypto operation fails",statusCode:[84,26],expectedMessage:"Internal error, crypto operation failed."},{description:"AES CMAC computation fails",statusCode:[84,27],expectedMessage:"Internal error, failed to compute AES CMAC."},{description:"encryption of backup fails",statusCode:[84,28],expectedMessage:"Failed to encrypt the app storage backup."},{description:"device is in recovery mode",statusCode:[98,47],expectedMessage:"Invalid device state, recovery mode."},{description:"backup was already performed",statusCode:[102,66],expectedMessage:"Invalid backup state, backup already performed."},{description:"error code is not specific to BackupStorageCommand (global error)",statusCode:[85,21],expectedMessage:"Device is locked."}])("should return error when $description",({statusCode:t,expectedMessage:e})=>{const o=new r.ApduResponse({statusCode:Uint8Array.from(t),data:new Uint8Array([])}),c=new a.BackupStorageCommand().parseResponse(o);expect((0,s.isSuccessCommandResult)(c)).toBe(!1),expect(c.error.message).toBe(e)})})});
2
- //# sourceMappingURL=BackupStorageCommand.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/api/command/os/BackupStorageCommand.test.ts"],
4
- "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { BackupStorageCommand } from \"@api/command/os/BackupStorageCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\ndescribe(\"BackupStorageCommand\", () => {\n describe(\"Name\", () => {\n it(\"name should be 'BackupStorage'\", () => {\n // ARRANGE\n const command = new BackupStorageCommand();\n\n // ACT\n const name = command.name;\n\n // ASSERT\n expect(name).toBe(\"BackupStorage\");\n });\n });\n\n describe(\"Command\", () => {\n it(\"should return the correct APDU for backing up app storage\", () => {\n // ARRANGE\n const expectedApdu = Uint8Array.from([0xe0, 0x6b, 0x00, 0x00, 0x00]);\n\n // ACT\n const apdu = new BackupStorageCommand().getApdu();\n\n // ASSERT\n expect(apdu.getRawApdu()).toEqual(expectedApdu);\n });\n });\n\n describe(\"Success response\", () => {\n it(\"should return the app storage data chunk as a hex string\", () => {\n // ARRANGE\n const statusCode = Uint8Array.from([0x90, 0x00]);\n const response = new ApduResponse({\n statusCode,\n data: Uint8Array.from([0xab, 0xcd, 0xef, 0x01, 0x23]),\n });\n\n // ACT\n const result = new BackupStorageCommand().parseResponse(response);\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(true);\n expect(result).toEqual({\n data: {\n chunkData: Uint8Array.from([0xab, 0xcd, 0xef, 0x01, 0x23]),\n chunkSize: 5,\n },\n status: \"SUCCESS\",\n });\n });\n });\n\n describe(\"Error response\", () => {\n it.each([\n {\n description: \"get info was not called first\",\n statusCode: [0x51, 0x23],\n expectedMessage: \"Invalid context. Get info must be called.\",\n },\n {\n description: \"AES key generation fails\",\n statusCode: [0x54, 0x19],\n expectedMessage: \"Failed to generate AES key.\",\n },\n {\n description: \"crypto operation fails\",\n statusCode: [0x54, 0x1a],\n expectedMessage: \"Internal error, crypto operation failed.\",\n },\n {\n description: \"AES CMAC computation fails\",\n statusCode: [0x54, 0x1b],\n expectedMessage: \"Internal error, failed to compute AES CMAC.\",\n },\n {\n description: \"encryption of backup fails\",\n statusCode: [0x54, 0x1c],\n expectedMessage: \"Failed to encrypt the app storage backup.\",\n },\n {\n description: \"device is in recovery mode\",\n statusCode: [0x62, 0x2f],\n expectedMessage: \"Invalid device state, recovery mode.\",\n },\n {\n description: \"backup was already performed\",\n statusCode: [0x66, 0x42],\n expectedMessage: \"Invalid backup state, backup already performed.\",\n },\n {\n description:\n \"error code is not specific to BackupStorageCommand (global error)\",\n statusCode: [0x55, 0x15],\n expectedMessage: \"Device is locked.\",\n },\n ])(\n \"should return error when $description\",\n ({ statusCode, expectedMessage }) => {\n // ARRANGE\n const response = new ApduResponse({\n statusCode: Uint8Array.from(statusCode),\n data: new Uint8Array([]),\n });\n\n // ACT\n const result = new BackupStorageCommand().parseResponse(response);\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(false);\n expect((result as unknown as { error: Error }).error.message).toBe(\n expectedMessage,\n );\n },\n );\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAuC,4CACvCC,EAAqC,gDACrCC,EAA6B,4CAE7B,SAAS,uBAAwB,IAAM,CACrC,SAAS,OAAQ,IAAM,CACrB,GAAG,iCAAkC,IAAM,CAKzC,MAAMC,EAHU,IAAI,uBAAqB,EAGpB,KAGrB,OAAOA,CAAI,EAAE,KAAK,eAAe,CACnC,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,4DAA6D,IAAM,CAEpE,MAAMC,EAAe,WAAW,KAAK,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAG7DC,EAAO,IAAI,uBAAqB,EAAE,QAAQ,EAGhD,OAAOA,EAAK,WAAW,CAAC,EAAE,QAAQD,CAAY,CAChD,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,2DAA4D,IAAM,CAEnE,MAAME,EAAa,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACzCC,EAAW,IAAI,eAAa,CAChC,WAAAD,EACA,KAAM,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAM,EAAI,CAAC,CACtD,CAAC,EAGKE,EAAS,IAAI,uBAAqB,EAAE,cAAcD,CAAQ,EAGhE,UAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,EAChD,OAAOA,CAAM,EAAE,QAAQ,CACrB,KAAM,CACJ,UAAW,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAM,EAAI,CAAC,EACzD,UAAW,CACb,EACA,OAAQ,SACV,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,KAAK,CACN,CACE,YAAa,gCACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,2CACnB,EACA,CACE,YAAa,2BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,6BACnB,EACA,CACE,YAAa,yBACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,0CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,6CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,2CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,sCACnB,EACA,CACE,YAAa,+BACb,WAAY,CAAC,IAAM,EAAI,EACvB,gBAAiB,iDACnB,EACA,CACE,YACE,oEACF,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,mBACnB,CACF,CAAC,EACC,wCACA,CAAC,CAAE,WAAAF,EAAY,gBAAAG,CAAgB,IAAM,CAEnC,MAAMF,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAKD,CAAU,EACtC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKE,EAAS,IAAI,uBAAqB,EAAE,cAAcD,CAAQ,EAGhE,UAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,EACjD,OAAQA,EAAuC,MAAM,OAAO,EAAE,KAC5DC,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_CommandResult", "import_BackupStorageCommand", "import_ApduResponse", "name", "expectedApdu", "apdu", "statusCode", "response", "result", "expectedMessage"]
7
- }
@@ -1,2 +0,0 @@
1
- import{ApduBuilder as d}from"../../apdu/utils/ApduBuilder";import{ApduParser as p}from"../../apdu/utils/ApduParser";import{InvalidStatusWordError as s}from"../../command/Errors";import{CommandResultFactory as e}from"../../command/model/CommandResult";import{isCommandErrorCode as c}from"../../command/utils/CommandErrors";import{CommandUtils as u}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as i}from"../../command/utils/GlobalCommandError";import{DeviceExchangeError as C}from"../../Error";const m={5123:{message:"Invalid context. Get info must be called."},5419:{message:"Failed to generate AES key."},"541a":{message:"Internal error, crypto operation failed."},"541b":{message:"Internal error, failed to compute AES CMAC."},"541c":{message:"Failed to encrypt the app storage backup."},"622f":{message:"Invalid device state, recovery mode."},6642:{message:"Invalid backup state, backup already performed."}};class g extends C{constructor(r){super({tag:"BackupStorageCommandError",...r})}}class h{name="BackupStorage";header={cla:224,ins:107,p1:0,p2:0};getApdu(){return new d(this.header).build()}parseResponse(r){const o=new p(r);if(!u.isSuccessResponse(r)){const t=o.encodeToHexaString(r.statusCode);return c(t,m)?e({error:new g({...m[t],errorCode:t})}):e({error:i.handle(r)})}const a=o.extractFieldByLength(o.getUnparsedRemainingLength());return a===void 0?e({error:new s("Failed to extract app storage data chunk")}):e({data:{chunkData:a,chunkSize:a.length}})}}export{m as BACKUP_STORAGE_ERRORS,h as BackupStorageCommand,g as BackupStorageCommandError};
2
- //# sourceMappingURL=BackupStorageCommand.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/api/command/os/BackupStorageCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\n\nexport type BackupStorageCommandResponse = {\n chunkData: Uint8Array;\n chunkSize: number;\n};\n\nexport type BackupStorageCommandErrorCodes =\n | \"5123\"\n | \"5419\"\n | \"541a\"\n | \"541b\"\n | \"541c\"\n | \"622f\"\n | \"6642\";\n\nexport const BACKUP_STORAGE_ERRORS: CommandErrors<BackupStorageCommandErrorCodes> =\n {\n \"5123\": { message: \"Invalid context. Get info must be called.\" },\n \"5419\": { message: \"Failed to generate AES key.\" },\n \"541a\": { message: \"Internal error, crypto operation failed.\" },\n \"541b\": { message: \"Internal error, failed to compute AES CMAC.\" },\n \"541c\": { message: \"Failed to encrypt the app storage backup.\" },\n \"622f\": { message: \"Invalid device state, recovery mode.\" },\n \"6642\": { message: \"Invalid backup state, backup already performed.\" },\n };\n\nexport class BackupStorageCommandError extends DeviceExchangeError<BackupStorageCommandErrorCodes> {\n constructor(args: CommandErrorArgs<BackupStorageCommandErrorCodes>) {\n super({ tag: \"BackupStorageCommandError\", ...args });\n }\n}\n\nexport type BackupStorageCommandResult = CommandResult<\n BackupStorageCommandResponse,\n BackupStorageCommandErrorCodes\n>;\n\nexport class BackupStorageCommand\n implements\n Command<BackupStorageCommandResponse, void, BackupStorageCommandErrorCodes>\n{\n readonly name = \"BackupStorage\";\n\n private readonly header = {\n cla: 0xe0,\n ins: 0x6b,\n p1: 0x00,\n p2: 0x00,\n };\n\n getApdu(): Apdu {\n return new ApduBuilder(this.header).build();\n }\n\n parseResponse(apduResponse: ApduResponse): BackupStorageCommandResult {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, BACKUP_STORAGE_ERRORS)) {\n return CommandResultFactory({\n error: new BackupStorageCommandError({\n ...BACKUP_STORAGE_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n const appStorageDataChunk = parser.extractFieldByLength(\n parser.getUnparsedRemainingLength(),\n );\n\n if (appStorageDataChunk === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Failed to extract app storage data chunk\",\n ),\n });\n }\n\n return CommandResultFactory({\n data: {\n chunkData: appStorageDataChunk,\n chunkSize: appStorageDataChunk.length,\n },\n });\n }\n}\n"],
5
- "mappings": "AACA,OAAS,eAAAA,MAAmB,8BAC5B,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,0BAAAC,MAA8B,sBACvC,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAgBpD,MAAMC,EACX,CACE,KAAQ,CAAE,QAAS,2CAA4C,EAC/D,KAAQ,CAAE,QAAS,6BAA8B,EACjD,OAAQ,CAAE,QAAS,0CAA2C,EAC9D,OAAQ,CAAE,QAAS,6CAA8C,EACjE,OAAQ,CAAE,QAAS,2CAA4C,EAC/D,OAAQ,CAAE,QAAS,sCAAuC,EAC1D,KAAQ,CAAE,QAAS,iDAAkD,CACvE,EAEK,MAAMC,UAAkCF,CAAoD,CACjG,YAAYG,EAAwD,CAClE,MAAM,CAAE,IAAK,4BAA6B,GAAGA,CAAK,CAAC,CACrD,CACF,CAOO,MAAMC,CAGb,CACW,KAAO,gBAEC,OAAS,CACxB,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EAEA,SAAgB,CACd,OAAO,IAAIX,EAAY,KAAK,MAAM,EAAE,MAAM,CAC5C,CAEA,cAAcY,EAAwD,CACpE,MAAMC,EAAS,IAAIZ,EAAWW,CAAY,EAE1C,GAAI,CAACP,EAAa,kBAAkBO,CAAY,EAAG,CACjD,MAAME,EAAYD,EAAO,mBAAmBD,EAAa,UAAU,EACnE,OAAIR,EAAmBU,EAAWN,CAAqB,EAC9CL,EAAqB,CAC1B,MAAO,IAAIM,EAA0B,CACnC,GAAGD,EAAsBM,CAAS,EAClC,UAAAA,CACF,CAAC,CACH,CAAC,EAEIX,EAAqB,CAC1B,MAAOG,EAA0B,OAAOM,CAAY,CACtD,CAAC,CACH,CAEA,MAAMG,EAAsBF,EAAO,qBACjCA,EAAO,2BAA2B,CACpC,EAEA,OAAIE,IAAwB,OACnBZ,EAAqB,CAC1B,MAAO,IAAID,EACT,0CACF,CACF,CAAC,EAGIC,EAAqB,CAC1B,KAAM,CACJ,UAAWY,EACX,UAAWA,EAAoB,MACjC,CACF,CAAC,CACH,CACF",
6
- "names": ["ApduBuilder", "ApduParser", "InvalidStatusWordError", "CommandResultFactory", "isCommandErrorCode", "CommandUtils", "GlobalCommandErrorHandler", "DeviceExchangeError", "BACKUP_STORAGE_ERRORS", "BackupStorageCommandError", "args", "BackupStorageCommand", "apduResponse", "parser", "errorCode", "appStorageDataChunk"]
7
- }
@@ -1,2 +0,0 @@
1
- import{isSuccessCommandResult as r}from"../../command/model/CommandResult";import{BackupStorageCommand as o}from"../../command/os/BackupStorageCommand";import{ApduResponse as c}from"../../device-session/ApduResponse";describe("BackupStorageCommand",()=>{describe("Name",()=>{it("name should be 'BackupStorage'",()=>{const e=new o().name;expect(e).toBe("BackupStorage")})}),describe("Command",()=>{it("should return the correct APDU for backing up app storage",()=>{const t=Uint8Array.from([224,107,0,0,0]),e=new o().getApdu();expect(e.getRawApdu()).toEqual(t)})}),describe("Success response",()=>{it("should return the app storage data chunk as a hex string",()=>{const t=Uint8Array.from([144,0]),e=new c({statusCode:t,data:Uint8Array.from([171,205,239,1,35])}),a=new o().parseResponse(e);expect(r(a)).toBe(!0),expect(a).toEqual({data:{chunkData:Uint8Array.from([171,205,239,1,35]),chunkSize:5},status:"SUCCESS"})})}),describe("Error response",()=>{it.each([{description:"get info was not called first",statusCode:[81,35],expectedMessage:"Invalid context. Get info must be called."},{description:"AES key generation fails",statusCode:[84,25],expectedMessage:"Failed to generate AES key."},{description:"crypto operation fails",statusCode:[84,26],expectedMessage:"Internal error, crypto operation failed."},{description:"AES CMAC computation fails",statusCode:[84,27],expectedMessage:"Internal error, failed to compute AES CMAC."},{description:"encryption of backup fails",statusCode:[84,28],expectedMessage:"Failed to encrypt the app storage backup."},{description:"device is in recovery mode",statusCode:[98,47],expectedMessage:"Invalid device state, recovery mode."},{description:"backup was already performed",statusCode:[102,66],expectedMessage:"Invalid backup state, backup already performed."},{description:"error code is not specific to BackupStorageCommand (global error)",statusCode:[85,21],expectedMessage:"Device is locked."}])("should return error when $description",({statusCode:t,expectedMessage:e})=>{const a=new c({statusCode:Uint8Array.from(t),data:new Uint8Array([])}),s=new o().parseResponse(a);expect(r(s)).toBe(!1),expect(s.error.message).toBe(e)})})});
2
- //# sourceMappingURL=BackupStorageCommand.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/api/command/os/BackupStorageCommand.test.ts"],
4
- "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { BackupStorageCommand } from \"@api/command/os/BackupStorageCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\ndescribe(\"BackupStorageCommand\", () => {\n describe(\"Name\", () => {\n it(\"name should be 'BackupStorage'\", () => {\n // ARRANGE\n const command = new BackupStorageCommand();\n\n // ACT\n const name = command.name;\n\n // ASSERT\n expect(name).toBe(\"BackupStorage\");\n });\n });\n\n describe(\"Command\", () => {\n it(\"should return the correct APDU for backing up app storage\", () => {\n // ARRANGE\n const expectedApdu = Uint8Array.from([0xe0, 0x6b, 0x00, 0x00, 0x00]);\n\n // ACT\n const apdu = new BackupStorageCommand().getApdu();\n\n // ASSERT\n expect(apdu.getRawApdu()).toEqual(expectedApdu);\n });\n });\n\n describe(\"Success response\", () => {\n it(\"should return the app storage data chunk as a hex string\", () => {\n // ARRANGE\n const statusCode = Uint8Array.from([0x90, 0x00]);\n const response = new ApduResponse({\n statusCode,\n data: Uint8Array.from([0xab, 0xcd, 0xef, 0x01, 0x23]),\n });\n\n // ACT\n const result = new BackupStorageCommand().parseResponse(response);\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(true);\n expect(result).toEqual({\n data: {\n chunkData: Uint8Array.from([0xab, 0xcd, 0xef, 0x01, 0x23]),\n chunkSize: 5,\n },\n status: \"SUCCESS\",\n });\n });\n });\n\n describe(\"Error response\", () => {\n it.each([\n {\n description: \"get info was not called first\",\n statusCode: [0x51, 0x23],\n expectedMessage: \"Invalid context. Get info must be called.\",\n },\n {\n description: \"AES key generation fails\",\n statusCode: [0x54, 0x19],\n expectedMessage: \"Failed to generate AES key.\",\n },\n {\n description: \"crypto operation fails\",\n statusCode: [0x54, 0x1a],\n expectedMessage: \"Internal error, crypto operation failed.\",\n },\n {\n description: \"AES CMAC computation fails\",\n statusCode: [0x54, 0x1b],\n expectedMessage: \"Internal error, failed to compute AES CMAC.\",\n },\n {\n description: \"encryption of backup fails\",\n statusCode: [0x54, 0x1c],\n expectedMessage: \"Failed to encrypt the app storage backup.\",\n },\n {\n description: \"device is in recovery mode\",\n statusCode: [0x62, 0x2f],\n expectedMessage: \"Invalid device state, recovery mode.\",\n },\n {\n description: \"backup was already performed\",\n statusCode: [0x66, 0x42],\n expectedMessage: \"Invalid backup state, backup already performed.\",\n },\n {\n description:\n \"error code is not specific to BackupStorageCommand (global error)\",\n statusCode: [0x55, 0x15],\n expectedMessage: \"Device is locked.\",\n },\n ])(\n \"should return error when $description\",\n ({ statusCode, expectedMessage }) => {\n // ARRANGE\n const response = new ApduResponse({\n statusCode: Uint8Array.from(statusCode),\n data: new Uint8Array([]),\n });\n\n // ACT\n const result = new BackupStorageCommand().parseResponse(response);\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(false);\n expect((result as unknown as { error: Error }).error.message).toBe(\n expectedMessage,\n );\n },\n );\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,0BAAAA,MAA8B,mCACvC,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,gBAAAC,MAAoB,mCAE7B,SAAS,uBAAwB,IAAM,CACrC,SAAS,OAAQ,IAAM,CACrB,GAAG,iCAAkC,IAAM,CAKzC,MAAMC,EAHU,IAAIF,EAAqB,EAGpB,KAGrB,OAAOE,CAAI,EAAE,KAAK,eAAe,CACnC,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,4DAA6D,IAAM,CAEpE,MAAMC,EAAe,WAAW,KAAK,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAG7DC,EAAO,IAAIJ,EAAqB,EAAE,QAAQ,EAGhD,OAAOI,EAAK,WAAW,CAAC,EAAE,QAAQD,CAAY,CAChD,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,2DAA4D,IAAM,CAEnE,MAAME,EAAa,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACzCC,EAAW,IAAIL,EAAa,CAChC,WAAAI,EACA,KAAM,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAM,EAAI,CAAC,CACtD,CAAC,EAGKE,EAAS,IAAIP,EAAqB,EAAE,cAAcM,CAAQ,EAGhE,OAAOP,EAAuBQ,CAAM,CAAC,EAAE,KAAK,EAAI,EAChD,OAAOA,CAAM,EAAE,QAAQ,CACrB,KAAM,CACJ,UAAW,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAM,EAAI,CAAC,EACzD,UAAW,CACb,EACA,OAAQ,SACV,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,KAAK,CACN,CACE,YAAa,gCACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,2CACnB,EACA,CACE,YAAa,2BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,6BACnB,EACA,CACE,YAAa,yBACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,0CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,6CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,2CACnB,EACA,CACE,YAAa,6BACb,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,sCACnB,EACA,CACE,YAAa,+BACb,WAAY,CAAC,IAAM,EAAI,EACvB,gBAAiB,iDACnB,EACA,CACE,YACE,oEACF,WAAY,CAAC,GAAM,EAAI,EACvB,gBAAiB,mBACnB,CACF,CAAC,EACC,wCACA,CAAC,CAAE,WAAAF,EAAY,gBAAAG,CAAgB,IAAM,CAEnC,MAAMF,EAAW,IAAIL,EAAa,CAChC,WAAY,WAAW,KAAKI,CAAU,EACtC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKE,EAAS,IAAIP,EAAqB,EAAE,cAAcM,CAAQ,EAGhE,OAAOP,EAAuBQ,CAAM,CAAC,EAAE,KAAK,EAAK,EACjD,OAAQA,EAAuC,MAAM,OAAO,EAAE,KAC5DC,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC",
6
- "names": ["isSuccessCommandResult", "BackupStorageCommand", "ApduResponse", "name", "expectedApdu", "apdu", "statusCode", "response", "result", "expectedMessage"]
7
- }
@@ -1,23 +0,0 @@
1
- import { type Apdu } from "../../apdu/model/Apdu";
2
- import { type Command } from "../../command/Command";
3
- import { type CommandResult } from "../../command/model/CommandResult";
4
- import { type CommandErrors } from "../../command/utils/CommandErrors";
5
- import { type ApduResponse } from "../../device-session/ApduResponse";
6
- import { type CommandErrorArgs, DeviceExchangeError } from "../../Error";
7
- export type BackupStorageCommandResponse = {
8
- chunkData: Uint8Array;
9
- chunkSize: number;
10
- };
11
- export type BackupStorageCommandErrorCodes = "5123" | "5419" | "541a" | "541b" | "541c" | "622f" | "6642";
12
- export declare const BACKUP_STORAGE_ERRORS: CommandErrors<BackupStorageCommandErrorCodes>;
13
- export declare class BackupStorageCommandError extends DeviceExchangeError<BackupStorageCommandErrorCodes> {
14
- constructor(args: CommandErrorArgs<BackupStorageCommandErrorCodes>);
15
- }
16
- export type BackupStorageCommandResult = CommandResult<BackupStorageCommandResponse, BackupStorageCommandErrorCodes>;
17
- export declare class BackupStorageCommand implements Command<BackupStorageCommandResponse, void, BackupStorageCommandErrorCodes> {
18
- readonly name = "BackupStorage";
19
- private readonly header;
20
- getApdu(): Apdu;
21
- parseResponse(apduResponse: ApduResponse): BackupStorageCommandResult;
22
- }
23
- //# sourceMappingURL=BackupStorageCommand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackupStorageCommand.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/BackupStorageCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,KAAK,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GACtC,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,8BAA8B,CAS7E,CAAC;AAEJ,qBAAa,yBAA0B,SAAQ,mBAAmB,CAAC,8BAA8B,CAAC;gBACpF,IAAI,EAAE,gBAAgB,CAAC,8BAA8B,CAAC;CAGnE;AAED,MAAM,MAAM,0BAA0B,GAAG,aAAa,CACpD,4BAA4B,EAC5B,8BAA8B,CAC/B,CAAC;AAEF,qBAAa,oBACX,YACE,OAAO,CAAC,4BAA4B,EAAE,IAAI,EAAE,8BAA8B,CAAC;IAE7E,QAAQ,CAAC,IAAI,mBAAmB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAKrB;IAEF,OAAO,IAAI,IAAI;IAIf,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,0BAA0B;CAqCtE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BackupStorageCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackupStorageCommand.test.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/BackupStorageCommand.test.ts"],"names":[],"mappings":""}