@ledgerhq/device-management-kit 0.0.0-develop-20261108000919 → 0.0.0-develop-20261110000801

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.
@@ -61,5 +61,5 @@
61
61
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
62
62
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
63
63
  },
64
- "version": "0.0.0-develop-20261108000919"
64
+ "version": "0.0.0-develop-20261110000801"
65
65
  }
@@ -1,2 +1,2 @@
1
- "use strict";var f=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var a=(x,r)=>{for(var i in r)f(x,i,{get:r[i],enumerable:!0})},y=(x,r,i,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of c(r))!l.call(x,e)&&e!==i&&f(x,e,{get:()=>r[e],enumerable:!(p=A(r,e))||p.enumerable});return x};var R=x=>y(f({},"__esModule",{value:!0}),x);var S={};a(S,{CommandUtils:()=>n});module.exports=R(S);class n{static isValidStatusCode(r){return r.length===2}static isSuccessResponse({statusCode:r}){return n.isValidStatusCode(r)?r[0]===144&&r[1]===0:!1}static isLockedDeviceResponse({statusCode:r}){return n.isValidStatusCode(r)?r[0]===85&&r[1]===21||r[0]===105&&r[1]===130||r[0]===83&&r[1]===3:!1}static isRefusedByUser({statusCode:r}){return n.isValidStatusCode(r)?r[0]===85&&r[1]===1||r[0]===105&&r[1]===133:!1}static isAppAlreadyInstalled({statusCode:r}){return n.isValidStatusCode(r)?r[0]===106&&r[1]===128||r[0]===106&&r[1]===129||r[0]===106&&r[1]===142||r[0]===106&&r[1]===143:!1}static isOutOfMemory({statusCode:r}){return n.isValidStatusCode(r)?r[0]===106&&r[1]===132||r[0]===106&&r[1]===133||r[0]===81&&r[1]===2||r[0]===81&&r[1]===3:!1}static isApduThatTriggersDisconnection(r){const i=new Map;return i.set("openApp",new Uint8Array([224,216,0,0])),i.set("closeApp",new Uint8Array([176,167,0,0])),Array.from(i.values()).some(p=>{for(let e=0;e<4;e++)if(p[e]!==r[e])return!1;return!0})}}0&&(module.exports={CommandUtils});
1
+ "use strict";var f=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var a=(i,r)=>{for(var x in r)f(i,x,{get:r[x],enumerable:!0})},y=(i,r,x,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of c(r))!l.call(i,e)&&e!==x&&f(i,e,{get:()=>r[e],enumerable:!(p=A(r,e))||p.enumerable});return i};var R=i=>y(f({},"__esModule",{value:!0}),i);var S={};a(S,{CommandUtils:()=>n});module.exports=R(S);class n{static isValidStatusCode(r){return r.length===2}static isSuccessResponse({statusCode:r}){return n.isValidStatusCode(r)?r[0]===144&&r[1]===0:!1}static isLockedDeviceResponse({statusCode:r}){return n.isValidStatusCode(r)?r[0]===85&&r[1]===21||r[0]===105&&r[1]===130||r[0]===83&&r[1]===3:!1}static isRefusedByUser({statusCode:r}){return n.isValidStatusCode(r)?r[0]===85&&r[1]===1||r[0]===105&&r[1]===133:!1}static isAppAlreadyInstalled({statusCode:r}){return n.isValidStatusCode(r)?r[0]===106&&r[1]===128||r[0]===106&&r[1]===129||r[0]===106&&r[1]===142||r[0]===106&&r[1]===143:!1}static isOutOfMemory({statusCode:r}){return n.isValidStatusCode(r)?r[0]===106&&r[1]===132||r[0]===106&&r[1]===133||r[0]===81&&r[1]===2||r[0]===81&&r[1]===3||r[0]===103&&r[1]===51:!1}static isApduThatTriggersDisconnection(r){const x=new Map;return x.set("openApp",new Uint8Array([224,216,0,0])),x.set("closeApp",new Uint8Array([176,167,0,0])),Array.from(x.values()).some(p=>{for(let e=0;e<4;e++)if(p[e]!==r[e])return!1;return!0})}}0&&(module.exports={CommandUtils});
2
2
  //# sourceMappingURL=CommandUtils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/utils/CommandUtils.ts"],
