@ledgerhq/device-signer-kit-bitcoin 0.0.0-webhid-20250124164153 → 0.0.0-wrong-error-when-in-experimental-provider-20251021162636

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 (360) hide show
  1. package/lib/cjs/api/SignerBtc.js +1 -1
  2. package/lib/cjs/api/SignerBtc.js.map +1 -1
  3. package/lib/cjs/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  4. package/lib/cjs/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  5. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js +1 -1
  6. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js.map +1 -1
  7. package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +1 -1
  8. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js +1 -1
  9. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js.map +1 -1
  10. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js.map +1 -1
  12. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/model/AddressOptions.js +1 -1
  15. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  16. package/lib/cjs/api/model/MessageOptions.js +2 -0
  17. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  18. package/lib/cjs/api/model/PsbtOptions.js +2 -0
  19. package/lib/cjs/api/model/PsbtOptions.js.map +7 -0
  20. package/lib/cjs/api/model/WalletAddressOptions.js +1 -1
  21. package/lib/cjs/api/model/WalletAddressOptions.js.map +1 -1
  22. package/lib/cjs/index.js.map +1 -1
  23. package/lib/cjs/internal/DefaultSignerBtc.js +1 -1
  24. package/lib/cjs/internal/DefaultSignerBtc.js.map +3 -3
  25. package/lib/cjs/internal/DefaultSignerBtc.test.js +1 -1
  26. package/lib/cjs/internal/DefaultSignerBtc.test.js.map +2 -2
  27. package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
  28. package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +3 -3
  29. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js +1 -1
  30. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  31. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  32. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  33. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  34. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  35. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  36. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  37. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  38. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  39. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  40. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  41. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  42. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  43. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  44. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  45. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  46. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  47. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  49. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  50. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  51. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  52. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  53. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  54. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  55. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  56. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  57. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  58. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  59. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  60. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  61. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  62. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  63. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  64. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  65. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  66. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  67. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  68. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  69. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js +1 -1
  70. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  71. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +1 -1
  72. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +2 -2
  73. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  74. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  75. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js +1 -1
  76. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  77. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  78. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  79. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  80. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  81. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
  82. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  83. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  84. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  85. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  86. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  87. package/lib/cjs/internal/data-store/di/dataStoreModule.js +1 -1
  88. package/lib/cjs/internal/data-store/di/dataStoreModule.js.map +3 -3
  89. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js +1 -1
  90. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  91. package/lib/cjs/internal/data-store/model/DataStore.test.js +1 -1
  92. package/lib/cjs/internal/data-store/model/DataStore.test.js.map +2 -2
  93. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  94. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  95. package/lib/cjs/internal/di.js +1 -1
  96. package/lib/cjs/internal/di.js.map +2 -2
  97. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  98. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  99. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  100. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  101. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  102. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  103. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  104. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  105. package/lib/cjs/internal/psbt/di/psbtModule.js +1 -1
  106. package/lib/cjs/internal/psbt/di/psbtModule.js.map +3 -3
  107. package/lib/cjs/internal/psbt/di/psbtModule.test.js +1 -1
  108. package/lib/cjs/internal/psbt/di/psbtModule.test.js.map +2 -2
  109. package/lib/cjs/internal/psbt/model/Key.js +1 -1
  110. package/lib/cjs/internal/psbt/model/Key.js.map +2 -2
  111. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  112. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  113. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  114. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  115. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  116. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  117. package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
  118. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
  119. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js +1 -1
  120. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  121. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  122. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  123. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  124. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  125. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  126. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  127. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  128. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  129. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  130. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  131. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  132. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  133. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  134. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  135. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  136. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  137. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  138. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  139. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  140. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  141. package/lib/cjs/internal/wallet/di/walletModule.js +1 -1
  142. package/lib/cjs/internal/wallet/di/walletModule.js.map +3 -3
  143. package/lib/cjs/internal/wallet/di/walletModule.test.js +1 -1
  144. package/lib/cjs/internal/wallet/di/walletModule.test.js.map +2 -2
  145. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  146. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  147. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  148. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  149. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  150. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  151. package/lib/cjs/package.json +17 -17
  152. package/lib/esm/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  153. package/lib/esm/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  154. package/lib/esm/api/model/MessageOptions.js +1 -0
  155. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  156. package/lib/esm/api/model/PsbtOptions.js +1 -0
  157. package/lib/esm/api/model/PsbtOptions.js.map +7 -0
  158. package/lib/esm/internal/DefaultSignerBtc.js +1 -1
  159. package/lib/esm/internal/DefaultSignerBtc.js.map +3 -3
  160. package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
  161. package/lib/esm/internal/DefaultSignerBtc.test.js.map +2 -2
  162. package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
  163. package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
  164. package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
  165. package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  166. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  167. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  168. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  169. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  170. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  171. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  172. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  173. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  174. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  175. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  176. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  177. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  178. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  179. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  180. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  181. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  182. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  183. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  184. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  185. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  186. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  187. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  188. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  189. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  190. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  191. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  192. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  193. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  194. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  195. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  196. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  197. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  198. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  199. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  200. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  201. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  202. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  203. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  204. package/lib/esm/internal/app-binder/di/appBinderModule.test.js +1 -1
  205. package/lib/esm/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  206. package/lib/esm/internal/app-binder/di/appBinderTypes.js +1 -1
  207. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +2 -2
  208. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  209. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  210. package/lib/esm/internal/app-binder/task/ContinueTask.test.js +1 -1
  211. package/lib/esm/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  212. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  213. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  214. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  215. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  216. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
  217. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  218. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  219. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  220. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  221. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  222. package/lib/esm/internal/data-store/di/dataStoreModule.js +1 -1
  223. package/lib/esm/internal/data-store/di/dataStoreModule.js.map +3 -3
  224. package/lib/esm/internal/data-store/di/dataStoreModule.test.js +1 -1
  225. package/lib/esm/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  226. package/lib/esm/internal/data-store/model/DataStore.test.js +1 -1
  227. package/lib/esm/internal/data-store/model/DataStore.test.js.map +2 -2
  228. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  229. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  230. package/lib/esm/internal/di.js +1 -1
  231. package/lib/esm/internal/di.js.map +2 -2
  232. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  233. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  234. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  235. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  236. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  237. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  238. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  239. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  240. package/lib/esm/internal/psbt/di/psbtModule.js +1 -1
  241. package/lib/esm/internal/psbt/di/psbtModule.js.map +3 -3
  242. package/lib/esm/internal/psbt/di/psbtModule.test.js +1 -1
  243. package/lib/esm/internal/psbt/di/psbtModule.test.js.map +2 -2
  244. package/lib/esm/internal/psbt/model/Key.js +1 -1
  245. package/lib/esm/internal/psbt/model/Key.js.map +2 -2
  246. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  247. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  248. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  249. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  250. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  251. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  252. package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
  253. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
  254. package/lib/esm/internal/use-cases/di/useCasesModule.test.js +1 -1
  255. package/lib/esm/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  256. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  257. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  258. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  259. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  260. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  261. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  262. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  263. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  264. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  265. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  266. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  267. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  268. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  269. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  270. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  271. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  272. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  273. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  274. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  275. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  276. package/lib/esm/internal/wallet/di/walletModule.js +1 -1
  277. package/lib/esm/internal/wallet/di/walletModule.js.map +3 -3
  278. package/lib/esm/internal/wallet/di/walletModule.test.js +1 -1
  279. package/lib/esm/internal/wallet/di/walletModule.test.js.map +2 -2
  280. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  281. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  282. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  283. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  284. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  285. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  286. package/lib/esm/package.json +17 -17
  287. package/lib/types/api/SignerBtc.d.ts +7 -5
  288. package/lib/types/api/SignerBtc.d.ts.map +1 -1
  289. package/lib/types/api/SignerBtcBuilder.test.d.ts +2 -0
  290. package/lib/types/api/SignerBtcBuilder.test.d.ts.map +1 -0
  291. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts +3 -1
  292. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts.map +1 -1
  293. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +1 -0
  294. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
  295. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts +1 -12
  296. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts.map +1 -1
  297. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +1 -0
  298. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
  299. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +1 -0
  300. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  301. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  302. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  303. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  304. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  305. package/lib/types/api/model/PsbtOptions.d.ts +4 -0
  306. package/lib/types/api/model/PsbtOptions.d.ts.map +1 -0
  307. package/lib/types/api/model/Signature.d.ts.map +1 -1
  308. package/lib/types/api/model/WalletAddressOptions.d.ts +1 -0
  309. package/lib/types/api/model/WalletAddressOptions.d.ts.map +1 -1
  310. package/lib/types/internal/DefaultSignerBtc.d.ts +7 -5
  311. package/lib/types/internal/DefaultSignerBtc.d.ts.map +1 -1
  312. package/lib/types/internal/app-binder/BtcAppBinder.d.ts +4 -0
  313. package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
  314. package/lib/types/internal/app-binder/command/utils/bitcoinAppErrors.d.ts.map +1 -1
  315. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
  316. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
  317. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  318. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  319. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  320. package/lib/types/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.d.ts.map +1 -1
  321. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  322. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  323. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  324. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +0 -1
  325. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -1
  326. package/lib/types/internal/app-binder/task/GetWalletAddressTask.d.ts.map +1 -1
  327. package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
  328. package/lib/types/internal/app-binder/task/SignPsbtTask.d.ts.map +1 -1
  329. package/lib/types/internal/data-store/di/dataStoreModule.d.ts.map +1 -1
  330. package/lib/types/internal/di.d.ts.map +1 -1
  331. package/lib/types/internal/merkle-tree/di/merkleTreeModule.d.ts.map +1 -1
  332. package/lib/types/internal/psbt/di/psbtModule.d.ts.map +1 -1
  333. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
  334. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts +1 -0
  335. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts.map +1 -1
  336. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts +1 -1
  337. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts.map +1 -1
  338. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts +1 -1
  339. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts.map +1 -1
  340. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts +1 -1
  341. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts.map +1 -1
  342. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts +1 -1
  343. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts.map +1 -1
  344. package/lib/types/internal/wallet/di/walletModule.d.ts.map +1 -1
  345. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  346. package/package.json +19 -19
  347. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  348. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  349. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  350. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  351. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  352. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  353. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  354. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  355. package/lib/types/api/SignerBtcBuiilder.test.d.ts +0 -2
  356. package/lib/types/api/SignerBtcBuiilder.test.d.ts.map +0 -1
  357. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts +0 -19
  358. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts.map +0 -1
  359. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts +0 -2
  360. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/di/appBinderTypes.ts"],
