@ledgerhq/device-trusted-app-kit-ledger-keyring-protocol 0.0.0-ledger-button-20250806141658

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 (510) hide show
  1. package/LICENSE.MD +202 -0
  2. package/README.md +32 -0
  3. package/lib/cjs/api/LedgerKeyringProtocol.js +2 -0
  4. package/lib/cjs/api/LedgerKeyringProtocol.js.map +7 -0
  5. package/lib/cjs/api/LedgerKeyringProtocolBuilder.js +2 -0
  6. package/lib/cjs/api/LedgerKeyringProtocolBuilder.js.map +7 -0
  7. package/lib/cjs/api/app-binder/AddToTrustchainDeviceActionTypes.js +2 -0
  8. package/lib/cjs/api/app-binder/AddToTrustchainDeviceActionTypes.js.map +7 -0
  9. package/lib/cjs/api/app-binder/AuthenticateDeviceActionTypes.js +2 -0
  10. package/lib/cjs/api/app-binder/AuthenticateDeviceActionTypes.js.map +7 -0
  11. package/lib/cjs/api/app-binder/Errors.js +2 -0
  12. package/lib/cjs/api/app-binder/Errors.js.map +7 -0
  13. package/lib/cjs/api/app-binder/GetAppNameCommandTypes.js +2 -0
  14. package/lib/cjs/api/app-binder/GetAppNameCommandTypes.js.map +7 -0
  15. package/lib/cjs/api/app-binder/GetSeedIdCommandTypes.js +2 -0
  16. package/lib/cjs/api/app-binder/GetSeedIdCommandTypes.js.map +7 -0
  17. package/lib/cjs/api/app-binder/GetVersionCommandTypes.js +2 -0
  18. package/lib/cjs/api/app-binder/GetVersionCommandTypes.js.map +7 -0
  19. package/lib/cjs/api/app-binder/GetVersionDeviceActionTypes.js +2 -0
  20. package/lib/cjs/api/app-binder/GetVersionDeviceActionTypes.js.map +7 -0
  21. package/lib/cjs/api/app-binder/InitCommandTypes.js +2 -0
  22. package/lib/cjs/api/app-binder/InitCommandTypes.js.map +7 -0
  23. package/lib/cjs/api/app-binder/KeypairFromBytes.js +2 -0
  24. package/lib/cjs/api/app-binder/KeypairFromBytes.js.map +7 -0
  25. package/lib/cjs/api/app-binder/LKRPTypes.js +2 -0
  26. package/lib/cjs/api/app-binder/LKRPTypes.js.map +7 -0
  27. package/lib/cjs/api/app-binder/ParseStreamBlockCommandCommandTypes.js +2 -0
  28. package/lib/cjs/api/app-binder/ParseStreamBlockCommandCommandTypes.js.map +7 -0
  29. package/lib/cjs/api/app-binder/ParseStreamBlockHeaderCommandTypes.js +2 -0
  30. package/lib/cjs/api/app-binder/ParseStreamBlockHeaderCommandTypes.js.map +7 -0
  31. package/lib/cjs/api/app-binder/ParseStreamBlockSignatureTypes.js +2 -0
  32. package/lib/cjs/api/app-binder/ParseStreamBlockSignatureTypes.js.map +7 -0
  33. package/lib/cjs/api/app-binder/SetTrustedMemberTypes.js +2 -0
  34. package/lib/cjs/api/app-binder/SetTrustedMemberTypes.js.map +7 -0
  35. package/lib/cjs/api/app-binder/SignBlockCommandTypes.js +2 -0
  36. package/lib/cjs/api/app-binder/SignBlockCommandTypes.js.map +7 -0
  37. package/lib/cjs/api/app-binder/SignBlockHeaderCommandTypes.js +2 -0
  38. package/lib/cjs/api/app-binder/SignBlockHeaderCommandTypes.js.map +7 -0
  39. package/lib/cjs/api/app-binder/SignBlockSignatureCommandTypes.js +2 -0
  40. package/lib/cjs/api/app-binder/SignBlockSignatureCommandTypes.js.map +7 -0
  41. package/lib/cjs/api/app-binder/SignBlockSingleCommandTypes.js +2 -0
  42. package/lib/cjs/api/app-binder/SignBlockSingleCommandTypes.js.map +7 -0
  43. package/lib/cjs/api/index.js +2 -0
  44. package/lib/cjs/api/index.js.map +7 -0
  45. package/lib/cjs/index.js +2 -0
  46. package/lib/cjs/index.js.map +7 -0
  47. package/lib/cjs/internal/DefaultLedgerKeyringProtocol.js +2 -0
  48. package/lib/cjs/internal/DefaultLedgerKeyringProtocol.js.map +7 -0
  49. package/lib/cjs/internal/app-binder/LedgerKeyringProtocolBinder.js +2 -0
  50. package/lib/cjs/internal/app-binder/LedgerKeyringProtocolBinder.js.map +7 -0
  51. package/lib/cjs/internal/app-binder/command/GetAppNameCommand.js +2 -0
  52. package/lib/cjs/internal/app-binder/command/GetAppNameCommand.js.map +7 -0
  53. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.js +2 -0
  54. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.js.map +7 -0
  55. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.test.js +27 -0
  56. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.test.js.map +7 -0
  57. package/lib/cjs/internal/app-binder/command/GetVersionCommand.js +2 -0
  58. package/lib/cjs/internal/app-binder/command/GetVersionCommand.js.map +7 -0
  59. package/lib/cjs/internal/app-binder/command/InitCommand.js +2 -0
  60. package/lib/cjs/internal/app-binder/command/InitCommand.js.map +7 -0
  61. package/lib/cjs/internal/app-binder/command/InitCommand.test.js +2 -0
  62. package/lib/cjs/internal/app-binder/command/InitCommand.test.js.map +7 -0
  63. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.js +2 -0
  64. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.js.map +7 -0
  65. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.test.js +2 -0
  66. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.test.js.map +7 -0
  67. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.js +2 -0
  68. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.js.map +7 -0
  69. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.test.js +2 -0
  70. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.test.js.map +7 -0
  71. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.js +2 -0
  72. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.js.map +7 -0
  73. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.test.js +2 -0
  74. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.test.js.map +7 -0
  75. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.js +2 -0
  76. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.js.map +7 -0
  77. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.test.js +2 -0
  78. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.test.js.map +7 -0
  79. package/lib/cjs/internal/app-binder/command/SignBlockHeader.js +2 -0
  80. package/lib/cjs/internal/app-binder/command/SignBlockHeader.js.map +7 -0
  81. package/lib/cjs/internal/app-binder/command/SignBlockHeader.test.js +2 -0
  82. package/lib/cjs/internal/app-binder/command/SignBlockHeader.test.js.map +7 -0
  83. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.js +2 -0
  84. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.js.map +7 -0
  85. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.test.js +2 -0
  86. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.test.js.map +7 -0
  87. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.js +2 -0
  88. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.js.map +7 -0
  89. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.test.js +2 -0
  90. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.test.js.map +7 -0
  91. package/lib/cjs/internal/app-binder/command/utils/extractTrustedProperty.js +2 -0
  92. package/lib/cjs/internal/app-binder/command/utils/extractTrustedProperty.js.map +7 -0
  93. package/lib/cjs/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.js +2 -0
  94. package/lib/cjs/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.js.map +7 -0
  95. package/lib/cjs/internal/app-binder/device-action/AddToTrustchainDeviceAction.js +2 -0
  96. package/lib/cjs/internal/app-binder/device-action/AddToTrustchainDeviceAction.js.map +7 -0
  97. package/lib/cjs/internal/app-binder/device-action/AuthenticateDeviceAction.js +2 -0
  98. package/lib/cjs/internal/app-binder/device-action/AuthenticateDeviceAction.js.map +7 -0
  99. package/lib/cjs/internal/app-binder/device-action/utils/raiseAndAssign.js +2 -0
  100. package/lib/cjs/internal/app-binder/device-action/utils/raiseAndAssign.js.map +7 -0
  101. package/lib/cjs/internal/app-binder/di/appBinderModule.js +2 -0
  102. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +7 -0
  103. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +2 -0
  104. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +7 -0
  105. package/lib/cjs/internal/app-binder/task/InitTask.js +2 -0
  106. package/lib/cjs/internal/app-binder/task/InitTask.js.map +7 -0
  107. package/lib/cjs/internal/app-binder/task/ParseStreamToDeviceTask.js +2 -0
  108. package/lib/cjs/internal/app-binder/task/ParseStreamToDeviceTask.js.map +7 -0
  109. package/lib/cjs/internal/app-binder/task/SignBlockTask.js +2 -0
  110. package/lib/cjs/internal/app-binder/task/SignBlockTask.js.map +7 -0
  111. package/lib/cjs/internal/app-binder/task/SignChallengeWithDeviceTask.js +2 -0
  112. package/lib/cjs/internal/app-binder/task/SignChallengeWithDeviceTask.js.map +7 -0
  113. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.js +2 -0
  114. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.js.map +7 -0
  115. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.test.js +2 -0
  116. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.test.js.map +7 -0
  117. package/lib/cjs/internal/app-binder/task/utils/TrustedProperties.js +2 -0
  118. package/lib/cjs/internal/app-binder/task/utils/TrustedProperties.js.map +7 -0
  119. package/lib/cjs/internal/di.js +2 -0
  120. package/lib/cjs/internal/di.js.map +7 -0
  121. package/lib/cjs/internal/externalTypes.js +2 -0
  122. package/lib/cjs/internal/externalTypes.js.map +7 -0
  123. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.js +2 -0
  124. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.js.map +7 -0
  125. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js +2 -0
  126. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js.map +7 -0
  127. package/lib/cjs/internal/lkrp-datasource/data/LKRPDataSource.js +2 -0
  128. package/lib/cjs/internal/lkrp-datasource/data/LKRPDataSource.js.map +7 -0
  129. package/lib/cjs/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.js +2 -0
  130. package/lib/cjs/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.js.map +7 -0
  131. package/lib/cjs/internal/lkrp-datasource/di/lkrpDatasourceTypes.js +2 -0
  132. package/lib/cjs/internal/lkrp-datasource/di/lkrpDatasourceTypes.js.map +7 -0
  133. package/lib/cjs/internal/use-cases/authentication/AuthenticateUseCase.js +2 -0
  134. package/lib/cjs/internal/use-cases/authentication/AuthenticateUseCase.js.map +7 -0
  135. package/lib/cjs/internal/use-cases/di/useCasesModule.js +2 -0
  136. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +7 -0
  137. package/lib/cjs/internal/use-cases/di/useCasesTypes.js +2 -0
  138. package/lib/cjs/internal/use-cases/di/useCasesTypes.js.map +7 -0
  139. package/lib/cjs/internal/utils/LKRPBlock.js +5 -0
  140. package/lib/cjs/internal/utils/LKRPBlock.js.map +7 -0
  141. package/lib/cjs/internal/utils/LKRPBlock.test.js +24 -0
  142. package/lib/cjs/internal/utils/LKRPBlock.test.js.map +7 -0
  143. package/lib/cjs/internal/utils/LKRPBlockStream.js +4 -0
  144. package/lib/cjs/internal/utils/LKRPBlockStream.js.map +7 -0
  145. package/lib/cjs/internal/utils/LKRPBlockStream.test.js +39 -0
  146. package/lib/cjs/internal/utils/LKRPBlockStream.test.js.map +7 -0
  147. package/lib/cjs/internal/utils/LKRPCommand.js +3 -0
  148. package/lib/cjs/internal/utils/LKRPCommand.js.map +7 -0
  149. package/lib/cjs/internal/utils/LKRPCommand.test.js +3 -0
  150. package/lib/cjs/internal/utils/LKRPCommand.test.js.map +7 -0
  151. package/lib/cjs/internal/utils/TLVBuilder.js +2 -0
  152. package/lib/cjs/internal/utils/TLVBuilder.js.map +7 -0
  153. package/lib/cjs/internal/utils/TLVParser.js +2 -0
  154. package/lib/cjs/internal/utils/TLVParser.js.map +7 -0
  155. package/lib/cjs/internal/utils/TLVParser.test.js +2 -0
  156. package/lib/cjs/internal/utils/TLVParser.test.js.map +7 -0
  157. package/lib/cjs/internal/utils/TLVTags.js +2 -0
  158. package/lib/cjs/internal/utils/TLVTags.js.map +7 -0
  159. package/lib/cjs/internal/utils/crypto.js +2 -0
  160. package/lib/cjs/internal/utils/crypto.js.map +7 -0
  161. package/lib/cjs/internal/utils/derivationPath.js +2 -0
  162. package/lib/cjs/internal/utils/derivationPath.js.map +7 -0
  163. package/lib/cjs/internal/utils/eitherSeqRecord.js +2 -0
  164. package/lib/cjs/internal/utils/eitherSeqRecord.js.map +7 -0
  165. package/lib/cjs/internal/utils/hex.js +2 -0
  166. package/lib/cjs/internal/utils/hex.js.map +7 -0
  167. package/lib/cjs/internal/utils/required.js +2 -0
  168. package/lib/cjs/internal/utils/required.js.map +7 -0
  169. package/lib/cjs/internal/utils/types.js +2 -0
  170. package/lib/cjs/internal/utils/types.js.map +7 -0
  171. package/lib/cjs/package.json +55 -0
  172. package/lib/esm/api/LedgerKeyringProtocol.js +1 -0
  173. package/lib/esm/api/LedgerKeyringProtocol.js.map +7 -0
  174. package/lib/esm/api/LedgerKeyringProtocolBuilder.js +2 -0
  175. package/lib/esm/api/LedgerKeyringProtocolBuilder.js.map +7 -0
  176. package/lib/esm/api/app-binder/AddToTrustchainDeviceActionTypes.js +1 -0
  177. package/lib/esm/api/app-binder/AddToTrustchainDeviceActionTypes.js.map +7 -0
  178. package/lib/esm/api/app-binder/AuthenticateDeviceActionTypes.js +1 -0
  179. package/lib/esm/api/app-binder/AuthenticateDeviceActionTypes.js.map +7 -0
  180. package/lib/esm/api/app-binder/Errors.js +2 -0
  181. package/lib/esm/api/app-binder/Errors.js.map +7 -0
  182. package/lib/esm/api/app-binder/GetAppNameCommandTypes.js +1 -0
  183. package/lib/esm/api/app-binder/GetAppNameCommandTypes.js.map +7 -0
  184. package/lib/esm/api/app-binder/GetSeedIdCommandTypes.js +1 -0
  185. package/lib/esm/api/app-binder/GetSeedIdCommandTypes.js.map +7 -0
  186. package/lib/esm/api/app-binder/GetVersionCommandTypes.js +1 -0
  187. package/lib/esm/api/app-binder/GetVersionCommandTypes.js.map +7 -0
  188. package/lib/esm/api/app-binder/GetVersionDeviceActionTypes.js +1 -0
  189. package/lib/esm/api/app-binder/GetVersionDeviceActionTypes.js.map +7 -0
  190. package/lib/esm/api/app-binder/InitCommandTypes.js +1 -0
  191. package/lib/esm/api/app-binder/InitCommandTypes.js.map +7 -0
  192. package/lib/esm/api/app-binder/KeypairFromBytes.js +2 -0
  193. package/lib/esm/api/app-binder/KeypairFromBytes.js.map +7 -0
  194. package/lib/esm/api/app-binder/LKRPTypes.js +2 -0
  195. package/lib/esm/api/app-binder/LKRPTypes.js.map +7 -0
  196. package/lib/esm/api/app-binder/ParseStreamBlockCommandCommandTypes.js +1 -0
  197. package/lib/esm/api/app-binder/ParseStreamBlockCommandCommandTypes.js.map +7 -0
  198. package/lib/esm/api/app-binder/ParseStreamBlockHeaderCommandTypes.js +1 -0
  199. package/lib/esm/api/app-binder/ParseStreamBlockHeaderCommandTypes.js.map +7 -0
  200. package/lib/esm/api/app-binder/ParseStreamBlockSignatureTypes.js +1 -0
  201. package/lib/esm/api/app-binder/ParseStreamBlockSignatureTypes.js.map +7 -0
  202. package/lib/esm/api/app-binder/SetTrustedMemberTypes.js +1 -0
  203. package/lib/esm/api/app-binder/SetTrustedMemberTypes.js.map +7 -0
  204. package/lib/esm/api/app-binder/SignBlockCommandTypes.js +1 -0
  205. package/lib/esm/api/app-binder/SignBlockCommandTypes.js.map +7 -0
  206. package/lib/esm/api/app-binder/SignBlockHeaderCommandTypes.js +1 -0
  207. package/lib/esm/api/app-binder/SignBlockHeaderCommandTypes.js.map +7 -0
  208. package/lib/esm/api/app-binder/SignBlockSignatureCommandTypes.js +1 -0
  209. package/lib/esm/api/app-binder/SignBlockSignatureCommandTypes.js.map +7 -0
  210. package/lib/esm/api/app-binder/SignBlockSingleCommandTypes.js +1 -0
  211. package/lib/esm/api/app-binder/SignBlockSingleCommandTypes.js.map +7 -0
  212. package/lib/esm/api/index.js +2 -0
  213. package/lib/esm/api/index.js.map +7 -0
  214. package/lib/esm/index.js +2 -0
  215. package/lib/esm/index.js.map +7 -0
  216. package/lib/esm/internal/DefaultLedgerKeyringProtocol.js +2 -0
  217. package/lib/esm/internal/DefaultLedgerKeyringProtocol.js.map +7 -0
  218. package/lib/esm/internal/app-binder/LedgerKeyringProtocolBinder.js +2 -0
  219. package/lib/esm/internal/app-binder/LedgerKeyringProtocolBinder.js.map +7 -0
  220. package/lib/esm/internal/app-binder/command/GetAppNameCommand.js +2 -0
  221. package/lib/esm/internal/app-binder/command/GetAppNameCommand.js.map +7 -0
  222. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.js +2 -0
  223. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.js.map +7 -0
  224. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.test.js +27 -0
  225. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.test.js.map +7 -0
  226. package/lib/esm/internal/app-binder/command/GetVersionCommand.js +2 -0
  227. package/lib/esm/internal/app-binder/command/GetVersionCommand.js.map +7 -0
  228. package/lib/esm/internal/app-binder/command/InitCommand.js +2 -0
  229. package/lib/esm/internal/app-binder/command/InitCommand.js.map +7 -0
  230. package/lib/esm/internal/app-binder/command/InitCommand.test.js +2 -0
  231. package/lib/esm/internal/app-binder/command/InitCommand.test.js.map +7 -0
  232. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.js +2 -0
  233. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.js.map +7 -0
  234. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.test.js +2 -0
  235. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.test.js.map +7 -0
  236. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.js +2 -0
  237. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.js.map +7 -0
  238. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.test.js +2 -0
  239. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.test.js.map +7 -0
  240. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.js +2 -0
  241. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.js.map +7 -0
  242. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.test.js +2 -0
  243. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.test.js.map +7 -0
  244. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.js +2 -0
  245. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.js.map +7 -0
  246. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.test.js +2 -0
  247. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.test.js.map +7 -0
  248. package/lib/esm/internal/app-binder/command/SignBlockHeader.js +2 -0
  249. package/lib/esm/internal/app-binder/command/SignBlockHeader.js.map +7 -0
  250. package/lib/esm/internal/app-binder/command/SignBlockHeader.test.js +2 -0
  251. package/lib/esm/internal/app-binder/command/SignBlockHeader.test.js.map +7 -0
  252. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.js +2 -0
  253. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.js.map +7 -0
  254. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.test.js +2 -0
  255. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.test.js.map +7 -0
  256. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.js +2 -0
  257. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.js.map +7 -0
  258. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.test.js +2 -0
  259. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.test.js.map +7 -0
  260. package/lib/esm/internal/app-binder/command/utils/extractTrustedProperty.js +2 -0
  261. package/lib/esm/internal/app-binder/command/utils/extractTrustedProperty.js.map +7 -0
  262. package/lib/esm/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.js +2 -0
  263. package/lib/esm/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.js.map +7 -0
  264. package/lib/esm/internal/app-binder/device-action/AddToTrustchainDeviceAction.js +2 -0
  265. package/lib/esm/internal/app-binder/device-action/AddToTrustchainDeviceAction.js.map +7 -0
  266. package/lib/esm/internal/app-binder/device-action/AuthenticateDeviceAction.js +2 -0
  267. package/lib/esm/internal/app-binder/device-action/AuthenticateDeviceAction.js.map +7 -0
  268. package/lib/esm/internal/app-binder/device-action/utils/raiseAndAssign.js +2 -0
  269. package/lib/esm/internal/app-binder/device-action/utils/raiseAndAssign.js.map +7 -0
  270. package/lib/esm/internal/app-binder/di/appBinderModule.js +2 -0
  271. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +7 -0
  272. package/lib/esm/internal/app-binder/di/appBinderTypes.js +2 -0
  273. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +7 -0
  274. package/lib/esm/internal/app-binder/task/InitTask.js +2 -0
  275. package/lib/esm/internal/app-binder/task/InitTask.js.map +7 -0
  276. package/lib/esm/internal/app-binder/task/ParseStreamToDeviceTask.js +2 -0
  277. package/lib/esm/internal/app-binder/task/ParseStreamToDeviceTask.js.map +7 -0
  278. package/lib/esm/internal/app-binder/task/SignBlockTask.js +2 -0
  279. package/lib/esm/internal/app-binder/task/SignBlockTask.js.map +7 -0
  280. package/lib/esm/internal/app-binder/task/SignChallengeWithDeviceTask.js +2 -0
  281. package/lib/esm/internal/app-binder/task/SignChallengeWithDeviceTask.js.map +7 -0
  282. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.js +2 -0
  283. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.js.map +7 -0
  284. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.test.js +2 -0
  285. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.test.js.map +7 -0
  286. package/lib/esm/internal/app-binder/task/utils/TrustedProperties.js +2 -0
  287. package/lib/esm/internal/app-binder/task/utils/TrustedProperties.js.map +7 -0
  288. package/lib/esm/internal/di.js +2 -0
  289. package/lib/esm/internal/di.js.map +7 -0
  290. package/lib/esm/internal/externalTypes.js +2 -0
  291. package/lib/esm/internal/externalTypes.js.map +7 -0
  292. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.js +2 -0
  293. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.js.map +7 -0
  294. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js +2 -0
  295. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js.map +7 -0
  296. package/lib/esm/internal/lkrp-datasource/data/LKRPDataSource.js +1 -0
  297. package/lib/esm/internal/lkrp-datasource/data/LKRPDataSource.js.map +7 -0
  298. package/lib/esm/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.js +2 -0
  299. package/lib/esm/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.js.map +7 -0
  300. package/lib/esm/internal/lkrp-datasource/di/lkrpDatasourceTypes.js +2 -0
  301. package/lib/esm/internal/lkrp-datasource/di/lkrpDatasourceTypes.js.map +7 -0
  302. package/lib/esm/internal/use-cases/authentication/AuthenticateUseCase.js +2 -0
  303. package/lib/esm/internal/use-cases/authentication/AuthenticateUseCase.js.map +7 -0
  304. package/lib/esm/internal/use-cases/di/useCasesModule.js +2 -0
  305. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +7 -0
  306. package/lib/esm/internal/use-cases/di/useCasesTypes.js +2 -0
  307. package/lib/esm/internal/use-cases/di/useCasesTypes.js.map +7 -0
  308. package/lib/esm/internal/utils/LKRPBlock.js +5 -0
  309. package/lib/esm/internal/utils/LKRPBlock.js.map +7 -0
  310. package/lib/esm/internal/utils/LKRPBlock.test.js +24 -0
  311. package/lib/esm/internal/utils/LKRPBlock.test.js.map +7 -0
  312. package/lib/esm/internal/utils/LKRPBlockStream.js +4 -0
  313. package/lib/esm/internal/utils/LKRPBlockStream.js.map +7 -0
  314. package/lib/esm/internal/utils/LKRPBlockStream.test.js +39 -0
  315. package/lib/esm/internal/utils/LKRPBlockStream.test.js.map +7 -0
  316. package/lib/esm/internal/utils/LKRPCommand.js +3 -0
  317. package/lib/esm/internal/utils/LKRPCommand.js.map +7 -0
  318. package/lib/esm/internal/utils/LKRPCommand.test.js +3 -0
  319. package/lib/esm/internal/utils/LKRPCommand.test.js.map +7 -0
  320. package/lib/esm/internal/utils/TLVBuilder.js +2 -0
  321. package/lib/esm/internal/utils/TLVBuilder.js.map +7 -0
  322. package/lib/esm/internal/utils/TLVParser.js +2 -0
  323. package/lib/esm/internal/utils/TLVParser.js.map +7 -0
  324. package/lib/esm/internal/utils/TLVParser.test.js +2 -0
  325. package/lib/esm/internal/utils/TLVParser.test.js.map +7 -0
  326. package/lib/esm/internal/utils/TLVTags.js +2 -0
  327. package/lib/esm/internal/utils/TLVTags.js.map +7 -0
  328. package/lib/esm/internal/utils/crypto.js +2 -0
  329. package/lib/esm/internal/utils/crypto.js.map +7 -0
  330. package/lib/esm/internal/utils/derivationPath.js +2 -0
  331. package/lib/esm/internal/utils/derivationPath.js.map +7 -0
  332. package/lib/esm/internal/utils/eitherSeqRecord.js +2 -0
  333. package/lib/esm/internal/utils/eitherSeqRecord.js.map +7 -0
  334. package/lib/esm/internal/utils/hex.js +2 -0
  335. package/lib/esm/internal/utils/hex.js.map +7 -0
  336. package/lib/esm/internal/utils/required.js +2 -0
  337. package/lib/esm/internal/utils/required.js.map +7 -0
  338. package/lib/esm/internal/utils/types.js +1 -0
  339. package/lib/esm/internal/utils/types.js.map +7 -0
  340. package/lib/esm/package.json +55 -0
  341. package/lib/types/api/LedgerKeyringProtocol.d.ts +9 -0
  342. package/lib/types/api/LedgerKeyringProtocol.d.ts.map +1 -0
  343. package/lib/types/api/LedgerKeyringProtocolBuilder.d.ts +14 -0
  344. package/lib/types/api/LedgerKeyringProtocolBuilder.d.ts.map +1 -0
  345. package/lib/types/api/app-binder/AddToTrustchainDeviceActionTypes.d.ts +27 -0
  346. package/lib/types/api/app-binder/AddToTrustchainDeviceActionTypes.d.ts.map +1 -0
  347. package/lib/types/api/app-binder/AuthenticateDeviceActionTypes.d.ts +37 -0
  348. package/lib/types/api/app-binder/AuthenticateDeviceActionTypes.d.ts.map +1 -0
  349. package/lib/types/api/app-binder/Errors.d.ts +27 -0
  350. package/lib/types/api/app-binder/Errors.d.ts.map +1 -0
  351. package/lib/types/api/app-binder/GetAppNameCommandTypes.d.ts +5 -0
  352. package/lib/types/api/app-binder/GetAppNameCommandTypes.d.ts.map +1 -0
  353. package/lib/types/api/app-binder/GetSeedIdCommandTypes.d.ts +14 -0
  354. package/lib/types/api/app-binder/GetSeedIdCommandTypes.d.ts.map +1 -0
  355. package/lib/types/api/app-binder/GetVersionCommandTypes.d.ts +5 -0
  356. package/lib/types/api/app-binder/GetVersionCommandTypes.d.ts.map +1 -0
  357. package/lib/types/api/app-binder/GetVersionDeviceActionTypes.d.ts +10 -0
  358. package/lib/types/api/app-binder/GetVersionDeviceActionTypes.d.ts.map +1 -0
  359. package/lib/types/api/app-binder/InitCommandTypes.d.ts +5 -0
  360. package/lib/types/api/app-binder/InitCommandTypes.d.ts.map +1 -0
  361. package/lib/types/api/app-binder/KeypairFromBytes.d.ts +11 -0
  362. package/lib/types/api/app-binder/KeypairFromBytes.d.ts.map +1 -0
  363. package/lib/types/api/app-binder/LKRPTypes.d.ts +24 -0
  364. package/lib/types/api/app-binder/LKRPTypes.d.ts.map +1 -0
  365. package/lib/types/api/app-binder/ParseStreamBlockCommandCommandTypes.d.ts +6 -0
  366. package/lib/types/api/app-binder/ParseStreamBlockCommandCommandTypes.d.ts.map +1 -0
  367. package/lib/types/api/app-binder/ParseStreamBlockHeaderCommandTypes.d.ts +5 -0
  368. package/lib/types/api/app-binder/ParseStreamBlockHeaderCommandTypes.d.ts.map +1 -0
  369. package/lib/types/api/app-binder/ParseStreamBlockSignatureTypes.d.ts +5 -0
  370. package/lib/types/api/app-binder/ParseStreamBlockSignatureTypes.d.ts.map +1 -0
  371. package/lib/types/api/app-binder/SetTrustedMemberTypes.d.ts +6 -0
  372. package/lib/types/api/app-binder/SetTrustedMemberTypes.d.ts.map +1 -0
  373. package/lib/types/api/app-binder/SignBlockCommandTypes.d.ts +9 -0
  374. package/lib/types/api/app-binder/SignBlockCommandTypes.d.ts.map +1 -0
  375. package/lib/types/api/app-binder/SignBlockHeaderCommandTypes.d.ts +5 -0
  376. package/lib/types/api/app-binder/SignBlockHeaderCommandTypes.d.ts.map +1 -0
  377. package/lib/types/api/app-binder/SignBlockSignatureCommandTypes.d.ts +6 -0
  378. package/lib/types/api/app-binder/SignBlockSignatureCommandTypes.d.ts.map +1 -0
  379. package/lib/types/api/app-binder/SignBlockSingleCommandTypes.d.ts +5 -0
  380. package/lib/types/api/app-binder/SignBlockSingleCommandTypes.d.ts.map +1 -0
  381. package/lib/types/api/index.d.ts +7 -0
  382. package/lib/types/api/index.d.ts.map +1 -0
  383. package/lib/types/index.d.ts +3 -0
  384. package/lib/types/index.d.ts.map +1 -0
  385. package/lib/types/internal/DefaultLedgerKeyringProtocol.d.ts +20 -0
  386. package/lib/types/internal/DefaultLedgerKeyringProtocol.d.ts.map +1 -0
  387. package/lib/types/internal/app-binder/LedgerKeyringProtocolBinder.d.ts +29 -0
  388. package/lib/types/internal/app-binder/LedgerKeyringProtocolBinder.d.ts.map +1 -0
  389. package/lib/types/internal/app-binder/command/GetAppNameCommand.d.ts +9 -0
  390. package/lib/types/internal/app-binder/command/GetAppNameCommand.d.ts.map +1 -0
  391. package/lib/types/internal/app-binder/command/GetSeedIdCommand.d.ts +11 -0
  392. package/lib/types/internal/app-binder/command/GetSeedIdCommand.d.ts.map +1 -0
  393. package/lib/types/internal/app-binder/command/GetSeedIdCommand.test.d.ts +2 -0
  394. package/lib/types/internal/app-binder/command/GetSeedIdCommand.test.d.ts.map +1 -0
  395. package/lib/types/internal/app-binder/command/GetVersionCommand.d.ts +9 -0
  396. package/lib/types/internal/app-binder/command/GetVersionCommand.d.ts.map +1 -0
  397. package/lib/types/internal/app-binder/command/InitCommand.d.ts +11 -0
  398. package/lib/types/internal/app-binder/command/InitCommand.d.ts.map +1 -0
  399. package/lib/types/internal/app-binder/command/InitCommand.test.d.ts +2 -0
  400. package/lib/types/internal/app-binder/command/InitCommand.test.d.ts.map +1 -0
  401. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.d.ts +11 -0
  402. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.d.ts.map +1 -0
  403. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.test.d.ts +2 -0
  404. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.test.d.ts.map +1 -0
  405. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.d.ts +11 -0
  406. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.d.ts.map +1 -0
  407. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.test.d.ts +2 -0
  408. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.test.d.ts.map +1 -0
  409. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.d.ts +11 -0
  410. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.d.ts.map +1 -0
  411. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.test.d.ts +2 -0
  412. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.test.d.ts.map +1 -0
  413. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.d.ts +11 -0
  414. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.d.ts.map +1 -0
  415. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.test.d.ts +2 -0
  416. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.test.d.ts.map +1 -0
  417. package/lib/types/internal/app-binder/command/SignBlockHeader.d.ts +11 -0
  418. package/lib/types/internal/app-binder/command/SignBlockHeader.d.ts.map +1 -0
  419. package/lib/types/internal/app-binder/command/SignBlockHeader.test.d.ts +2 -0
  420. package/lib/types/internal/app-binder/command/SignBlockHeader.test.d.ts.map +1 -0
  421. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.d.ts +10 -0
  422. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.d.ts.map +1 -0
  423. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.test.d.ts +2 -0
  424. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.test.d.ts.map +1 -0
  425. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.d.ts +11 -0
  426. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.d.ts.map +1 -0
  427. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.test.d.ts +2 -0
  428. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.test.d.ts.map +1 -0
  429. package/lib/types/internal/app-binder/command/utils/extractTrustedProperty.d.ts +4 -0
  430. package/lib/types/internal/app-binder/command/utils/extractTrustedProperty.d.ts.map +1 -0
  431. package/lib/types/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.d.ts +9 -0
  432. package/lib/types/internal/app-binder/command/utils/ledgerKeyringProtocolErrors.d.ts.map +1 -0
  433. package/lib/types/internal/app-binder/device-action/AddToTrustchainDeviceAction.d.ts +20 -0
  434. package/lib/types/internal/app-binder/device-action/AddToTrustchainDeviceAction.d.ts.map +1 -0
  435. package/lib/types/internal/app-binder/device-action/AuthenticateDeviceAction.d.ts +42 -0
  436. package/lib/types/internal/app-binder/device-action/AuthenticateDeviceAction.d.ts.map +1 -0
  437. package/lib/types/internal/app-binder/device-action/utils/raiseAndAssign.d.ts +41 -0
  438. package/lib/types/internal/app-binder/device-action/utils/raiseAndAssign.d.ts.map +1 -0
  439. package/lib/types/internal/app-binder/di/appBinderModule.d.ts +3 -0
  440. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -0
  441. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +4 -0
  442. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -0
  443. package/lib/types/internal/app-binder/task/InitTask.d.ts +10 -0
  444. package/lib/types/internal/app-binder/task/InitTask.d.ts.map +1 -0
  445. package/lib/types/internal/app-binder/task/ParseStreamToDeviceTask.d.ts +26 -0
  446. package/lib/types/internal/app-binder/task/ParseStreamToDeviceTask.d.ts.map +1 -0
  447. package/lib/types/internal/app-binder/task/SignBlockTask.d.ts +68 -0
  448. package/lib/types/internal/app-binder/task/SignBlockTask.d.ts.map +1 -0
  449. package/lib/types/internal/app-binder/task/SignChallengeWithDeviceTask.d.ts +10 -0
  450. package/lib/types/internal/app-binder/task/SignChallengeWithDeviceTask.d.ts.map +1 -0
  451. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.d.ts +15 -0
  452. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.d.ts.map +1 -0
  453. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.test.d.ts +2 -0
  454. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.test.d.ts.map +1 -0
  455. package/lib/types/internal/app-binder/task/utils/TrustedProperties.d.ts +26 -0
  456. package/lib/types/internal/app-binder/task/utils/TrustedProperties.d.ts.map +1 -0
  457. package/lib/types/internal/di.d.ts +10 -0
  458. package/lib/types/internal/di.d.ts.map +1 -0
  459. package/lib/types/internal/externalTypes.d.ts +14 -0
  460. package/lib/types/internal/externalTypes.d.ts.map +1 -0
  461. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.d.ts +22 -0
  462. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.d.ts.map +1 -0
  463. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.test.d.ts +2 -0
  464. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.test.d.ts.map +1 -0
  465. package/lib/types/internal/lkrp-datasource/data/LKRPDataSource.d.ts +54 -0
  466. package/lib/types/internal/lkrp-datasource/data/LKRPDataSource.d.ts.map +1 -0
  467. package/lib/types/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.d.ts +4 -0
  468. package/lib/types/internal/lkrp-datasource/di/lkrpDatasourceModuleFactory.d.ts.map +1 -0
  469. package/lib/types/internal/lkrp-datasource/di/lkrpDatasourceTypes.d.ts +5 -0
  470. package/lib/types/internal/lkrp-datasource/di/lkrpDatasourceTypes.d.ts.map +1 -0
  471. package/lib/types/internal/use-cases/authentication/AuthenticateUseCase.d.ts +9 -0
  472. package/lib/types/internal/use-cases/authentication/AuthenticateUseCase.d.ts.map +1 -0
  473. package/lib/types/internal/use-cases/di/useCasesModule.d.ts +3 -0
  474. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -0
  475. package/lib/types/internal/use-cases/di/useCasesTypes.d.ts +4 -0
  476. package/lib/types/internal/use-cases/di/useCasesTypes.d.ts.map +1 -0
  477. package/lib/types/internal/utils/LKRPBlock.d.ts +17 -0
  478. package/lib/types/internal/utils/LKRPBlock.d.ts.map +1 -0
  479. package/lib/types/internal/utils/LKRPBlock.test.d.ts +2 -0
  480. package/lib/types/internal/utils/LKRPBlock.test.d.ts.map +1 -0
  481. package/lib/types/internal/utils/LKRPBlockStream.d.ts +26 -0
  482. package/lib/types/internal/utils/LKRPBlockStream.d.ts.map +1 -0
  483. package/lib/types/internal/utils/LKRPBlockStream.test.d.ts +2 -0
  484. package/lib/types/internal/utils/LKRPBlockStream.test.d.ts.map +1 -0
  485. package/lib/types/internal/utils/LKRPCommand.d.ts +18 -0
  486. package/lib/types/internal/utils/LKRPCommand.d.ts.map +1 -0
  487. package/lib/types/internal/utils/LKRPCommand.test.d.ts +2 -0
  488. package/lib/types/internal/utils/LKRPCommand.test.d.ts.map +1 -0
  489. package/lib/types/internal/utils/TLVBuilder.d.ts +15 -0
  490. package/lib/types/internal/utils/TLVBuilder.d.ts.map +1 -0
  491. package/lib/types/internal/utils/TLVParser.d.ts +59 -0
  492. package/lib/types/internal/utils/TLVParser.d.ts.map +1 -0
  493. package/lib/types/internal/utils/TLVParser.test.d.ts +2 -0
  494. package/lib/types/internal/utils/TLVParser.test.d.ts.map +1 -0
  495. package/lib/types/internal/utils/TLVTags.d.ts +27 -0
  496. package/lib/types/internal/utils/TLVTags.d.ts.map +1 -0
  497. package/lib/types/internal/utils/crypto.d.ts +19 -0
  498. package/lib/types/internal/utils/crypto.d.ts.map +1 -0
  499. package/lib/types/internal/utils/derivationPath.d.ts +3 -0
  500. package/lib/types/internal/utils/derivationPath.d.ts.map +1 -0
  501. package/lib/types/internal/utils/eitherSeqRecord.d.ts +29 -0
  502. package/lib/types/internal/utils/eitherSeqRecord.d.ts.map +1 -0
  503. package/lib/types/internal/utils/hex.d.ts +3 -0
  504. package/lib/types/internal/utils/hex.d.ts.map +1 -0
  505. package/lib/types/internal/utils/required.d.ts +3 -0
  506. package/lib/types/internal/utils/required.d.ts.map +1 -0
  507. package/lib/types/internal/utils/types.d.ts +73 -0
  508. package/lib/types/internal/utils/types.d.ts.map +1 -0
  509. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  510. package/package.json +54 -0
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var y=(t,e)=>{for(var i in e)s(t,i,{get:e[i],enumerable:!0})},v=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of A(e))!I.call(t,n)&&n!==i&&s(t,n,{get:()=>e[n],enumerable:!(r=l(e,n))||r.enumerable});return t};var S=t=>v(s({},"__esModule",{value:!0}),t),w=(t,e,i,r)=>{for(var n=r>1?void 0:r?l(e,i):e,c=t.length-1,u;c>=0;c--)(u=t[c])&&(n=(r?u(e,i,n):u(n))||n);return r&&n&&s(e,i,n),n},m=(t,e)=>(i,r)=>e(i,r,t);var N={};y(N,{LedgerKeyringProtocolBinder:()=>p});module.exports=S(N);var a=require("@ledgerhq/device-management-kit"),o=require("inversify"),d=require("../externalTypes"),k=require("../lkrp-datasource/di/lkrpDatasourceTypes"),D=require("./command/GetVersionCommand"),h=require("./device-action/AuthenticateDeviceAction");let p=class{constructor(e,i,r){this.dmk=e;this.sessionId=i;this.lkrpDataSource=r}authenticate(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new h.AuthenticateDeviceAction({input:{lkrpDataSource:this.lkrpDataSource,applicationId:e.applicationId,clientName:e.clientName,permissions:e.permissions,keypair:e.keypair,trustchainId:e.trustchainId??null,jwt:e.jwt??null}})})}getVersion(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new a.SendCommandInAppDeviceAction({input:{command:new D.GetVersionCommand,appName:"Ledger Sync",requiredUserInteraction:a.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp}})})}getAppName(){throw new Error("Not implemented")}getSeedId(){throw new Error("Not implemented")}init(){throw new Error("Not implemented")}parseStream(){throw new Error("Not implemented")}signBlock(){throw new Error("Not implemented")}setTrustedMember(){throw new Error("Not implemented")}};p=w([(0,o.injectable)(),m(0,(0,o.inject)(d.externalTypes.Dmk)),m(1,(0,o.inject)(d.externalTypes.SessionId)),m(2,(0,o.inject)(k.lkrpDatasourceTypes.LKRPDataSource))],p);0&&(module.exports={LedgerKeyringProtocolBinder});
2
+ //# sourceMappingURL=LedgerKeyringProtocolBinder.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/internal/app-binder/LedgerKeyringProtocolBinder.ts"],
4
+ "sourcesContent": ["import {\n DeviceManagementKit,\n type DeviceSessionId,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { AuthenticateDAReturnType } from \"@api/app-binder/AuthenticateDeviceActionTypes\";\nimport { GetVersionDAReturnType } from \"@api/app-binder/GetVersionDeviceActionTypes\";\nimport { JWT, Keypair, Permissions } from \"@api/app-binder/LKRPTypes\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { type LKRPDataSource } from \"@internal/lkrp-datasource/data/LKRPDataSource\";\nimport { lkrpDatasourceTypes } from \"@internal/lkrp-datasource/di/lkrpDatasourceTypes\";\n\nimport { GetVersionCommand } from \"./command/GetVersionCommand\";\nimport { AuthenticateDeviceAction } from \"./device-action/AuthenticateDeviceAction\";\n\n@injectable()\nexport class LedgerKeyringProtocolBinder {\n constructor(\n @inject(externalTypes.Dmk) private readonly dmk: DeviceManagementKit,\n\n @inject(externalTypes.SessionId)\n private readonly sessionId: DeviceSessionId,\n\n @inject(lkrpDatasourceTypes.LKRPDataSource)\n private readonly lkrpDataSource: LKRPDataSource,\n ) {}\n\n authenticate(args: {\n keypair: Keypair;\n applicationId: number;\n clientName: string;\n permissions: Permissions;\n trustchainId?: string;\n jwt?: JWT;\n }): AuthenticateDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new AuthenticateDeviceAction({\n input: {\n lkrpDataSource: this.lkrpDataSource,\n applicationId: args.applicationId,\n clientName: args.clientName,\n permissions: args.permissions,\n keypair: args.keypair,\n trustchainId: args.trustchainId ?? null,\n jwt: args.jwt ?? null,\n },\n }),\n });\n }\n\n getVersion(args: { skipOpenApp: boolean }): GetVersionDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetVersionCommand(),\n appName: \"Ledger Sync\",\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n getAppName(): unknown {\n throw new Error(\"Not implemented\");\n }\n\n getSeedId(): unknown {\n throw new Error(\"Not implemented\");\n }\n\n init(): unknown {\n throw new Error(\"Not implemented\");\n }\n\n parseStream(): unknown {\n throw new Error(\"Not implemented\");\n }\n\n signBlock(): unknown {\n throw new Error(\"Not implemented\");\n }\n\n setTrustedMember(): unknown {\n throw new Error(\"Not implemented\");\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAKO,2CACPC,EAAmC,qBAKnCC,EAA8B,mCAE9BC,EAAoC,4DAEpCC,EAAkC,uCAClCC,EAAyC,oDAGlC,IAAMC,EAAN,KAAkC,CACvC,YAC8CC,EAG3BC,EAGAC,EACjB,CAP4C,SAAAF,EAG3B,eAAAC,EAGA,oBAAAC,CAChB,CAEH,aAAaC,EAOgB,CAC3B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,2BAAyB,CACzC,MAAO,CACL,eAAgB,KAAK,eACrB,cAAeA,EAAK,cACpB,WAAYA,EAAK,WACjB,YAAaA,EAAK,YAClB,QAASA,EAAK,QACd,aAAcA,EAAK,cAAgB,KACnC,IAAKA,EAAK,KAAO,IACnB,CACF,CAAC,CACH,CAAC,CACH,CAEA,WAAWA,EAAwD,CACjE,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,+BAA6B,CAC7C,MAAO,CACL,QAAS,IAAI,oBACb,QAAS,cACT,wBAAyB,0BAAwB,KACjD,YAAaA,EAAK,WACpB,CACF,CAAC,CACH,CAAC,CACH,CAEA,YAAsB,CACpB,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,WAAqB,CACnB,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,MAAgB,CACd,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,aAAuB,CACrB,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,WAAqB,CACnB,MAAM,IAAI,MAAM,iBAAiB,CACnC,CAEA,kBAA4B,CAC1B,MAAM,IAAI,MAAM,iBAAiB,CACnC,CACF,EAxEaJ,EAANK,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,gBAAc,GAAG,GAExBA,EAAA,eAAO,gBAAc,SAAS,GAG9BA,EAAA,eAAO,sBAAoB,cAAc,IAPjCN",
6
+ "names": ["LedgerKeyringProtocolBinder_exports", "__export", "LedgerKeyringProtocolBinder", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_externalTypes", "import_lkrpDatasourceTypes", "import_GetVersionCommand", "import_AuthenticateDeviceAction", "LedgerKeyringProtocolBinder", "dmk", "sessionId", "lkrpDataSource", "args", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var A=(o,e)=>{for(var p in e)a(o,p,{get:e[p],enumerable:!0})},g=(o,e,p,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of l(e))!u.call(o,m)&&m!==p&&a(o,m,{get:()=>e[m],enumerable:!(t=i(e,m))||t.enumerable});return o};var y=o=>g(a({},"__esModule",{value:!0}),o);var c={};A(c,{GetAppNameCommand:()=>C});module.exports=y(c);var r=require("@ledgerhq/device-management-kit"),d=require("@ledgerhq/signer-utils"),s=require("purify-ts"),n=require("./utils/ledgerKeyringProtocolErrors");class C{errorHelper=new d.CommandErrorHelper(n.LEDGER_SYNC_ERRORS,n.LedgerKeyringProtocolErrorFactory);getApdu(){const e={cla:224,ins:3,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return s.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const t=new r.ApduParser(e).encodeToString(e.data);return t?(0,r.CommandResultFactory)({data:{name:t}}):(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Name is missing")})})}}0&&(module.exports={GetAppNameCommand});
2
+ //# sourceMappingURL=GetAppNameCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetAppNameCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetAppNameCommandArgs,\n type GetAppNameCommandResponse,\n} from \"@api/app-binder/GetAppNameCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class GetAppNameCommand\n implements\n Command<\n GetAppNameCommandResponse,\n GetAppNameCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetAppNameCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n getApdu(): Apdu {\n const getAppNameArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x03,\n p1: 0x00,\n p2: 0x00,\n };\n\n const builder = new ApduBuilder(getAppNameArgs);\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetAppNameCommandResponse, LedgerKeyringProtocolErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n\n const name = parser.encodeToString(apduResponse.data);\n\n if (!name) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(`Name is missing`),\n });\n }\n\n return CommandResultFactory({\n data: { name },\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CACmB,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAEvD,SAAgB,CACd,MAAMM,EAAkC,CACtC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAGA,OADgB,IAAI,cAAYA,CAAc,EAC/B,MAAM,CACvB,CAEA,cACEC,EAC2E,CAC3E,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CAGpB,MAAMC,EAFS,IAAI,aAAWD,CAAY,EAEtB,eAAeA,EAAa,IAAI,EAEpD,OAAKC,KAME,wBAAqB,CAC1B,KAAM,CAAE,KAAAA,CAAK,CACf,CAAC,KAPQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,iBAAiB,CACrD,CAAC,CAML,CAAC,CACH,CACF",
6
+ "names": ["GetAppNameCommand_exports", "__export", "GetAppNameCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "getAppNameArgs", "apduResponse", "name"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var A=(s,i)=>{for(var t in i)a(s,t,{get:i[t],enumerable:!0})},h=(s,i,t,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of u(i))!y.call(s,e)&&e!==t&&a(s,e,{get:()=>i[e],enumerable:!(r=p(i,e))||r.enumerable});return s};var I=s=>h(a({},"__esModule",{value:!0}),s);var C={};A(C,{GetSeedIdCommand:()=>x});module.exports=I(C);var n=require("@ledgerhq/device-management-kit"),l=require("@ledgerhq/signer-utils"),g=require("purify-ts"),o=require("../../utils/eitherSeqRecord"),d=require("../../utils/hex"),m=require("./utils/ledgerKeyringProtocolErrors");class x{constructor(i){this.args=i}errorHelper=new l.CommandErrorHelper(m.LEDGER_SYNC_ERRORS,m.LedgerKeyringProtocolErrorFactory);getApdu(){const{challengeTLV:i}=this.args,t={cla:224,ins:5,p1:0,p2:0};return new n.ApduBuilder(t).addHexaStringToData(i).build()}parseResponse(i){return g.Maybe.fromNullable(this.errorHelper.getError(i)).orDefaultLazy(()=>{const t=new n.ApduParser(i),r=(e,c)=>g.Maybe.fromNullable(e).toEither(new n.InvalidStatusWordError(c));return(0,o.eitherSeqRecord)({credential:()=>(0,o.eitherSeqRecord)({version:()=>r(t.extract8BitUInt(),"Version is missing"),curveId:()=>r(t.extract8BitUInt(),"Curve ID is missing"),signAlgorithm:()=>r(t.extract8BitUInt(),"Sign algorithm is missing"),publicKey:()=>r(t.extract8BitUInt(),"Public key length is missing").chain(e=>r(t.extractFieldByLength(e),"Public key is missing")).map(d.bytesToHex)}),signature:()=>r(t.extract8BitUInt(),"Signature length is missing").chain(e=>r(t.extractFieldByLength(e),"Signature is missing")).map(d.bytesToHex),attestation:()=>(0,o.eitherSeqRecord)({id:()=>r(t.extractFieldByLength(1),"Attestation Id is missing"),version:()=>r(t.extract8BitUInt(),"Attestation version is missing"),curveId:()=>r(t.extract8BitUInt(),"Attestation curve ID is missing"),signAlgorithm:()=>r(t.extract8BitUInt(),"Attestation sign algorithm is missing"),publicKey:()=>r(t.extract8BitUInt(),"Attestation key length is missing").chain(e=>r(t.extractFieldByLength(e),"Attestation key is missing")),signature:()=>r(t.extract8BitUInt(),"Attestation signature length is missing").chain(e=>r(t.extractFieldByLength(e),"Attestation signature is missing"))}).map(e=>(0,d.bytesToHex)(Uint8Array.from([...e.id,e.version,e.curveId,e.signAlgorithm,e.publicKey.length,...e.publicKey,e.signature.length,...e.signature])))}).caseOf({Left:e=>(0,n.CommandResultFactory)({error:e}),Right:e=>(0,n.CommandResultFactory)({data:e})})})}}0&&(module.exports={GetSeedIdCommand});
2
+ //# sourceMappingURL=GetSeedIdCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetSeedIdCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetSeedIdCommandArgs,\n type GetSeedIdCommandResponse,\n} from \"@api/app-binder/GetSeedIdCommandTypes\";\nimport { eitherSeqRecord } from \"@internal/utils/eitherSeqRecord\";\nimport { bytesToHex } from \"@internal/utils/hex\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class GetSeedIdCommand\n implements\n Command<\n GetSeedIdCommandResponse,\n GetSeedIdCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetSeedIdCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: GetSeedIdCommandArgs) {}\n getApdu(): Apdu {\n const { challengeTLV } = this.args;\n const getSeedIdArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x05,\n p1: 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(getSeedIdArgs)\n .addHexaStringToData(challengeTLV)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetSeedIdCommandResponse, LedgerKeyringProtocolErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n\n const required = <T>(value: T | undefined, errorMsg: string) =>\n Maybe.fromNullable(value).toEither(\n new InvalidStatusWordError(errorMsg),\n );\n\n return eitherSeqRecord({\n credential: () =>\n eitherSeqRecord({\n version: () =>\n required(parser.extract8BitUInt(), \"Version is missing\"),\n curveId: () =>\n required(parser.extract8BitUInt(), \"Curve ID is missing\"),\n signAlgorithm: () =>\n required(parser.extract8BitUInt(), \"Sign algorithm is missing\"),\n publicKey: () =>\n required(parser.extract8BitUInt(), \"Public key length is missing\")\n .chain((length) =>\n required(\n parser.extractFieldByLength(length),\n \"Public key is missing\",\n ),\n )\n .map(bytesToHex),\n }),\n\n signature: () =>\n required(parser.extract8BitUInt(), \"Signature length is missing\")\n .chain((length) =>\n required(\n parser.extractFieldByLength(length),\n \"Signature is missing\",\n ),\n )\n .map(bytesToHex),\n\n attestation: () =>\n eitherSeqRecord({\n id: () =>\n required(\n parser.extractFieldByLength(0x01),\n \"Attestation Id is missing\",\n ),\n version: () =>\n required(\n parser.extract8BitUInt(),\n \"Attestation version is missing\",\n ),\n curveId: () =>\n required(\n parser.extract8BitUInt(),\n \"Attestation curve ID is missing\",\n ),\n signAlgorithm: () =>\n required(\n parser.extract8BitUInt(),\n \"Attestation sign algorithm is missing\",\n ),\n publicKey: () =>\n required(\n parser.extract8BitUInt(),\n \"Attestation key length is missing\",\n ).chain((length) =>\n required(\n parser.extractFieldByLength(length),\n \"Attestation key is missing\",\n ),\n ),\n signature: () =>\n required(\n parser.extract8BitUInt(),\n \"Attestation signature length is missing\",\n ).chain((length) =>\n required(\n parser.extractFieldByLength(length),\n \"Attestation signature is missing\",\n ),\n ),\n }).map((attestation) =>\n bytesToHex(\n Uint8Array.from([\n ...attestation.id,\n attestation.version,\n attestation.curveId,\n attestation.signAlgorithm,\n attestation.publicKey.length,\n ...attestation.publicKey,\n attestation.signature.length,\n ...attestation.signature,\n ]),\n ),\n ),\n }).caseOf({\n Left: (error) => CommandResultFactory({ error }),\n Right: (data) => CommandResultFactory({ data }),\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAMtBC,EAAgC,2CAChCC,EAA2B,+BAE3BC,EAIO,+CAEA,MAAMP,CAOb,CAME,YAA6BQ,EAA4B,CAA5B,UAAAA,CAA6B,CALzC,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAGvD,SAAgB,CACd,KAAM,CAAE,aAAAC,CAAa,EAAI,KAAK,KACxBC,EAAiC,CACrC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAa,EACjC,oBAAoBD,CAAY,EAChC,MAAM,CACX,CAEA,cACEE,EAC0E,CAC1E,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAEpCE,EAAW,CAAIC,EAAsBC,IACzC,QAAM,aAAaD,CAAK,EAAE,SACxB,IAAI,yBAAuBC,CAAQ,CACrC,EAEF,SAAO,mBAAgB,CACrB,WAAY,OACV,mBAAgB,CACd,QAAS,IACPF,EAASD,EAAO,gBAAgB,EAAG,oBAAoB,EACzD,QAAS,IACPC,EAASD,EAAO,gBAAgB,EAAG,qBAAqB,EAC1D,cAAe,IACbC,EAASD,EAAO,gBAAgB,EAAG,2BAA2B,EAChE,UAAW,IACTC,EAASD,EAAO,gBAAgB,EAAG,8BAA8B,EAC9D,MAAOI,GACNH,EACED,EAAO,qBAAqBI,CAAM,EAClC,uBACF,CACF,EACC,IAAI,YAAU,CACrB,CAAC,EAEH,UAAW,IACTH,EAASD,EAAO,gBAAgB,EAAG,6BAA6B,EAC7D,MAAOI,GACNH,EACED,EAAO,qBAAqBI,CAAM,EAClC,sBACF,CACF,EACC,IAAI,YAAU,EAEnB,YAAa,OACX,mBAAgB,CACd,GAAI,IACFH,EACED,EAAO,qBAAqB,CAAI,EAChC,2BACF,EACF,QAAS,IACPC,EACED,EAAO,gBAAgB,EACvB,gCACF,EACF,QAAS,IACPC,EACED,EAAO,gBAAgB,EACvB,iCACF,EACF,cAAe,IACbC,EACED,EAAO,gBAAgB,EACvB,uCACF,EACF,UAAW,IACTC,EACED,EAAO,gBAAgB,EACvB,mCACF,EAAE,MAAOI,GACPH,EACED,EAAO,qBAAqBI,CAAM,EAClC,4BACF,CACF,EACF,UAAW,IACTH,EACED,EAAO,gBAAgB,EACvB,yCACF,EAAE,MAAOI,GACPH,EACED,EAAO,qBAAqBI,CAAM,EAClC,kCACF,CACF,CACJ,CAAC,EAAE,IAAKC,MACN,cACE,WAAW,KAAK,CACd,GAAGA,EAAY,GACfA,EAAY,QACZA,EAAY,QACZA,EAAY,cACZA,EAAY,UAAU,OACtB,GAAGA,EAAY,UACfA,EAAY,UAAU,OACtB,GAAGA,EAAY,SACjB,CAAC,CACH,CACF,CACJ,CAAC,EAAE,OAAO,CACR,KAAOC,MAAU,wBAAqB,CAAE,MAAAA,CAAM,CAAC,EAC/C,MAAQC,MAAS,wBAAqB,CAAE,KAAAA,CAAK,CAAC,CAChD,CAAC,CACH,CAAC,CACH,CACF",
6
+ "names": ["GetSeedIdCommand_exports", "__export", "GetSeedIdCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_eitherSeqRecord", "import_hex", "import_ledgerKeyringProtocolErrors", "args", "challengeTLV", "getSeedIdArgs", "apduResponse", "parser", "required", "value", "errorMsg", "length", "attestation", "error", "data"]
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";var o=require("@ledgerhq/device-management-kit"),s=require("../../utils/hex"),n=require("./GetSeedIdCommand");describe("GetSeedIdCommand",()=>{const r="01020304";it("should build the correct APDU",()=>{const t=new n.GetSeedIdCommand({challengeTLV:r}).getApdu(),e=(0,s.hexToBytes)(r);expect(t.getRawApdu()).toEqual(Uint8Array.from([224,5,0,0,e.length,...e]))}),it("should parse the response correctly",()=>{const a=new n.GetSeedIdCommand({challengeTLV:r}),t=(0,s.hexToBytes)(`
2
+ 01 02 03
3
+ 06
4
+ 05 06 07 08 09 0a
5
+ 05
6
+ 16 17 18 19 1a
7
+ 1b
8
+ 01 02 03
9
+ 07
10
+ 20 21 22 23 24 25 26
11
+ 05
12
+ 2e 2f 30 31 32
13
+ 12 13 14
14
+ `.replace(/\s+/g,"")),e=a.parseResponse({statusCode:Uint8Array.from([144,0]),data:t});expect(e).toStrictEqual((0,o.CommandResultFactory)({data:{credential:{version:1,curveId:2,signAlgorithm:3,publicKey:"05060708090a"},signature:"161718191a",attestation:"1b0102030720212223242526052e2f303132"}}))}),it("should parsing error response",()=>{const a=new n.GetSeedIdCommand({challengeTLV:r}),t=(0,s.hexToBytes)(`
15
+ 01 02 03
16
+ 06
17
+ 05
18
+ 05
19
+ 16 17 18 19 1a
20
+ 1b
21
+ 01 02 03
22
+ 07
23
+ 20 21 22 23 24 25 26
24
+ 05
25
+ 2e 2f 30 31 32
26
+ `.replace(/\s+/g,"")),e=a.parseResponse({statusCode:Uint8Array.from([144,0]),data:t});expect(e).toStrictEqual((0,o.CommandResultFactory)({error:expect.any(o.InvalidStatusWordError)}))})});
27
+ //# sourceMappingURL=GetSeedIdCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetSeedIdCommand.test.ts"],
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { hexToBytes } from \"@internal/utils/hex\";\n\nimport { GetSeedIdCommand } from \"./GetSeedIdCommand\";\n\ndescribe(\"GetSeedIdCommand\", () => {\n const mockedChallenge = \"01020304\";\n\n it(\"should build the correct APDU\", () => {\n // GIVEN\n const command = new GetSeedIdCommand({\n challengeTLV: mockedChallenge,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n const challengeBytes = hexToBytes(mockedChallenge);\n expect(apdu.getRawApdu()).toEqual(\n Uint8Array.from([\n 0xe0, // CLA\n 0x05, // INS\n 0x00, // P1\n 0x00, // P2\n challengeBytes.length, // Lc\n ...challengeBytes, // CData\n ]),\n );\n });\n\n it(\"should parse the response correctly\", () => {\n // GIVEN\n const command = new GetSeedIdCommand({\n challengeTLV: mockedChallenge,\n });\n const mockedResponse = hexToBytes(\n `\n 01 02 03\n 06\n 05 06 07 08 09 0a\n 05\n 16 17 18 19 1a\n 1b\n 01 02 03\n 07\n 20 21 22 23 24 25 26\n 05\n 2e 2f 30 31 32\n 12 13 14\n `.replace(/\\s+/g, \"\"), // (the last three bytes should be ignored)\n );\n\n // WHEN\n const result = command.parseResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: mockedResponse,\n });\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n credential: {\n version: 1,\n curveId: 2,\n signAlgorithm: 3,\n publicKey: \"05060708090a\",\n },\n signature: \"161718191a\",\n attestation: \"1b0102030720212223242526052e2f303132\",\n },\n }),\n );\n });\n\n it(\"should parsing error response\", () => {\n // GIVEN\n const command = new GetSeedIdCommand({\n challengeTLV: mockedChallenge,\n });\n const mockedResponse = hexToBytes(\n `\n 01 02 03\n 06\n 05\n 05\n 16 17 18 19 1a\n 1b\n 01 02 03\n 07\n 20 21 22 23 24 25 26\n 05\n 2e 2f 30 31 32\n `.replace(/\\s+/g, \"\"),\n );\n\n // WHEN\n const result = command.parseResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: mockedResponse,\n });\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n error: expect.any(InvalidStatusWordError), // (That's not an assignment to `any` maybe an eslint bug)\n }),\n );\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAA2B,+BAE3BC,EAAiC,8BAEjC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAAkB,WAExB,GAAG,gCAAiC,IAAM,CAOxC,MAAMC,EALU,IAAI,mBAAiB,CACnC,aAAcD,CAChB,CAAC,EAGoB,QAAQ,EAGvBE,KAAiB,cAAWF,CAAe,EACjD,OAAOC,EAAK,WAAW,CAAC,EAAE,QACxB,WAAW,KAAK,CACd,IACA,EACA,EACA,EACAC,EAAe,OACf,GAAGA,CACL,CAAC,CACH,CACF,CAAC,EAED,GAAG,sCAAuC,IAAM,CAE9C,MAAMC,EAAU,IAAI,mBAAiB,CACnC,aAAcH,CAChB,CAAC,EACKI,KAAiB,cACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAaE,QAAQ,OAAQ,EAAE,CACtB,EAGMC,EAASF,EAAQ,cAAc,CACnC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMC,CACR,CAAC,EAGD,OAAOC,CAAM,EAAE,iBACb,wBAAqB,CACnB,KAAM,CACJ,WAAY,CACV,QAAS,EACT,QAAS,EACT,cAAe,EACf,UAAW,cACb,EACA,UAAW,aACX,YAAa,sCACf,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,gCAAiC,IAAM,CAExC,MAAMF,EAAU,IAAI,mBAAiB,CACnC,aAAcH,CAChB,CAAC,EACKI,KAAiB,cACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAYE,QAAQ,OAAQ,EAAE,CACtB,EAGMC,EAASF,EAAQ,cAAc,CACnC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMC,CACR,CAAC,EAGD,OAAOC,CAAM,EAAE,iBACb,wBAAqB,CAEnB,MAAO,OAAO,IAAI,wBAAsB,CAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_hex", "import_GetSeedIdCommand", "mockedChallenge", "apdu", "challengeBytes", "command", "mockedResponse", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var g=(o,r)=>{for(var n in r)m(o,n,{get:r[n],enumerable:!0})},y=(o,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of l(r))!u.call(o,s)&&s!==n&&m(o,s,{get:()=>r[s],enumerable:!(t=a(r,s))||t.enumerable});return o};var C=o=>y(m({},"__esModule",{value:!0}),o);var A={};g(A,{GetVersionCommand:()=>c});module.exports=C(A);var e=require("@ledgerhq/device-management-kit"),i=require("@ledgerhq/signer-utils"),p=require("purify-ts"),d=require("./utils/ledgerKeyringProtocolErrors");class c{errorHelper=new i.CommandErrorHelper(d.LEDGER_SYNC_ERRORS,d.LedgerKeyringProtocolErrorFactory);getApdu(){const r={cla:224,ins:3,p1:0,p2:0};return new e.ApduBuilder(r).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const t=new e.ApduParser(r).encodeToString(r.data);return t?(0,e.CommandResultFactory)({data:{version:t}}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Version is missing")})})}}0&&(module.exports={GetVersionCommand});
2
+ //# sourceMappingURL=GetVersionCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetVersionCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetVersionCommandArgs,\n type GetVersionCommandResponse,\n} from \"@api/app-binder/GetVersionCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class GetVersionCommand\n implements\n Command<\n GetVersionCommandResponse,\n GetVersionCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetVersionCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n getApdu(): Apdu {\n const getVersionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x03,\n p1: 0x00,\n p2: 0x00,\n };\n\n const builder = new ApduBuilder(getVersionArgs);\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetVersionCommandResponse, LedgerKeyringProtocolErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n\n const version = parser.encodeToString(apduResponse.data);\n\n if (!version) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(`Version is missing`),\n });\n }\n\n return CommandResultFactory({\n data: { version },\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CACmB,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAEvD,SAAgB,CACd,MAAMM,EAAkC,CACtC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAGA,OADgB,IAAI,cAAYA,CAAc,EAC/B,MAAM,CACvB,CAEA,cACEC,EAC2E,CAC3E,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CAGpB,MAAMC,EAFS,IAAI,aAAWD,CAAY,EAEnB,eAAeA,EAAa,IAAI,EAEvD,OAAKC,KAME,wBAAqB,CAC1B,KAAM,CAAE,QAAAA,CAAQ,CAClB,CAAC,KAPQ,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,oBAAoB,CACxD,CAAC,CAML,CAAC,CACH,CACF",
6
+ "names": ["GetVersionCommand_exports", "__export", "GetVersionCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "getVersionArgs", "apduResponse", "version"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var g=(o,r)=>{for(var t in r)m(o,t,{get:r[t],enumerable:!0})},y=(o,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of l(r))!u.call(o,n)&&n!==t&&m(o,n,{get:()=>r[n],enumerable:!(a=i(r,n))||a.enumerable});return o};var C=o=>y(m({},"__esModule",{value:!0}),o);var R={};g(R,{InitCommand:()=>c});module.exports=C(R);var e=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),d=require("./utils/ledgerKeyringProtocolErrors");class c{constructor(r){this.args=r}errorHelper=new s.CommandErrorHelper(d.LEDGER_SYNC_ERRORS,d.LedgerKeyringProtocolErrorFactory);getApdu(){const{publicKey:r}=this.args;return new e.ApduBuilder({cla:224,ins:6,p1:0,p2:0}).addBufferToData(r).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>new e.ApduParser(r).getUnparsedRemainingLength()!==0?(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Unexpected response data for SetTrustedMemberCommand")}):(0,e.CommandResultFactory)({data:void 0}))}}0&&(module.exports={InitCommand});
2
+ //# sourceMappingURL=InitCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/InitCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type InitCommandArgs,\n type InitCommandResponse,\n} from \"@api/app-binder/InitCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class InitCommand\n implements\n Command<\n InitCommandResponse,\n InitCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n constructor(private readonly args: InitCommandArgs) {}\n\n private readonly errorHelper = new CommandErrorHelper<\n void,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n getApdu(): Apdu {\n const { publicKey } = this.args;\n\n return new ApduBuilder({ cla: 0xe0, ins: 0x06, p1: 0x00, p2: 0x00 })\n .addBufferToData(publicKey)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<InitCommandResponse, LedgerKeyringProtocolErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n if (parser.getUnparsedRemainingLength() !== 0) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Unexpected response data for SetTrustedMemberCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: undefined });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CACE,YAA6BM,EAAuB,CAAvB,UAAAA,CAAwB,CAEpC,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAEvD,SAAgB,CACd,KAAM,CAAE,UAAAC,CAAU,EAAI,KAAK,KAE3B,OAAO,IAAI,cAAY,CAAE,IAAK,IAAM,IAAK,EAAM,GAAI,EAAM,GAAI,CAAK,CAAC,EAChE,gBAAgBA,CAAS,EACzB,MAAM,CACX,CAEA,cACEC,EACqE,CACrE,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IACC,IAAI,aAAWA,CAAY,EAC/B,2BAA2B,IAAM,KACnC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,sDACF,CACF,CAAC,KAEI,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAChD,CACH,CACF",
6
+ "names": ["InitCommand_exports", "__export", "InitCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "publicKey", "apduResponse"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=require("@ledgerhq/device-management-kit"),r=require("vitest"),n=require("./InitCommand");const d=Uint8Array.from([2,...Array(32).fill(0)]),i=Uint8Array.from([240,202,204,26]),a=()=>({publicKey:d});(0,r.describe)("InitCommand",()=>{(0,r.describe)("getApdu()",()=>{(0,r.it)("builds correct APDU",()=>{const t=new n.InitCommand(a()).getApdu(),e=Uint8Array.from([224,6,0,0,33,2,...new Array(32).fill(0)]);(0,r.expect)(t.getRawApdu()).toEqual(e)})}),(0,r.describe)("parseResponse()",()=>{(0,r.it)("returns success when no data and SW=0x9000",()=>{const s=new n.InitCommand(a()),t=new o.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),e=s.parseResponse(t);(0,r.expect)((0,o.isSuccessCommandResult)(e)).toBe(!0),(0,o.isSuccessCommandResult)(e)&&(0,r.expect)(e.data).toBeUndefined()}),(0,r.it)("errors on unexpected trailing data",()=>{const s=new n.InitCommand(a()),t=new o.ApduResponse({statusCode:Uint8Array.from([144,0]),data:i}),e=s.parseResponse(t);(0,r.expect)((0,o.isSuccessCommandResult)(e)).toBe(!1),(0,o.isSuccessCommandResult)(e)||((0,r.expect)(e.error).toBeInstanceOf(o.InvalidStatusWordError),(0,r.expect)(e.error.originalError.message).toMatch("Unexpected response data"))}),(0,r.it)("maps SW errors to CommandResult error",()=>{const s=new n.InitCommand(a()),t=new o.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array([])}),e=s.parseResponse(t);if((0,r.expect)((0,o.isSuccessCommandResult)(e)).toBe(!1),!(0,o.isSuccessCommandResult)(e))if("errorCode"in e.error)(0,r.expect)(e.error.errorCode).toEqual("6a86");else throw new Error("Unexpected error type: missing errorCode")})})});
2
+ //# sourceMappingURL=InitCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/InitCommand.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport {\n ApduResponse,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport type { InitCommandArgs } from \"@api/app-binder/InitCommandTypes\";\n\nimport { InitCommand } from \"./InitCommand\";\n\nconst DUMMY_PUBKEY_HEX = Uint8Array.from([0x02, ...Array(32).fill(0x00)]);\nconst PLACEHOLDER_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\nconst makeArgs = (): InitCommandArgs => ({ publicKey: DUMMY_PUBKEY_HEX });\n\ndescribe(\"InitCommand\", () => {\n describe(\"getApdu()\", () => {\n it(\"builds correct APDU\", () => {\n // given\n const cmd = new InitCommand(makeArgs());\n\n // when\n const apdu = cmd.getApdu();\n const expected = Uint8Array.from([\n 0xe0,\n 0x06,\n 0x00,\n 0x00,\n 0x21,\n 0x02,\n ...new Array(32).fill(0),\n ]);\n\n // then\n expect(apdu.getRawApdu()).toEqual(expected);\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"returns success when no data and SW=0x9000\", () => {\n // given\n const cmd = new InitCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeUndefined();\n }\n });\n\n it(\"errors on unexpected trailing data\", () => {\n // given\n const cmd = new InitCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: PLACEHOLDER_BYTES,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect((result.error.originalError as Error).message).toMatch(\n \"Unexpected response data\",\n );\n }\n });\n\n it(\"maps SW errors to CommandResult error\", () => {\n // given\n const cmd = new InitCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array([]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n if (\"errorCode\" in result.error) {\n expect(result.error.errorCode).toEqual(\"6a86\");\n } else {\n throw new Error(\"Unexpected error type: missing errorCode\");\n }\n }\n });\n });\n});\n"],
5
+ "mappings": "aACA,IAAAA,EAIO,2CACPC,EAAqC,kBAIrCC,EAA4B,yBAE5B,MAAMC,EAAmB,WAAW,KAAK,CAAC,EAAM,GAAG,MAAM,EAAE,EAAE,KAAK,CAAI,CAAC,CAAC,EAClEC,EAAoB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,EAE5DC,EAAW,KAAwB,CAAE,UAAWF,CAAiB,MAEvE,YAAS,cAAe,IAAM,IAC5B,YAAS,YAAa,IAAM,IAC1B,MAAG,sBAAuB,IAAM,CAK9B,MAAMG,EAHM,IAAI,cAAYD,EAAS,CAAC,EAGrB,QAAQ,EACnBE,EAAW,WAAW,KAAK,CAC/B,IACA,EACA,EACA,EACA,GACA,EACA,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,CACzB,CAAC,KAGD,UAAOD,EAAK,WAAW,CAAC,EAAE,QAAQC,CAAQ,CAC5C,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,6CAA8C,IAAM,CAErD,MAAMC,EAAM,IAAI,cAAYH,EAAS,CAAC,EAChCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,cAAc,CAEtC,CAAC,KAED,MAAG,qCAAsC,IAAM,CAE7C,MAAMF,EAAM,IAAI,cAAYH,EAAS,CAAC,EAChCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAML,CACR,CAAC,EAGKM,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,OAChC,UAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,KAC1D,UAAQA,EAAO,MAAM,cAAwB,OAAO,EAAE,QACpD,0BACF,EAEJ,CAAC,KAED,MAAG,wCAAyC,IAAM,CAEhD,MAAMF,EAAM,IAAI,cAAYH,EAAS,CAAC,EAChCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,EAIzC,MADA,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,EAC7C,IAAC,0BAAuBA,CAAM,EAChC,GAAI,cAAeA,EAAO,SACxB,UAAOA,EAAO,MAAM,SAAS,EAAE,QAAQ,MAAM,MAE7C,OAAM,IAAI,MAAM,0CAA0C,CAGhE,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_InitCommand", "DUMMY_PUBKEY_HEX", "PLACEHOLDER_BYTES", "makeArgs", "apdu", "expected", "cmd", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var u=(o,r)=>{for(var n in r)m(o,n,{get:r[n],enumerable:!0})},c=(o,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of l(r))!g.call(o,a)&&a!==n&&m(o,a,{get:()=>r[a],enumerable:!(t=i(r,a))||t.enumerable});return o};var y=o=>c(m({},"__esModule",{value:!0}),o);var P={};u(P,{ParseBlockSignatureCommand:()=>C});module.exports=y(P);var e=require("@ledgerhq/device-management-kit"),d=require("@ledgerhq/signer-utils"),p=require("purify-ts"),s=require("./utils/ledgerKeyringProtocolErrors");class C{constructor(r){this.args=r}errorHelper=new d.CommandErrorHelper(s.LEDGER_SYNC_ERRORS,s.LedgerKeyringProtocolErrorFactory);getApdu(){const{signature:r}=this.args;return new e.ApduBuilder({cla:224,ins:8,p1:2,p2:0}).addBufferToData(r).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const n=new e.ApduParser(r),t=n.getUnparsedRemainingLength(),a=n.extractFieldByLength(t);return a?(0,e.CommandResultFactory)({data:a}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("No data returned by ParseBlockSignatureCommand")})})}}0&&(module.exports={ParseBlockSignatureCommand});
2
+ //# sourceMappingURL=ParseBlockSignatureCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseBlockSignatureCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type ParseBlockSignatureCommandArgs,\n type ParseBlockSignatureCommandResponse,\n} from \"@api/app-binder/ParseStreamBlockSignatureTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class ParseBlockSignatureCommand\n implements\n Command<\n ParseBlockSignatureCommandResponse,\n ParseBlockSignatureCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n ParseBlockSignatureCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: ParseBlockSignatureCommandArgs) {}\n\n getApdu(): Apdu {\n const { signature } = this.args;\n return (\n new ApduBuilder({\n cla: 0xe0,\n ins: 0x08,\n p1: 0x02,\n p2: 0x00,\n })\n // raw signature chunk\n .addBufferToData(signature)\n .build()\n );\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n ParseBlockSignatureCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const remaining = parser.getUnparsedRemainingLength();\n const payload = parser.extractFieldByLength(remaining);\n if (!payload) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by ParseBlockSignatureCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: payload });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CAME,YAA6BM,EAAsC,CAAtC,UAAAA,CAAuC,CALnD,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,KAAM,CAAE,UAAAC,CAAU,EAAI,KAAK,KAC3B,OACE,IAAI,cAAY,CACd,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EAEE,gBAAgBA,CAAS,EACzB,MAAM,CAEb,CAEA,cACEC,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAYD,EAAO,2BAA2B,EAC9CE,EAAUF,EAAO,qBAAqBC,CAAS,EACrD,OAAKC,KAOE,wBAAqB,CAAE,KAAMA,CAAQ,CAAC,KANpC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,gDACF,CACF,CAAC,CAGL,CAAC,CACH,CACF",
6
+ "names": ["ParseBlockSignatureCommand_exports", "__export", "ParseBlockSignatureCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "signature", "apduResponse", "parser", "remaining", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),r=require("vitest"),a=require("./ParseBlockSignatureCommand");const c=Uint8Array.from([10,11,12]),m=Uint8Array.from([240,202,204,26]);(0,r.describe)("ParseBlockSignatureCommand",()=>{const n=()=>({signature:c});(0,r.describe)("getApdu()",()=>{(0,r.it)("builds correct APDU for signature chunk",()=>{const e=new a.ParseBlockSignatureCommand(n()).getApdu().getRawApdu();(0,r.expect)(e).toEqual(Uint8Array.from([224,8,2,0,c.length,...c]))})}),(0,r.describe)("parseResponse()",()=>{(0,r.it)("returns raw TLV payload on success",()=>{const s=new a.ParseBlockSignatureCommand(n()),o=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:m}),e=s.parseResponse(o);(0,r.expect)((0,t.isSuccessCommandResult)(e)).toBe(!0),(0,t.isSuccessCommandResult)(e)&&(0,r.expect)(e.data).toEqual(m)}),(0,r.it)("maps SW errors to CommandResult error",()=>{const s=new a.ParseBlockSignatureCommand(n()),o=new t.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),e=s.parseResponse(o);(0,r.expect)((0,t.isSuccessCommandResult)(e)).toBe(!1),(0,t.isSuccessCommandResult)(e)||(0,r.expect)(e.error.errorCode).toBe("6a86")}),(0,r.it)("errors when no TLV data returned",()=>{const s=new a.ParseBlockSignatureCommand(n()),o=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array}),e=s.parseResponse(o);(0,r.expect)((0,t.isSuccessCommandResult)(e)).toBe(!0),(0,t.isSuccessCommandResult)(e)&&(0,r.expect)(e.data).toEqual(new Uint8Array([]))})})});
2
+ //# sourceMappingURL=ParseBlockSignatureCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseBlockSignatureCommand.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport type { ParseBlockSignatureCommandArgs } from \"@api/app-binder/ParseStreamBlockSignatureTypes\";\n\nimport { ParseBlockSignatureCommand } from \"./ParseBlockSignatureCommand\";\n\nconst DUMMY_SIGNATURE = Uint8Array.from([0x0a, 0x0b, 0x0c]);\n\nconst PLACEHOLDER_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"ParseBlockSignatureCommand\", () => {\n const makeArgs = (): ParseBlockSignatureCommandArgs => ({\n signature: DUMMY_SIGNATURE,\n });\n\n describe(\"getApdu()\", () => {\n it(\"builds correct APDU for signature chunk\", () => {\n // given\n const cmd = new ParseBlockSignatureCommand(makeArgs());\n\n // when\n const apdu = cmd.getApdu();\n const raw = apdu.getRawApdu();\n\n // then\n expect(raw).toEqual(\n Uint8Array.from([\n 0xe0,\n 0x08,\n 0x02,\n 0x00,\n DUMMY_SIGNATURE.length,\n ...DUMMY_SIGNATURE,\n ]),\n );\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"returns raw TLV payload on success\", () => {\n // given\n const cmd = new ParseBlockSignatureCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: PLACEHOLDER_BYTES,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(PLACEHOLDER_BYTES);\n }\n });\n\n it(\"maps SW errors to CommandResult error\", () => {\n // given\n const cmd = new ParseBlockSignatureCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"errors when no TLV data returned\", () => {\n // given\n const cmd = new ParseBlockSignatureCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(new Uint8Array([]));\n }\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAGO,2CACPC,EAAqC,kBAIrCC,EAA2C,wCAE3C,MAAMC,EAAkB,WAAW,KAAK,CAAC,GAAM,GAAM,EAAI,CAAC,EAEpDC,EAAoB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAElE,YAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAW,KAAuC,CACtD,UAAWF,CACb,MAEA,YAAS,YAAa,IAAM,IAC1B,MAAG,0CAA2C,IAAM,CAMlD,MAAMG,EAJM,IAAI,6BAA2BD,EAAS,CAAC,EAGpC,QAAQ,EACR,WAAW,KAG5B,UAAOC,CAAG,EAAE,QACV,WAAW,KAAK,CACd,IACA,EACA,EACA,EACAH,EAAgB,OAChB,GAAGA,CACL,CAAC,CACH,CACF,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,qCAAsC,IAAM,CAE7C,MAAMI,EAAM,IAAI,6BAA2BF,EAAS,CAAC,EAC/CG,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMJ,CACR,CAAC,EAGKK,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQL,CAAiB,CAEjD,CAAC,KAED,MAAG,wCAAyC,IAAM,CAEhD,MAAMG,EAAM,IAAI,6BAA2BF,EAAS,CAAC,EAC/CG,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,mCAAoC,IAAM,CAE3C,MAAMF,EAAM,IAAI,6BAA2BF,EAAS,CAAC,EAC/CG,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAElD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_ParseBlockSignatureCommand", "DUMMY_SIGNATURE", "PLACEHOLDER_BYTES", "makeArgs", "raw", "cmd", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var u=(n,r)=>{for(var e in r)m(n,e,{get:r[e],enumerable:!0})},y=(n,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of l(r))!g.call(n,a)&&a!==e&&m(n,a,{get:()=>r[a],enumerable:!(t=i(r,a))||t.enumerable});return n};var C=n=>y(m({},"__esModule",{value:!0}),n);var P={};u(P,{ParseSingleCommand:()=>c});module.exports=C(P);var o=require("@ledgerhq/device-management-kit"),d=require("@ledgerhq/signer-utils"),p=require("purify-ts"),s=require("./utils/ledgerKeyringProtocolErrors");class c{constructor(r){this.args=r}errorHelper=new d.CommandErrorHelper(s.LEDGER_SYNC_ERRORS,s.LedgerKeyringProtocolErrorFactory);getApdu(){const{command:r,outputTrustedParam:e=!0}=this.args;return new o.ApduBuilder({cla:224,ins:8,p1:1,p2:e?1:0}).addBufferToData(r).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const e=new o.ApduParser(r),t=e.getUnparsedRemainingLength(),a=e.extractFieldByLength(t);return a?(0,o.CommandResultFactory)({data:a}):(0,o.CommandResultFactory)({error:new o.InvalidStatusWordError("No data returned by ParseSingleCommand")})})}}0&&(module.exports={ParseSingleCommand});
2
+ //# sourceMappingURL=ParseStreamBlockCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseStreamBlockCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type ParseSingleCommandArgs,\n type ParseSingleCommandResponse,\n} from \"@api/app-binder/ParseStreamBlockCommandCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class ParseSingleCommand\n implements\n Command<\n ParseSingleCommandResponse,\n ParseSingleCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n ParseSingleCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: ParseSingleCommandArgs) {}\n\n getApdu(): Apdu {\n const { command, outputTrustedParam = true } = this.args;\n return (\n new ApduBuilder({\n cla: 0xe0,\n ins: 0x08,\n p1: 0x01,\n p2: outputTrustedParam ? 0x01 : 0x00,\n })\n // raw command chunk\n .addBufferToData(command)\n .build()\n );\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n ParseSingleCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const remaining = parser.getUnparsedRemainingLength();\n const payload = parser.extractFieldByLength(remaining);\n if (!payload) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by ParseSingleCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: payload });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CAME,YAA6BM,EAA8B,CAA9B,UAAAA,CAA+B,CAL3C,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,KAAM,CAAE,QAAAC,EAAS,mBAAAC,EAAqB,EAAK,EAAI,KAAK,KACpD,OACE,IAAI,cAAY,CACd,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAIA,EAAqB,EAAO,CAClC,CAAC,EAEE,gBAAgBD,CAAO,EACvB,MAAM,CAEb,CAEA,cACEE,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAYD,EAAO,2BAA2B,EAC9CE,EAAUF,EAAO,qBAAqBC,CAAS,EACrD,OAAKC,KAOE,wBAAqB,CAAE,KAAMA,CAAQ,CAAC,KANpC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,wCACF,CACF,CAAC,CAGL,CAAC,CACH,CACF",
6
+ "names": ["ParseStreamBlockCommand_exports", "__export", "ParseSingleCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "command", "outputTrustedParam", "apduResponse", "parser", "remaining", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),e=require("vitest"),o=require("./ParseStreamBlockCommand");const m=Uint8Array.from([1,2,3]),d=Uint8Array.from([240,202,204,26]);(0,e.describe)("ParseSingleCommand",()=>{const n=(s=!1)=>({command:m,outputTrustedParam:s});(0,e.describe)("getApdu()",()=>{(0,e.it)("builds correct APDU without trustedParam",()=>{const r=new o.ParseSingleCommand(n(!1)).getApdu().getRawApdu();(0,e.expect)(r).toEqual(Uint8Array.from([224,8,1,0,m.length,...m]))}),(0,e.it)("builds correct APDU with trustedParam",()=>{const r=new o.ParseSingleCommand(n(!0)).getApdu().getRawApdu();(0,e.expect)(r).toEqual(Uint8Array.from([224,8,1,1,m.length,...m]))})}),(0,e.describe)("parseResponse()",()=>{(0,e.it)("returns raw TLV payload on success",()=>{const s=new o.ParseSingleCommand(n()),a=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:d}),r=s.parseResponse(a);(0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!0),(0,t.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(d)}),(0,e.it)("maps SW errors to CommandResult error",()=>{const s=new o.ParseSingleCommand(n()),a=new t.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),r=s.parseResponse(a);(0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!1),(0,t.isSuccessCommandResult)(r)||(0,e.expect)(r.error.errorCode).toBe("6a86")}),(0,e.it)("errors when no TLV data returned",()=>{const s=new o.ParseSingleCommand(n()),a=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array}),r=s.parseResponse(a);(0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!0),(0,t.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(new Uint8Array([]))})})});
2
+ //# sourceMappingURL=ParseStreamBlockCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseStreamBlockCommand.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport type { ParseSingleCommandArgs } from \"@api/app-binder/ParseStreamBlockCommandCommandTypes\";\n\nimport { ParseSingleCommand } from \"./ParseStreamBlockCommand\";\n\nconst DUMMY_COMMAND = Uint8Array.from([0x01, 0x02, 0x03]);\nconst PLACEHOLDER_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"ParseSingleCommand\", () => {\n const makeArgs = (outputTrustedParam = false): ParseSingleCommandArgs => ({\n command: DUMMY_COMMAND,\n outputTrustedParam,\n });\n\n describe(\"getApdu()\", () => {\n it(\"builds correct APDU without trustedParam\", () => {\n // given\n const cmd = new ParseSingleCommand(makeArgs(false));\n\n // when\n const apdu = cmd.getApdu();\n const raw = apdu.getRawApdu();\n\n // then\n expect(raw).toEqual(\n Uint8Array.from([\n 0xe0,\n 0x08,\n 0x01,\n 0x00,\n DUMMY_COMMAND.length,\n ...DUMMY_COMMAND,\n ]),\n );\n });\n\n it(\"builds correct APDU with trustedParam\", () => {\n // given\n const cmd = new ParseSingleCommand(makeArgs(true));\n\n // when\n const apdu = cmd.getApdu();\n const raw = apdu.getRawApdu();\n\n // then\n expect(raw).toEqual(\n Uint8Array.from([\n 0xe0,\n 0x08,\n 0x01,\n 0x01,\n DUMMY_COMMAND.length,\n ...DUMMY_COMMAND,\n ]),\n );\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"returns raw TLV payload on success\", () => {\n // given\n const cmd = new ParseSingleCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: PLACEHOLDER_BYTES,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(PLACEHOLDER_BYTES);\n }\n });\n\n it(\"maps SW errors to CommandResult error\", () => {\n // given\n const cmd = new ParseSingleCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"errors when no TLV data returned\", () => {\n // given\n const cmd = new ParseSingleCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(new Uint8Array([]));\n }\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAGO,2CACPC,EAAqC,kBAIrCC,EAAmC,qCAEnC,MAAMC,EAAgB,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EAClDC,EAAoB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAElE,YAAS,qBAAsB,IAAM,CACnC,MAAMC,EAAW,CAACC,EAAqB,MAAmC,CACxE,QAASH,EACT,mBAAAG,CACF,MAEA,YAAS,YAAa,IAAM,IAC1B,MAAG,2CAA4C,IAAM,CAMnD,MAAMC,EAJM,IAAI,qBAAmBF,EAAS,EAAK,CAAC,EAGjC,QAAQ,EACR,WAAW,KAG5B,UAAOE,CAAG,EAAE,QACV,WAAW,KAAK,CACd,IACA,EACA,EACA,EACAJ,EAAc,OACd,GAAGA,CACL,CAAC,CACH,CACF,CAAC,KAED,MAAG,wCAAyC,IAAM,CAMhD,MAAMI,EAJM,IAAI,qBAAmBF,EAAS,EAAI,CAAC,EAGhC,QAAQ,EACR,WAAW,KAG5B,UAAOE,CAAG,EAAE,QACV,WAAW,KAAK,CACd,IACA,EACA,EACA,EACAJ,EAAc,OACd,GAAGA,CACL,CAAC,CACH,CACF,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,qCAAsC,IAAM,CAE7C,MAAMK,EAAM,IAAI,qBAAmBH,EAAS,CAAC,EACvCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAML,CACR,CAAC,EAGKM,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQN,CAAiB,CAEjD,CAAC,KAED,MAAG,wCAAyC,IAAM,CAEhD,MAAMI,EAAM,IAAI,qBAAmBH,EAAS,CAAC,EACvCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,mCAAoC,IAAM,CAE3C,MAAMF,EAAM,IAAI,qBAAmBH,EAAS,CAAC,EACvCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAElD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_ParseStreamBlockCommand", "DUMMY_COMMAND", "PLACEHOLDER_BYTES", "makeArgs", "outputTrustedParam", "raw", "cmd", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(o,r)=>{for(var d in r)s(o,d,{get:r[d],enumerable:!0})},u=(o,r,d,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of c(r))!i.call(o,a)&&a!==d&&s(o,a,{get:()=>r[a],enumerable:!(t=l(r,a))||t.enumerable});return o};var y=o=>u(s({},"__esModule",{value:!0}),o);var P={};g(P,{ParseBlockHeaderCommand:()=>C});module.exports=y(P);var e=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),p=require("purify-ts"),n=require("./utils/ledgerKeyringProtocolErrors");class C{constructor(r){this.args=r}errorHelper=new m.CommandErrorHelper(n.LEDGER_SYNC_ERRORS,n.LedgerKeyringProtocolErrorFactory);getApdu(){const{header:r}=this.args;return new e.ApduBuilder({cla:224,ins:8,p1:0,p2:0}).addBufferToData(r).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const d=new e.ApduParser(r),t=d.getUnparsedRemainingLength(),a=d.extractFieldByLength(t);return a?(0,e.CommandResultFactory)({data:a}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("No data returned by parseBlockHeader")})})}}0&&(module.exports={ParseBlockHeaderCommand});
2
+ //# sourceMappingURL=ParseStreamBlockHeader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseStreamBlockHeader.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type ParseBlockHeaderCommandArgs,\n type ParseBlockHeaderCommandResponse,\n} from \"@api/app-binder/ParseStreamBlockHeaderCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class ParseBlockHeaderCommand\n implements\n Command<\n ParseBlockHeaderCommandResponse,\n ParseBlockHeaderCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n ParseBlockHeaderCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: ParseBlockHeaderCommandArgs) {}\n\n getApdu(): Apdu {\n const { header } = this.args;\n return (\n new ApduBuilder({ cla: 0xe0, ins: 0x08, p1: 0x00, p2: 0x00 })\n // raw block header\n .addBufferToData(header)\n .build()\n );\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n ParseBlockHeaderCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const remaining = parser.getUnparsedRemainingLength();\n const payload = parser.extractFieldByLength(remaining);\n if (!payload) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by parseBlockHeader\",\n ),\n });\n }\n return CommandResultFactory({ data: payload });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CAME,YAA6BM,EAAmC,CAAnC,UAAAA,CAAoC,CALhD,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,KAAM,CAAE,OAAAC,CAAO,EAAI,KAAK,KACxB,OACE,IAAI,cAAY,CAAE,IAAK,IAAM,IAAK,EAAM,GAAI,EAAM,GAAI,CAAK,CAAC,EAEzD,gBAAgBA,CAAM,EACtB,MAAM,CAEb,CAEA,cACEC,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAYD,EAAO,2BAA2B,EAC9CE,EAAUF,EAAO,qBAAqBC,CAAS,EACrD,OAAKC,KAOE,wBAAqB,CAAE,KAAMA,CAAQ,CAAC,KANpC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,sCACF,CACF,CAAC,CAGL,CAAC,CACH,CACF",
6
+ "names": ["ParseStreamBlockHeader_exports", "__export", "ParseBlockHeaderCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "header", "apduResponse", "parser", "remaining", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=require("@ledgerhq/device-management-kit"),e=require("vitest"),d=require("../../app-binder/command/ParseStreamBlockHeader");const n=Uint8Array.from([171,173,190,239]),c=Uint8Array.from([240,202,204,26]);(0,e.describe)("ParseBlockHeaderCommand",()=>{(0,e.describe)("getApdu()",()=>{(0,e.it)("should build the correct APDU for a given header",()=>{const o={header:n},s=new d.ParseBlockHeaderCommand(o).getApdu(),r=Uint8Array.from([224,8,0,0,n.length,...n]);(0,e.expect)(s.getRawApdu()).toEqual(r)})}),(0,e.describe)("parseResponse()",()=>{(0,e.it)("should return the raw TLV payload on success",()=>{const o={header:n},t=new d.ParseBlockHeaderCommand(o),s=new a.ApduResponse({statusCode:Uint8Array.from([144,0]),data:c}),r=t.parseResponse(s);(0,e.expect)((0,a.isSuccessCommandResult)(r)).toBe(!0),(0,a.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(c)}),(0,e.it)("should map SW errors to CommandResult errors",()=>{const o={header:n},t=new d.ParseBlockHeaderCommand(o),s=new a.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),r=t.parseResponse(s);(0,e.expect)((0,a.isSuccessCommandResult)(r)).toBe(!1),(0,a.isSuccessCommandResult)(r)||(0,e.expect)(r.error.errorCode).toBe("6a86")}),(0,e.it)("should handle empty-data payload correctly",()=>{const o={header:n},t=new d.ParseBlockHeaderCommand(o),s=new a.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),r=t.parseResponse(s);(0,e.expect)((0,a.isSuccessCommandResult)(r)).toBe(!0),(0,a.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(new Uint8Array([]))})})});
2
+ //# sourceMappingURL=ParseStreamBlockHeader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ParseStreamBlockHeader.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { type ParseBlockHeaderCommandArgs } from \"@api/app-binder/ParseStreamBlockHeaderCommandTypes\";\nimport { ParseBlockHeaderCommand } from \"@internal/app-binder/command/ParseStreamBlockHeader\";\n\nconst HEADER_BYTES = Uint8Array.from([0xab, 0xad, 0xbe, 0xef]);\nconst TLV_PAYLOAD = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"ParseBlockHeaderCommand\", () => {\n describe(\"getApdu()\", () => {\n it(\"should build the correct APDU for a given header\", () => {\n // given\n const args: ParseBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new ParseBlockHeaderCommand(args);\n\n // when\n const apdu = cmd.getApdu();\n const expected = Uint8Array.from([\n 0xe0,\n 0x08,\n 0x00,\n 0x00,\n HEADER_BYTES.length,\n ...HEADER_BYTES,\n ]);\n\n // then\n expect(apdu.getRawApdu()).toEqual(expected);\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"should return the raw TLV payload on success\", () => {\n // given\n const args: ParseBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new ParseBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: TLV_PAYLOAD,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(TLV_PAYLOAD);\n }\n });\n\n it(\"should map SW errors to CommandResult errors\", () => {\n // given\n const args: ParseBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new ParseBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"should handle empty-data payload correctly\", () => {\n // given\n const args: ParseBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new ParseBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(new Uint8Array([]));\n }\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAGO,2CACPC,EAAqC,kBAGrCC,EAAwC,+DAExC,MAAMC,EAAe,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,GAAI,CAAC,EACvDC,EAAc,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAE5D,YAAS,0BAA2B,IAAM,IACxC,YAAS,YAAa,IAAM,IAC1B,MAAG,mDAAoD,IAAM,CAE3D,MAAMC,EAAoC,CAAE,OAAQF,CAAa,EAI3DG,EAHM,IAAI,0BAAwBD,CAAI,EAG3B,QAAQ,EACnBE,EAAW,WAAW,KAAK,CAC/B,IACA,EACA,EACA,EACAJ,EAAa,OACb,GAAGA,CACL,CAAC,KAGD,UAAOG,EAAK,WAAW,CAAC,EAAE,QAAQC,CAAQ,CAC5C,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,+CAAgD,IAAM,CAEvD,MAAMF,EAAoC,CAAE,OAAQF,CAAa,EAC3DK,EAAM,IAAI,0BAAwBH,CAAI,EACtCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAML,CACR,CAAC,EAGKM,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQN,CAAW,CAE3C,CAAC,KAED,MAAG,+CAAgD,IAAM,CAEvD,MAAMC,EAAoC,CAAE,OAAQF,CAAa,EAC3DK,EAAM,IAAI,0BAAwBH,CAAI,EACtCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,6CAA8C,IAAM,CAErD,MAAML,EAAoC,CAAE,OAAQF,CAAa,EAC3DK,EAAM,IAAI,0BAAwBH,CAAI,EACtCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAElD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_ParseStreamBlockHeader", "HEADER_BYTES", "TLV_PAYLOAD", "args", "apdu", "expected", "cmd", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var C=(o,e)=>{for(var t in e)a(o,t,{get:e[t],enumerable:!0})},y=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let d of l(e))!g.call(o,d)&&d!==t&&a(o,d,{get:()=>e[d],enumerable:!(n=i(e,d))||n.enumerable});return o};var T=o=>y(a({},"__esModule",{value:!0}),o);var c={};C(c,{SetTrustedMemberCommand:()=>f});module.exports=T(c);var r=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),u=require("../../utils/TLVTags"),m=require("./utils/ledgerKeyringProtocolErrors");class f{constructor(e){this.args=e}errorHelper=new s.CommandErrorHelper(m.LEDGER_SYNC_ERRORS,m.LedgerKeyringProtocolErrorFactory);getApdu(){const{iv:e,memberTlv:t}=this.args;return new r.ApduBuilder({cla:224,ins:9,p1:0,p2:0}).add8BitUIntToData(u.TPTags.IV).add8BitUIntToData(e.length).addBufferToData(e).addBufferToData(t).build()}parseResponse(e){return p.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>new r.ApduParser(e).getUnparsedRemainingLength()!==0?(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Unexpected response data for SetTrustedMemberCommand")}):(0,r.CommandResultFactory)({data:void 0}))}}0&&(module.exports={SetTrustedMemberCommand});
2
+ //# sourceMappingURL=SetTrustedMemberCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SetTrustedMemberCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type SetTrustedMemberCommandArgs,\n type SetTrustedMemberCommandResponse,\n} from \"@api/app-binder/SetTrustedMemberTypes\";\nimport { TPTags } from \"@internal/utils/TLVTags\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class SetTrustedMemberCommand\n implements\n Command<\n SetTrustedMemberCommandResponse,\n SetTrustedMemberCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n SetTrustedMemberCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: SetTrustedMemberCommandArgs) {}\n\n getApdu(): Apdu {\n const { iv, memberTlv } = this.args;\n return (\n new ApduBuilder({ cla: 0xe0, ins: 0x09, p1: 0x00, p2: 0x00 })\n // tag for IV\n .add8BitUIntToData(TPTags.IV)\n // IV length\n .add8BitUIntToData(iv.length)\n // IV bytes\n .addBufferToData(iv)\n // TrustedMember bytes\n .addBufferToData(memberTlv)\n .build()\n );\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n SetTrustedMemberCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n if (parser.getUnparsedRemainingLength() !== 0) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Unexpected response data for SetTrustedMemberCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: undefined });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAMtBC,EAAuB,mCAEvBC,EAIO,+CAEA,MAAMN,CAOb,CAME,YAA6BO,EAAmC,CAAnC,UAAAA,CAAoC,CALhD,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,KAAM,CAAE,GAAAC,EAAI,UAAAC,CAAU,EAAI,KAAK,KAC/B,OACE,IAAI,cAAY,CAAE,IAAK,IAAM,IAAK,EAAM,GAAI,EAAM,GAAI,CAAK,CAAC,EAEzD,kBAAkB,SAAO,EAAE,EAE3B,kBAAkBD,EAAG,MAAM,EAE3B,gBAAgBA,CAAE,EAElB,gBAAgBC,CAAS,EACzB,MAAM,CAEb,CAEA,cACEC,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IACC,IAAI,aAAWA,CAAY,EAC/B,2BAA2B,IAAM,KACnC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,sDACF,CACF,CAAC,KAEI,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAChD,CACH,CACF",
6
+ "names": ["SetTrustedMemberCommand_exports", "__export", "SetTrustedMemberCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_TLVTags", "import_ledgerKeyringProtocolErrors", "args", "iv", "memberTlv", "apduResponse"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),e=require("vitest"),n=require("./SetTrustedMemberCommand");const d=Uint8Array.from([240,202,204,26]);(0,e.describe)("SetTrustedMemberCommand",()=>{const a=()=>({iv:d,memberTlv:d});(0,e.describe)("getApdu()",()=>{(0,e.it)("builds correct APDU",()=>{const o=new n.SetTrustedMemberCommand(a()).getApdu(),r=Uint8Array.from([[224,9,0,0,10],[0,4,240,202,204,26],[240,202,204,26]].flat());(0,e.expect)(o.getRawApdu()).toEqual(r)})}),(0,e.describe)("parseResponse()",()=>{(0,e.it)("returns success when no data and SW=0x9000",()=>{const s=new n.SetTrustedMemberCommand(a()),o=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),r=s.parseResponse(o);(0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!0),(0,t.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(void 0)}),(0,e.it)("returns error on unexpected trailing data",()=>{const s=new n.SetTrustedMemberCommand(a()),o=new t.ApduResponse({statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([1,2])}),r=s.parseResponse(o);(0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!1),(0,t.isSuccessCommandResult)(r)||((0,e.expect)(r.error).toBeInstanceOf(t.InvalidStatusWordError),(0,e.expect)(r.error.originalError?.message).toMatch("Unexpected response data"))}),(0,e.it)("maps SW errors to CommandResult error",()=>{const s=new n.SetTrustedMemberCommand(a()),o=new t.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array([])}),r=s.parseResponse(o);if((0,e.expect)((0,t.isSuccessCommandResult)(r)).toBe(!1),!(0,t.isSuccessCommandResult)(r))if("errorCode"in r.error)(0,e.expect)(r.error.errorCode).toEqual("6a86");else throw new Error("Unexpected error type: errorCode property is missing")})})});
2
+ //# sourceMappingURL=SetTrustedMemberCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SetTrustedMemberCommand.test.ts"],
4
+ "sourcesContent": ["import {\n ApduResponse,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport type { SetTrustedMemberCommandArgs } from \"@api/app-binder/SetTrustedMemberTypes\";\n\nimport { SetTrustedMemberCommand } from \"./SetTrustedMemberCommand\";\n\nconst PLACEHOLDER_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"SetTrustedMemberCommand\", () => {\n const makeArgs = (): SetTrustedMemberCommandArgs => ({\n iv: PLACEHOLDER_BYTES,\n memberTlv: PLACEHOLDER_BYTES,\n });\n\n describe(\"getApdu()\", () => {\n it(\"builds correct APDU\", () => {\n // given\n const cmd = new SetTrustedMemberCommand(makeArgs());\n\n // when\n const apdu = cmd.getApdu();\n const expected = Uint8Array.from(\n [\n [0xe0, 0x09, 0x00, 0x00, 0x0a], // CLA, INS, P1, P2, Lc\n [0x00, 0x04, 0xf0, 0xca, 0xcc, 0x1a], // IV\n [0xf0, 0xca, 0xcc, 0x1a], // Member\n ].flat(),\n );\n\n // then\n expect(apdu.getRawApdu()).toEqual(expected);\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"returns success when no data and SW=0x9000\", () => {\n // given\n const cmd = new SetTrustedMemberCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(undefined);\n }\n });\n\n it(\"returns error on unexpected trailing data\", () => {\n // given\n const cmd = new SetTrustedMemberCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([0x01, 0x02]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect((result.error.originalError as Error)?.message).toMatch(\n \"Unexpected response data\",\n );\n }\n });\n\n it(\"maps SW errors to CommandResult error\", () => {\n // given\n const cmd = new SetTrustedMemberCommand(makeArgs());\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array([]),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n if (\"errorCode\" in result.error) {\n expect(result.error.errorCode).toEqual(\"6a86\");\n } else {\n throw new Error(\n \"Unexpected error type: errorCode property is missing\",\n );\n }\n }\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAIO,2CACPC,EAAqC,kBAIrCC,EAAwC,qCAExC,MAAMC,EAAoB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAElE,YAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAW,KAAoC,CACnD,GAAID,EACJ,UAAWA,CACb,MAEA,YAAS,YAAa,IAAM,IAC1B,MAAG,sBAAuB,IAAM,CAK9B,MAAME,EAHM,IAAI,0BAAwBD,EAAS,CAAC,EAGjC,QAAQ,EACnBE,EAAW,WAAW,KAC1B,CACE,CAAC,IAAM,EAAM,EAAM,EAAM,EAAI,EAC7B,CAAC,EAAM,EAAM,IAAM,IAAM,IAAM,EAAI,EACnC,CAAC,IAAM,IAAM,IAAM,EAAI,CACzB,EAAE,KAAK,CACT,KAGA,UAAOD,EAAK,WAAW,CAAC,EAAE,QAAQC,CAAQ,CAC5C,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,6CAA8C,IAAM,CAErD,MAAMC,EAAM,IAAI,0BAAwBH,EAAS,CAAC,EAC5CI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,MAAS,CAEzC,CAAC,KAED,MAAG,4CAA6C,IAAM,CAEpD,MAAMF,EAAM,IAAI,0BAAwBH,EAAS,CAAC,EAC5CI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,CACpC,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,OAChC,UAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,KAC1D,UAAQA,EAAO,MAAM,eAAyB,OAAO,EAAE,QACrD,0BACF,EAEJ,CAAC,KAED,MAAG,wCAAyC,IAAM,CAEhD,MAAMF,EAAM,IAAI,0BAAwBH,EAAS,CAAC,EAC5CI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,EAIzC,MADA,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,EAC7C,IAAC,0BAAuBA,CAAM,EAChC,GAAI,cAAeA,EAAO,SACxB,UAAOA,EAAO,MAAM,SAAS,EAAE,QAAQ,MAAM,MAE7C,OAAM,IAAI,MACR,sDACF,CAGN,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_SetTrustedMemberCommand", "PLACEHOLDER_BYTES", "makeArgs", "apdu", "expected", "cmd", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var c=(o,r)=>{for(var a in r)m(o,a,{get:r[a],enumerable:!0})},u=(o,r,a,d)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of l(r))!g.call(o,n)&&n!==a&&m(o,n,{get:()=>r[n],enumerable:!(d=i(r,n))||d.enumerable});return o};var y=o=>u(m({},"__esModule",{value:!0}),o);var R={};c(R,{SignBlockHeaderCommand:()=>C});module.exports=y(R);var e=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),t=require("./utils/ledgerKeyringProtocolErrors");class C{constructor(r){this.args=r}errorHelper=new s.CommandErrorHelper(t.LEDGER_SYNC_ERRORS,t.LedgerKeyringProtocolErrorFactory);getApdu(){return new e.ApduBuilder({cla:224,ins:7,p1:0,p2:0}).addBufferToData(this.args.header).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const a=new e.ApduParser(r),d=a.getUnparsedRemainingLength(),n=a.extractFieldByLength(d);return n?(0,e.CommandResultFactory)({data:n}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("No data returned by SignBlockHeaderCommand")})})}}0&&(module.exports={SignBlockHeaderCommand});
2
+ //# sourceMappingURL=SignBlockHeader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockHeader.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type SignBlockHeaderCommandArgs,\n type SignBlockHeaderCommandResponse,\n} from \"@api/app-binder/SignBlockHeaderCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class SignBlockHeaderCommand\n implements\n Command<\n SignBlockHeaderCommandResponse,\n SignBlockHeaderCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n SignBlockHeaderCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: SignBlockHeaderCommandArgs) {}\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: 0xe0,\n ins: 0x07,\n p1: 0x00,\n p2: 0x00,\n })\n .addBufferToData(this.args.header)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n SignBlockHeaderCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const remaining = parser.getUnparsedRemainingLength();\n const payload = parser.extractFieldByLength(remaining);\n if (!payload) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by SignBlockHeaderCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: payload });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CAME,YAA6BM,EAAkC,CAAlC,UAAAA,CAAmC,CAL/C,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,OAAO,IAAI,cAAY,CACrB,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EACE,gBAAgB,KAAK,KAAK,MAAM,EAChC,MAAM,CACX,CAEA,cACEC,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAYD,EAAO,2BAA2B,EAC9CE,EAAUF,EAAO,qBAAqBC,CAAS,EACrD,OAAKC,KAOE,wBAAqB,CAAE,KAAMA,CAAQ,CAAC,KANpC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,4CACF,CACF,CAAC,CAGL,CAAC,CACH,CACF",
6
+ "names": ["SignBlockHeader_exports", "__export", "SignBlockHeaderCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "apduResponse", "parser", "remaining", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=require("@ledgerhq/device-management-kit"),e=require("vitest"),d=require("./SignBlockHeader");const a=Uint8Array.from([240,202,204,26]),c=Uint8Array.from([240,202,204,26]),p=Uint8Array.from([0,c.length,...c]),l=Uint8Array.from([129,c.length,...c]),m=new Uint8Array([...p,...l]);(0,e.describe)("SignBlockHeaderCommand",()=>{(0,e.describe)("getApdu()",()=>{(0,e.it)("should build the correct APDU for a given header",()=>{const n={header:a},s=new d.SignBlockHeaderCommand(n).getApdu(),r=Uint8Array.from([224,7,0,0,a.length,...a]);(0,e.expect)(s.getRawApdu()).toEqual(r)})}),(0,e.describe)("parseResponse()",()=>{(0,e.it)("should return raw payload on success",()=>{const n={header:a},t=new d.SignBlockHeaderCommand(n),s=new o.ApduResponse({statusCode:Uint8Array.from([144,0]),data:m}),r=t.parseResponse(s);if((0,e.expect)((0,o.isSuccessCommandResult)(r)).toBe(!0),(0,o.isSuccessCommandResult)(r)){const i=r.data;(0,e.expect)(i).toEqual(m)}}),(0,e.it)("should map SW errors to CommandResult errors",()=>{const n={header:a},t=new d.SignBlockHeaderCommand(n),s=new o.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),r=t.parseResponse(s);(0,e.expect)((0,o.isSuccessCommandResult)(r)).toBe(!1),(0,o.isSuccessCommandResult)(r)||(0,e.expect)(r.error.errorCode).toBe("6a86")}),(0,e.it)("should error if no data is returned",()=>{const n={header:a},t=new d.SignBlockHeaderCommand(n),s=new o.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array}),r=t.parseResponse(s);(0,e.expect)((0,o.isSuccessCommandResult)(r)).toBe(!0),(0,o.isSuccessCommandResult)(r)&&(0,e.expect)(r.data).toEqual(new Uint8Array([]))})})});
2
+ //# sourceMappingURL=SignBlockHeader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockHeader.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport {\n type SignBlockHeaderCommandArgs,\n type SignBlockHeaderCommandResponse,\n} from \"@api/app-binder/SignBlockHeaderCommandTypes\";\n\nimport { SignBlockHeaderCommand } from \"./SignBlockHeader\";\n\nconst HEADER_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\nconst TLV_VALUE = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\nconst IV_TLV = Uint8Array.from([0x00, TLV_VALUE.length, ...TLV_VALUE]);\nconst ISSUER_TLV = Uint8Array.from([0x81, TLV_VALUE.length, ...TLV_VALUE]);\nconst FULL_TLV_PAYLOAD = new Uint8Array([...IV_TLV, ...ISSUER_TLV]);\n\ndescribe(\"SignBlockHeaderCommand\", () => {\n describe(\"getApdu()\", () => {\n it(\"should build the correct APDU for a given header\", () => {\n // given\n const args: SignBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new SignBlockHeaderCommand(args);\n\n // when\n const apdu = cmd.getApdu();\n const expected = Uint8Array.from([\n 0xe0,\n 0x07,\n 0x00,\n 0x00,\n HEADER_BYTES.length,\n ...HEADER_BYTES,\n ]);\n\n // then\n expect(apdu.getRawApdu()).toEqual(expected);\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"should return raw payload on success\", () => {\n // given\n const args: SignBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new SignBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: FULL_TLV_PAYLOAD,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n const res: SignBlockHeaderCommandResponse = result.data;\n expect(res).toEqual(FULL_TLV_PAYLOAD);\n }\n });\n\n it(\"should map SW errors to CommandResult errors\", () => {\n // given\n const args: SignBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new SignBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"should error if no data is returned\", () => {\n // given\n const args: SignBlockHeaderCommandArgs = { header: HEADER_BYTES };\n const cmd = new SignBlockHeaderCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(new Uint8Array([]));\n }\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAGO,2CACPC,EAAqC,kBAOrCC,EAAuC,6BAEvC,MAAMC,EAAe,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,EACvDC,EAAY,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,EACpDC,EAAS,WAAW,KAAK,CAAC,EAAMD,EAAU,OAAQ,GAAGA,CAAS,CAAC,EAC/DE,EAAa,WAAW,KAAK,CAAC,IAAMF,EAAU,OAAQ,GAAGA,CAAS,CAAC,EACnEG,EAAmB,IAAI,WAAW,CAAC,GAAGF,EAAQ,GAAGC,CAAU,CAAC,KAElE,YAAS,yBAA0B,IAAM,IACvC,YAAS,YAAa,IAAM,IAC1B,MAAG,mDAAoD,IAAM,CAE3D,MAAME,EAAmC,CAAE,OAAQL,CAAa,EAI1DM,EAHM,IAAI,yBAAuBD,CAAI,EAG1B,QAAQ,EACnBE,EAAW,WAAW,KAAK,CAC/B,IACA,EACA,EACA,EACAP,EAAa,OACb,GAAGA,CACL,CAAC,KAGD,UAAOM,EAAK,WAAW,CAAC,EAAE,QAAQC,CAAQ,CAC5C,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,uCAAwC,IAAM,CAE/C,MAAMF,EAAmC,CAAE,OAAQL,CAAa,EAC1DQ,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAML,CACR,CAAC,EAGKM,EAASF,EAAI,cAAcC,CAAQ,EAIzC,MADA,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,EAAG,CAClC,MAAMC,EAAsCD,EAAO,QACnD,UAAOC,CAAG,EAAE,QAAQP,CAAgB,CACtC,CACF,CAAC,KAED,MAAG,+CAAgD,IAAM,CAEvD,MAAMC,EAAmC,CAAE,OAAQL,CAAa,EAC1DQ,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,sCAAuC,IAAM,CAE9C,MAAML,EAAmC,CAAE,OAAQL,CAAa,EAC1DQ,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAElD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_SignBlockHeader", "HEADER_BYTES", "TLV_VALUE", "IV_TLV", "ISSUER_TLV", "FULL_TLV_PAYLOAD", "args", "apdu", "expected", "cmd", "response", "result", "res"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var d=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var C=(n,r)=>{for(var t in r)d(n,t,{get:r[t],enumerable:!0})},R=(n,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of y(r))!S.call(n,o)&&o!==t&&d(n,o,{get:()=>r[o],enumerable:!(s=c(r,o))||s.enumerable});return n};var f=n=>R(d({},"__esModule",{value:!0}),n);var B={};C(B,{SignBlockSignatureCommand:()=>E});module.exports=f(B);var e=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),l=require("purify-ts"),a=require("./utils/ledgerKeyringProtocolErrors");class E{errorHelper=new m.CommandErrorHelper(a.LEDGER_SYNC_ERRORS,a.LedgerKeyringProtocolErrorFactory);constructor(){}getApdu(){return new e.ApduBuilder({cla:224,ins:7,p1:2,p2:0}).build()}parseResponse(r){return l.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const t=new e.ApduParser(r),s=t.getUnparsedRemainingLength(),o=t.extractFieldByLength(s);if(!o)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("No data returned by SignBlockSignatureCommand")});if(o.length<2)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Invalid response: missing signature length or reserved byte")});const g=o[0];if(g===void 0)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Invalid response: unable to read signature length")});const i=g;if(o.length<2+i)return(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("Signature length out of bounds")});const u=o.slice(1,1+i),p=o.slice(1+i+1);return(0,e.CommandResultFactory)({data:{signature:u,deviceSessionKey:p}})})}}0&&(module.exports={SignBlockSignatureCommand});
2
+ //# sourceMappingURL=SignBlockSignatureCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockSignatureCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type SignBlockSignatureCommandArgs,\n type SignBlockSignatureCommandResponse,\n} from \"@api/app-binder/SignBlockSignatureCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class SignBlockSignatureCommand\n implements\n Command<\n SignBlockSignatureCommandResponse,\n SignBlockSignatureCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n SignBlockSignatureCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: 0xe0,\n ins: 0x07,\n p1: 0x02,\n p2: 0x00,\n }).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n SignBlockSignatureCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const rem = parser.getUnparsedRemainingLength();\n const data = parser.extractFieldByLength(rem);\n if (!data) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by SignBlockSignatureCommand\",\n ),\n });\n }\n\n if (data.length < 2) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response: missing signature length or reserved byte\",\n ),\n });\n }\n\n const raw = data[0];\n if (raw === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response: unable to read signature length\",\n ),\n });\n }\n\n const sigLen = raw;\n if (data.length < 2 + sigLen) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Signature length out of bounds\"),\n });\n }\n\n const signature = data.slice(1, 1 + sigLen);\n const deviceSessionKey = data.slice(1 + sigLen + 1);\n\n return CommandResultFactory({ data: { signature, deviceSessionKey } });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CACmB,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAEvD,aAAc,CAAC,CAEf,SAAgB,CACd,OAAO,IAAI,cAAY,CACrB,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EAAE,MAAM,CACX,CAEA,cACEM,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAMD,EAAO,2BAA2B,EACxCE,EAAOF,EAAO,qBAAqBC,CAAG,EAC5C,GAAI,CAACC,EACH,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,+CACF,CACF,CAAC,EAGH,GAAIA,EAAK,OAAS,EAChB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,6DACF,CACF,CAAC,EAGH,MAAMC,EAAMD,EAAK,CAAC,EAClB,GAAIC,IAAQ,OACV,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,mDACF,CACF,CAAC,EAGH,MAAMC,EAASD,EACf,GAAID,EAAK,OAAS,EAAIE,EACpB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,gCAAgC,CACpE,CAAC,EAGH,MAAMC,EAAYH,EAAK,MAAM,EAAG,EAAIE,CAAM,EACpCE,EAAmBJ,EAAK,MAAM,EAAIE,EAAS,CAAC,EAElD,SAAO,wBAAqB,CAAE,KAAM,CAAE,UAAAC,EAAW,iBAAAC,CAAiB,CAAE,CAAC,CACvE,CAAC,CACH,CACF",
6
+ "names": ["SignBlockSignatureCommand_exports", "__export", "SignBlockSignatureCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "apduResponse", "parser", "rem", "data", "raw", "sigLen", "signature", "deviceSessionKey"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("@ledgerhq/device-management-kit"),e=require("vitest"),i=require("./SignBlockSignatureCommand");const a=Uint8Array.from([240,202,204,26]);(0,e.describe)("SignBlockSignatureCommand",()=>{(0,e.describe)("getApdu()",()=>{(0,e.it)("should build the correct APDU for finalize-signature",()=>{const s=new i.SignBlockSignatureCommand().getApdu();(0,e.expect)(s.getRawApdu()).toEqual(Uint8Array.from([224,7,2,0,0]))})}),(0,e.describe)("parseResponse()",()=>{(0,e.it)("should return signature and sessionKey on success",()=>{const t=new Uint8Array([a.length,...a,a.length,...a]),s=new i.SignBlockSignatureCommand,o=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:t}),n=s.parseResponse(o);if((0,e.expect)((0,r.isSuccessCommandResult)(n)).toBe(!0),(0,r.isSuccessCommandResult)(n)){const d=n.data;(0,e.expect)(d.signature).toEqual(a),(0,e.expect)(d.deviceSessionKey).toEqual(a)}}),(0,e.it)("should map SW errors to CommandResult errors",()=>{const t=new i.SignBlockSignatureCommand,s=new r.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),o=t.parseResponse(s);(0,e.expect)((0,r.isSuccessCommandResult)(o)).toBe(!1),(0,r.isSuccessCommandResult)(o)||(0,e.expect)(o.error.errorCode).toBe("6a86")}),(0,e.it)("should error if missing length or reserved byte",()=>{const t=new i.SignBlockSignatureCommand,s=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array}),o=t.parseResponse(s);(0,e.expect)((0,r.isSuccessCommandResult)(o)).toBe(!1),(0,r.isSuccessCommandResult)(o)||((0,e.expect)(o.error._tag).toBe("InvalidStatusWordError"),(0,e.expect)(o.error.originalError.message).toBe("Invalid response: missing signature length or reserved byte"))}),(0,e.it)("should error if signature length out of bounds",()=>{const t=Uint8Array.from([5,170,187]),s=new i.SignBlockSignatureCommand,o=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:t}),n=s.parseResponse(o);(0,e.expect)((0,r.isSuccessCommandResult)(n)).toBe(!1),(0,r.isSuccessCommandResult)(n)||((0,e.expect)(n.error._tag).toBe("InvalidStatusWordError"),(0,e.expect)(n.error.originalError.message).toBe("Signature length out of bounds"))})})});
2
+ //# sourceMappingURL=SignBlockSignatureCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockSignatureCommand.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { type SignBlockSignatureCommandResponse } from \"@api/app-binder/SignBlockSignatureCommandTypes\";\n\nimport { SignBlockSignatureCommand } from \"./SignBlockSignatureCommand\";\n\nconst SIG_AND_KEY = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"SignBlockSignatureCommand\", () => {\n describe(\"getApdu()\", () => {\n it(\"should build the correct APDU for finalize-signature\", () => {\n const cmd = new SignBlockSignatureCommand();\n const apdu = cmd.getApdu();\n expect(apdu.getRawApdu()).toEqual(\n Uint8Array.from([0xe0, 0x07, 0x02, 0x00, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"should return signature and sessionKey on success\", () => {\n // given\n const payload = new Uint8Array([\n SIG_AND_KEY.length,\n ...SIG_AND_KEY,\n SIG_AND_KEY.length,\n ...SIG_AND_KEY,\n ]);\n const cmd = new SignBlockSignatureCommand();\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: payload,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n const res: SignBlockSignatureCommandResponse = result.data;\n expect(res.signature).toEqual(SIG_AND_KEY);\n expect(res.deviceSessionKey).toEqual(SIG_AND_KEY);\n }\n });\n\n it(\"should map SW errors to CommandResult errors\", () => {\n // given\n const cmd = new SignBlockSignatureCommand();\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"should error if missing length or reserved byte\", () => {\n // given\n const cmd = new SignBlockSignatureCommand();\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any)._tag).toBe(\"InvalidStatusWordError\");\n expect((result.error as any).originalError.message).toBe(\n \"Invalid response: missing signature length or reserved byte\",\n );\n }\n });\n\n it(\"should error if signature length out of bounds\", () => {\n // given\n const bad = Uint8Array.from([5, 0xaa, 0xbb]);\n const cmd = new SignBlockSignatureCommand();\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: bad,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any)._tag).toBe(\"InvalidStatusWordError\");\n expect((result.error as any).originalError.message).toBe(\n \"Signature length out of bounds\",\n );\n }\n });\n });\n});\n"],
5
+ "mappings": "aAGA,IAAAA,EAGO,2CACPC,EAAqC,kBAIrCC,EAA0C,uCAE1C,MAAMC,EAAc,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAE5D,YAAS,4BAA6B,IAAM,IAC1C,YAAS,YAAa,IAAM,IAC1B,MAAG,uDAAwD,IAAM,CAE/D,MAAMC,EADM,IAAI,4BAA0B,EACzB,QAAQ,KACzB,UAAOA,EAAK,WAAW,CAAC,EAAE,QACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,oDAAqD,IAAM,CAE5D,MAAMC,EAAU,IAAI,WAAW,CAC7BF,EAAY,OACZ,GAAGA,EACHA,EAAY,OACZ,GAAGA,CACL,CAAC,EACKG,EAAM,IAAI,4BACVC,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMF,CACR,CAAC,EAGKG,EAASF,EAAI,cAAcC,CAAQ,EAIzC,MADA,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,EAAG,CAClC,MAAMC,EAAyCD,EAAO,QACtD,UAAOC,EAAI,SAAS,EAAE,QAAQN,CAAW,KACzC,UAAOM,EAAI,gBAAgB,EAAE,QAAQN,CAAW,CAClD,CACF,CAAC,KAED,MAAG,+CAAgD,IAAM,CAEvD,MAAMG,EAAM,IAAI,4BACVC,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,kDAAmD,IAAM,CAE1D,MAAMF,EAAM,IAAI,4BACVC,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,OAChC,UAAQA,EAAO,MAAc,IAAI,EAAE,KAAK,wBAAwB,KAChE,UAAQA,EAAO,MAAc,cAAc,OAAO,EAAE,KAClD,6DACF,EAEJ,CAAC,KAED,MAAG,iDAAkD,IAAM,CAEzD,MAAME,EAAM,WAAW,KAAK,CAAC,EAAG,IAAM,GAAI,CAAC,EACrCJ,EAAM,IAAI,4BACVC,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMG,CACR,CAAC,EAGKF,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,OAChC,UAAQA,EAAO,MAAc,IAAI,EAAE,KAAK,wBAAwB,KAChE,UAAQA,EAAO,MAAc,cAAc,OAAO,EAAE,KAClD,gCACF,EAEJ,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_SignBlockSignatureCommand", "SIG_AND_KEY", "apdu", "payload", "cmd", "response", "result", "res", "bad"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var d=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(o,r)=>{for(var t in r)d(o,t,{get:r[t],enumerable:!0})},u=(o,r,t,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of s(r))!p.call(o,n)&&n!==t&&d(o,n,{get:()=>r[n],enumerable:!(m=g(r,n))||m.enumerable});return o};var S=o=>u(d({},"__esModule",{value:!0}),o);var C={};c(C,{SignBlockSingleCommand:()=>y});module.exports=S(C);var e=require("@ledgerhq/device-management-kit"),l=require("@ledgerhq/signer-utils"),i=require("purify-ts"),a=require("./utils/ledgerKeyringProtocolErrors");class y{constructor(r){this.args=r}errorHelper=new l.CommandErrorHelper(a.LEDGER_SYNC_ERRORS,a.LedgerKeyringProtocolErrorFactory);getApdu(){return new e.ApduBuilder({cla:224,ins:7,p1:1,p2:0}).addBufferToData(this.args.command).build()}parseResponse(r){return i.Maybe.fromNullable(this.errorHelper.getError(r)).orDefaultLazy(()=>{const t=new e.ApduParser(r),m=t.getUnparsedRemainingLength(),n=t.extractFieldByLength(m);return n?(0,e.CommandResultFactory)({data:n}):(0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("No data returned by SignBlockSingleCommand")})})}}0&&(module.exports={SignBlockSingleCommand});
2
+ //# sourceMappingURL=SignBlockSingleCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockSingleCommand.ts"],
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type SignBlockSingleCommandArgs,\n type SignBlockSingleCommandResponse,\n} from \"@api/app-binder/SignBlockSingleCommandTypes\";\n\nimport {\n LEDGER_SYNC_ERRORS,\n type LedgerKeyringProtocolErrorCodes,\n LedgerKeyringProtocolErrorFactory,\n} from \"./utils/ledgerKeyringProtocolErrors\";\n\nexport class SignBlockSingleCommand\n implements\n Command<\n SignBlockSingleCommandResponse,\n SignBlockSingleCommandArgs,\n LedgerKeyringProtocolErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n SignBlockSingleCommandResponse,\n LedgerKeyringProtocolErrorCodes\n >(LEDGER_SYNC_ERRORS, LedgerKeyringProtocolErrorFactory);\n\n constructor(private readonly args: SignBlockSingleCommandArgs) {}\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: 0xe0,\n ins: 0x07,\n p1: 0x01,\n p2: 0x00,\n })\n .addBufferToData(this.args.command)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<\n SignBlockSingleCommandResponse,\n LedgerKeyringProtocolErrorCodes\n > {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n const remaining = parser.getUnparsedRemainingLength();\n const tlvBlob = parser.extractFieldByLength(remaining);\n if (!tlvBlob) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"No data returned by SignBlockSingleCommand\",\n ),\n });\n }\n return CommandResultFactory({ data: tlvBlob });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EASO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAOtBC,EAIO,+CAEA,MAAML,CAOb,CAME,YAA6BM,EAAkC,CAAlC,UAAAA,CAAmC,CAL/C,YAAc,IAAI,qBAGjC,qBAAoB,mCAAiC,EAIvD,SAAgB,CACd,OAAO,IAAI,cAAY,CACrB,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EACE,gBAAgB,KAAK,KAAK,OAAO,EACjC,MAAM,CACX,CAEA,cACEC,EAIA,CACA,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAYD,EAAO,2BAA2B,EAC9CE,EAAUF,EAAO,qBAAqBC,CAAS,EACrD,OAAKC,KAOE,wBAAqB,CAAE,KAAMA,CAAQ,CAAC,KANpC,wBAAqB,CAC1B,MAAO,IAAI,yBACT,4CACF,CACF,CAAC,CAGL,CAAC,CACH,CACF",
6
+ "names": ["SignBlockSingleCommand_exports", "__export", "SignBlockSingleCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ledgerKeyringProtocolErrors", "args", "apduResponse", "parser", "remaining", "tlvBlob"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("@ledgerhq/device-management-kit"),o=require("vitest"),c=require("./SignBlockSingleCommand");const a=Uint8Array.from([240,202,204,26]),m=Uint8Array.from([240,202,204,26]);(0,o.describe)("SignBlockSingleCommand",()=>{(0,o.describe)("getApdu()",()=>{(0,o.it)("should build the correct APDU for a given command",()=>{const s={command:a},r=new c.SignBlockSingleCommand(s).getApdu(),n=Uint8Array.from([224,7,1,0,a.length,...a]);(0,o.expect)(r.getRawApdu()).toEqual(n)})}),(0,o.describe)("parseResponse()",()=>{(0,o.it)("should return the raw TLV blob on success",()=>{const s={command:a},t=new c.SignBlockSingleCommand(s),r=new e.ApduResponse({statusCode:Uint8Array.from([144,0]),data:m}),n=t.parseResponse(r);if((0,o.expect)((0,e.isSuccessCommandResult)(n)).toBe(!0),(0,e.isSuccessCommandResult)(n)){const d=n.data;(0,o.expect)(d).toEqual(m)}}),(0,o.it)("should map SW errors to CommandResult errors",()=>{const s={command:a},t=new c.SignBlockSingleCommand(s),r=new e.ApduResponse({statusCode:Uint8Array.from([106,134]),data:new Uint8Array}),n=t.parseResponse(r);(0,o.expect)((0,e.isSuccessCommandResult)(n)).toBe(!1),(0,e.isSuccessCommandResult)(n)||(0,o.expect)(n.error.errorCode).toBe("6a86")}),(0,o.it)("should return an empty Uint8Array if no data is returned",()=>{const s={command:a},t=new c.SignBlockSingleCommand(s),r=new e.ApduResponse({statusCode:Uint8Array.from([144,0]),data:new Uint8Array}),n=t.parseResponse(r);(0,o.expect)((0,e.isSuccessCommandResult)(n)).toBe(!0),(0,e.isSuccessCommandResult)(n)&&(0,o.expect)(n.data).toEqual(new Uint8Array)})})});
2
+ //# sourceMappingURL=SignBlockSingleCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignBlockSingleCommand.test.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport {\n type SignBlockSingleCommandArgs,\n type SignBlockSingleCommandResponse,\n} from \"@api/app-binder/SignBlockSingleCommandTypes\";\n\nimport { SignBlockSingleCommand } from \"./SignBlockSingleCommand\";\n\nconst COMMAND_BYTES = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\nconst TLV_PAYLOAD = Uint8Array.from([0xf0, 0xca, 0xcc, 0x1a]);\n\ndescribe(\"SignBlockSingleCommand\", () => {\n describe(\"getApdu()\", () => {\n it(\"should build the correct APDU for a given command\", () => {\n // given\n const args: SignBlockSingleCommandArgs = { command: COMMAND_BYTES };\n const cmd = new SignBlockSingleCommand(args);\n\n // when\n const apdu = cmd.getApdu();\n const expected = Uint8Array.from([\n 0xe0,\n 0x07,\n 0x01,\n 0x00,\n COMMAND_BYTES.length,\n ...COMMAND_BYTES,\n ]);\n\n // then\n expect(apdu.getRawApdu()).toEqual(expected);\n });\n });\n\n describe(\"parseResponse()\", () => {\n it(\"should return the raw TLV blob on success\", () => {\n // given\n const args: SignBlockSingleCommandArgs = { command: COMMAND_BYTES };\n const cmd = new SignBlockSingleCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: TLV_PAYLOAD,\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n const data: SignBlockSingleCommandResponse = result.data;\n expect(data).toEqual(TLV_PAYLOAD);\n }\n });\n\n it(\"should map SW errors to CommandResult errors\", () => {\n // given\n const args: SignBlockSingleCommandArgs = { command: COMMAND_BYTES };\n const cmd = new SignBlockSingleCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x86]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(false);\n if (!isSuccessCommandResult(result)) {\n expect((result.error as any).errorCode).toBe(\"6a86\");\n }\n });\n\n it(\"should return an empty Uint8Array if no data is returned\", () => {\n // given\n const args: SignBlockSingleCommandArgs = { command: COMMAND_BYTES };\n const cmd = new SignBlockSingleCommand(args);\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n // when\n const result = cmd.parseResponse(response);\n\n // then\n expect(isSuccessCommandResult(result)).toBe(true);\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual(new Uint8Array());\n }\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAGO,2CACPC,EAAqC,kBAOrCC,EAAuC,oCAEvC,MAAMC,EAAgB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,EACxDC,EAAc,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC,KAE5D,YAAS,yBAA0B,IAAM,IACvC,YAAS,YAAa,IAAM,IAC1B,MAAG,oDAAqD,IAAM,CAE5D,MAAMC,EAAmC,CAAE,QAASF,CAAc,EAI5DG,EAHM,IAAI,yBAAuBD,CAAI,EAG1B,QAAQ,EACnBE,EAAW,WAAW,KAAK,CAC/B,IACA,EACA,EACA,EACAJ,EAAc,OACd,GAAGA,CACL,CAAC,KAGD,UAAOG,EAAK,WAAW,CAAC,EAAE,QAAQC,CAAQ,CAC5C,CAAC,CACH,CAAC,KAED,YAAS,kBAAmB,IAAM,IAChC,MAAG,4CAA6C,IAAM,CAEpD,MAAMF,EAAmC,CAAE,QAASF,CAAc,EAC5DK,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAML,CACR,CAAC,EAGKM,EAASF,EAAI,cAAcC,CAAQ,EAIzC,MADA,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,EAAG,CAClC,MAAMC,EAAuCD,EAAO,QACpD,UAAOC,CAAI,EAAE,QAAQP,CAAW,CAClC,CACF,CAAC,KAED,MAAG,+CAAgD,IAAM,CAEvD,MAAMC,EAAmC,CAAE,QAASF,CAAc,EAC5DK,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,KAC5C,0BAAuBA,CAAM,MAChC,UAAQA,EAAO,MAAc,SAAS,EAAE,KAAK,MAAM,CAEvD,CAAC,KAED,MAAG,2DAA4D,IAAM,CAEnE,MAAML,EAAmC,CAAE,QAASF,CAAc,EAC5DK,EAAM,IAAI,yBAAuBH,CAAI,EACrCI,EAAW,IAAI,eAAa,CAChC,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,CAAC,EAGKC,EAASF,EAAI,cAAcC,CAAQ,KAGzC,aAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAI,KAC5C,0BAAuBA,CAAM,MAC/B,UAAOA,EAAO,IAAI,EAAE,QAAQ,IAAI,UAAY,CAEhD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_vitest", "import_SignBlockSingleCommand", "COMMAND_BYTES", "TLV_PAYLOAD", "args", "apdu", "expected", "cmd", "response", "result", "data"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var d=(a,e)=>{for(var r in e)u(a,r,{get:e[r],enumerable:!0})},p=(a,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!o.call(a,t)&&t!==r&&u(a,t,{get:()=>e[t],enumerable:!(s=c(e,t))||s.enumerable});return a};var i=a=>p(u({},"__esModule",{value:!0}),a);var b={};d(b,{extractTrustedProperty:()=>x});module.exports=i(b);function x(a){const e={};let r=a.extractFieldTLVEncoded();for(;r&&r.value;){switch(r.tag){case 0:e.iv=r.value;break;case 1:e.issuer=r.value;break;case 2:e.xpriv=r.value;break;case 3:e.ephemeralPubKey=r.value;break;case 4:e.commandIV=r.value;break;case 5:e.groupKey=r.value;break;case 6:e.newMember=r.value;break;default:break}r=a.extractFieldTLVEncoded()}return e}0&&(module.exports={extractTrustedProperty});
2
+ //# sourceMappingURL=extractTrustedProperty.js.map