@ledgerhq/device-signer-kit-bitcoin 0.0.0-signer-eth-20250122093657 → 0.0.0-sol-signer-20251203164116

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 (424) hide show
  1. package/README.md +100 -32
  2. package/lib/cjs/api/SignerBtc.js +1 -1
  3. package/lib/cjs/api/SignerBtc.js.map +1 -1
  4. package/lib/cjs/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  5. package/lib/cjs/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  6. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js +1 -1
  7. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js.map +1 -1
  8. package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +1 -1
  9. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js +1 -1
  10. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js.map +1 -1
  11. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js +1 -1
  12. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js.map +1 -1
  13. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  14. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  15. package/lib/cjs/api/model/AddressOptions.js +1 -1
  16. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  17. package/lib/cjs/api/model/MessageOptions.js +2 -0
  18. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  19. package/lib/cjs/api/model/PsbtOptions.js +2 -0
  20. package/lib/cjs/api/model/PsbtOptions.js.map +7 -0
  21. package/lib/cjs/api/model/WalletAddressOptions.js +1 -1
  22. package/lib/cjs/api/model/WalletAddressOptions.js.map +1 -1
  23. package/lib/cjs/index.js.map +1 -1
  24. package/lib/cjs/internal/DefaultSignerBtc.js +1 -1
  25. package/lib/cjs/internal/DefaultSignerBtc.js.map +3 -3
  26. package/lib/cjs/internal/DefaultSignerBtc.test.js +1 -1
  27. package/lib/cjs/internal/DefaultSignerBtc.test.js.map +2 -2
  28. package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
  29. package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +3 -3
  30. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js +1 -1
  31. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  32. package/lib/cjs/internal/app-binder/command/ContinueCommand.js +1 -1
  33. package/lib/cjs/internal/app-binder/command/ContinueCommand.js.map +2 -2
  34. package/lib/cjs/internal/app-binder/command/ContinueCommand.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/command/ContinueCommand.test.js.map +3 -3
  36. package/lib/cjs/internal/app-binder/command/GetExtendedPublicKeyCommand.js +1 -1
  37. package/lib/cjs/internal/app-binder/command/GetExtendedPublicKeyCommand.js.map +2 -2
  38. package/lib/cjs/internal/app-binder/command/GetExtendedPublicKeyCommand.test.js +1 -1
  39. package/lib/cjs/internal/app-binder/command/GetExtendedPublicKeyCommand.test.js.map +2 -2
  40. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.js +1 -1
  41. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.js.map +2 -2
  42. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  43. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  44. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.js +1 -1
  45. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.js.map +2 -2
  46. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  47. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  48. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.js +1 -1
  49. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.js.map +2 -2
  50. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  51. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  52. package/lib/cjs/internal/app-binder/command/SignMessageCommand.js +1 -1
  53. package/lib/cjs/internal/app-binder/command/SignMessageCommand.js.map +2 -2
  54. package/lib/cjs/internal/app-binder/command/SignMessageCommand.test.js +1 -1
  55. package/lib/cjs/internal/app-binder/command/SignMessageCommand.test.js.map +3 -3
  56. package/lib/cjs/internal/app-binder/command/SignPsbtCommand.js +1 -1
  57. package/lib/cjs/internal/app-binder/command/SignPsbtCommand.js.map +2 -2
  58. package/lib/cjs/internal/app-binder/command/SignPsbtCommand.test.js +1 -1
  59. package/lib/cjs/internal/app-binder/command/SignPsbtCommand.test.js.map +2 -2
  60. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  61. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  62. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  63. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  64. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  65. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  66. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  67. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  68. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  69. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  70. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  71. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  72. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  73. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  74. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  75. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  76. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  77. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  78. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  79. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  80. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  81. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  82. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  83. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  84. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  85. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  86. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  87. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  88. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  89. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  90. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  91. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  92. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js +1 -1
  93. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  94. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +1 -1
  95. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +2 -2
  96. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  97. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  98. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js +1 -1
  99. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  100. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  101. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  102. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  103. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  104. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
  105. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  106. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  107. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  108. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  109. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  110. package/lib/cjs/internal/data-store/di/dataStoreModule.js +1 -1
  111. package/lib/cjs/internal/data-store/di/dataStoreModule.js.map +3 -3
  112. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js +1 -1
  113. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  114. package/lib/cjs/internal/data-store/model/DataStore.test.js +1 -1
  115. package/lib/cjs/internal/data-store/model/DataStore.test.js.map +2 -2
  116. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  117. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  118. package/lib/cjs/internal/di.js +1 -1
  119. package/lib/cjs/internal/di.js.map +2 -2
  120. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  121. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  122. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  123. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  124. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  125. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  126. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  127. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  128. package/lib/cjs/internal/psbt/di/psbtModule.js +1 -1
  129. package/lib/cjs/internal/psbt/di/psbtModule.js.map +3 -3
  130. package/lib/cjs/internal/psbt/di/psbtModule.test.js +1 -1
  131. package/lib/cjs/internal/psbt/di/psbtModule.test.js.map +2 -2
  132. package/lib/cjs/internal/psbt/model/Key.js +1 -1
  133. package/lib/cjs/internal/psbt/model/Key.js.map +2 -2
  134. package/lib/cjs/internal/psbt/service/key-pair/DefaultKeyPairSerializer.test.js +1 -1
  135. package/lib/cjs/internal/psbt/service/key-pair/DefaultKeyPairSerializer.test.js.map +1 -1
  136. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  137. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  138. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  139. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  140. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  141. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  142. package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
  143. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
  144. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js +1 -1
  145. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  146. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  147. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  148. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  149. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  150. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  151. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  152. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  153. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  154. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  155. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  156. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  157. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  158. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  159. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  160. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  161. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  162. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  163. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  164. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  165. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  166. package/lib/cjs/internal/wallet/di/walletModule.js +1 -1
  167. package/lib/cjs/internal/wallet/di/walletModule.js.map +3 -3
  168. package/lib/cjs/internal/wallet/di/walletModule.test.js +1 -1
  169. package/lib/cjs/internal/wallet/di/walletModule.test.js.map +2 -2
  170. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  171. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  172. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  173. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  174. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  175. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  176. package/lib/cjs/package.json +45 -41
  177. package/lib/esm/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  178. package/lib/esm/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  179. package/lib/esm/api/model/MessageOptions.js +1 -0
  180. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  181. package/lib/esm/api/model/PsbtOptions.js +1 -0
  182. package/lib/esm/api/model/PsbtOptions.js.map +7 -0
  183. package/lib/esm/internal/DefaultSignerBtc.js +1 -1
  184. package/lib/esm/internal/DefaultSignerBtc.js.map +3 -3
  185. package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
  186. package/lib/esm/internal/DefaultSignerBtc.test.js.map +2 -2
  187. package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
  188. package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
  189. package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
  190. package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  191. package/lib/esm/internal/app-binder/command/ContinueCommand.js +1 -1
  192. package/lib/esm/internal/app-binder/command/ContinueCommand.js.map +2 -2
  193. package/lib/esm/internal/app-binder/command/ContinueCommand.test.js +1 -1
  194. package/lib/esm/internal/app-binder/command/ContinueCommand.test.js.map +3 -3
  195. package/lib/esm/internal/app-binder/command/GetExtendedPublicKeyCommand.js +1 -1
  196. package/lib/esm/internal/app-binder/command/GetExtendedPublicKeyCommand.js.map +2 -2
  197. package/lib/esm/internal/app-binder/command/GetExtendedPublicKeyCommand.test.js +1 -1
  198. package/lib/esm/internal/app-binder/command/GetExtendedPublicKeyCommand.test.js.map +2 -2
  199. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.js +1 -1
  200. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.js.map +2 -2
  201. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  202. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  203. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.js +1 -1
  204. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.js.map +2 -2
  205. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  206. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  207. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.js +1 -1
  208. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.js.map +2 -2
  209. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  210. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  211. package/lib/esm/internal/app-binder/command/SignMessageCommand.js +1 -1
  212. package/lib/esm/internal/app-binder/command/SignMessageCommand.js.map +2 -2
  213. package/lib/esm/internal/app-binder/command/SignMessageCommand.test.js +1 -1
  214. package/lib/esm/internal/app-binder/command/SignMessageCommand.test.js.map +3 -3
  215. package/lib/esm/internal/app-binder/command/SignPsbtCommand.js +1 -1
  216. package/lib/esm/internal/app-binder/command/SignPsbtCommand.js.map +2 -2
  217. package/lib/esm/internal/app-binder/command/SignPsbtCommand.test.js +1 -1
  218. package/lib/esm/internal/app-binder/command/SignPsbtCommand.test.js.map +2 -2
  219. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  220. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  221. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  222. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  223. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  224. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  225. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  226. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  227. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  228. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  229. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  230. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  231. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  232. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  233. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  234. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  235. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  236. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  237. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  238. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  239. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  240. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  241. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  242. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  243. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  244. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  245. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  246. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  247. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  248. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  249. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  250. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  251. package/lib/esm/internal/app-binder/di/appBinderModule.test.js +1 -1
  252. package/lib/esm/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  253. package/lib/esm/internal/app-binder/di/appBinderTypes.js +1 -1
  254. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +2 -2
  255. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  256. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  257. package/lib/esm/internal/app-binder/task/ContinueTask.test.js +1 -1
  258. package/lib/esm/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  259. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  260. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  261. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  262. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  263. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
  264. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  265. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  266. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  267. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  268. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  269. package/lib/esm/internal/data-store/di/dataStoreModule.js +1 -1
  270. package/lib/esm/internal/data-store/di/dataStoreModule.js.map +3 -3
  271. package/lib/esm/internal/data-store/di/dataStoreModule.test.js +1 -1
  272. package/lib/esm/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  273. package/lib/esm/internal/data-store/model/DataStore.test.js +1 -1
  274. package/lib/esm/internal/data-store/model/DataStore.test.js.map +2 -2
  275. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  276. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  277. package/lib/esm/internal/di.js +1 -1
  278. package/lib/esm/internal/di.js.map +2 -2
  279. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  280. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  281. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  282. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  283. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  284. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  285. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  286. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  287. package/lib/esm/internal/psbt/di/psbtModule.js +1 -1
  288. package/lib/esm/internal/psbt/di/psbtModule.js.map +3 -3
  289. package/lib/esm/internal/psbt/di/psbtModule.test.js +1 -1
  290. package/lib/esm/internal/psbt/di/psbtModule.test.js.map +2 -2
  291. package/lib/esm/internal/psbt/model/Key.js +1 -1
  292. package/lib/esm/internal/psbt/model/Key.js.map +2 -2
  293. package/lib/esm/internal/psbt/service/key-pair/DefaultKeyPairSerializer.test.js +1 -1
  294. package/lib/esm/internal/psbt/service/key-pair/DefaultKeyPairSerializer.test.js.map +1 -1
  295. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  296. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  297. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  298. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  299. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  300. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  301. package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
  302. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
  303. package/lib/esm/internal/use-cases/di/useCasesModule.test.js +1 -1
  304. package/lib/esm/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  305. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  306. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  307. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  308. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  309. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  310. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  311. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  312. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  313. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  314. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  315. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  316. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  317. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  318. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  319. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  320. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  321. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  322. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  323. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  324. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  325. package/lib/esm/internal/wallet/di/walletModule.js +1 -1
  326. package/lib/esm/internal/wallet/di/walletModule.js.map +3 -3
  327. package/lib/esm/internal/wallet/di/walletModule.test.js +1 -1
  328. package/lib/esm/internal/wallet/di/walletModule.test.js.map +2 -2
  329. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  330. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  331. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  332. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  333. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  334. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  335. package/lib/esm/package.json +45 -41
  336. package/lib/types/api/SignerBtc.d.ts +7 -5
  337. package/lib/types/api/SignerBtc.d.ts.map +1 -1
  338. package/lib/types/api/SignerBtcBuilder.test.d.ts +2 -0
  339. package/lib/types/api/SignerBtcBuilder.test.d.ts.map +1 -0
  340. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts +3 -1
  341. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts.map +1 -1
  342. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +1 -0
  343. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
  344. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts +1 -12
  345. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts.map +1 -1
  346. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +1 -0
  347. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
  348. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +1 -0
  349. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  350. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  351. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  352. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  353. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  354. package/lib/types/api/model/PsbtOptions.d.ts +4 -0
  355. package/lib/types/api/model/PsbtOptions.d.ts.map +1 -0
  356. package/lib/types/api/model/Signature.d.ts.map +1 -1
  357. package/lib/types/api/model/WalletAddressOptions.d.ts +1 -0
  358. package/lib/types/api/model/WalletAddressOptions.d.ts.map +1 -1
  359. package/lib/types/internal/DefaultSignerBtc.d.ts +7 -5
  360. package/lib/types/internal/DefaultSignerBtc.d.ts.map +1 -1
  361. package/lib/types/internal/app-binder/BtcAppBinder.d.ts +4 -0
  362. package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
  363. package/lib/types/internal/app-binder/command/ContinueCommand.d.ts +1 -0
  364. package/lib/types/internal/app-binder/command/ContinueCommand.d.ts.map +1 -1
  365. package/lib/types/internal/app-binder/command/GetExtendedPublicKeyCommand.d.ts +1 -0
  366. package/lib/types/internal/app-binder/command/GetExtendedPublicKeyCommand.d.ts.map +1 -1
  367. package/lib/types/internal/app-binder/command/GetMasterFingerprintCommand.d.ts +1 -0
  368. package/lib/types/internal/app-binder/command/GetMasterFingerprintCommand.d.ts.map +1 -1
  369. package/lib/types/internal/app-binder/command/GetWalletAddressCommand.d.ts +1 -0
  370. package/lib/types/internal/app-binder/command/GetWalletAddressCommand.d.ts.map +1 -1
  371. package/lib/types/internal/app-binder/command/RegisterWalletAddressCommand.d.ts +1 -0
  372. package/lib/types/internal/app-binder/command/RegisterWalletAddressCommand.d.ts.map +1 -1
  373. package/lib/types/internal/app-binder/command/SignMessageCommand.d.ts +1 -0
  374. package/lib/types/internal/app-binder/command/SignMessageCommand.d.ts.map +1 -1
  375. package/lib/types/internal/app-binder/command/SignPsbtCommand.d.ts +1 -0
  376. package/lib/types/internal/app-binder/command/SignPsbtCommand.d.ts.map +1 -1
  377. package/lib/types/internal/app-binder/command/utils/bitcoinAppErrors.d.ts.map +1 -1
  378. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
  379. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
  380. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  381. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  382. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  383. package/lib/types/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.d.ts.map +1 -1
  384. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  385. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  386. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  387. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +0 -1
  388. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -1
  389. package/lib/types/internal/app-binder/task/GetWalletAddressTask.d.ts.map +1 -1
  390. package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
  391. package/lib/types/internal/app-binder/task/SignPsbtTask.d.ts.map +1 -1
  392. package/lib/types/internal/data-store/di/dataStoreModule.d.ts.map +1 -1
  393. package/lib/types/internal/di.d.ts.map +1 -1
  394. package/lib/types/internal/merkle-tree/di/merkleTreeModule.d.ts.map +1 -1
  395. package/lib/types/internal/psbt/di/psbtModule.d.ts.map +1 -1
  396. package/lib/types/internal/psbt/service/psbt/DefaultPsbtSerializer.d.ts +2 -2
  397. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
  398. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts +1 -0
  399. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts.map +1 -1
  400. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts +1 -1
  401. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts.map +1 -1
  402. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts +1 -1
  403. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts.map +1 -1
  404. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts +1 -1
  405. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts.map +1 -1
  406. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts +1 -1
  407. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts.map +1 -1
  408. package/lib/types/internal/wallet/di/walletModule.d.ts.map +1 -1
  409. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  410. package/package.json +42 -38
  411. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  412. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  413. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  414. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  415. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  416. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  417. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  418. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  419. package/lib/types/api/SignerBtcBuiilder.test.d.ts +0 -2
  420. package/lib/types/api/SignerBtcBuiilder.test.d.ts.map +0 -1
  421. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts +0 -19
  422. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts.map +0 -1
  423. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts +0 -2
  424. 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/wallet/di/walletModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { walletModuleFactory } from \"./walletModule\";\n\ndescribe(\"WalletModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof walletModuleFactory>;\n beforeEach(() => {\n mod = walletModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the wallet service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAoC,0BAEpC,SAAS,sBAAuB,IAAM,CACpC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,uBAAoB,EAC1BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { walletModuleFactory } from \"./walletModule\";\n\ndescribe(\"WalletModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof walletModuleFactory>;\n beforeEach(() => {\n mod = walletModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the wallet service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAoC,0BAEpC,SAAS,sBAAuB,IAAM,CACpC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,uBAAoB,EAC1BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_inversify", "import_walletModule", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},x=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of B(e))!M.call(n,r)&&r!==t&&s(n,r,{get:()=>e[r],enumerable:!(i=c(e,r))||i.enumerable});return n};var W=n=>x(s({},"__esModule",{value:!0}),n),p=(n,e,t,i)=>{for(var r=i>1?void 0:i?c(e,t):e,l=n.length-1,o;l>=0;l--)(o=n[l])&&(r=(i?o(e,t,r):o(r))||r);return i&&r&&s(e,t,r),r},f=(n,e)=>(t,i)=>e(t,i,n);var v={};g(v,{DefaultWalletBuilder:()=>m});module.exports=W(v);var k=require("@ledgerhq/device-management-kit"),a=require("inversify"),d=require("../../../api/model/Wallet"),T=require("../../merkle-tree/di/merkleTreeTypes"),y=require("../../wallet/model/Wallet");let m=class{constructor(e){this.merkleTreeBuilder=e}fromRegisteredWallet(e){const t=new TextEncoder,i=e.keys.map(o=>t.encode(o)),r=this.merkleTreeBuilder.build(i),l=t.encode(e.descriptorTemplate);return new y.Wallet({name:e.name,descriptorTemplate:e.descriptorTemplate,keys:e.keys,hmac:e.hmac,keysTree:r,descriptorBuffer:l})}fromDefaultWallet(e,t,i){const o=`${`[${(0,k.bufferToHexaString)(e).slice(2)}/${i.derivationPath}]`}${t}`,u="",h=new Uint8Array(32).fill(0);return this.fromRegisteredWallet(new d.RegisteredWallet(u,i.template,[o],h))}};m=p([(0,a.injectable)(),f(0,(0,a.inject)(T.merkleTreeTypes.MerkleTreeBuilder))],m);0&&(module.exports={DefaultWalletBuilder});
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},x=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of B(e))!M.call(n,r)&&r!==t&&s(n,r,{get:()=>e[r],enumerable:!(i=c(e,r))||i.enumerable});return n};var W=n=>x(s({},"__esModule",{value:!0}),n),p=(n,e,t,i)=>{for(var r=i>1?void 0:i?c(e,t):e,l=n.length-1,o;l>=0;l--)(o=n[l])&&(r=(i?o(e,t,r):o(r))||r);return i&&r&&s(e,t,r),r},f=(n,e)=>(t,i)=>e(t,i,n);var v={};g(v,{DefaultWalletBuilder:()=>m});module.exports=W(v);var k=require("@ledgerhq/device-management-kit"),a=require("inversify"),d=require("../../../api/model/Wallet"),T=require("../../merkle-tree/di/merkleTreeTypes"),y=require("../../wallet/model/Wallet");let m=class{constructor(e){this.merkleTreeBuilder=e}fromRegisteredWallet(e){const t=new TextEncoder,i=e.keys.map(o=>t.encode(o)),r=this.merkleTreeBuilder.build(i),l=t.encode(e.descriptorTemplate);return new y.Wallet({name:e.name,descriptorTemplate:e.descriptorTemplate,keys:e.keys,hmac:e.hmac,keysTree:r,descriptorBuffer:l})}fromDefaultWallet(e,t,i){const o=`${`[${(0,k.bufferToHexaString)(e,!1)}/${i.derivationPath}]`}${t}`,u="",h=new Uint8Array(32).fill(0);return this.fromRegisteredWallet(new d.RegisteredWallet(u,i.template,[o],h))}};m=p([(0,a.injectable)(),f(0,(0,a.inject)(T.merkleTreeTypes.MerkleTreeBuilder))],m);0&&(module.exports={DefaultWalletBuilder});
2
2
  //# sourceMappingURL=DefaultWalletBuilder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/wallet/service/DefaultWalletBuilder.ts"],