4
- "sourcesContent": ["export const appBinderTypes = {\n AppBinder: Symbol.for(\"AppBinder\"),\n SignPsbtTask: Symbol.for(\"SignPsbtTask\"),\n};\n"],
5
- "mappings": "AAAO,MAAMA,EAAiB,CAC5B,UAAW,OAAO,IAAI,WAAW,EACjC,aAAc,OAAO,IAAI,cAAc,CACzC",
4
+ "sourcesContent": ["export const appBinderTypes = {\n AppBinder: Symbol.for(\"AppBinder\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAiB,CAC5B,UAAW,OAAO,IAAI,WAAW,CACnC",
6
6
  "names": ["appBinderTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as r,UnknownDeviceExchangeError as i}from"@ledgerhq/device-management-kit";import{Left as m,Right as n}from"purify-ts";import{BuildPsbtTask as o}from"../../app-binder/task/BuildPsbtTask";import{DataStore as p}from"../../data-store/model/DataStore";describe("BuildPsbtTask",()=>{it("should build psbt and fill datastore",async()=>{const s={map:jest.fn(()=>n("InternalPsbt"))},t={merklizeWallet:jest.fn(),merklizePsbt:jest.fn(()=>n("PsbtCommitment"))},e=new p,a=await new o({wallet:"Wallet",psbt:"ApiPsbt"},t,s,()=>e).run();expect(s.map).toHaveBeenCalledWith("ApiPsbt"),expect(t.merklizePsbt).toHaveBeenCalledWith(e,"InternalPsbt"),expect(t.merklizeWallet).toHaveBeenCalledWith(e,"Wallet"),expect(a).toStrictEqual(r({data:{psbtCommitment:"PsbtCommitment",dataStore:e,psbt:"InternalPsbt"}}))}),it("should return an error if datastore fails",async()=>{const s={map:jest.fn(()=>n({}))},t=new Error("Failed"),e={merklizeWallet:jest.fn(),merklizePsbt:jest.fn(()=>m(t)),merklizeChunks:jest.fn()},a=await new o({wallet:{},psbt:{}},e,s).run();expect(a).toStrictEqual(r({error:new i({error:t})}))}),it("should return an error if datastore fails",async()=>{const s=new Error("Failed"),t={map:jest.fn(()=>m(s))},e={merklizeWallet:jest.fn(),merklizePsbt:jest.fn(()=>n({})),merklizeChunks:jest.fn()},a=await new o({wallet:{},psbt:{}},e,t).run();expect(a).toStrictEqual(r({error:new i({error:s})}))})});
1
+ import{CommandResultFactory as r,UnknownDeviceExchangeError as l}from"@ledgerhq/device-management-kit";import{Left as m,Right as s}from"purify-ts";import{BuildPsbtTask as o}from"../../app-binder/task/BuildPsbtTask";import{DataStore as p}from"../../data-store/model/DataStore";describe("BuildPsbtTask",()=>{it("should build psbt and fill datastore",async()=>{const a={map:vi.fn(()=>s("InternalPsbt"))},t={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>s("PsbtCommitment"))},e=new p,n=await new o({wallet:"Wallet",psbt:"ApiPsbt"},t,a,()=>e).run();expect(a.map).toHaveBeenCalledWith("ApiPsbt"),expect(t.merklizePsbt).toHaveBeenCalledWith(e,"InternalPsbt"),expect(t.merklizeWallet).toHaveBeenCalledWith(e,"Wallet"),expect(n).toStrictEqual(r({data:{psbtCommitment:"PsbtCommitment",dataStore:e,psbt:"InternalPsbt"}}))}),it("should return an error if datastore fails",async()=>{const a={map:vi.fn(()=>s({}))},t=new Error("Failed"),e={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>m(t)),merklizeChunks:vi.fn()},n=await new o({wallet:{},psbt:{}},e,a).run();expect(n).toStrictEqual(r({error:new l({error:t})}))}),it("should return an error if datastore fails",async()=>{const a=new Error("Failed"),t={map:vi.fn(()=>m(a))},e={merklizeWallet:vi.fn(),merklizePsbt:vi.fn(()=>s({})),merklizeChunks:vi.fn()},n=await new o({wallet:{},psbt:{}},e,t).run();expect(n).toStrictEqual(r({error:new l({error:a})}))})});
2
2
  //# sourceMappingURL=BuildPsbtTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/BuildPsbtTask.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { BuildPsbtTask } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport {\n type DataStoreService,\n type PsbtCommitment,\n} from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\n\ndescribe(\"BuildPsbtTask\", () => {\n it(\"should build psbt and fill datastore\", async () => {\n // given\n const psbtMapper = {\n map: jest.fn(() => Right(\"InternalPsbt\" as unknown as InternalPsbt)),\n };\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n merklizePsbt: jest.fn(() =>\n Right(\"PsbtCommitment\" as unknown as PsbtCommitment),\n ),\n } as unknown as DataStoreService;\n const dataStore = new DataStore();\n const task = new BuildPsbtTask(\n {\n wallet: \"Wallet\" as unknown as Wallet,\n psbt: \"ApiPsbt\" as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n () => dataStore,\n );\n // when\n const result = await task.run();\n // then\n expect(psbtMapper.map).toHaveBeenCalledWith(\"ApiPsbt\");\n expect(dataStoreService.merklizePsbt).toHaveBeenCalledWith(\n dataStore,\n \"InternalPsbt\",\n );\n expect(dataStoreService.merklizeWallet).toHaveBeenCalledWith(\n dataStore,\n \"Wallet\",\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n psbtCommitment: \"PsbtCommitment\",\n dataStore,\n psbt: \"InternalPsbt\",\n },\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const psbtMapper = {\n map: jest.fn(() => Right({} as InternalPsbt)),\n };\n const error = new Error(\"Failed\");\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n merklizePsbt: jest.fn(() => Left(error)),\n merklizeChunks: jest.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const error = new Error(\"Failed\");\n const psbtMapper = {\n map: jest.fn(() => Left(error)),\n };\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n merklizePsbt: jest.fn(() => Right({} as PsbtCommitment)),\n merklizeChunks: jest.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n});\n"],