4
- "sourcesContent": ["import { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport class CommandUtils {\n static isValidStatusCode(statusCode: Uint8Array) {\n return statusCode.length === 2;\n }\n\n static isSuccessResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return statusCode[0] === 0x90 && statusCode[1] === 0x00;\n }\n\n static isLockedDeviceResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x15) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x82) ||\n (statusCode[0] === 0x53 && statusCode[1] === 0x03)\n );\n }\n\n static isRefusedByUser({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x01) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x85)\n );\n }\n\n static isAppAlreadyInstalled({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x80) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x81) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8e) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8f)\n );\n }\n\n static isOutOfMemory({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x84) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x85) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x02) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x03)\n );\n }\n\n static isApduThatTriggersDisconnection(apdu: Uint8Array) {\n /**\n * Map of known APDUs that trigger a disconnection.\n */\n const apduMap = new Map();\n apduMap.set(\"openApp\", new Uint8Array([0xe0, 0xd8, 0x00, 0x00]));\n apduMap.set(\"closeApp\", new Uint8Array([0xb0, 0xa7, 0x00, 0x00]));\n // TODO: add more APDUs that trigger a disconnection (e.g firmware flashing ?)\n\n // check if apdu first 4 UintArray is included in apduMap\n return Array.from(apduMap.values()).some((value: Uint8Array) => {\n for (let i = 0; i < 4; i++) {\n if (value[i] !== apdu[i]) {\n return false;\n }\n }\n return true;\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAAa,CACxB,OAAO,kBAAkBE,EAAwB,CAC/C,OAAOA,EAAW,SAAW,CAC/B,CAEA,OAAO,kBAAkB,CAAE,WAAAA,CAAW,EAAiB,CACrD,OAAKF,EAAa,kBAAkBE,CAAU,EAIvCA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,EAH1C,EAIX,CAEA,OAAO,uBAAuB,CAAE,WAAAA,CAAW,EAAiB,CAC1D,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,IAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EANtC,EAQX,CAEA,OAAO,gBAAgB,CAAE,WAAAA,CAAW,EAAiB,CACnD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IALtC,EAOX,CAEA,OAAO,sBAAsB,CAAE,WAAAA,CAAW,EAAiB,CACzD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IAPtC,EASX,CAEA,OAAO,cAAc,CAAE,WAAAA,CAAW,EAAiB,CACjD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EAPtC,EASX,CAEA,OAAO,gCAAgCC,EAAkB,CAIvD,MAAMC,EAAU,IAAI,IACpB,OAAAA,EAAQ,IAAI,UAAW,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAC/DA,EAAQ,IAAI,WAAY,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAIzD,MAAM,KAAKA,EAAQ,OAAO,CAAC,EAAE,KAAMC,GAAsB,CAC9D,QAASC,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAID,EAAMC,CAAC,IAAMH,EAAKG,CAAC,EACrB,MAAO,GAGX,MAAO,EACT,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport class CommandUtils {\n static isValidStatusCode(statusCode: Uint8Array) {\n return statusCode.length === 2;\n }\n\n static isSuccessResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return statusCode[0] === 0x90 && statusCode[1] === 0x00;\n }\n\n static isLockedDeviceResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x15) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x82) ||\n (statusCode[0] === 0x53 && statusCode[1] === 0x03)\n );\n }\n\n static isRefusedByUser({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x01) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x85)\n );\n }\n\n static isAppAlreadyInstalled({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x80) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x81) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8e) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8f)\n );\n }\n\n static isOutOfMemory({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x84) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x85) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x02) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x03) ||\n (statusCode[0] === 0x67 && statusCode[1] === 0x33)\n );\n }\n\n static isApduThatTriggersDisconnection(apdu: Uint8Array) {\n /**\n * Map of known APDUs that trigger a disconnection.\n */\n const apduMap = new Map();\n apduMap.set(\"openApp\", new Uint8Array([0xe0, 0xd8, 0x00, 0x00]));\n apduMap.set(\"closeApp\", new Uint8Array([0xb0, 0xa7, 0x00, 0x00]));\n // TODO: add more APDUs that trigger a disconnection (e.g firmware flashing ?)\n\n // check if apdu first 4 UintArray is included in apduMap\n return Array.from(apduMap.values()).some((value: Uint8Array) => {\n for (let i = 0; i < 4; i++) {\n if (value[i] !== apdu[i]) {\n return false;\n }\n }\n return true;\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAAa,CACxB,OAAO,kBAAkBE,EAAwB,CAC/C,OAAOA,EAAW,SAAW,CAC/B,CAEA,OAAO,kBAAkB,CAAE,WAAAA,CAAW,EAAiB,CACrD,OAAKF,EAAa,kBAAkBE,CAAU,EAIvCA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,EAH1C,EAIX,CAEA,OAAO,uBAAuB,CAAE,WAAAA,CAAW,EAAiB,CAC1D,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,IAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EANtC,EAQX,CAEA,OAAO,gBAAgB,CAAE,WAAAA,CAAW,EAAiB,CACnD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IALtC,EAOX,CAEA,OAAO,sBAAsB,CAAE,WAAAA,CAAW,EAAiB,CACzD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IAPtC,EASX,CAEA,OAAO,cAAc,CAAE,WAAAA,CAAW,EAAiB,CACjD,OAAKF,EAAa,kBAAkBE,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,GARtC,EAUX,CAEA,OAAO,gCAAgCC,EAAkB,CAIvD,MAAMC,EAAU,IAAI,IACpB,OAAAA,EAAQ,IAAI,UAAW,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAC/DA,EAAQ,IAAI,WAAY,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAIzD,MAAM,KAAKA,EAAQ,OAAO,CAAC,EAAE,KAAMC,GAAsB,CAC9D,QAASC,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAID,EAAMC,CAAC,IAAMH,EAAKG,CAAC,EACrB,MAAO,GAGX,MAAO,EACT,CAAC,CACH,CACF",
6
6
  "names": ["CommandUtils_exports", "__export", "CommandUtils", "__toCommonJS", "statusCode", "apdu", "apduMap", "value", "i"]
7
7
  }