4
- "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { DefaultWallet, RegisteredWallet } from \"@api/model/Wallet\";\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport type { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\n\n@injectable()\nexport class DefaultWalletBuilder implements WalletBuilder {\n constructor(\n @inject(merkleTreeTypes.MerkleTreeBuilder)\n private merkleTreeBuilder: MerkleTreeBuilder,\n ) {}\n\n fromRegisteredWallet(registeredWallet: RegisteredWallet): Wallet {\n const encoder = new TextEncoder();\n const keyBuffers = registeredWallet.keys.map((key) => encoder.encode(key));\n const keysTree = this.merkleTreeBuilder.build(keyBuffers);\n const descriptorBuffer = encoder.encode(\n registeredWallet.descriptorTemplate,\n );\n return new Wallet({\n name: registeredWallet.name,\n descriptorTemplate: registeredWallet.descriptorTemplate,\n keys: registeredWallet.keys,\n hmac: registeredWallet.hmac,\n keysTree: keysTree,\n descriptorBuffer,\n });\n }\n\n fromDefaultWallet(\n masterFingerprint: Uint8Array,\n extendedPublicKey: string,\n wallet: DefaultWallet,\n ): Wallet {\n // For internal keys, the xpub should be put after key origin informations\n // https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/wallet.md#keys-information-vector\n const hexMasterFingerprint = bufferToHexaString(masterFingerprint).slice(2);\n const keyOrigin = `[${hexMasterFingerprint}/${wallet.derivationPath}]`;\n const key = `${keyOrigin}${extendedPublicKey}`;\n // Empty name for default wallets\n const name = \"\";\n // Default wallets hmac should be exactly 32 zeros as described here:\n // https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#get_wallet_address\n const hmac = new Uint8Array(32).fill(0);\n\n return this.fromRegisteredWallet(\n new RegisteredWallet(name, wallet.template, [key], hmac),\n );\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,2CACnCC,EAAmC,qBAEnCC,EAAgD,6BAChDC,EAAgC,oDAEhCD,EAAuB,yCAIhB,IAAME,EAAN,KAAoD,CACzD,YAEUC,EACR,CADQ,uBAAAA,CACP,CAEH,qBAAqBC,EAA4C,CAC/D,MAAMC,EAAU,IAAI,YACdC,EAAaF,EAAiB,KAAK,IAAKG,GAAQF,EAAQ,OAAOE,CAAG,CAAC,EACnEC,EAAW,KAAK,kBAAkB,MAAMF,CAAU,EAClDG,EAAmBJ,EAAQ,OAC/BD,EAAiB,kBACnB,EACA,OAAO,IAAI,SAAO,CAChB,KAAMA,EAAiB,KACvB,mBAAoBA,EAAiB,mBACrC,KAAMA,EAAiB,KACvB,KAAMA,EAAiB,KACvB,SAAUI,EACV,iBAAAC,CACF,CAAC,CACH,CAEA,kBACEC,EACAC,EACAC,EACQ,CAKR,MAAML,EAAM,GADM,OADW,sBAAmBG,CAAiB,EAAE,MAAM,CAAC,CAChC,IAAIE,EAAO,cAAc,GAC3C,GAAGD,CAAiB,GAEtCE,EAAO,GAGPC,EAAO,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,EAEtC,OAAO,KAAK,qBACV,IAAI,mBAAiBD,EAAMD,EAAO,SAAU,CAACL,CAAG,EAAGO,CAAI,CACzD,CACF,CACF,EA3CaZ,EAANa,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,kBAAgB,iBAAiB,IAFhCd",
4
+ "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { DefaultWallet, RegisteredWallet } from \"@api/model/Wallet\";\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport type { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\n\n@injectable()\nexport class DefaultWalletBuilder implements WalletBuilder {\n constructor(\n @inject(merkleTreeTypes.MerkleTreeBuilder)\n private merkleTreeBuilder: MerkleTreeBuilder,\n ) {}\n\n fromRegisteredWallet(registeredWallet: RegisteredWallet): Wallet {\n const encoder = new TextEncoder();\n const keyBuffers = registeredWallet.keys.map((key) => encoder.encode(key));\n const keysTree = this.merkleTreeBuilder.build(keyBuffers);\n const descriptorBuffer = encoder.encode(\n registeredWallet.descriptorTemplate,\n );\n return new Wallet({\n name: registeredWallet.name,\n descriptorTemplate: registeredWallet.descriptorTemplate,\n keys: registeredWallet.keys,\n hmac: registeredWallet.hmac,\n keysTree: keysTree,\n descriptorBuffer,\n });\n }\n\n fromDefaultWallet(\n masterFingerprint: Uint8Array,\n extendedPublicKey: string,\n wallet: DefaultWallet,\n ): Wallet {\n // For internal keys, the xpub should be put after key origin informations\n // https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/wallet.md#keys-information-vector\n const hexMasterFingerprint = bufferToHexaString(masterFingerprint, false);\n const keyOrigin = `[${hexMasterFingerprint}/${wallet.derivationPath}]`;\n const key = `${keyOrigin}${extendedPublicKey}`;\n // Empty name for default wallets\n const name = \"\";\n // Default wallets hmac should be exactly 32 zeros as described here:\n // https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#get_wallet_address\n const hmac = new Uint8Array(32).fill(0);\n\n return this.fromRegisteredWallet(\n new RegisteredWallet(name, wallet.template, [key], hmac),\n );\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,2CACnCC,EAAmC,qBAEnCC,EAAgD,6BAChDC,EAAgC,oDAEhCD,EAAuB,yCAIhB,IAAME,EAAN,KAAoD,CACzD,YAEUC,EACR,CADQ,uBAAAA,CACP,CAEH,qBAAqBC,EAA4C,CAC/D,MAAMC,EAAU,IAAI,YACdC,EAAaF,EAAiB,KAAK,IAAKG,GAAQF,EAAQ,OAAOE,CAAG,CAAC,EACnEC,EAAW,KAAK,kBAAkB,MAAMF,CAAU,EAClDG,EAAmBJ,EAAQ,OAC/BD,EAAiB,kBACnB,EACA,OAAO,IAAI,SAAO,CAChB,KAAMA,EAAiB,KACvB,mBAAoBA,EAAiB,mBACrC,KAAMA,EAAiB,KACvB,KAAMA,EAAiB,KACvB,SAAUI,EACV,iBAAAC,CACF,CAAC,CACH,CAEA,kBACEC,EACAC,EACAC,EACQ,CAKR,MAAML,EAAM,GADM,OADW,sBAAmBG,EAAmB,EAAK,CAC9B,IAAIE,EAAO,cAAc,GAC3C,GAAGD,CAAiB,GAEtCE,EAAO,GAGPC,EAAO,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,EAEtC,OAAO,KAAK,qBACV,IAAI,mBAAiBD,EAAMD,EAAO,SAAU,CAACL,CAAG,EAAGO,CAAI,CACzD,CACF,CACF,EA3CaZ,EAANa,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,kBAAgB,iBAAiB,IAFhCd",
6
6
  "names": ["DefaultWalletBuilder_exports", "__export", "DefaultWalletBuilder", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_Wallet", "import_merkleTreeTypes", "DefaultWalletBuilder", "merkleTreeBuilder", "registeredWallet", "encoder", "keyBuffers", "key", "keysTree", "descriptorBuffer", "masterFingerprint", "extendedPublicKey", "wallet", "name", "hmac", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=require("@ledgerhq/device-management-kit"),o=require("../../../api/model/Wallet"),i=require("../../merkle-tree/model/Leaf"),u=require("../../merkle-tree/model/MerkleTree"),s=require("./DefaultWalletBuilder");describe("DefaultWalletBuilder tests",()=>{const l=jest.fn(),d={build:l};it("Create registered wallet",()=>{const c=new s.DefaultWalletBuilder(d),a=new o.RegisteredWallet("Cold storage","wsh(sortedmulti(2,@0/**,@1/**))",["key1","key2"],new Uint8Array(32).fill(42)),n=new u.MerkleTree(new i.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]);l.mockReturnValueOnce(n);const e=c.fromRegisteredWallet(a),t=new TextEncoder;expect(l).toHaveBeenCalledWith([t.encode("key1"),t.encode("key2")]),expect(e.name).toStrictEqual("Cold storage"),expect(e.hmac).toStrictEqual(new Uint8Array(32).fill(42)),expect(e.descriptorTemplate).toStrictEqual("wsh(sortedmulti(2,@0/**,@1/**))"),expect(e.descriptorBuffer).toStrictEqual(t.encode("wsh(sortedmulti(2,@0/**,@1/**))")),expect(e.keys).toStrictEqual(["key1","key2"]),expect(e.keysTree).toStrictEqual(n)}),it("Create default wallet",()=>{const c=new s.DefaultWalletBuilder(d),a=new o.DefaultWallet("48'/1'/0'/0'",o.DefaultDescriptorTemplate.NATIVE_SEGWIT),n=(0,p.hexaStringToBuffer)("5c9e228d"),e="tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW",t=new u.MerkleTree(new i.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]);l.mockReturnValueOnce(t);const r=c.fromDefaultWallet(n,e,a),m=new TextEncoder;expect(l).toHaveBeenCalledWith([m.encode("[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW")]),expect(r.name).toStrictEqual(""),expect(r.hmac).toStrictEqual(new Uint8Array(32).fill(0)),expect(r.descriptorTemplate).toStrictEqual("wpkh(@0/**)"),expect(r.descriptorBuffer).toStrictEqual(m.encode("wpkh(@0/**)")),expect(r.keys).toStrictEqual(["[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW"]),expect(r.keysTree).toStrictEqual(t)})});
1
+ "use strict";var p=require("@ledgerhq/device-management-kit"),o=require("../../../api/model/Wallet"),i=require("../../merkle-tree/model/Leaf"),u=require("../../merkle-tree/model/MerkleTree"),s=require("./DefaultWalletBuilder");describe("DefaultWalletBuilder tests",()=>{const l=vi.fn(),d={build:l};it("Create registered wallet",()=>{const c=new s.DefaultWalletBuilder(d),a=new o.RegisteredWallet("Cold storage","wsh(sortedmulti(2,@0/**,@1/**))",["key1","key2"],new Uint8Array(32).fill(42)),n=new u.MerkleTree(new i.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]);l.mockReturnValueOnce(n);const e=c.fromRegisteredWallet(a),t=new TextEncoder;expect(l).toHaveBeenCalledWith([t.encode("key1"),t.encode("key2")]),expect(e.name).toStrictEqual("Cold storage"),expect(e.hmac).toStrictEqual(new Uint8Array(32).fill(42)),expect(e.descriptorTemplate).toStrictEqual("wsh(sortedmulti(2,@0/**,@1/**))"),expect(e.descriptorBuffer).toStrictEqual(t.encode("wsh(sortedmulti(2,@0/**,@1/**))")),expect(e.keys).toStrictEqual(["key1","key2"]),expect(e.keysTree).toStrictEqual(n)}),it("Create default wallet",()=>{const c=new s.DefaultWalletBuilder(d),a=new o.DefaultWallet("48'/1'/0'/0'",o.DefaultDescriptorTemplate.NATIVE_SEGWIT),n=(0,p.hexaStringToBuffer)("5c9e228d"),e="tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW",t=new u.MerkleTree(new i.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]);l.mockReturnValueOnce(t);const r=c.fromDefaultWallet(n,e,a),m=new TextEncoder;expect(l).toHaveBeenCalledWith([m.encode("[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW")]),expect(r.name).toStrictEqual(""),expect(r.hmac).toStrictEqual(new Uint8Array(32).fill(0)),expect(r.descriptorTemplate).toStrictEqual("wpkh(@0/**)"),expect(r.descriptorBuffer).toStrictEqual(m.encode("wpkh(@0/**)")),expect(r.keys).toStrictEqual(["[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW"]),expect(r.keysTree).toStrictEqual(t)})});
2
2
  //# sourceMappingURL=DefaultWalletBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/wallet/service/DefaultWalletBuilder.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n} from \"@api/model/Wallet\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\n\nimport { DefaultWalletBuilder } from \"./DefaultWalletBuilder\";\n\ndescribe(\"DefaultWalletBuilder tests\", () => {\n const mockCreateMerkleTree = jest.fn();\n const mockMerkleTree = {\n build: mockCreateMerkleTree,\n } as unknown as MerkleTreeBuilder;\n\n it(\"Create registered wallet\", () => {\n // Given\n const builder = new DefaultWalletBuilder(mockMerkleTree);\n const registeredWallet = new RegisteredWallet(\n \"Cold storage\",\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n [\"key1\", \"key2\"],\n new Uint8Array(32).fill(42),\n );\n const keysTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n\n // When\n mockCreateMerkleTree.mockReturnValueOnce(keysTree);\n const wallet = builder.fromRegisteredWallet(registeredWallet);\n\n // Then\n const encoder = new TextEncoder();\n expect(mockCreateMerkleTree).toHaveBeenCalledWith([\n encoder.encode(\"key1\"),\n encoder.encode(\"key2\"),\n ]);\n expect(wallet.name).toStrictEqual(\"Cold storage\");\n expect(wallet.hmac).toStrictEqual(new Uint8Array(32).fill(42));\n expect(wallet.descriptorTemplate).toStrictEqual(\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n );\n expect(wallet.descriptorBuffer).toStrictEqual(\n encoder.encode(\"wsh(sortedmulti(2,@0/**,@1/**))\"),\n );\n expect(wallet.keys).toStrictEqual([\"key1\", \"key2\"]);\n expect(wallet.keysTree).toStrictEqual(keysTree);\n });\n\n it(\"Create default wallet\", () => {\n // Given\n const builder = new DefaultWalletBuilder(mockMerkleTree);\n const defaultWallet = new DefaultWallet(\n \"48'/1'/0'/0'\",\n DefaultDescriptorTemplate.NATIVE_SEGWIT,\n );\n const masterFingerprint = hexaStringToBuffer(\"5c9e228d\")!;\n const extendedPublicKey =\n \"tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\";\n const keysTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n\n // When\n mockCreateMerkleTree.mockReturnValueOnce(keysTree);\n const wallet = builder.fromDefaultWallet(\n masterFingerprint,\n extendedPublicKey,\n defaultWallet,\n );\n\n // Then\n const encoder = new TextEncoder();\n expect(mockCreateMerkleTree).toHaveBeenCalledWith([\n encoder.encode(\n \"[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\",\n ),\n ]);\n expect(wallet.name).toStrictEqual(\"\");\n expect(wallet.hmac).toStrictEqual(new Uint8Array(32).fill(0));\n expect(wallet.descriptorTemplate).toStrictEqual(\"wpkh(@0/**)\");\n expect(wallet.descriptorBuffer).toStrictEqual(\n encoder.encode(\"wpkh(@0/**)\"),\n );\n expect(wallet.keys).toStrictEqual([\n \"[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\",\n ]);\n expect(wallet.keysTree).toStrictEqual(keysTree);\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,2CAEnCC,EAIO,6BACPC,EAAqB,4CACrBC,EAA2B,kDAG3BC,EAAqC,kCAErC,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAuB,KAAK,GAAG,EAC/BC,EAAiB,CACrB,MAAOD,CACT,EAEA,GAAG,2BAA4B,IAAM,CAEnC,MAAME,EAAU,IAAI,uBAAqBD,CAAc,EACjDE,EAAmB,IAAI,mBAC3B,eACA,kCACA,CAAC,OAAQ,MAAM,EACf,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAC5B,EACMC,EAAW,IAAI,aACnB,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EAGAJ,EAAqB,oBAAoBI,CAAQ,EACjD,MAAMC,EAASH,EAAQ,qBAAqBC,CAAgB,EAGtDG,EAAU,IAAI,YACpB,OAAON,CAAoB,EAAE,qBAAqB,CAChDM,EAAQ,OAAO,MAAM,EACrBA,EAAQ,OAAO,MAAM,CACvB,CAAC,EACD,OAAOD,EAAO,IAAI,EAAE,cAAc,cAAc,EAChD,OAAOA,EAAO,IAAI,EAAE,cAAc,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAC7D,OAAOA,EAAO,kBAAkB,EAAE,cAChC,iCACF,EACA,OAAOA,EAAO,gBAAgB,EAAE,cAC9BC,EAAQ,OAAO,iCAAiC,CAClD,EACA,OAAOD,EAAO,IAAI,EAAE,cAAc,CAAC,OAAQ,MAAM,CAAC,EAClD,OAAOA,EAAO,QAAQ,EAAE,cAAcD,CAAQ,CAChD,CAAC,EAED,GAAG,wBAAyB,IAAM,CAEhC,MAAMF,EAAU,IAAI,uBAAqBD,CAAc,EACjDM,EAAgB,IAAI,gBACxB,eACA,4BAA0B,aAC5B,EACMC,KAAoB,sBAAmB,UAAU,EACjDC,EACJ,kHACIL,EAAW,IAAI,aACnB,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EAGAJ,EAAqB,oBAAoBI,CAAQ,EACjD,MAAMC,EAASH,EAAQ,kBACrBM,EACAC,EACAF,CACF,EAGMD,EAAU,IAAI,YACpB,OAAON,CAAoB,EAAE,qBAAqB,CAChDM,EAAQ,OACN,wIACF,CACF,CAAC,EACD,OAAOD,EAAO,IAAI,EAAE,cAAc,EAAE,EACpC,OAAOA,EAAO,IAAI,EAAE,cAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EAC5D,OAAOA,EAAO,kBAAkB,EAAE,cAAc,aAAa,EAC7D,OAAOA,EAAO,gBAAgB,EAAE,cAC9BC,EAAQ,OAAO,aAAa,CAC9B,EACA,OAAOD,EAAO,IAAI,EAAE,cAAc,CAChC,wIACF,CAAC,EACD,OAAOA,EAAO,QAAQ,EAAE,cAAcD,CAAQ,CAChD,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\n\nimport {\n DefaultDescriptorTemplate,\n DefaultWallet,\n RegisteredWallet,\n} from \"@api/model/Wallet\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\n\nimport { DefaultWalletBuilder } from \"./DefaultWalletBuilder\";\n\ndescribe(\"DefaultWalletBuilder tests\", () => {\n const mockCreateMerkleTree = vi.fn();\n const mockMerkleTree = {\n build: mockCreateMerkleTree,\n } as unknown as MerkleTreeBuilder;\n\n it(\"Create registered wallet\", () => {\n // Given\n const builder = new DefaultWalletBuilder(mockMerkleTree);\n const registeredWallet = new RegisteredWallet(\n \"Cold storage\",\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n [\"key1\", \"key2\"],\n new Uint8Array(32).fill(42),\n );\n const keysTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n\n // When\n mockCreateMerkleTree.mockReturnValueOnce(keysTree);\n const wallet = builder.fromRegisteredWallet(registeredWallet);\n\n // Then\n const encoder = new TextEncoder();\n expect(mockCreateMerkleTree).toHaveBeenCalledWith([\n encoder.encode(\"key1\"),\n encoder.encode(\"key2\"),\n ]);\n expect(wallet.name).toStrictEqual(\"Cold storage\");\n expect(wallet.hmac).toStrictEqual(new Uint8Array(32).fill(42));\n expect(wallet.descriptorTemplate).toStrictEqual(\n \"wsh(sortedmulti(2,@0/**,@1/**))\",\n );\n expect(wallet.descriptorBuffer).toStrictEqual(\n encoder.encode(\"wsh(sortedmulti(2,@0/**,@1/**))\"),\n );\n expect(wallet.keys).toStrictEqual([\"key1\", \"key2\"]);\n expect(wallet.keysTree).toStrictEqual(keysTree);\n });\n\n it(\"Create default wallet\", () => {\n // Given\n const builder = new DefaultWalletBuilder(mockMerkleTree);\n const defaultWallet = new DefaultWallet(\n \"48'/1'/0'/0'\",\n DefaultDescriptorTemplate.NATIVE_SEGWIT,\n );\n const masterFingerprint = hexaStringToBuffer(\"5c9e228d\")!;\n const extendedPublicKey =\n \"tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\";\n const keysTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n\n // When\n mockCreateMerkleTree.mockReturnValueOnce(keysTree);\n const wallet = builder.fromDefaultWallet(\n masterFingerprint,\n extendedPublicKey,\n defaultWallet,\n );\n\n // Then\n const encoder = new TextEncoder();\n expect(mockCreateMerkleTree).toHaveBeenCalledWith([\n encoder.encode(\n \"[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\",\n ),\n ]);\n expect(wallet.name).toStrictEqual(\"\");\n expect(wallet.hmac).toStrictEqual(new Uint8Array(32).fill(0));\n expect(wallet.descriptorTemplate).toStrictEqual(\"wpkh(@0/**)\");\n expect(wallet.descriptorBuffer).toStrictEqual(\n encoder.encode(\"wpkh(@0/**)\"),\n );\n expect(wallet.keys).toStrictEqual([\n \"[5c9e228d/48'/1'/0'/0']tpubDEGquuorgFNb8bjh5kNZQMPtABJzoWwNm78FUmeoPkfRtoPF7JLrtoZeT3J3ybq1HmC3Rn1Q8wFQ8J5usanzups5rj7PJoQLNyvq8QbJruW\",\n ]);\n expect(wallet.keysTree).toStrictEqual(keysTree);\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAmC,2CAEnCC,EAIO,6BACPC,EAAqB,4CACrBC,EAA2B,kDAG3BC,EAAqC,kCAErC,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAuB,GAAG,GAAG,EAC7BC,EAAiB,CACrB,MAAOD,CACT,EAEA,GAAG,2BAA4B,IAAM,CAEnC,MAAME,EAAU,IAAI,uBAAqBD,CAAc,EACjDE,EAAmB,IAAI,mBAC3B,eACA,kCACA,CAAC,OAAQ,MAAM,EACf,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAC5B,EACMC,EAAW,IAAI,aACnB,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EAGAJ,EAAqB,oBAAoBI,CAAQ,EACjD,MAAMC,EAASH,EAAQ,qBAAqBC,CAAgB,EAGtDG,EAAU,IAAI,YACpB,OAAON,CAAoB,EAAE,qBAAqB,CAChDM,EAAQ,OAAO,MAAM,EACrBA,EAAQ,OAAO,MAAM,CACvB,CAAC,EACD,OAAOD,EAAO,IAAI,EAAE,cAAc,cAAc,EAChD,OAAOA,EAAO,IAAI,EAAE,cAAc,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAC7D,OAAOA,EAAO,kBAAkB,EAAE,cAChC,iCACF,EACA,OAAOA,EAAO,gBAAgB,EAAE,cAC9BC,EAAQ,OAAO,iCAAiC,CAClD,EACA,OAAOD,EAAO,IAAI,EAAE,cAAc,CAAC,OAAQ,MAAM,CAAC,EAClD,OAAOA,EAAO,QAAQ,EAAE,cAAcD,CAAQ,CAChD,CAAC,EAED,GAAG,wBAAyB,IAAM,CAEhC,MAAMF,EAAU,IAAI,uBAAqBD,CAAc,EACjDM,EAAgB,IAAI,gBACxB,eACA,4BAA0B,aAC5B,EACMC,KAAoB,sBAAmB,UAAU,EACjDC,EACJ,kHACIL,EAAW,IAAI,aACnB,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EAGAJ,EAAqB,oBAAoBI,CAAQ,EACjD,MAAMC,EAASH,EAAQ,kBACrBM,EACAC,EACAF,CACF,EAGMD,EAAU,IAAI,YACpB,OAAON,CAAoB,EAAE,qBAAqB,CAChDM,EAAQ,OACN,wIACF,CACF,CAAC,EACD,OAAOD,EAAO,IAAI,EAAE,cAAc,EAAE,EACpC,OAAOA,EAAO,IAAI,EAAE,cAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EAC5D,OAAOA,EAAO,kBAAkB,EAAE,cAAc,aAAa,EAC7D,OAAOA,EAAO,gBAAgB,EAAE,cAC9BC,EAAQ,OAAO,aAAa,CAC9B,EACA,OAAOD,EAAO,IAAI,EAAE,cAAc,CAChC,wIACF,CAAC,EACD,OAAOA,EAAO,QAAQ,EAAE,cAAcD,CAAQ,CAChD,CAAC,CACH,CAAC",
6
6
  "names": ["import_device_management_kit", "import_Wallet", "import_Leaf", "import_MerkleTree", "import_DefaultWalletBuilder", "mockCreateMerkleTree", "mockMerkleTree", "builder", "registeredWallet", "keysTree", "wallet", "encoder", "defaultWallet", "masterFingerprint", "extendedPublicKey"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("@ledgerhq/device-management-kit"),t=require("../../merkle-tree/model/Leaf"),i=require("../../merkle-tree/model/MerkleTree"),l=require("../../wallet/model/Wallet"),o=require("./DefaultWalletSerializer");describe("DefaultWalletSerializer tests",()=>{const e=jest.fn(),n={hash:e};it("Serialize a wallet",()=>{const s=new o.DefaultWalletSerializer(n),a=new Uint8Array(31).fill(16),c=new l.Wallet({name:"Cold storage",descriptorTemplate:"wsh(sortedmulti(2,@0/**,@1/**))",keys:["key1","key2"],hmac:new Uint8Array,keysTree:new i.MerkleTree(new t.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]),descriptorBuffer:a});e.mockReturnValueOnce(new Uint8Array(32).fill(42));const f=s.serialize(c);expect(e).toHaveBeenCalledWith(a),expect(f).toStrictEqual((0,r.hexaStringToBuffer)("020c436f6c642073746f726167651f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a020707070707070707070707070707070707070707070707070707070707070707"))})});
1
+ "use strict";var r=require("@ledgerhq/device-management-kit"),t=require("../../merkle-tree/model/Leaf"),i=require("../../merkle-tree/model/MerkleTree"),l=require("../../wallet/model/Wallet"),o=require("./DefaultWalletSerializer");describe("DefaultWalletSerializer tests",()=>{const e=vi.fn(),n={hash:e};it("Serialize a wallet",()=>{const s=new o.DefaultWalletSerializer(n),a=new Uint8Array(31).fill(16),c=new l.Wallet({name:"Cold storage",descriptorTemplate:"wsh(sortedmulti(2,@0/**,@1/**))",keys:["key1","key2"],hmac:new Uint8Array,keysTree:new i.MerkleTree(new t.Leaf(new Uint8Array,new Uint8Array(32).fill(7)),[]),descriptorBuffer:a});e.mockReturnValueOnce(new Uint8Array(32).fill(42));const f=s.serialize(c);expect(e).toHaveBeenCalledWith(a),expect(f).toStrictEqual((0,r.hexaStringToBuffer)("020c436f6c642073746f726167651f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a020707070707070707070707070707070707070707070707070707070707070707"))})});
2
2
  //# sourceMappingURL=DefaultWalletSerializer.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/wallet/service/DefaultWalletSerializer.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\n\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\n\nimport { DefaultWalletSerializer } from \"./DefaultWalletSerializer\";\n\ndescribe(\"DefaultWalletSerializer tests\", () => {\n const mockHash = jest.fn();\n const mockHasherService: HasherService = {\n hash: mockHash,\n };\n\n it(\"Serialize a wallet\", () => {\n // Given\n const walletSerializer = new DefaultWalletSerializer(mockHasherService);\n const descriptorBuffer = new Uint8Array(31).fill(16);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"wsh(sortedmulti(2,@0/**,@1/**))\",\n keys: [\"key1\", \"key2\"],\n hmac: new Uint8Array(),\n keysTree: new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n ),\n descriptorBuffer,\n });\n\n // When\n mockHash.mockReturnValueOnce(new Uint8Array(32).fill(42));\n const serialized = walletSerializer.serialize(wallet);\n\n // Then\n expect(mockHash).toHaveBeenCalledWith(descriptorBuffer);\n expect(serialized).toStrictEqual(\n hexaStringToBuffer(\n \"020c436f6c642073746f726167651f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a020707070707070707070707070707070707070707070707070707070707070707\",\n )!,\n );\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,2CAEnCC,EAAqB,4CACrBC,EAA2B,kDAE3BC,EAAuB,yCAEvBC,EAAwC,qCAExC,SAAS,gCAAiC,IAAM,CAC9C,MAAMC,EAAW,KAAK,GAAG,EACnBC,EAAmC,CACvC,KAAMD,CACR,EAEA,GAAG,qBAAsB,IAAM,CAE7B,MAAME,EAAmB,IAAI,0BAAwBD,CAAiB,EAChEE,EAAmB,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,EAC7CC,EAAS,IAAI,SAAO,CACxB,KAAM,eACN,mBAAoB,kCACpB,KAAM,CAAC,OAAQ,MAAM,EACrB,KAAM,IAAI,WACV,SAAU,IAAI,aACZ,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EACA,iBAAAD,CACF,CAAC,EAGDH,EAAS,oBAAoB,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EACxD,MAAMK,EAAaH,EAAiB,UAAUE,CAAM,EAGpD,OAAOJ,CAAQ,EAAE,qBAAqBG,CAAgB,EACtD,OAAOE,CAAU,EAAE,iBACjB,sBACE,kKACF,CACF,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\n\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\n\nimport { DefaultWalletSerializer } from \"./DefaultWalletSerializer\";\n\ndescribe(\"DefaultWalletSerializer tests\", () => {\n const mockHash = vi.fn();\n const mockHasherService: HasherService = {\n hash: mockHash,\n };\n\n it(\"Serialize a wallet\", () => {\n // Given\n const walletSerializer = new DefaultWalletSerializer(mockHasherService);\n const descriptorBuffer = new Uint8Array(31).fill(16);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"wsh(sortedmulti(2,@0/**,@1/**))\",\n keys: [\"key1\", \"key2\"],\n hmac: new Uint8Array(),\n keysTree: new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n ),\n descriptorBuffer,\n });\n\n // When\n mockHash.mockReturnValueOnce(new Uint8Array(32).fill(42));\n const serialized = walletSerializer.serialize(wallet);\n\n // Then\n expect(mockHash).toHaveBeenCalledWith(descriptorBuffer);\n expect(serialized).toStrictEqual(\n hexaStringToBuffer(\n \"020c436f6c642073746f726167651f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a020707070707070707070707070707070707070707070707070707070707070707\",\n )!,\n );\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAmC,2CAEnCC,EAAqB,4CACrBC,EAA2B,kDAE3BC,EAAuB,yCAEvBC,EAAwC,qCAExC,SAAS,gCAAiC,IAAM,CAC9C,MAAMC,EAAW,GAAG,GAAG,EACjBC,EAAmC,CACvC,KAAMD,CACR,EAEA,GAAG,qBAAsB,IAAM,CAE7B,MAAME,EAAmB,IAAI,0BAAwBD,CAAiB,EAChEE,EAAmB,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,EAC7CC,EAAS,IAAI,SAAO,CACxB,KAAM,eACN,mBAAoB,kCACpB,KAAM,CAAC,OAAQ,MAAM,EACrB,KAAM,IAAI,WACV,SAAU,IAAI,aACZ,IAAI,OAAK,IAAI,WAAc,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,EACrD,CAAC,CACH,EACA,iBAAAD,CACF,CAAC,EAGDH,EAAS,oBAAoB,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EACxD,MAAMK,EAAaH,EAAiB,UAAUE,CAAM,EAGpD,OAAOJ,CAAQ,EAAE,qBAAqBG,CAAgB,EACtD,OAAOE,CAAU,EAAE,iBACjB,sBACE,kKACF,CACF,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["import_device_management_kit", "import_Leaf", "import_MerkleTree", "import_Wallet", "import_DefaultWalletSerializer", "mockHash", "mockHasherService", "walletSerializer", "descriptorBuffer", "wallet", "serialized"]
7
7
  }
@@ -1,63 +1,67 @@
1
1
  {
2
- "name": "@ledgerhq/device-signer-kit-bitcoin",
3
- "version": "0.0.1",
4
- "license": "Apache-2.0",
5
- "main": "lib/cjs/index.js",
6
- "types": "lib/cjs/index.d.ts",
7
- "private": false,
2
+ "dependencies": {
3
+ "@types/crypto-js": "catalog:",
4
+ "crypto-js": "catalog:",
5
+ "inversify": "catalog:",
6
+ "purify-ts": "catalog:",
7
+ "reflect-metadata": "catalog:",
8
+ "xstate": "catalog:"
9
+ },
10
+ "devDependencies": {
11
+ "@ledgerhq/device-management-kit": "workspace:^",
12
+ "@ledgerhq/eslint-config-dsdk": "workspace:^",
13
+ "@ledgerhq/ldmk-tool": "workspace:^",
14
+ "@ledgerhq/prettier-config-dsdk": "workspace:^",
15
+ "@ledgerhq/signer-utils": "workspace:^",
16
+ "@ledgerhq/tsconfig-dsdk": "workspace:^",
17
+ "@ledgerhq/vitest-config-dmk": "workspace:^",
18
+ "bitcoinjs-lib": "catalog:",
19
+ "rxjs": "catalog:",
20
+ "ts-node": "catalog:"
21
+ },
8
22
  "exports": {
9
23
  ".": {
10
- "types": "./lib/types/index.d.ts",
11
24
  "import": "./lib/esm/index.js",
12
- "require": "./lib/cjs/index.js"
25
+ "require": "./lib/cjs/index.js",
26
+ "types": "./lib/types/index.d.ts"
13
27
  },
14
28
  "./*": {
15
- "types": "./lib/types/*",
16
29
  "import": "./lib/esm/*",
17
- "require": "./lib/cjs/*"
30
+ "require": "./lib/cjs/*",
31
+ "types": "./lib/types/*"
18
32
  }
19
33
  },
20
34
  "files": [
21
35
  "./lib"
22
36
  ],
37
+ "license": "Apache-2.0",
38
+ "main": "lib/cjs/index.js",
39
+ "name": "@ledgerhq/device-signer-kit-bitcoin",
40
+ "peerDependencies": {
41
+ "@ledgerhq/device-management-kit": "workspace:^",
42
+ "bitcoinjs-lib": "^6.1.6"
43
+ },
44
+ "private": false,
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/LedgerHQ/device-sdk-ts.git"
48
+ },
23
49
  "scripts": {
24
- "prebuild": "rimraf lib",
25
- "build": "pnpm lmdk-build --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
50
+ "build": "pnpm ldmk-tool build --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
26
51
  "dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
27
- "watch:builds": "pnpm lmdk-watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
28
- "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\"",
29
52
  "lint": "eslint",
30
53
  "lint:fix": "pnpm lint --fix",
31
54
  "postpack": "find . -name '*.tgz' -exec cp {} ../../../dist/ \\; ",
55
+ "prebuild": "rimraf lib",
32
56
  "prettier": "prettier . --check",
33
57
  "prettier:fix": "prettier . --write",
58
+ "test": "vitest run",
59
+ "test:coverage": "vitest run --coverage",
60
+ "test:watch": "vitest",
34
61
  "typecheck": "tsc --noEmit",
35
- "test": "jest --passWithNoTests",
36
- "test:coverage": "pnpm test -- --coverage"
62
+ "watch:builds": "pnpm ldmk-tool watch --entryPoints src/index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
63
+ "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
37
64
  },
38
- "dependencies": {
39
- "@types/crypto-js": "^4.2.2",
40
- "crypto-js": "^4.2.0",
41
- "inversify": "^6.2.1",
42
- "inversify-logger-middleware": "^3.1.0",
43
- "purify-ts": "^2.1.0",
44
- "reflect-metadata": "^0.2.2",
45
- "xstate": "^5.19.2"
46
- },
47
- "devDependencies": {
48
- "@ledgerhq/device-management-kit": "workspace:*",
49
- "@ledgerhq/esbuild-tools": "workspace:*",
50
- "@ledgerhq/eslint-config-dsdk": "workspace:*",
51
- "@ledgerhq/jest-config-dsdk": "workspace:*",
52
- "@ledgerhq/prettier-config-dsdk": "workspace:*",
53
- "@ledgerhq/signer-utils": "workspace:*",
54
- "@ledgerhq/tsconfig-dsdk": "workspace:*",
55
- "bitcoinjs-lib": "^6.1.6",
56
- "rxjs": "^7.8.1",
57
- "ts-node": "^10.9.2"
58
- },
59
- "peerDependencies": {
60
- "@ledgerhq/device-management-kit": "workspace:*",
61
- "bitcoinjs-lib": "^6.1.6"
62
- }
65
+ "types": "lib/cjs/index.d.ts",
66
+ "version": "0.0.0-sol-signer-20251203164116"
63
67
  }
@@ -1,2 +1,2 @@
1
1
  import{SignerBtcBuilder as t}from"./SignerBtcBuilder";describe("SignerBtcBuilder",()=>{const i={};test("should be an instance of SignerBtc",()=>{const e=new t({dmk:i,sessionId:""});e.build(),expect(e).toBeInstanceOf(t)})});
2
- //# sourceMappingURL=SignerBtcBuiilder.test.js.map
2
+ //# sourceMappingURL=SignerBtcBuilder.test.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/api/SignerBtcBuiilder.test.ts"],
3
+ "sources": ["../../../src/api/SignerBtcBuilder.test.ts"],
4
4
  "sourcesContent": ["import { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { SignerBtcBuilder } from \"@api/SignerBtcBuilder\";\n\ndescribe(\"SignerBtcBuilder\", () => {\n const dmk: DeviceManagementKit = {} as DeviceManagementKit;\n\n test(\"should be an instance of SignerBtc\", () => {\n // GIVEN\n const builder = new SignerBtcBuilder({ dmk, sessionId: \"\" });\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder).toBeInstanceOf(SignerBtcBuilder);\n });\n});\n"],
5
5
  "mappings": "AAEA,OAAS,oBAAAA,MAAwB,wBAEjC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAA2B,CAAC,EAElC,KAAK,qCAAsC,IAAM,CAE/C,MAAMC,EAAU,IAAIF,EAAiB,CAAE,IAAAC,EAAK,UAAW,EAAG,CAAC,EAG3DC,EAAQ,MAAM,EAGd,OAAOA,CAAO,EAAE,eAAeF,CAAgB,CACjD,CAAC,CACH,CAAC",
6
6
  "names": ["SignerBtcBuilder", "dmk", "builder"]
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=MessageOptions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=PsbtOptions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- import{useCasesTypes as s}from"./use-cases/di/useCasesTypes";import{makeContainer as i}from"./di";class g{_container;constructor({dmk:e,sessionId:t}){this._container=i({dmk:e,sessionId:t})}getWalletAddress(e,t,{checkOnDevice:r=!1,change:n=!1}){return this._container.get(s.GetWalletAddressUseCase).execute(r,e,n,t)}signPsbt(e,t){return this._container.get(s.SignPsbtUseCase).execute(e,t)}getExtendedPublicKey(e,{checkOnDevice:t=!1}){return this._container.get(s.GetExtendedPublicKeyUseCase).execute(e,{checkOnDevice:t})}signMessage(e,t){return this._container.get(s.SignMessageUseCase).execute(e,t)}signTransaction(e,t){return this._container.get(s.SignTransactionUseCase).execute(e,t)}}export{g as DefaultSignerBtc};
1
+ import{useCasesTypes as n}from"./use-cases/di/useCasesTypes";import{makeContainer as i}from"./di";class o{_container;constructor({dmk:t,sessionId:e}){this._container=i({dmk:t,sessionId:e})}getWalletAddress(t,e,s){return this._container.get(n.GetWalletAddressUseCase).execute(s?.checkOnDevice??!1,t,s?.change??!1,e,s?.skipOpenApp??!1)}signPsbt(t,e,s){return this._container.get(n.SignPsbtUseCase).execute(t,e,s?.skipOpenApp??!1)}getExtendedPublicKey(t,e){return this._container.get(n.GetExtendedPublicKeyUseCase).execute(t,{checkOnDevice:e?.checkOnDevice??!1,skipOpenApp:e?.skipOpenApp??!1})}signMessage(t,e,s){return this._container.get(n.SignMessageUseCase).execute(t,e,s?.skipOpenApp??!1)}signTransaction(t,e,s){return this._container.get(n.SignTransactionUseCase).execute(t,e,s?.skipOpenApp??!1)}}export{o as DefaultSignerBtc};
2
2
  //# sourceMappingURL=DefaultSignerBtc.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/DefaultSignerBtc.ts"],
4
- "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { type Wallet } from \"@api/model/Wallet\";\nimport { type WalletAddressOptions } from \"@api/model/WalletAddressOptions\";\nimport { type SignerBtc } from \"@api/SignerBtc\";\nimport { useCasesTypes } from \"@internal/use-cases/di/useCasesTypes\";\nimport { type GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { type SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { type SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nimport { type GetWalletAddressUseCase } from \"./use-cases/get-wallet-address/GetWalletAddressUseCase\";\nimport { type SignMessageUseCase } from \"./use-cases/sign-message/SignMessageUseCase\";\nimport { makeContainer } from \"./di\";\n\ntype DefaultSignerBtcConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport class DefaultSignerBtc implements SignerBtc {\n private readonly _container: Container;\n\n constructor({ dmk, sessionId }: DefaultSignerBtcConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId });\n }\n\n getWalletAddress(\n wallet: Wallet,\n addressIndex: number,\n { checkOnDevice = false, change = false }: WalletAddressOptions,\n ) {\n return this._container\n .get<GetWalletAddressUseCase>(useCasesTypes.GetWalletAddressUseCase)\n .execute(checkOnDevice, wallet, change, addressIndex);\n }\n\n signPsbt(wallet: Wallet, psbt: Psbt) {\n return this._container\n .get<SignPsbtUseCase>(useCasesTypes.SignPsbtUseCase)\n .execute(wallet, psbt);\n }\n\n getExtendedPublicKey(\n derivationPath: string,\n { checkOnDevice = false }: AddressOptions,\n ) {\n return this._container\n .get<GetExtendedPublicKeyUseCase>(\n useCasesTypes.GetExtendedPublicKeyUseCase,\n )\n .execute(derivationPath, { checkOnDevice });\n }\n\n signMessage(\n derivationPath: string,\n message: string,\n ): SignMessageDAReturnType {\n return this._container\n .get<SignMessageUseCase>(useCasesTypes.SignMessageUseCase)\n .execute(derivationPath, message);\n }\n\n signTransaction(wallet: Wallet, psbt: Psbt) {\n return this._container\n .get<SignTransactionUseCase>(useCasesTypes.SignTransactionUseCase)\n .execute(wallet, psbt);\n }\n}\n"],
5
- "mappings": "AAYA,OAAS,iBAAAA,MAAqB,uCAO9B,OAAS,iBAAAC,MAAqB,OAOvB,MAAMC,CAAsC,CAChC,WAEjB,YAAY,CAAE,IAAAC,EAAK,UAAAC,CAAU,EAAoC,CAC/D,KAAK,WAAaH,EAAc,CAAE,IAAAE,EAAK,UAAAC,CAAU,CAAC,CACpD,CAEA,iBACEC,EACAC,EACA,CAAE,cAAAC,EAAgB,GAAO,OAAAC,EAAS,EAAM,EACxC,CACA,OAAO,KAAK,WACT,IAA6BR,EAAc,uBAAuB,EAClE,QAAQO,EAAeF,EAAQG,EAAQF,CAAY,CACxD,CAEA,SAASD,EAAgBI,EAAY,CACnC,OAAO,KAAK,WACT,IAAqBT,EAAc,eAAe,EAClD,QAAQK,EAAQI,CAAI,CACzB,CAEA,qBACEC,EACA,CAAE,cAAAH,EAAgB,EAAM,EACxB,CACA,OAAO,KAAK,WACT,IACCP,EAAc,2BAChB,EACC,QAAQU,EAAgB,CAAE,cAAAH,CAAc,CAAC,CAC9C,CAEA,YACEG,EACAC,EACyB,CACzB,OAAO,KAAK,WACT,IAAwBX,EAAc,kBAAkB,EACxD,QAAQU,EAAgBC,CAAO,CACpC,CAEA,gBAAgBN,EAAgBI,EAAY,CAC1C,OAAO,KAAK,WACT,IAA4BT,EAAc,sBAAsB,EAChE,QAAQK,EAAQI,CAAI,CACzB,CACF",
6
- "names": ["useCasesTypes", "makeContainer", "DefaultSignerBtc", "dmk", "sessionId", "wallet", "addressIndex", "checkOnDevice", "change", "psbt", "derivationPath", "message"]
4
+ "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type MessageOptions } from \"@api/model/MessageOptions\";\nimport { type Psbt } from \"@api/model/Psbt\";\nimport { type PsbtOptions } from \"@api/model/PsbtOptions\";\nimport { type Wallet } from \"@api/model/Wallet\";\nimport { type WalletAddressOptions } from \"@api/model/WalletAddressOptions\";\nimport { type SignerBtc } from \"@api/SignerBtc\";\nimport { useCasesTypes } from \"@internal/use-cases/di/useCasesTypes\";\nimport { type GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { type SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { type SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nimport { type GetWalletAddressUseCase } from \"./use-cases/get-wallet-address/GetWalletAddressUseCase\";\nimport { type SignMessageUseCase } from \"./use-cases/sign-message/SignMessageUseCase\";\nimport { makeContainer } from \"./di\";\n\ntype DefaultSignerBtcConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\n\nexport class DefaultSignerBtc implements SignerBtc {\n private readonly _container: Container;\n\n constructor({ dmk, sessionId }: DefaultSignerBtcConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId });\n }\n\n getWalletAddress(\n wallet: Wallet,\n addressIndex: number,\n options?: WalletAddressOptions,\n ) {\n return this._container\n .get<GetWalletAddressUseCase>(useCasesTypes.GetWalletAddressUseCase)\n .execute(\n options?.checkOnDevice ?? false,\n wallet,\n options?.change ?? false,\n addressIndex,\n options?.skipOpenApp ?? false,\n );\n }\n\n signPsbt(wallet: Wallet, psbt: Psbt, options?: PsbtOptions) {\n return this._container\n .get<SignPsbtUseCase>(useCasesTypes.SignPsbtUseCase)\n .execute(wallet, psbt, options?.skipOpenApp ?? false);\n }\n\n getExtendedPublicKey(derivationPath: string, options?: AddressOptions) {\n return this._container\n .get<GetExtendedPublicKeyUseCase>(\n useCasesTypes.GetExtendedPublicKeyUseCase,\n )\n .execute(derivationPath, {\n checkOnDevice: options?.checkOnDevice ?? false,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n\n signMessage(\n derivationPath: string,\n message: string,\n options?: MessageOptions,\n ): SignMessageDAReturnType {\n return this._container\n .get<SignMessageUseCase>(useCasesTypes.SignMessageUseCase)\n .execute(derivationPath, message, options?.skipOpenApp ?? false);\n }\n\n signTransaction(wallet: Wallet, psbt: Psbt, options?: PsbtOptions) {\n return this._container\n .get<SignTransactionUseCase>(useCasesTypes.SignTransactionUseCase)\n .execute(wallet, psbt, options?.skipOpenApp ?? false);\n }\n}\n"],
5
+ "mappings": "AAcA,OAAS,iBAAAA,MAAqB,uCAO9B,OAAS,iBAAAC,MAAqB,OAOvB,MAAMC,CAAsC,CAChC,WAEjB,YAAY,CAAE,IAAAC,EAAK,UAAAC,CAAU,EAAoC,CAC/D,KAAK,WAAaH,EAAc,CAAE,IAAAE,EAAK,UAAAC,CAAU,CAAC,CACpD,CAEA,iBACEC,EACAC,EACAC,EACA,CACA,OAAO,KAAK,WACT,IAA6BP,EAAc,uBAAuB,EAClE,QACCO,GAAS,eAAiB,GAC1BF,EACAE,GAAS,QAAU,GACnBD,EACAC,GAAS,aAAe,EAC1B,CACJ,CAEA,SAASF,EAAgBG,EAAYD,EAAuB,CAC1D,OAAO,KAAK,WACT,IAAqBP,EAAc,eAAe,EAClD,QAAQK,EAAQG,EAAMD,GAAS,aAAe,EAAK,CACxD,CAEA,qBAAqBE,EAAwBF,EAA0B,CACrE,OAAO,KAAK,WACT,IACCP,EAAc,2BAChB,EACC,QAAQS,EAAgB,CACvB,cAAeF,GAAS,eAAiB,GACzC,YAAaA,GAAS,aAAe,EACvC,CAAC,CACL,CAEA,YACEE,EACAC,EACAH,EACyB,CACzB,OAAO,KAAK,WACT,IAAwBP,EAAc,kBAAkB,EACxD,QAAQS,EAAgBC,EAASH,GAAS,aAAe,EAAK,CACnE,CAEA,gBAAgBF,EAAgBG,EAAYD,EAAuB,CACjE,OAAO,KAAK,WACT,IAA4BP,EAAc,sBAAsB,EAChE,QAAQK,EAAQG,EAAMD,GAAS,aAAe,EAAK,CACxD,CACF",
6
+ "names": ["useCasesTypes", "makeContainer", "DefaultSignerBtc", "dmk", "sessionId", "wallet", "addressIndex", "options", "psbt", "derivationPath", "message"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DefaultDescriptorTemplate as i,DefaultWallet as o}from"../api/model/Wallet";import{DefaultSignerBtc as t}from"./DefaultSignerBtc";import{GetExtendedPublicKeyUseCase as a}from"./use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase";import{SignPsbtUseCase as c}from"./use-cases/sign-psbt/SignPsbtUseCase";import{SignTransactionUseCase as r}from"./use-cases/sign-transaction/SignTransactionUseCase";import{SignMessageUseCase as d}from"./use-cases/sign-message/SignMessageUseCase";describe("DefaultSignerBtc",()=>{it("should be defined",()=>{const e=new t({dmk:{},sessionId:"session-id"});expect(e).toBeDefined()}),it("should call getExtendedPublicKeyUseCase",()=>{jest.spyOn(a.prototype,"execute");const e="session-id",s={executeDeviceAction:jest.fn()};new t({dmk:s,sessionId:e}).getExtendedPublicKey("44'/0'/0'/0/0",{checkOnDevice:!0}),expect(a.prototype.execute).toHaveBeenCalled()}),it("should call signMessageUseCase",()=>{jest.spyOn(d.prototype,"execute");const e="session-id",s={executeDeviceAction:jest.fn()};new t({dmk:s,sessionId:e}).signMessage("44'/0'/0'/0/0","message"),expect(d.prototype.execute).toHaveBeenCalled()}),it("should call signPsbtUseCase",()=>{jest.spyOn(c.prototype,"execute");const e="session-id",s={executeDeviceAction:jest.fn()};new t({dmk:s,sessionId:e}).signPsbt(new o("44'/0'/0'",i.NATIVE_SEGWIT),""),expect(c.prototype.execute).toHaveBeenCalled()}),it("should call signTransactionUseCase",()=>{jest.spyOn(r.prototype,"execute");const e="session-id",s={executeDeviceAction:jest.fn()};new t({dmk:s,sessionId:e}).signTransaction(new o("44'/0'/0'",i.NATIVE_SEGWIT),""),expect(r.prototype.execute).toHaveBeenCalled()})});
1
+ import{DefaultDescriptorTemplate as i,DefaultWallet as o}from"../api/model/Wallet";import{DefaultSignerBtc as n}from"./DefaultSignerBtc";import{GetExtendedPublicKeyUseCase as a}from"./use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase";import{SignPsbtUseCase as c}from"./use-cases/sign-psbt/SignPsbtUseCase";import{SignTransactionUseCase as p}from"./use-cases/sign-transaction/SignTransactionUseCase";import{SignMessageUseCase as r}from"./use-cases/sign-message/SignMessageUseCase";describe("DefaultSignerBtc",()=>{it("should be defined",()=>{const e=new n({dmk:{},sessionId:"session-id"});expect(e).toBeDefined()}),it("should call getExtendedPublicKeyUseCase",()=>{vi.spyOn(a.prototype,"execute");const e="session-id",s={executeDeviceAction:vi.fn()};new n({dmk:s,sessionId:e}).getExtendedPublicKey("44'/0'/0'/0/0",{checkOnDevice:!0}),expect(a.prototype.execute).toHaveBeenCalled()}),it("should call signMessageUseCase",()=>{vi.spyOn(r.prototype,"execute");const e="session-id",s={executeDeviceAction:vi.fn()};new n({dmk:s,sessionId:e}).signMessage("44'/0'/0'/0/0","message",{skipOpenApp:!1}),expect(r.prototype.execute).toHaveBeenCalled()}),it("should call signPsbtUseCase",()=>{vi.spyOn(c.prototype,"execute");const e="session-id",s={executeDeviceAction:vi.fn()};new n({dmk:s,sessionId:e}).signPsbt(new o("44'/0'/0'",i.NATIVE_SEGWIT),"",{skipOpenApp:!1}),expect(c.prototype.execute).toHaveBeenCalled()}),it("should call signTransactionUseCase",()=>{vi.spyOn(p.prototype,"execute");const e="session-id",s={executeDeviceAction:vi.fn()};new n({dmk:s,sessionId:e}).signTransaction(new o("44'/0'/0'",i.NATIVE_SEGWIT),"",{skipOpenApp:!1}),expect(p.prototype.execute).toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=DefaultSignerBtc.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/DefaultSignerBtc.test.ts"],
4
- "sourcesContent": ["import { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { DefaultDescriptorTemplate, DefaultWallet } from \"@api/model/Wallet\";\nimport { DefaultSignerBtc } from \"@internal/DefaultSignerBtc\";\nimport { GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nimport { SignMessageUseCase } from \"./use-cases/sign-message/SignMessageUseCase\";\n\ndescribe(\"DefaultSignerBtc\", () => {\n it(\"should be defined\", () => {\n const signer = new DefaultSignerBtc({\n dmk: {} as DeviceManagementKit,\n sessionId: \"session-id\",\n });\n expect(signer).toBeDefined();\n });\n\n it(\"should call getExtendedPublicKeyUseCase\", () => {\n jest.spyOn(GetExtendedPublicKeyUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.getExtendedPublicKey(\"44'/0'/0'/0/0\", {\n checkOnDevice: true,\n });\n expect(GetExtendedPublicKeyUseCase.prototype.execute).toHaveBeenCalled();\n });\n\n it(\"should call signMessageUseCase\", () => {\n jest.spyOn(SignMessageUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n const derivationPath = \"44'/0'/0'/0/0\";\n const message = \"message\";\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signMessage(derivationPath, message);\n expect(SignMessageUseCase.prototype.execute).toHaveBeenCalled();\n });\n it(\"should call signPsbtUseCase\", () => {\n jest.spyOn(SignPsbtUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signPsbt(\n new DefaultWallet(\"44'/0'/0'\", DefaultDescriptorTemplate.NATIVE_SEGWIT),\n \"\",\n );\n expect(SignPsbtUseCase.prototype.execute).toHaveBeenCalled();\n });\n it(\"should call signTransactionUseCase\", () => {\n jest.spyOn(SignTransactionUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signTransaction(\n new DefaultWallet(\"44'/0'/0'\", DefaultDescriptorTemplate.NATIVE_SEGWIT),\n \"\",\n );\n expect(SignTransactionUseCase.prototype.execute).toHaveBeenCalled();\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,6BAAAA,EAA2B,iBAAAC,MAAqB,oBACzD,OAAS,oBAAAC,MAAwB,6BACjC,OAAS,+BAAAC,MAAmC,0EAC5C,OAAS,mBAAAC,MAAuB,gDAChC,OAAS,0BAAAC,MAA8B,8DAEvC,OAAS,sBAAAC,MAA0B,8CAEnC,SAAS,mBAAoB,IAAM,CACjC,GAAG,oBAAqB,IAAM,CAC5B,MAAMC,EAAS,IAAIL,EAAiB,CAClC,IAAK,CAAC,EACN,UAAW,YACb,CAAC,EACD,OAAOK,CAAM,EAAE,YAAY,CAC7B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,KAAK,MAAMJ,EAA4B,UAAW,SAAS,EAC3D,MAAMK,EAAY,aACZC,EAAM,CACV,oBAAqB,KAAK,GAAG,CAC/B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,qBAAqB,gBAAiB,CAC3C,cAAe,EACjB,CAAC,EACD,OAAOL,EAA4B,UAAU,OAAO,EAAE,iBAAiB,CACzE,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,KAAK,MAAMG,EAAmB,UAAW,SAAS,EAClD,MAAME,EAAY,aACZC,EAAM,CACV,oBAAqB,KAAK,GAAG,CAC/B,EAGe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,YAHgB,gBACP,SAE0B,EAC1C,OAAOF,EAAmB,UAAU,OAAO,EAAE,iBAAiB,CAChE,CAAC,EACD,GAAG,8BAA+B,IAAM,CACtC,KAAK,MAAMF,EAAgB,UAAW,SAAS,EAC/C,MAAMI,EAAY,aACZC,EAAM,CACV,oBAAqB,KAAK,GAAG,CAC/B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,SACL,IAAIP,EAAc,YAAaD,EAA0B,aAAa,EACtE,EACF,EACA,OAAOI,EAAgB,UAAU,OAAO,EAAE,iBAAiB,CAC7D,CAAC,EACD,GAAG,qCAAsC,IAAM,CAC7C,KAAK,MAAMC,EAAuB,UAAW,SAAS,EACtD,MAAMG,EAAY,aACZC,EAAM,CACV,oBAAqB,KAAK,GAAG,CAC/B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,gBACL,IAAIP,EAAc,YAAaD,EAA0B,aAAa,EACtE,EACF,EACA,OAAOK,EAAuB,UAAU,OAAO,EAAE,iBAAiB,CACpE,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { DefaultDescriptorTemplate, DefaultWallet } from \"@api/model/Wallet\";\nimport { DefaultSignerBtc } from \"@internal/DefaultSignerBtc\";\nimport { GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nimport { SignMessageUseCase } from \"./use-cases/sign-message/SignMessageUseCase\";\n\ndescribe(\"DefaultSignerBtc\", () => {\n it(\"should be defined\", () => {\n const signer = new DefaultSignerBtc({\n dmk: {} as DeviceManagementKit,\n sessionId: \"session-id\",\n });\n expect(signer).toBeDefined();\n });\n\n it(\"should call getExtendedPublicKeyUseCase\", () => {\n vi.spyOn(GetExtendedPublicKeyUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.getExtendedPublicKey(\"44'/0'/0'/0/0\", {\n checkOnDevice: true,\n });\n expect(GetExtendedPublicKeyUseCase.prototype.execute).toHaveBeenCalled();\n });\n\n it(\"should call signMessageUseCase\", () => {\n vi.spyOn(SignMessageUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const derivationPath = \"44'/0'/0'/0/0\";\n const message = \"message\";\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signMessage(derivationPath, message, { skipOpenApp: false });\n expect(SignMessageUseCase.prototype.execute).toHaveBeenCalled();\n });\n it(\"should call signPsbtUseCase\", () => {\n vi.spyOn(SignPsbtUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signPsbt(\n new DefaultWallet(\"44'/0'/0'\", DefaultDescriptorTemplate.NATIVE_SEGWIT),\n \"\",\n { skipOpenApp: false },\n );\n expect(SignPsbtUseCase.prototype.execute).toHaveBeenCalled();\n });\n it(\"should call signTransactionUseCase\", () => {\n vi.spyOn(SignTransactionUseCase.prototype, \"execute\");\n const sessionId = \"session-id\";\n const dmk = {\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const signer = new DefaultSignerBtc({ dmk, sessionId });\n signer.signTransaction(\n new DefaultWallet(\"44'/0'/0'\", DefaultDescriptorTemplate.NATIVE_SEGWIT),\n \"\",\n { skipOpenApp: false },\n );\n expect(SignTransactionUseCase.prototype.execute).toHaveBeenCalled();\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,6BAAAA,EAA2B,iBAAAC,MAAqB,oBACzD,OAAS,oBAAAC,MAAwB,6BACjC,OAAS,+BAAAC,MAAmC,0EAC5C,OAAS,mBAAAC,MAAuB,gDAChC,OAAS,0BAAAC,MAA8B,8DAEvC,OAAS,sBAAAC,MAA0B,8CAEnC,SAAS,mBAAoB,IAAM,CACjC,GAAG,oBAAqB,IAAM,CAC5B,MAAMC,EAAS,IAAIL,EAAiB,CAClC,IAAK,CAAC,EACN,UAAW,YACb,CAAC,EACD,OAAOK,CAAM,EAAE,YAAY,CAC7B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,GAAG,MAAMJ,EAA4B,UAAW,SAAS,EACzD,MAAMK,EAAY,aACZC,EAAM,CACV,oBAAqB,GAAG,GAAG,CAC7B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,qBAAqB,gBAAiB,CAC3C,cAAe,EACjB,CAAC,EACD,OAAOL,EAA4B,UAAU,OAAO,EAAE,iBAAiB,CACzE,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,GAAG,MAAMG,EAAmB,UAAW,SAAS,EAChD,MAAME,EAAY,aACZC,EAAM,CACV,oBAAqB,GAAG,GAAG,CAC7B,EAGe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,YAHgB,gBACP,UAE4B,CAAE,YAAa,EAAM,CAAC,EAClE,OAAOF,EAAmB,UAAU,OAAO,EAAE,iBAAiB,CAChE,CAAC,EACD,GAAG,8BAA+B,IAAM,CACtC,GAAG,MAAMF,EAAgB,UAAW,SAAS,EAC7C,MAAMI,EAAY,aACZC,EAAM,CACV,oBAAqB,GAAG,GAAG,CAC7B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,SACL,IAAIP,EAAc,YAAaD,EAA0B,aAAa,EACtE,GACA,CAAE,YAAa,EAAM,CACvB,EACA,OAAOI,EAAgB,UAAU,OAAO,EAAE,iBAAiB,CAC7D,CAAC,EACD,GAAG,qCAAsC,IAAM,CAC7C,GAAG,MAAMC,EAAuB,UAAW,SAAS,EACpD,MAAMG,EAAY,aACZC,EAAM,CACV,oBAAqB,GAAG,GAAG,CAC7B,EACe,IAAIP,EAAiB,CAAE,IAAAO,EAAK,UAAAD,CAAU,CAAC,EAC/C,gBACL,IAAIP,EAAc,YAAaD,EAA0B,aAAa,EACtE,GACA,CAAE,YAAa,EAAM,CACvB,EACA,OAAOK,EAAuB,UAAU,OAAO,EAAE,iBAAiB,CACpE,CAAC,CACH,CAAC",
6
6
  "names": ["DefaultDescriptorTemplate", "DefaultWallet", "DefaultSignerBtc", "GetExtendedPublicKeyUseCase", "SignPsbtUseCase", "SignTransactionUseCase", "SignMessageUseCase", "signer", "sessionId", "dmk"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=(l,e,s,r)=>{for(var t=r>1?void 0:r?b(e,s):e,n=l.length-1,o;n>=0;n--)(o=l[n])&&(t=(r?o(e,s,t):o(t))||t);return r&&t&&S(e,s,t),t},i=(l,e)=>(s,r)=>e(s,r,l);import{SendCommandInAppDeviceAction as D,UserInteractionRequired as c}from"@ledgerhq/device-management-kit";import{inject as a,injectable as h}from"inversify";import{GetExtendedPublicKeyCommand as y}from"../app-binder/command/GetExtendedPublicKeyCommand";import{SignPsbtDeviceAction as w}from"../app-binder/device-action/SignPsbt/SignPsbtDeviceAction";import{SignTransactionDeviceAction as _}from"../app-binder/device-action/SignTransaction/SignTransactionDeviceAction";import{dataStoreTypes as A}from"../data-store/di/dataStoreTypes";import{externalTypes as m}from"../externalTypes";import{psbtTypes as u}from"../psbt/di/psbtTypes";import{walletTypes as v}from"../wallet/di/walletTypes";import{GetWalletAddressDeviceAction as P}from"./device-action/GetWalletAddress/GetWalletAddressDeviceAction";import{SignMessageDeviceAction as f}from"./device-action/SignMessage/SignMessageDeviceAction";let d=class{constructor(e,s,r,t,n,o,I){this._dmk=e;this._sessionId=s;this._walletBuilder=r;this._walletSerializer=t;this._dataStoreService=n;this._psbtMapper=o;this._valueParser=I}getExtendedPublicKey(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new D({input:{command:new y(e),appName:"Bitcoin",requiredUserInteraction:e.checkOnDevice?c.VerifyAddress:c.None}})})}signMessage(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new f({input:{derivationPath:e.derivationPath,message:e.message,dataStoreService:this._dataStoreService}})})}signPsbt(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new w({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser}})})}getWalletAddress(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new P({input:{wallet:e.wallet,checkOnDevice:e.checkOnDevice,change:e.change,addressIndex:e.addressIndex,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService}})})}signTransaction(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new _({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser}})})}};d=p([h(),i(0,a(m.Dmk)),i(1,a(m.SessionId)),i(2,a(v.WalletBuilder)),i(3,a(v.WalletSerializer)),i(4,a(A.DataStoreService)),i(5,a(u.PsbtMapper)),i(6,a(u.ValueParser))],d);export{d as BtcAppBinder};
1
+ var S=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var d=(s,e,t,a)=>{for(var i=a>1?void 0:a?A(e,t):e,p=s.length-1,l;p>=0;p--)(l=s[p])&&(i=(a?l(e,t,i):l(i))||i);return a&&i&&S(e,t,i),i},r=(s,e)=>(t,a)=>e(t,a,s);import{CallTaskInAppDeviceAction as b,SendCommandInAppDeviceAction as y,UserInteractionRequired as c}from"@ledgerhq/device-management-kit";import{inject as n,injectable as D}from"inversify";import{GetExtendedPublicKeyCommand as w}from"../app-binder/command/GetExtendedPublicKeyCommand";import{SignPsbtDeviceAction as h}from"../app-binder/device-action/SignPsbt/SignPsbtDeviceAction";import{SignTransactionDeviceAction as _}from"../app-binder/device-action/SignTransaction/SignTransactionDeviceAction";import{SendSignMessageTask as k}from"../app-binder/task/SignMessageTask";import{dataStoreTypes as P}from"../data-store/di/dataStoreTypes";import{externalTypes as m}from"../externalTypes";import{psbtTypes as u}from"../psbt/di/psbtTypes";import{walletTypes as v}from"../wallet/di/walletTypes";import{GetWalletAddressDeviceAction as f}from"./device-action/GetWalletAddress/GetWalletAddressDeviceAction";let o=class{constructor(e,t,a,i,p,l,I){this._dmk=e;this._sessionId=t;this._walletBuilder=a;this._walletSerializer=i;this._dataStoreService=p;this._psbtMapper=l;this._valueParser=I}getExtendedPublicKey(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new y({input:{command:new w(e),appName:"Bitcoin",requiredUserInteraction:e.checkOnDevice?c.VerifyAddress:c.None,skipOpenApp:e.skipOpenApp}})})}signMessage(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new b({input:{task:async t=>new k(t,e,this._dataStoreService).run(),appName:"Bitcoin",requiredUserInteraction:c.SignPersonalMessage,skipOpenApp:e.skipOpenApp}})})}signPsbt(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new h({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp}})})}getWalletAddress(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new f({input:{wallet:e.wallet,skipOpenApp:e.skipOpenApp,checkOnDevice:e.checkOnDevice,change:e.change,addressIndex:e.addressIndex,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService}})})}signTransaction(e){return this._dmk.executeDeviceAction({sessionId:this._sessionId,deviceAction:new _({input:{psbt:e.psbt,wallet:e.wallet,walletBuilder:this._walletBuilder,walletSerializer:this._walletSerializer,dataStoreService:this._dataStoreService,psbtMapper:this._psbtMapper,valueParser:this._valueParser,skipOpenApp:e.skipOpenApp}})})}};o=d([D(),r(0,n(m.Dmk)),r(1,n(m.SessionId)),r(2,n(v.WalletBuilder)),r(3,n(v.WalletSerializer)),r(4,n(P.DataStoreService)),r(5,n(u.PsbtMapper)),r(6,n(u.ValueParser))],o);export{o as BtcAppBinder};
2
2
  //# sourceMappingURL=BtcAppBinder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/BtcAppBinder.ts"],
4
- "sourcesContent": ["import {\n DeviceManagementKit,\n type DeviceSessionId,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n GetExtendedPublicKeyDAInput,\n GetExtendedPublicKeyDAReturnType,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport { SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { SignPsbtDAReturnType } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { GetWalletAddressDAReturnType } from \"@api/index\";\nimport { Psbt } from \"@api/model/Psbt\";\nimport { Wallet } from \"@api/model/Wallet\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\nimport { SignTransactionDeviceAction } from \"@internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction\";\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport type { PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport type { ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { walletTypes } from \"@internal/wallet/di/walletTypes\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./device-action/GetWalletAddress/GetWalletAddressDeviceAction\";\nimport { SignMessageDeviceAction } from \"./device-action/SignMessage/SignMessageDeviceAction\";\n\n@injectable()\nexport class BtcAppBinder {\n constructor(\n @inject(externalTypes.Dmk)\n private readonly _dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId)\n private readonly _sessionId: DeviceSessionId,\n @inject(walletTypes.WalletBuilder)\n private readonly _walletBuilder: WalletBuilder,\n @inject(walletTypes.WalletSerializer)\n private readonly _walletSerializer: WalletSerializer,\n @inject(dataStoreTypes.DataStoreService)\n private readonly _dataStoreService: DataStoreService,\n @inject(psbtTypes.PsbtMapper)\n private readonly _psbtMapper: PsbtMapper,\n @inject(psbtTypes.ValueParser)\n private readonly _valueParser: ValueParser,\n ) {}\n\n getExtendedPublicKey(\n args: GetExtendedPublicKeyDAInput,\n ): GetExtendedPublicKeyDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(args),\n appName: \"Bitcoin\",\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n },\n }),\n });\n }\n\n signMessage(args: {\n derivationPath: string;\n message: string;\n }): SignMessageDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignMessageDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n message: args.message,\n dataStoreService: this._dataStoreService,\n },\n }),\n });\n }\n\n signPsbt(args: { psbt: Psbt; wallet: Wallet }): SignPsbtDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignPsbtDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n },\n }),\n });\n }\n\n getWalletAddress(args: {\n checkOnDevice: boolean;\n wallet: Wallet;\n change: boolean;\n addressIndex: number;\n }): GetWalletAddressDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new GetWalletAddressDeviceAction({\n input: {\n wallet: args.wallet,\n checkOnDevice: args.checkOnDevice,\n change: args.change,\n addressIndex: args.addressIndex,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n },\n }),\n });\n }\n\n signTransaction(args: {\n psbt: Psbt;\n wallet: Wallet;\n }): SignTransactionDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n },\n }),\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAGE,gCAAAA,EACA,2BAAAC,MACK,kCACP,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAYnC,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,wBAAAC,MAA4B,mEACrC,OAAS,+BAAAC,MAAmC,iFAC5C,OAAS,kBAAAC,MAAsB,yCAE/B,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,aAAAC,MAAiB,8BAG1B,OAAS,eAAAC,MAAmB,kCAI5B,OAAS,gCAAAC,MAAoC,gEAC7C,OAAS,2BAAAC,MAA+B,sDAGjC,IAAMC,EAAN,KAAmB,CACxB,YAEmBC,EAEAC,EAEAC,EAEAC,EAEAC,EAEAC,EAEAC,EACjB,CAbiB,UAAAN,EAEA,gBAAAC,EAEA,oBAAAC,EAEA,uBAAAC,EAEA,uBAAAC,EAEA,iBAAAC,EAEA,kBAAAC,CAChB,CAEH,qBACEC,EACkC,CAClC,OAAO,KAAK,KAAK,oBAAoB,CACnC,UAAW,KAAK,WAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIC,EAA4BF,CAAI,EAC7C,QAAS,UACT,wBAAyBA,EAAK,cAC1BG,EAAwB,cACxBA,EAAwB,IAC9B,CACF,CAAC,CACH,CAAC,CACH,CAEA,YAAYH,EAGgB,CAC1B,OAAO,KAAK,KAAK,oBAAoB,CACnC,UAAW,KAAK,WAChB,aAAc,IAAII,EAAwB,CACxC,MAAO,CACL,eAAgBJ,EAAK,eACrB,QAASA,EAAK,QACd,iBAAkB,KAAK,iBACzB,CACF,CAAC,CACH,CAAC,CACH,CAEA,SAASA,EAA4D,CACnE,OAAO,KAAK,KAAK,oBAAoB,CACnC,UAAW,KAAK,WAChB,aAAc,IAAIK,EAAqB,CACrC,MAAO,CACL,KAAML,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,eACpB,iBAAkB,KAAK,kBACvB,iBAAkB,KAAK,kBACvB,WAAY,KAAK,YACjB,YAAa,KAAK,YACpB,CACF,CAAC,CACH,CAAC,CACH,CAEA,iBAAiBA,EAKgB,CAC/B,OAAO,KAAK,KAAK,oBAAoB,CACnC,UAAW,KAAK,WAChB,aAAc,IAAIM,EAA6B,CAC7C,MAAO,CACL,OAAQN,EAAK,OACb,cAAeA,EAAK,cACpB,OAAQA,EAAK,OACb,aAAcA,EAAK,aACnB,cAAe,KAAK,eACpB,iBAAkB,KAAK,kBACvB,iBAAkB,KAAK,iBACzB,CACF,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBA,EAGgB,CAC9B,OAAO,KAAK,KAAK,oBAAoB,CACnC,UAAW,KAAK,WAChB,aAAc,IAAIO,EAA4B,CAC5C,MAAO,CACL,KAAMP,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,eACpB,iBAAkB,KAAK,kBACvB,iBAAkB,KAAK,kBACvB,WAAY,KAAK,YACjB,YAAa,KAAK,YACpB,CACF,CAAC,CACH,CAAC,CACH,CACF,EA7GaR,EAANgB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,GAAG,GAExBF,EAAA,EAAAC,EAAOC,EAAc,SAAS,GAE9BF,EAAA,EAAAC,EAAOE,EAAY,aAAa,GAEhCH,EAAA,EAAAC,EAAOE,EAAY,gBAAgB,GAEnCH,EAAA,EAAAC,EAAOG,EAAe,gBAAgB,GAEtCJ,EAAA,EAAAC,EAAOI,EAAU,UAAU,GAE3BL,EAAA,EAAAC,EAAOI,EAAU,WAAW,IAdpBvB",
6
- "names": ["SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "GetExtendedPublicKeyCommand", "SignPsbtDeviceAction", "SignTransactionDeviceAction", "dataStoreTypes", "externalTypes", "psbtTypes", "walletTypes", "GetWalletAddressDeviceAction", "SignMessageDeviceAction", "BtcAppBinder", "_dmk", "_sessionId", "_walletBuilder", "_walletSerializer", "_dataStoreService", "_psbtMapper", "_valueParser", "args", "SendCommandInAppDeviceAction", "GetExtendedPublicKeyCommand", "UserInteractionRequired", "SignMessageDeviceAction", "SignPsbtDeviceAction", "GetWalletAddressDeviceAction", "SignTransactionDeviceAction", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes", "walletTypes", "dataStoreTypes", "psbtTypes"]
4
+ "sourcesContent": ["import {\n CallTaskInAppDeviceAction,\n DeviceManagementKit,\n type DeviceSessionId,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport {\n GetExtendedPublicKeyDAInput,\n GetExtendedPublicKeyDAReturnType,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport { SignMessageDAReturnType } from \"@api/app-binder/SignMessageDeviceActionTypes\";\nimport { SignPsbtDAReturnType } from \"@api/app-binder/SignPsbtDeviceActionTypes\";\nimport { SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { GetWalletAddressDAReturnType } from \"@api/index\";\nimport { Psbt } from \"@api/model/Psbt\";\nimport { Wallet } from \"@api/model/Wallet\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { SignPsbtDeviceAction } from \"@internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction\";\nimport { SignTransactionDeviceAction } from \"@internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction\";\nimport { SendSignMessageTask } from \"@internal/app-binder/task/SignMessageTask\";\nimport { dataStoreTypes } from \"@internal/data-store/di/dataStoreTypes\";\nimport type { DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport type { PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport type { ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { walletTypes } from \"@internal/wallet/di/walletTypes\";\nimport type { WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport type { WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { GetWalletAddressDeviceAction } from \"./device-action/GetWalletAddress/GetWalletAddressDeviceAction\";\n\n@injectable()\nexport class BtcAppBinder {\n constructor(\n @inject(externalTypes.Dmk)\n private readonly _dmk: DeviceManagementKit,\n @inject(externalTypes.SessionId)\n private readonly _sessionId: DeviceSessionId,\n @inject(walletTypes.WalletBuilder)\n private readonly _walletBuilder: WalletBuilder,\n @inject(walletTypes.WalletSerializer)\n private readonly _walletSerializer: WalletSerializer,\n @inject(dataStoreTypes.DataStoreService)\n private readonly _dataStoreService: DataStoreService,\n @inject(psbtTypes.PsbtMapper)\n private readonly _psbtMapper: PsbtMapper,\n @inject(psbtTypes.ValueParser)\n private readonly _valueParser: ValueParser,\n ) {}\n\n getExtendedPublicKey(\n args: GetExtendedPublicKeyDAInput,\n ): GetExtendedPublicKeyDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(args),\n appName: \"Bitcoin\",\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n signMessage(args: {\n derivationPath: string;\n message: string;\n skipOpenApp: boolean;\n }): SignMessageDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SendSignMessageTask(\n internalApi,\n args,\n this._dataStoreService,\n ).run(),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n signPsbt(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignPsbtDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignPsbtDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n getWalletAddress(args: {\n checkOnDevice: boolean;\n wallet: Wallet;\n change: boolean;\n addressIndex: number;\n skipOpenApp: boolean;\n }): GetWalletAddressDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new GetWalletAddressDeviceAction({\n input: {\n wallet: args.wallet,\n skipOpenApp: args.skipOpenApp,\n checkOnDevice: args.checkOnDevice,\n change: args.change,\n addressIndex: args.addressIndex,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n },\n }),\n });\n }\n\n signTransaction(args: {\n psbt: Psbt;\n wallet: Wallet;\n skipOpenApp: boolean;\n }): SignTransactionDAReturnType {\n return this._dmk.executeDeviceAction({\n sessionId: this._sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n psbt: args.psbt,\n wallet: args.wallet,\n walletBuilder: this._walletBuilder,\n walletSerializer: this._walletSerializer,\n dataStoreService: this._dataStoreService,\n psbtMapper: this._psbtMapper,\n valueParser: this._valueParser,\n skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["CallTaskInAppDeviceAction", "SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "GetExtendedPublicKeyCommand", "SignPsbtDeviceAction", "SignTransactionDeviceAction", "SendSignMessageTask", "dataStoreTypes", "externalTypes", "psbtTypes", "walletTypes", "GetWalletAddressDeviceAction", "BtcAppBinder", "_dmk", "_sessionId", "_walletBuilder", "_walletSerializer", "_dataStoreService", "_psbtMapper", "_valueParser", "args", "SendCommandInAppDeviceAction", "GetExtendedPublicKeyCommand", "UserInteractionRequired", "CallTaskInAppDeviceAction", "internalApi", "SendSignMessageTask", "SignPsbtDeviceAction", "GetWalletAddressDeviceAction", "SignTransactionDeviceAction", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes", "walletTypes", "dataStoreTypes", "psbtTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceActionStatus as u,SendCommandInAppDeviceAction as d,UserInteractionRequired as l}from"@ledgerhq/device-management-kit";import{from as p}from"rxjs";import{BtcAppBinder as o}from"../app-binder/BtcAppBinder";import{GetExtendedPublicKeyCommand as m}from"../app-binder/command/GetExtendedPublicKeyCommand";describe("BtcAppBinder",()=>{const s={sendCommand:jest.fn(),executeDeviceAction:jest.fn()};beforeEach(()=>{jest.clearAllMocks()}),it("should be defined",()=>{const t=new o({},{},{},{},{},{},{});expect(t).toBeDefined()}),describe("getExtendedPublicKey",()=>{let t;afterEach(()=>{t&&t.unsubscribe()}),it("should return the pub key",a=>{const r="D2PPQSYFe83nDzk96FqGumVU8JA7J8vj2Rhjc2oXzEi5";jest.spyOn(s,"executeDeviceAction").mockReturnValue({observable:p([{status:u.Completed,output:{extendedPublicKey:r}}]),cancel:jest.fn()});const i=new o(s,"sessionId",{},{},{},{},{}),{observable:n}=i.getExtendedPublicKey({derivationPath:"44'/501'",checkOnDevice:!1}),c=[];t=n.subscribe({next:e=>{c.push(e)},error:e=>{a(e)},complete:()=>{try{expect(c).toEqual([{status:u.Completed,output:{extendedPublicKey:r}}]),a()}catch(e){a(e)}}})}),describe("calls of executeDeviceAction with the correct params",()=>{const a={derivationPath:"44'/60'/3'/2/1",returnChainCode:!1};it("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const i={...a,checkOnDevice:!0};new o(s,"sessionId",{},{},{},{},{}).getExtendedPublicKey(i),expect(s.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new d({input:{command:new m(i),appName:"Bitcoin",requiredUserInteraction:l.VerifyAddress}})})}),it("when checkOnDevice is false: UserInteractionRequired.None",()=>{const i={...a,checkOnDevice:!1};new o(s,"sessionId",{},{},{},{},{}).getExtendedPublicKey(i),expect(s.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new d({input:{command:new m(i),appName:"Bitcoin",requiredUserInteraction:l.None}})})})})}),describe("signMessage",()=>{it("should return the signature",t=>{const a={r:"0xDEF1",s:"0xAFAF",v:0},r="Hello, World!";jest.spyOn(s,"executeDeviceAction").mockReturnValue({observable:p([{status:u.Completed,output:a}]),cancel:jest.fn()});const i=new o(s,"sessionId",{},{},{},{},{}),{observable:n}=i.signMessage({derivationPath:"44'/60'/3'/2/1",message:r}),c=[];n.subscribe({next:e=>{c.push(e)},error:e=>{t(e)},complete:()=>{try{expect(c).toEqual([{status:u.Completed,output:a}]),t()}catch(e){t(e)}}})})})});
1
+ import{DeviceActionStatus as p,SendCommandInAppDeviceAction as l,UserInteractionRequired as u}from"@ledgerhq/device-management-kit";import{from as m}from"rxjs";import{BtcAppBinder as o}from"../app-binder/BtcAppBinder";import{GetExtendedPublicKeyCommand as D}from"../app-binder/command/GetExtendedPublicKeyCommand";describe("BtcAppBinder",()=>{const i={sendCommand:vi.fn(),executeDeviceAction:vi.fn()};beforeEach(()=>{vi.clearAllMocks()}),it("should be defined",()=>{const a=new o({},{},{},{},{},{},{});expect(a).toBeDefined()}),describe("getExtendedPublicKey",()=>{let a;afterEach(()=>{a&&a.unsubscribe()}),it("should return the pub key",()=>new Promise((s,r)=>{const t="D2PPQSYFe83nDzk96FqGumVU8JA7J8vj2Rhjc2oXzEi5";vi.spyOn(i,"executeDeviceAction").mockReturnValue({observable:m([{status:p.Completed,output:{extendedPublicKey:t}}]),cancel:vi.fn()});const n=new o(i,"sessionId",{},{},{},{},{}),{observable:d}=n.getExtendedPublicKey({derivationPath:"44'/501'",checkOnDevice:!1,skipOpenApp:!1}),c=[];a=d.subscribe({next:e=>{c.push(e)},error:e=>{r(e)},complete:()=>{try{expect(c).toEqual([{status:p.Completed,output:{extendedPublicKey:t}}]),s()}catch(e){r(e)}}})})),describe("calls of executeDeviceAction with the correct params",()=>{const s={derivationPath:"44'/60'/3'/2/1",returnChainCode:!1,skipOpenApp:!1};it("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const t={...s,checkOnDevice:!0};new o(i,"sessionId",{},{},{},{},{}).getExtendedPublicKey(t),expect(i.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new l({input:{command:new D(t),appName:"Bitcoin",requiredUserInteraction:u.VerifyAddress,skipOpenApp:!1}})})}),it("when checkOnDevice is false: UserInteractionRequired.None",()=>{const t={...s,checkOnDevice:!1};new o(i,"sessionId",{},{},{},{},{}).getExtendedPublicKey(t),expect(i.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new l({input:{command:new D(t),appName:"Bitcoin",requiredUserInteraction:u.None,skipOpenApp:!1}})})})})}),describe("signMessage",()=>{it("should return the signature",()=>new Promise((a,s)=>{const r={r:"0xDEF1",s:"0xAFAF",v:0},t="Hello, World!";vi.spyOn(i,"executeDeviceAction").mockReturnValue({observable:m([{status:p.Completed,output:r}]),cancel:vi.fn()});const n=new o(i,"sessionId",{},{},{},{},{}),{observable:d}=n.signMessage({derivationPath:"44'/60'/3'/2/1",message:t,skipOpenApp:!1}),c=[];d.subscribe({next:e=>{c.push(e)},error:e=>{s(e)},complete:()=>{try{expect(c).toEqual([{status:p.Completed,output:r}]),a()}catch(e){s(e)}}})}))})});
2
2
  //# sourceMappingURL=BtcAppBinder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/BtcAppBinder.test.ts"],
4
- "sourcesContent": ["import {\n type DeviceActionState,\n DeviceActionStatus,\n type DeviceManagementKit,\n type DeviceSessionId,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { from, type Subscription } from \"rxjs\";\n\nimport {\n type GetExtendedDAIntermediateValue,\n type GetExtendedPublicKeyDAError,\n type GetExtendedPublicKeyDAOutput,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport {\n type SignMessageDAError,\n type SignMessageDAIntermediateValue,\n type SignMessageDAOutput,\n} from \"@api/index\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\ndescribe(\"BtcAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: jest.fn(),\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it(\"should be defined\", () => {\n const binder = new BtcAppBinder(\n {} as DeviceManagementKit,\n {} as DeviceSessionId,\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n expect(binder).toBeDefined();\n });\n\n describe(\"getExtendedPublicKey\", () => {\n let subscription: Subscription;\n afterEach(() => {\n if (subscription) {\n subscription.unsubscribe();\n }\n });\n it(\"should return the pub key\", (done) => {\n // GIVEN\n const extendedPublicKey = \"D2PPQSYFe83nDzk96FqGumVU8JA7J8vj2Rhjc2oXzEi5\";\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { extendedPublicKey },\n } as DeviceActionState<\n GetExtendedPublicKeyDAOutput,\n GetExtendedPublicKeyDAError,\n GetExtendedDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n const { observable } = appBinder.getExtendedPublicKey({\n derivationPath: \"44'/501'\",\n checkOnDevice: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetExtendedPublicKeyDAOutput,\n GetExtendedPublicKeyDAError,\n GetExtendedDAIntermediateValue\n >[] = [];\n subscription = observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { extendedPublicKey },\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n returnChainCode: false,\n };\n\n it(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n appBinder.getExtendedPublicKey(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(params),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n }),\n });\n });\n\n it(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n appBinder.getExtendedPublicKey(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(params),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", (done) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEF1`,\n s: `0xAFAF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignMessageDAOutput,\n SignMessageDAError,\n SignMessageDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n const { observable } = appBinder.signMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n });\n\n // THEN\n const states: DeviceActionState<\n SignMessageDAOutput,\n SignMessageDAError,\n SignMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "from", "BtcAppBinder", "GetExtendedPublicKeyCommand", "mockedDmk", "binder", "subscription", "done", "extendedPublicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "message"]
4
+ "sourcesContent": ["import {\n type DeviceActionState,\n DeviceActionStatus,\n type DeviceManagementKit,\n type DeviceSessionId,\n SendCommandInAppDeviceAction,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { from, type Subscription } from \"rxjs\";\n\nimport {\n type GetExtendedDAIntermediateValue,\n type GetExtendedPublicKeyDAError,\n type GetExtendedPublicKeyDAOutput,\n} from \"@api/app-binder/GetExtendedPublicKeyDeviceActionTypes\";\nimport {\n type SignMessageDAError,\n type SignMessageDAIntermediateValue,\n type SignMessageDAOutput,\n} from \"@api/index\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { GetExtendedPublicKeyCommand } from \"@internal/app-binder/command/GetExtendedPublicKeyCommand\";\nimport { type DataStoreService } from \"@internal/data-store/service/DataStoreService\";\nimport { type PsbtMapper } from \"@internal/psbt/service/psbt/PsbtMapper\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\nimport { type WalletBuilder } from \"@internal/wallet/service/WalletBuilder\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\ndescribe(\"BtcAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should be defined\", () => {\n const binder = new BtcAppBinder(\n {} as DeviceManagementKit,\n {} as DeviceSessionId,\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n expect(binder).toBeDefined();\n });\n\n describe(\"getExtendedPublicKey\", () => {\n let subscription: Subscription;\n afterEach(() => {\n if (subscription) {\n subscription.unsubscribe();\n }\n });\n it(\"should return the pub key\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const extendedPublicKey =\n \"D2PPQSYFe83nDzk96FqGumVU8JA7J8vj2Rhjc2oXzEi5\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { extendedPublicKey },\n } as DeviceActionState<\n GetExtendedPublicKeyDAOutput,\n GetExtendedPublicKeyDAError,\n GetExtendedDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n const { observable } = appBinder.getExtendedPublicKey({\n derivationPath: \"44'/501'\",\n checkOnDevice: false,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetExtendedPublicKeyDAOutput,\n GetExtendedPublicKeyDAError,\n GetExtendedDAIntermediateValue\n >[] = [];\n subscription = observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { extendedPublicKey },\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n returnChainCode: false,\n skipOpenApp: false,\n };\n\n it(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n appBinder.getExtendedPublicKey(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(params),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n }),\n });\n });\n\n it(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n appBinder.getExtendedPublicKey(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetExtendedPublicKeyCommand(params),\n appName: \"Bitcoin\",\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEF1`,\n s: `0xAFAF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignMessageDAOutput,\n SignMessageDAError,\n SignMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new BtcAppBinder(\n mockedDmk,\n \"sessionId\",\n {} as WalletBuilder,\n {} as WalletSerializer,\n {} as DataStoreService,\n {} as PsbtMapper,\n {} as ValueParser,\n );\n const { observable } = appBinder.signMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n SignMessageDAOutput,\n SignMessageDAError,\n SignMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n});\n"],
5
+ "mappings": "AAAA,OAEE,sBAAAA,EAGA,gCAAAC,EACA,2BAAAC,MACK,kCACP,OAAS,QAAAC,MAA+B,OAaxC,OAAS,gBAAAC,MAAoB,oCAC7B,OAAS,+BAAAC,MAAmC,2DAO5C,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAAiC,CACrC,YAAa,GAAG,GAAG,EACnB,oBAAqB,GAAG,GAAG,CAC7B,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,oBAAqB,IAAM,CAC5B,MAAMC,EAAS,IAAIH,EACjB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACH,EACA,OAAOG,CAAM,EAAE,YAAY,CAC7B,CAAC,EAED,SAAS,uBAAwB,IAAM,CACrC,IAAIC,EACJ,UAAU,IAAM,CACVA,GACFA,EAAa,YAAY,CAE7B,CAAC,EACD,GAAG,4BAA6B,IAC9B,IAAI,QAAc,CAACC,EAASC,IAAW,CAErC,MAAMC,EACJ,+CAEF,GAAG,MAAML,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYH,EAAK,CACf,CACE,OAAQH,EAAmB,UAC3B,OAAQ,CAAE,kBAAAW,CAAkB,CAC9B,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMC,EAAY,IAAIR,EACpBE,EACA,YACA,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACH,EACM,CAAE,WAAAO,CAAW,EAAID,EAAU,qBAAqB,CACpD,eAAgB,WAChB,cAAe,GACf,YAAa,EACf,CAAC,EAGKE,EAIA,CAAC,EACPN,EAAeK,EAAW,UAAU,CAClC,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdN,EAAOM,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQd,EAAmB,UAC3B,OAAQ,CAAE,kBAAAW,CAAkB,CAC9B,CACF,CAAC,EACDF,EAAQ,CACV,OAASO,EAAK,CACZN,EAAOM,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,EAEJ,SAAS,uDAAwD,IAAM,CACrE,MAAMC,EAAa,CACjB,eAAgB,iBAChB,gBAAiB,GACjB,YAAa,EACf,EAEA,GAAG,oEAAqE,IAAM,CAG5E,MAAMC,EAAS,CACb,GAAGD,EACH,gBACF,EAGkB,IAAIb,EACpBE,EACA,YACA,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACH,EACU,qBAAqBY,CAAM,EAGrC,OAAOZ,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,UAAW,YACX,aAAc,IAAIL,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAII,EAA4Ba,CAAM,EAC/C,QAAS,UACT,wBAAyBhB,EAAwB,cACjD,YAAa,EACf,CACF,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,4DAA6D,IAAM,CAGpE,MAAMgB,EAAS,CACb,GAAGD,EACH,gBACF,EAGkB,IAAIb,EACpBE,EACA,YACA,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACH,EACU,qBAAqBY,CAAM,EAGrC,OAAOZ,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,UAAW,YACX,aAAc,IAAIL,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAII,EAA4Ba,CAAM,EAC/C,QAAS,UACT,wBAAyBhB,EAAwB,KACjD,YAAa,EACf,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,8BAA+B,IAChC,IAAI,QAAc,CAACO,EAASC,IAAW,CAErC,MAAMS,EAAuB,CAC3B,EAAG,SACH,EAAG,SACH,EAAG,CACL,EACMC,EAAU,gBAEhB,GAAG,MAAMd,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYH,EAAK,CACf,CACE,OAAQH,EAAmB,UAC3B,OAAQmB,CACV,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMP,EAAY,IAAIR,EACpBE,EACA,YACA,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACH,EACM,CAAE,WAAAO,CAAW,EAAID,EAAU,YAAY,CAC3C,eAAgB,iBAChB,QAAAQ,EACA,YAAa,EACf,CAAC,EAGKN,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdN,EAAOM,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQd,EAAmB,UAC3B,OAAQmB,CACV,CACF,CAAC,EACDV,EAAQ,CACV,OAASO,EAAK,CACZN,EAAOM,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC,CACH,CAAC",
6
+ "names": ["DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "from", "BtcAppBinder", "GetExtendedPublicKeyCommand", "mockedDmk", "binder", "subscription", "resolve", "reject", "extendedPublicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "message"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as e,CommandResultFactory as r}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as n}from"@ledgerhq/signer-utils";import{Maybe as t}from"purify-ts";import{BTC_APP_ERRORS as m,BtcAppCommandErrorFactory as p}from"../../app-binder/command/utils/bitcoinAppErrors";import{BtcCommandUtils as a}from"../../utils/BtcCommandUtils";class R{constructor(o,d=new n(m,p,a.isSuccessResponse)){this._args=o;this._errorHelper=d}getApdu(){return new e({cla:248,ins:1,p1:0,p2:0}).addBufferToData(this._args.payload).build()}parseResponse(o){return t.fromNullable(this._errorHelper.getError(o)).orDefault(r({data:o}))}}export{R as ContinueCommand};
1
+ import{ApduBuilder as o,CommandResultFactory as r}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as n}from"@ledgerhq/signer-utils";import{Maybe as t}from"purify-ts";import{BTC_APP_ERRORS as m,BtcAppCommandErrorFactory as p}from"../../app-binder/command/utils/bitcoinAppErrors";import{BtcCommandUtils as a}from"../../utils/BtcCommandUtils";class c{constructor(e,d=new n(m,p,a.isSuccessResponse)){this._args=e;this._errorHelper=d}name="continue";getApdu(){return new o({cla:248,ins:1,p1:0,p2:0}).addBufferToData(this._args.payload).build()}parseResponse(e){return t.fromNullable(this._errorHelper.getError(e)).orDefault(r({data:e}))}}export{c as ContinueCommand};
2
2
  //# sourceMappingURL=ContinueCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/ContinueCommand.ts"],
4
- "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n BTC_APP_ERRORS,\n BtcAppCommandErrorFactory,\n type BtcErrorCodes,\n} from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\n\nexport type ContinueCommandArgs = {\n payload: Uint8Array;\n};\n\nexport type ContinueCommandResponse = ApduResponse;\n\nexport class ContinueCommand\n implements\n Command<ContinueCommandResponse, ContinueCommandArgs, BtcErrorCodes>\n{\n constructor(\n private readonly _args: ContinueCommandArgs,\n private readonly _errorHelper = new CommandErrorHelper<\n ContinueCommandResponse,\n BtcErrorCodes\n >(\n BTC_APP_ERRORS,\n BtcAppCommandErrorFactory,\n BtcCommandUtils.isSuccessResponse,\n ),\n ) {}\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: 0xf8,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n })\n .addBufferToData(this._args.payload)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<ContinueCommandResponse, BtcErrorCodes> {\n return Maybe.fromNullable(this._errorHelper.getError(response)).orDefault(\n CommandResultFactory({\n data: response,\n }),\n );\n }\n}\n"],
5
- "mappings": "AAAA,OAEE,eAAAA,EAIA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,sDACP,OAAS,mBAAAC,MAAuB,kCAQzB,MAAMC,CAGb,CACE,YACmBC,EACAC,EAAe,IAAIP,EAIlCE,EACAC,EACAC,EAAgB,iBAClB,EACA,CATiB,WAAAE,EACA,kBAAAC,CAQhB,CAEH,SAAgB,CACd,OAAO,IAAIT,EAAY,CACrB,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EACE,gBAAgB,KAAK,MAAM,OAAO,EAClC,MAAM,CACX,CAEA,cACEU,EACuD,CACvD,OAAOP,EAAM,aAAa,KAAK,aAAa,SAASO,CAAQ,CAAC,EAAE,UAC9DT,EAAqB,CACnB,KAAMS,CACR,CAAC,CACH,CACF,CACF",
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n BTC_APP_ERRORS,\n BtcAppCommandErrorFactory,\n type BtcErrorCodes,\n} from \"@internal/app-binder/command/utils/bitcoinAppErrors\";\nimport { BtcCommandUtils } from \"@internal/utils/BtcCommandUtils\";\n\nexport type ContinueCommandArgs = {\n payload: Uint8Array;\n};\n\nexport type ContinueCommandResponse = ApduResponse;\n\nexport class ContinueCommand\n implements\n Command<ContinueCommandResponse, ContinueCommandArgs, BtcErrorCodes>\n{\n readonly name = \"continue\";\n constructor(\n private readonly _args: ContinueCommandArgs,\n private readonly _errorHelper = new CommandErrorHelper<\n ContinueCommandResponse,\n BtcErrorCodes\n >(\n BTC_APP_ERRORS,\n BtcAppCommandErrorFactory,\n BtcCommandUtils.isSuccessResponse,\n ),\n ) {}\n\n getApdu(): Apdu {\n return new ApduBuilder({\n cla: 0xf8,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n })\n .addBufferToData(this._args.payload)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<ContinueCommandResponse, BtcErrorCodes> {\n return Maybe.fromNullable(this._errorHelper.getError(response)).orDefault(\n CommandResultFactory({\n data: response,\n }),\n );\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,eAAAA,EAIA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,sDACP,OAAS,mBAAAC,MAAuB,kCAQzB,MAAMC,CAGb,CAEE,YACmBC,EACAC,EAAe,IAAIP,EAIlCE,EACAC,EACAC,EAAgB,iBAClB,EACA,CATiB,WAAAE,EACA,kBAAAC,CAQhB,CAXM,KAAO,WAahB,SAAgB,CACd,OAAO,IAAIT,EAAY,CACrB,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,CAAC,EACE,gBAAgB,KAAK,MAAM,OAAO,EAClC,MAAM,CACX,CAEA,cACEU,EACuD,CACvD,OAAOP,EAAM,aAAa,KAAK,aAAa,SAASO,CAAQ,CAAC,EAAE,UAC9DT,EAAqB,CACnB,KAAMS,CACR,CAAC,CACH,CACF,CACF",
6
6
  "names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "BTC_APP_ERRORS", "BtcAppCommandErrorFactory", "BtcCommandUtils", "ContinueCommand", "_args", "_errorHelper", "response"]
7
7
  }