5
- "mappings": "AAAA,OACE,wBAAAA,EACA,8BAAAC,MACK,kCACP,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAG5B,OAAS,iBAAAC,MAAqB,0CAC9B,OAAS,aAAAC,MAAiB,uCAQ1B,SAAS,gBAAiB,IAAM,CAC9B,GAAG,uCAAwC,SAAY,CAErD,MAAMC,EAAa,CACjB,IAAK,KAAK,GAAG,IAAMH,EAAM,cAAyC,CAAC,CACrE,EACMI,EAAmB,CACvB,eAAgB,KAAK,GAAG,EACxB,aAAc,KAAK,GAAG,IACpBJ,EAAM,gBAA6C,CACrD,CACF,EACMK,EAAY,IAAIH,EAWhBI,EAAS,MAVF,IAAIL,EACf,CACE,OAAQ,SACR,KAAM,SACR,EACAG,EACAD,EACA,IAAME,CACR,EAE0B,IAAI,EAE9B,OAAOF,EAAW,GAAG,EAAE,qBAAqB,SAAS,EACrD,OAAOC,EAAiB,YAAY,EAAE,qBACpCC,EACA,cACF,EACA,OAAOD,EAAiB,cAAc,EAAE,qBACtCC,EACA,QACF,EACA,OAAOC,CAAM,EAAE,cACbT,EAAqB,CACnB,KAAM,CACJ,eAAgB,iBAChB,UAAAQ,EACA,KAAM,cACR,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMF,EAAa,CACjB,IAAK,KAAK,GAAG,IAAMH,EAAM,CAAC,CAAiB,CAAC,CAC9C,EACMO,EAAQ,IAAI,MAAM,QAAQ,EAC1BH,EAAmB,CACvB,eAAgB,KAAK,GAAG,EACxB,aAAc,KAAK,GAAG,IAAML,EAAKQ,CAAK,CAAC,EACvC,eAAgB,KAAK,GAAG,CAC1B,EAUMD,EAAS,MATF,IAAIL,EACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAG,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,cACbT,EAAqB,CACnB,MAAO,IAAIC,EAA2B,CAAE,MAAAS,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMA,EAAQ,IAAI,MAAM,QAAQ,EAC1BJ,EAAa,CACjB,IAAK,KAAK,GAAG,IAAMJ,EAAKQ,CAAK,CAAC,CAChC,EACMH,EAAmB,CACvB,eAAgB,KAAK,GAAG,EACxB,aAAc,KAAK,GAAG,IAAMJ,EAAM,CAAC,CAAmB,CAAC,EACvD,eAAgB,KAAK,GAAG,CAC1B,EAUMM,EAAS,MATF,IAAIL,EACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAG,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,cACbT,EAAqB,CACnB,MAAO,IAAIC,EAA2B,CAAE,MAAAS,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { BuildPsbtTask } from \"@internal/app-binder/task/BuildPsbtTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport {\n type DataStoreService,\n type PsbtCommitment,\n} from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt as InternalPsbt } from \"@internal/psbt/model/Psbt\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\n\ndescribe(\"BuildPsbtTask\", () => {\n it(\"should build psbt and fill datastore\", async () => {\n // given\n const psbtMapper = {\n map: vi.fn(() => Right(\"InternalPsbt\" as unknown as InternalPsbt)),\n };\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() =>\n Right(\"PsbtCommitment\" as unknown as PsbtCommitment),\n ),\n } as unknown as DataStoreService;\n const dataStore = new DataStore();\n const task = new BuildPsbtTask(\n {\n wallet: \"Wallet\" as unknown as Wallet,\n psbt: \"ApiPsbt\" as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n () => dataStore,\n );\n // when\n const result = await task.run();\n // then\n expect(psbtMapper.map).toHaveBeenCalledWith(\"ApiPsbt\");\n expect(dataStoreService.merklizePsbt).toHaveBeenCalledWith(\n dataStore,\n \"InternalPsbt\",\n );\n expect(dataStoreService.merklizeWallet).toHaveBeenCalledWith(\n dataStore,\n \"Wallet\",\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n psbtCommitment: \"PsbtCommitment\",\n dataStore,\n psbt: \"InternalPsbt\",\n },\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const psbtMapper = {\n map: vi.fn(() => Right({} as InternalPsbt)),\n };\n const error = new Error(\"Failed\");\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() => Left(error)),\n merklizeChunks: vi.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n it(\"should return an error if datastore fails\", async () => {\n // given\n const error = new Error(\"Failed\");\n const psbtMapper = {\n map: vi.fn(() => Left(error)),\n };\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n merklizePsbt: vi.fn(() => Right({} as PsbtCommitment)),\n merklizeChunks: vi.fn(),\n };\n const task = new BuildPsbtTask(\n {\n wallet: {} as unknown as Wallet,\n psbt: {} as unknown as Psbt,\n },\n dataStoreService,\n psbtMapper,\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError({ error }),\n }),\n );\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,wBAAAA,EACA,8BAAAC,MACK,kCACP,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAG5B,OAAS,iBAAAC,MAAqB,0CAC9B,OAAS,aAAAC,MAAiB,uCAQ1B,SAAS,gBAAiB,IAAM,CAC9B,GAAG,uCAAwC,SAAY,CAErD,MAAMC,EAAa,CACjB,IAAK,GAAG,GAAG,IAAMH,EAAM,cAAyC,CAAC,CACnE,EACMI,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,IAClBJ,EAAM,gBAA6C,CACrD,CACF,EACMK,EAAY,IAAIH,EAWhBI,EAAS,MAVF,IAAIL,EACf,CACE,OAAQ,SACR,KAAM,SACR,EACAG,EACAD,EACA,IAAME,CACR,EAE0B,IAAI,EAE9B,OAAOF,EAAW,GAAG,EAAE,qBAAqB,SAAS,EACrD,OAAOC,EAAiB,YAAY,EAAE,qBACpCC,EACA,cACF,EACA,OAAOD,EAAiB,cAAc,EAAE,qBACtCC,EACA,QACF,EACA,OAAOC,CAAM,EAAE,cACbT,EAAqB,CACnB,KAAM,CACJ,eAAgB,iBAChB,UAAAQ,EACA,KAAM,cACR,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMF,EAAa,CACjB,IAAK,GAAG,GAAG,IAAMH,EAAM,CAAC,CAAiB,CAAC,CAC5C,EACMO,EAAQ,IAAI,MAAM,QAAQ,EAC1BH,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,IAAML,EAAKQ,CAAK,CAAC,EACrC,eAAgB,GAAG,GAAG,CACxB,EAUMD,EAAS,MATF,IAAIL,EACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAG,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,cACbT,EAAqB,CACnB,MAAO,IAAIC,EAA2B,CAAE,MAAAS,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,EACD,GAAG,4CAA6C,SAAY,CAE1D,MAAMA,EAAQ,IAAI,MAAM,QAAQ,EAC1BJ,EAAa,CACjB,IAAK,GAAG,GAAG,IAAMJ,EAAKQ,CAAK,CAAC,CAC9B,EACMH,EAAmB,CACvB,eAAgB,GAAG,GAAG,EACtB,aAAc,GAAG,GAAG,IAAMJ,EAAM,CAAC,CAAmB,CAAC,EACrD,eAAgB,GAAG,GAAG,CACxB,EAUMM,EAAS,MATF,IAAIL,EACf,CACE,OAAQ,CAAC,EACT,KAAM,CAAC,CACT,EACAG,EACAD,CACF,EAE0B,IAAI,EAE9B,OAAOG,CAAM,EAAE,cACbT,EAAqB,CACnB,MAAO,IAAIC,EAA2B,CAAE,MAAAS,CAAM,CAAC,CACjD,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["CommandResultFactory", "UnknownDeviceExchangeError", "Left", "Right", "BuildPsbtTask", "DataStore", "psbtMapper", "dataStoreService", "dataStore", "result", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduResponse as n,CommandResultFactory as e,UnknownDeviceExchangeError as i}from"@ledgerhq/device-management-kit";import{Left as c,Right as u}from"purify-ts";import{ContinueTask as d}from"../../app-binder/task/ContinueTask";describe("ContinueTask",()=>{const a={getClientCommandPayload:jest.fn(()=>u(Uint8Array.from([])))},t={sendCommand:jest.fn()},s=Math.floor(Math.random()*10+2);afterEach(()=>{jest.clearAllMocks()}),it(`should call ${s} times client interpreter and return success`,async()=>{new Array(s).fill(0).forEach(l=>{t.sendCommand.mockReturnValueOnce(e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}))}),t.sendCommand.mockReturnValueOnce(e({data:new n({statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([])})}));const r=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})});await new d(t,{},a).run(r),expect(a.getClientCommandPayload).toHaveBeenCalledTimes(s+1)}),it("should return an error if the client interpreter fails",async()=>{const r=new i("Failed");a.getClientCommandPayload.mockReturnValueOnce(c(r));const o=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),m=await new d(t,{},a).run(o);expect(t.sendCommand).toHaveBeenCalledTimes(0),expect(m).toStrictEqual(e({error:new i(r)}))}),it("should return an error if send command fails",async()=>{const r=new i("Failed");t.sendCommand.mockReturnValueOnce(e({error:r}));const o=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),m=await new d(t,{},a).run(o);expect(a.getClientCommandPayload).toHaveBeenCalledTimes(1),expect(m).toStrictEqual(e({error:r}))})});
1
+ import{ApduResponse as n,CommandResultFactory as e,UnknownDeviceExchangeError as m}from"@ledgerhq/device-management-kit";import{Left as c,Right as u}from"purify-ts";import{ContinueTask as d}from"../../app-binder/task/ContinueTask";describe("ContinueTask",()=>{const a={getClientCommandPayload:vi.fn(()=>u(Uint8Array.from([])))},t={sendCommand:vi.fn()},s=Math.floor(Math.random()*10+2);afterEach(()=>{vi.clearAllMocks()}),it(`should call ${s} times client interpreter and return success`,async()=>{new Array(s).fill(0).forEach(l=>{t.sendCommand.mockReturnValueOnce(e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}))}),t.sendCommand.mockReturnValueOnce(e({data:new n({statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([])})}));const r=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})});await new d(t,{},a).run(r),expect(a.getClientCommandPayload).toHaveBeenCalledTimes(s+1)}),it("should return an error if the client interpreter fails",async()=>{const r=new m("Failed");a.getClientCommandPayload.mockReturnValueOnce(c(r));const o=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),i=await new d(t,{},a).run(o);expect(t.sendCommand).toHaveBeenCalledTimes(0),expect(i).toStrictEqual(e({error:new m(r)}))}),it("should return an error if send command fails",async()=>{const r=new m("Failed");t.sendCommand.mockReturnValueOnce(e({error:r}));const o=e({data:new n({statusCode:Uint8Array.from([224,0]),data:Uint8Array.from([])})}),i=await new d(t,{},a).run(o);expect(a.getClientCommandPayload).toHaveBeenCalledTimes(1),expect(i).toStrictEqual(e({error:r}))})});
2
2
  //# sourceMappingURL=ContinueTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/ContinueTask.test.ts"],