@@ -61,5 +61,5 @@
61
61
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
62
62
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
63
63
  },
64
- "version": "0.0.0-develop-20261108000919"
64
+ "version": "0.0.0-develop-20261110000801"
65
65
  }
@@ -1,2 +1,2 @@
1
- class e{static isValidStatusCode(r){return r.length===2}static isSuccessResponse({statusCode:r}){return e.isValidStatusCode(r)?r[0]===144&&r[1]===0:!1}static isLockedDeviceResponse({statusCode:r}){return e.isValidStatusCode(r)?r[0]===85&&r[1]===21||r[0]===105&&r[1]===130||r[0]===83&&r[1]===3:!1}static isRefusedByUser({statusCode:r}){return e.isValidStatusCode(r)?r[0]===85&&r[1]===1||r[0]===105&&r[1]===133:!1}static isAppAlreadyInstalled({statusCode:r}){return e.isValidStatusCode(r)?r[0]===106&&r[1]===128||r[0]===106&&r[1]===129||r[0]===106&&r[1]===142||r[0]===106&&r[1]===143:!1}static isOutOfMemory({statusCode:r}){return e.isValidStatusCode(r)?r[0]===106&&r[1]===132||r[0]===106&&r[1]===133||r[0]===81&&r[1]===2||r[0]===81&&r[1]===3:!1}static isApduThatTriggersDisconnection(r){const x=new Map;return x.set("openApp",new Uint8Array([224,216,0,0])),x.set("closeApp",new Uint8Array([176,167,0,0])),Array.from(x.values()).some(n=>{for(let i=0;i<4;i++)if(n[i]!==r[i])return!1;return!0})}}export{e as CommandUtils};
1
+ class e{static isValidStatusCode(r){return r.length===2}static isSuccessResponse({statusCode:r}){return e.isValidStatusCode(r)?r[0]===144&&r[1]===0:!1}static isLockedDeviceResponse({statusCode:r}){return e.isValidStatusCode(r)?r[0]===85&&r[1]===21||r[0]===105&&r[1]===130||r[0]===83&&r[1]===3:!1}static isRefusedByUser({statusCode:r}){return e.isValidStatusCode(r)?r[0]===85&&r[1]===1||r[0]===105&&r[1]===133:!1}static isAppAlreadyInstalled({statusCode:r}){return e.isValidStatusCode(r)?r[0]===106&&r[1]===128||r[0]===106&&r[1]===129||r[0]===106&&r[1]===142||r[0]===106&&r[1]===143:!1}static isOutOfMemory({statusCode:r}){return e.isValidStatusCode(r)?r[0]===106&&r[1]===132||r[0]===106&&r[1]===133||r[0]===81&&r[1]===2||r[0]===81&&r[1]===3||r[0]===103&&r[1]===51:!1}static isApduThatTriggersDisconnection(r){const i=new Map;return i.set("openApp",new Uint8Array([224,216,0,0])),i.set("closeApp",new Uint8Array([176,167,0,0])),Array.from(i.values()).some(n=>{for(let x=0;x<4;x++)if(n[x]!==r[x])return!1;return!0})}}export{e as CommandUtils};
2
2
  //# sourceMappingURL=CommandUtils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/utils/CommandUtils.ts"],
