@ledgerhq/device-trusted-app-kit-ledger-keyring-protocol 0.0.0-develop-20250904001204 → 0.0.0-e2e-speculos-20250904125723

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 (535) hide show
  1. package/lib/cjs/api/LedgerKeyringProtocol.js +1 -1
  2. package/lib/cjs/api/LedgerKeyringProtocol.js.map +1 -1
  3. package/lib/cjs/api/LedgerKeyringProtocolBuilder.js +1 -1
  4. package/lib/cjs/api/LedgerKeyringProtocolBuilder.js.map +3 -3
  5. package/lib/cjs/api/app-binder/AddToTrustchainDeviceActionTypes.js +1 -1
  6. package/lib/cjs/api/app-binder/AddToTrustchainDeviceActionTypes.js.map +3 -3
  7. package/lib/cjs/api/app-binder/AuthenticateDeviceActionTypes.js +1 -1
  8. package/lib/cjs/api/app-binder/AuthenticateDeviceActionTypes.js.map +3 -3
  9. package/lib/cjs/api/app-binder/Errors.js +2 -0
  10. package/lib/cjs/api/app-binder/Errors.js.map +7 -0
  11. package/lib/cjs/api/app-binder/GetAppNameCommandTypes.js +2 -0
  12. package/lib/cjs/api/app-binder/GetAppNameCommandTypes.js.map +7 -0
  13. package/lib/cjs/api/app-binder/GetSeedIdCommandTypes.js +2 -0
  14. package/lib/cjs/api/app-binder/GetSeedIdCommandTypes.js.map +7 -0
  15. package/lib/cjs/api/app-binder/GetVersionCommandTypes.js +1 -1
  16. package/lib/cjs/api/app-binder/GetVersionCommandTypes.js.map +1 -1
  17. package/lib/cjs/api/app-binder/InitCommandTypes.js +2 -0
  18. package/lib/cjs/api/app-binder/InitCommandTypes.js.map +7 -0
  19. package/lib/cjs/api/app-binder/KeypairFromBytes.js +2 -0
  20. package/lib/cjs/api/app-binder/KeypairFromBytes.js.map +7 -0
  21. package/lib/cjs/api/app-binder/LKRPTypes.js +2 -0
  22. package/lib/cjs/api/app-binder/LKRPTypes.js.map +7 -0
  23. package/lib/cjs/api/app-binder/ParseStreamBlockCommandCommandTypes.js +2 -0
  24. package/lib/cjs/api/app-binder/ParseStreamBlockCommandCommandTypes.js.map +7 -0
  25. package/lib/cjs/api/app-binder/ParseStreamBlockHeaderCommandTypes.js +2 -0
  26. package/lib/cjs/api/app-binder/ParseStreamBlockHeaderCommandTypes.js.map +7 -0
  27. package/lib/cjs/api/app-binder/ParseStreamBlockSignatureTypes.js +2 -0
  28. package/lib/cjs/api/app-binder/ParseStreamBlockSignatureTypes.js.map +7 -0
  29. package/lib/cjs/api/app-binder/SetTrustedMemberTypes.js +2 -0
  30. package/lib/cjs/api/app-binder/SetTrustedMemberTypes.js.map +7 -0
  31. package/lib/cjs/api/app-binder/SignBlockCommandTypes.js +2 -0
  32. package/lib/cjs/api/app-binder/SignBlockCommandTypes.js.map +7 -0
  33. package/lib/cjs/api/app-binder/SignBlockHeaderCommandTypes.js +2 -0
  34. package/lib/cjs/api/app-binder/SignBlockHeaderCommandTypes.js.map +7 -0
  35. package/lib/cjs/api/app-binder/SignBlockSignatureCommandTypes.js +2 -0
  36. package/lib/cjs/api/app-binder/SignBlockSignatureCommandTypes.js.map +7 -0
  37. package/lib/cjs/api/app-binder/SignBlockSingleCommandTypes.js +2 -0
  38. package/lib/cjs/api/app-binder/SignBlockSingleCommandTypes.js.map +7 -0
  39. package/lib/cjs/api/index.js +1 -1
  40. package/lib/cjs/api/index.js.map +2 -2
  41. package/lib/cjs/internal/DefaultLedgerKeyringProtocol.js +1 -1
  42. package/lib/cjs/internal/DefaultLedgerKeyringProtocol.js.map +3 -3
  43. package/lib/cjs/internal/app-binder/LedgerKeyringProtocolBinder.js +1 -1
  44. package/lib/cjs/internal/app-binder/LedgerKeyringProtocolBinder.js.map +3 -3
  45. package/lib/cjs/internal/app-binder/command/GetAppNameCommand.js +1 -1
  46. package/lib/cjs/internal/app-binder/command/GetAppNameCommand.js.map +2 -2
  47. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.js.map +3 -3
  49. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.test.js +2 -2
  50. package/lib/cjs/internal/app-binder/command/GetSeedIdCommand.test.js.map +3 -3
  51. package/lib/cjs/internal/app-binder/command/GetVersionCommand.js.map +2 -2
  52. package/lib/cjs/internal/app-binder/command/InitCommand.js +1 -1
  53. package/lib/cjs/internal/app-binder/command/InitCommand.js.map +2 -2
  54. package/lib/cjs/internal/app-binder/command/InitCommand.test.js +1 -1
  55. package/lib/cjs/internal/app-binder/command/InitCommand.test.js.map +2 -2
  56. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.js +1 -1
  57. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.js.map +2 -2
  58. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.test.js +1 -1
  59. package/lib/cjs/internal/app-binder/command/ParseBlockSignatureCommand.test.js.map +2 -2
  60. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.js.map +2 -2
  61. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.test.js +1 -1
  62. package/lib/cjs/internal/app-binder/command/ParseStreamBlockCommand.test.js.map +2 -2
  63. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.js +1 -1
  64. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.js.map +2 -2
  65. package/lib/cjs/internal/app-binder/command/ParseStreamBlockHeader.test.js.map +2 -2
  66. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.js +1 -1
  67. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.js.map +3 -3
  68. package/lib/cjs/internal/app-binder/command/SetTrustedMemberCommand.test.js.map +2 -2
  69. package/lib/cjs/internal/app-binder/command/SignBlockHeader.js +1 -1
  70. package/lib/cjs/internal/app-binder/command/SignBlockHeader.js.map +3 -3
  71. package/lib/cjs/internal/app-binder/command/SignBlockHeader.test.js +1 -1
  72. package/lib/cjs/internal/app-binder/command/SignBlockHeader.test.js.map +3 -3
  73. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.js +1 -1
  74. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.js.map +2 -2
  75. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.test.js +1 -1
  76. package/lib/cjs/internal/app-binder/command/SignBlockSignatureCommand.test.js.map +2 -2
  77. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.js +1 -1
  78. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.js.map +2 -2
  79. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.test.js +1 -1
  80. package/lib/cjs/internal/app-binder/command/SignBlockSingleCommand.test.js.map +2 -2
  81. package/lib/cjs/internal/app-binder/device-action/AddToTrustchainDeviceAction.js +1 -1
  82. package/lib/cjs/internal/app-binder/device-action/AddToTrustchainDeviceAction.js.map +3 -3
  83. package/lib/cjs/internal/app-binder/device-action/AuthenticateDeviceAction.js +2 -0
  84. package/lib/cjs/internal/app-binder/device-action/AuthenticateDeviceAction.js.map +7 -0
  85. package/lib/cjs/internal/app-binder/task/InitTask.js +1 -1
  86. package/lib/cjs/internal/app-binder/task/InitTask.js.map +3 -3
  87. package/lib/cjs/internal/app-binder/task/ParseStreamToDeviceTask.js +1 -1
  88. package/lib/cjs/internal/app-binder/task/ParseStreamToDeviceTask.js.map +3 -3
  89. package/lib/cjs/internal/app-binder/task/SignBlockTask.js +1 -1
  90. package/lib/cjs/internal/app-binder/task/SignBlockTask.js.map +3 -3
  91. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.js +1 -1
  92. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.js.map +3 -3
  93. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.test.js +1 -1
  94. package/lib/cjs/internal/app-binder/task/SignChallengeWithKeypairTask.test.js.map +3 -3
  95. package/lib/cjs/internal/app-binder/task/utils/TrustedProperties.js +1 -1
  96. package/lib/cjs/internal/app-binder/task/utils/TrustedProperties.js.map +3 -3
  97. package/lib/cjs/internal/di.js +1 -1
  98. package/lib/cjs/internal/di.js.map +3 -3
  99. package/lib/cjs/internal/externalTypes.js +1 -1
  100. package/lib/cjs/internal/externalTypes.js.map +2 -2
  101. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.js +1 -1
  102. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.js.map +3 -3
  103. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js +1 -1
  104. package/lib/cjs/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js.map +3 -3
  105. package/lib/cjs/internal/lkrp-datasource/data/LKRPDataSource.js +1 -1
  106. package/lib/cjs/internal/lkrp-datasource/data/LKRPDataSource.js.map +1 -1
  107. package/lib/cjs/internal/use-cases/authentication/AuthenticateUseCase.js +1 -1
  108. package/lib/cjs/internal/use-cases/authentication/AuthenticateUseCase.js.map +3 -3
  109. package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
  110. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
  111. package/lib/cjs/internal/use-cases/di/useCasesTypes.js +1 -1
  112. package/lib/cjs/internal/use-cases/di/useCasesTypes.js.map +2 -2
  113. package/lib/cjs/internal/utils/LKRPBlock.js +4 -4
  114. package/lib/cjs/internal/utils/LKRPBlock.js.map +3 -3
  115. package/lib/cjs/internal/utils/LKRPBlock.test.js +3 -3
  116. package/lib/cjs/internal/utils/LKRPBlock.test.js.map +3 -3
  117. package/lib/cjs/internal/utils/LKRPBlockStream.js +2 -2
  118. package/lib/cjs/internal/utils/LKRPBlockStream.js.map +3 -3
  119. package/lib/cjs/internal/utils/LKRPBlockStream.test.js +3 -3
  120. package/lib/cjs/internal/utils/LKRPBlockStream.test.js.map +3 -3
  121. package/lib/cjs/internal/utils/LKRPCommand.js +2 -2
  122. package/lib/cjs/internal/utils/LKRPCommand.js.map +3 -3
  123. package/lib/cjs/internal/utils/LKRPCommand.test.js +1 -1
  124. package/lib/cjs/internal/utils/LKRPCommand.test.js.map +3 -3
  125. package/lib/cjs/internal/utils/TLVBuilder.js +2 -0
  126. package/lib/cjs/internal/utils/TLVBuilder.js.map +7 -0
  127. package/lib/cjs/internal/utils/TLVParser.js +1 -1
  128. package/lib/cjs/internal/utils/TLVParser.js.map +3 -3
  129. package/lib/cjs/internal/utils/TLVParser.test.js +1 -1
  130. package/lib/cjs/internal/utils/TLVParser.test.js.map +3 -3
  131. package/lib/cjs/internal/{models/Tags.js → utils/TLVTags.js} +1 -1
  132. package/lib/cjs/internal/{models/Tags.js.map → utils/TLVTags.js.map} +2 -2
  133. package/lib/cjs/internal/utils/crypto.js +2 -0
  134. package/lib/cjs/internal/utils/crypto.js.map +7 -0
  135. package/lib/cjs/internal/utils/hex.js +2 -0
  136. package/lib/cjs/internal/utils/hex.js.map +7 -0
  137. package/lib/cjs/internal/utils/required.js +1 -1
  138. package/lib/cjs/internal/utils/required.js.map +2 -2
  139. package/lib/cjs/internal/utils/types.js +2 -0
  140. package/lib/cjs/internal/utils/types.js.map +7 -0
  141. package/lib/cjs/package.json +2 -3
  142. package/lib/esm/api/LedgerKeyringProtocolBuilder.js +1 -1
  143. package/lib/esm/api/LedgerKeyringProtocolBuilder.js.map +3 -3
  144. package/lib/esm/api/app-binder/AddToTrustchainDeviceActionTypes.js +0 -1
  145. package/lib/esm/api/app-binder/AddToTrustchainDeviceActionTypes.js.map +4 -4
  146. package/lib/esm/api/app-binder/AuthenticateDeviceActionTypes.js +0 -1
  147. package/lib/esm/api/app-binder/AuthenticateDeviceActionTypes.js.map +4 -4
  148. package/lib/esm/api/app-binder/Errors.js +2 -0
  149. package/lib/esm/api/app-binder/Errors.js.map +7 -0
  150. package/lib/esm/api/app-binder/GetAppNameCommandTypes.js +1 -0
  151. package/lib/esm/api/app-binder/GetSeedIdCommandTypes.js +1 -0
  152. package/lib/esm/api/app-binder/InitCommandTypes.js +1 -0
  153. package/lib/esm/api/app-binder/KeypairFromBytes.js +2 -0
  154. package/lib/esm/api/app-binder/KeypairFromBytes.js.map +7 -0
  155. package/lib/esm/api/app-binder/LKRPTypes.js +2 -0
  156. package/lib/esm/api/app-binder/LKRPTypes.js.map +7 -0
  157. package/lib/esm/api/app-binder/ParseStreamBlockCommandCommandTypes.js +1 -0
  158. package/lib/esm/api/app-binder/ParseStreamBlockHeaderCommandTypes.js +1 -0
  159. package/lib/esm/api/app-binder/ParseStreamBlockSignatureTypes.js +1 -0
  160. package/lib/esm/api/app-binder/SetTrustedMemberTypes.js +1 -0
  161. package/lib/esm/api/app-binder/SetTrustedMemberTypes.js.map +7 -0
  162. package/lib/esm/api/app-binder/SignBlockCommandTypes.js +1 -0
  163. package/lib/esm/api/app-binder/SignBlockCommandTypes.js.map +7 -0
  164. package/lib/esm/api/app-binder/SignBlockHeaderCommandTypes.js +1 -0
  165. package/lib/esm/api/app-binder/SignBlockHeaderCommandTypes.js.map +7 -0
  166. package/lib/esm/api/app-binder/SignBlockSignatureCommandTypes.js +1 -0
  167. package/lib/esm/api/app-binder/SignBlockSignatureCommandTypes.js.map +7 -0
  168. package/lib/esm/api/app-binder/SignBlockSingleCommandTypes.js +1 -0
  169. package/lib/esm/api/app-binder/SignBlockSingleCommandTypes.js.map +7 -0
  170. package/lib/esm/api/index.js +1 -1
  171. package/lib/esm/api/index.js.map +2 -2
  172. package/lib/esm/internal/DefaultLedgerKeyringProtocol.js +1 -1
  173. package/lib/esm/internal/DefaultLedgerKeyringProtocol.js.map +3 -3
  174. package/lib/esm/internal/app-binder/LedgerKeyringProtocolBinder.js +1 -1
  175. package/lib/esm/internal/app-binder/LedgerKeyringProtocolBinder.js.map +3 -3
  176. package/lib/esm/internal/app-binder/command/GetAppNameCommand.js +1 -1
  177. package/lib/esm/internal/app-binder/command/GetAppNameCommand.js.map +2 -2
  178. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.js +1 -1
  179. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.js.map +3 -3
  180. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.test.js +1 -1
  181. package/lib/esm/internal/app-binder/command/GetSeedIdCommand.test.js.map +3 -3
  182. package/lib/esm/internal/app-binder/command/GetVersionCommand.js.map +2 -2
  183. package/lib/esm/internal/app-binder/command/InitCommand.js +1 -1
  184. package/lib/esm/internal/app-binder/command/InitCommand.js.map +2 -2
  185. package/lib/esm/internal/app-binder/command/InitCommand.test.js +1 -1
  186. package/lib/esm/internal/app-binder/command/InitCommand.test.js.map +2 -2
  187. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.js +1 -1
  188. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.js.map +2 -2
  189. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.test.js +1 -1
  190. package/lib/esm/internal/app-binder/command/ParseBlockSignatureCommand.test.js.map +2 -2
  191. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.js.map +2 -2
  192. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.test.js +1 -1
  193. package/lib/esm/internal/app-binder/command/ParseStreamBlockCommand.test.js.map +2 -2
  194. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.js +1 -1
  195. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.js.map +2 -2
  196. package/lib/esm/internal/app-binder/command/ParseStreamBlockHeader.test.js.map +2 -2
  197. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.js +1 -1
  198. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.js.map +2 -2
  199. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.test.js +1 -1
  200. package/lib/esm/internal/app-binder/command/SetTrustedMemberCommand.test.js.map +2 -2
  201. package/lib/esm/internal/app-binder/command/SignBlockHeader.js +1 -1
  202. package/lib/esm/internal/app-binder/command/SignBlockHeader.js.map +3 -3
  203. package/lib/esm/internal/app-binder/command/SignBlockHeader.test.js +1 -1
  204. package/lib/esm/internal/app-binder/command/SignBlockHeader.test.js.map +3 -3
  205. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.js +1 -1
  206. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.js.map +2 -2
  207. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.test.js +1 -1
  208. package/lib/esm/internal/app-binder/command/SignBlockSignatureCommand.test.js.map +2 -2
  209. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.js +1 -1
  210. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.js.map +2 -2
  211. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.test.js +1 -1
  212. package/lib/esm/internal/app-binder/command/SignBlockSingleCommand.test.js.map +2 -2
  213. package/lib/esm/internal/app-binder/device-action/AddToTrustchainDeviceAction.js +1 -1
  214. package/lib/esm/internal/app-binder/device-action/AddToTrustchainDeviceAction.js.map +3 -3
  215. package/lib/esm/internal/app-binder/device-action/AuthenticateDeviceAction.js +2 -0
  216. package/lib/esm/internal/app-binder/device-action/AuthenticateDeviceAction.js.map +7 -0
  217. package/lib/esm/internal/app-binder/task/InitTask.js +1 -1
  218. package/lib/esm/internal/app-binder/task/InitTask.js.map +3 -3
  219. package/lib/esm/internal/app-binder/task/ParseStreamToDeviceTask.js +1 -1
  220. package/lib/esm/internal/app-binder/task/ParseStreamToDeviceTask.js.map +3 -3
  221. package/lib/esm/internal/app-binder/task/SignBlockTask.js +1 -1
  222. package/lib/esm/internal/app-binder/task/SignBlockTask.js.map +3 -3
  223. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.js +1 -1
  224. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.js.map +3 -3
  225. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.test.js +1 -1
  226. package/lib/esm/internal/app-binder/task/SignChallengeWithKeypairTask.test.js.map +3 -3
  227. package/lib/esm/internal/app-binder/task/utils/TrustedProperties.js +1 -1
  228. package/lib/esm/internal/app-binder/task/utils/TrustedProperties.js.map +3 -3
  229. package/lib/esm/internal/di.js +1 -1
  230. package/lib/esm/internal/di.js.map +3 -3
  231. package/lib/esm/internal/externalTypes.js +1 -1
  232. package/lib/esm/internal/externalTypes.js.map +2 -2
  233. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.js +1 -1
  234. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.js.map +3 -3
  235. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js +1 -1
  236. package/lib/esm/internal/lkrp-datasource/data/HttpLKRPDataSource.test.js.map +3 -3
  237. package/lib/esm/internal/use-cases/authentication/AuthenticateUseCase.js +1 -1
  238. package/lib/esm/internal/use-cases/authentication/AuthenticateUseCase.js.map +3 -3
  239. package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
  240. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
  241. package/lib/esm/internal/use-cases/di/useCasesTypes.js +1 -1
  242. package/lib/esm/internal/use-cases/di/useCasesTypes.js.map +2 -2
  243. package/lib/esm/internal/utils/LKRPBlock.js +3 -3
  244. package/lib/esm/internal/utils/LKRPBlock.js.map +3 -3
  245. package/lib/esm/internal/utils/LKRPBlock.test.js +2 -2
  246. package/lib/esm/internal/utils/LKRPBlock.test.js.map +3 -3
  247. package/lib/esm/internal/utils/LKRPBlockStream.js +2 -2
  248. package/lib/esm/internal/utils/LKRPBlockStream.js.map +3 -3
  249. package/lib/esm/internal/utils/LKRPBlockStream.test.js +3 -3
  250. package/lib/esm/internal/utils/LKRPBlockStream.test.js.map +3 -3
  251. package/lib/esm/internal/utils/LKRPCommand.js +2 -2
  252. package/lib/esm/internal/utils/LKRPCommand.js.map +3 -3
  253. package/lib/esm/internal/utils/LKRPCommand.test.js +1 -1
  254. package/lib/esm/internal/utils/LKRPCommand.test.js.map +3 -3
  255. package/lib/esm/internal/utils/TLVBuilder.js +2 -0
  256. package/lib/esm/internal/utils/TLVBuilder.js.map +7 -0
  257. package/lib/esm/internal/utils/TLVParser.js +1 -1
  258. package/lib/esm/internal/utils/TLVParser.js.map +3 -3
  259. package/lib/esm/internal/utils/TLVParser.test.js +1 -1
  260. package/lib/esm/internal/utils/TLVParser.test.js.map +3 -3
  261. package/lib/esm/internal/{models/Tags.js → utils/TLVTags.js} +1 -1
  262. package/lib/esm/internal/{models/Tags.js.map → utils/TLVTags.js.map} +1 -1
  263. package/lib/esm/internal/utils/crypto.js +2 -0
  264. package/lib/esm/internal/utils/crypto.js.map +7 -0
  265. package/lib/esm/internal/utils/hex.js +2 -0
  266. package/lib/esm/internal/utils/hex.js.map +7 -0
  267. package/lib/esm/internal/utils/required.js +1 -1
  268. package/lib/esm/internal/utils/required.js.map +2 -2
  269. package/lib/esm/internal/utils/types.js +1 -0
  270. package/lib/esm/internal/utils/types.js.map +7 -0
  271. package/lib/esm/package.json +2 -3
  272. package/lib/types/api/LedgerKeyringProtocol.d.ts +5 -4
  273. package/lib/types/api/LedgerKeyringProtocol.d.ts.map +1 -1
  274. package/lib/types/api/LedgerKeyringProtocolBuilder.d.ts +6 -12
  275. package/lib/types/api/LedgerKeyringProtocolBuilder.d.ts.map +1 -1
  276. package/lib/types/api/app-binder/AddToTrustchainDeviceActionTypes.d.ts +11 -25
  277. package/lib/types/api/app-binder/AddToTrustchainDeviceActionTypes.d.ts.map +1 -1
  278. package/lib/types/api/app-binder/AuthenticateDeviceActionTypes.d.ts +31 -27
  279. package/lib/types/api/app-binder/AuthenticateDeviceActionTypes.d.ts.map +1 -1
  280. package/lib/types/api/app-binder/Errors.d.ts +27 -0
  281. package/lib/types/api/app-binder/Errors.d.ts.map +1 -0
  282. package/lib/types/api/app-binder/GetAppNameCommandTypes.d.ts +5 -0
  283. package/lib/types/api/app-binder/GetAppNameCommandTypes.d.ts.map +1 -0
  284. package/lib/types/api/app-binder/GetSeedIdCommandTypes.d.ts +14 -0
  285. package/lib/types/api/app-binder/GetSeedIdCommandTypes.d.ts.map +1 -0
  286. package/lib/types/api/app-binder/GetVersionCommandTypes.d.ts +1 -0
  287. package/lib/types/api/app-binder/GetVersionCommandTypes.d.ts.map +1 -1
  288. package/lib/types/api/app-binder/InitCommandTypes.d.ts +5 -0
  289. package/lib/types/api/app-binder/InitCommandTypes.d.ts.map +1 -0
  290. package/lib/types/api/app-binder/KeypairFromBytes.d.ts +11 -0
  291. package/lib/types/api/app-binder/KeypairFromBytes.d.ts.map +1 -0
  292. package/lib/types/api/{model/Permissions.d.ts → app-binder/LKRPTypes.d.ts} +15 -1
  293. package/lib/types/api/app-binder/LKRPTypes.d.ts.map +1 -0
  294. package/lib/types/api/app-binder/ParseStreamBlockCommandCommandTypes.d.ts +6 -0
  295. package/lib/types/api/app-binder/ParseStreamBlockCommandCommandTypes.d.ts.map +1 -0
  296. package/lib/types/api/app-binder/ParseStreamBlockHeaderCommandTypes.d.ts +5 -0
  297. package/lib/types/api/app-binder/ParseStreamBlockHeaderCommandTypes.d.ts.map +1 -0
  298. package/lib/types/api/app-binder/ParseStreamBlockSignatureTypes.d.ts +5 -0
  299. package/lib/types/api/app-binder/ParseStreamBlockSignatureTypes.d.ts.map +1 -0
  300. package/lib/types/api/app-binder/SetTrustedMemberTypes.d.ts +6 -0
  301. package/lib/types/api/app-binder/SetTrustedMemberTypes.d.ts.map +1 -0
  302. package/lib/types/api/app-binder/SignBlockCommandTypes.d.ts +9 -0
  303. package/lib/types/api/app-binder/SignBlockCommandTypes.d.ts.map +1 -0
  304. package/lib/types/api/app-binder/SignBlockHeaderCommandTypes.d.ts +5 -0
  305. package/lib/types/api/app-binder/SignBlockHeaderCommandTypes.d.ts.map +1 -0
  306. package/lib/types/api/app-binder/SignBlockSignatureCommandTypes.d.ts +6 -0
  307. package/lib/types/api/app-binder/SignBlockSignatureCommandTypes.d.ts.map +1 -0
  308. package/lib/types/api/app-binder/SignBlockSingleCommandTypes.d.ts +5 -0
  309. package/lib/types/api/app-binder/SignBlockSingleCommandTypes.d.ts.map +1 -0
  310. package/lib/types/api/index.d.ts +2 -10
  311. package/lib/types/api/index.d.ts.map +1 -1
  312. package/lib/types/internal/DefaultLedgerKeyringProtocol.d.ts +9 -12
  313. package/lib/types/internal/DefaultLedgerKeyringProtocol.d.ts.map +1 -1
  314. package/lib/types/internal/app-binder/LedgerKeyringProtocolBinder.d.ts +8 -14
  315. package/lib/types/internal/app-binder/LedgerKeyringProtocolBinder.d.ts.map +1 -1
  316. package/lib/types/internal/app-binder/command/GetAppNameCommand.d.ts +1 -4
  317. package/lib/types/internal/app-binder/command/GetAppNameCommand.d.ts.map +1 -1
  318. package/lib/types/internal/app-binder/command/GetSeedIdCommand.d.ts +1 -13
  319. package/lib/types/internal/app-binder/command/GetSeedIdCommand.d.ts.map +1 -1
  320. package/lib/types/internal/app-binder/command/GetVersionCommand.d.ts +1 -2
  321. package/lib/types/internal/app-binder/command/GetVersionCommand.d.ts.map +1 -1
  322. package/lib/types/internal/app-binder/command/InitCommand.d.ts +1 -4
  323. package/lib/types/internal/app-binder/command/InitCommand.d.ts.map +1 -1
  324. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.d.ts +1 -4
  325. package/lib/types/internal/app-binder/command/ParseBlockSignatureCommand.d.ts.map +1 -1
  326. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.d.ts +1 -5
  327. package/lib/types/internal/app-binder/command/ParseStreamBlockCommand.d.ts.map +1 -1
  328. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.d.ts +1 -4
  329. package/lib/types/internal/app-binder/command/ParseStreamBlockHeader.d.ts.map +1 -1
  330. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.d.ts +1 -5
  331. package/lib/types/internal/app-binder/command/SetTrustedMemberCommand.d.ts.map +1 -1
  332. package/lib/types/internal/app-binder/command/SignBlockHeader.d.ts +1 -6
  333. package/lib/types/internal/app-binder/command/SignBlockHeader.d.ts.map +1 -1
  334. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.d.ts +1 -5
  335. package/lib/types/internal/app-binder/command/SignBlockSignatureCommand.d.ts.map +1 -1
  336. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.d.ts +1 -4
  337. package/lib/types/internal/app-binder/command/SignBlockSingleCommand.d.ts.map +1 -1
  338. package/lib/types/internal/app-binder/device-action/AddToTrustchainDeviceAction.d.ts +6 -10
  339. package/lib/types/internal/app-binder/device-action/AddToTrustchainDeviceAction.d.ts.map +1 -1
  340. package/lib/types/internal/app-binder/device-action/AuthenticateDeviceAction.d.ts +42 -0
  341. package/lib/types/internal/app-binder/device-action/AuthenticateDeviceAction.d.ts.map +1 -0
  342. package/lib/types/internal/app-binder/task/InitTask.d.ts +3 -5
  343. package/lib/types/internal/app-binder/task/InitTask.d.ts.map +1 -1
  344. package/lib/types/internal/app-binder/task/ParseStreamToDeviceTask.d.ts +3 -3
  345. package/lib/types/internal/app-binder/task/ParseStreamToDeviceTask.d.ts.map +1 -1
  346. package/lib/types/internal/app-binder/task/SignBlockTask.d.ts +13 -15
  347. package/lib/types/internal/app-binder/task/SignBlockTask.d.ts.map +1 -1
  348. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.d.ts +5 -6
  349. package/lib/types/internal/app-binder/task/SignChallengeWithKeypairTask.d.ts.map +1 -1
  350. package/lib/types/internal/app-binder/task/utils/TrustedProperties.d.ts +2 -2
  351. package/lib/types/internal/app-binder/task/utils/TrustedProperties.d.ts.map +1 -1
  352. package/lib/types/internal/di.d.ts +3 -7
  353. package/lib/types/internal/di.d.ts.map +1 -1
  354. package/lib/types/internal/externalTypes.d.ts +1 -2
  355. package/lib/types/internal/externalTypes.d.ts.map +1 -1
  356. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.d.ts +10 -8
  357. package/lib/types/internal/lkrp-datasource/data/HttpLKRPDataSource.d.ts.map +1 -1
  358. package/lib/types/internal/lkrp-datasource/data/LKRPDataSource.d.ts +8 -8
  359. package/lib/types/internal/lkrp-datasource/data/LKRPDataSource.d.ts.map +1 -1
  360. package/lib/types/internal/use-cases/authentication/AuthenticateUseCase.d.ts +2 -15
  361. package/lib/types/internal/use-cases/authentication/AuthenticateUseCase.d.ts.map +1 -1
  362. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
  363. package/lib/types/internal/use-cases/di/useCasesTypes.d.ts +0 -2
  364. package/lib/types/internal/use-cases/di/useCasesTypes.d.ts.map +1 -1
  365. package/lib/types/internal/utils/LKRPBlock.d.ts +2 -2
  366. package/lib/types/internal/utils/LKRPBlock.d.ts.map +1 -1
  367. package/lib/types/internal/utils/LKRPBlockStream.d.ts +8 -8
  368. package/lib/types/internal/utils/LKRPBlockStream.d.ts.map +1 -1
  369. package/lib/types/internal/utils/LKRPCommand.d.ts +3 -4
  370. package/lib/types/internal/utils/LKRPCommand.d.ts.map +1 -1
  371. package/lib/types/internal/utils/TLVBuilder.d.ts +15 -0
  372. package/lib/types/internal/utils/TLVBuilder.d.ts.map +1 -0
  373. package/lib/types/internal/utils/TLVParser.d.ts +3 -4
  374. package/lib/types/internal/utils/TLVParser.d.ts.map +1 -1
  375. package/lib/types/internal/{models/Tags.d.ts → utils/TLVTags.d.ts} +1 -1
  376. package/lib/types/internal/utils/TLVTags.d.ts.map +1 -0
  377. package/lib/types/internal/utils/crypto.d.ts +19 -0
  378. package/lib/types/internal/utils/crypto.d.ts.map +1 -0
  379. package/lib/types/internal/utils/hex.d.ts +3 -0
  380. package/lib/types/internal/utils/hex.d.ts.map +1 -0
  381. package/lib/types/internal/utils/required.d.ts +1 -1
  382. package/lib/types/internal/utils/required.d.ts.map +1 -1
  383. package/lib/types/internal/{models/LKRPCommandTypes.d.ts → utils/types.d.ts} +29 -6
  384. package/lib/types/internal/utils/types.d.ts.map +1 -0
  385. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  386. package/package.json +5 -6
  387. package/lib/cjs/api/crypto/CryptoService.js +0 -2
  388. package/lib/cjs/api/crypto/CryptoService.js.map +0 -7
  389. package/lib/cjs/api/crypto/Key.js +0 -2
  390. package/lib/cjs/api/crypto/Key.js.map +0 -7
  391. package/lib/cjs/api/crypto/KeyPair.js +0 -2
  392. package/lib/cjs/api/crypto/KeyPair.js.map +0 -7
  393. package/lib/cjs/api/crypto/noble/NobleCryptoService.js +0 -2
  394. package/lib/cjs/api/crypto/noble/NobleCryptoService.js.map +0 -7
  395. package/lib/cjs/api/crypto/noble/NobleCryptoService.test.js +0 -2
  396. package/lib/cjs/api/crypto/noble/NobleCryptoService.test.js.map +0 -7
  397. package/lib/cjs/api/crypto/noble/NobleKey.js +0 -2
  398. package/lib/cjs/api/crypto/noble/NobleKey.js.map +0 -7
  399. package/lib/cjs/api/crypto/noble/NobleKey.test.js +0 -2
  400. package/lib/cjs/api/crypto/noble/NobleKey.test.js.map +0 -7
  401. package/lib/cjs/api/crypto/noble/NobleKeyPair.js +0 -2
  402. package/lib/cjs/api/crypto/noble/NobleKeyPair.js.map +0 -7
  403. package/lib/cjs/api/crypto/noble/NobleKeyPair.test.js +0 -2
  404. package/lib/cjs/api/crypto/noble/NobleKeyPair.test.js.map +0 -7
  405. package/lib/cjs/api/model/Env.js +0 -2
  406. package/lib/cjs/api/model/Env.js.map +0 -7
  407. package/lib/cjs/api/model/Errors.js +0 -2
  408. package/lib/cjs/api/model/Errors.js.map +0 -7
  409. package/lib/cjs/api/model/JWT.js +0 -2
  410. package/lib/cjs/api/model/JWT.js.map +0 -7
  411. package/lib/cjs/api/model/Permissions.js +0 -2
  412. package/lib/cjs/api/model/Permissions.js.map +0 -7
  413. package/lib/cjs/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.js +0 -2
  414. package/lib/cjs/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.js.map +0 -7
  415. package/lib/cjs/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.js +0 -2
  416. package/lib/cjs/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.js.map +0 -7
  417. package/lib/cjs/internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.js +0 -2
  418. package/lib/cjs/internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.js.map +0 -7
  419. package/lib/cjs/internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.js +0 -2
  420. package/lib/cjs/internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.js.map +0 -7
  421. package/lib/cjs/internal/app-binder/task/AuthenticateTask.js +0 -2
  422. package/lib/cjs/internal/app-binder/task/AuthenticateTask.js.map +0 -7
  423. package/lib/cjs/internal/app-binder/task/ExtractEncryptionKeyTask.js +0 -2
  424. package/lib/cjs/internal/app-binder/task/ExtractEncryptionKeyTask.js.map +0 -7
  425. package/lib/cjs/internal/models/LKRPBlockTypes.js +0 -2
  426. package/lib/cjs/internal/models/LKRPBlockTypes.js.map +0 -7
  427. package/lib/cjs/internal/models/LKRPCommandTypes.js +0 -2
  428. package/lib/cjs/internal/models/LKRPCommandTypes.js.map +0 -7
  429. package/lib/cjs/internal/models/Types.js +0 -2
  430. package/lib/cjs/internal/models/Types.js.map +0 -7
  431. package/lib/cjs/internal/use-cases/authentication/DecryptDataUseCase.js +0 -2
  432. package/lib/cjs/internal/use-cases/authentication/DecryptDataUseCase.js.map +0 -7
  433. package/lib/cjs/internal/use-cases/authentication/EncryptDataUseCase.js +0 -2
  434. package/lib/cjs/internal/use-cases/authentication/EncryptDataUseCase.js.map +0 -7
  435. package/lib/cjs/internal/utils/Trustchain.js +0 -2
  436. package/lib/cjs/internal/utils/Trustchain.js.map +0 -7
  437. package/lib/esm/api/crypto/CryptoService.js +0 -2
  438. package/lib/esm/api/crypto/CryptoService.js.map +0 -7
  439. package/lib/esm/api/crypto/Key.js +0 -2
  440. package/lib/esm/api/crypto/Key.js.map +0 -7
  441. package/lib/esm/api/crypto/KeyPair.js +0 -2
  442. package/lib/esm/api/crypto/KeyPair.js.map +0 -7
  443. package/lib/esm/api/crypto/noble/NobleCryptoService.js +0 -2
  444. package/lib/esm/api/crypto/noble/NobleCryptoService.js.map +0 -7
  445. package/lib/esm/api/crypto/noble/NobleCryptoService.test.js +0 -2
  446. package/lib/esm/api/crypto/noble/NobleCryptoService.test.js.map +0 -7
  447. package/lib/esm/api/crypto/noble/NobleKey.js +0 -2
  448. package/lib/esm/api/crypto/noble/NobleKey.js.map +0 -7
  449. package/lib/esm/api/crypto/noble/NobleKey.test.js +0 -2
  450. package/lib/esm/api/crypto/noble/NobleKey.test.js.map +0 -7
  451. package/lib/esm/api/crypto/noble/NobleKeyPair.js +0 -2
  452. package/lib/esm/api/crypto/noble/NobleKeyPair.js.map +0 -7
  453. package/lib/esm/api/crypto/noble/NobleKeyPair.test.js +0 -2
  454. package/lib/esm/api/crypto/noble/NobleKeyPair.test.js.map +0 -7
  455. package/lib/esm/api/model/Env.js +0 -2
  456. package/lib/esm/api/model/Env.js.map +0 -7
  457. package/lib/esm/api/model/Errors.js +0 -2
  458. package/lib/esm/api/model/Errors.js.map +0 -7
  459. package/lib/esm/api/model/JWT.js +0 -1
  460. package/lib/esm/api/model/Permissions.js +0 -2
  461. package/lib/esm/api/model/Permissions.js.map +0 -7
  462. package/lib/esm/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.js +0 -2
  463. package/lib/esm/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.js.map +0 -7
  464. package/lib/esm/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.js +0 -2
  465. package/lib/esm/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.js.map +0 -7
  466. package/lib/esm/internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.js +0 -1
  467. package/lib/esm/internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.js +0 -1
  468. package/lib/esm/internal/app-binder/task/AuthenticateTask.js +0 -2
  469. package/lib/esm/internal/app-binder/task/AuthenticateTask.js.map +0 -7
  470. package/lib/esm/internal/app-binder/task/ExtractEncryptionKeyTask.js +0 -2
  471. package/lib/esm/internal/app-binder/task/ExtractEncryptionKeyTask.js.map +0 -7
  472. package/lib/esm/internal/models/LKRPBlockTypes.js +0 -1
  473. package/lib/esm/internal/models/LKRPCommandTypes.js +0 -1
  474. package/lib/esm/internal/models/Types.js +0 -1
  475. package/lib/esm/internal/use-cases/authentication/DecryptDataUseCase.js +0 -2
  476. package/lib/esm/internal/use-cases/authentication/DecryptDataUseCase.js.map +0 -7
  477. package/lib/esm/internal/use-cases/authentication/EncryptDataUseCase.js +0 -2
  478. package/lib/esm/internal/use-cases/authentication/EncryptDataUseCase.js.map +0 -7
  479. package/lib/esm/internal/utils/Trustchain.js +0 -2
  480. package/lib/esm/internal/utils/Trustchain.js.map +0 -7
  481. package/lib/types/api/crypto/CryptoService.d.ts +0 -22
  482. package/lib/types/api/crypto/CryptoService.d.ts.map +0 -1
  483. package/lib/types/api/crypto/Key.d.ts +0 -7
  484. package/lib/types/api/crypto/Key.d.ts.map +0 -1
  485. package/lib/types/api/crypto/KeyPair.d.ts +0 -13
  486. package/lib/types/api/crypto/KeyPair.d.ts.map +0 -1
  487. package/lib/types/api/crypto/noble/NobleCryptoService.d.ts +0 -13
  488. package/lib/types/api/crypto/noble/NobleCryptoService.d.ts.map +0 -1
  489. package/lib/types/api/crypto/noble/NobleCryptoService.test.d.ts +0 -2
  490. package/lib/types/api/crypto/noble/NobleCryptoService.test.d.ts.map +0 -1
  491. package/lib/types/api/crypto/noble/NobleKey.d.ts +0 -11
  492. package/lib/types/api/crypto/noble/NobleKey.d.ts.map +0 -1
  493. package/lib/types/api/crypto/noble/NobleKey.test.d.ts +0 -2
  494. package/lib/types/api/crypto/noble/NobleKey.test.d.ts.map +0 -1
  495. package/lib/types/api/crypto/noble/NobleKeyPair.d.ts +0 -18
  496. package/lib/types/api/crypto/noble/NobleKeyPair.d.ts.map +0 -1
  497. package/lib/types/api/crypto/noble/NobleKeyPair.test.d.ts +0 -2
  498. package/lib/types/api/crypto/noble/NobleKeyPair.test.d.ts.map +0 -1
  499. package/lib/types/api/model/Env.d.ts +0 -5
  500. package/lib/types/api/model/Env.d.ts.map +0 -1
  501. package/lib/types/api/model/Errors.d.ts +0 -53
  502. package/lib/types/api/model/Errors.d.ts.map +0 -1
  503. package/lib/types/api/model/JWT.d.ts +0 -9
  504. package/lib/types/api/model/JWT.d.ts.map +0 -1
  505. package/lib/types/api/model/Permissions.d.ts.map +0 -1
  506. package/lib/types/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.d.ts +0 -32
  507. package/lib/types/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.d.ts.map +0 -1
  508. package/lib/types/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.d.ts +0 -33
  509. package/lib/types/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.d.ts.map +0 -1
  510. package/lib/types/internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.d.ts +0 -22
  511. package/lib/types/internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.d.ts.map +0 -1
  512. package/lib/types/internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.d.ts +0 -19
  513. package/lib/types/internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.d.ts.map +0 -1
  514. package/lib/types/internal/app-binder/task/AuthenticateTask.d.ts +0 -9
  515. package/lib/types/internal/app-binder/task/AuthenticateTask.d.ts.map +0 -1
  516. package/lib/types/internal/app-binder/task/ExtractEncryptionKeyTask.d.ts +0 -8
  517. package/lib/types/internal/app-binder/task/ExtractEncryptionKeyTask.d.ts.map +0 -1
  518. package/lib/types/internal/models/LKRPBlockTypes.d.ts +0 -11
  519. package/lib/types/internal/models/LKRPBlockTypes.d.ts.map +0 -1
  520. package/lib/types/internal/models/LKRPCommandTypes.d.ts.map +0 -1
  521. package/lib/types/internal/models/Tags.d.ts.map +0 -1
  522. package/lib/types/internal/models/Types.d.ts +0 -10
  523. package/lib/types/internal/models/Types.d.ts.map +0 -1
  524. package/lib/types/internal/use-cases/authentication/DecryptDataUseCase.d.ts +0 -7
  525. package/lib/types/internal/use-cases/authentication/DecryptDataUseCase.d.ts.map +0 -1
  526. package/lib/types/internal/use-cases/authentication/EncryptDataUseCase.d.ts +0 -7
  527. package/lib/types/internal/use-cases/authentication/EncryptDataUseCase.d.ts.map +0 -1
  528. package/lib/types/internal/utils/Trustchain.d.ts +0 -14
  529. package/lib/types/internal/utils/Trustchain.d.ts.map +0 -1
  530. /package/lib/esm/api/{model/JWT.js.map → app-binder/GetAppNameCommandTypes.js.map} +0 -0
  531. /package/lib/esm/{internal/app-binder/device-action/models/AuthenticateWithDeviceDeviceActionTypes.js.map → api/app-binder/GetSeedIdCommandTypes.js.map} +0 -0
  532. /package/lib/esm/{internal/app-binder/device-action/models/AuthenticateWithKeypairDeviceActionTypes.js.map → api/app-binder/InitCommandTypes.js.map} +0 -0
  533. /package/lib/esm/{internal/models/LKRPBlockTypes.js.map → api/app-binder/ParseStreamBlockCommandCommandTypes.js.map} +0 -0
  534. /package/lib/esm/{internal/models/LKRPCommandTypes.js.map → api/app-binder/ParseStreamBlockHeaderCommandTypes.js.map} +0 -0
  535. /package/lib/esm/{internal/models/Types.js.map → api/app-binder/ParseStreamBlockSignatureTypes.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/use-cases/authentication/EncryptDataUseCase.ts"],
4
- "sourcesContent": ["import { ByteArrayBuilder } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n type CryptoService,\n Curve,\n EncryptionAlgo,\n HashAlgo,\n} from \"@api/crypto/CryptoService\";\nimport { AES256_BLOCK_SIZE } from \"@api/crypto/Key\";\nimport { externalTypes } from \"@internal/externalTypes\";\n\n@injectable()\nexport class EncryptDataUseCase {\n constructor(\n @inject(externalTypes.CryptoService)\n private cryptoService: CryptoService,\n ) {}\n\n async execute(\n encryptionKey: Uint8Array,\n data: Uint8Array,\n ): Promise<Uint8Array> {\n // Derive the shared secret using ECDH with an ephemeral keypair\n const privateKey = this.cryptoService.importKeyPair(\n encryptionKey,\n Curve.K256,\n );\n const ephemeralKeypair = await this.cryptoService.createKeyPair(Curve.K256);\n const sharedSecret = await privateKey.deriveSharedSecret(\n ephemeralKeypair.getPublicKey(),\n );\n\n // Key derivation using HMAC-SHA256\n const key = this.cryptoService.hmac(\n new Uint8Array(),\n sharedSecret.slice(1),\n HashAlgo.SHA256,\n );\n\n // Generate a random IV (nonce)\n const iv = this.cryptoService.randomBytes(16);\n\n // Encrypt data\n const symmetricKey = this.cryptoService.importSymmetricKey(\n key,\n EncryptionAlgo.AES256_GCM,\n );\n const ciphertext = await symmetricKey.encrypt(iv, data);\n const encryptedData = ciphertext.subarray(0, -AES256_BLOCK_SIZE);\n const tag = ciphertext.subarray(-AES256_BLOCK_SIZE);\n\n // Serialize the result\n return new ByteArrayBuilder()\n .add8BitUIntToData(0) // Version of the format\n .addBufferToData(ephemeralKeypair.getPublicKey())\n .addBufferToData(iv)\n .addBufferToData(tag)\n .addBufferToData(encryptedData)\n .build();\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiC,2CACjCC,EAAmC,qBAEnCC,EAKO,qCACPC,EAAkC,2BAClCC,EAA8B,mCAGvB,IAAMC,EAAN,KAAyB,CAC9B,YAEUC,EACR,CADQ,mBAAAA,CACP,CAEH,MAAM,QACJC,EACAC,EACqB,CAErB,MAAMC,EAAa,KAAK,cAAc,cACpCF,EACA,QAAM,IACR,EACMG,EAAmB,MAAM,KAAK,cAAc,cAAc,QAAM,IAAI,EACpEC,EAAe,MAAMF,EAAW,mBACpCC,EAAiB,aAAa,CAChC,EAGME,EAAM,KAAK,cAAc,KAC7B,IAAI,WACJD,EAAa,MAAM,CAAC,EACpB,WAAS,MACX,EAGME,EAAK,KAAK,cAAc,YAAY,EAAE,EAOtCC,EAAa,MAJE,KAAK,cAAc,mBACtCF,EACA,iBAAe,UACjB,EACsC,QAAQC,EAAIL,CAAI,EAChDO,EAAgBD,EAAW,SAAS,EAAG,CAAC,mBAAiB,EACzDE,EAAMF,EAAW,SAAS,CAAC,mBAAiB,EAGlD,OAAO,IAAI,mBAAiB,EACzB,kBAAkB,CAAC,EACnB,gBAAgBJ,EAAiB,aAAa,CAAC,EAC/C,gBAAgBG,CAAE,EAClB,gBAAgBG,CAAG,EACnB,gBAAgBD,CAAa,EAC7B,MAAM,CACX,CACF,EAhDaV,EAANY,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,gBAAc,aAAa,IAF1Bb",
6
- "names": ["EncryptDataUseCase_exports", "__export", "EncryptDataUseCase", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_CryptoService", "import_Key", "import_externalTypes", "EncryptDataUseCase", "cryptoService", "encryptionKey", "data", "privateKey", "ephemeralKeypair", "sharedSecret", "key", "iv", "ciphertext", "encryptedData", "tag", "__decorateClass", "__decorateParam"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var i=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var p=(t,r)=>{for(var e in r)i(t,e,{get:r[e],enumerable:!0})},S=(t,r,e,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of l(r))!g.call(t,a)&&a!==e&&i(t,a,{get:()=>r[a],enumerable:!(m=n(r,a))||m.enumerable});return t};var c=t=>S(i({},"__esModule",{value:!0}),t);var d={};p(d,{Trustchain:()=>u});module.exports=c(d);var o=require("purify-ts"),s=require("./LKRPBlockStream");class u{constructor(r,e){this.id=r;this.serialized=e}getId(){return this.id}getRootStream(){return this.getStream("m/")}getAppStream(r){return this.getStream(`m/${r}'`)}getStream(r){return o.Maybe.fromNullable(this.serialized[r]).map(s.LKRPBlockStream.fromHex)}}0&&(module.exports={Trustchain});
2
- //# sourceMappingURL=Trustchain.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/internal/utils/Trustchain.ts"],
4
- "sourcesContent": ["import { Maybe } from \"purify-ts\";\n\nimport { LKRPBlockStream } from \"./LKRPBlockStream\";\n\nexport class Trustchain {\n constructor(\n private readonly id: string,\n private readonly serialized: {\n [path: string]: string;\n },\n ) {}\n\n getId(): string {\n return this.id;\n }\n\n getRootStream(): Maybe<LKRPBlockStream> {\n return this.getStream(\"m/\");\n }\n\n getAppStream(appId: number): Maybe<LKRPBlockStream> {\n return this.getStream(`m/${appId}'`);\n }\n\n getStream(path: string): Maybe<LKRPBlockStream> {\n return Maybe.fromNullable(this.serialized[path]).map(\n LKRPBlockStream.fromHex,\n );\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,qBAEtBC,EAAgC,6BAEzB,MAAMH,CAAW,CACtB,YACmBI,EACAC,EAGjB,CAJiB,QAAAD,EACA,gBAAAC,CAGhB,CAEH,OAAgB,CACd,OAAO,KAAK,EACd,CAEA,eAAwC,CACtC,OAAO,KAAK,UAAU,IAAI,CAC5B,CAEA,aAAaC,EAAuC,CAClD,OAAO,KAAK,UAAU,KAAKA,CAAK,GAAG,CACrC,CAEA,UAAUC,EAAsC,CAC9C,OAAO,QAAM,aAAa,KAAK,WAAWA,CAAI,CAAC,EAAE,IAC/C,kBAAgB,OAClB,CACF,CACF",
6
- "names": ["Trustchain_exports", "__export", "Trustchain", "__toCommonJS", "import_purify_ts", "import_LKRPBlockStream", "id", "serialized", "appId", "path"]
7
- }
@@ -1,2 +0,0 @@
1
- var t=(e=>(e[e.K256=0]="K256",e[e.P256=1]="P256",e))(t||{}),y=(r=>(r[r.AES256_GCM=0]="AES256_GCM",r))(y||{}),a=(r=>(r[r.SHA256=0]="SHA256",r))(a||{});export{t as Curve,y as EncryptionAlgo,a as HashAlgo};
2
- //# sourceMappingURL=CryptoService.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/crypto/CryptoService.ts"],
4
- "sourcesContent": ["import { type Key } from \"./Key\";\nimport { type KeyPair } from \"./KeyPair\";\n\nexport enum Curve {\n K256, // secp256k1\n P256, // P-256\n}\n\nexport enum EncryptionAlgo {\n AES256_GCM,\n}\n\nexport enum HashAlgo {\n SHA256,\n}\n\nexport interface CryptoService {\n // Generate a random buffer\n randomBytes(len: number): Uint8Array;\n\n // Compute a hash\n hash(bytes: Uint8Array, algo: HashAlgo): Uint8Array;\n\n // Compute a HMAC\n hmac(key: Uint8Array, message: Uint8Array, algo: HashAlgo): Uint8Array;\n\n // Generate a new random keypair\n createKeyPair(curve: Curve): Promise<KeyPair>;\n\n // Import a keypair\n importKeyPair(privateKey: Uint8Array, curve: Curve): KeyPair;\n\n // Generate a new random symmetric key\n createSymmetricKey(algo: EncryptionAlgo): Promise<Key>;\n\n // Import a symmetric key\n importSymmetricKey(keyMaterial: Uint8Array, algo: EncryptionAlgo): Key;\n}\n"],
5
- "mappings": "AAGO,IAAKA,OACVA,IAAA,eACAA,IAAA,eAFUA,OAAA,IAKAC,OACVA,IAAA,2BADUA,OAAA,IAIAC,OACVA,IAAA,mBADUA,OAAA",
6
- "names": ["Curve", "EncryptionAlgo", "HashAlgo"]
7
- }
@@ -1,2 +0,0 @@
1
- const r=32,t=16;export{t as AES256_BLOCK_SIZE,r as AES256_KEY_SIZE};
2
- //# sourceMappingURL=Key.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/crypto/Key.ts"],
4
- "sourcesContent": ["export const AES256_KEY_SIZE = 32;\nexport const AES256_BLOCK_SIZE = 16;\n\nexport interface Key {\n encrypt(iv: Uint8Array, data: Uint8Array): Promise<Uint8Array>;\n decrypt(iv: Uint8Array, encryptedData: Uint8Array): Promise<Uint8Array>;\n}\n"],
5
- "mappings": "AAAO,MAAMA,EAAkB,GAClBC,EAAoB",
6
- "names": ["AES256_KEY_SIZE", "AES256_BLOCK_SIZE"]
7
- }
@@ -1,2 +0,0 @@
1
- var e=(r=>(r[r.COMPACT=0]="COMPACT",r[r.DER=1]="DER",r))(e||{});export{e as SigFormat};
2
- //# sourceMappingURL=KeyPair.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/crypto/KeyPair.ts"],
4
- "sourcesContent": ["export enum SigFormat {\n COMPACT,\n DER,\n}\n\nexport interface KeyPair {\n id: string;\n sign(data: Uint8Array, format?: SigFormat): Promise<Uint8Array>;\n verify(\n data: Uint8Array,\n signature: Uint8Array,\n format?: SigFormat,\n ): Promise<boolean>;\n deriveSharedSecret(peerPublicKey: Uint8Array): Promise<Uint8Array>;\n getPublicKey(): Uint8Array;\n getPublicKeyToHex(): string;\n}\n"],
5
- "mappings": "AAAO,IAAKA,OACVA,IAAA,qBACAA,IAAA,aAFUA,OAAA",
6
- "names": ["SigFormat"]
7
- }
@@ -1,2 +0,0 @@
1
- import{randomBytes as m}from"@noble/ciphers/webcrypto";import{hmac as n}from"@noble/hashes/hmac";import{sha256 as o}from"@noble/hashes/sha256";import{HashAlgo as i}from"../../crypto/CryptoService";import{NobleKey as a}from"./NobleKey";import{NobleKeyPair as y}from"./NobleKeyPair";class f{randomBytes(r){return m(r)}hash(r,e){switch(e){case i.SHA256:return o(r);default:throw new Error("Unsupported hash algorithm",e)}}hmac(r,e,t){switch(t){case i.SHA256:return n(o,r,e);default:throw new Error("Unsupported hash algorithm",t)}}async createKeyPair(r){return await y.generate(r)}importKeyPair(r,e){return y.from(r,e)}async createSymmetricKey(r){return await a.generate(r)}importSymmetricKey(r,e){return a.from(r,e)}}export{f as NobleCryptoService};
2
- //# sourceMappingURL=NobleCryptoService.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleCryptoService.ts"],
4
- "sourcesContent": ["import { randomBytes } from \"@noble/ciphers/webcrypto\";\nimport { hmac } from \"@noble/hashes/hmac\";\nimport { sha256 } from \"@noble/hashes/sha256\";\n\nimport {\n type CryptoService,\n type Curve,\n type EncryptionAlgo,\n HashAlgo,\n} from \"@api/crypto/CryptoService\";\nimport { type Key } from \"@api/crypto/Key\";\nimport { type KeyPair } from \"@api/crypto/KeyPair\";\n\nimport { NobleKey } from \"./NobleKey\";\nimport { NobleKeyPair } from \"./NobleKeyPair\";\n\nexport class NobleCryptoService implements CryptoService {\n randomBytes(len: number): Uint8Array {\n return randomBytes(len);\n }\n\n hash(bytes: Uint8Array, algo: HashAlgo): Uint8Array {\n switch (algo) {\n case HashAlgo.SHA256:\n return sha256(bytes);\n default:\n throw new Error(\"Unsupported hash algorithm\", algo);\n }\n }\n\n hmac(key: Uint8Array, message: Uint8Array, algo: HashAlgo): Uint8Array {\n switch (algo) {\n case HashAlgo.SHA256:\n return hmac(sha256, key, message);\n default:\n throw new Error(\"Unsupported hash algorithm\", algo);\n }\n }\n\n async createKeyPair(curve: Curve): Promise<KeyPair> {\n return await NobleKeyPair.generate(curve);\n }\n\n importKeyPair(privateKey: Uint8Array, curve: Curve): KeyPair {\n return NobleKeyPair.from(privateKey, curve);\n }\n\n async createSymmetricKey(algo: EncryptionAlgo): Promise<Key> {\n return await NobleKey.generate(algo);\n }\n\n importSymmetricKey(keyMaterial: Uint8Array, algo: EncryptionAlgo): Key {\n return NobleKey.from(keyMaterial, algo);\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,eAAAA,MAAmB,2BAC5B,OAAS,QAAAC,MAAY,qBACrB,OAAS,UAAAC,MAAc,uBAEvB,OAIE,YAAAC,MACK,4BAIP,OAAS,YAAAC,MAAgB,aACzB,OAAS,gBAAAC,MAAoB,iBAEtB,MAAMC,CAA4C,CACvD,YAAYC,EAAyB,CACnC,OAAOP,EAAYO,CAAG,CACxB,CAEA,KAAKC,EAAmBC,EAA4B,CAClD,OAAQA,EAAM,CACZ,KAAKN,EAAS,OACZ,OAAOD,EAAOM,CAAK,EACrB,QACE,MAAM,IAAI,MAAM,6BAA8BC,CAAI,CACtD,CACF,CAEA,KAAKC,EAAiBC,EAAqBF,EAA4B,CACrE,OAAQA,EAAM,CACZ,KAAKN,EAAS,OACZ,OAAOF,EAAKC,EAAQQ,EAAKC,CAAO,EAClC,QACE,MAAM,IAAI,MAAM,6BAA8BF,CAAI,CACtD,CACF,CAEA,MAAM,cAAcG,EAAgC,CAClD,OAAO,MAAMP,EAAa,SAASO,CAAK,CAC1C,CAEA,cAAcC,EAAwBD,EAAuB,CAC3D,OAAOP,EAAa,KAAKQ,EAAYD,CAAK,CAC5C,CAEA,MAAM,mBAAmBH,EAAoC,CAC3D,OAAO,MAAML,EAAS,SAASK,CAAI,CACrC,CAEA,mBAAmBK,EAAyBL,EAA2B,CACrE,OAAOL,EAAS,KAAKU,EAAaL,CAAI,CACxC,CACF",
6
- "names": ["randomBytes", "hmac", "sha256", "HashAlgo", "NobleKey", "NobleKeyPair", "NobleCryptoService", "len", "bytes", "algo", "key", "message", "curve", "privateKey", "keyMaterial"]
7
- }
@@ -1,2 +0,0 @@
1
- import{hexaStringToBuffer as r}from"@ledgerhq/device-management-kit";import{Curve as c,EncryptionAlgo as a,HashAlgo as i}from"../../crypto/CryptoService";import{NobleCryptoService as l}from"./NobleCryptoService";import{NobleKey as n}from"./NobleKey";import{NobleKeyPair as s}from"./NobleKeyPair";describe("NobleCryptoService",()=>{let o;beforeEach(()=>{o=new l}),it("should generate random bytes of correct length",()=>{const t=o.randomBytes(32);expect(t.length).toBe(32)}),it("should hash data correctly with SHA256",()=>{const e=new TextEncoder().encode("test"),t=o.hash(e,i.SHA256);expect(t).toEqual(r("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"))}),it("should compute HMAC correctly with SHA256",()=>{const e=new Uint8Array(32).fill(97),t=new TextEncoder().encode("test message"),y=o.hmac(e,t,i.SHA256);expect(y).toEqual(r("0b19ad8fef1660f7a191465effeea922079633ada962f52cb60103d9935cc460"))}),it("should create a key pair",async()=>{const e=await o.createKeyPair(c.K256);expect(e instanceof s).toBeTruthy()}),it("should import a key pair",()=>{const e=new Uint8Array(32).fill(1),t=o.importKeyPair(e,c.K256);expect(t instanceof s).toBeTruthy()}),it("should create a symmetric key",async()=>{const e=await o.createSymmetricKey(a.AES256_GCM);expect(e instanceof n).toBeTruthy()}),it("should import a symmetric key",()=>{const e=new Uint8Array(32).fill(1),t=o.importSymmetricKey(e,a.AES256_GCM);expect(t instanceof n).toBeTruthy()})});
2
- //# sourceMappingURL=NobleCryptoService.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleCryptoService.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\n\nimport { Curve, EncryptionAlgo, HashAlgo } from \"@api/crypto/CryptoService\";\n\nimport { NobleCryptoService } from \"./NobleCryptoService\";\nimport { NobleKey } from \"./NobleKey\";\nimport { NobleKeyPair } from \"./NobleKeyPair\";\n\ndescribe(\"NobleCryptoService\", () => {\n let cryptoService: NobleCryptoService;\n\n beforeEach(() => {\n cryptoService = new NobleCryptoService();\n });\n\n it(\"should generate random bytes of correct length\", () => {\n const length = 32;\n const bytes = cryptoService.randomBytes(length);\n expect(bytes.length).toBe(length);\n });\n\n it(\"should hash data correctly with SHA256\", () => {\n const data = new TextEncoder().encode(\"test\");\n const hashResult = cryptoService.hash(data, HashAlgo.SHA256);\n expect(hashResult).toEqual(\n hexaStringToBuffer(\n \"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08\",\n )!,\n );\n });\n\n it(\"should compute HMAC correctly with SHA256\", () => {\n const key = new Uint8Array(32).fill(0x61);\n const message = new TextEncoder().encode(\"test message\");\n const hmacResult = cryptoService.hmac(key, message, HashAlgo.SHA256);\n expect(hmacResult).toEqual(\n hexaStringToBuffer(\n \"0b19ad8fef1660f7a191465effeea922079633ada962f52cb60103d9935cc460\",\n )!,\n );\n });\n\n it(\"should create a key pair\", async () => {\n const keyPair = await cryptoService.createKeyPair(Curve.K256);\n expect(keyPair instanceof NobleKeyPair).toBeTruthy();\n });\n\n it(\"should import a key pair\", () => {\n const privateKey = new Uint8Array(32).fill(1);\n const keyPair = cryptoService.importKeyPair(privateKey, Curve.K256);\n expect(keyPair instanceof NobleKeyPair).toBeTruthy();\n });\n\n it(\"should create a symmetric key\", async () => {\n const symmetricKey = await cryptoService.createSymmetricKey(\n EncryptionAlgo.AES256_GCM,\n );\n expect(symmetricKey instanceof NobleKey).toBeTruthy();\n });\n\n it(\"should import a symmetric key\", () => {\n const keyMaterial = new Uint8Array(32).fill(1);\n const symmetricKey = cryptoService.importSymmetricKey(\n keyMaterial,\n EncryptionAlgo.AES256_GCM,\n );\n expect(symmetricKey instanceof NobleKey).toBeTruthy();\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,sBAAAA,MAA0B,kCAEnC,OAAS,SAAAC,EAAO,kBAAAC,EAAgB,YAAAC,MAAgB,4BAEhD,OAAS,sBAAAC,MAA0B,uBACnC,OAAS,YAAAC,MAAgB,aACzB,OAAS,gBAAAC,MAAoB,iBAE7B,SAAS,qBAAsB,IAAM,CACnC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAgB,IAAIH,CACtB,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMI,EAAQD,EAAc,YAAY,EAAM,EAC9C,OAAOC,EAAM,MAAM,EAAE,KAAK,EAAM,CAClC,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,MAAMC,EAAO,IAAI,YAAY,EAAE,OAAO,MAAM,EACtCC,EAAaH,EAAc,KAAKE,EAAMN,EAAS,MAAM,EAC3D,OAAOO,CAAU,EAAE,QACjBV,EACE,kEACF,CACF,CACF,CAAC,EAED,GAAG,4CAA6C,IAAM,CACpD,MAAMW,EAAM,IAAI,WAAW,EAAE,EAAE,KAAK,EAAI,EAClCC,EAAU,IAAI,YAAY,EAAE,OAAO,cAAc,EACjDC,EAAaN,EAAc,KAAKI,EAAKC,EAAST,EAAS,MAAM,EACnE,OAAOU,CAAU,EAAE,QACjBb,EACE,kEACF,CACF,CACF,CAAC,EAED,GAAG,2BAA4B,SAAY,CACzC,MAAMc,EAAU,MAAMP,EAAc,cAAcN,EAAM,IAAI,EAC5D,OAAOa,aAAmBR,CAAY,EAAE,WAAW,CACrD,CAAC,EAED,GAAG,2BAA4B,IAAM,CACnC,MAAMS,EAAa,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,EACtCD,EAAUP,EAAc,cAAcQ,EAAYd,EAAM,IAAI,EAClE,OAAOa,aAAmBR,CAAY,EAAE,WAAW,CACrD,CAAC,EAED,GAAG,gCAAiC,SAAY,CAC9C,MAAMU,EAAe,MAAMT,EAAc,mBACvCL,EAAe,UACjB,EACA,OAAOc,aAAwBX,CAAQ,EAAE,WAAW,CACtD,CAAC,EAED,GAAG,gCAAiC,IAAM,CACxC,MAAMY,EAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,EACvCD,EAAeT,EAAc,mBACjCU,EACAf,EAAe,UACjB,EACA,OAAOc,aAAwBX,CAAQ,EAAE,WAAW,CACtD,CAAC,CACH,CAAC",
6
- "names": ["hexaStringToBuffer", "Curve", "EncryptionAlgo", "HashAlgo", "NobleCryptoService", "NobleKey", "NobleKeyPair", "cryptoService", "bytes", "data", "hashResult", "key", "message", "hmacResult", "keyPair", "privateKey", "symmetricKey", "keyMaterial"]
7
- }
@@ -1,2 +0,0 @@
1
- import{gcm as i}from"@noble/ciphers/aes";import{randomBytes as c}from"@noble/ciphers/webcrypto";import{EncryptionAlgo as e}from"../../crypto/CryptoService";import{AES256_BLOCK_SIZE as o,AES256_KEY_SIZE as p}from"../../crypto/Key";class n{constructor(r){this.key=r}static async generate(r=e.AES256_GCM){if(r!==e.AES256_GCM)throw new Error(`Unsupported encryption algorithm ${r}`);return new n(c(p))}static from(r,t=e.AES256_GCM){if(t!==e.AES256_GCM)throw new Error(`Unsupported encryption algorithm ${t}`);return new n(r)}async encrypt(r,t){return i(this.key,r.slice(0,o)).encrypt(t)}async decrypt(r,t){return i(this.key,r.slice(0,o)).decrypt(t)}}export{n as NobleKey};
2
- //# sourceMappingURL=NobleKey.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleKey.ts"],
4
- "sourcesContent": ["import { gcm } from \"@noble/ciphers/aes\";\nimport { randomBytes } from \"@noble/ciphers/webcrypto\";\n\nimport { EncryptionAlgo } from \"@api/crypto/CryptoService\";\nimport { AES256_BLOCK_SIZE, AES256_KEY_SIZE, type Key } from \"@api/crypto/Key\";\n\nexport class NobleKey implements Key {\n static async generate(\n algo: EncryptionAlgo = EncryptionAlgo.AES256_GCM,\n ): Promise<NobleKey> {\n if (algo !== EncryptionAlgo.AES256_GCM) {\n throw new Error(`Unsupported encryption algorithm ${algo}`);\n }\n return new NobleKey(randomBytes(AES256_KEY_SIZE));\n }\n\n static from(\n keyMaterial: Uint8Array,\n algo: EncryptionAlgo = EncryptionAlgo.AES256_GCM,\n ): NobleKey {\n if (algo !== EncryptionAlgo.AES256_GCM) {\n throw new Error(`Unsupported encryption algorithm ${algo}`);\n }\n return new NobleKey(keyMaterial);\n }\n\n private constructor(private key: Uint8Array) {}\n\n async encrypt(iv: Uint8Array, data: Uint8Array): Promise<Uint8Array> {\n const cipher = gcm(this.key, iv.slice(0, AES256_BLOCK_SIZE));\n return cipher.encrypt(data);\n }\n\n async decrypt(\n iv: Uint8Array,\n encryptedData: Uint8Array,\n ): Promise<Uint8Array> {\n const cipher = gcm(this.key, iv.slice(0, AES256_BLOCK_SIZE));\n return cipher.decrypt(encryptedData);\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,OAAAA,MAAW,qBACpB,OAAS,eAAAC,MAAmB,2BAE5B,OAAS,kBAAAC,MAAsB,4BAC/B,OAAS,qBAAAC,EAAmB,mBAAAC,MAAiC,kBAEtD,MAAMC,CAAwB,CAoB3B,YAAoBC,EAAiB,CAAjB,SAAAA,CAAkB,CAnB9C,aAAa,SACXC,EAAuBL,EAAe,WACnB,CACnB,GAAIK,IAASL,EAAe,WAC1B,MAAM,IAAI,MAAM,oCAAoCK,CAAI,EAAE,EAE5D,OAAO,IAAIF,EAASJ,EAAYG,CAAe,CAAC,CAClD,CAEA,OAAO,KACLI,EACAD,EAAuBL,EAAe,WAC5B,CACV,GAAIK,IAASL,EAAe,WAC1B,MAAM,IAAI,MAAM,oCAAoCK,CAAI,EAAE,EAE5D,OAAO,IAAIF,EAASG,CAAW,CACjC,CAIA,MAAM,QAAQC,EAAgBC,EAAuC,CAEnE,OADeV,EAAI,KAAK,IAAKS,EAAG,MAAM,EAAGN,CAAiB,CAAC,EAC7C,QAAQO,CAAI,CAC5B,CAEA,MAAM,QACJD,EACAE,EACqB,CAErB,OADeX,EAAI,KAAK,IAAKS,EAAG,MAAM,EAAGN,CAAiB,CAAC,EAC7C,QAAQQ,CAAa,CACrC,CACF",
6
- "names": ["gcm", "randomBytes", "EncryptionAlgo", "AES256_BLOCK_SIZE", "AES256_KEY_SIZE", "NobleKey", "key", "algo", "keyMaterial", "iv", "data", "encryptedData"]
7
- }
@@ -1,2 +0,0 @@
1
- import{AES256_BLOCK_SIZE as r,AES256_KEY_SIZE as i}from"../../crypto/Key";import{NobleKey as o}from"./NobleKey";describe("NobleKey",()=>{const t=new TextEncoder().encode("Test Data");it("should encrypt and decrypt data correctly",async()=>{const c=await o.generate(),e=new Uint8Array(r).fill(2),a=await c.encrypt(e,t),n=await c.decrypt(e,a);expect(a).not.toEqual(t),expect(n).toEqual(t)}),it("should encrypt and decrypt data from key material",async()=>{const c=new Uint8Array(i).fill(1),e=o.from(c),a=new Uint8Array(r).fill(2),n=await e.encrypt(a,t),y=await e.decrypt(a,n);expect(n).not.toEqual(t),expect(y).toEqual(t)})});
2
- //# sourceMappingURL=NobleKey.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleKey.test.ts"],
4
- "sourcesContent": ["import { AES256_BLOCK_SIZE, AES256_KEY_SIZE } from \"@api/crypto/Key\";\n\nimport { NobleKey } from \"./NobleKey\";\n\ndescribe(\"NobleKey\", () => {\n const testData = new TextEncoder().encode(\"Test Data\");\n\n it(\"should encrypt and decrypt data correctly\", async () => {\n const key = await NobleKey.generate();\n const iv = new Uint8Array(AES256_BLOCK_SIZE).fill(0x02);\n const encryptedData = await key.encrypt(iv, testData);\n const decryptedData = await key.decrypt(iv, encryptedData);\n\n expect(encryptedData).not.toEqual(testData);\n expect(decryptedData).toEqual(testData);\n });\n\n it(\"should encrypt and decrypt data from key material\", async () => {\n const keyMaterial = new Uint8Array(AES256_KEY_SIZE).fill(0x01);\n const key = NobleKey.from(keyMaterial);\n const iv = new Uint8Array(AES256_BLOCK_SIZE).fill(0x02);\n const encryptedData = await key.encrypt(iv, testData);\n const decryptedData = await key.decrypt(iv, encryptedData);\n\n expect(encryptedData).not.toEqual(testData);\n expect(decryptedData).toEqual(testData);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,qBAAAA,EAAmB,mBAAAC,MAAuB,kBAEnD,OAAS,YAAAC,MAAgB,aAEzB,SAAS,WAAY,IAAM,CACzB,MAAMC,EAAW,IAAI,YAAY,EAAE,OAAO,WAAW,EAErD,GAAG,4CAA6C,SAAY,CAC1D,MAAMC,EAAM,MAAMF,EAAS,SAAS,EAC9BG,EAAK,IAAI,WAAWL,CAAiB,EAAE,KAAK,CAAI,EAChDM,EAAgB,MAAMF,EAAI,QAAQC,EAAIF,CAAQ,EAC9CI,EAAgB,MAAMH,EAAI,QAAQC,EAAIC,CAAa,EAEzD,OAAOA,CAAa,EAAE,IAAI,QAAQH,CAAQ,EAC1C,OAAOI,CAAa,EAAE,QAAQJ,CAAQ,CACxC,CAAC,EAED,GAAG,oDAAqD,SAAY,CAClE,MAAMK,EAAc,IAAI,WAAWP,CAAe,EAAE,KAAK,CAAI,EACvDG,EAAMF,EAAS,KAAKM,CAAW,EAC/BH,EAAK,IAAI,WAAWL,CAAiB,EAAE,KAAK,CAAI,EAChDM,EAAgB,MAAMF,EAAI,QAAQC,EAAIF,CAAQ,EAC9CI,EAAgB,MAAMH,EAAI,QAAQC,EAAIC,CAAa,EAEzD,OAAOA,CAAa,EAAE,IAAI,QAAQH,CAAQ,EAC1C,OAAOI,CAAa,EAAE,QAAQJ,CAAQ,CACxC,CAAC,CACH,CAAC",
6
- "names": ["AES256_BLOCK_SIZE", "AES256_KEY_SIZE", "NobleKey", "testData", "key", "iv", "encryptedData", "decryptedData", "keyMaterial"]
7
- }
@@ -1,2 +0,0 @@
1
- import{bufferToHexaString as n}from"@ledgerhq/device-management-kit";import{p256 as u}from"@noble/curves/nist.js";import{secp256k1 as o}from"@noble/curves/secp256k1.js";import{Curve as s}from"../../crypto/CryptoService";import{SigFormat as c}from"../../crypto/KeyPair";class i{constructor(r,e,t){this.curve=r;this.privateKey=e;this.publicKey=t}static async generate(r){const e=i.getCurve(r),{secretKey:t,publicKey:a}=e.keygen();return new i(e,t,a)}static from(r,e){const t=i.getCurve(e),a=t.getPublicKey(r);return new i(t,r,a)}static getCurve(r){switch(r){case s.K256:return o;case s.P256:return u;default:throw new Error(`Unsupported curve ${r}`)}}get id(){return n(this.privateKey)}async sign(r,e){return this.curve.sign(r,this.privateKey).toBytes(e===c.DER?"der":"compact")}async verify(r,e,t){return this.curve.verify(e,r,this.publicKey,{format:t===c.DER?"der":"compact"})}async deriveSharedSecret(r,e=!0){return this.curve.getSharedSecret(this.privateKey,r,e)}getPublicKey(){return this.publicKey}getPublicKeyToHex(){return n(this.publicKey,!1)}}export{i as NobleKeyPair};
2
- //# sourceMappingURL=NobleKeyPair.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleKeyPair.ts"],
4
- "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport type { CurveFn } from \"@noble/curves/abstract/weierstrass.js\";\nimport { p256 } from \"@noble/curves/nist.js\";\nimport { secp256k1 } from \"@noble/curves/secp256k1.js\";\n\nimport { Curve } from \"@api/crypto/CryptoService\";\nimport { type KeyPair, SigFormat } from \"@api/crypto/KeyPair\";\n\nexport class NobleKeyPair implements KeyPair {\n static async generate(curve: Curve): Promise<NobleKeyPair> {\n const curveImpl = NobleKeyPair.getCurve(curve);\n const { secretKey, publicKey } = curveImpl.keygen();\n return new NobleKeyPair(curveImpl, secretKey, publicKey);\n }\n\n static from(privateKey: Uint8Array, curve: Curve): NobleKeyPair {\n const curveImpl = NobleKeyPair.getCurve(curve);\n const publicKey = curveImpl.getPublicKey(privateKey);\n return new NobleKeyPair(curveImpl, privateKey, publicKey);\n }\n\n private static getCurve(curve: Curve): CurveFn {\n switch (curve) {\n case Curve.K256:\n return secp256k1;\n case Curve.P256:\n return p256;\n default:\n throw new Error(`Unsupported curve ${curve}`);\n }\n }\n\n private constructor(\n private curve: CurveFn,\n private privateKey: Uint8Array,\n private publicKey: Uint8Array,\n ) {}\n\n get id() {\n return bufferToHexaString(this.privateKey);\n }\n\n async sign(data: Uint8Array, format?: SigFormat): Promise<Uint8Array> {\n return this.curve\n .sign(data, this.privateKey)\n .toBytes(format === SigFormat.DER ? \"der\" : \"compact\");\n }\n\n async verify(\n data: Uint8Array,\n signature: Uint8Array,\n format?: SigFormat,\n ): Promise<boolean> {\n return this.curve.verify(signature, data, this.publicKey, {\n format: format === SigFormat.DER ? \"der\" : \"compact\",\n });\n }\n\n async deriveSharedSecret(\n peerPublicKey: Uint8Array,\n isCompressed: boolean = true,\n ): Promise<Uint8Array> {\n return this.curve.getSharedSecret(\n this.privateKey,\n peerPublicKey,\n isCompressed,\n );\n }\n\n getPublicKey(): Uint8Array {\n return this.publicKey;\n }\n\n getPublicKeyToHex(): string {\n return bufferToHexaString(this.publicKey, false);\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,sBAAAA,MAA0B,kCAEnC,OAAS,QAAAC,MAAY,wBACrB,OAAS,aAAAC,MAAiB,6BAE1B,OAAS,SAAAC,MAAa,4BACtB,OAAuB,aAAAC,MAAiB,sBAEjC,MAAMC,CAAgC,CAwBnC,YACEC,EACAC,EACAC,EACR,CAHQ,WAAAF,EACA,gBAAAC,EACA,eAAAC,CACP,CA3BH,aAAa,SAASF,EAAqC,CACzD,MAAMG,EAAYJ,EAAa,SAASC,CAAK,EACvC,CAAE,UAAAI,EAAW,UAAAF,CAAU,EAAIC,EAAU,OAAO,EAClD,OAAO,IAAIJ,EAAaI,EAAWC,EAAWF,CAAS,CACzD,CAEA,OAAO,KAAKD,EAAwBD,EAA4B,CAC9D,MAAMG,EAAYJ,EAAa,SAASC,CAAK,EACvCE,EAAYC,EAAU,aAAaF,CAAU,EACnD,OAAO,IAAIF,EAAaI,EAAWF,EAAYC,CAAS,CAC1D,CAEA,OAAe,SAASF,EAAuB,CAC7C,OAAQA,EAAO,CACb,KAAKH,EAAM,KACT,OAAOD,EACT,KAAKC,EAAM,KACT,OAAOF,EACT,QACE,MAAM,IAAI,MAAM,qBAAqBK,CAAK,EAAE,CAChD,CACF,CAQA,IAAI,IAAK,CACP,OAAON,EAAmB,KAAK,UAAU,CAC3C,CAEA,MAAM,KAAKW,EAAkBC,EAAyC,CACpE,OAAO,KAAK,MACT,KAAKD,EAAM,KAAK,UAAU,EAC1B,QAAQC,IAAWR,EAAU,IAAM,MAAQ,SAAS,CACzD,CAEA,MAAM,OACJO,EACAE,EACAD,EACkB,CAClB,OAAO,KAAK,MAAM,OAAOC,EAAWF,EAAM,KAAK,UAAW,CACxD,OAAQC,IAAWR,EAAU,IAAM,MAAQ,SAC7C,CAAC,CACH,CAEA,MAAM,mBACJU,EACAC,EAAwB,GACH,CACrB,OAAO,KAAK,MAAM,gBAChB,KAAK,WACLD,EACAC,CACF,CACF,CAEA,cAA2B,CACzB,OAAO,KAAK,SACd,CAEA,mBAA4B,CAC1B,OAAOf,EAAmB,KAAK,UAAW,EAAK,CACjD,CACF",
6
- "names": ["bufferToHexaString", "p256", "secp256k1", "Curve", "SigFormat", "NobleKeyPair", "curve", "privateKey", "publicKey", "curveImpl", "secretKey", "data", "format", "signature", "peerPublicKey", "isCompressed"]
7
- }
@@ -1,2 +0,0 @@
1
- import{Curve as r}from"../../crypto/CryptoService";import{SigFormat as n}from"../../crypto/KeyPair";import{NobleKeyPair as i}from"./NobleKeyPair";describe("NobleKeyPair",()=>{const c=new TextEncoder().encode("Test Data");it("should generate a key pair with correct public key",async()=>{const e=(await i.generate(r.K256)).getPublicKey();expect(e).toBeDefined(),expect(e.byteLength).toBeGreaterThan(0)}),it("should create a key pair from a private key",()=>{const t=new Uint8Array(32).fill(1),e=i.from(t,r.K256);expect(e.getPublicKey()).toBeDefined()}),it("should sign and verify data correctly",async()=>{const t=await i.generate(r.K256),e=await t.sign(c),a=await t.verify(c,e);expect(a).toBeTruthy()}),it("should sign and verify data correctly, in DER format",async()=>{const t=await i.generate(r.K256),e=await t.sign(c,n.DER),a=await t.verify(c,e,n.DER);expect(a).toBeTruthy()}),it("should derive a shared secret with another public key",async()=>{const t=await i.generate(r.K256),e=await i.generate(r.K256),a=await t.deriveSharedSecret(e.getPublicKey()),o=await e.deriveSharedSecret(t.getPublicKey());expect(a).toBeDefined(),expect(a.byteLength).toBeGreaterThan(0),expect(a).toStrictEqual(o)}),it("should convert public key to hex string",async()=>{const e=(await i.generate(r.K256)).getPublicKeyToHex();expect(typeof e).toBe("string"),expect(e.length).toBeGreaterThan(0)})});
2
- //# sourceMappingURL=NobleKeyPair.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/api/crypto/noble/NobleKeyPair.test.ts"],
4
- "sourcesContent": ["import { Curve } from \"@api/crypto/CryptoService\";\nimport { SigFormat } from \"@api/crypto/KeyPair\";\n\nimport { NobleKeyPair } from \"./NobleKeyPair\";\n\ndescribe(\"NobleKeyPair\", () => {\n const testData = new TextEncoder().encode(\"Test Data\");\n\n it(\"should generate a key pair with correct public key\", async () => {\n const keyPair = await NobleKeyPair.generate(Curve.K256);\n const publicKey = keyPair.getPublicKey();\n expect(publicKey).toBeDefined();\n expect(publicKey.byteLength).toBeGreaterThan(0);\n });\n\n it(\"should create a key pair from a private key\", () => {\n const privateKey = new Uint8Array(32).fill(1);\n const keyPair = NobleKeyPair.from(privateKey, Curve.K256);\n expect(keyPair.getPublicKey()).toBeDefined();\n });\n\n it(\"should sign and verify data correctly\", async () => {\n const keyPair = await NobleKeyPair.generate(Curve.K256);\n const signature = await keyPair.sign(testData);\n const isVerified = await keyPair.verify(testData, signature);\n expect(isVerified).toBeTruthy();\n });\n\n it(\"should sign and verify data correctly, in DER format\", async () => {\n const keyPair = await NobleKeyPair.generate(Curve.K256);\n const signature = await keyPair.sign(testData, SigFormat.DER);\n const isVerified = await keyPair.verify(testData, signature, SigFormat.DER);\n expect(isVerified).toBeTruthy();\n });\n\n it(\"should derive a shared secret with another public key\", async () => {\n const keyPair = await NobleKeyPair.generate(Curve.K256);\n const otherKeyPair = await NobleKeyPair.generate(Curve.K256);\n const sharedSecret1 = await keyPair.deriveSharedSecret(\n otherKeyPair.getPublicKey(),\n );\n const sharedSecret2 = await otherKeyPair.deriveSharedSecret(\n keyPair.getPublicKey(),\n );\n\n expect(sharedSecret1).toBeDefined();\n expect(sharedSecret1.byteLength).toBeGreaterThan(0);\n expect(sharedSecret1).toStrictEqual(sharedSecret2);\n });\n\n it(\"should convert public key to hex string\", async () => {\n const keyPair = await NobleKeyPair.generate(Curve.K256);\n const hexPublicKey = keyPair.getPublicKeyToHex();\n expect(typeof hexPublicKey).toBe(\"string\");\n expect(hexPublicKey.length).toBeGreaterThan(0);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,4BACtB,OAAS,aAAAC,MAAiB,sBAE1B,OAAS,gBAAAC,MAAoB,iBAE7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAAW,IAAI,YAAY,EAAE,OAAO,WAAW,EAErD,GAAG,qDAAsD,SAAY,CAEnE,MAAMC,GADU,MAAMF,EAAa,SAASF,EAAM,IAAI,GAC5B,aAAa,EACvC,OAAOI,CAAS,EAAE,YAAY,EAC9B,OAAOA,EAAU,UAAU,EAAE,gBAAgB,CAAC,CAChD,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,MAAMC,EAAa,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,EACtCC,EAAUJ,EAAa,KAAKG,EAAYL,EAAM,IAAI,EACxD,OAAOM,EAAQ,aAAa,CAAC,EAAE,YAAY,CAC7C,CAAC,EAED,GAAG,wCAAyC,SAAY,CACtD,MAAMA,EAAU,MAAMJ,EAAa,SAASF,EAAM,IAAI,EAChDO,EAAY,MAAMD,EAAQ,KAAKH,CAAQ,EACvCK,EAAa,MAAMF,EAAQ,OAAOH,EAAUI,CAAS,EAC3D,OAAOC,CAAU,EAAE,WAAW,CAChC,CAAC,EAED,GAAG,uDAAwD,SAAY,CACrE,MAAMF,EAAU,MAAMJ,EAAa,SAASF,EAAM,IAAI,EAChDO,EAAY,MAAMD,EAAQ,KAAKH,EAAUF,EAAU,GAAG,EACtDO,EAAa,MAAMF,EAAQ,OAAOH,EAAUI,EAAWN,EAAU,GAAG,EAC1E,OAAOO,CAAU,EAAE,WAAW,CAChC,CAAC,EAED,GAAG,wDAAyD,SAAY,CACtE,MAAMF,EAAU,MAAMJ,EAAa,SAASF,EAAM,IAAI,EAChDS,EAAe,MAAMP,EAAa,SAASF,EAAM,IAAI,EACrDU,EAAgB,MAAMJ,EAAQ,mBAClCG,EAAa,aAAa,CAC5B,EACME,EAAgB,MAAMF,EAAa,mBACvCH,EAAQ,aAAa,CACvB,EAEA,OAAOI,CAAa,EAAE,YAAY,EAClC,OAAOA,EAAc,UAAU,EAAE,gBAAgB,CAAC,EAClD,OAAOA,CAAa,EAAE,cAAcC,CAAa,CACnD,CAAC,EAED,GAAG,0CAA2C,SAAY,CAExD,MAAMC,GADU,MAAMV,EAAa,SAASF,EAAM,IAAI,GACzB,kBAAkB,EAC/C,OAAO,OAAOY,CAAY,EAAE,KAAK,QAAQ,EACzC,OAAOA,EAAa,MAAM,EAAE,gBAAgB,CAAC,CAC/C,CAAC,CACH,CAAC",
6
- "names": ["Curve", "SigFormat", "NobleKeyPair", "testData", "publicKey", "privateKey", "keyPair", "signature", "isVerified", "otherKeyPair", "sharedSecret1", "sharedSecret2", "hexPublicKey"]
7
- }
@@ -1,2 +0,0 @@
1
- var g=(e=>(e.PROD="prod",e.STAGING="staging",e))(g||{});export{g as LKRPEnv};
2
- //# sourceMappingURL=Env.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/model/Env.ts"],
4
- "sourcesContent": ["export enum LKRPEnv {\n PROD = \"prod\",\n STAGING = \"staging\",\n}\n"],
5
- "mappings": "AAAO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UAFAA,OAAA",
6
- "names": ["LKRPEnv"]
7
- }
@@ -1,2 +0,0 @@
1
- import{GeneralDmkError as e}from"@ledgerhq/device-management-kit";class d extends e{constructor(r){super(r.message);this.err=r;this.status=r.status,this.message=r.message}_tag="LedgerKeyringProtocolError";message;status}class i extends e{constructor(r=null,s=`Current keypair is not a member of the trustchain${r?` ${r}`:""}.`){super(s);this.trustchainId=r;this.message=s}_tag="LedgerKeyringProtocolError"}class u extends e{constructor(r="The trustchain is outdated."){super(r);this.message=r}_tag="LedgerKeyringProtocolError"}class c extends e{constructor(r="Ledger Sync must be initialized from Ledger Live with this device."){super(r);this.message=r}_tag="LedgerKeyringProtocolError"}class g extends e{constructor(r){super(r);this.err=r}_tag="LedgerKeyringProtocolError"}class l extends e{constructor(r){super(r);this.err=r}_tag="LedgerKeyringProtocolError"}class y extends e{constructor(r){const s=r&&typeof r=="object"&&"type"in r&&typeof r.type=="number"&&`0x${r.type.toString(16).padStart(2,"0")}`;let n="Unsupported command";s&&(n+=`: ${s}`);super(n);this.command=r;this.message=n}_tag="LedgerKeyringProtocolError";message}class p extends e{constructor(r){super(r);this.message=r}_tag="LedgerKeyringProtocolError"}export{d as LKRPDataSourceError,l as LKRPMissingDataError,u as LKRPOutdatedTrustchainError,g as LKRPParsingError,c as LKRPTrustchainNotReady,i as LKRPUnauthorizedError,p as LKRPUnknownError,y as LKRPUnsupportedCommandError};
2
- //# sourceMappingURL=Errors.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/model/Errors.ts"],
4
- "sourcesContent": ["import { GeneralDmkError } from \"@ledgerhq/device-management-kit\";\n\nexport type LKRPDataSourceErrorStatus =\n | \"UNAUTHORIZED\"\n | \"BAD_REQUEST\"\n | \"UNKNOWN\";\n\nexport class LKRPDataSourceError extends GeneralDmkError {\n override _tag = \"LedgerKeyringProtocolError\";\n public readonly message: string;\n public readonly status: LKRPDataSourceErrorStatus;\n\n constructor(\n readonly err: {\n status: LKRPDataSourceErrorStatus;\n message: string;\n },\n ) {\n super(err.message);\n this.status = err.status;\n this.message = err.message;\n }\n}\n\nexport class LKRPUnauthorizedError extends GeneralDmkError {\n override _tag = \"LedgerKeyringProtocolError\";\n constructor(\n readonly trustchainId: string | null = null,\n readonly message: string = `Current keypair is not a member of the trustchain${trustchainId ? ` ${trustchainId}` : \"\"}.`,\n ) {\n super(message);\n }\n}\n\nexport class LKRPOutdatedTrustchainError extends GeneralDmkError {\n override _tag = \"LedgerKeyringProtocolError\";\n constructor(readonly message = \"The trustchain is outdated.\") {\n super(message);\n }\n}\n\nexport class LKRPTrustchainNotReady extends GeneralDmkError {\n override readonly _tag = \"LedgerKeyringProtocolError\";\n constructor(\n readonly message = \"Ledger Sync must be initialized from Ledger Live with this device.\",\n ) {\n super(message);\n }\n}\n\nexport class LKRPParsingError extends GeneralDmkError {\n override readonly _tag = \"LedgerKeyringProtocolError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class LKRPMissingDataError extends GeneralDmkError {\n override readonly _tag = \"LedgerKeyringProtocolError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class LKRPUnsupportedCommandError extends GeneralDmkError {\n override readonly _tag = \"LedgerKeyringProtocolError\";\n readonly message: string;\n constructor(readonly command: unknown) {\n const commandType =\n command &&\n typeof command === \"object\" &&\n \"type\" in command &&\n typeof command.type === \"number\" &&\n `0x${command.type.toString(16).padStart(2, \"0\")}`;\n let message = `Unsupported command`;\n if (commandType) message += `: ${commandType}`;\n\n super(message);\n\n this.message = message;\n }\n}\n\nexport class LKRPUnknownError extends GeneralDmkError {\n override readonly _tag = \"LedgerKeyringProtocolError\";\n constructor(readonly message: string) {\n super(message);\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,kCAOzB,MAAMC,UAA4BD,CAAgB,CAKvD,YACWE,EAIT,CACA,MAAMA,EAAI,OAAO,EALR,SAAAA,EAMT,KAAK,OAASA,EAAI,OAClB,KAAK,QAAUA,EAAI,OACrB,CAbS,KAAO,6BACA,QACA,MAYlB,CAEO,MAAMC,UAA8BH,CAAgB,CAEzD,YACWI,EAA8B,KAC9BC,EAAkB,oDAAoDD,EAAe,IAAIA,CAAY,GAAK,EAAE,IACrH,CACA,MAAMC,CAAO,EAHJ,kBAAAD,EACA,aAAAC,CAGX,CANS,KAAO,4BAOlB,CAEO,MAAMC,UAAoCN,CAAgB,CAE/D,YAAqBK,EAAU,8BAA+B,CAC5D,MAAMA,CAAO,EADM,aAAAA,CAErB,CAHS,KAAO,4BAIlB,CAEO,MAAME,UAA+BP,CAAgB,CAE1D,YACWK,EAAU,qEACnB,CACA,MAAMA,CAAO,EAFJ,aAAAA,CAGX,CALkB,KAAO,4BAM3B,CAEO,MAAMG,UAAyBR,CAAgB,CAEpD,YAAqBE,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMO,UAA6BT,CAAgB,CAExD,YAAqBE,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMQ,UAAoCV,CAAgB,CAG/D,YAAqBW,EAAkB,CACrC,MAAMC,EACJD,GACA,OAAOA,GAAY,UACnB,SAAUA,GACV,OAAOA,EAAQ,MAAS,UACxB,KAAKA,EAAQ,KAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,GACjD,IAAIN,EAAU,sBACVO,IAAaP,GAAW,KAAKO,CAAW,IAE5C,MAAMP,CAAO,EAVM,aAAAM,EAYnB,KAAK,QAAUN,CACjB,CAfkB,KAAO,6BAChB,OAeX,CAEO,MAAMQ,UAAyBb,CAAgB,CAEpD,YAAqBK,EAAiB,CACpC,MAAMA,CAAO,EADM,aAAAA,CAErB,CAHkB,KAAO,4BAI3B",
6
- "names": ["GeneralDmkError", "LKRPDataSourceError", "err", "LKRPUnauthorizedError", "trustchainId", "message", "LKRPOutdatedTrustchainError", "LKRPTrustchainNotReady", "LKRPParsingError", "LKRPMissingDataError", "LKRPUnsupportedCommandError", "command", "commandType", "LKRPUnknownError"]
7
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=JWT.js.map
@@ -1,2 +0,0 @@
1
- var C=(f=>(f[f.OWNER=4294967295]="OWNER",f[f.CAN_ENCRYPT=1]="CAN_ENCRYPT",f[f.CAN_DERIVE=2]="CAN_DERIVE",f[f.CAN_ADD_BLOCK=4]="CAN_ADD_BLOCK",f))(C||{});export{C as Permissions};
2
- //# sourceMappingURL=Permissions.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/api/model/Permissions.ts"],
4
- "sourcesContent": ["/**\n * https://ledgerhq.atlassian.net/wiki/spaces/TA/pages/5865144361/ARCH+LKRP+-+v2+specifications#Member-permissions\n */\nexport enum Permissions {\n OWNER = 0xffffffff, // Owners of the stream have access to everything\n CAN_ENCRYPT = 1, // The member can have access to the stream private key\n CAN_DERIVE = 1 << 1, // The member can have access to the stream chain code (if a member have access to the private key and the chain code it is able to derive sub-streams)\n CAN_ADD_BLOCK = 1 << 2, // The member is authorized to issue blocks in the current stream\n}\n"],
5
- "mappings": "AAGO,IAAKA,OACVA,IAAA,MAAQ,YAAR,QACAA,IAAA,YAAc,GAAd,cACAA,IAAA,WAAa,GAAb,aACAA,IAAA,cAAgB,GAAhB,gBAJUA,OAAA",
6
- "names": ["Permissions"]
7
- }
@@ -1,2 +0,0 @@
1
- import{OpenAppDeviceAction as S,UserInteractionRequired as h,XStateDeviceAction as T}from"@ledgerhq/device-management-kit";import{EitherAsync as d,Left as A,Right as D}from"purify-ts";import{assign as s,fromPromise as m,setup as g}from"xstate";import{AuthenticateDAState as v,AuthenticateDAStep as o}from"../../../api/app-binder/AuthenticateDeviceActionTypes";import{LKRPMissingDataError as l,LKRPTrustchainNotReady as I,LKRPUnknownError as f}from"../../../api/model/Errors";import{AuthenticateTask as k}from"../../app-binder/task/AuthenticateTask";import{ExtractEncryptionKeyTask as M}from"../../app-binder/task/ExtractEncryptionKeyTask";import{SignChallengeWithDeviceTask as w}from"../../app-binder/task/SignChallengeWithDeviceTask";import{eitherSeqRecord as y}from"../../utils/eitherSeqRecord";import{required as r}from"../../utils/required";import{raiseAndAssign as a}from"./utils/raiseAndAssign";import{AddToTrustchainDeviceAction as K}from"./AddToTrustchainDeviceAction";const E="Ledger Sync";class F extends T{makeStateMachine(c){const{deviceAuth:u,getTrustchain:p,extractEncryptionKey:i}=this.extractDependencies(c);return g({types:{input:{},context:{},output:{}},actors:{openAppStateMachine:new S({input:{appName:E}}).makeStateMachine(c),deviceAuth:m(u),getTrustchain:m(p),addToTrustchainStateMachine:new K({input:A(new l("Missing input for GetEncryptionKey"))}).makeStateMachine(c),extractEncryptionKey:m(i)},actions:{assignErrorFromEvent:a(({event:t})=>A(new f(String(t.error))))},guards:{isTrustchainMember:({context:t})=>t._internalState.toMaybe().map(e=>e.wasAddedToTrustchain||e.trustchain?.getAppStream(t.input.appId).mapOrDefault(n=>n.hasMember(t.input.keypair.getPublicKeyToHex()),!1)).extract()??!1}}).createMachine({id:"AuthenticateWithDeviceDeviceAction",context:({input:t})=>({input:t,intermediateValue:{requiredUserInteraction:h.None},_internalState:D({trustchainId:null,jwt:null,trustchain:null,encryptionKey:null,wasAddedToTrustchain:!1})}),initial:"OpenApp",states:{OpenApp:{on:{success:"DeviceAuth",error:"Error"},invoke:{id:"openApp",src:"openAppStateMachine",onSnapshot:{actions:s({intermediateValue:({event:t})=>({step:o.OpenApp,...t.snapshot.context.intermediateValue})})},input:{appName:E},onError:{actions:"assignErrorFromEvent"},onDone:{actions:a(({event:t})=>t.output.map(()=>({raise:"success"})))}}},DeviceAuth:{entry:s({intermediateValue:{step:o.Authenticate,requiredUserInteraction:v.Authenticate}}),on:{success:"GetTrustchain",error:"Error"},invoke:{id:"deviceAuth",src:"deviceAuth",input:({context:t})=>t.input,onError:{actions:"assignErrorFromEvent"},onDone:{actions:a(({event:t})=>t.output.chain(e=>e.trustchainId.caseOf({Nothing:()=>A(new I),Just:n=>D({raise:"success",assign:{jwt:e.jwt,trustchainId:n}})})))}}},GetTrustchain:{entry:s({intermediateValue:{step:o.GetTrustchain,requiredUserInteraction:h.None}}),on:{success:"CheckIsMembers",error:"Error"},invoke:{id:"getTrustchain",src:"getTrustchain",input:({context:t})=>t._internalState.chain(e=>y({lkrpDataSource:t.input.lkrpDataSource,trustchainId:()=>r(e.trustchainId,"Missing Trustchain ID for GetTrustchain"),jwt:()=>r(e.jwt,"Missing JWT for GetTrustchain")})),onError:{actions:"assignErrorFromEvent"},onDone:{actions:a(({event:t})=>t.output.map(e=>({raise:"success",assign:{trustchain:e}})))}}},CheckIsMembers:{always:[{target:"ExtractEncryptionKey",guard:"isTrustchainMember"},{target:"AddToTrustchain"}]},AddToTrustchain:{on:{success:"GetTrustchain",error:"Error"},invoke:{id:"AddToTrustchain",src:"addToTrustchainStateMachine",onSnapshot:{actions:s({intermediateValue:({event:t})=>t.snapshot.context.intermediateValue})},input:({context:t})=>t._internalState.mapLeft(()=>new l("Missing data in the input for AddToTrustchain")).chain(e=>y({lkrpDataSource:t.input.lkrpDataSource,cryptoService:t.input.cryptoService,keypair:t.input.keypair,clientName:t.input.clientName,permissions:t.input.permissions,jwt:()=>r(e.jwt,"Missing JWT for AddToTrustchain"),appId:t.input.appId,trustchain:()=>r(e.trustchain,"Missing Trustchain for AddToTrustchain")})),onError:{actions:"assignErrorFromEvent"},onDone:{actions:a(({event:t})=>t.output.map(()=>({raise:"success",assign:{wasAddedToTrustchain:!0}})))}}},ExtractEncryptionKey:{entry:s({intermediateValue:{step:o.ExtractEncryptionKey,requiredUserInteraction:h.None}}),on:{success:"Success",error:"Error"},invoke:{id:"ExtractEncryptionKey",src:"extractEncryptionKey",input:({context:t})=>({cryptoService:t.input.cryptoService,keypair:t.input.keypair,stream:t._internalState.chain(({trustchain:e})=>r(e?.getAppStream(t.input.appId).extract(),"Missing application stream for ExtractEncryptionKey"))}),onError:{actions:"assignErrorFromEvent"},onDone:{actions:a(({event:t})=>t.output.map(e=>({raise:"success",assign:{encryptionKey:e}})))}}},Success:{type:"final"},Error:{type:"final"}},output:({context:t})=>t._internalState.chain(e=>y({trustchainId:()=>r(e.trustchainId,"Missing Trustchain ID in the output"),jwt:()=>r(e.jwt,"Missing JWT in the output"),applicationPath:()=>r(e.trustchain?.getAppStream(t.input.appId).chain(n=>n.getPath()).extract(),"Missing application path in the output"),encryptionKey:()=>r(e.encryptionKey,"Missing encryption key in the output")}))})}extractDependencies(c){const u=new k,p=new M;return{deviceAuth:({input:i})=>u.run(i.lkrpDataSource,new w(c)),getTrustchain:i=>d.liftEither(i.input).chain(({lkrpDataSource:t,trustchainId:e,jwt:n})=>t.getTrustchainById(e,n)).run(),extractEncryptionKey:async({input:i})=>d.liftEither(i.stream).chain(t=>p.run(i.cryptoService,i.keypair,t))}}}export{F as AuthenticateWithDeviceDeviceAction};
2
- //# sourceMappingURL=AuthenticateWithDeviceDeviceAction.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/app-binder/device-action/AuthenticateWithDeviceDeviceAction.ts"],
4
- "sourcesContent": ["import {\n type DeviceActionStateMachine,\n type InternalApi,\n OpenAppDeviceAction,\n type StateMachineTypes,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, EitherAsync, Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport {\n type AuthenticateDAError,\n type AuthenticateDAIntermediateValue,\n type AuthenticateDAOutput,\n AuthenticateDAState,\n AuthenticateDAStep,\n} from \"@api/app-binder/AuthenticateDeviceActionTypes\";\nimport { type CryptoService } from \"@api/crypto/CryptoService\";\nimport { type KeyPair } from \"@api/crypto/KeyPair\";\nimport {\n LKRPMissingDataError,\n LKRPTrustchainNotReady,\n LKRPUnknownError,\n} from \"@api/model/Errors\";\nimport { type JWT } from \"@api/model/JWT\";\nimport { AuthenticateTask } from \"@internal/app-binder/task/AuthenticateTask\";\nimport { ExtractEncryptionKeyTask } from \"@internal/app-binder/task/ExtractEncryptionKeyTask\";\nimport { SignChallengeWithDeviceTask } from \"@internal/app-binder/task/SignChallengeWithDeviceTask\";\nimport { type LKRPDataSource } from \"@internal/lkrp-datasource/data/LKRPDataSource\";\nimport { eitherSeqRecord } from \"@internal/utils/eitherSeqRecord\";\nimport { type LKRPBlockStream } from \"@internal/utils/LKRPBlockStream\";\nimport { required } from \"@internal/utils/required\";\n\nimport {\n type AuthenticateWithDeviceDAInput,\n type AuthenticateWithDeviceDAInternalState,\n} from \"./models/AuthenticateWithDeviceDeviceActionTypes\";\nimport { raiseAndAssign } from \"./utils/raiseAndAssign\";\nimport { AddToTrustchainDeviceAction } from \"./AddToTrustchainDeviceAction\";\n\nconst APP_NAME = \"Ledger Sync\";\n\nexport class AuthenticateWithDeviceDeviceAction extends XStateDeviceAction<\n AuthenticateDAOutput,\n AuthenticateWithDeviceDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithDeviceDAInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n AuthenticateDAOutput,\n AuthenticateWithDeviceDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithDeviceDAInternalState\n > {\n type types = StateMachineTypes<\n AuthenticateDAOutput,\n AuthenticateWithDeviceDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithDeviceDAInternalState\n >;\n\n const { deviceAuth, getTrustchain, extractEncryptionKey } =\n this.extractDependencies(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n\n actors: {\n openAppStateMachine: new OpenAppDeviceAction({\n input: { appName: APP_NAME },\n }).makeStateMachine(internalApi),\n\n deviceAuth: fromPromise(deviceAuth),\n\n getTrustchain: fromPromise(getTrustchain),\n\n addToTrustchainStateMachine: new AddToTrustchainDeviceAction({\n input: Left(\n new LKRPMissingDataError(\"Missing input for GetEncryptionKey\"),\n ),\n }).makeStateMachine(internalApi),\n\n extractEncryptionKey: fromPromise(extractEncryptionKey),\n },\n\n actions: {\n assignErrorFromEvent: raiseAndAssign(\n ({ event }) =>\n Left(\n new LKRPUnknownError(\n String((event as { error?: unknown }).error),\n ),\n ), // NOTE: it should never happen, the error is not typed anymore here\n ),\n },\n\n guards: {\n isTrustchainMember: ({ context }) =>\n context._internalState\n .toMaybe()\n .map(\n (state) =>\n state.wasAddedToTrustchain ||\n state.trustchain\n ?.getAppStream(context.input.appId)\n .mapOrDefault(\n (stream) =>\n stream.hasMember(\n context.input.keypair.getPublicKeyToHex(),\n ),\n false,\n ),\n )\n .extract() ?? false,\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEECuAXAFmAduglgMYCG6YA6vlgCJgBuRYtDhYyhBA9jgHQDyAB1zIBAgMQRuYHvhx1OAa2mchOEQIDaABgC6iUAM6wq+bvpAAPRAEYAzADYeATgAcAFltuntrdYBMAfYANCAAnogA7G6OttYREU5aWgERyQC+aSFoWLgEJGSUNPSMzIzsXLyCwqJiYABOdZx1PAIANqQAZk0Atjwq1Zq65obGFeZWCNbWAKw80-Z+Xvb2ni5OEdPWIeEI9tN+PC720RtuyU52GVkY2HhEpBRUmKWsL2wcppWq6mKwqISsWCwbR6JAgEYmMxgia2FwRHhaCIuaxaLz7ZbTLTBMKIFwuA7JLTePwJVxRCJXEDZW55B6FZ7FV6M94VfjfGr1Rp1EHDIyQnDjRAOA7WPGYiLHaxOab47Y2GVaHheOKiiVOAIBSnU3L3ApPN5vcqfHiGm4SKQyOSKaQQZnUnlgiFjaGIeZuQ62Py+PxSrQucVyhASxyuNzRRKI3wrLU3HX5R5FFhMO0fbgmu1mzlNFrtdBdOq9W1J+1DR1852gCbTTE8WyuWFReyIhJbHG7CK2OaxPx4tz+bzTGM5O7x+kGlOs01YX7-QHA0sGcufQVB7w8FYk6XS6YRaxuaaB9WKwlraJe+z4txDmm6hMMpOG1O8KeYWoNJoOxejZcuoMJBH2FEdbVlM+5uIGMyxOuixaJi0wOLY0xXpkVKxiOdL6syj6sgA4mA6AACp1KgsDoIQmDELI5o4NIsjyEoPAwIRxGkeRlE4J+4JLlClaIOsLg8I2sE+CqTYuIGLios47jRLCe7rL415xhhiYlBOxp4cxJFkRRVFZs0bSdD0jH4UR2lsbInFOj+vEIOs1jrru+IbBcWJrIGu4OfBdjKtKorWEp6F6qpTLFk+PCaWZrG6TgM4AnA86gl+-Irv4YbQWiGpNmSh4XnMCz7P5vhgYFtLBfealhbhpksTp7FvlyVncQKv5TPiCKwU2iKLIkfgQW4ErOOSThhiiixuC4pW3mOWHqWmADC2CEAoACSsAALJgN0ABG9SwGITXfjxljyhNzj7n48G2J6+J+oe8Q8AE6r7vYTgFR2U2jphD5zbwi1gMta2bTte0HdYSVcUdLW2TMSKCZ4N3TL1SHYjs-h4jwUqgXWCwUih2pBXe45VcayAQBABGcFFdVUZINGWvR0hkxTVO1RZHELpDKWtUcswokhiIyv5tgQV6IoXlEqL+j6TifSpFWhWU4XM5T1Psw12aGXmxkq6z5kxYd3Mw7zgkdnWEQ9k4VthhBUyKvYe62Kk5w+D2cvlcTSusrrasxXFc6GxWJ0ID6r3OH4iFhscZywf1UpKgs1gO2sF51u7ROzSTaY+2zfv6YHNnB6H8KIcS6oW69cIQddnaJ5JhLddG+NoWVGc-VnvAAKIWOgdTEBwnc4IQdShAIFQANJgKE1G0VaDHd73-foIPw+jxPU8F8dEyijW7gSqinhaA44Ftv6tdEk7l37DuH3N8Orcze3XvGgvfcD0PI9j58k-T-pOZGQWHgr8l4r0-uvUIm9obBx3l5GY8wUQOzrNKDyTZMbwIuNKdwb106P0qs-NMwD36ry-twH+-sEqQJXKHJw4dI7RDDEkfY913TrHVDKDwCwr44O+ng1gRoCE9zfsvD+a9v5Tw1tyTm1kt6IGLrWJGnpy5+Ern1NsKIzjriOHvJGfZ1QZBQjgTgtp4BggJg-Hhis+FPl5FDFcABaVsOx5izGPhbUayJYiDjvjeL6IVkwdzZAMGxRtg4DQkuleIRJUTHB6kSbhfjsLGhfMEoOVYUSYxVPMBYPhOoST2EqJ2MphQXlgn4eJCt-H4N4JFXO7EUmFwmBcRwgFRQDQWE2ECh4j4FI2EiDwA0kYBW8cpD2mcqk8H+oDDaW1dp1BMclVJNgHDwmWDHWEb0PDqlyjQrEV8BrrD8E08pnsrHe3JqrWpsh6kyMmPEBypdrpiVcHsauSRoJxDWHYREMxJrDMJrgyxLIX6CJASIkhOAf7XKgdvO58jvAOD9M8g8bZpQEgKt5aIex-THLGac40ABlWcCUoVUNiJ2RYGx5gBD7E2CI91OwW2eohAI1YJo4qfnigh746gkt-AESSj1E5JAri4bs1dPS1l3EifYcJYI7n0WkIAA */\n\n id: \"AuthenticateWithDeviceDeviceAction\",\n context: ({ input }): types[\"context\"] => ({\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: Right({\n trustchainId: null,\n jwt: null,\n trustchain: null,\n encryptionKey: null,\n wasAddedToTrustchain: false,\n }),\n }),\n\n initial: \"OpenApp\",\n states: {\n OpenApp: {\n on: { success: \"DeviceAuth\", error: \"Error\" },\n invoke: {\n id: \"openApp\",\n src: \"openAppStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: ({ event }) => ({\n step: AuthenticateDAStep.OpenApp,\n ...event.snapshot.context.intermediateValue,\n }),\n }),\n },\n input: { appName: APP_NAME },\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map(() => ({ raise: \"success\" })),\n ),\n },\n },\n },\n\n DeviceAuth: {\n entry: assign({\n intermediateValue: {\n step: AuthenticateDAStep.Authenticate,\n requiredUserInteraction: AuthenticateDAState.Authenticate,\n },\n }),\n on: { success: \"GetTrustchain\", error: \"Error\" },\n invoke: {\n id: \"deviceAuth\",\n src: \"deviceAuth\",\n input: ({ context }) => context.input,\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.chain((payload) =>\n payload.trustchainId.caseOf({\n Nothing: () => Left(new LKRPTrustchainNotReady()),\n Just: (trustchainId) =>\n Right({\n raise: \"success\",\n assign: { jwt: payload.jwt, trustchainId },\n }),\n }),\n ),\n ),\n },\n },\n },\n\n GetTrustchain: {\n entry: assign({\n intermediateValue: {\n step: AuthenticateDAStep.GetTrustchain,\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n on: { success: \"CheckIsMembers\", error: \"Error\" },\n invoke: {\n id: \"getTrustchain\",\n src: \"getTrustchain\",\n input: ({ context }) =>\n context._internalState.chain((state) =>\n eitherSeqRecord({\n lkrpDataSource: context.input.lkrpDataSource,\n trustchainId: () =>\n required(\n state.trustchainId,\n \"Missing Trustchain ID for GetTrustchain\",\n ),\n jwt: () =>\n required(state.jwt, \"Missing JWT for GetTrustchain\"),\n }),\n ),\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map((trustchain) => ({\n raise: \"success\",\n assign: { trustchain },\n })),\n ),\n },\n },\n },\n\n CheckIsMembers: {\n always: [\n { target: \"ExtractEncryptionKey\", guard: \"isTrustchainMember\" },\n { target: \"AddToTrustchain\" },\n ],\n },\n\n AddToTrustchain: {\n on: {\n success: \"GetTrustchain\",\n error: \"Error\",\n },\n invoke: {\n id: \"AddToTrustchain\",\n src: \"addToTrustchainStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: ({ event }) =>\n event.snapshot.context.intermediateValue,\n }),\n },\n input: ({ context }) =>\n context._internalState\n .mapLeft(\n () =>\n new LKRPMissingDataError(\n \"Missing data in the input for AddToTrustchain\",\n ),\n )\n .chain((state) =>\n eitherSeqRecord({\n lkrpDataSource: context.input.lkrpDataSource,\n cryptoService: context.input.cryptoService,\n keypair: context.input.keypair,\n clientName: context.input.clientName,\n permissions: context.input.permissions,\n jwt: () =>\n required(state.jwt, \"Missing JWT for AddToTrustchain\"),\n appId: context.input.appId,\n trustchain: () =>\n required(\n state.trustchain,\n \"Missing Trustchain for AddToTrustchain\",\n ),\n }),\n ),\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map(() => ({\n raise: \"success\",\n assign: { wasAddedToTrustchain: true },\n })),\n ),\n },\n },\n },\n\n ExtractEncryptionKey: {\n entry: assign({\n intermediateValue: {\n step: AuthenticateDAStep.ExtractEncryptionKey,\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n on: { success: \"Success\", error: \"Error\" },\n invoke: {\n id: \"ExtractEncryptionKey\",\n src: \"extractEncryptionKey\",\n input: ({ context }) => ({\n cryptoService: context.input.cryptoService,\n keypair: context.input.keypair,\n stream: context._internalState.chain(({ trustchain }) =>\n required(\n trustchain?.getAppStream(context.input.appId).extract(),\n \"Missing application stream for ExtractEncryptionKey\",\n ),\n ),\n }),\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map((encryptionKey) => ({\n raise: \"success\",\n assign: { encryptionKey },\n })),\n ),\n },\n },\n },\n\n Success: { type: \"final\" },\n\n Error: { type: \"final\" },\n },\n\n output: ({ context }) =>\n context._internalState.chain((state) =>\n eitherSeqRecord({\n trustchainId: () =>\n required(\n state.trustchainId,\n \"Missing Trustchain ID in the output\",\n ),\n jwt: () => required(state.jwt, \"Missing JWT in the output\"),\n applicationPath: () =>\n required(\n state.trustchain\n ?.getAppStream(context.input.appId)\n .chain((stream) => stream.getPath())\n .extract(),\n \"Missing application path in the output\",\n ),\n encryptionKey: () =>\n required(\n state.encryptionKey,\n \"Missing encryption key in the output\",\n ),\n }),\n ),\n });\n }\n\n extractDependencies(internalApi: InternalApi) {\n const authentication = new AuthenticateTask();\n const encryptionKeyExtraction = new ExtractEncryptionKeyTask();\n\n return {\n deviceAuth: ({ input }: { input: AuthenticateWithDeviceDAInput }) =>\n authentication.run(\n input.lkrpDataSource,\n new SignChallengeWithDeviceTask(internalApi),\n ),\n\n getTrustchain: (args: {\n input: Either<\n AuthenticateDAError,\n {\n lkrpDataSource: LKRPDataSource;\n trustchainId: string;\n jwt: JWT;\n }\n >;\n }) =>\n EitherAsync.liftEither(args.input)\n .chain(({ lkrpDataSource, trustchainId, jwt }) =>\n lkrpDataSource.getTrustchainById(trustchainId, jwt),\n )\n .run(),\n\n extractEncryptionKey: async ({\n input,\n }: {\n input: {\n cryptoService: CryptoService;\n keypair: KeyPair;\n stream: Either<AuthenticateDAError, LKRPBlockStream>;\n };\n }) =>\n EitherAsync.liftEither(input.stream).chain((stream) =>\n encryptionKeyExtraction.run(\n input.cryptoService,\n input.keypair,\n stream,\n ),\n ),\n };\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["OpenAppDeviceAction", "UserInteractionRequired", "XStateDeviceAction", "EitherAsync", "Left", "Right", "assign", "fromPromise", "setup", "AuthenticateDAState", "AuthenticateDAStep", "LKRPMissingDataError", "LKRPTrustchainNotReady", "LKRPUnknownError", "AuthenticateTask", "ExtractEncryptionKeyTask", "SignChallengeWithDeviceTask", "eitherSeqRecord", "required", "raiseAndAssign", "AddToTrustchainDeviceAction", "APP_NAME", "AuthenticateWithDeviceDeviceAction", "internalApi", "deviceAuth", "getTrustchain", "extractEncryptionKey", "event", "context", "state", "stream", "input", "payload", "trustchainId", "trustchain", "encryptionKey", "authentication", "encryptionKeyExtraction", "args", "lkrpDataSource", "jwt"]
7
- }
@@ -1,2 +0,0 @@
1
- import{UserInteractionRequired as c,XStateDeviceAction as A}from"@ledgerhq/device-management-kit";import{EitherAsync as y,Left as m,Right as E}from"purify-ts";import{assign as p,fromPromise as s,setup as D}from"xstate";import{AuthenticateDAStep as h}from"../../../api/app-binder/AuthenticateDeviceActionTypes";import{LKRPDataSourceError as l,LKRPUnauthorizedError as S,LKRPUnknownError as K}from"../../../api/model/Errors";import{AuthenticateTask as d}from"../../app-binder/task/AuthenticateTask";import{ExtractEncryptionKeyTask as I}from"../../app-binder/task/ExtractEncryptionKeyTask";import{SignChallengeWithKeypairTask as g}from"../../app-binder/task/SignChallengeWithKeypairTask";import{eitherSeqRecord as k}from"../../utils/eitherSeqRecord";import{required as a}from"../../utils/required";import{raiseAndAssign as o}from"./utils/raiseAndAssign";class q extends A{execute(){const n=this.makeStateMachine();return this._subscribeToStateMachine(n)}makeStateMachine(){const{keypairAuth:n,getTrustchain:u,extractEncryptionKey:e}=this.extractDependencies();return D({types:{input:{},context:{},output:{}},actors:{keypairAuth:s(n),getTrustchain:s(u),extractEncryptionKey:s(e)},actions:{assignErrorFromEvent:o(({event:t})=>m(new K(String(t.error))))}}).createMachine({id:"AuthenticateWithKeypairDeviceAction",context:({input:t})=>({input:t,intermediateValue:{requiredUserInteraction:c.None},_internalState:E({jwt:null,trustchain:null,encryptionKey:null})}),initial:"KeypairAuth",states:{KeypairAuth:{entry:p({intermediateValue:{requiredUserInteraction:c.None,step:h.Authenticate}}),on:{success:"GetTrustchain",error:"Error"},invoke:{id:"keypairAuth",src:"keypairAuth",input:({context:t})=>t.input,onError:{actions:"assignErrorFromEvent"},onDone:{actions:o(({context:t,event:r})=>r.output.map(({jwt:i})=>({raise:"success",assign:{jwt:i}})).mapLeft(i=>i instanceof l&&i.status==="UNAUTHORIZED"?new S(t.input.trustchainId):i))}}},GetTrustchain:{entry:p({intermediateValue:{requiredUserInteraction:c.None,step:h.GetTrustchain}}),on:{success:"ExtractEncryptionKey",error:"Error"},invoke:{id:"getTrustchain",src:"getTrustchain",input:({context:t})=>({lkrpDataSource:t.input.lkrpDataSource,trustchainId:t.input.trustchainId,jwt:t._internalState.chain(({jwt:r})=>a(r,"Missing JWT for GetTrustchain"))}),onError:{actions:"assignErrorFromEvent"},onDone:{actions:o(({event:t})=>t.output.map(r=>({raise:"success",assign:{trustchain:r}})))}}},ExtractEncryptionKey:{entry:p({intermediateValue:{requiredUserInteraction:c.None,step:h.ExtractEncryptionKey}}),on:{success:"Success",error:"Error"},invoke:{id:"ExtractEncryptionKey",src:"extractEncryptionKey",input:({context:t})=>({cryptoService:t.input.cryptoService,keypair:t.input.keypair,stream:t._internalState.chain(({trustchain:r})=>a(r?.getAppStream(t.input.appId).extract(),"Missing application stream for ExtractEncryptionKey"))}),onError:{actions:"assignErrorFromEvent"},onDone:{actions:o(({event:t})=>t.output.map(r=>({raise:"success",assign:{encryptionKey:r}})))}}},Success:{type:"final"},Error:{type:"final"}},output:({context:t})=>t._internalState.chain(r=>k({trustchainId:t.input.trustchainId,jwt:()=>a(r.jwt,"Missing JWT in the output"),applicationPath:()=>a(r.trustchain?.getAppStream(t.input.appId).chain(i=>i.getPath()).extract(),"Missing application path in the output"),encryptionKey:()=>a(r.encryptionKey,"Missing encryption key in the output")}))})}extractDependencies(){const n=new d,u=new I;return{keypairAuth:({input:e})=>n.run(e.lkrpDataSource,new g(e.cryptoService,e.keypair,e.trustchainId)),getTrustchain:({input:e})=>y.liftEither(e.jwt).chain(t=>e.lkrpDataSource.getTrustchainById(e.trustchainId,t)).run(),extractEncryptionKey:async({input:e})=>y.liftEither(e.stream).chain(t=>u.run(e.cryptoService,e.keypair,t))}}}export{q as AuthenticateWithKeypairDeviceAction};
2
- //# sourceMappingURL=AuthenticateWithKeypairDeviceAction.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/app-binder/device-action/AuthenticateWithKeypairDeviceAction.ts"],
4
- "sourcesContent": ["import {\n type DeviceActionStateMachine,\n type ExecuteDeviceActionReturnType,\n type StateMachineTypes,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, EitherAsync, Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport {\n type AuthenticateDAError,\n type AuthenticateDAIntermediateValue,\n type AuthenticateDAOutput,\n AuthenticateDAStep,\n} from \"@api/app-binder/AuthenticateDeviceActionTypes\";\nimport { type CryptoService } from \"@api/crypto/CryptoService\";\nimport { type KeyPair } from \"@api/crypto/KeyPair\";\nimport {\n LKRPDataSourceError,\n LKRPUnauthorizedError,\n LKRPUnknownError,\n} from \"@api/model/Errors\";\nimport { type JWT } from \"@api/model/JWT\";\nimport { AuthenticateTask } from \"@internal/app-binder/task/AuthenticateTask\";\nimport { ExtractEncryptionKeyTask } from \"@internal/app-binder/task/ExtractEncryptionKeyTask\";\nimport { SignChallengeWithKeypairTask } from \"@internal/app-binder/task/SignChallengeWithKeypairTask\";\nimport { type LKRPDataSource } from \"@internal/lkrp-datasource/data/LKRPDataSource\";\nimport { eitherSeqRecord } from \"@internal/utils/eitherSeqRecord\";\nimport { type LKRPBlockStream } from \"@internal/utils/LKRPBlockStream\";\nimport { required } from \"@internal/utils/required\";\n\nimport {\n type AuthenticateWithKeypairDAInput,\n type AuthenticateWithKeypairDAInternalState,\n} from \"./models/AuthenticateWithKeypairDeviceActionTypes\";\nimport { raiseAndAssign } from \"./utils/raiseAndAssign\";\n\nexport class AuthenticateWithKeypairDeviceAction extends XStateDeviceAction<\n AuthenticateDAOutput,\n AuthenticateWithKeypairDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithKeypairDAInternalState\n> {\n execute(): ExecuteDeviceActionReturnType<\n AuthenticateDAOutput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue\n > {\n const stateMachine = this.makeStateMachine();\n return this._subscribeToStateMachine(stateMachine);\n }\n\n makeStateMachine(): DeviceActionStateMachine<\n AuthenticateDAOutput,\n AuthenticateWithKeypairDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithKeypairDAInternalState\n > {\n type types = StateMachineTypes<\n AuthenticateDAOutput,\n AuthenticateWithKeypairDAInput,\n AuthenticateDAError,\n AuthenticateDAIntermediateValue,\n AuthenticateWithKeypairDAInternalState\n >;\n\n const { keypairAuth, getTrustchain, extractEncryptionKey } =\n this.extractDependencies();\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n\n actors: {\n keypairAuth: fromPromise(keypairAuth),\n getTrustchain: fromPromise(getTrustchain),\n extractEncryptionKey: fromPromise(extractEncryptionKey),\n },\n\n actions: {\n assignErrorFromEvent: raiseAndAssign(\n ({ event }) =>\n Left(\n new LKRPUnknownError(\n String((event as { error?: unknown }).error),\n ),\n ), // NOTE: it should never happen, the error is not typed anymore here\n ),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEECuAXAFmAduglgMYCG6YA6vlgNJgCeADsfgE4AiYAbkWMoQQHscAOlqNmLNFgDEEIWGH4cnAQGsF68aymYA2gAYAuolAMBsKviEmQAD0QBGfQFZhADgDMAdgBMXh24AbG7Ozl4ePgA0IHSOnsI+PoEuzg4ALACcGT4BAL650Tq4BCRklDT0TKwc3IS8-FYiYlWSGJjSYCwsAizCDAA2pABmPQC2wpotOgbGSCBmFoI4NvYI2cLJbj4eAZnpgWlRMYhBwofByV6BHmke2V75hW3FRKQUVJjNEjU8fEuilQkOmksFQhDqsFgMxsC0s1jmqxubg2IT8XmcGQxaQcDkC0ViCA8+g8wgcXi89y8+jcGWCPjSjxARTwrzKHy+1S4vwaQgBWlaMk63RY0LmsKWK0QSJRzjRGKxOLxxwQgVxwkxGSJaWcHhuHmcDIKTOeLNK7wq-J+dT+jWEAHEwOgACosVCwdCETDMHCyeSKZRqBQwZ2u92e72i0zmOHLBGIA36YTeDG0hx+BzOQJHAm7YQuTVZfTorxpTJuRnMkpvcqfQGc2r1f4OkNuj1epQdLo9PqDdAjFjjYMu1vhpSR+bRiVxhA6kn6HEZ0vOfQXfEnLwJZI+fRpYLZLPaismqtsi0tK2N23N4dh9s+0HguBQowwyeNSUINz6RPhTXakJpG4JZroSO55jiSROIcRIZkeWAvGaNYcuwXLWjyIjXqGbbep2wrjuK77Tl+P53DczgAUBaQgZkrjYiEZLXJikFwdgprVuydYoQ2Nq8gAorY6AsMQ-C8TghAsIwSxiL6OAKEoKjqMI-GCcJ6CieJkmNGI+FvvCoCrE4TjCKEGSZNutKeJ4IFksiPhZIksqpIqO4sQh7Fnt8qGXnxAlCSJYkSQwUn0Lh3YDMMYxKb5qnqYFwV0DpiyEfpjjzg4CQGjStypG4pZeCBbjpcu35EkEu66rKrlsaetaWl5PEiMpflqQFmlCNJD4Qs+sxRklel2I4uoZBlATeHZma6iBWruEupnJtcgEPEalasuatXnvV6FRSp-kaUFWkhUKPSJTGH4OENI2eL4mLXB4U2ZuqkHBLiZH6s4+RGjgAgQHANgrYhHF1dx6Gvn1sYpQgAC0DggZDrhZAjiNIx4VUnmtyEXg1fJTG0oOndOaT5cqPghHmPiyjRHgHDuKPLceq1IZxmNbZhI53njU4Q4TrjomSVymdi5UgSTrghCEf5Zok6K0088HVejTObf8TUxa1+3tfQHPJQNax+O4Li5bKxJFtkwtfnmGS5Q4tLJpbYSowzgMbcD-wAMpgl1Wv9QZu6BEmo1UwcHiWdmUpgTTOS0vompkjLxpy2jjNA9yytdiwXvgzr+x+zsniB7cIfUaZGxkmSu7LoEXhfkt+RAA */\n\n id: \"AuthenticateWithKeypairDeviceAction\",\n context: ({ input }): types[\"context\"] => ({\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: Right({\n jwt: null,\n trustchain: null,\n encryptionKey: null,\n }),\n }),\n\n initial: \"KeypairAuth\",\n states: {\n KeypairAuth: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: AuthenticateDAStep.Authenticate,\n },\n }),\n on: { success: \"GetTrustchain\", error: \"Error\" },\n invoke: {\n id: \"keypairAuth\",\n src: \"keypairAuth\",\n input: ({ context }) => context.input,\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ context, event }) =>\n event.output\n .map(({ jwt }) => ({ raise: \"success\", assign: { jwt } }))\n .mapLeft((error) =>\n error instanceof LKRPDataSourceError &&\n error.status === \"UNAUTHORIZED\"\n ? new LKRPUnauthorizedError(context.input.trustchainId)\n : error,\n ),\n ),\n },\n },\n },\n\n GetTrustchain: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: AuthenticateDAStep.GetTrustchain,\n },\n }),\n on: { success: \"ExtractEncryptionKey\", error: \"Error\" },\n invoke: {\n id: \"getTrustchain\",\n src: \"getTrustchain\",\n input: ({ context }) => ({\n lkrpDataSource: context.input.lkrpDataSource,\n trustchainId: context.input.trustchainId,\n jwt: context._internalState.chain(({ jwt }) =>\n required(jwt, \"Missing JWT for GetTrustchain\"),\n ),\n }),\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map((trustchain) => ({\n raise: \"success\",\n assign: { trustchain },\n })),\n ),\n },\n },\n },\n\n ExtractEncryptionKey: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: AuthenticateDAStep.ExtractEncryptionKey,\n },\n }),\n on: { success: \"Success\", error: \"Error\" },\n invoke: {\n id: \"ExtractEncryptionKey\",\n src: \"extractEncryptionKey\",\n input: ({ context }) => ({\n cryptoService: context.input.cryptoService,\n keypair: context.input.keypair,\n stream: context._internalState.chain(({ trustchain }) =>\n required(\n trustchain?.getAppStream(context.input.appId).extract(),\n \"Missing application stream for ExtractEncryptionKey\",\n ),\n ),\n }),\n onError: { actions: \"assignErrorFromEvent\" },\n onDone: {\n actions: raiseAndAssign(({ event }) =>\n event.output.map((encryptionKey) => ({\n raise: \"success\",\n assign: { encryptionKey },\n })),\n ),\n },\n },\n },\n\n Success: { type: \"final\" },\n\n Error: { type: \"final\" },\n },\n\n output: ({ context }) =>\n context._internalState.chain((state) =>\n eitherSeqRecord({\n trustchainId: context.input.trustchainId,\n jwt: () => required(state.jwt, \"Missing JWT in the output\"),\n applicationPath: () =>\n required(\n state.trustchain\n ?.getAppStream(context.input.appId)\n .chain((stream) => stream.getPath())\n .extract(),\n \"Missing application path in the output\",\n ),\n encryptionKey: () =>\n required(\n state.encryptionKey,\n \"Missing encryption key in the output\",\n ),\n }),\n ),\n });\n }\n\n extractDependencies() {\n const authentication = new AuthenticateTask();\n const encryptionKeyExtraction = new ExtractEncryptionKeyTask();\n\n return {\n keypairAuth: ({ input }: { input: AuthenticateWithKeypairDAInput }) =>\n authentication.run(\n input.lkrpDataSource,\n new SignChallengeWithKeypairTask(\n input.cryptoService,\n input.keypair,\n input.trustchainId,\n ),\n ),\n\n getTrustchain: ({\n input,\n }: {\n input: {\n lkrpDataSource: LKRPDataSource;\n trustchainId: string;\n jwt: Either<AuthenticateDAError, JWT>;\n };\n }) =>\n EitherAsync.liftEither(input.jwt)\n .chain((jwt) =>\n input.lkrpDataSource.getTrustchainById(input.trustchainId, jwt),\n )\n .run(),\n\n extractEncryptionKey: async ({\n input,\n }: {\n input: {\n cryptoService: CryptoService;\n keypair: KeyPair;\n stream: Either<AuthenticateDAError, LKRPBlockStream>;\n };\n }) =>\n EitherAsync.liftEither(input.stream).chain((stream) =>\n encryptionKeyExtraction.run(\n input.cryptoService,\n input.keypair,\n stream,\n ),\n ),\n };\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["UserInteractionRequired", "XStateDeviceAction", "EitherAsync", "Left", "Right", "assign", "fromPromise", "setup", "AuthenticateDAStep", "LKRPDataSourceError", "LKRPUnauthorizedError", "LKRPUnknownError", "AuthenticateTask", "ExtractEncryptionKeyTask", "SignChallengeWithKeypairTask", "eitherSeqRecord", "required", "raiseAndAssign", "AuthenticateWithKeypairDeviceAction", "stateMachine", "keypairAuth", "getTrustchain", "extractEncryptionKey", "event", "input", "context", "jwt", "error", "trustchain", "encryptionKey", "state", "stream", "authentication", "encryptionKeyExtraction"]
7
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=AuthenticateWithDeviceDeviceActionTypes.js.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=AuthenticateWithKeypairDeviceActionTypes.js.map
@@ -1,2 +0,0 @@
1
- class a{run(e,r){return e.getChallenge().chain(t=>r.run(t)).chain(t=>e.authenticate(t)).run()}}export{a as AuthenticateTask};
2
- //# sourceMappingURL=AuthenticateTask.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/app-binder/task/AuthenticateTask.ts"],
4
- "sourcesContent": ["import { type Either } from \"purify-ts\";\n\nimport { type AuthenticateDAError } from \"@api/index\";\nimport {\n type AuthenticationPayload,\n type AuthenticationResponse,\n type Challenge,\n type LKRPDataSource,\n} from \"@internal/lkrp-datasource/data/LKRPDataSource\";\n\nexport class AuthenticateTask {\n run(\n lkrpDataSource: LKRPDataSource,\n signerTask: {\n run: (\n challenge: Challenge,\n ) => PromiseLike<Either<AuthenticateDAError, AuthenticationPayload>>;\n },\n ): Promise<Either<AuthenticateDAError, AuthenticationResponse>> {\n return lkrpDataSource\n .getChallenge()\n .chain((challenge) => signerTask.run(challenge))\n .chain((payload) => lkrpDataSource.authenticate(payload))\n .run();\n }\n}\n"],
5
- "mappings": "AAUO,MAAMA,CAAiB,CAC5B,IACEC,EACAC,EAK8D,CAC9D,OAAOD,EACJ,aAAa,EACb,MAAOE,GAAcD,EAAW,IAAIC,CAAS,CAAC,EAC9C,MAAOC,GAAYH,EAAe,aAAaG,CAAO,CAAC,EACvD,IAAI,CACT,CACF",
6
- "names": ["AuthenticateTask", "lkrpDataSource", "signerTask", "challenge", "payload"]
7
- }
@@ -1,2 +0,0 @@
1
- import{LKRPUnknownError as i}from"../../../api/model/Errors";class n{async run(r,e,t){return(await t.getPublishedKey(r,e)).map(o=>o.privateKey).toEither(new i("There is no encryption key for the current member in the application stream."))}}export{n as ExtractEncryptionKeyTask};
2
- //# sourceMappingURL=ExtractEncryptionKeyTask.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/app-binder/task/ExtractEncryptionKeyTask.ts"],
4
- "sourcesContent": ["import { type CryptoService } from \"@api/crypto/CryptoService\";\nimport { type KeyPair } from \"@api/crypto/KeyPair\";\nimport { LKRPUnknownError } from \"@api/model/Errors\";\nimport { type LKRPBlockStream } from \"@internal/utils/LKRPBlockStream\";\n\nexport class ExtractEncryptionKeyTask {\n async run(\n cryptoService: CryptoService,\n keypair: KeyPair,\n stream: LKRPBlockStream,\n ) {\n // TODO additional derivations should be supported:\n // https://github.com/LedgerHQ/ledger-live/blob/develop/libs/hw-ledger-key-ring-protocol/src/Device.ts#L216...L226\n // Probably not needed for Ledger Sync\n return (await stream.getPublishedKey(cryptoService, keypair))\n .map((key) => key.privateKey)\n .toEither(\n new LKRPUnknownError(\n \"There is no encryption key for the current member in the application stream.\",\n ),\n );\n }\n}\n"],
5
- "mappings": "AAEA,OAAS,oBAAAA,MAAwB,oBAG1B,MAAMC,CAAyB,CACpC,MAAM,IACJC,EACAC,EACAC,EACA,CAIA,OAAQ,MAAMA,EAAO,gBAAgBF,EAAeC,CAAO,GACxD,IAAKE,GAAQA,EAAI,UAAU,EAC3B,SACC,IAAIL,EACF,8EACF,CACF,CACJ,CACF",
6
- "names": ["LKRPUnknownError", "ExtractEncryptionKeyTask", "cryptoService", "keypair", "stream", "key"]
7
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=LKRPBlockTypes.js.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=LKRPCommandTypes.js.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Types.js.map
@@ -1,2 +0,0 @@
1
- var S=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=(c,i,n,e)=>{for(var r=e>1?void 0:e?f(i,n):i,t=c.length-1,o;t>=0;t--)(o=c[t])&&(r=(e?o(i,n,r):o(r))||r);return e&&r&&S(i,n,r),r},p=(c,i)=>(n,e)=>i(n,e,c);import{ByteArrayParser as u}from"@ledgerhq/device-management-kit";import{inject as x,injectable as A}from"inversify";import{Maybe as w}from"purify-ts";import{Curve as K,EncryptionAlgo as L,HashAlgo as B}from"../../../api/crypto/CryptoService";import{LKRPParsingError as m}from"../../../api/model/Errors";import{externalTypes as P}from"../../externalTypes";import{eitherSeqRecord as U}from"../../utils/eitherSeqRecord";let a=class{constructor(i){this.cryptoService=i}async execute(i,n){const e=new u(n);if(e.extract8BitUInt()!==0)throw new m("Unsupported serialization version");const r=(t,o)=>w.fromNullable(t).toEither(new m(`Missing ${o} field`));return U({ephemeralPublicKey:()=>r(e.extractFieldByLength(33),"ephemeral public key"),iv:()=>r(e.extractFieldByLength(16),"IV"),tag:()=>r(e.extractFieldByLength(16),"tag"),encryptedData:()=>r(e.extractFieldByLength(e.getUnparsedRemainingLength()),"encrypted data")}).map(async({ephemeralPublicKey:t,iv:o,tag:s,encryptedData:l})=>{const h=await this.cryptoService.importKeyPair(i,K.K256).deriveSharedSecret(t),d=this.cryptoService.hmac(new Uint8Array,h.slice(1),B.SHA256),g=this.cryptoService.importSymmetricKey(d,L.AES256_GCM),v=new Uint8Array([...l,...s]);return await g.decrypt(o,v)}).caseOf({Left:t=>{throw t},Right:t=>t})}};a=y([A(),p(0,x(P.CryptoService))],a);export{a as DecryptDataUseCase};
2
- //# sourceMappingURL=DecryptDataUseCase.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/use-cases/authentication/DecryptDataUseCase.ts"],
4
- "sourcesContent": ["import { ByteArrayParser } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type CryptoService,\n Curve,\n EncryptionAlgo,\n HashAlgo,\n} from \"@api/crypto/CryptoService\";\nimport { LKRPParsingError } from \"@api/model/Errors\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { eitherSeqRecord } from \"@internal/utils/eitherSeqRecord\";\n\n@injectable()\nexport class DecryptDataUseCase {\n constructor(\n @inject(externalTypes.CryptoService)\n private cryptoService: CryptoService,\n ) {}\n\n // TODO better return type instead of throw on errors\n async execute(\n encryptionKey: Uint8Array,\n data: Uint8Array,\n ): Promise<Uint8Array> {\n const parser = new ByteArrayParser(data);\n if (parser.extract8BitUInt() !== 0) {\n throw new LKRPParsingError(\"Unsupported serialization version\");\n }\n const required = (value: Uint8Array | undefined, field: string) =>\n Maybe.fromNullable(value).toEither(\n new LKRPParsingError(`Missing ${field} field`),\n );\n\n return eitherSeqRecord({\n ephemeralPublicKey: () =>\n required(parser.extractFieldByLength(33), \"ephemeral public key\"),\n iv: () => required(parser.extractFieldByLength(16), \"IV\"),\n tag: () => required(parser.extractFieldByLength(16), \"tag\"),\n encryptedData: () =>\n required(\n parser.extractFieldByLength(parser.getUnparsedRemainingLength()),\n \"encrypted data\",\n ),\n })\n .map(async ({ ephemeralPublicKey, iv, tag, encryptedData }) => {\n // Derive the shared secret using ECDH with an ephemeral keypair\n const privateKey = this.cryptoService.importKeyPair(\n encryptionKey,\n Curve.K256,\n );\n const sharedSecret =\n await privateKey.deriveSharedSecret(ephemeralPublicKey);\n\n // Key derivation using HMAC-SHA256\n const key = this.cryptoService.hmac(\n new Uint8Array(),\n sharedSecret.slice(1),\n HashAlgo.SHA256,\n );\n\n // Decrypt the data\n const symmetricKey = this.cryptoService.importSymmetricKey(\n key,\n EncryptionAlgo.AES256_GCM,\n );\n const ciphertext = new Uint8Array([...encryptedData, ...tag]);\n const cleartext = await symmetricKey.decrypt(iv, ciphertext);\n return cleartext;\n })\n .caseOf({\n Left: (error) => {\n throw error;\n },\n Right: (cleartext) => cleartext,\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,mBAAAA,MAAuB,kCAChC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,SAAAC,MAAa,YAEtB,OAEE,SAAAC,EACA,kBAAAC,EACA,YAAAC,MACK,4BACP,OAAS,oBAAAC,MAAwB,oBACjC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,mBAAAC,MAAuB,kCAGzB,IAAMC,EAAN,KAAyB,CAC9B,YAEUC,EACR,CADQ,mBAAAA,CACP,CAGH,MAAM,QACJC,EACAC,EACqB,CACrB,MAAMC,EAAS,IAAIC,EAAgBF,CAAI,EACvC,GAAIC,EAAO,gBAAgB,IAAM,EAC/B,MAAM,IAAIE,EAAiB,mCAAmC,EAEhE,MAAMC,EAAW,CAACC,EAA+BC,IAC/CC,EAAM,aAAaF,CAAK,EAAE,SACxB,IAAIF,EAAiB,WAAWG,CAAK,QAAQ,CAC/C,EAEF,OAAOE,EAAgB,CACrB,mBAAoB,IAClBJ,EAASH,EAAO,qBAAqB,EAAE,EAAG,sBAAsB,EAClE,GAAI,IAAMG,EAASH,EAAO,qBAAqB,EAAE,EAAG,IAAI,EACxD,IAAK,IAAMG,EAASH,EAAO,qBAAqB,EAAE,EAAG,KAAK,EAC1D,cAAe,IACbG,EACEH,EAAO,qBAAqBA,EAAO,2BAA2B,CAAC,EAC/D,gBACF,CACJ,CAAC,EACE,IAAI,MAAO,CAAE,mBAAAQ,EAAoB,GAAAC,EAAI,IAAAC,EAAK,cAAAC,CAAc,IAAM,CAM7D,MAAMC,EACJ,MALiB,KAAK,cAAc,cACpCd,EACAe,EAAM,IACR,EAEmB,mBAAmBL,CAAkB,EAGlDM,EAAM,KAAK,cAAc,KAC7B,IAAI,WACJF,EAAa,MAAM,CAAC,EACpBG,EAAS,MACX,EAGMC,EAAe,KAAK,cAAc,mBACtCF,EACAG,EAAe,UACjB,EACMC,EAAa,IAAI,WAAW,CAAC,GAAGP,EAAe,GAAGD,CAAG,CAAC,EAE5D,OADkB,MAAMM,EAAa,QAAQP,EAAIS,CAAU,CAE7D,CAAC,EACA,OAAO,CACN,KAAOC,GAAU,CACf,MAAMA,CACR,EACA,MAAQC,GAAcA,CACxB,CAAC,CACL,CACF,EA/DaxB,EAANyB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,aAAa,IAF1B7B",
6
- "names": ["ByteArrayParser", "inject", "injectable", "Maybe", "Curve", "EncryptionAlgo", "HashAlgo", "LKRPParsingError", "externalTypes", "eitherSeqRecord", "DecryptDataUseCase", "cryptoService", "encryptionKey", "data", "parser", "ByteArrayParser", "LKRPParsingError", "required", "value", "field", "Maybe", "eitherSeqRecord", "ephemeralPublicKey", "iv", "tag", "encryptedData", "sharedSecret", "Curve", "key", "HashAlgo", "symmetricKey", "EncryptionAlgo", "ciphertext", "error", "cleartext", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes"]
7
- }
@@ -1,2 +0,0 @@
1
- var f=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var m=(o,e,i,t)=>{for(var r=t>1?void 0:t?K(e,i):e,c=o.length-1,a;c>=0;c--)(a=o[c])&&(r=(t?a(e,i,r):a(r))||r);return t&&r&&f(e,i,r),r},s=(o,e)=>(i,t)=>e(i,t,o);import{ByteArrayBuilder as h}from"@ledgerhq/device-management-kit";import{inject as l,injectable as A}from"inversify";import{Curve as d,EncryptionAlgo as B,HashAlgo as b}from"../../../api/crypto/CryptoService";import{AES256_BLOCK_SIZE as S}from"../../../api/crypto/Key";import{externalTypes as T}from"../../externalTypes";let y=class{constructor(e){this.cryptoService=e}async execute(e,i){const t=this.cryptoService.importKeyPair(e,d.K256),r=await this.cryptoService.createKeyPair(d.K256),c=await t.deriveSharedSecret(r.getPublicKey()),a=this.cryptoService.hmac(new Uint8Array,c.slice(1),b.SHA256),n=this.cryptoService.randomBytes(16),p=await this.cryptoService.importSymmetricKey(a,B.AES256_GCM).encrypt(n,i),u=p.subarray(0,-S),v=p.subarray(-S);return new h().add8BitUIntToData(0).addBufferToData(r.getPublicKey()).addBufferToData(n).addBufferToData(v).addBufferToData(u).build()}};y=m([A(),s(0,l(T.CryptoService))],y);export{y as EncryptDataUseCase};
2
- //# sourceMappingURL=EncryptDataUseCase.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/use-cases/authentication/EncryptDataUseCase.ts"],
4
- "sourcesContent": ["import { ByteArrayBuilder } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n type CryptoService,\n Curve,\n EncryptionAlgo,\n HashAlgo,\n} from \"@api/crypto/CryptoService\";\nimport { AES256_BLOCK_SIZE } from \"@api/crypto/Key\";\nimport { externalTypes } from \"@internal/externalTypes\";\n\n@injectable()\nexport class EncryptDataUseCase {\n constructor(\n @inject(externalTypes.CryptoService)\n private cryptoService: CryptoService,\n ) {}\n\n async execute(\n encryptionKey: Uint8Array,\n data: Uint8Array,\n ): Promise<Uint8Array> {\n // Derive the shared secret using ECDH with an ephemeral keypair\n const privateKey = this.cryptoService.importKeyPair(\n encryptionKey,\n Curve.K256,\n );\n const ephemeralKeypair = await this.cryptoService.createKeyPair(Curve.K256);\n const sharedSecret = await privateKey.deriveSharedSecret(\n ephemeralKeypair.getPublicKey(),\n );\n\n // Key derivation using HMAC-SHA256\n const key = this.cryptoService.hmac(\n new Uint8Array(),\n sharedSecret.slice(1),\n HashAlgo.SHA256,\n );\n\n // Generate a random IV (nonce)\n const iv = this.cryptoService.randomBytes(16);\n\n // Encrypt data\n const symmetricKey = this.cryptoService.importSymmetricKey(\n key,\n EncryptionAlgo.AES256_GCM,\n );\n const ciphertext = await symmetricKey.encrypt(iv, data);\n const encryptedData = ciphertext.subarray(0, -AES256_BLOCK_SIZE);\n const tag = ciphertext.subarray(-AES256_BLOCK_SIZE);\n\n // Serialize the result\n return new ByteArrayBuilder()\n .add8BitUIntToData(0) // Version of the format\n .addBufferToData(ephemeralKeypair.getPublicKey())\n .addBufferToData(iv)\n .addBufferToData(tag)\n .addBufferToData(encryptedData)\n .build();\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,oBAAAA,MAAwB,kCACjC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAEnC,OAEE,SAAAC,EACA,kBAAAC,EACA,YAAAC,MACK,4BACP,OAAS,qBAAAC,MAAyB,kBAClC,OAAS,iBAAAC,MAAqB,0BAGvB,IAAMC,EAAN,KAAyB,CAC9B,YAEUC,EACR,CADQ,mBAAAA,CACP,CAEH,MAAM,QACJC,EACAC,EACqB,CAErB,MAAMC,EAAa,KAAK,cAAc,cACpCF,EACAG,EAAM,IACR,EACMC,EAAmB,MAAM,KAAK,cAAc,cAAcD,EAAM,IAAI,EACpEE,EAAe,MAAMH,EAAW,mBACpCE,EAAiB,aAAa,CAChC,EAGME,EAAM,KAAK,cAAc,KAC7B,IAAI,WACJD,EAAa,MAAM,CAAC,EACpBE,EAAS,MACX,EAGMC,EAAK,KAAK,cAAc,YAAY,EAAE,EAOtCC,EAAa,MAJE,KAAK,cAAc,mBACtCH,EACAI,EAAe,UACjB,EACsC,QAAQF,EAAIP,CAAI,EAChDU,EAAgBF,EAAW,SAAS,EAAG,CAACG,CAAiB,EACzDC,EAAMJ,EAAW,SAAS,CAACG,CAAiB,EAGlD,OAAO,IAAIE,EAAiB,EACzB,kBAAkB,CAAC,EACnB,gBAAgBV,EAAiB,aAAa,CAAC,EAC/C,gBAAgBI,CAAE,EAClB,gBAAgBK,CAAG,EACnB,gBAAgBF,CAAa,EAC7B,MAAM,CACX,CACF,EAhDab,EAANiB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,aAAa,IAF1BrB",
6
- "names": ["ByteArrayBuilder", "inject", "injectable", "Curve", "EncryptionAlgo", "HashAlgo", "AES256_BLOCK_SIZE", "externalTypes", "EncryptDataUseCase", "cryptoService", "encryptionKey", "data", "privateKey", "Curve", "ephemeralKeypair", "sharedSecret", "key", "HashAlgo", "iv", "ciphertext", "EncryptionAlgo", "encryptedData", "AES256_BLOCK_SIZE", "tag", "ByteArrayBuilder", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes"]
7
- }
@@ -1,2 +0,0 @@
1
- import{Maybe as t}from"purify-ts";import{LKRPBlockStream as e}from"./LKRPBlockStream";class s{constructor(r,i){this.id=r;this.serialized=i}getId(){return this.id}getRootStream(){return this.getStream("m/")}getAppStream(r){return this.getStream(`m/${r}'`)}getStream(r){return t.fromNullable(this.serialized[r]).map(e.fromHex)}}export{s as Trustchain};
2
- //# sourceMappingURL=Trustchain.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/internal/utils/Trustchain.ts"],
4
- "sourcesContent": ["import { Maybe } from \"purify-ts\";\n\nimport { LKRPBlockStream } from \"./LKRPBlockStream\";\n\nexport class Trustchain {\n constructor(\n private readonly id: string,\n private readonly serialized: {\n [path: string]: string;\n },\n ) {}\n\n getId(): string {\n return this.id;\n }\n\n getRootStream(): Maybe<LKRPBlockStream> {\n return this.getStream(\"m/\");\n }\n\n getAppStream(appId: number): Maybe<LKRPBlockStream> {\n return this.getStream(`m/${appId}'`);\n }\n\n getStream(path: string): Maybe<LKRPBlockStream> {\n return Maybe.fromNullable(this.serialized[path]).map(\n LKRPBlockStream.fromHex,\n );\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,mBAAAC,MAAuB,oBAEzB,MAAMC,CAAW,CACtB,YACmBC,EACAC,EAGjB,CAJiB,QAAAD,EACA,gBAAAC,CAGhB,CAEH,OAAgB,CACd,OAAO,KAAK,EACd,CAEA,eAAwC,CACtC,OAAO,KAAK,UAAU,IAAI,CAC5B,CAEA,aAAaC,EAAuC,CAClD,OAAO,KAAK,UAAU,KAAKA,CAAK,GAAG,CACrC,CAEA,UAAUC,EAAsC,CAC9C,OAAON,EAAM,aAAa,KAAK,WAAWM,CAAI,CAAC,EAAE,IAC/CL,EAAgB,OAClB,CACF,CACF",
6
- "names": ["Maybe", "LKRPBlockStream", "Trustchain", "id", "serialized", "appId", "path"]
7
- }
@@ -1,22 +0,0 @@
1
- import { type Key } from "./Key";
2
- import { type KeyPair } from "./KeyPair";
3
- export declare enum Curve {
4
- K256 = 0,// secp256k1
5
- P256 = 1
6
- }
7
- export declare enum EncryptionAlgo {
8
- AES256_GCM = 0
9
- }
10
- export declare enum HashAlgo {
11
- SHA256 = 0
12
- }
13
- export interface CryptoService {
14
- randomBytes(len: number): Uint8Array;
15
- hash(bytes: Uint8Array, algo: HashAlgo): Uint8Array;
16
- hmac(key: Uint8Array, message: Uint8Array, algo: HashAlgo): Uint8Array;
17
- createKeyPair(curve: Curve): Promise<KeyPair>;
18
- importKeyPair(privateKey: Uint8Array, curve: Curve): KeyPair;
19
- createSymmetricKey(algo: EncryptionAlgo): Promise<Key>;
20
- importSymmetricKey(keyMaterial: Uint8Array, algo: EncryptionAlgo): Key;
21
- }
22
- //# sourceMappingURL=CryptoService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CryptoService.d.ts","sourceRoot":"","sources":["../../../../src/api/crypto/CryptoService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,oBAAY,KAAK;IACf,IAAI,IAAA,CAAE,YAAY;IAClB,IAAI,IAAA;CACL;AAED,oBAAY,cAAc;IACxB,UAAU,IAAA;CACX;AAED,oBAAY,QAAQ;IAClB,MAAM,IAAA;CACP;AAED,MAAM,WAAW,aAAa;IAE5B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAGrC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAGpD,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAGvE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9C,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAG7D,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAGvD,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC;CACxE"}
@@ -1,7 +0,0 @@
1
- export declare const AES256_KEY_SIZE = 32;
2
- export declare const AES256_BLOCK_SIZE = 16;
3
- export interface Key {
4
- encrypt(iv: Uint8Array, data: Uint8Array): Promise<Uint8Array>;
5
- decrypt(iv: Uint8Array, encryptedData: Uint8Array): Promise<Uint8Array>;
6
- }
7
- //# sourceMappingURL=Key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../../src/api/crypto/Key.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,WAAW,GAAG;IAClB,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzE"}
@@ -1,13 +0,0 @@
1
- export declare enum SigFormat {
2
- COMPACT = 0,
3
- DER = 1
4
- }
5
- export interface KeyPair {
6
- id: string;
7
- sign(data: Uint8Array, format?: SigFormat): Promise<Uint8Array>;
8
- verify(data: Uint8Array, signature: Uint8Array, format?: SigFormat): Promise<boolean>;
9
- deriveSharedSecret(peerPublicKey: Uint8Array): Promise<Uint8Array>;
10
- getPublicKey(): Uint8Array;
11
- getPublicKeyToHex(): string;
12
- }
13
- //# sourceMappingURL=KeyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../../src/api/crypto/KeyPair.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,OAAO,IAAA;IACP,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,CACJ,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,kBAAkB,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnE,YAAY,IAAI,UAAU,CAAC;IAC3B,iBAAiB,IAAI,MAAM,CAAC;CAC7B"}