4
- "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type DmkError,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\n\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\n\ndescribe(\"ContinueTask\", () => {\n const clientCommandInterpreter = {\n getClientCommandPayload: jest.fn(\n () => Right(Uint8Array.from([])) as Either<DmkError, Uint8Array>,\n ),\n };\n const api = {\n sendCommand: jest.fn(),\n };\n const randomNumberOfClientCalls = Math.floor(Math.random() * 10 + 2);\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n it(`should call ${randomNumberOfClientCalls} times client interpreter and return success`, async () => {\n // given\n new Array(randomNumberOfClientCalls).fill(0).forEach((_) => {\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n });\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(randomNumberOfClientCalls + 1);\n });\n\n it(\"should return an error if the client interpreter fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n clientCommandInterpreter.getClientCommandPayload.mockReturnValueOnce(\n Left(error),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(api.sendCommand).toHaveBeenCalledTimes(0);\n expect(result).toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(error) }),\n );\n });\n it(\"should return an error if send command fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n api.sendCommand.mockReturnValueOnce(CommandResultFactory({ error }));\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(1);\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n});\n"],
5
- "mappings": "AAAA,OACE,gBAAAA,EACA,wBAAAC,EAGA,8BAAAC,MACK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,YAGzC,OAAS,gBAAAC,MAAoB,yCAG7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAA2B,CAC/B,wBAAyB,KAAK,GAC5B,IAAMF,EAAM,WAAW,KAAK,CAAC,CAAC,CAAC,CACjC,CACF,EACMG,EAAM,CACV,YAAa,KAAK,GAAG,CACvB,EACMC,EAA4B,KAAK,MAAM,KAAK,OAAO,EAAI,GAAK,CAAC,EAEnE,UAAU,IAAM,CACd,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,eAAeA,CAAyB,+CAAgD,SAAY,CAErG,IAAI,MAAMA,CAAyB,EAAE,KAAK,CAAC,EAAE,QAASC,GAAM,CAC1DF,EAAI,YAAY,oBACdN,EAAqB,CACnB,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,CACF,CAAC,EACDO,EAAI,YAAY,oBACdN,EAAqB,CACnB,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,EACA,MAAMU,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOD,MALa,IAAIK,EACfE,EACA,CAAC,EACDD,CACF,EACW,IAAII,CAAU,EAEzB,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsBE,EAA4B,CAAC,CACvD,CAAC,EAED,GAAG,yDAA0D,SAAY,CAEvE,MAAMG,EAAQ,IAAIT,EAA2B,QAAQ,EACrDI,EAAyB,wBAAwB,oBAC/CH,EAAKQ,CAAK,CACZ,EACA,MAAMD,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKY,EAAS,MALF,IAAIP,EACfE,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OAAOH,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOK,CAAM,EAAE,cACbX,EAAqB,CAAE,MAAO,IAAIC,EAA2BS,CAAK,CAAE,CAAC,CACvE,CACF,CAAC,EACD,GAAG,+CAAgD,SAAY,CAE7D,MAAMA,EAAQ,IAAIT,EAA2B,QAAQ,EACrDK,EAAI,YAAY,oBAAoBN,EAAqB,CAAE,MAAAU,CAAM,CAAC,CAAC,EACnE,MAAMD,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKY,EAAS,MALF,IAAIP,EACfE,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsB,CAAC,EACzB,OAAOM,CAAM,EAAE,cAAcX,EAAqB,CAAE,MAAAU,CAAM,CAAC,CAAC,CAC9D,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type DmkError,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\n\nimport { type BtcErrorCodes } from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\n\ndescribe(\"ContinueTask\", () => {\n const clientCommandInterpreter = {\n getClientCommandPayload: vi.fn(\n () => Right(Uint8Array.from([])) as Either<DmkError, Uint8Array>,\n ),\n };\n const api = {\n sendCommand: vi.fn(),\n };\n const randomNumberOfClientCalls = Math.floor(Math.random() * 10 + 2);\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(`should call ${randomNumberOfClientCalls} times client interpreter and return success`, async () => {\n // given\n new Array(randomNumberOfClientCalls).fill(0).forEach((_) => {\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n });\n api.sendCommand.mockReturnValueOnce(\n CommandResultFactory({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([]),\n }),\n }),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(randomNumberOfClientCalls + 1);\n });\n\n it(\"should return an error if the client interpreter fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n clientCommandInterpreter.getClientCommandPayload.mockReturnValueOnce(\n Left(error),\n );\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(api.sendCommand).toHaveBeenCalledTimes(0);\n expect(result).toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(error) }),\n );\n });\n it(\"should return an error if send command fails\", async () => {\n // given\n const error = new UnknownDeviceExchangeError(\"Failed\");\n api.sendCommand.mockReturnValueOnce(CommandResultFactory({ error }));\n const fromResult = CommandResultFactory<ApduResponse, BtcErrorCodes>({\n data: new ApduResponse({\n statusCode: Uint8Array.from([0xe0, 0x00]),\n data: Uint8Array.from([]),\n }),\n });\n // when\n const task = new ContinueTask(\n api as unknown as InternalApi,\n {} as DataStore,\n clientCommandInterpreter,\n );\n const result = await task.run(fromResult);\n // then\n expect(\n clientCommandInterpreter.getClientCommandPayload,\n ).toHaveBeenCalledTimes(1);\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,gBAAAA,EACA,wBAAAC,EAGA,8BAAAC,MACK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,YAGzC,OAAS,gBAAAC,MAAoB,yCAG7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAA2B,CAC/B,wBAAyB,GAAG,GAC1B,IAAMF,EAAM,WAAW,KAAK,CAAC,CAAC,CAAC,CACjC,CACF,EACMG,EAAM,CACV,YAAa,GAAG,GAAG,CACrB,EACMC,EAA4B,KAAK,MAAM,KAAK,OAAO,EAAI,GAAK,CAAC,EAEnE,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,eAAeA,CAAyB,+CAAgD,SAAY,CAErG,IAAI,MAAMA,CAAyB,EAAE,KAAK,CAAC,EAAE,QAASC,GAAM,CAC1DF,EAAI,YAAY,oBACdN,EAAqB,CACnB,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,CACF,CAAC,EACDO,EAAI,YAAY,oBACdN,EAAqB,CACnB,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,EACA,MAAMU,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOD,MALa,IAAIK,EACfE,EACA,CAAC,EACDD,CACF,EACW,IAAII,CAAU,EAEzB,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsBE,EAA4B,CAAC,CACvD,CAAC,EAED,GAAG,yDAA0D,SAAY,CAEvE,MAAMG,EAAQ,IAAIT,EAA2B,QAAQ,EACrDI,EAAyB,wBAAwB,oBAC/CH,EAAKQ,CAAK,CACZ,EACA,MAAMD,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKY,EAAS,MALF,IAAIP,EACfE,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OAAOH,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOK,CAAM,EAAE,cACbX,EAAqB,CAAE,MAAO,IAAIC,EAA2BS,CAAK,CAAE,CAAC,CACvE,CACF,CAAC,EACD,GAAG,+CAAgD,SAAY,CAE7D,MAAMA,EAAQ,IAAIT,EAA2B,QAAQ,EACrDK,EAAI,YAAY,oBAAoBN,EAAqB,CAAE,MAAAU,CAAM,CAAC,CAAC,EACnE,MAAMD,EAAaT,EAAkD,CACnE,KAAM,IAAID,EAAa,CACrB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,CAAC,EAOKY,EAAS,MALF,IAAIP,EACfE,EACA,CAAC,EACDD,CACF,EAC0B,IAAII,CAAU,EAExC,OACEJ,EAAyB,uBAC3B,EAAE,sBAAsB,CAAC,EACzB,OAAOM,CAAM,EAAE,cAAcX,EAAqB,CAAE,MAAAU,CAAM,CAAC,CAAC,CAC9D,CAAC,CACH,CAAC",
6
6
  "names": ["ApduResponse", "CommandResultFactory", "UnknownDeviceExchangeError", "Left", "Right", "ContinueTask", "clientCommandInterpreter", "api", "randomNumberOfClientCalls", "_", "fromResult", "error", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as e,InvalidStatusWordError as l}from"@ledgerhq/device-management-kit";import{GetWalletAddressTask as i}from"./GetWalletAddressTask";describe("GetWalletAddressTask",()=>{describe("run",()=>{it("should return a wallet address successfully",async()=>{const t={sendCommand:jest.fn().mockResolvedValueOnce(e({data:Uint8Array.from([1,2,3])}))},a={hmac:Uint8Array.from([4])},n={getId:jest.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:jest.fn()},s=()=>({run:jest.fn().mockResolvedValue(e({data:{data:Uint8Array.from([52,86,120,154,188,222,241])}}))}),o=jest.fn().mockReturnValue(e({data:{address:"some address"}})),c=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s,o).run();expect(n.getId).toHaveBeenCalledWith(a),expect(c).toStrictEqual(e({data:{address:"some address"}}))}),it("should fail if ContinueTask fails",async()=>{const t={sendCommand:jest.fn()},a={hmac:Uint8Array.from([4])},n={getId:jest.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:jest.fn()},s=()=>({run:jest.fn().mockResolvedValue(e({error:new l("ContinueTask failed")}))}),o=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual(e({error:new l("ContinueTask failed")}))}),it("should fail with an invalid device response",async()=>{const t={sendCommand:jest.fn().mockResolvedValueOnce(e({error:new l("Invalid response from the device")}))},a={hmac:Uint8Array.from([4])},n={getId:jest.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:jest.fn()},s=()=>({run:jest.fn().mockResolvedValue(e({error:new l("Invalid response from the device")}))}),o=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual(e({error:new l("Invalid response from the device")}))})})});
1
+ import{CommandResultFactory as e,InvalidStatusWordError as l}from"@ledgerhq/device-management-kit";import{GetWalletAddressTask as i}from"./GetWalletAddressTask";describe("GetWalletAddressTask",()=>{describe("run",()=>{it("should return a wallet address successfully",async()=>{const t={sendCommand:vi.fn().mockResolvedValueOnce(e({data:Uint8Array.from([1,2,3])}))},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue(e({data:{data:Uint8Array.from([52,86,120,154,188,222,241])}}))}),o=vi.fn().mockReturnValue(e({data:{address:"some address"}})),c=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s,o).run();expect(n.getId).toHaveBeenCalledWith(a),expect(c).toStrictEqual(e({data:{address:"some address"}}))}),it("should fail if ContinueTask fails",async()=>{const t={sendCommand:vi.fn()},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue(e({error:new l("ContinueTask failed")}))}),o=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual(e({error:new l("ContinueTask failed")}))}),it("should fail with an invalid device response",async()=>{const t={sendCommand:vi.fn().mockResolvedValueOnce(e({error:new l("Invalid response from the device")}))},a={hmac:Uint8Array.from([4])},n={getId:vi.fn().mockReturnValue(Uint8Array.from([5]))},r={merklizeWallet:vi.fn()},s=()=>({run:vi.fn().mockResolvedValue(e({error:new l("Invalid response from the device")}))}),o=await new i(t,{checkOnDevice:!0,wallet:a,change:!1,addressIndex:0},n,r,s).run();expect(o).toStrictEqual(e({error:new l("Invalid response from the device")}))})})});
2
2
  //# sourceMappingURL=GetWalletAddressTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/GetWalletAddressTask.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { type ContinueTask } from \"./ContinueTask\";\nimport { GetWalletAddressTask } from \"./GetWalletAddressTask\";\n\ndescribe(\"GetWalletAddressTask\", () => {\n describe(\"run\", () => {\n it(\"should return a wallet address successfully\", async () => {\n // given\n const api = {\n sendCommand: jest.fn().mockResolvedValueOnce(\n CommandResultFactory({\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: jest.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: {\n data: Uint8Array.from([\n 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1,\n ]),\n },\n }),\n ),\n }) as unknown as ContinueTask;\n\n const mockGetAddress = jest.fn().mockReturnValue(\n CommandResultFactory({\n data: { address: \"some address\" },\n }),\n );\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n mockGetAddress,\n ).run();\n\n // then\n expect(walletSerializer.getId).toHaveBeenCalledWith(wallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n address: \"some address\",\n },\n }),\n );\n });\n\n it(\"should fail if ContinueTask fails\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: jest.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n );\n });\n\n it(\"should fail with an invalid device response\", async () => {\n // given\n const api = {\n sendCommand: jest.fn().mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: jest.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: jest.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid response from the device\"),\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type Wallet as InternalWallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { type ContinueTask } from \"./ContinueTask\";\nimport { GetWalletAddressTask } from \"./GetWalletAddressTask\";\n\ndescribe(\"GetWalletAddressTask\", () => {\n describe(\"run\", () => {\n it(\"should return a wallet address successfully\", async () => {\n // given\n const api = {\n sendCommand: vi.fn().mockResolvedValueOnce(\n CommandResultFactory({\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: {\n data: Uint8Array.from([\n 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1,\n ]),\n },\n }),\n ),\n }) as unknown as ContinueTask;\n\n const mockGetAddress = vi.fn().mockReturnValue(\n CommandResultFactory({\n data: { address: \"some address\" },\n }),\n );\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n mockGetAddress,\n ).run();\n\n // then\n expect(walletSerializer.getId).toHaveBeenCalledWith(wallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n address: \"some address\",\n },\n }),\n );\n });\n\n it(\"should fail if ContinueTask fails\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"ContinueTask failed\"),\n }),\n );\n });\n\n it(\"should fail with an invalid device response\", async () => {\n // given\n const api = {\n sendCommand: vi.fn().mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n } as unknown as InternalApi;\n\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as unknown as InternalWallet;\n\n const walletSerializer = {\n getId: vi.fn().mockReturnValue(Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n\n const dataStoreService = {\n merklizeWallet: vi.fn(),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Invalid response from the device\",\n ),\n }),\n ),\n }) as unknown as ContinueTask;\n\n // when\n const result = await new GetWalletAddressTask(\n api,\n {\n checkOnDevice: true,\n wallet,\n change: false,\n addressIndex: 0,\n },\n walletSerializer,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid response from the device\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["CommandResultFactory", "InvalidStatusWordError", "GetWalletAddressTask", "api", "wallet", "walletSerializer", "dataStoreService", "continueTaskFactory", "mockGetAddress", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as a,UnknownDeviceExchangeError as u}from"@ledgerhq/device-management-kit";import{DefaultDescriptorTemplate as s,DefaultWallet as c,RegisteredWallet as f}from"../../../api/model/Wallet";import{PrepareWalletPolicyTask as i}from"../../app-binder/task/PrepareWalletPolicyTask";const d=jest.fn(),m=jest.fn();describe("PrepareWalletPolicyTask",()=>{let e;const o={fromDefaultWallet:d,fromRegisteredWallet:m};beforeEach(()=>{e={sendCommand:jest.fn()}}),afterEach(()=>{jest.resetAllMocks()}),it("should return a builded wallet from a default one",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o);e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{extendedPublicKey:"xPublicKey"}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const t={};d.mockReturnValue(t);const n=await r.run();expect(d).toHaveBeenCalledWith(Uint8Array.from([66,33,18,36]),"xPublicKey",l),expect(n).toStrictEqual(a({data:t}))}),it("should return a builded wallet from a registered one",async()=>{const l=new f("walletName",s.LEGACY,["key0","key1"],Uint8Array.from([42])),r=new i(e,{wallet:l},o);e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{extendedPublicKey:"xPublicKey"}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const t={};m.mockReturnValue(t);const n=await r.run();expect(m).toHaveBeenCalledWith(l),expect(n).toStrictEqual(a({data:t}))}),it("should return an error if getMasterFingerprint failed",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o),t=new u("Failed");e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({error:t})));const n=await r.run();expect(n).toStrictEqual(a({error:t}))}),it("should return an error if getExtendedPublicKey failed",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o),t=new u("Failed");e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({error:t})));const n=await r.run();expect(n).toStrictEqual(a({error:t})),expect(n).toStrictEqual(a({error:t}))})});