4
- "sourcesContent": ["import { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport class CommandUtils {\n static isValidStatusCode(statusCode: Uint8Array) {\n return statusCode.length === 2;\n }\n\n static isSuccessResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return statusCode[0] === 0x90 && statusCode[1] === 0x00;\n }\n\n static isLockedDeviceResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x15) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x82) ||\n (statusCode[0] === 0x53 && statusCode[1] === 0x03)\n );\n }\n\n static isRefusedByUser({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x01) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x85)\n );\n }\n\n static isAppAlreadyInstalled({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x80) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x81) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8e) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8f)\n );\n }\n\n static isOutOfMemory({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x84) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x85) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x02) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x03)\n );\n }\n\n static isApduThatTriggersDisconnection(apdu: Uint8Array) {\n /**\n * Map of known APDUs that trigger a disconnection.\n */\n const apduMap = new Map();\n apduMap.set(\"openApp\", new Uint8Array([0xe0, 0xd8, 0x00, 0x00]));\n apduMap.set(\"closeApp\", new Uint8Array([0xb0, 0xa7, 0x00, 0x00]));\n // TODO: add more APDUs that trigger a disconnection (e.g firmware flashing ?)\n\n // check if apdu first 4 UintArray is included in apduMap\n return Array.from(apduMap.values()).some((value: Uint8Array) => {\n for (let i = 0; i < 4; i++) {\n if (value[i] !== apdu[i]) {\n return false;\n }\n }\n return true;\n });\n }\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAa,CACxB,OAAO,kBAAkBC,EAAwB,CAC/C,OAAOA,EAAW,SAAW,CAC/B,CAEA,OAAO,kBAAkB,CAAE,WAAAA,CAAW,EAAiB,CACrD,OAAKD,EAAa,kBAAkBC,CAAU,EAIvCA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,EAH1C,EAIX,CAEA,OAAO,uBAAuB,CAAE,WAAAA,CAAW,EAAiB,CAC1D,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,IAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EANtC,EAQX,CAEA,OAAO,gBAAgB,CAAE,WAAAA,CAAW,EAAiB,CACnD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IALtC,EAOX,CAEA,OAAO,sBAAsB,CAAE,WAAAA,CAAW,EAAiB,CACzD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IAPtC,EASX,CAEA,OAAO,cAAc,CAAE,WAAAA,CAAW,EAAiB,CACjD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EAPtC,EASX,CAEA,OAAO,gCAAgCC,EAAkB,CAIvD,MAAMC,EAAU,IAAI,IACpB,OAAAA,EAAQ,IAAI,UAAW,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAC/DA,EAAQ,IAAI,WAAY,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAIzD,MAAM,KAAKA,EAAQ,OAAO,CAAC,EAAE,KAAMC,GAAsB,CAC9D,QAAS,EAAI,EAAG,EAAI,EAAG,IACrB,GAAIA,EAAM,CAAC,IAAMF,EAAK,CAAC,EACrB,MAAO,GAGX,MAAO,EACT,CAAC,CACH,CACF",
6
- "names": ["CommandUtils", "statusCode", "apdu", "apduMap", "value"]
4
+ "sourcesContent": ["import { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport class CommandUtils {\n static isValidStatusCode(statusCode: Uint8Array) {\n return statusCode.length === 2;\n }\n\n static isSuccessResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return statusCode[0] === 0x90 && statusCode[1] === 0x00;\n }\n\n static isLockedDeviceResponse({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x15) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x82) ||\n (statusCode[0] === 0x53 && statusCode[1] === 0x03)\n );\n }\n\n static isRefusedByUser({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x55 && statusCode[1] === 0x01) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x85)\n );\n }\n\n static isAppAlreadyInstalled({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x80) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x81) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8e) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x8f)\n );\n }\n\n static isOutOfMemory({ statusCode }: ApduResponse) {\n if (!CommandUtils.isValidStatusCode(statusCode)) {\n return false;\n }\n\n return (\n (statusCode[0] === 0x6a && statusCode[1] === 0x84) ||\n (statusCode[0] === 0x6a && statusCode[1] === 0x85) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x02) ||\n (statusCode[0] === 0x51 && statusCode[1] === 0x03) ||\n (statusCode[0] === 0x67 && statusCode[1] === 0x33)\n );\n }\n\n static isApduThatTriggersDisconnection(apdu: Uint8Array) {\n /**\n * Map of known APDUs that trigger a disconnection.\n */\n const apduMap = new Map();\n apduMap.set(\"openApp\", new Uint8Array([0xe0, 0xd8, 0x00, 0x00]));\n apduMap.set(\"closeApp\", new Uint8Array([0xb0, 0xa7, 0x00, 0x00]));\n // TODO: add more APDUs that trigger a disconnection (e.g firmware flashing ?)\n\n // check if apdu first 4 UintArray is included in apduMap\n return Array.from(apduMap.values()).some((value: Uint8Array) => {\n for (let i = 0; i < 4; i++) {\n if (value[i] !== apdu[i]) {\n return false;\n }\n }\n return true;\n });\n }\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAa,CACxB,OAAO,kBAAkBC,EAAwB,CAC/C,OAAOA,EAAW,SAAW,CAC/B,CAEA,OAAO,kBAAkB,CAAE,WAAAA,CAAW,EAAiB,CACrD,OAAKD,EAAa,kBAAkBC,CAAU,EAIvCA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,EAH1C,EAIX,CAEA,OAAO,uBAAuB,CAAE,WAAAA,CAAW,EAAiB,CAC1D,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,IAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,EANtC,EAQX,CAEA,OAAO,gBAAgB,CAAE,WAAAA,CAAW,EAAiB,CACnD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IALtC,EAOX,CAEA,OAAO,sBAAsB,CAAE,WAAAA,CAAW,EAAiB,CACzD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IAPtC,EASX,CAEA,OAAO,cAAc,CAAE,WAAAA,CAAW,EAAiB,CACjD,OAAKD,EAAa,kBAAkBC,CAAU,EAK3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,KAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC5CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,GARtC,EAUX,CAEA,OAAO,gCAAgCC,EAAkB,CAIvD,MAAMC,EAAU,IAAI,IACpB,OAAAA,EAAQ,IAAI,UAAW,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAC/DA,EAAQ,IAAI,WAAY,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,CAAI,CAAC,CAAC,EAIzD,MAAM,KAAKA,EAAQ,OAAO,CAAC,EAAE,KAAMC,GAAsB,CAC9D,QAASC,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAID,EAAMC,CAAC,IAAMH,EAAKG,CAAC,EACrB,MAAO,GAGX,MAAO,EACT,CAAC,CACH,CACF",
6
+ "names": ["CommandUtils", "statusCode", "apdu", "apduMap", "value", "i"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/utils/CommandUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,qBAAa,YAAY;IACvB,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAI/C,MAAM,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAQrD,MAAM,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAY1D,MAAM,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAWnD,MAAM,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAazD,MAAM,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAajD,MAAM,CAAC,+BAA+B,CAAC,IAAI,EAAE,UAAU;CAmBxD"}
1
+ {"version":3,"file":"CommandUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/utils/CommandUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,qBAAa,YAAY;IACvB,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAI/C,MAAM,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAQrD,MAAM,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAY1D,MAAM,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAWnD,MAAM,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAazD,MAAM,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY;IAcjD,MAAM,CAAC,+BAA+B,CAAC,IAAI,EAAE,UAAU;CAmBxD"}