1
+ import{CommandResultFactory as a,UnknownDeviceExchangeError as u}from"@ledgerhq/device-management-kit";import{DefaultDescriptorTemplate as s,DefaultWallet as c,RegisteredWallet as f}from"../../../api/model/Wallet";import{PrepareWalletPolicyTask as i}from"../../app-binder/task/PrepareWalletPolicyTask";const d=vi.fn(),m=vi.fn();describe("PrepareWalletPolicyTask",()=>{let e;const o={fromDefaultWallet:d,fromRegisteredWallet:m};beforeEach(()=>{e={sendCommand:vi.fn()}}),afterEach(()=>{vi.resetAllMocks()}),it("should return a builded wallet from a default one",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o);e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{extendedPublicKey:"xPublicKey"}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const t={};d.mockReturnValue(t);const n=await r.run();expect(d).toHaveBeenCalledWith(Uint8Array.from([66,33,18,36]),"xPublicKey",l),expect(n).toStrictEqual(a({data:t}))}),it("should return a builded wallet from a registered one",async()=>{const l=new f("walletName",s.LEGACY,["key0","key1"],Uint8Array.from([42])),r=new i(e,{wallet:l},o);e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{extendedPublicKey:"xPublicKey"}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}})));const t={};m.mockReturnValue(t);const n=await r.run();expect(m).toHaveBeenCalledWith(l),expect(n).toStrictEqual(a({data:t}))}),it("should return an error if getMasterFingerprint failed",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o),t=new u("Failed");e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({error:t})));const n=await r.run();expect(n).toStrictEqual(a({error:t}))}),it("should return an error if getExtendedPublicKey failed",async()=>{const l=new c("49'/0'/0'",s.LEGACY),r=new i(e,{wallet:l},o),t=new u("Failed");e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({data:{masterFingerprint:Uint8Array.from([66,33,18,36])}}))),e.sendCommand.mockResolvedValueOnce(Promise.resolve(a({error:t})));const n=await r.run();expect(n).toStrictEqual(a({error:t})),expect(n).toStrictEqual(a({error:t}))})});
2
2
  //# sourceMappingURL=PrepareWalletPolicyTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/PrepareWalletPolicyTask.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n type Wallet,\n} from \"@api/model/Wallet\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nconst fromDefaultWalletMock = jest.fn();\nconst fromRegisteredWalletMock = jest.fn();\n\ndescribe(\"PrepareWalletPolicyTask\", () => {\n let internalApi: { sendCommand: jest.Mock };\n const walletBuilder = {\n fromDefaultWallet: fromDefaultWalletMock,\n fromRegisteredWallet: fromRegisteredWalletMock,\n } as unknown as WalletBuilder;\n beforeEach(() => {\n internalApi = {\n sendCommand: jest.fn(),\n };\n });\n afterEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"should return a builded wallet from a default one\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromDefaultWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromDefaultWalletMock).toHaveBeenCalledWith(\n Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n \"xPublicKey\",\n defaultWallet,\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return a builded wallet from a registered one\", async () => {\n // given\n const registeredWallet = new RegisteredWallet(\n \"walletName\",\n DefaultDescriptorTemplate.LEGACY,\n [\"key0\", \"key1\"],\n Uint8Array.from([42]),\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: registeredWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromRegisteredWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromRegisteredWalletMock).toHaveBeenCalledWith(registeredWallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return an error if getMasterFingerprint failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n\n it(\"should return an error if getExtendedPublicKey failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n expect(result).toStrictEqual(\n CommandResultFactory({\n error,\n }),\n );\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Mock } from \"vitest\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n type Wallet,\n} from \"@api/model/Wallet\";\nimport { PrepareWalletPolicyTask } from \"@internal/app-binder/task/PrepareWalletPolicyTask\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nconst fromDefaultWalletMock = vi.fn();\nconst fromRegisteredWalletMock = vi.fn();\n\ndescribe(\"PrepareWalletPolicyTask\", () => {\n let internalApi: { sendCommand: Mock };\n const walletBuilder = {\n fromDefaultWallet: fromDefaultWalletMock,\n fromRegisteredWallet: fromRegisteredWalletMock,\n } as unknown as WalletBuilder;\n beforeEach(() => {\n internalApi = {\n sendCommand: vi.fn(),\n };\n });\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return a builded wallet from a default one\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromDefaultWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromDefaultWalletMock).toHaveBeenCalledWith(\n Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n \"xPublicKey\",\n defaultWallet,\n );\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return a builded wallet from a registered one\", async () => {\n // given\n const registeredWallet = new RegisteredWallet(\n \"walletName\",\n DefaultDescriptorTemplate.LEGACY,\n [\"key0\", \"key1\"],\n Uint8Array.from([42]),\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: registeredWallet },\n walletBuilder,\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n extendedPublicKey: \"xPublicKey\",\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n const wallet = {} as Wallet;\n fromRegisteredWalletMock.mockReturnValue(wallet);\n // when\n const result = await task.run();\n // then\n expect(fromRegisteredWalletMock).toHaveBeenCalledWith(registeredWallet);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: wallet,\n }),\n );\n });\n\n it(\"should return an error if getMasterFingerprint failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n });\n\n it(\"should return an error if getExtendedPublicKey failed\", async () => {\n // given\n const defaultWallet = new DefaultWallet(\n \"49'/0'/0'\",\n DefaultDescriptorTemplate.LEGACY,\n );\n const task = new PrepareWalletPolicyTask(\n internalApi as unknown as InternalApi,\n { wallet: defaultWallet },\n walletBuilder,\n );\n const error = new UnknownDeviceExchangeError(\"Failed\");\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n data: {\n masterFingerprint: Uint8Array.from([0x42, 0x21, 0x12, 0x24]),\n },\n }),\n ),\n );\n internalApi.sendCommand.mockResolvedValueOnce(\n Promise.resolve(\n CommandResultFactory({\n error,\n }),\n ),\n );\n // when\n const result = await task.run();\n // then\n expect(result).toStrictEqual(CommandResultFactory({ error }));\n expect(result).toStrictEqual(\n CommandResultFactory({\n error,\n }),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["CommandResultFactory", "UnknownDeviceExchangeError", "DefaultDescriptorTemplate", "DefaultWallet", "RegisteredWallet", "PrepareWalletPolicyTask", "fromDefaultWalletMock", "fromRegisteredWalletMock", "internalApi", "walletBuilder", "defaultWallet", "task", "wallet", "result", "registeredWallet", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduResponse as S,CommandResultFactory as r,InvalidStatusWordError as u}from"@ledgerhq/device-management-kit";import{CHUNK_SIZE as m,SHA256_SIZE as p}from"../../app-binder/command/utils/constants";import{DataStore as l}from"../../data-store/model/DataStore";import{SendSignMessageTask as o}from"./SignMessageTask";const f="a".repeat(m),y="a".repeat(m*2),c="44'/0'/0'/0/0",x=new Uint8Array(p).fill(1),d={v:27,r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce"},A=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]);describe("SignMessageTask",()=>{const i=r({data:new S({statusCode:new Uint8Array([144,0]),data:A})}),s={sendCommand:jest.fn()};afterEach(()=>{jest.resetAllMocks()}),describe("run",()=>{it("should correctly chunk a message that fits in 1 chunk",async()=>{const t={derivationPath:c,message:f},e={merklizeChunks:jest.fn().mockReturnValue(x)},a=()=>({run:jest.fn().mockReturnValue(i)}),n=await new o(s,t,e,a).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97))]),expect(n).toStrictEqual(r({data:d}))}),it("should correctly chunk a message that fits in 2 chunks",async()=>{const t={derivationPath:c,message:y},e={merklizeChunks:jest.fn().mockReturnValue(x)},a=()=>({run:jest.fn().mockReturnValue(i)}),n=await new o(s,t,e,a).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97)),Uint8Array.from(new Array(64).fill(97))]),expect(n).toStrictEqual(r({data:d}))}),it("should return an error if the initial SignMessageCommand fails",async()=>{const t={derivationPath:c,message:f},e=r({error:new u("error")}),a={merklizeChunks:jest.fn().mockReturnValue(x)},n=()=>({run:jest.fn().mockReturnValue(e)}),k=await new o(s,t,a,n).run();expect(k).toStrictEqual(r({error:new u("error")}))})})});
1
+ import{ApduResponse as S,CommandResultFactory as r,InvalidStatusWordError as u}from"@ledgerhq/device-management-kit";import{CHUNK_SIZE as m,SHA256_SIZE as p}from"../../app-binder/command/utils/constants";import{DataStore as l}from"../../data-store/model/DataStore";import{SendSignMessageTask as s}from"./SignMessageTask";const f="a".repeat(m),v="a".repeat(m*2),c="44'/0'/0'/0/0",i=new Uint8Array(p).fill(1),d={v:27,r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce"},y=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]);describe("SignMessageTask",()=>{const x=r({data:new S({statusCode:new Uint8Array([144,0]),data:y})}),o={sendCommand:vi.fn()};afterEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should correctly chunk a message that fits in 1 chunk",async()=>{const a={derivationPath:c,message:f},e={merklizeChunks:vi.fn().mockReturnValue(i)},t=()=>({run:vi.fn().mockReturnValue(x)}),n=await new s(o,a,e,t).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97))]),expect(n).toStrictEqual(r({data:d}))}),it("should correctly chunk a message that fits in 2 chunks",async()=>{const a={derivationPath:c,message:v},e={merklizeChunks:vi.fn().mockReturnValue(i)},t=()=>({run:vi.fn().mockReturnValue(x)}),n=await new s(o,a,e,t).run();expect(e.merklizeChunks).toHaveBeenCalledWith(expect.any(l),[Uint8Array.from(new Array(64).fill(97)),Uint8Array.from(new Array(64).fill(97))]),expect(n).toStrictEqual(r({data:d}))}),it("should return an error if the initial SignMessageCommand fails",async()=>{const a={derivationPath:c,message:f},e=r({error:new u("error")}),t={merklizeChunks:vi.fn().mockReturnValue(i)},n=()=>({run:vi.fn().mockReturnValue(e)}),k=await new s(o,a,t,n).run();expect(k).toStrictEqual(r({error:new u("error")}))})})});
2
2
  //# sourceMappingURL=SignMessageTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/SignMessageTask.test.ts"],
4
- "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n\n afterEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should correctly chunk a message that fits in 1 chunk\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: jest.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [Uint8Array.from(new Array(64).fill(0x61))],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should correctly chunk a message that fits in 2 chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_TWO_CHUNKS_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: jest.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [\n Uint8Array.from(new Array(64).fill(0x61)),\n Uint8Array.from(new Array(64).fill(0x61)),\n ],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should return an error if the initial SignMessageCommand fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const resultError = CommandResultFactory<Signature, void>({\n error: new InvalidStatusWordError(\"error\"),\n });\n const dataStoreService = {\n merklizeChunks: jest.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"error\"),\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n CHUNK_SIZE,\n SHA256_SIZE,\n} from \"@internal/app-binder/command/utils/constants\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { DataStore } from \"@internal/data-store/model/DataStore\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\n\nimport { SendSignMessageTask } from \"./SignMessageTask\";\n\nconst EXACT_ONE_CHUNK_MESSAGE = \"a\".repeat(CHUNK_SIZE);\nconst EXACT_TWO_CHUNKS_MESSAGE = \"a\".repeat(CHUNK_SIZE * 2);\nconst DERIVATION_PATH = \"44'/0'/0'/0/0\";\nconst MERKLE_ROOT = new Uint8Array(SHA256_SIZE).fill(0x01);\n\nconst SIGNATURE: Signature = {\n v: 27,\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n};\n\nconst SIGNATURE_APDU = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignMessageTask\", () => {\n const signatureResult = CommandResultFactory<ApduResponse, void>({\n data: new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: SIGNATURE_APDU,\n }),\n });\n const apiMock = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should correctly chunk a message that fits in 1 chunk\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [Uint8Array.from(new Array(64).fill(0x61))],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should correctly chunk a message that fits in 2 chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_TWO_CHUNKS_MESSAGE,\n };\n\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(signatureResult),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(dataStoreService.merklizeChunks).toHaveBeenCalledWith(\n expect.any(DataStore),\n [\n Uint8Array.from(new Array(64).fill(0x61)),\n Uint8Array.from(new Array(64).fill(0x61)),\n ],\n );\n expect(result).toStrictEqual(CommandResultFactory({ data: SIGNATURE }));\n });\n\n it(\"should return an error if the initial SignMessageCommand fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: DERIVATION_PATH,\n message: EXACT_ONE_CHUNK_MESSAGE,\n };\n\n const resultError = CommandResultFactory<Signature, void>({\n error: new InvalidStatusWordError(\"error\"),\n });\n const dataStoreService = {\n merklizeChunks: vi.fn().mockReturnValue(MERKLE_ROOT),\n } as unknown as DataStoreService;\n\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockReturnValue(resultError),\n }) as unknown as ContinueTask;\n\n // WHEN\n const result = await new SendSignMessageTask(\n apiMock,\n args,\n dataStoreService,\n continueTaskFactory,\n ).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"error\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "CHUNK_SIZE", "SHA256_SIZE", "DataStore", "SendSignMessageTask", "EXACT_ONE_CHUNK_MESSAGE", "EXACT_TWO_CHUNKS_MESSAGE", "DERIVATION_PATH", "MERKLE_ROOT", "SIGNATURE", "SIGNATURE_APDU", "signatureResult", "apiMock", "args", "dataStoreService", "continueTaskFactory", "result", "resultError"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as a,UnknownDeviceExchangeError as l}from"@ledgerhq/device-management-kit";import{Maybe as d,Nothing as b}from"purify-ts";import{SignPsbtCommand as m}from"../../app-binder/command/SignPsbtCommand";import{SignPsbtTask as c}from"../../app-binder/task/SignPsbtTask";const u=Uint8Array.from([0,32,241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210]),p=Uint8Array.from([255,254,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]),y=Uint8Array.from([255,255,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]);describe("SignPsbtTask",()=>{describe("run",()=>{it("should return partial signatures",async()=>{const x={sendCommand:jest.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:jest.fn(()=>Uint8Array.from([5]))},s={getVarint:jest.fn(()=>d.of(42))},f=()=>({run:jest.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[u]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,s,f).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,pubkey:Uint8Array.from([241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95]),signature:Uint8Array.from([18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210])}]}))}),it("should return musig partial signatures",async()=>{const x={sendCommand:jest.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:jest.fn(()=>Uint8Array.from([5]))},s={getVarint:jest.fn(()=>d.of(42))},f=()=>({run:jest.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[p]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,s,f).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,partialSignature:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))}),it("should return musig pub nonce",async()=>{const x={sendCommand:jest.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:jest.fn(()=>Uint8Array.from([5]))},s={getVarint:jest.fn(()=>d.of(42))},f=()=>({run:jest.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[y]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,s,f).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,pubnonce:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))})}),describe("errors",()=>{it("should return an error if continue task fails",async()=>{const x={sendCommand:jest.fn()},e={getGlobalValue:jest.fn(()=>b)},t={},n={},r={},o={getId:jest.fn(()=>Uint8Array.from([5]))},s={getVarint:jest.fn(()=>d.of(42))},f=()=>({run:jest.fn().mockResolvedValue(a({error:new l("Failed")}))}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,s,f).run();expect(i).toStrictEqual(a({error:new l("Failed")}))})})});
1
+ import{CommandResultFactory as a,UnknownDeviceExchangeError as l}from"@ledgerhq/device-management-kit";import{Maybe as d,Nothing as b}from"purify-ts";import{SignPsbtCommand as m}from"../../app-binder/command/SignPsbtCommand";import{SignPsbtTask as c}from"../../app-binder/task/SignPsbtTask";const u=Uint8Array.from([0,32,241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210]),p=Uint8Array.from([255,254,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]),y=Uint8Array.from([255,255,255,255,255,0,0,0,0,0,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60]);describe("SignPsbtTask",()=>{describe("run",()=>{it("should return partial signatures",async()=>{const x={sendCommand:vi.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:vi.fn(()=>Uint8Array.from([5]))},f={getVarint:vi.fn(()=>d.of(42))},s=()=>({run:vi.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[u]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,f,s).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,pubkey:Uint8Array.from([241,232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95]),signature:Uint8Array.from([18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210])}]}))}),it("should return musig partial signatures",async()=>{const x={sendCommand:vi.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:vi.fn(()=>Uint8Array.from([5]))},f={getVarint:vi.fn(()=>d.of(42))},s=()=>({run:vi.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[p]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,f,s).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,partialSignature:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))}),it("should return musig pub nonce",async()=>{const x={sendCommand:vi.fn()},e={getGlobalValue:()=>d.of(Uint8Array.from([3]))},t={hmac:Uint8Array.from([4])},n={globalCommitment:Uint8Array.from([3]),inputsRoot:Uint8Array.from([1]),outputsRoot:Uint8Array.from([2])},r={},o={getId:vi.fn(()=>Uint8Array.from([5]))},f={getVarint:vi.fn(()=>d.of(42))},s=()=>({run:vi.fn().mockResolvedValue(a({data:[]})),getYieldedResults:()=>[y]}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,f,s).run();expect(x.sendCommand).toHaveBeenCalledWith(new m({globalCommitment:Uint8Array.from([3]),inputsCount:42,inputsRoot:Uint8Array.from([1]),outputsCount:42,outputsRoot:Uint8Array.from([2]),walletId:Uint8Array.from([5]),walletHmac:Uint8Array.from([4])})),expect(i).toStrictEqual(a({data:[{inputIndex:0,pubnonce:Uint8Array.from([232,66,68,127,174,123,28,110,183,168,167,133,247,118,250,25,169,58,185,108,193,238,238,233,71,193,113,19,56,95,95,18,77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89,1]),participantPubkey:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60,89]),aggregatedPubkey:Uint8Array.from([89,65,19,229,113,0,6,61,157,204,215,143,179,147,130,219,248,10,143,17,80,253,89,217,254,183,158,37,59,210,254,238,51]),tapleafHash:Uint8Array.from([77,99,92,242,82,174,38,166,123,226,119,113,46,173,7,180,72,150,223,176,22,252,157,3,163,233,34,189,154,1,102,60])}]}))})}),describe("errors",()=>{it("should return an error if continue task fails",async()=>{const x={sendCommand:vi.fn()},e={getGlobalValue:vi.fn(()=>b)},t={},n={},r={},o={getId:vi.fn(()=>Uint8Array.from([5]))},f={getVarint:vi.fn(()=>d.of(42))},s=()=>({run:vi.fn().mockResolvedValue(a({error:new l("Failed")}))}),i=await new c(x,{psbt:e,wallet:t,psbtCommitment:n,dataStore:r},o,f,s).run();expect(i).toStrictEqual(a({error:new l("Failed")}))})})});
2
2
  //# sourceMappingURL=SignPsbtTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/SignPsbtTask.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Maybe, Nothing } from \"purify-ts\";\n\nimport { SignPsbtCommand } from \"@internal/app-binder/command/SignPsbtCommand\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { SignPsbtTask } from \"@internal/app-binder/task/SignPsbtTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { PsbtCommitment } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt } from \"@internal/psbt/model/Psbt\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nconst SIGN_PSBT_YIELD_PARIAL_SIG_RESULT = Uint8Array.from([\n 0x00, 0x20, 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee,\n 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2,\n 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48,\n 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59,\n 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT = Uint8Array.from([\n 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13,\n 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b,\n 0xd2, 0xfe, 0xee, 0x33, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc,\n 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT = Uint8Array.from([\n 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01, 0x4d, 0x63,\n 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07,\n 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d,\n 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50,\n 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2, 0xfe, 0xee, 0x33, 0x4d,\n 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad,\n 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22,\n 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\ndescribe(\"SignPsbtTask\", () => {\n describe(\"run\", () => {\n it(\"should return partial signatures\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([\n 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7,\n 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9,\n 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f,\n ]),\n signature: Uint8Array.from([\n 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf,\n 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a,\n 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00,\n 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7,\n 0x9e, 0x25, 0x3b, 0xd2,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig partial signatures\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n partialSignature: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig pub nonce\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubnonce: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6,\n 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96,\n 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n });\n describe(\"errors\", () => {\n it(\"should return an error if continue task fails\", async () => {\n // given\n const api = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: jest.fn(() => Nothing),\n } as unknown as Psbt;\n const wallet = {} as Wallet;\n const psbtCommitment = {} as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: jest.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: jest.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: jest.fn().mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n // when\n const result = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Maybe, Nothing } from \"purify-ts\";\n\nimport { SignPsbtCommand } from \"@internal/app-binder/command/SignPsbtCommand\";\nimport { type ContinueTask } from \"@internal/app-binder/task/ContinueTask\";\nimport { SignPsbtTask } from \"@internal/app-binder/task/SignPsbtTask\";\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport type { PsbtCommitment } from \"@internal/data-store/service/DataStoreService\";\nimport { type Psbt } from \"@internal/psbt/model/Psbt\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nconst SIGN_PSBT_YIELD_PARIAL_SIG_RESULT = Uint8Array.from([\n 0x00, 0x20, 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee,\n 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2,\n 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48,\n 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59,\n 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT = Uint8Array.from([\n 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13,\n 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b,\n 0xd2, 0xfe, 0xee, 0x33, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc,\n 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\nconst SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT = Uint8Array.from([\n 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x42, 0x44,\n 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19,\n 0xa9, 0x3a, 0xb9, 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d,\n 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01, 0x4d, 0x63,\n 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07,\n 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d,\n 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11, 0x50,\n 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2, 0xfe, 0xee, 0x33, 0x4d,\n 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad,\n 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22,\n 0xbd, 0x9a, 0x01, 0x66, 0x3c,\n]);\n\ndescribe(\"SignPsbtTask\", () => {\n describe(\"run\", () => {\n it(\"should return partial signatures\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubkey: Uint8Array.from([\n 0xf1, 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7,\n 0xa8, 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9,\n 0x6c, 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38,\n 0x5f, 0x5f,\n ]),\n signature: Uint8Array.from([\n 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b,\n 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf,\n 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a,\n 0x01, 0x66, 0x3c, 0x59, 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00,\n 0x06, 0x3d, 0x9d, 0xcc, 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb,\n 0xf8, 0x0a, 0x8f, 0x11, 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7,\n 0x9e, 0x25, 0x3b, 0xd2,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig partial signatures\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n partialSignature: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n it(\"should return musig pub nonce\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: () => Maybe.of(Uint8Array.from([0x03])),\n } as unknown as Psbt;\n const wallet = {\n hmac: Uint8Array.from([0x04]),\n } as Wallet;\n const psbtCommitment = {\n globalCommitment: Uint8Array.from([0x03]),\n inputsRoot: Uint8Array.from([0x01]),\n outputsRoot: Uint8Array.from([0x02]),\n } as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n data: [],\n }),\n ),\n getYieldedResults: () => [SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT],\n }) as unknown as ContinueTask;\n\n // when\n const signatures = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(api.sendCommand).toHaveBeenCalledWith(\n new SignPsbtCommand({\n globalCommitment: Uint8Array.from([0x03]),\n inputsCount: 42,\n inputsRoot: Uint8Array.from([0x01]),\n outputsCount: 42,\n outputsRoot: Uint8Array.from([0x02]),\n walletId: Uint8Array.from([0x05]),\n walletHmac: Uint8Array.from([0x04]),\n }),\n );\n expect(signatures).toStrictEqual(\n CommandResultFactory({\n data: [\n {\n inputIndex: 0,\n pubnonce: Uint8Array.from([\n 0xe8, 0x42, 0x44, 0x7f, 0xae, 0x7b, 0x1c, 0x6e, 0xb7, 0xa8,\n 0xa7, 0x85, 0xf7, 0x76, 0xfa, 0x19, 0xa9, 0x3a, 0xb9, 0x6c,\n 0xc1, 0xee, 0xee, 0xe9, 0x47, 0xc1, 0x71, 0x13, 0x38, 0x5f,\n 0x5f, 0x12, 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6,\n 0x7b, 0xe2, 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96,\n 0xdf, 0xb0, 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd,\n 0x9a, 0x01, 0x66, 0x3c, 0x59, 0x01,\n ]),\n participantPubkey: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c, 0x59,\n ]),\n aggregatedPubkey: Uint8Array.from([\n 0x59, 0x41, 0x13, 0xe5, 0x71, 0x00, 0x06, 0x3d, 0x9d, 0xcc,\n 0xd7, 0x8f, 0xb3, 0x93, 0x82, 0xdb, 0xf8, 0x0a, 0x8f, 0x11,\n 0x50, 0xfd, 0x59, 0xd9, 0xfe, 0xb7, 0x9e, 0x25, 0x3b, 0xd2,\n 0xfe, 0xee, 0x33,\n ]),\n tapleafHash: Uint8Array.from([\n 0x4d, 0x63, 0x5c, 0xf2, 0x52, 0xae, 0x26, 0xa6, 0x7b, 0xe2,\n 0x77, 0x71, 0x2e, 0xad, 0x07, 0xb4, 0x48, 0x96, 0xdf, 0xb0,\n 0x16, 0xfc, 0x9d, 0x03, 0xa3, 0xe9, 0x22, 0xbd, 0x9a, 0x01,\n 0x66, 0x3c,\n ]),\n },\n ],\n }),\n );\n });\n });\n describe(\"errors\", () => {\n it(\"should return an error if continue task fails\", async () => {\n // given\n const api = {\n sendCommand: vi.fn(),\n } as unknown as InternalApi;\n const psbt = {\n getGlobalValue: vi.fn(() => Nothing),\n } as unknown as Psbt;\n const wallet = {} as Wallet;\n const psbtCommitment = {} as PsbtCommitment;\n const dataStore = {} as DataStore;\n const walletSerializer = {\n getId: vi.fn(() => Uint8Array.from([0x05])),\n } as unknown as WalletSerializer;\n const valueParser = {\n getVarint: vi.fn(() => Maybe.of(42)),\n } as unknown as ValueParser;\n const continueTaskFactory = () =>\n ({\n run: vi.fn().mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n ),\n }) as unknown as ContinueTask;\n // when\n const result = await new SignPsbtTask(\n api,\n {\n psbt,\n wallet,\n psbtCommitment,\n dataStore,\n },\n walletSerializer,\n valueParser,\n continueTaskFactory,\n ).run();\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Failed\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["CommandResultFactory", "UnknownDeviceExchangeError", "Maybe", "Nothing", "SignPsbtCommand", "SignPsbtTask", "SIGN_PSBT_YIELD_PARIAL_SIG_RESULT", "SIGN_PSBT_YIELD_MUSIG_PARIAL_SIG_RESULT", "SIGN_PSBT_YIELD_MUSIG_PUB_NONCE_RESULT", "api", "psbt", "wallet", "psbtCommitment", "dataStore", "walletSerializer", "valueParser", "continueTaskFactory", "signatures", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as x}from"@ledgerhq/device-management-kit";import{Right as p}from"purify-ts";import{UpdatePsbtTask as S}from"../../app-binder/task/UpdatePsbtTask";import{Key as n}from"../../psbt/model/Key";import{Psbt as a,PsbtGlobal as o,PsbtIn as r}from"../../psbt/model/Psbt";import{Value as t}from"../../psbt/model/Value";import{DefaultValueParser as U}from"../../psbt/service/value/DefaultValueParser";describe("UpdatePsbtTask",()=>{it("should update taproot psbt with signatures",async()=>{const e=Uint8Array.from(new Array(64).fill(100)),i={inputIndex:0,signature:e,pubkey:Uint8Array.from([33])},w=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.TAP_BIP32_DERIVATION,Uint8Array.from([1,3,4,17])).toHexaString(),new t(Uint8Array.from([16,18]))],[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),s={map:jest.fn(()=>p(w))},m=await new S({psbt:"",signatures:[i]},new U,s).run();expect(m).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTWITNESS).toHexaString(),new t(Uint8Array.from([1,64,...e]))]])])}))}),it("should update legacy psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},i=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new t(Uint8Array.from([]))],[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),w={map:jest.fn(()=>p(i))},s=await new S({psbt:"",signatures:[e]},new U,w).run();expect(s).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTSIG).toHexaString(),new t(Uint8Array.from([1,66,1,33]))]])])}))}),it("should update legacy segwit psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},i=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new t(Uint8Array.from([]))],[new n(r.WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),w={map:jest.fn(()=>p(i))},s=await new S({psbt:"",signatures:[e]},new U,w).run();expect(s).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTWITNESS).toHexaString(),new t(Uint8Array.from([2,1,66,1,33]))],[new n(r.FINAL_SCRIPTSIG).toHexaString(),new t(Uint8Array.from([2,9,153]))]])])}))})});
1
+ import{CommandResultFactory as x}from"@ledgerhq/device-management-kit";import{Right as p}from"purify-ts";import{UpdatePsbtTask as S}from"../../app-binder/task/UpdatePsbtTask";import{Key as n}from"../../psbt/model/Key";import{Psbt as a,PsbtGlobal as o,PsbtIn as r}from"../../psbt/model/Psbt";import{Value as t}from"../../psbt/model/Value";import{DefaultValueParser as U}from"../../psbt/service/value/DefaultValueParser";describe("UpdatePsbtTask",()=>{it("should update taproot psbt with signatures",async()=>{const e=Uint8Array.from(new Array(64).fill(100)),i={inputIndex:0,signature:e,pubkey:Uint8Array.from([33])},w=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.TAP_BIP32_DERIVATION,Uint8Array.from([1,3,4,17])).toHexaString(),new t(Uint8Array.from([16,18]))],[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),s={map:vi.fn(()=>p(w))},m=await new S({psbt:"",signatures:[i]},new U,s).run();expect(m).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTWITNESS).toHexaString(),new t(Uint8Array.from([1,64,...e]))]])])}))}),it("should update legacy psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},i=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new t(Uint8Array.from([]))],[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),w={map:vi.fn(()=>p(i))},s=await new S({psbt:"",signatures:[e]},new U,w).run();expect(s).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.NON_WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTSIG).toHexaString(),new t(Uint8Array.from([1,66,1,33]))]])])}))}),it("should update legacy segwit psbt with signatures",async()=>{const e={inputIndex:0,signature:Uint8Array.from([66]),pubkey:Uint8Array.from([33])},i=new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.of(1))]]),[new Map([[new n(r.BIP32_DERIVATION,Uint8Array.from([1,2])).toHexaString(),new t(Uint8Array.from([]))],[new n(r.WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))]])]),w={map:vi.fn(()=>p(i))},s=await new S({psbt:"",signatures:[e]},new U,w).run();expect(s).toStrictEqual(x({data:new a(new Map([[new n(o.INPUT_COUNT).toHexaString(),new t(Uint8Array.from([1]))]]),[new Map([[new n(r.WITNESS_UTXO).toHexaString(),new t(Uint8Array.from([]))],[new n(r.REDEEM_SCRIPT).toHexaString(),new t(Uint8Array.from([9,153]))],[new n(r.FINAL_SCRIPTWITNESS).toHexaString(),new t(Uint8Array.from([2,1,66,1,33]))],[new n(r.FINAL_SCRIPTSIG).toHexaString(),new t(Uint8Array.from([2,9,153]))]])])}))})});
2
2
  //# sourceMappingURL=UpdatePsbtTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/UpdatePsbtTask.test.ts"],
4
- "sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { UpdatePsbtTask } from \"@internal/app-binder/task/UpdatePsbtTask\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt, PsbtGlobal, PsbtIn } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\ndescribe(\"UpdatePsbtTask\", () => {\n it(\"should update taproot psbt with signatures\", async () => {\n // given\n const schnorr = Uint8Array.from(new Array(64).fill(0x64));\n const signature = {\n inputIndex: 0,\n signature: schnorr,\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.TAP_BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x03, 0x04, 0x11]),\n ).toHexaString(),\n new Value(Uint8Array.from([0x10, 0x12])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: jest.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x40, ...schnorr])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: jest.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x42, 0x01, 0x21])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy segwit psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: jest.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x01, 0x42, 0x01, 0x21])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x09, 0x99])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Right } from \"purify-ts\";\n\nimport { UpdatePsbtTask } from \"@internal/app-binder/task/UpdatePsbtTask\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt, PsbtGlobal, PsbtIn } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\ndescribe(\"UpdatePsbtTask\", () => {\n it(\"should update taproot psbt with signatures\", async () => {\n // given\n const schnorr = Uint8Array.from(new Array(64).fill(0x64));\n const signature = {\n inputIndex: 0,\n signature: schnorr,\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.TAP_BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x03, 0x04, 0x11]),\n ).toHexaString(),\n new Value(Uint8Array.from([0x10, 0x12])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x40, ...schnorr])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.NON_WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x01, 0x42, 0x01, 0x21])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n it(\"should update legacy segwit psbt with signatures\", async () => {\n // given\n const signature = {\n inputIndex: 0,\n signature: Uint8Array.from([0x42]),\n pubkey: Uint8Array.from([0x21]),\n };\n\n const fakePsbt = new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.of(1)),\n ],\n ]),\n [\n new Map([\n [\n new Key(\n PsbtIn.BIP32_DERIVATION,\n Uint8Array.from([0x01, 0x02]),\n ).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n ]),\n ],\n );\n\n const psbtMapperMock = {\n map: vi.fn(() => Right(fakePsbt)),\n } as unknown as PsbtMapper;\n\n // when\n const result = await new UpdatePsbtTask(\n {\n psbt: \"\",\n signatures: [signature],\n },\n new DefaultValueParser(),\n psbtMapperMock,\n ).run();\n\n // then\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: new Psbt(\n new Map([\n [\n new Key(PsbtGlobal.INPUT_COUNT).toHexaString(),\n new Value(Uint8Array.from([1])),\n ],\n ]),\n [\n new Map([\n [\n new Key(PsbtIn.WITNESS_UTXO).toHexaString(),\n new Value(Uint8Array.from([])),\n ],\n [\n new Key(PsbtIn.REDEEM_SCRIPT).toHexaString(),\n new Value(Uint8Array.from([0x09, 0x99])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTWITNESS).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x01, 0x42, 0x01, 0x21])),\n ],\n [\n new Key(PsbtIn.FINAL_SCRIPTSIG).toHexaString(),\n new Value(Uint8Array.from([0x02, 0x09, 0x99])),\n ],\n ]),\n ],\n ),\n }),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["CommandResultFactory", "Right", "UpdatePsbtTask", "Key", "Psbt", "PsbtGlobal", "PsbtIn", "Value", "DefaultValueParser", "schnorr", "signature", "fakePsbt", "psbtMapperMock", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as t}from"inversify";import{dataStoreTypes as e}from"../../data-store/di/dataStoreTypes";import{DefaultDataStoreService as r}from"../../data-store/service/DefaultDataStoreService";const p=()=>new t((o,n,a,i,d,c,m)=>{o(e.DataStoreService).to(r)});export{p as dataStoreModuleFactory};
1
+ import{ContainerModule as t}from"inversify";import{dataStoreTypes as e}from"../../data-store/di/dataStoreTypes";import{DefaultDataStoreService as r}from"../../data-store/service/DefaultDataStoreService";const S=()=>new t(({bind:o})=>{o(e.DataStoreService).to(r)});export{S as dataStoreModuleFactory};
2
2
  //# sourceMappingURL=dataStoreModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/data-store/di/dataStoreModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport { DefaultDataStoreService } from \"@internal/data-store/service/DefaultDataStoreService\";\n\nexport const dataStoreModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(dataStoreTypes.DataStoreService).to(DefaultDataStoreService);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,kBAAAC,MAAsB,yCAC/B,OAAS,2BAAAC,MAA+B,uDAEjC,MAAMC,EAAyB,IACpC,IAAIH,EACF,CACEI,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKH,EAAe,gBAAgB,EAAE,GAAGC,CAAuB,CAClE,CACF",
6
- "names": ["ContainerModule", "dataStoreTypes", "DefaultDataStoreService", "dataStoreModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport { DefaultDataStoreService } from \"@internal/data-store/service/DefaultDataStoreService\";\n\nexport const dataStoreModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(dataStoreTypes.DataStoreService).to(DefaultDataStoreService);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,kBAAAC,MAAsB,yCAC/B,OAAS,2BAAAC,MAA+B,uDAEjC,MAAMC,EAAyB,IACpC,IAAIH,EAAgB,CAAC,CAAE,KAAAI,CAAK,IAAM,CAChCA,EAAKH,EAAe,gBAAgB,EAAE,GAAGC,CAAuB,CAClE,CAAC",
6
+ "names": ["ContainerModule", "dataStoreTypes", "DefaultDataStoreService", "dataStoreModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as o}from"inversify";import{dataStoreModuleFactory as r}from"./dataStoreModule";describe("DataStoreModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=r(),t=new o,t.load(e)}),it("should return the data store service module",()=>{expect(e).toBeDefined()})})});
1
+ import{Container as o}from"inversify";import{dataStoreModuleFactory as r}from"./dataStoreModule";describe("DataStoreModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=r(),t=new o,t.loadSync(e)}),it("should return the data store service module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=dataStoreModule.test.js.map