@ledgerhq/device-signer-kit-bitcoin 0.0.0-signer-eth-20250122093657 → 0.0.0-transaction-unfunded-20250917151052

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 (361) 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/GetMasterFingerprintCommand.test.js +1 -1
  33. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  34. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  36. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  37. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  38. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  39. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  40. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  41. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  42. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  43. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  44. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  45. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  46. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  47. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  48. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  49. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  50. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  51. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  52. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  53. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  54. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  55. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  56. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  57. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  58. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  59. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  60. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  61. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  62. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  63. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  64. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  65. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  66. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  67. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  68. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  69. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  70. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js +1 -1
  71. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  72. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +1 -1
  73. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +2 -2
  74. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  75. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  76. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js +1 -1
  77. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  78. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  79. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  80. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  81. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  82. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
  83. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  84. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  85. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  86. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  87. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  88. package/lib/cjs/internal/data-store/di/dataStoreModule.js +1 -1
  89. package/lib/cjs/internal/data-store/di/dataStoreModule.js.map +3 -3
  90. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js +1 -1
  91. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  92. package/lib/cjs/internal/data-store/model/DataStore.test.js +1 -1
  93. package/lib/cjs/internal/data-store/model/DataStore.test.js.map +2 -2
  94. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  95. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  96. package/lib/cjs/internal/di.js +1 -1
  97. package/lib/cjs/internal/di.js.map +2 -2
  98. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  99. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  100. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  101. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  102. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  103. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  104. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  105. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  106. package/lib/cjs/internal/psbt/di/psbtModule.js +1 -1
  107. package/lib/cjs/internal/psbt/di/psbtModule.js.map +3 -3
  108. package/lib/cjs/internal/psbt/di/psbtModule.test.js +1 -1
  109. package/lib/cjs/internal/psbt/di/psbtModule.test.js.map +2 -2
  110. package/lib/cjs/internal/psbt/model/Key.js +1 -1
  111. package/lib/cjs/internal/psbt/model/Key.js.map +2 -2
  112. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  113. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  114. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  115. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  116. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  117. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  118. package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
  119. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
  120. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js +1 -1
  121. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  122. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  123. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  124. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  125. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  126. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  127. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  128. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  129. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  130. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  131. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  132. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  133. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  134. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  135. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  136. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  137. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  138. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  139. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  140. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  141. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  142. package/lib/cjs/internal/wallet/di/walletModule.js +1 -1
  143. package/lib/cjs/internal/wallet/di/walletModule.js.map +3 -3
  144. package/lib/cjs/internal/wallet/di/walletModule.test.js +1 -1
  145. package/lib/cjs/internal/wallet/di/walletModule.test.js.map +2 -2
  146. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  147. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  148. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  149. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  150. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  151. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  152. package/lib/cjs/package.json +17 -17
  153. package/lib/esm/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  154. package/lib/esm/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  155. package/lib/esm/api/model/MessageOptions.js +1 -0
  156. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  157. package/lib/esm/api/model/PsbtOptions.js +1 -0
  158. package/lib/esm/api/model/PsbtOptions.js.map +7 -0
  159. package/lib/esm/internal/DefaultSignerBtc.js +1 -1
  160. package/lib/esm/internal/DefaultSignerBtc.js.map +3 -3
  161. package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
  162. package/lib/esm/internal/DefaultSignerBtc.test.js.map +2 -2
  163. package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
  164. package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
  165. package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
  166. package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  167. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  168. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  169. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  170. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  171. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  172. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  173. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  174. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  175. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  176. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  177. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  178. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  179. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  180. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  181. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  182. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  183. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  184. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  185. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  186. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  187. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  188. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  189. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  190. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  191. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  192. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  193. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  194. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  195. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  196. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  197. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  198. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  199. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  200. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  201. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  202. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  203. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  204. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  205. package/lib/esm/internal/app-binder/di/appBinderModule.test.js +1 -1
  206. package/lib/esm/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  207. package/lib/esm/internal/app-binder/di/appBinderTypes.js +1 -1
  208. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +2 -2
  209. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  210. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  211. package/lib/esm/internal/app-binder/task/ContinueTask.test.js +1 -1
  212. package/lib/esm/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  213. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  214. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  215. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  216. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  217. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
  218. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  219. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  220. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  221. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  222. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  223. package/lib/esm/internal/data-store/di/dataStoreModule.js +1 -1
  224. package/lib/esm/internal/data-store/di/dataStoreModule.js.map +3 -3
  225. package/lib/esm/internal/data-store/di/dataStoreModule.test.js +1 -1
  226. package/lib/esm/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  227. package/lib/esm/internal/data-store/model/DataStore.test.js +1 -1
  228. package/lib/esm/internal/data-store/model/DataStore.test.js.map +2 -2
  229. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  230. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  231. package/lib/esm/internal/di.js +1 -1
  232. package/lib/esm/internal/di.js.map +2 -2
  233. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  234. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  235. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  236. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  237. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  238. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  239. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  240. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  241. package/lib/esm/internal/psbt/di/psbtModule.js +1 -1
  242. package/lib/esm/internal/psbt/di/psbtModule.js.map +3 -3
  243. package/lib/esm/internal/psbt/di/psbtModule.test.js +1 -1
  244. package/lib/esm/internal/psbt/di/psbtModule.test.js.map +2 -2
  245. package/lib/esm/internal/psbt/model/Key.js +1 -1
  246. package/lib/esm/internal/psbt/model/Key.js.map +2 -2
  247. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  248. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  249. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  250. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  251. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  252. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  253. package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
  254. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
  255. package/lib/esm/internal/use-cases/di/useCasesModule.test.js +1 -1
  256. package/lib/esm/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  257. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  258. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  259. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  260. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  261. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  262. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  263. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  264. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  265. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  266. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  267. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  268. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  269. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  270. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  271. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  272. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  273. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  274. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  275. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  276. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  277. package/lib/esm/internal/wallet/di/walletModule.js +1 -1
  278. package/lib/esm/internal/wallet/di/walletModule.js.map +3 -3
  279. package/lib/esm/internal/wallet/di/walletModule.test.js +1 -1
  280. package/lib/esm/internal/wallet/di/walletModule.test.js.map +2 -2
  281. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  282. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  283. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  284. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  285. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  286. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  287. package/lib/esm/package.json +17 -17
  288. package/lib/types/api/SignerBtc.d.ts +7 -5
  289. package/lib/types/api/SignerBtc.d.ts.map +1 -1
  290. package/lib/types/api/SignerBtcBuilder.test.d.ts +2 -0
  291. package/lib/types/api/SignerBtcBuilder.test.d.ts.map +1 -0
  292. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts +3 -1
  293. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts.map +1 -1
  294. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +1 -0
  295. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
  296. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts +1 -12
  297. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts.map +1 -1
  298. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +1 -0
  299. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
  300. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +1 -0
  301. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  302. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  303. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  304. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  305. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  306. package/lib/types/api/model/PsbtOptions.d.ts +4 -0
  307. package/lib/types/api/model/PsbtOptions.d.ts.map +1 -0
  308. package/lib/types/api/model/Signature.d.ts.map +1 -1
  309. package/lib/types/api/model/WalletAddressOptions.d.ts +1 -0
  310. package/lib/types/api/model/WalletAddressOptions.d.ts.map +1 -1
  311. package/lib/types/internal/DefaultSignerBtc.d.ts +7 -5
  312. package/lib/types/internal/DefaultSignerBtc.d.ts.map +1 -1
  313. package/lib/types/internal/app-binder/BtcAppBinder.d.ts +4 -0
  314. package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
  315. package/lib/types/internal/app-binder/command/utils/bitcoinAppErrors.d.ts.map +1 -1
  316. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
  317. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
  318. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  319. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  320. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  321. package/lib/types/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.d.ts.map +1 -1
  322. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  323. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  324. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  325. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +0 -1
  326. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -1
  327. package/lib/types/internal/app-binder/task/GetWalletAddressTask.d.ts.map +1 -1
  328. package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
  329. package/lib/types/internal/app-binder/task/SignPsbtTask.d.ts.map +1 -1
  330. package/lib/types/internal/data-store/di/dataStoreModule.d.ts.map +1 -1
  331. package/lib/types/internal/di.d.ts.map +1 -1
  332. package/lib/types/internal/merkle-tree/di/merkleTreeModule.d.ts.map +1 -1
  333. package/lib/types/internal/psbt/di/psbtModule.d.ts.map +1 -1
  334. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
  335. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts +1 -0
  336. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts.map +1 -1
  337. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts +1 -1
  338. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts.map +1 -1
  339. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts +1 -1
  340. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts.map +1 -1
  341. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts +1 -1
  342. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts.map +1 -1
  343. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts +1 -1
  344. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts.map +1 -1
  345. package/lib/types/internal/wallet/di/walletModule.d.ts.map +1 -1
  346. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  347. package/package.json +19 -19
  348. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  349. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  350. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  351. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  352. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  353. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  354. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  355. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  356. package/lib/types/api/SignerBtcBuiilder.test.d.ts +0 -2
  357. package/lib/types/api/SignerBtcBuiilder.test.d.ts.map +0 -1
  358. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts +0 -19
  359. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts.map +0 -1
  360. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts +0 -2
  361. 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/merkle-tree/di/merkleTreeModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { merkleTreeModuleFactory } from \"./merkleTreeModule\";\n\ndescribe(\"MerkleTreeModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof merkleTreeModuleFactory>;\n beforeEach(() => {\n mod = merkleTreeModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the merkle tree service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,2BAAAC,MAA+B,qBAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAwB,EAC9BC,EAAY,IAAIF,EAChBE,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { merkleTreeModuleFactory } from \"./merkleTreeModule\";\n\ndescribe(\"MerkleTreeModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof merkleTreeModuleFactory>;\n beforeEach(() => {\n mod = merkleTreeModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the merkle tree service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,2BAAAC,MAA+B,qBAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAwB,EAC9BC,EAAY,IAAIF,EAChBE,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "merkleTreeModuleFactory", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{MerkleMapBuilder as l}from"./MerkleMapBuilder";describe("MerkleMapBuilder",()=>{const r=[Uint8Array.from([0,1,2,3]),Uint8Array.from([0,1,2,4]),Uint8Array.from([0,1,2,5]),Uint8Array.from([0,2,2,3]),Uint8Array.from([1,1,2,3])],t=[Uint8Array.from([0,0]),Uint8Array.from([255,255,255,255]),Uint8Array.from([0,1,2,5]),Uint8Array.from([0,255]),Uint8Array.from([254,57])],o=jest.fn(),a={build:o};let i;beforeEach(()=>{jest.resetAllMocks(),i=new l(a)}),it("Invalid value count",()=>{const e=i.build(r,[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("Invalid ordering",()=>{const e=i.build([Uint8Array.from([0,1,2,5]),...r],[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("Dupplicate key",()=>{const e=i.build([Uint8Array.from([0,1,2,3]),...r],[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("correct value",()=>{o.mockReturnValueOnce({getRoot:()=>Uint8Array.from([42,43]),size:()=>r.length}).mockReturnValueOnce({getRoot:()=>Uint8Array.from([44,45]),size:()=>t.length});const e=i.build(r,t);expect(e.isRight()).toStrictEqual(!0),expect(o).toHaveBeenCalledWith(r),expect(o).toHaveBeenCalledWith(t)})});
1
+ import{MerkleMapBuilder as l}from"./MerkleMapBuilder";describe("MerkleMapBuilder",()=>{const r=[Uint8Array.from([0,1,2,3]),Uint8Array.from([0,1,2,4]),Uint8Array.from([0,1,2,5]),Uint8Array.from([0,2,2,3]),Uint8Array.from([1,1,2,3])],t=[Uint8Array.from([0,0]),Uint8Array.from([255,255,255,255]),Uint8Array.from([0,1,2,5]),Uint8Array.from([0,255]),Uint8Array.from([254,57])],o=vi.fn(),a={build:o};let i;beforeEach(()=>{vi.resetAllMocks(),i=new l(a)}),it("Invalid value count",()=>{const e=i.build(r,[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("Invalid ordering",()=>{const e=i.build([Uint8Array.from([0,1,2,5]),...r],[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("Dupplicate key",()=>{const e=i.build([Uint8Array.from([0,1,2,3]),...r],[Uint8Array.from([0]),...t]);expect(e.isRight()).toStrictEqual(!1)}),it("correct value",()=>{o.mockReturnValueOnce({getRoot:()=>Uint8Array.from([42,43]),size:()=>r.length}).mockReturnValueOnce({getRoot:()=>Uint8Array.from([44,45]),size:()=>t.length});const e=i.build(r,t);expect(e.isRight()).toStrictEqual(!0),expect(o).toHaveBeenCalledWith(r),expect(o).toHaveBeenCalledWith(t)})});
2
2
  //# sourceMappingURL=MerkleMapBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/merkle-tree/service/MerkleMapBuilder.test.ts"],
4
- "sourcesContent": ["import { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\n\nimport { MerkleMapBuilder } from \"./MerkleMapBuilder\";\n\ndescribe(\"MerkleMapBuilder\", () => {\n const TEST_KEYS = [\n Uint8Array.from([0, 1, 2, 3]),\n Uint8Array.from([0, 1, 2, 4]),\n Uint8Array.from([0, 1, 2, 5]),\n Uint8Array.from([0, 2, 2, 3]),\n Uint8Array.from([1, 1, 2, 3]),\n ];\n\n const TEST_VALUES = [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0xff, 0xff, 0xff, 0xff]),\n Uint8Array.from([0, 1, 2, 5]),\n Uint8Array.from([0, 0xff]),\n Uint8Array.from([0xfe, 57]),\n ];\n\n const mockCreateMerkleTree = jest.fn();\n const mockMerkleTree: MerkleTreeBuilder = {\n build: mockCreateMerkleTree,\n } as unknown as MerkleTreeBuilder;\n let builder: MerkleMapBuilder;\n\n beforeEach(() => {\n jest.resetAllMocks();\n builder = new MerkleMapBuilder(mockMerkleTree);\n });\n\n it(\"Invalid value count\", () => {\n const eitherMap = builder.build(TEST_KEYS, [\n Uint8Array.from([0]),\n ...TEST_VALUES,\n ]);\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"Invalid ordering\", () => {\n const eitherMap = builder.build(\n [Uint8Array.from([0, 1, 2, 5]), ...TEST_KEYS],\n [Uint8Array.from([0]), ...TEST_VALUES],\n );\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"Dupplicate key\", () => {\n const eitherMap = builder.build(\n [Uint8Array.from([0, 1, 2, 3]), ...TEST_KEYS],\n [Uint8Array.from([0]), ...TEST_VALUES],\n );\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"correct value\", () => {\n mockCreateMerkleTree\n .mockReturnValueOnce({\n getRoot: () => Uint8Array.from([42, 43]),\n size: () => TEST_KEYS.length,\n })\n .mockReturnValueOnce({\n getRoot: () => Uint8Array.from([44, 45]),\n size: () => TEST_VALUES.length,\n });\n\n const eitherMap = builder.build(TEST_KEYS, TEST_VALUES);\n expect(eitherMap.isRight()).toStrictEqual(true);\n expect(mockCreateMerkleTree).toHaveBeenCalledWith(TEST_KEYS);\n expect(mockCreateMerkleTree).toHaveBeenCalledWith(TEST_VALUES);\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,oBAAAA,MAAwB,qBAEjC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAAY,CAChB,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CAC9B,EAEMC,EAAc,CAClB,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EACtB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,GAAI,CAAC,EACxC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,GAAI,CAAC,EACzB,WAAW,KAAK,CAAC,IAAM,EAAE,CAAC,CAC5B,EAEMC,EAAuB,KAAK,GAAG,EAC/BC,EAAoC,CACxC,MAAOD,CACT,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,KAAK,cAAc,EACnBA,EAAU,IAAIL,EAAiBI,CAAc,CAC/C,CAAC,EAED,GAAG,sBAAuB,IAAM,CAC9B,MAAME,EAAYD,EAAQ,MAAMJ,EAAW,CACzC,WAAW,KAAK,CAAC,CAAC,CAAC,EACnB,GAAGC,CACL,CAAC,EACD,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,mBAAoB,IAAM,CAC3B,MAAMA,EAAYD,EAAQ,MACxB,CAAC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,GAAGJ,CAAS,EAC5C,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAG,GAAGC,CAAW,CACvC,EACA,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,iBAAkB,IAAM,CACzB,MAAMA,EAAYD,EAAQ,MACxB,CAAC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,GAAGJ,CAAS,EAC5C,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAG,GAAGC,CAAW,CACvC,EACA,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,gBAAiB,IAAM,CACxBH,EACG,oBAAoB,CACnB,QAAS,IAAM,WAAW,KAAK,CAAC,GAAI,EAAE,CAAC,EACvC,KAAM,IAAMF,EAAU,MACxB,CAAC,EACA,oBAAoB,CACnB,QAAS,IAAM,WAAW,KAAK,CAAC,GAAI,EAAE,CAAC,EACvC,KAAM,IAAMC,EAAY,MAC1B,CAAC,EAEH,MAAMI,EAAYD,EAAQ,MAAMJ,EAAWC,CAAW,EACtD,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC9C,OAAOH,CAAoB,EAAE,qBAAqBF,CAAS,EAC3D,OAAOE,CAAoB,EAAE,qBAAqBD,CAAW,CAC/D,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\n\nimport { MerkleMapBuilder } from \"./MerkleMapBuilder\";\n\ndescribe(\"MerkleMapBuilder\", () => {\n const TEST_KEYS = [\n Uint8Array.from([0, 1, 2, 3]),\n Uint8Array.from([0, 1, 2, 4]),\n Uint8Array.from([0, 1, 2, 5]),\n Uint8Array.from([0, 2, 2, 3]),\n Uint8Array.from([1, 1, 2, 3]),\n ];\n\n const TEST_VALUES = [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0xff, 0xff, 0xff, 0xff]),\n Uint8Array.from([0, 1, 2, 5]),\n Uint8Array.from([0, 0xff]),\n Uint8Array.from([0xfe, 57]),\n ];\n\n const mockCreateMerkleTree = vi.fn();\n const mockMerkleTree: MerkleTreeBuilder = {\n build: mockCreateMerkleTree,\n } as unknown as MerkleTreeBuilder;\n let builder: MerkleMapBuilder;\n\n beforeEach(() => {\n vi.resetAllMocks();\n builder = new MerkleMapBuilder(mockMerkleTree);\n });\n\n it(\"Invalid value count\", () => {\n const eitherMap = builder.build(TEST_KEYS, [\n Uint8Array.from([0]),\n ...TEST_VALUES,\n ]);\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"Invalid ordering\", () => {\n const eitherMap = builder.build(\n [Uint8Array.from([0, 1, 2, 5]), ...TEST_KEYS],\n [Uint8Array.from([0]), ...TEST_VALUES],\n );\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"Dupplicate key\", () => {\n const eitherMap = builder.build(\n [Uint8Array.from([0, 1, 2, 3]), ...TEST_KEYS],\n [Uint8Array.from([0]), ...TEST_VALUES],\n );\n expect(eitherMap.isRight()).toStrictEqual(false);\n });\n\n it(\"correct value\", () => {\n mockCreateMerkleTree\n .mockReturnValueOnce({\n getRoot: () => Uint8Array.from([42, 43]),\n size: () => TEST_KEYS.length,\n })\n .mockReturnValueOnce({\n getRoot: () => Uint8Array.from([44, 45]),\n size: () => TEST_VALUES.length,\n });\n\n const eitherMap = builder.build(TEST_KEYS, TEST_VALUES);\n expect(eitherMap.isRight()).toStrictEqual(true);\n expect(mockCreateMerkleTree).toHaveBeenCalledWith(TEST_KEYS);\n expect(mockCreateMerkleTree).toHaveBeenCalledWith(TEST_VALUES);\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,oBAAAA,MAAwB,qBAEjC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAAY,CAChB,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CAC9B,EAEMC,EAAc,CAClB,WAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EACtB,WAAW,KAAK,CAAC,IAAM,IAAM,IAAM,GAAI,CAAC,EACxC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC5B,WAAW,KAAK,CAAC,EAAG,GAAI,CAAC,EACzB,WAAW,KAAK,CAAC,IAAM,EAAE,CAAC,CAC5B,EAEMC,EAAuB,GAAG,GAAG,EAC7BC,EAAoC,CACxC,MAAOD,CACT,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAU,IAAIL,EAAiBI,CAAc,CAC/C,CAAC,EAED,GAAG,sBAAuB,IAAM,CAC9B,MAAME,EAAYD,EAAQ,MAAMJ,EAAW,CACzC,WAAW,KAAK,CAAC,CAAC,CAAC,EACnB,GAAGC,CACL,CAAC,EACD,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,mBAAoB,IAAM,CAC3B,MAAMA,EAAYD,EAAQ,MACxB,CAAC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,GAAGJ,CAAS,EAC5C,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAG,GAAGC,CAAW,CACvC,EACA,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,iBAAkB,IAAM,CACzB,MAAMA,EAAYD,EAAQ,MACxB,CAAC,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,GAAGJ,CAAS,EAC5C,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,EAAG,GAAGC,CAAW,CACvC,EACA,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAK,CACjD,CAAC,EAED,GAAG,gBAAiB,IAAM,CACxBH,EACG,oBAAoB,CACnB,QAAS,IAAM,WAAW,KAAK,CAAC,GAAI,EAAE,CAAC,EACvC,KAAM,IAAMF,EAAU,MACxB,CAAC,EACA,oBAAoB,CACnB,QAAS,IAAM,WAAW,KAAK,CAAC,GAAI,EAAE,CAAC,EACvC,KAAM,IAAMC,EAAY,MAC1B,CAAC,EAEH,MAAMI,EAAYD,EAAQ,MAAMJ,EAAWC,CAAW,EACtD,OAAOI,EAAU,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC9C,OAAOH,CAAoB,EAAE,qBAAqBF,CAAS,EAC3D,OAAOE,CAAoB,EAAE,qBAAqBD,CAAW,CAC/D,CAAC,CACH,CAAC",
6
6
  "names": ["MerkleMapBuilder", "TEST_KEYS", "TEST_VALUES", "mockCreateMerkleTree", "mockMerkleTree", "builder", "eitherMap"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as e}from"@ledgerhq/device-management-kit";import{Just as i,Nothing as o}from"purify-ts";import{MerkleTreeBuilder as l}from"./MerkleTreeBuilder";import{Sha256HasherService as u}from"./Sha256HasherService";const s={data:[],leaves:[],nodes:[],root:e("0000000000000000000000000000000000000000000000000000000000000000")},n={data:[Uint8Array.from([42,43])],leaves:[Uint8Array.from([0,42,43])],nodes:[],root:e("8a707e40cad3d1070b0a1c87dd362cdf4d546e6d2a7aaf155c798932f71de4ad")},b={data:[Uint8Array.from([0,1,2,3,4]),Uint8Array.from([5,6,7,8,9])],leaves:[Uint8Array.from([0,0,1,2,3,4]),Uint8Array.from([0,5,6,7,8,9])],nodes:[[e("9d1cf1e12fa64e20ccd2a5387504b99e89e24ef55dba8399637c3f5b6615c0ad"),e("7dc17a7849e10103f73b8fa5a4b829f6292a1a59272e0e0c9def83a9c0f86de1")]],root:e("dc65c307a70fb21f4c8ea0cdfc5ff3291adae1db9ce5410b93dcb43c5eddd793")},r={data:[Uint8Array.from([0]),Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])],leaves:[Uint8Array.from([0,0]),Uint8Array.from([0,1]),Uint8Array.from([0,2]),Uint8Array.from([0,3])],nodes:[[e("96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7"),e("b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2"),e("fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f"),e("583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d")],[e("a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a"),e("52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825")]],root:e("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb")},f={data:[Uint8Array.from([0]),Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3]),Uint8Array.from([4]),Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7]),Uint8Array.from([8]),Uint8Array.from([9]),Uint8Array.from([10])],leaves:[Uint8Array.from([0,0]),Uint8Array.from([0,1]),Uint8Array.from([0,2]),Uint8Array.from([0,3]),Uint8Array.from([0,4]),Uint8Array.from([0,5]),Uint8Array.from([0,6]),Uint8Array.from([0,7]),Uint8Array.from([0,8]),Uint8Array.from([0,9]),Uint8Array.from([0,10])],nodes:[[e("96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7"),e("b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2"),e("fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f"),e("583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d"),e("4f35212d12f9ad2036492c95f1fe79baf4ec7bd9bef3dffa7579f2293ff546a4"),e("9f1afa4dc124cba73134e82ff50f17c8f7164257c79fed9a13f5943a6acb8e3d"),e("40d88127d4d31a3891f41598eeed41174e5bc89b1eb9bbd66a8cbfc09956a3fd"),e("2ecd8a6b7d2845546659ad4cf443533cf921b19dc81fa83934e83821b4dfdcb7"),e("b4c43b50bf245bd727623e3c775a8fcfb8d823d00b57dd65f7f79dd33f126315"),e("c87479cd656e7e3ad6bd8db402e8027df454b2b0c42ff29e093458beb98a23d4"),e("67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e")],[e("a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a"),e("52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825"),e("4b8c129ed14cce2c08cfc6766db7f8cdb133b5f698b8de3d5890ea7ff7f0a8d1"),e("bbb0feb32f648c73fe170518bcec1f675af1b780dc23d6fbf30b745c1ca5fa11"),e("f7e08e9a9e87822bd79a0bf24d14c7a431be807336bd3c50ccb2d249b2a91404"),e("67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e")],[e("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb"),e("c1fe42b33ebb8e8a7e4a90abc481c7434e2be02cff2f6a18d7ffab4f1e25891b"),e("e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50")],[e("ef7f49b620f6c7ea9b963a214da34b5021c6ded8ed57734380a311ab726aa907"),e("e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50")]],root:e("e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac")};describe("MerkleTreeBuilder",()=>{let c;beforeEach(()=>{jest.resetAllMocks(),c=new l(new u)}),it("Get small tree root and leaves",()=>{const a=c.build(r.data);expect(a.getRoot()).toStrictEqual(r.root),expect(a.size()).toStrictEqual(r.leaves.length),expect(a.getLeaves().map(t=>t.value)).toStrictEqual(r.leaves),expect(a.getLeaves().map(t=>t.hash)).toStrictEqual(r.nodes[0]),r.nodes[0].forEach((t,d)=>{expect(a.getLeafHash(d)).toStrictEqual(i(t))}),expect(a.getLeafHash(-1)).toStrictEqual(o),expect(a.getLeafHash(r.nodes[0].length)).toStrictEqual(o)}),it("Get big tree root and leaves",()=>{const a=c.build(f.data);expect(a.getRoot()).toStrictEqual(f.root),expect(a.size()).toStrictEqual(f.leaves.length),expect(a.getLeaves().map(t=>t.value)).toStrictEqual(f.leaves),expect(a.getLeaves().map(t=>t.hash)).toStrictEqual(f.nodes[0]),f.nodes[0].forEach((t,d)=>{expect(a.getLeafHash(d)).toStrictEqual(i(t))}),expect(a.getLeafHash(-1)).toStrictEqual(o),expect(a.getLeafHash(f.nodes[0].length)).toStrictEqual(o)}),it("Get small tree merkle proof",()=>{const t=c.build(r.data).getProof(2);expect(t.isJust()).toStrictEqual(!0);const d=t.unsafeCoerce();expect(d).toStrictEqual([r.nodes[0][3],r.nodes[1][0]])}),it("Get big tree merkle proof",()=>{const t=c.build(f.data).getProof(2);expect(t.isJust()).toStrictEqual(!0);const d=t.unsafeCoerce();expect(d).toStrictEqual([f.nodes[0][3],f.nodes[1][0],f.nodes[2][1],f.nodes[3][1]])}),it("Get out-of-bound merkle proof",()=>{const a=c.build(r.data);let t=a.getProof(-1);expect(t.isJust()).toStrictEqual(!1),t=a.getProof(5),expect(t.isJust()).toStrictEqual(!1)}),it("Empty tree",()=>{const a=c.build(s.data);expect(a.getRoot()).toStrictEqual(s.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!1)}),it("One-leaf tree",()=>{const a=c.build(n.data);expect(a.getRoot()).toStrictEqual(n.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([])}),it("Tiny tree",()=>{const a=c.build(b.data);expect(a.getRoot()).toStrictEqual(b.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([b.nodes[0][1]])})});
1
+ import{hexaStringToBuffer as e}from"@ledgerhq/device-management-kit";import{Just as i,Nothing as o}from"purify-ts";import{MerkleTreeBuilder as l}from"./MerkleTreeBuilder";import{Sha256HasherService as u}from"./Sha256HasherService";const n={data:[],leaves:[],nodes:[],root:e("0000000000000000000000000000000000000000000000000000000000000000")},s={data:[Uint8Array.from([42,43])],leaves:[Uint8Array.from([0,42,43])],nodes:[],root:e("8a707e40cad3d1070b0a1c87dd362cdf4d546e6d2a7aaf155c798932f71de4ad")},b={data:[Uint8Array.from([0,1,2,3,4]),Uint8Array.from([5,6,7,8,9])],leaves:[Uint8Array.from([0,0,1,2,3,4]),Uint8Array.from([0,5,6,7,8,9])],nodes:[[e("9d1cf1e12fa64e20ccd2a5387504b99e89e24ef55dba8399637c3f5b6615c0ad"),e("7dc17a7849e10103f73b8fa5a4b829f6292a1a59272e0e0c9def83a9c0f86de1")]],root:e("dc65c307a70fb21f4c8ea0cdfc5ff3291adae1db9ce5410b93dcb43c5eddd793")},r={data:[Uint8Array.from([0]),Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])],leaves:[Uint8Array.from([0,0]),Uint8Array.from([0,1]),Uint8Array.from([0,2]),Uint8Array.from([0,3])],nodes:[[e("96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7"),e("b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2"),e("fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f"),e("583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d")],[e("a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a"),e("52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825")]],root:e("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb")},f={data:[Uint8Array.from([0]),Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3]),Uint8Array.from([4]),Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7]),Uint8Array.from([8]),Uint8Array.from([9]),Uint8Array.from([10])],leaves:[Uint8Array.from([0,0]),Uint8Array.from([0,1]),Uint8Array.from([0,2]),Uint8Array.from([0,3]),Uint8Array.from([0,4]),Uint8Array.from([0,5]),Uint8Array.from([0,6]),Uint8Array.from([0,7]),Uint8Array.from([0,8]),Uint8Array.from([0,9]),Uint8Array.from([0,10])],nodes:[[e("96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7"),e("b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2"),e("fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f"),e("583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d"),e("4f35212d12f9ad2036492c95f1fe79baf4ec7bd9bef3dffa7579f2293ff546a4"),e("9f1afa4dc124cba73134e82ff50f17c8f7164257c79fed9a13f5943a6acb8e3d"),e("40d88127d4d31a3891f41598eeed41174e5bc89b1eb9bbd66a8cbfc09956a3fd"),e("2ecd8a6b7d2845546659ad4cf443533cf921b19dc81fa83934e83821b4dfdcb7"),e("b4c43b50bf245bd727623e3c775a8fcfb8d823d00b57dd65f7f79dd33f126315"),e("c87479cd656e7e3ad6bd8db402e8027df454b2b0c42ff29e093458beb98a23d4"),e("67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e")],[e("a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a"),e("52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825"),e("4b8c129ed14cce2c08cfc6766db7f8cdb133b5f698b8de3d5890ea7ff7f0a8d1"),e("bbb0feb32f648c73fe170518bcec1f675af1b780dc23d6fbf30b745c1ca5fa11"),e("f7e08e9a9e87822bd79a0bf24d14c7a431be807336bd3c50ccb2d249b2a91404"),e("67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e")],[e("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb"),e("c1fe42b33ebb8e8a7e4a90abc481c7434e2be02cff2f6a18d7ffab4f1e25891b"),e("e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50")],[e("ef7f49b620f6c7ea9b963a214da34b5021c6ded8ed57734380a311ab726aa907"),e("e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50")]],root:e("e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac")};describe("MerkleTreeBuilder",()=>{let c;beforeEach(()=>{vi.resetAllMocks(),c=new l(new u)}),it("Get small tree root and leaves",()=>{const a=c.build(r.data);expect(a.getRoot()).toStrictEqual(r.root),expect(a.size()).toStrictEqual(r.leaves.length),expect(a.getLeaves().map(t=>t.value)).toStrictEqual(r.leaves),expect(a.getLeaves().map(t=>t.hash)).toStrictEqual(r.nodes[0]),r.nodes[0].forEach((t,d)=>{expect(a.getLeafHash(d)).toStrictEqual(i(t))}),expect(a.getLeafHash(-1)).toStrictEqual(o),expect(a.getLeafHash(r.nodes[0].length)).toStrictEqual(o)}),it("Get big tree root and leaves",()=>{const a=c.build(f.data);expect(a.getRoot()).toStrictEqual(f.root),expect(a.size()).toStrictEqual(f.leaves.length),expect(a.getLeaves().map(t=>t.value)).toStrictEqual(f.leaves),expect(a.getLeaves().map(t=>t.hash)).toStrictEqual(f.nodes[0]),f.nodes[0].forEach((t,d)=>{expect(a.getLeafHash(d)).toStrictEqual(i(t))}),expect(a.getLeafHash(-1)).toStrictEqual(o),expect(a.getLeafHash(f.nodes[0].length)).toStrictEqual(o)}),it("Get small tree merkle proof",()=>{const t=c.build(r.data).getProof(2);expect(t.isJust()).toStrictEqual(!0);const d=t.unsafeCoerce();expect(d).toStrictEqual([r.nodes[0][3],r.nodes[1][0]])}),it("Get big tree merkle proof",()=>{const t=c.build(f.data).getProof(2);expect(t.isJust()).toStrictEqual(!0);const d=t.unsafeCoerce();expect(d).toStrictEqual([f.nodes[0][3],f.nodes[1][0],f.nodes[2][1],f.nodes[3][1]])}),it("Get out-of-bound merkle proof",()=>{const a=c.build(r.data);let t=a.getProof(-1);expect(t.isJust()).toStrictEqual(!1),t=a.getProof(5),expect(t.isJust()).toStrictEqual(!1)}),it("Empty tree",()=>{const a=c.build(n.data);expect(a.getRoot()).toStrictEqual(n.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!1)}),it("One-leaf tree",()=>{const a=c.build(s.data);expect(a.getRoot()).toStrictEqual(s.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([])}),it("Tiny tree",()=>{const a=c.build(b.data);expect(a.getRoot()).toStrictEqual(b.root);const t=a.getProof(0);expect(t.isJust()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([b.nodes[0][1]])})});
2
2
  //# sourceMappingURL=MerkleTreeBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/merkle-tree/service/MerkleTreeBuilder.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { MerkleTreeBuilder } from \"./MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"./Sha256HasherService\";\n\nconst EMPTY_TREE = {\n data: [],\n leaves: [],\n nodes: [],\n root: hexaStringToBuffer(\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n ),\n};\n\nconst ONE_LEAF_TREE = {\n data: [Uint8Array.from([42, 43])],\n leaves: [Uint8Array.from([0, 42, 43])],\n nodes: [],\n root: hexaStringToBuffer(\n \"8a707e40cad3d1070b0a1c87dd362cdf4d546e6d2a7aaf155c798932f71de4ad\",\n ),\n};\n\nconst TINY_TREE = {\n data: [Uint8Array.from([0, 1, 2, 3, 4]), Uint8Array.from([5, 6, 7, 8, 9])],\n leaves: [\n Uint8Array.from([0, 0, 1, 2, 3, 4]),\n Uint8Array.from([0, 5, 6, 7, 8, 9]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"9d1cf1e12fa64e20ccd2a5387504b99e89e24ef55dba8399637c3f5b6615c0ad\",\n )!,\n hexaStringToBuffer(\n \"7dc17a7849e10103f73b8fa5a4b829f6292a1a59272e0e0c9def83a9c0f86de1\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"dc65c307a70fb21f4c8ea0cdfc5ff3291adae1db9ce5410b93dcb43c5eddd793\",\n )!,\n};\n\nconst SMALL_TREE = {\n data: [\n Uint8Array.from([0]),\n Uint8Array.from([1]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ],\n leaves: [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0, 1]),\n Uint8Array.from([0, 2]),\n Uint8Array.from([0, 3]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7\",\n )!,\n hexaStringToBuffer(\n \"b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2\",\n )!,\n hexaStringToBuffer(\n \"fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f\",\n )!,\n hexaStringToBuffer(\n \"583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a\",\n )!,\n hexaStringToBuffer(\n \"52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n data: [\n Uint8Array.from([0]),\n Uint8Array.from([1]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n Uint8Array.from([4]),\n Uint8Array.from([5]),\n Uint8Array.from([6]),\n Uint8Array.from([7]),\n Uint8Array.from([8]),\n Uint8Array.from([9]),\n Uint8Array.from([10]),\n ],\n leaves: [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0, 1]),\n Uint8Array.from([0, 2]),\n Uint8Array.from([0, 3]),\n Uint8Array.from([0, 4]),\n Uint8Array.from([0, 5]),\n Uint8Array.from([0, 6]),\n Uint8Array.from([0, 7]),\n Uint8Array.from([0, 8]),\n Uint8Array.from([0, 9]),\n Uint8Array.from([0, 10]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7\",\n )!,\n hexaStringToBuffer(\n \"b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2\",\n )!,\n hexaStringToBuffer(\n \"fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f\",\n )!,\n hexaStringToBuffer(\n \"583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d\",\n )!,\n hexaStringToBuffer(\n \"4f35212d12f9ad2036492c95f1fe79baf4ec7bd9bef3dffa7579f2293ff546a4\",\n )!,\n hexaStringToBuffer(\n \"9f1afa4dc124cba73134e82ff50f17c8f7164257c79fed9a13f5943a6acb8e3d\",\n )!,\n hexaStringToBuffer(\n \"40d88127d4d31a3891f41598eeed41174e5bc89b1eb9bbd66a8cbfc09956a3fd\",\n )!,\n hexaStringToBuffer(\n \"2ecd8a6b7d2845546659ad4cf443533cf921b19dc81fa83934e83821b4dfdcb7\",\n )!,\n hexaStringToBuffer(\n \"b4c43b50bf245bd727623e3c775a8fcfb8d823d00b57dd65f7f79dd33f126315\",\n )!,\n hexaStringToBuffer(\n \"c87479cd656e7e3ad6bd8db402e8027df454b2b0c42ff29e093458beb98a23d4\",\n )!,\n hexaStringToBuffer(\n \"67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a\",\n )!,\n hexaStringToBuffer(\n \"52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825\",\n )!,\n hexaStringToBuffer(\n \"4b8c129ed14cce2c08cfc6766db7f8cdb133b5f698b8de3d5890ea7ff7f0a8d1\",\n )!,\n hexaStringToBuffer(\n \"bbb0feb32f648c73fe170518bcec1f675af1b780dc23d6fbf30b745c1ca5fa11\",\n )!,\n hexaStringToBuffer(\n \"f7e08e9a9e87822bd79a0bf24d14c7a431be807336bd3c50ccb2d249b2a91404\",\n )!,\n hexaStringToBuffer(\n \"67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n hexaStringToBuffer(\n \"c1fe42b33ebb8e8a7e4a90abc481c7434e2be02cff2f6a18d7ffab4f1e25891b\",\n )!,\n hexaStringToBuffer(\n \"e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"ef7f49b620f6c7ea9b963a214da34b5021c6ded8ed57734380a311ab726aa907\",\n )!,\n hexaStringToBuffer(\n \"e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"MerkleTreeBuilder\", () => {\n let builder: MerkleTreeBuilder;\n\n beforeEach(() => {\n jest.resetAllMocks();\n builder = new MerkleTreeBuilder(new Sha256HasherService());\n });\n\n it(\"Get small tree root and leaves\", () => {\n const tree = builder.build(SMALL_TREE.data);\n expect(tree.getRoot()).toStrictEqual(SMALL_TREE.root);\n expect(tree.size()).toStrictEqual(SMALL_TREE.leaves.length);\n expect(tree.getLeaves().map((l) => l.value)).toStrictEqual(\n SMALL_TREE.leaves,\n );\n expect(tree.getLeaves().map((l) => l.hash)).toStrictEqual(\n SMALL_TREE.nodes[0],\n );\n SMALL_TREE.nodes[0]!.forEach((hash, index) => {\n expect(tree.getLeafHash(index)).toStrictEqual(Just(hash));\n });\n expect(tree.getLeafHash(-1)).toStrictEqual(Nothing);\n expect(tree.getLeafHash(SMALL_TREE.nodes[0]!.length)).toStrictEqual(\n Nothing,\n );\n });\n\n it(\"Get big tree root and leaves\", () => {\n const tree = builder.build(BIG_TREE.data);\n expect(tree.getRoot()).toStrictEqual(BIG_TREE.root);\n expect(tree.size()).toStrictEqual(BIG_TREE.leaves.length);\n expect(tree.getLeaves().map((l) => l.value)).toStrictEqual(BIG_TREE.leaves);\n expect(tree.getLeaves().map((l) => l.hash)).toStrictEqual(\n BIG_TREE.nodes[0],\n );\n BIG_TREE.nodes[0]!.forEach((hash, index) => {\n expect(tree.getLeafHash(index)).toStrictEqual(Just(hash));\n });\n expect(tree.getLeafHash(-1)).toStrictEqual(Nothing);\n expect(tree.getLeafHash(BIG_TREE.nodes[0]!.length)).toStrictEqual(Nothing);\n });\n\n it(\"Get small tree merkle proof\", () => {\n const tree = builder.build(SMALL_TREE.data);\n const maybeProof = tree.getProof(2);\n expect(maybeProof.isJust()).toStrictEqual(true);\n const proof = maybeProof.unsafeCoerce();\n\n expect(proof).toStrictEqual([\n SMALL_TREE.nodes[0]![3],\n SMALL_TREE.nodes[1]![0],\n ]);\n });\n\n it(\"Get big tree merkle proof\", () => {\n const tree = builder.build(BIG_TREE.data);\n const maybeProof = tree.getProof(2);\n expect(maybeProof.isJust()).toStrictEqual(true);\n const proof = maybeProof.unsafeCoerce();\n\n expect(proof).toStrictEqual([\n BIG_TREE.nodes[0]![3],\n BIG_TREE.nodes[1]![0],\n BIG_TREE.nodes[2]![1],\n BIG_TREE.nodes[3]![1],\n ]);\n });\n\n it(\"Get out-of-bound merkle proof\", () => {\n const tree = builder.build(SMALL_TREE.data);\n let maybeProof = tree.getProof(-1);\n expect(maybeProof.isJust()).toStrictEqual(false);\n maybeProof = tree.getProof(5);\n expect(maybeProof.isJust()).toStrictEqual(false);\n });\n\n it(\"Empty tree\", () => {\n const tree = builder.build(EMPTY_TREE.data);\n expect(tree.getRoot()).toStrictEqual(EMPTY_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(false);\n });\n\n it(\"One-leaf tree\", () => {\n const tree = builder.build(ONE_LEAF_TREE.data);\n expect(tree.getRoot()).toStrictEqual(ONE_LEAF_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(true);\n expect(proof.unsafeCoerce()).toStrictEqual([]);\n });\n\n it(\"Tiny tree\", () => {\n const tree = builder.build(TINY_TREE.data);\n expect(tree.getRoot()).toStrictEqual(TINY_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(true);\n expect(proof.unsafeCoerce()).toStrictEqual([TINY_TREE.nodes[0]![1]]);\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { MerkleTreeBuilder } from \"./MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"./Sha256HasherService\";\n\nconst EMPTY_TREE = {\n data: [],\n leaves: [],\n nodes: [],\n root: hexaStringToBuffer(\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n ),\n};\n\nconst ONE_LEAF_TREE = {\n data: [Uint8Array.from([42, 43])],\n leaves: [Uint8Array.from([0, 42, 43])],\n nodes: [],\n root: hexaStringToBuffer(\n \"8a707e40cad3d1070b0a1c87dd362cdf4d546e6d2a7aaf155c798932f71de4ad\",\n ),\n};\n\nconst TINY_TREE = {\n data: [Uint8Array.from([0, 1, 2, 3, 4]), Uint8Array.from([5, 6, 7, 8, 9])],\n leaves: [\n Uint8Array.from([0, 0, 1, 2, 3, 4]),\n Uint8Array.from([0, 5, 6, 7, 8, 9]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"9d1cf1e12fa64e20ccd2a5387504b99e89e24ef55dba8399637c3f5b6615c0ad\",\n )!,\n hexaStringToBuffer(\n \"7dc17a7849e10103f73b8fa5a4b829f6292a1a59272e0e0c9def83a9c0f86de1\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"dc65c307a70fb21f4c8ea0cdfc5ff3291adae1db9ce5410b93dcb43c5eddd793\",\n )!,\n};\n\nconst SMALL_TREE = {\n data: [\n Uint8Array.from([0]),\n Uint8Array.from([1]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ],\n leaves: [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0, 1]),\n Uint8Array.from([0, 2]),\n Uint8Array.from([0, 3]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7\",\n )!,\n hexaStringToBuffer(\n \"b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2\",\n )!,\n hexaStringToBuffer(\n \"fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f\",\n )!,\n hexaStringToBuffer(\n \"583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a\",\n )!,\n hexaStringToBuffer(\n \"52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n data: [\n Uint8Array.from([0]),\n Uint8Array.from([1]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n Uint8Array.from([4]),\n Uint8Array.from([5]),\n Uint8Array.from([6]),\n Uint8Array.from([7]),\n Uint8Array.from([8]),\n Uint8Array.from([9]),\n Uint8Array.from([10]),\n ],\n leaves: [\n Uint8Array.from([0, 0]),\n Uint8Array.from([0, 1]),\n Uint8Array.from([0, 2]),\n Uint8Array.from([0, 3]),\n Uint8Array.from([0, 4]),\n Uint8Array.from([0, 5]),\n Uint8Array.from([0, 6]),\n Uint8Array.from([0, 7]),\n Uint8Array.from([0, 8]),\n Uint8Array.from([0, 9]),\n Uint8Array.from([0, 10]),\n ],\n nodes: [\n [\n hexaStringToBuffer(\n \"96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7\",\n )!,\n hexaStringToBuffer(\n \"b413f47d13ee2fe6c845b2ee141af81de858df4ec549a58b7970bb96645bc8d2\",\n )!,\n hexaStringToBuffer(\n \"fcf0a6c700dd13e274b6fba8deea8dd9b26e4eedde3495717cac8408c9c5177f\",\n )!,\n hexaStringToBuffer(\n \"583c7dfb7b3055d99465544032a571e10a134b1b6f769422bbb71fd7fa167a5d\",\n )!,\n hexaStringToBuffer(\n \"4f35212d12f9ad2036492c95f1fe79baf4ec7bd9bef3dffa7579f2293ff546a4\",\n )!,\n hexaStringToBuffer(\n \"9f1afa4dc124cba73134e82ff50f17c8f7164257c79fed9a13f5943a6acb8e3d\",\n )!,\n hexaStringToBuffer(\n \"40d88127d4d31a3891f41598eeed41174e5bc89b1eb9bbd66a8cbfc09956a3fd\",\n )!,\n hexaStringToBuffer(\n \"2ecd8a6b7d2845546659ad4cf443533cf921b19dc81fa83934e83821b4dfdcb7\",\n )!,\n hexaStringToBuffer(\n \"b4c43b50bf245bd727623e3c775a8fcfb8d823d00b57dd65f7f79dd33f126315\",\n )!,\n hexaStringToBuffer(\n \"c87479cd656e7e3ad6bd8db402e8027df454b2b0c42ff29e093458beb98a23d4\",\n )!,\n hexaStringToBuffer(\n \"67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"a20bf9a7cc2dc8a08f5f415a71b19f6ac427bab54d24eec868b5d3103449953a\",\n )!,\n hexaStringToBuffer(\n \"52c56b473e5246933e7852989cd9feba3b38f078742b93afff1e65ed46797825\",\n )!,\n hexaStringToBuffer(\n \"4b8c129ed14cce2c08cfc6766db7f8cdb133b5f698b8de3d5890ea7ff7f0a8d1\",\n )!,\n hexaStringToBuffer(\n \"bbb0feb32f648c73fe170518bcec1f675af1b780dc23d6fbf30b745c1ca5fa11\",\n )!,\n hexaStringToBuffer(\n \"f7e08e9a9e87822bd79a0bf24d14c7a431be807336bd3c50ccb2d249b2a91404\",\n )!,\n hexaStringToBuffer(\n \"67ebbd370daa02ba9aadd05d8e091e862d0d8bcadafdf2a22360240a42fe922e\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n hexaStringToBuffer(\n \"c1fe42b33ebb8e8a7e4a90abc481c7434e2be02cff2f6a18d7ffab4f1e25891b\",\n )!,\n hexaStringToBuffer(\n \"e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50\",\n )!,\n ],\n [\n hexaStringToBuffer(\n \"ef7f49b620f6c7ea9b963a214da34b5021c6ded8ed57734380a311ab726aa907\",\n )!,\n hexaStringToBuffer(\n \"e4b894272eb88bed1830cbef82d1c7aee37612a9e7131a5bdd0ae1a6e8f3ff50\",\n )!,\n ],\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"MerkleTreeBuilder\", () => {\n let builder: MerkleTreeBuilder;\n\n beforeEach(() => {\n vi.resetAllMocks();\n builder = new MerkleTreeBuilder(new Sha256HasherService());\n });\n\n it(\"Get small tree root and leaves\", () => {\n const tree = builder.build(SMALL_TREE.data);\n expect(tree.getRoot()).toStrictEqual(SMALL_TREE.root);\n expect(tree.size()).toStrictEqual(SMALL_TREE.leaves.length);\n expect(tree.getLeaves().map((l) => l.value)).toStrictEqual(\n SMALL_TREE.leaves,\n );\n expect(tree.getLeaves().map((l) => l.hash)).toStrictEqual(\n SMALL_TREE.nodes[0],\n );\n SMALL_TREE.nodes[0]!.forEach((hash, index) => {\n expect(tree.getLeafHash(index)).toStrictEqual(Just(hash));\n });\n expect(tree.getLeafHash(-1)).toStrictEqual(Nothing);\n expect(tree.getLeafHash(SMALL_TREE.nodes[0]!.length)).toStrictEqual(\n Nothing,\n );\n });\n\n it(\"Get big tree root and leaves\", () => {\n const tree = builder.build(BIG_TREE.data);\n expect(tree.getRoot()).toStrictEqual(BIG_TREE.root);\n expect(tree.size()).toStrictEqual(BIG_TREE.leaves.length);\n expect(tree.getLeaves().map((l) => l.value)).toStrictEqual(BIG_TREE.leaves);\n expect(tree.getLeaves().map((l) => l.hash)).toStrictEqual(\n BIG_TREE.nodes[0],\n );\n BIG_TREE.nodes[0]!.forEach((hash, index) => {\n expect(tree.getLeafHash(index)).toStrictEqual(Just(hash));\n });\n expect(tree.getLeafHash(-1)).toStrictEqual(Nothing);\n expect(tree.getLeafHash(BIG_TREE.nodes[0]!.length)).toStrictEqual(Nothing);\n });\n\n it(\"Get small tree merkle proof\", () => {\n const tree = builder.build(SMALL_TREE.data);\n const maybeProof = tree.getProof(2);\n expect(maybeProof.isJust()).toStrictEqual(true);\n const proof = maybeProof.unsafeCoerce();\n\n expect(proof).toStrictEqual([\n SMALL_TREE.nodes[0]![3],\n SMALL_TREE.nodes[1]![0],\n ]);\n });\n\n it(\"Get big tree merkle proof\", () => {\n const tree = builder.build(BIG_TREE.data);\n const maybeProof = tree.getProof(2);\n expect(maybeProof.isJust()).toStrictEqual(true);\n const proof = maybeProof.unsafeCoerce();\n\n expect(proof).toStrictEqual([\n BIG_TREE.nodes[0]![3],\n BIG_TREE.nodes[1]![0],\n BIG_TREE.nodes[2]![1],\n BIG_TREE.nodes[3]![1],\n ]);\n });\n\n it(\"Get out-of-bound merkle proof\", () => {\n const tree = builder.build(SMALL_TREE.data);\n let maybeProof = tree.getProof(-1);\n expect(maybeProof.isJust()).toStrictEqual(false);\n maybeProof = tree.getProof(5);\n expect(maybeProof.isJust()).toStrictEqual(false);\n });\n\n it(\"Empty tree\", () => {\n const tree = builder.build(EMPTY_TREE.data);\n expect(tree.getRoot()).toStrictEqual(EMPTY_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(false);\n });\n\n it(\"One-leaf tree\", () => {\n const tree = builder.build(ONE_LEAF_TREE.data);\n expect(tree.getRoot()).toStrictEqual(ONE_LEAF_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(true);\n expect(proof.unsafeCoerce()).toStrictEqual([]);\n });\n\n it(\"Tiny tree\", () => {\n const tree = builder.build(TINY_TREE.data);\n expect(tree.getRoot()).toStrictEqual(TINY_TREE.root);\n const proof = tree.getProof(0);\n expect(proof.isJust()).toStrictEqual(true);\n expect(proof.unsafeCoerce()).toStrictEqual([TINY_TREE.nodes[0]![1]]);\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["hexaStringToBuffer", "Just", "Nothing", "MerkleTreeBuilder", "Sha256HasherService", "EMPTY_TREE", "ONE_LEAF_TREE", "TINY_TREE", "SMALL_TREE", "BIG_TREE", "builder", "tree", "l", "hash", "index", "maybeProof", "proof"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as t}from"inversify";import{psbtTypes as e}from"../../psbt/di/psbtTypes";import{DefaultKeySerializer as o}from"../../psbt/service/key/DefaultKeySerializer";import{DefaultKeyPairSerializer as a}from"../../psbt/service/key-pair/DefaultKeyPairSerializer";import{DefaultPsbtMapper as i}from"../../psbt/service/psbt/DefaultPsbtMapper";import{DefaultPsbtSerializer as l}from"../../psbt/service/psbt/DefaultPsbtSerializer";import{DefaultPsbtV2Normalizer as m}from"../../psbt/service/psbt/DefaultPsbtV2Normalizer";import{DefaultValueFactory as p}from"../../psbt/service/value/DefaultValueFactory";import{DefaultValueParser as f}from"../../psbt/service/value/DefaultValueParser";const v=()=>new t((r,u,s,P,n,y,z)=>{r(e.KeySerializer).to(o),r(e.KeyPairSerializer).to(a),r(e.PsbtMapper).to(i),r(e.PsbtV2Normalizer).to(m),r(e.PsbtSerializer).to(l),r(e.ValueFactory).to(p),r(e.ValueParser).to(f)});export{v as psbtModuleFactory};
1
+ import{ContainerModule as t}from"inversify";import{psbtTypes as e}from"../../psbt/di/psbtTypes";import{DefaultKeySerializer as o}from"../../psbt/service/key/DefaultKeySerializer";import{DefaultKeyPairSerializer as a}from"../../psbt/service/key-pair/DefaultKeyPairSerializer";import{DefaultPsbtMapper as l}from"../../psbt/service/psbt/DefaultPsbtMapper";import{DefaultPsbtSerializer as i}from"../../psbt/service/psbt/DefaultPsbtSerializer";import{DefaultPsbtV2Normalizer as m}from"../../psbt/service/psbt/DefaultPsbtV2Normalizer";import{DefaultValueFactory as p}from"../../psbt/service/value/DefaultValueFactory";import{DefaultValueParser as f}from"../../psbt/service/value/DefaultValueParser";const K=()=>new t(({bind:r})=>{r(e.KeySerializer).to(o),r(e.KeyPairSerializer).to(a),r(e.PsbtMapper).to(l),r(e.PsbtV2Normalizer).to(m),r(e.PsbtSerializer).to(i),r(e.ValueFactory).to(p),r(e.ValueParser).to(f)});export{K as psbtModuleFactory};
2
2
  //# sourceMappingURL=psbtModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/psbt/di/psbtModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { DefaultKeySerializer } from \"@internal/psbt/service/key/DefaultKeySerializer\";\nimport { DefaultKeyPairSerializer } from \"@internal/psbt/service/key-pair/DefaultKeyPairSerializer\";\nimport { DefaultPsbtMapper } from \"@internal/psbt/service/psbt/DefaultPsbtMapper\";\nimport { DefaultPsbtSerializer } from \"@internal/psbt/service/psbt/DefaultPsbtSerializer\";\nimport { DefaultPsbtV2Normalizer } from \"@internal/psbt/service/psbt/DefaultPsbtV2Normalizer\";\nimport { DefaultValueFactory } from \"@internal/psbt/service/value/DefaultValueFactory\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\nexport const psbtModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(psbtTypes.KeySerializer).to(DefaultKeySerializer);\n bind(psbtTypes.KeyPairSerializer).to(DefaultKeyPairSerializer);\n bind(psbtTypes.PsbtMapper).to(DefaultPsbtMapper);\n bind(psbtTypes.PsbtV2Normalizer).to(DefaultPsbtV2Normalizer);\n bind(psbtTypes.PsbtSerializer).to(DefaultPsbtSerializer);\n bind(psbtTypes.ValueFactory).to(DefaultValueFactory);\n bind(psbtTypes.ValueParser).to(DefaultValueParser);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,aAAAC,MAAiB,8BAC1B,OAAS,wBAAAC,MAA4B,kDACrC,OAAS,4BAAAC,MAAgC,2DACzC,OAAS,qBAAAC,MAAyB,gDAClC,OAAS,yBAAAC,MAA6B,oDACtC,OAAS,2BAAAC,MAA+B,sDACxC,OAAS,uBAAAC,MAA2B,mDACpC,OAAS,sBAAAC,MAA0B,kDAE5B,MAAMC,EAAoB,IAC/B,IAAIT,EACF,CACEU,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKT,EAAU,aAAa,EAAE,GAAGC,CAAoB,EACrDQ,EAAKT,EAAU,iBAAiB,EAAE,GAAGE,CAAwB,EAC7DO,EAAKT,EAAU,UAAU,EAAE,GAAGG,CAAiB,EAC/CM,EAAKT,EAAU,gBAAgB,EAAE,GAAGK,CAAuB,EAC3DI,EAAKT,EAAU,cAAc,EAAE,GAAGI,CAAqB,EACvDK,EAAKT,EAAU,YAAY,EAAE,GAAGM,CAAmB,EACnDG,EAAKT,EAAU,WAAW,EAAE,GAAGO,CAAkB,CACnD,CACF",
6
- "names": ["ContainerModule", "psbtTypes", "DefaultKeySerializer", "DefaultKeyPairSerializer", "DefaultPsbtMapper", "DefaultPsbtSerializer", "DefaultPsbtV2Normalizer", "DefaultValueFactory", "DefaultValueParser", "psbtModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { DefaultKeySerializer } from \"@internal/psbt/service/key/DefaultKeySerializer\";\nimport { DefaultKeyPairSerializer } from \"@internal/psbt/service/key-pair/DefaultKeyPairSerializer\";\nimport { DefaultPsbtMapper } from \"@internal/psbt/service/psbt/DefaultPsbtMapper\";\nimport { DefaultPsbtSerializer } from \"@internal/psbt/service/psbt/DefaultPsbtSerializer\";\nimport { DefaultPsbtV2Normalizer } from \"@internal/psbt/service/psbt/DefaultPsbtV2Normalizer\";\nimport { DefaultValueFactory } from \"@internal/psbt/service/value/DefaultValueFactory\";\nimport { DefaultValueParser } from \"@internal/psbt/service/value/DefaultValueParser\";\n\nexport const psbtModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(psbtTypes.KeySerializer).to(DefaultKeySerializer);\n bind(psbtTypes.KeyPairSerializer).to(DefaultKeyPairSerializer);\n bind(psbtTypes.PsbtMapper).to(DefaultPsbtMapper);\n bind(psbtTypes.PsbtV2Normalizer).to(DefaultPsbtV2Normalizer);\n bind(psbtTypes.PsbtSerializer).to(DefaultPsbtSerializer);\n bind(psbtTypes.ValueFactory).to(DefaultValueFactory);\n bind(psbtTypes.ValueParser).to(DefaultValueParser);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,aAAAC,MAAiB,8BAC1B,OAAS,wBAAAC,MAA4B,kDACrC,OAAS,4BAAAC,MAAgC,2DACzC,OAAS,qBAAAC,MAAyB,gDAClC,OAAS,yBAAAC,MAA6B,oDACtC,OAAS,2BAAAC,MAA+B,sDACxC,OAAS,uBAAAC,MAA2B,mDACpC,OAAS,sBAAAC,MAA0B,kDAE5B,MAAMC,EAAoB,IAC/B,IAAIT,EAAgB,CAAC,CAAE,KAAAU,CAAK,IAAM,CAChCA,EAAKT,EAAU,aAAa,EAAE,GAAGC,CAAoB,EACrDQ,EAAKT,EAAU,iBAAiB,EAAE,GAAGE,CAAwB,EAC7DO,EAAKT,EAAU,UAAU,EAAE,GAAGG,CAAiB,EAC/CM,EAAKT,EAAU,gBAAgB,EAAE,GAAGK,CAAuB,EAC3DI,EAAKT,EAAU,cAAc,EAAE,GAAGI,CAAqB,EACvDK,EAAKT,EAAU,YAAY,EAAE,GAAGM,CAAmB,EACnDG,EAAKT,EAAU,WAAW,EAAE,GAAGO,CAAkB,CACnD,CAAC",
6
+ "names": ["ContainerModule", "psbtTypes", "DefaultKeySerializer", "DefaultKeyPairSerializer", "DefaultPsbtMapper", "DefaultPsbtSerializer", "DefaultPsbtV2Normalizer", "DefaultValueFactory", "DefaultValueParser", "psbtModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as o}from"inversify";import{psbtModuleFactory as r}from"./psbtModule";describe("PsbtModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=r(),t=new o,t.load(e)}),it("should return the psbt service module",()=>{expect(e).toBeDefined()})})});
1
+ import{Container as o}from"inversify";import{psbtModuleFactory as r}from"./psbtModule";describe("PsbtModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=r(),t=new o,t.loadSync(e)}),it("should return the psbt service module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=psbtModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/psbt/di/psbtModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { psbtModuleFactory } from \"./psbtModule\";\n\ndescribe(\"PsbtModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof psbtModuleFactory>;\n beforeEach(() => {\n mod = psbtModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the psbt service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,qBAAAC,MAAyB,eAElC,SAAS,oBAAqB,IAAM,CAClC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAkB,EACxBC,EAAY,IAAIF,EAChBE,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAChD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { psbtModuleFactory } from \"./psbtModule\";\n\ndescribe(\"PsbtModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof psbtModuleFactory>;\n beforeEach(() => {\n mod = psbtModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the psbt service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,qBAAAC,MAAyB,eAElC,SAAS,oBAAqB,IAAM,CAClC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAkB,EACxBC,EAAY,IAAIF,EAChBE,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAChD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "psbtModuleFactory", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{bufferToHexaString as t,ByteArrayBuilder as r}from"@ledgerhq/device-management-kit";import{encodeVarint as a}from"../../utils/Varint";class i{constructor(e,y=new Uint8Array){this.keyType=e;this.keyData=y}toHexaString(){const e=new r().addBufferToData(a(this.keyType).unsafeCoerce()).addBufferToData(this.keyData).build();return t(e).slice(2)}}export{i as Key};
1
+ import{bufferToHexaString as t,ByteArrayBuilder as r}from"@ledgerhq/device-management-kit";import{encodeVarint as a}from"../../utils/Varint";class f{constructor(e,y=new Uint8Array){this.keyType=e;this.keyData=y}toHexaString(){const e=new r().addBufferToData(a(this.keyType).unsafeCoerce()).addBufferToData(this.keyData).build();return t(e,!1)}}export{f as Key};
2
2
  //# sourceMappingURL=Key.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/psbt/model/Key.ts"],
4
- "sourcesContent": ["import {\n bufferToHexaString,\n ByteArrayBuilder,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { encodeVarint } from \"@internal/utils/Varint\";\n\nimport { type PsbtGlobal, type PsbtIn, type PsbtOut } from \"./Psbt\";\n\n/**\n * According to specification, key-pair is formatted as:\n * <keylen> <keytype> <keydata> <valuelen> <valuedata>\n * with:\n * <keylen>: The compact size unsigned integer containing the combined length of <keytype> and <keydata>\n * <keytype>: A compact size unsigned integer representing the type\n * <valuelen>: The compact size unsigned integer containing the length of <valuedata>\n * For more informations:\n * https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#specification\n */\nexport type KeyType = PsbtGlobal | PsbtIn | PsbtOut;\n\nexport class Key {\n constructor(\n readonly keyType: KeyType,\n readonly keyData: Uint8Array = new Uint8Array(),\n ) {}\n\n toHexaString(): string {\n // Safe to extract keyType here since its value is a valid PSBT key type.\n const buffer = new ByteArrayBuilder()\n .addBufferToData(encodeVarint(this.keyType).unsafeCoerce())\n .addBufferToData(this.keyData)\n .build();\n return bufferToHexaString(buffer).slice(2);\n }\n}\n"],
5
- "mappings": "AAAA,OACE,sBAAAA,EACA,oBAAAC,MACK,kCAEP,OAAS,gBAAAC,MAAoB,yBAgBtB,MAAMC,CAAI,CACf,YACWC,EACAC,EAAsB,IAAI,WACnC,CAFS,aAAAD,EACA,aAAAC,CACR,CAEH,cAAuB,CAErB,MAAMC,EAAS,IAAIL,EAAiB,EACjC,gBAAgBC,EAAa,KAAK,OAAO,EAAE,aAAa,CAAC,EACzD,gBAAgB,KAAK,OAAO,EAC5B,MAAM,EACT,OAAOF,EAAmBM,CAAM,EAAE,MAAM,CAAC,CAC3C,CACF",
4
+ "sourcesContent": ["import {\n bufferToHexaString,\n ByteArrayBuilder,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { encodeVarint } from \"@internal/utils/Varint\";\n\nimport { type PsbtGlobal, type PsbtIn, type PsbtOut } from \"./Psbt\";\n\n/**\n * According to specification, key-pair is formatted as:\n * <keylen> <keytype> <keydata> <valuelen> <valuedata>\n * with:\n * <keylen>: The compact size unsigned integer containing the combined length of <keytype> and <keydata>\n * <keytype>: A compact size unsigned integer representing the type\n * <valuelen>: The compact size unsigned integer containing the length of <valuedata>\n * For more informations:\n * https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#specification\n */\nexport type KeyType = PsbtGlobal | PsbtIn | PsbtOut;\n\nexport class Key {\n constructor(\n readonly keyType: KeyType,\n readonly keyData: Uint8Array = new Uint8Array(),\n ) {}\n\n toHexaString(): string {\n // Safe to extract keyType here since its value is a valid PSBT key type.\n const buffer = new ByteArrayBuilder()\n .addBufferToData(encodeVarint(this.keyType).unsafeCoerce())\n .addBufferToData(this.keyData)\n .build();\n return bufferToHexaString(buffer, false);\n }\n}\n"],
5
+ "mappings": "AAAA,OACE,sBAAAA,EACA,oBAAAC,MACK,kCAEP,OAAS,gBAAAC,MAAoB,yBAgBtB,MAAMC,CAAI,CACf,YACWC,EACAC,EAAsB,IAAI,WACnC,CAFS,aAAAD,EACA,aAAAC,CACR,CAEH,cAAuB,CAErB,MAAMC,EAAS,IAAIL,EAAiB,EACjC,gBAAgBC,EAAa,KAAK,OAAO,EAAE,aAAa,CAAC,EACzD,gBAAgB,KAAK,OAAO,EAC5B,MAAM,EACT,OAAOF,EAAmBM,EAAQ,EAAK,CACzC,CACF",
6
6
  "names": ["bufferToHexaString", "ByteArrayBuilder", "encodeVarint", "Key", "keyType", "keyData", "buffer"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as m}from"@ledgerhq/device-management-kit";import*as u from"bitcoinjs-lib";import{Left as d,Right as n}from"purify-ts";import{Psbt as P}from"../../../psbt/model/Psbt";import{DefaultPsbtMapper as i}from"./DefaultPsbtMapper";describe("DefaultPsbtMapper tests",()=>{const b="70736274ff0100a00200000002ab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40000000000feffffffab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40100000000feffffff02603bea0b000000001976a914768a40bbd740cbe81d988e71de2a4d5c71396b1d88ac8e240000000000001976a9146f4620b553fa095e721b9ee0efe9fa039cca459788ac00000000000100df0200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf6000000006a473044022070b2245123e6bf474d60c5b50c043d4c691a5d2435f09a34a7662a9dc251790a022001329ca9dacf280bdf30740ec0390422422c81cb45839457aeb76fc12edd95b3012102657d118d3357b8e0f4c2cd46db7b39f6d9c38d9a70abcb9b2de5dc8dbfe4ce31feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e13000001012000e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787010416001485d13537f2e265405a34dbafa9e3dda01fb8230800220202ead596687ca806043edc3de116cdf29d5e9257c196cd055cf698c8d02bf24e9910b4a6ba670000008000000080020000800022020394f62be9df19952c5587768aeb7698061ad2c4a25c894f47d8c162b4d7213d0510b4a6ba6700000080010000800200008000",l="cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEA3wIAAAABJoFxNx7f8oXpN63upLN7eAAMBWbLs61kZBcTykIXG/YAAAAAakcwRAIgcLIkUSPmv0dNYMW1DAQ9TGkaXSQ18Jo0p2YqncJReQoCIAEynKnazygL3zB0DsA5BCJCLIHLRYOUV663b8Eu3ZWzASECZX0RjTNXuOD0ws1G23s59tnDjZpwq8ubLeXcjb/kzjH+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIACICAurVlmh8qAYEPtw94RbN8p1eklfBls0FXPaYyNAr8k6ZELSmumcAAACAAAAAgAIAAIAAIgIDlPYr6d8ZlSxVh3aK63aYBhrSxKJciU9H2MFitNchPQUQtKa6ZwAAAIABAACAAgAAgAA=",A=m(b),t=jest.fn(),s={deserialize:t},c=jest.fn(),f={normalize:c},o=()=>new P;beforeEach(()=>{jest.resetAllMocks()}),it("Map hex string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(s,f).map(b);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map base64 string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(s,f).map(l);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map bjs transaction",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(s,f).map(u.Psbt.fromHex(b));expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map byte array",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(s,f).map(A);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map invalid string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(s,f).map("some random string");expect(r.isRight()).toStrictEqual(!1)}),it("Parser failure",()=>{const e=o();t.mockReturnValueOnce(d(new Error)),c.mockReturnValueOnce(n(e));const p=new i(s,f).map(A);expect(t).toHaveBeenCalledWith(A),expect(p.isRight()).toStrictEqual(!1)}),it("Normalizer failure",()=>{const e=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(d(new Error));const p=new i(s,f).map(A);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(p.isRight()).toStrictEqual(!1)})});
1
+ import{hexaStringToBuffer as m}from"@ledgerhq/device-management-kit";import*as u from"bitcoinjs-lib";import{Left as d,Right as n}from"purify-ts";import{Psbt as P}from"../../../psbt/model/Psbt";import{DefaultPsbtMapper as i}from"./DefaultPsbtMapper";describe("DefaultPsbtMapper tests",()=>{const b="70736274ff0100a00200000002ab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40000000000feffffffab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40100000000feffffff02603bea0b000000001976a914768a40bbd740cbe81d988e71de2a4d5c71396b1d88ac8e240000000000001976a9146f4620b553fa095e721b9ee0efe9fa039cca459788ac00000000000100df0200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf6000000006a473044022070b2245123e6bf474d60c5b50c043d4c691a5d2435f09a34a7662a9dc251790a022001329ca9dacf280bdf30740ec0390422422c81cb45839457aeb76fc12edd95b3012102657d118d3357b8e0f4c2cd46db7b39f6d9c38d9a70abcb9b2de5dc8dbfe4ce31feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e13000001012000e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787010416001485d13537f2e265405a34dbafa9e3dda01fb8230800220202ead596687ca806043edc3de116cdf29d5e9257c196cd055cf698c8d02bf24e9910b4a6ba670000008000000080020000800022020394f62be9df19952c5587768aeb7698061ad2c4a25c894f47d8c162b4d7213d0510b4a6ba6700000080010000800200008000",l="cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEA3wIAAAABJoFxNx7f8oXpN63upLN7eAAMBWbLs61kZBcTykIXG/YAAAAAakcwRAIgcLIkUSPmv0dNYMW1DAQ9TGkaXSQ18Jo0p2YqncJReQoCIAEynKnazygL3zB0DsA5BCJCLIHLRYOUV663b8Eu3ZWzASECZX0RjTNXuOD0ws1G23s59tnDjZpwq8ubLeXcjb/kzjH+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIACICAurVlmh8qAYEPtw94RbN8p1eklfBls0FXPaYyNAr8k6ZELSmumcAAACAAAAAgAIAAIAAIgIDlPYr6d8ZlSxVh3aK63aYBhrSxKJciU9H2MFitNchPQUQtKa6ZwAAAIABAACAAgAAgAA=",A=m(b),t=vi.fn(),f={deserialize:t},c=vi.fn(),s={normalize:c},o=()=>new P;beforeEach(()=>{vi.resetAllMocks()}),it("Map hex string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(f,s).map(b);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map base64 string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(f,s).map(l);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map bjs transaction",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(f,s).map(u.Psbt.fromHex(b));expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map byte array",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(f,s).map(A);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(r.isRight()).toStrictEqual(!0),expect(r.unsafeCoerce()).toStrictEqual(a)}),it("Map invalid string",()=>{const e=o(),a=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(n(a));const r=new i(f,s).map("some random string");expect(r.isRight()).toStrictEqual(!1)}),it("Parser failure",()=>{const e=o();t.mockReturnValueOnce(d(new Error)),c.mockReturnValueOnce(n(e));const p=new i(f,s).map(A);expect(t).toHaveBeenCalledWith(A),expect(p.isRight()).toStrictEqual(!1)}),it("Normalizer failure",()=>{const e=o();t.mockReturnValueOnce(n(e)),c.mockReturnValueOnce(d(new Error));const p=new i(f,s).map(A);expect(t).toHaveBeenCalledWith(A),expect(c).toHaveBeenCalledWith(e),expect(p.isRight()).toStrictEqual(!1)})});
2
2
  //# sourceMappingURL=DefaultPsbtMapper.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/psbt/service/psbt/DefaultPsbtMapper.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport * as bjs from \"bitcoinjs-lib\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\n\nimport { DefaultPsbtMapper } from \"./DefaultPsbtMapper\";\nimport { type DefaultPsbtSerializer } from \"./DefaultPsbtSerializer\";\nimport { type DefaultPsbtV2Normalizer } from \"./DefaultPsbtV2Normalizer\";\n\ndescribe(\"DefaultPsbtMapper tests\", () => {\n // Test case from https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#user-content-Test_Vectors\n const SERIALIZED_PSBT_V0_HEX =\n \"70736274ff0100a00200000002ab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40000000000feffffffab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40100000000feffffff02603bea0b000000001976a914768a40bbd740cbe81d988e71de2a4d5c71396b1d88ac8e240000000000001976a9146f4620b553fa095e721b9ee0efe9fa039cca459788ac00000000000100df0200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf6000000006a473044022070b2245123e6bf474d60c5b50c043d4c691a5d2435f09a34a7662a9dc251790a022001329ca9dacf280bdf30740ec0390422422c81cb45839457aeb76fc12edd95b3012102657d118d3357b8e0f4c2cd46db7b39f6d9c38d9a70abcb9b2de5dc8dbfe4ce31feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e13000001012000e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787010416001485d13537f2e265405a34dbafa9e3dda01fb8230800220202ead596687ca806043edc3de116cdf29d5e9257c196cd055cf698c8d02bf24e9910b4a6ba670000008000000080020000800022020394f62be9df19952c5587768aeb7698061ad2c4a25c894f47d8c162b4d7213d0510b4a6ba6700000080010000800200008000\";\n const SERIALIZED_PSBT_V0_BASE64 =\n \"cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEA3wIAAAABJoFxNx7f8oXpN63upLN7eAAMBWbLs61kZBcTykIXG/YAAAAAakcwRAIgcLIkUSPmv0dNYMW1DAQ9TGkaXSQ18Jo0p2YqncJReQoCIAEynKnazygL3zB0DsA5BCJCLIHLRYOUV663b8Eu3ZWzASECZX0RjTNXuOD0ws1G23s59tnDjZpwq8ubLeXcjb/kzjH+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIACICAurVlmh8qAYEPtw94RbN8p1eklfBls0FXPaYyNAr8k6ZELSmumcAAACAAAAAgAIAAIAAIgIDlPYr6d8ZlSxVh3aK63aYBhrSxKJciU9H2MFitNchPQUQtKa6ZwAAAIABAACAAgAAgAA=\";\n const SERIALIZED_PSBT_V0 = hexaStringToBuffer(SERIALIZED_PSBT_V0_HEX)!;\n\n // Mock PsbtSerializer\n const mockDeserialize = jest.fn();\n const mockSerializer: DefaultPsbtSerializer = {\n deserialize: mockDeserialize,\n } as unknown as DefaultPsbtSerializer;\n\n // Mock PsbtV2Normalizer\n const mockNormalize = jest.fn();\n const mockNormalizer: DefaultPsbtV2Normalizer = {\n normalize: mockNormalize,\n } as unknown as DefaultPsbtV2Normalizer;\n\n // Mocked psbt\n const createPsbt = () => new Psbt();\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Map hex string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0_HEX);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map base64 string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0_BASE64);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map bjs transaction\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(bjs.Psbt.fromHex(SERIALIZED_PSBT_V0_HEX));\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map byte array\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map invalid string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(\"some random string\");\n\n // Then\n expect(mapped.isRight()).toStrictEqual(false);\n });\n\n it(\"Parser failure\", () => {\n // Given\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Left(new Error()));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mapped.isRight()).toStrictEqual(false);\n });\n\n it(\"Normalizer failure\", () => {\n // Given\n const parsedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Left(new Error()));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(false);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,sBAAAA,MAA0B,kCACnC,UAAYC,MAAS,gBACrB,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAE5B,OAAS,QAAAC,MAAY,4BAErB,OAAS,qBAAAC,MAAyB,sBAIlC,SAAS,0BAA2B,IAAM,CAExC,MAAMC,EACJ,ymCACIC,EACJ,mvBACIC,EAAqBR,EAAmBM,CAAsB,EAG9DG,EAAkB,KAAK,GAAG,EAC1BC,EAAwC,CAC5C,YAAaD,CACf,EAGME,EAAgB,KAAK,GAAG,EACxBC,EAA0C,CAC9C,UAAWD,CACb,EAGME,EAAa,IAAM,IAAIT,EAE7B,WAAW,IAAM,CACf,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,iBAAkB,IAAM,CAEzB,MAAMU,EAAaD,EAAW,EACxBE,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIN,CAAsB,EAGhD,OAAOG,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOG,CAAa,EAAE,qBAAqBG,CAAU,EACrD,OAAOE,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC3C,OAAOA,EAAO,aAAa,CAAC,EAAE,cAAcD,CAAc,CAC5D,CAAC,EAED,GAAG,oBAAqB,IAAM,CAE5B,MAAMD,EAAaD,EAAW,EACxBE,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIL,CAAyB,EAGnD,OAAOE,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOG,CAAa,EAAE,qBAAqBG,CAAU,EACrD,OAAOE,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC3C,OAAOA,EAAO,aAAa,CAAC,EAAE,cAAcD,CAAc,CAC5D,CAAC,EAED,GAAG,sBAAuB,IAAM,CAE9B,MAAMD,EAAaD,EAAW,EACxBE,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIX,EAAI,KAAK,QAAQK,CAAsB,CAAC,EAGlE,OAAOG,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOG,CAAa,EAAE,qBAAqBG,CAAU,EACrD,OAAOE,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC3C,OAAOA,EAAO,aAAa,CAAC,EAAE,cAAcD,CAAc,CAC5D,CAAC,EAED,GAAG,iBAAkB,IAAM,CAEzB,MAAMD,EAAaD,EAAW,EACxBE,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIJ,CAAkB,EAG5C,OAAOC,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOG,CAAa,EAAE,qBAAqBG,CAAU,EACrD,OAAOE,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAI,EAC3C,OAAOA,EAAO,aAAa,CAAC,EAAE,cAAcD,CAAc,CAC5D,CAAC,EAED,GAAG,qBAAsB,IAAM,CAE7B,MAAMD,EAAaD,EAAW,EACxBE,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAI,oBAAoB,EAG9C,OAAOI,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAK,CAC9C,CAAC,EAED,GAAG,iBAAkB,IAAM,CAEzB,MAAMD,EAAiBF,EAAW,EAClCJ,EAAgB,oBAAoBP,EAAK,IAAI,KAAO,CAAC,EACrDS,EAAc,oBAAoBR,EAAMY,CAAc,CAAC,EAIvD,MAAMC,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIJ,CAAkB,EAG5C,OAAOC,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOQ,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAK,CAC9C,CAAC,EAED,GAAG,qBAAsB,IAAM,CAE7B,MAAMF,EAAaD,EAAW,EAC9BJ,EAAgB,oBAAoBN,EAAMW,CAAU,CAAC,EACrDH,EAAc,oBAAoBT,EAAK,IAAI,KAAO,CAAC,EAInD,MAAMc,EAHS,IAAIX,EAAkBK,EAAgBE,CAAc,EAG7C,IAAIJ,CAAkB,EAG5C,OAAOC,CAAe,EAAE,qBAAqBD,CAAkB,EAC/D,OAAOG,CAAa,EAAE,qBAAqBG,CAAU,EACrD,OAAOE,EAAO,QAAQ,CAAC,EAAE,cAAc,EAAK,CAC9C,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport * as bjs from \"bitcoinjs-lib\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\n\nimport { DefaultPsbtMapper } from \"./DefaultPsbtMapper\";\nimport { type DefaultPsbtSerializer } from \"./DefaultPsbtSerializer\";\nimport { type DefaultPsbtV2Normalizer } from \"./DefaultPsbtV2Normalizer\";\n\ndescribe(\"DefaultPsbtMapper tests\", () => {\n // Test case from https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#user-content-Test_Vectors\n const SERIALIZED_PSBT_V0_HEX =\n \"70736274ff0100a00200000002ab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40000000000feffffffab0949a08c5af7c49b8212f417e2f15ab3f5c33dcf153821a8139f877a5b7be40100000000feffffff02603bea0b000000001976a914768a40bbd740cbe81d988e71de2a4d5c71396b1d88ac8e240000000000001976a9146f4620b553fa095e721b9ee0efe9fa039cca459788ac00000000000100df0200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf6000000006a473044022070b2245123e6bf474d60c5b50c043d4c691a5d2435f09a34a7662a9dc251790a022001329ca9dacf280bdf30740ec0390422422c81cb45839457aeb76fc12edd95b3012102657d118d3357b8e0f4c2cd46db7b39f6d9c38d9a70abcb9b2de5dc8dbfe4ce31feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e13000001012000e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787010416001485d13537f2e265405a34dbafa9e3dda01fb8230800220202ead596687ca806043edc3de116cdf29d5e9257c196cd055cf698c8d02bf24e9910b4a6ba670000008000000080020000800022020394f62be9df19952c5587768aeb7698061ad2c4a25c894f47d8c162b4d7213d0510b4a6ba6700000080010000800200008000\";\n const SERIALIZED_PSBT_V0_BASE64 =\n \"cHNidP8BAKACAAAAAqsJSaCMWvfEm4IS9Bfi8Vqz9cM9zxU4IagTn4d6W3vkAAAAAAD+////qwlJoIxa98SbghL0F+LxWrP1wz3PFTghqBOfh3pbe+QBAAAAAP7///8CYDvqCwAAAAAZdqkUdopAu9dAy+gdmI5x3ipNXHE5ax2IrI4kAAAAAAAAGXapFG9GILVT+glechue4O/p+gOcykWXiKwAAAAAAAEA3wIAAAABJoFxNx7f8oXpN63upLN7eAAMBWbLs61kZBcTykIXG/YAAAAAakcwRAIgcLIkUSPmv0dNYMW1DAQ9TGkaXSQ18Jo0p2YqncJReQoCIAEynKnazygL3zB0DsA5BCJCLIHLRYOUV663b8Eu3ZWzASECZX0RjTNXuOD0ws1G23s59tnDjZpwq8ubLeXcjb/kzjH+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQEgAOH1BQAAAAAXqRQ1RebjO4MsRwUPJNPuuTycA5SLx4cBBBYAFIXRNTfy4mVAWjTbr6nj3aAfuCMIACICAurVlmh8qAYEPtw94RbN8p1eklfBls0FXPaYyNAr8k6ZELSmumcAAACAAAAAgAIAAIAAIgIDlPYr6d8ZlSxVh3aK63aYBhrSxKJciU9H2MFitNchPQUQtKa6ZwAAAIABAACAAgAAgAA=\";\n const SERIALIZED_PSBT_V0 = hexaStringToBuffer(SERIALIZED_PSBT_V0_HEX)!;\n\n // Mock PsbtSerializer\n const mockDeserialize = vi.fn();\n const mockSerializer: DefaultPsbtSerializer = {\n deserialize: mockDeserialize,\n } as unknown as DefaultPsbtSerializer;\n\n // Mock PsbtV2Normalizer\n const mockNormalize = vi.fn();\n const mockNormalizer: DefaultPsbtV2Normalizer = {\n normalize: mockNormalize,\n } as unknown as DefaultPsbtV2Normalizer;\n\n // Mocked psbt\n const createPsbt = () => new Psbt();\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Map hex string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0_HEX);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map base64 string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0_BASE64);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map bjs transaction\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(bjs.Psbt.fromHex(SERIALIZED_PSBT_V0_HEX));\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map byte array\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(true);\n expect(mapped.unsafeCoerce()).toStrictEqual(normalizedPsbt);\n });\n\n it(\"Map invalid string\", () => {\n // Given\n const parsedPsbt = createPsbt();\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(\"some random string\");\n\n // Then\n expect(mapped.isRight()).toStrictEqual(false);\n });\n\n it(\"Parser failure\", () => {\n // Given\n const normalizedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Left(new Error()));\n mockNormalize.mockReturnValueOnce(Right(normalizedPsbt));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mapped.isRight()).toStrictEqual(false);\n });\n\n it(\"Normalizer failure\", () => {\n // Given\n const parsedPsbt = createPsbt();\n mockDeserialize.mockReturnValueOnce(Right(parsedPsbt));\n mockNormalize.mockReturnValueOnce(Left(new Error()));\n const mapper = new DefaultPsbtMapper(mockSerializer, mockNormalizer);\n\n // When\n const mapped = mapper.map(SERIALIZED_PSBT_V0);\n\n // Then\n expect(mockDeserialize).toHaveBeenCalledWith(SERIALIZED_PSBT_V0);\n expect(mockNormalize).toHaveBeenCalledWith(parsedPsbt);\n expect(mapped.isRight()).toStrictEqual(false);\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["hexaStringToBuffer", "bjs", "Left", "Right", "Psbt", "DefaultPsbtMapper", "SERIALIZED_PSBT_V0_HEX", "SERIALIZED_PSBT_V0_BASE64", "SERIALIZED_PSBT_V0", "mockDeserialize", "mockSerializer", "mockNormalize", "mockNormalizer", "createPsbt", "parsedPsbt", "normalizedPsbt", "mapped"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var P=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var f=(s,r,a,e)=>{for(var i=e>1?void 0:e?d(r,a):r,n=s.length-1,o;n>=0;n--)(o=s[n])&&(i=(e?o(r,a,i):o(i))||i);return e&&i&&P(r,a,i),i},u=(s,r)=>(a,e)=>r(a,e,s);import{bufferToHexaString as z,ByteArrayBuilder as S,ByteArrayParser as T}from"@ledgerhq/device-management-kit";import{Transaction as V}from"bitcoinjs-lib";import{inject as M}from"inversify";import{Either as x,Left as p,Maybe as B,Right as b}from"purify-ts";import{psbtTypes as g}from"../../../psbt/di/psbtTypes";import{Key as E}from"../../../psbt/model/Key";import{Psbt as U}from"../../../psbt/model/Psbt";import{PsbtGlobal as m}from"../../../psbt/model/Psbt";const h=Uint8Array.from([112,115,98,116,255]);let l=class{constructor(r,a){this.valueParser=r;this.keyPairSerializer=a}getValue(r,a){return B.fromNullable(r.get(new E(a).toHexaString()))}sortMap(r){return new Map(Array.from(r.entries()).sort((a,e)=>a[0].localeCompare(e[0])))}deserialize(r){const a=new T(r);for(const t of h)if(a.extract8BitUInt()!==t)return p(new Error("PSBT deserializer: Invalid magic bytes"));const e=[];for(;a.getUnparsedRemainingLength();)e.push(this.keyPairSerializer.deserializeMap(a));if(e.length===0)return p(new Error("PSBT deserializer: No map found"));const i=e[0],n=this.getValue(i,m.UNSIGNED_TX).chain(t=>x.encase(()=>V.fromHex(z(t.data).slice(2))).toMaybe()),o=this.getValue(i,m.INPUT_COUNT).chain(t=>this.valueParser.getVarint(t.data)).alt(n.map(t=>t.ins.length)),c=this.getValue(i,m.OUTPUT_COUNT).chain(t=>this.valueParser.getVarint(t.data)).alt(n.map(t=>t.outs.length));if(o.isJust()&&c.isJust()){if(e.length===1+o.extract()+c.extract()){const t=e.slice(1,1+o.extract()),y=e.slice(1+o.extract());return b(new U(i,t,y))}return p(new Error("PSBT deserializer: map count don't match input and output count"))}return p(new Error("PSBT deserializer: input or output count not found in global map or transaction"))}serialize(r){const a=new S;return r.globalMap=this.sortMap(r.globalMap),r.inputMaps=r.inputMaps.map(e=>this.sortMap(e)),r.outputMaps=r.outputMaps.map(e=>this.sortMap(e)),a.addBufferToData(h),this.keyPairSerializer.serializeMap(a,r.globalMap),r.inputMaps.forEach(e=>this.keyPairSerializer.serializeMap(a,e)),r.outputMaps.forEach(e=>this.keyPairSerializer.serializeMap(a,e)),a.build()}};l=f([u(0,M(g.ValueParser)),u(1,M(g.KeyPairSerializer))],l);export{l as DefaultPsbtSerializer};
1
+ var P=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var f=(s,r,a,e)=>{for(var i=e>1?void 0:e?d(r,a):r,n=s.length-1,o;n>=0;n--)(o=s[n])&&(i=(e?o(r,a,i):o(i))||i);return e&&i&&P(r,a,i),i},u=(s,r)=>(a,e)=>r(a,e,s);import{bufferToHexaString as z,ByteArrayBuilder as S,ByteArrayParser as T}from"@ledgerhq/device-management-kit";import{Transaction as V}from"bitcoinjs-lib";import{inject as M}from"inversify";import{Either as x,Left as p,Maybe as B,Right as b}from"purify-ts";import{psbtTypes as g}from"../../../psbt/di/psbtTypes";import{Key as E}from"../../../psbt/model/Key";import{Psbt as U}from"../../../psbt/model/Psbt";import{PsbtGlobal as m}from"../../../psbt/model/Psbt";const h=Uint8Array.from([112,115,98,116,255]);let l=class{constructor(r,a){this.valueParser=r;this.keyPairSerializer=a}getValue(r,a){return B.fromNullable(r.get(new E(a).toHexaString()))}sortMap(r){return new Map(Array.from(r.entries()).sort((a,e)=>a[0].localeCompare(e[0])))}deserialize(r){const a=new T(r);for(const t of h)if(a.extract8BitUInt()!==t)return p(new Error("PSBT deserializer: Invalid magic bytes"));const e=[];for(;a.getUnparsedRemainingLength();)e.push(this.keyPairSerializer.deserializeMap(a));if(e.length===0)return p(new Error("PSBT deserializer: No map found"));const i=e[0],n=this.getValue(i,m.UNSIGNED_TX).chain(t=>x.encase(()=>V.fromHex(z(t.data,!1))).toMaybe()),o=this.getValue(i,m.INPUT_COUNT).chain(t=>this.valueParser.getVarint(t.data)).alt(n.map(t=>t.ins.length)),c=this.getValue(i,m.OUTPUT_COUNT).chain(t=>this.valueParser.getVarint(t.data)).alt(n.map(t=>t.outs.length));if(o.isJust()&&c.isJust()){if(e.length===1+o.extract()+c.extract()){const t=e.slice(1,1+o.extract()),y=e.slice(1+o.extract());return b(new U(i,t,y))}return p(new Error("PSBT deserializer: map count don't match input and output count"))}return p(new Error("PSBT deserializer: input or output count not found in global map or transaction"))}serialize(r){const a=new S;return r.globalMap=this.sortMap(r.globalMap),r.inputMaps=r.inputMaps.map(e=>this.sortMap(e)),r.outputMaps=r.outputMaps.map(e=>this.sortMap(e)),a.addBufferToData(h),this.keyPairSerializer.serializeMap(a,r.globalMap),r.inputMaps.forEach(e=>this.keyPairSerializer.serializeMap(a,e)),r.outputMaps.forEach(e=>this.keyPairSerializer.serializeMap(a,e)),a.build()}};l=f([u(0,M(g.ValueParser)),u(1,M(g.KeyPairSerializer))],l);export{l as DefaultPsbtSerializer};
2
2
  //# sourceMappingURL=DefaultPsbtSerializer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/psbt/service/psbt/DefaultPsbtSerializer.ts"],
4
- "sourcesContent": ["import {\n bufferToHexaString,\n ByteArrayBuilder,\n ByteArrayParser,\n} from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { inject } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { PsbtGlobal } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type KeyPairSerializer } from \"@internal/psbt/service/key-pair/KeyPairSerializer\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\n\nimport { type PsbtSerializer } from \"./PsbtSerializer\";\n\n// PSBT magic bytes\nconst PSBT_MAGIC_BYTES = Uint8Array.from([0x70, 0x73, 0x62, 0x74, 0xff]);\n\n/**\n * According to specification, psbt is formatted as:\n * <magic> <global-map> <input-map>* <output-map>*\n * with:\n * <magic>: 0x70 0x73 0x62 0x74 0xFF\n * <map>: <keypair>* 0x00\n * For <keypair> serialization, it's done in KeyPair class.\n * For more informations:\n * https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#specification\n */\nexport class DefaultPsbtSerializer implements PsbtSerializer {\n constructor(\n @inject(psbtTypes.ValueParser)\n private readonly valueParser: ValueParser,\n @inject(psbtTypes.KeyPairSerializer)\n private readonly keyPairSerializer: KeyPairSerializer,\n ) {}\n\n private getValue(map: Map<string, Value>, keyType: number): Maybe<Value> {\n return Maybe.fromNullable(map.get(new Key(keyType).toHexaString()));\n }\n\n private sortMap(map: Map<string, Value>): Map<string, Value> {\n return new Map(\n Array.from(map.entries()).sort((a, b) => a[0].localeCompare(b[0])),\n );\n }\n\n deserialize(buffer: Uint8Array): Either<Error, Psbt> {\n const parser = new ByteArrayParser(buffer);\n\n // Read PSBT magic\n for (const magicByte of PSBT_MAGIC_BYTES) {\n if (parser.extract8BitUInt() !== magicByte) {\n return Left(new Error(\"PSBT deserializer: Invalid magic bytes\"));\n }\n }\n\n // Read all the maps available in that PSBT\n const maps: Map<string, Value>[] = [];\n while (parser.getUnparsedRemainingLength()) {\n maps.push(this.keyPairSerializer.deserializeMap(parser));\n }\n if (maps.length === 0) {\n return Left(new Error(\"PSBT deserializer: No map found\"));\n }\n\n // Get global map\n const globalMap = maps[0]!;\n\n // Get inputs and outpus count, either from the global map, or within the tx\n const transaction = this.getValue(globalMap, PsbtGlobal.UNSIGNED_TX).chain(\n (value) =>\n Either.encase(() =>\n Transaction.fromHex(bufferToHexaString(value.data).slice(2)),\n ).toMaybe(),\n );\n const inputCount = this.getValue(globalMap, PsbtGlobal.INPUT_COUNT)\n .chain((value) => this.valueParser.getVarint(value.data))\n .alt(transaction.map((tx) => tx.ins.length));\n const outputCount = this.getValue(globalMap, PsbtGlobal.OUTPUT_COUNT)\n .chain((value) => this.valueParser.getVarint(value.data))\n .alt(transaction.map((tx) => tx.outs.length));\n\n // Get inputs map and outputs map\n if (inputCount.isJust() && outputCount.isJust()) {\n if (maps.length === 1 + inputCount.extract() + outputCount.extract()) {\n const inputMaps = maps.slice(1, 1 + inputCount.extract());\n const outputMaps = maps.slice(1 + inputCount.extract());\n return Right(new Psbt(globalMap, inputMaps, outputMaps));\n }\n return Left(\n new Error(\n \"PSBT deserializer: map count don't match input and output count\",\n ),\n );\n }\n return Left(\n new Error(\n \"PSBT deserializer: input or output count not found in global map or transaction\",\n ),\n );\n }\n\n serialize(psbt: Psbt): Uint8Array {\n const builder = new ByteArrayBuilder();\n\n // Start by ordering all the maps, in case some values were added\n psbt.globalMap = this.sortMap(psbt.globalMap);\n psbt.inputMaps = psbt.inputMaps.map((input) => this.sortMap(input));\n psbt.outputMaps = psbt.outputMaps.map((output) => this.sortMap(output));\n\n // Serialize PSBT magic\n builder.addBufferToData(PSBT_MAGIC_BYTES);\n\n // Serialize all the maps\n this.keyPairSerializer.serializeMap(builder, psbt.globalMap);\n psbt.inputMaps.forEach((input) =>\n this.keyPairSerializer.serializeMap(builder, input),\n );\n psbt.outputMaps.forEach((output) =>\n this.keyPairSerializer.serializeMap(builder, output),\n );\n\n return builder.build();\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n bufferToHexaString,\n ByteArrayBuilder,\n ByteArrayParser,\n} from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { inject } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { PsbtGlobal } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type KeyPairSerializer } from \"@internal/psbt/service/key-pair/KeyPairSerializer\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\n\nimport { type PsbtSerializer } from \"./PsbtSerializer\";\n\n// PSBT magic bytes\nconst PSBT_MAGIC_BYTES = Uint8Array.from([0x70, 0x73, 0x62, 0x74, 0xff]);\n\n/**\n * According to specification, psbt is formatted as:\n * <magic> <global-map> <input-map>* <output-map>*\n * with:\n * <magic>: 0x70 0x73 0x62 0x74 0xFF\n * <map>: <keypair>* 0x00\n * For <keypair> serialization, it's done in KeyPair class.\n * For more informations:\n * https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#specification\n */\nexport class DefaultPsbtSerializer implements PsbtSerializer {\n constructor(\n @inject(psbtTypes.ValueParser)\n private readonly valueParser: ValueParser,\n @inject(psbtTypes.KeyPairSerializer)\n private readonly keyPairSerializer: KeyPairSerializer,\n ) {}\n\n private getValue(map: Map<string, Value>, keyType: number): Maybe<Value> {\n return Maybe.fromNullable(map.get(new Key(keyType).toHexaString()));\n }\n\n private sortMap(map: Map<string, Value>): Map<string, Value> {\n return new Map(\n Array.from(map.entries()).sort((a, b) => a[0].localeCompare(b[0])),\n );\n }\n\n deserialize(buffer: Uint8Array): Either<Error, Psbt> {\n const parser = new ByteArrayParser(buffer);\n\n // Read PSBT magic\n for (const magicByte of PSBT_MAGIC_BYTES) {\n if (parser.extract8BitUInt() !== magicByte) {\n return Left(new Error(\"PSBT deserializer: Invalid magic bytes\"));\n }\n }\n\n // Read all the maps available in that PSBT\n const maps: Map<string, Value>[] = [];\n while (parser.getUnparsedRemainingLength()) {\n maps.push(this.keyPairSerializer.deserializeMap(parser));\n }\n if (maps.length === 0) {\n return Left(new Error(\"PSBT deserializer: No map found\"));\n }\n\n // Get global map\n const globalMap = maps[0]!;\n\n // Get inputs and outpus count, either from the global map, or within the tx\n const transaction = this.getValue(globalMap, PsbtGlobal.UNSIGNED_TX).chain(\n (value) =>\n Either.encase(() =>\n Transaction.fromHex(bufferToHexaString(value.data, false)),\n ).toMaybe(),\n );\n const inputCount = this.getValue(globalMap, PsbtGlobal.INPUT_COUNT)\n .chain((value) => this.valueParser.getVarint(value.data))\n .alt(transaction.map((tx) => tx.ins.length));\n const outputCount = this.getValue(globalMap, PsbtGlobal.OUTPUT_COUNT)\n .chain((value) => this.valueParser.getVarint(value.data))\n .alt(transaction.map((tx) => tx.outs.length));\n\n // Get inputs map and outputs map\n if (inputCount.isJust() && outputCount.isJust()) {\n if (maps.length === 1 + inputCount.extract() + outputCount.extract()) {\n const inputMaps = maps.slice(1, 1 + inputCount.extract());\n const outputMaps = maps.slice(1 + inputCount.extract());\n return Right(new Psbt(globalMap, inputMaps, outputMaps));\n }\n return Left(\n new Error(\n \"PSBT deserializer: map count don't match input and output count\",\n ),\n );\n }\n return Left(\n new Error(\n \"PSBT deserializer: input or output count not found in global map or transaction\",\n ),\n );\n }\n\n serialize(psbt: Psbt): Uint8Array {\n const builder = new ByteArrayBuilder();\n\n // Start by ordering all the maps, in case some values were added\n psbt.globalMap = this.sortMap(psbt.globalMap);\n psbt.inputMaps = psbt.inputMaps.map((input) => this.sortMap(input));\n psbt.outputMaps = psbt.outputMaps.map((output) => this.sortMap(output));\n\n // Serialize PSBT magic\n builder.addBufferToData(PSBT_MAGIC_BYTES);\n\n // Serialize all the maps\n this.keyPairSerializer.serializeMap(builder, psbt.globalMap);\n psbt.inputMaps.forEach((input) =>\n this.keyPairSerializer.serializeMap(builder, input),\n );\n psbt.outputMaps.forEach((output) =>\n this.keyPairSerializer.serializeMap(builder, output),\n );\n\n return builder.build();\n }\n}\n"],
5
+ "mappings": "iOAAA,OACE,sBAAAA,EACA,oBAAAC,EACA,mBAAAC,MACK,kCACP,OAAS,eAAAC,MAAmB,gBAC5B,OAAS,UAAAC,MAAc,YACvB,OAAS,UAAAC,EAAQ,QAAAC,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAE3C,OAAS,aAAAC,MAAiB,8BAC1B,OAAS,OAAAC,MAAW,2BACpB,OAAS,QAAAC,MAAY,4BACrB,OAAS,cAAAC,MAAkB,4BAQ3B,MAAMC,EAAmB,WAAW,KAAK,CAAC,IAAM,IAAM,GAAM,IAAM,GAAI,CAAC,EAYhE,IAAMC,EAAN,KAAsD,CAC3D,YAEmBC,EAEAC,EACjB,CAHiB,iBAAAD,EAEA,uBAAAC,CAChB,CAEK,SAASC,EAAyBC,EAA+B,CACvE,OAAOC,EAAM,aAAaF,EAAI,IAAI,IAAIG,EAAIF,CAAO,EAAE,aAAa,CAAC,CAAC,CACpE,CAEQ,QAAQD,EAA6C,CAC3D,OAAO,IAAI,IACT,MAAM,KAAKA,EAAI,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAGI,IAAM,EAAE,CAAC,EAAE,cAAcA,EAAE,CAAC,CAAC,CAAC,CACnE,CACF,CAEA,YAAYC,EAAyC,CACnD,MAAMC,EAAS,IAAIC,EAAgBF,CAAM,EAGzC,UAAWG,KAAaZ,EACtB,GAAIU,EAAO,gBAAgB,IAAME,EAC/B,OAAOC,EAAK,IAAI,MAAM,wCAAwC,CAAC,EAKnE,MAAMC,EAA6B,CAAC,EACpC,KAAOJ,EAAO,2BAA2B,GACvCI,EAAK,KAAK,KAAK,kBAAkB,eAAeJ,CAAM,CAAC,EAEzD,GAAII,EAAK,SAAW,EAClB,OAAOD,EAAK,IAAI,MAAM,iCAAiC,CAAC,EAI1D,MAAME,EAAYD,EAAK,CAAC,EAGlBE,EAAc,KAAK,SAASD,EAAWE,EAAW,WAAW,EAAE,MAClEC,GACCC,EAAO,OAAO,IACZC,EAAY,QAAQC,EAAmBH,EAAM,KAAM,EAAK,CAAC,CAC3D,EAAE,QAAQ,CACd,EACMI,EAAa,KAAK,SAASP,EAAWE,EAAW,WAAW,EAC/D,MAAOC,GAAU,KAAK,YAAY,UAAUA,EAAM,IAAI,CAAC,EACvD,IAAIF,EAAY,IAAKO,GAAOA,EAAG,IAAI,MAAM,CAAC,EACvCC,EAAc,KAAK,SAAST,EAAWE,EAAW,YAAY,EACjE,MAAOC,GAAU,KAAK,YAAY,UAAUA,EAAM,IAAI,CAAC,EACvD,IAAIF,EAAY,IAAKO,GAAOA,EAAG,KAAK,MAAM,CAAC,EAG9C,GAAID,EAAW,OAAO,GAAKE,EAAY,OAAO,EAAG,CAC/C,GAAIV,EAAK,SAAW,EAAIQ,EAAW,QAAQ,EAAIE,EAAY,QAAQ,EAAG,CACpE,MAAMC,EAAYX,EAAK,MAAM,EAAG,EAAIQ,EAAW,QAAQ,CAAC,EAClDI,EAAaZ,EAAK,MAAM,EAAIQ,EAAW,QAAQ,CAAC,EACtD,OAAOK,EAAM,IAAIC,EAAKb,EAAWU,EAAWC,CAAU,CAAC,CACzD,CACA,OAAOb,EACL,IAAI,MACF,iEACF,CACF,CACF,CACA,OAAOA,EACL,IAAI,MACF,iFACF,CACF,CACF,CAEA,UAAUgB,EAAwB,CAChC,MAAMC,EAAU,IAAIC,EAGpB,OAAAF,EAAK,UAAY,KAAK,QAAQA,EAAK,SAAS,EAC5CA,EAAK,UAAYA,EAAK,UAAU,IAAKG,GAAU,KAAK,QAAQA,CAAK,CAAC,EAClEH,EAAK,WAAaA,EAAK,WAAW,IAAKI,GAAW,KAAK,QAAQA,CAAM,CAAC,EAGtEH,EAAQ,gBAAgB9B,CAAgB,EAGxC,KAAK,kBAAkB,aAAa8B,EAASD,EAAK,SAAS,EAC3DA,EAAK,UAAU,QAASG,GACtB,KAAK,kBAAkB,aAAaF,EAASE,CAAK,CACpD,EACAH,EAAK,WAAW,QAASI,GACvB,KAAK,kBAAkB,aAAaH,EAASG,CAAM,CACrD,EAEOH,EAAQ,MAAM,CACvB,CACF,EAhGa7B,EAANiC,EAAA,CAEFC,EAAA,EAAAC,EAAOC,EAAU,WAAW,GAE5BF,EAAA,EAAAC,EAAOC,EAAU,iBAAiB,IAJ1BpC",
6
6
  "names": ["bufferToHexaString", "ByteArrayBuilder", "ByteArrayParser", "Transaction", "inject", "Either", "Left", "Maybe", "Right", "psbtTypes", "Key", "Psbt", "PsbtGlobal", "PSBT_MAGIC_BYTES", "DefaultPsbtSerializer", "valueParser", "keyPairSerializer", "map", "keyType", "Maybe", "Key", "b", "buffer", "parser", "ByteArrayParser", "magicByte", "Left", "maps", "globalMap", "transaction", "PsbtGlobal", "value", "Either", "Transaction", "bufferToHexaString", "inputCount", "tx", "outputCount", "inputMaps", "outputMaps", "Right", "Psbt", "psbt", "builder", "ByteArrayBuilder", "input", "output", "__decorateClass", "__decorateParam", "inject", "psbtTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var g=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var P=(u,e,o,a)=>{for(var t=a>1?void 0:a?F(e,o):e,m=u.length-1,n;m>=0;m--)(n=u[m])&&(t=(a?n(e,o,t):n(t))||t);return a&&t&&g(e,o,t),t},T=(u,e)=>(o,a)=>e(o,a,u);import{bufferToHexaString as L}from"@ledgerhq/device-management-kit";import{Transaction as M}from"bitcoinjs-lib";import{inject as I,injectable as O}from"inversify";import{Either as b,Just as d,Left as v,Right as y}from"purify-ts";import{psbtTypes as S}from"../../../psbt/di/psbtTypes";import{Key as N}from"../../../psbt/model/Key";import{PsbtGlobal as i,PsbtIn as h,PsbtOut as U}from"../../../psbt/model/Psbt";import{Value as V}from"../../../psbt/model/Value";let E=class{constructor(e,o){this.valueParser=e;this.valueFactory=o}normalize(e){const o=e.getGlobalValue(i.VERSION).chain(r=>this.valueParser.getInt32LE(r.data)).orDefault(0);if(o===2)return y(e);if(o!==0)return v(new Error("PSBT normalizer: unsupported PSBT version"));const a=e.getGlobalValue(i.UNSIGNED_TX).toEither(new Error("PSBT normalizer: PSBTv0 should contain a transaction")).chain(r=>b.encase(()=>M.fromHex(L(r.data).slice(2))).mapLeft(l=>new Error(`PSBT normalizer: failed to parse transaction (${l})`)));if(a.isLeft())return a;const t=a.unsafeCoerce();let n=[[i.VERSION,this.valueFactory.fromInt32LE(2)],[i.TX_VERSION,this.valueFactory.fromInt32LE(t.version)],[i.FALLBACK_LOCKTIME,this.valueFactory.fromUInt32LE(t.locktime)],[i.INPUT_COUNT,this.valueFactory.fromVarint(t.ins.length)],[i.OUTPUT_COUNT,this.valueFactory.fromVarint(t.outs.length)]].reduce((r,[l,s])=>(s.ifJust(c=>e.setGlobalValue(l,c)),r&&s.isJust()),!0);for(let r=0;r<t.ins.length;r++)n=[[h.PREVIOUS_TXID,d(new V(t.ins[r].hash))],[h.OUTPUT_INDEX,this.valueFactory.fromUInt32LE(t.ins[r].index)],[h.SEQUENCE,this.valueFactory.fromUInt32LE(t.ins[r].sequence)]].reduce((s,[c,f])=>(f.ifJust(p=>e.setInputValue(r,c,p)),s&&f.isJust()),n);for(let r=0;r<t.outs.length;r++)n=[[U.AMOUNT,this.valueFactory.fromInt64LE(t.outs[r].value)],[U.SCRIPT,d(new V(t.outs[r].script))]].reduce((s,[c,f])=>(f.ifJust(p=>e.setOutputValue(r,c,p)),s&&f.isJust()),n);return e.globalMap.delete(new N(i.UNSIGNED_TX).toHexaString()),n?y(e):v(new Error("PSBT normalizer: failed to update the \xA8PSBT"))}};E=P([O(),T(0,I(S.ValueParser)),T(1,I(S.ValueFactory))],E);export{E as DefaultPsbtV2Normalizer};
1
+ var g=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var P=(u,e,o,a)=>{for(var t=a>1?void 0:a?F(e,o):e,m=u.length-1,n;m>=0;m--)(n=u[m])&&(t=(a?n(e,o,t):n(t))||t);return a&&t&&g(e,o,t),t},T=(u,e)=>(o,a)=>e(o,a,u);import{bufferToHexaString as L}from"@ledgerhq/device-management-kit";import{Transaction as M}from"bitcoinjs-lib";import{inject as I,injectable as O}from"inversify";import{Either as b,Just as d,Left as v,Right as y}from"purify-ts";import{psbtTypes as S}from"../../../psbt/di/psbtTypes";import{Key as N}from"../../../psbt/model/Key";import{PsbtGlobal as i,PsbtIn as h,PsbtOut as U}from"../../../psbt/model/Psbt";import{Value as V}from"../../../psbt/model/Value";let E=class{constructor(e,o){this.valueParser=e;this.valueFactory=o}normalize(e){const o=e.getGlobalValue(i.VERSION).chain(r=>this.valueParser.getInt32LE(r.data)).orDefault(0);if(o===2)return y(e);if(o!==0)return v(new Error("PSBT normalizer: unsupported PSBT version"));const a=e.getGlobalValue(i.UNSIGNED_TX).toEither(new Error("PSBT normalizer: PSBTv0 should contain a transaction")).chain(r=>b.encase(()=>M.fromHex(L(r.data,!1))).mapLeft(l=>new Error(`PSBT normalizer: failed to parse transaction (${l})`)));if(a.isLeft())return a;const t=a.unsafeCoerce();let n=[[i.VERSION,this.valueFactory.fromInt32LE(2)],[i.TX_VERSION,this.valueFactory.fromInt32LE(t.version)],[i.FALLBACK_LOCKTIME,this.valueFactory.fromUInt32LE(t.locktime)],[i.INPUT_COUNT,this.valueFactory.fromVarint(t.ins.length)],[i.OUTPUT_COUNT,this.valueFactory.fromVarint(t.outs.length)]].reduce((r,[l,s])=>(s.ifJust(c=>e.setGlobalValue(l,c)),r&&s.isJust()),!0);for(let r=0;r<t.ins.length;r++)n=[[h.PREVIOUS_TXID,d(new V(t.ins[r].hash))],[h.OUTPUT_INDEX,this.valueFactory.fromUInt32LE(t.ins[r].index)],[h.SEQUENCE,this.valueFactory.fromUInt32LE(t.ins[r].sequence)]].reduce((s,[c,f])=>(f.ifJust(p=>e.setInputValue(r,c,p)),s&&f.isJust()),n);for(let r=0;r<t.outs.length;r++)n=[[U.AMOUNT,this.valueFactory.fromInt64LE(t.outs[r].value)],[U.SCRIPT,d(new V(t.outs[r].script))]].reduce((s,[c,f])=>(f.ifJust(p=>e.setOutputValue(r,c,p)),s&&f.isJust()),n);return e.globalMap.delete(new N(i.UNSIGNED_TX).toHexaString()),n?y(e):v(new Error("PSBT normalizer: failed to update the \xA8PSBT"))}};E=P([O(),T(0,I(S.ValueParser)),T(1,I(S.ValueFactory))],E);export{E as DefaultPsbtV2Normalizer};
2
2
  //# sourceMappingURL=DefaultPsbtV2Normalizer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.ts"],
4
- "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Just, Left, Maybe, Right } from \"purify-ts\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { PsbtGlobal, PsbtIn, PsbtOut } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type ValueFactory } from \"@internal/psbt/service/value/ValueFactory\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\n\n/**\n * Normalize a PSBTv2 from any input PSBT, according to specification:\n * https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki\n */\n@injectable()\nexport class DefaultPsbtV2Normalizer {\n constructor(\n @inject(psbtTypes.ValueParser) private valueParser: ValueParser,\n @inject(psbtTypes.ValueFactory) private valueFactory: ValueFactory,\n ) {}\n\n normalize(psbt: Psbt): Either<Error, Psbt> {\n // Get current PSBT version\n const version = psbt\n .getGlobalValue(PsbtGlobal.VERSION)\n .chain((value) => this.valueParser.getInt32LE(value.data))\n .orDefault(0);\n if (version === 2) {\n return Right(psbt);\n } else if (version !== 0) {\n return Left(new Error(\"PSBT normalizer: unsupported PSBT version\"));\n }\n\n // Get the unsigned transaction to extract its metadata\n const transaction = psbt\n .getGlobalValue(PsbtGlobal.UNSIGNED_TX)\n .toEither(\n new Error(\"PSBT normalizer: PSBTv0 should contain a transaction\"),\n )\n .chain((value) =>\n Either.encase(() =>\n Transaction.fromHex(bufferToHexaString(value.data).slice(2)),\n ).mapLeft(\n (error) =>\n new Error(\n `PSBT normalizer: failed to parse transaction (${error})`,\n ),\n ),\n );\n if (transaction.isLeft()) {\n return transaction;\n }\n const tx = transaction.unsafeCoerce();\n\n // Update global map with transaction metadata\n const globalMetadata: [PsbtGlobal, Maybe<Value>][] = [\n [PsbtGlobal.VERSION, this.valueFactory.fromInt32LE(2)],\n [PsbtGlobal.TX_VERSION, this.valueFactory.fromInt32LE(tx.version)],\n [\n PsbtGlobal.FALLBACK_LOCKTIME,\n this.valueFactory.fromUInt32LE(tx.locktime),\n ],\n [PsbtGlobal.INPUT_COUNT, this.valueFactory.fromVarint(tx.ins.length)],\n [PsbtGlobal.OUTPUT_COUNT, this.valueFactory.fromVarint(tx.outs.length)],\n ];\n let result = globalMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setGlobalValue(key, value));\n return success && maybeValue.isJust();\n }, true);\n\n // Update inputs metadata\n for (let i = 0; i < tx.ins.length; i++) {\n const inputMetadata: [PsbtIn, Maybe<Value>][] = [\n [PsbtIn.PREVIOUS_TXID, Just(new Value(tx.ins[i]!.hash))],\n [PsbtIn.OUTPUT_INDEX, this.valueFactory.fromUInt32LE(tx.ins[i]!.index)],\n [PsbtIn.SEQUENCE, this.valueFactory.fromUInt32LE(tx.ins[i]!.sequence)],\n ];\n result = inputMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setInputValue(i, key, value));\n return success && maybeValue.isJust();\n }, result);\n }\n\n // Update outputs metadata\n for (let i = 0; i < tx.outs.length; i++) {\n const outputMetadata: [PsbtOut, Maybe<Value>][] = [\n [PsbtOut.AMOUNT, this.valueFactory.fromInt64LE(tx.outs[i]!.value)],\n [PsbtOut.SCRIPT, Just(new Value(tx.outs[i]!.script))],\n ];\n result = outputMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setOutputValue(i, key, value));\n return success && maybeValue.isJust();\n }, result);\n }\n\n // Remove UNSIGNED_TX from the transaction since it's deprecated in V2\n psbt.globalMap.delete(new Key(PsbtGlobal.UNSIGNED_TX).toHexaString());\n return result\n ? Right(psbt)\n : Left(new Error(\"PSBT normalizer: failed to update the \u00A8PSBT\"));\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"bitcoinjs-lib\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Just, Left, Maybe, Right } from \"purify-ts\";\n\nimport { psbtTypes } from \"@internal/psbt/di/psbtTypes\";\nimport { Key } from \"@internal/psbt/model/Key\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { PsbtGlobal, PsbtIn, PsbtOut } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { type ValueFactory } from \"@internal/psbt/service/value/ValueFactory\";\nimport { type ValueParser } from \"@internal/psbt/service/value/ValueParser\";\n\n/**\n * Normalize a PSBTv2 from any input PSBT, according to specification:\n * https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki\n */\n@injectable()\nexport class DefaultPsbtV2Normalizer {\n constructor(\n @inject(psbtTypes.ValueParser) private valueParser: ValueParser,\n @inject(psbtTypes.ValueFactory) private valueFactory: ValueFactory,\n ) {}\n\n normalize(psbt: Psbt): Either<Error, Psbt> {\n // Get current PSBT version\n const version = psbt\n .getGlobalValue(PsbtGlobal.VERSION)\n .chain((value) => this.valueParser.getInt32LE(value.data))\n .orDefault(0);\n if (version === 2) {\n return Right(psbt);\n } else if (version !== 0) {\n return Left(new Error(\"PSBT normalizer: unsupported PSBT version\"));\n }\n\n // Get the unsigned transaction to extract its metadata\n const transaction = psbt\n .getGlobalValue(PsbtGlobal.UNSIGNED_TX)\n .toEither(\n new Error(\"PSBT normalizer: PSBTv0 should contain a transaction\"),\n )\n .chain((value) =>\n Either.encase(() =>\n Transaction.fromHex(bufferToHexaString(value.data, false)),\n ).mapLeft(\n (error) =>\n new Error(\n `PSBT normalizer: failed to parse transaction (${error})`,\n ),\n ),\n );\n if (transaction.isLeft()) {\n return transaction;\n }\n const tx = transaction.unsafeCoerce();\n\n // Update global map with transaction metadata\n const globalMetadata: [PsbtGlobal, Maybe<Value>][] = [\n [PsbtGlobal.VERSION, this.valueFactory.fromInt32LE(2)],\n [PsbtGlobal.TX_VERSION, this.valueFactory.fromInt32LE(tx.version)],\n [\n PsbtGlobal.FALLBACK_LOCKTIME,\n this.valueFactory.fromUInt32LE(tx.locktime),\n ],\n [PsbtGlobal.INPUT_COUNT, this.valueFactory.fromVarint(tx.ins.length)],\n [PsbtGlobal.OUTPUT_COUNT, this.valueFactory.fromVarint(tx.outs.length)],\n ];\n let result = globalMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setGlobalValue(key, value));\n return success && maybeValue.isJust();\n }, true);\n\n // Update inputs metadata\n for (let i = 0; i < tx.ins.length; i++) {\n const inputMetadata: [PsbtIn, Maybe<Value>][] = [\n [PsbtIn.PREVIOUS_TXID, Just(new Value(tx.ins[i]!.hash))],\n [PsbtIn.OUTPUT_INDEX, this.valueFactory.fromUInt32LE(tx.ins[i]!.index)],\n [PsbtIn.SEQUENCE, this.valueFactory.fromUInt32LE(tx.ins[i]!.sequence)],\n ];\n result = inputMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setInputValue(i, key, value));\n return success && maybeValue.isJust();\n }, result);\n }\n\n // Update outputs metadata\n for (let i = 0; i < tx.outs.length; i++) {\n const outputMetadata: [PsbtOut, Maybe<Value>][] = [\n [PsbtOut.AMOUNT, this.valueFactory.fromInt64LE(tx.outs[i]!.value)],\n [PsbtOut.SCRIPT, Just(new Value(tx.outs[i]!.script))],\n ];\n result = outputMetadata.reduce((success, [key, maybeValue]) => {\n maybeValue.ifJust((value) => psbt.setOutputValue(i, key, value));\n return success && maybeValue.isJust();\n }, result);\n }\n\n // Remove UNSIGNED_TX from the transaction since it's deprecated in V2\n psbt.globalMap.delete(new Key(PsbtGlobal.UNSIGNED_TX).toHexaString());\n return result\n ? Right(psbt)\n : Left(new Error(\"PSBT normalizer: failed to update the \u00A8PSBT\"));\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["bufferToHexaString", "Transaction", "inject", "injectable", "Either", "Just", "Left", "Right", "psbtTypes", "Key", "PsbtGlobal", "PsbtIn", "PsbtOut", "Value", "DefaultPsbtV2Normalizer", "valueParser", "valueFactory", "psbt", "version", "PsbtGlobal", "value", "Right", "Left", "transaction", "Either", "Transaction", "bufferToHexaString", "error", "tx", "result", "success", "key", "maybeValue", "i", "PsbtIn", "Just", "Value", "PsbtOut", "Key", "__decorateClass", "injectable", "__decorateParam", "inject", "psbtTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as o}from"inversify";import{useCasesTypes as s}from"../../use-cases/di/useCasesTypes";import{GetExtendedPublicKeyUseCase as t}from"../../use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase";import{GetWalletAddressUseCase as a}from"../../use-cases/get-wallet-address/GetWalletAddressUseCase";import{SignMessageUseCase as n}from"../../use-cases/sign-message/SignMessageUseCase";import{SignPsbtUseCase as i}from"../../use-cases/sign-psbt/SignPsbtUseCase";import{SignTransactionUseCase as r}from"../../use-cases/sign-transaction/SignTransactionUseCase";const A=()=>new o((e,m,C,d,U,c,p)=>{e(s.GetExtendedPublicKeyUseCase).to(t),e(s.SignMessageUseCase).to(n),e(s.SignPsbtUseCase).to(i),e(s.SignTransactionUseCase).to(r),e(s.GetWalletAddressUseCase).to(a)});export{A as useCasesModuleFactory};
1
+ import{ContainerModule as t}from"inversify";import{useCasesTypes as s}from"../../use-cases/di/useCasesTypes";import{GetExtendedPublicKeyUseCase as o}from"../../use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase";import{GetWalletAddressUseCase as a}from"../../use-cases/get-wallet-address/GetWalletAddressUseCase";import{SignMessageUseCase as r}from"../../use-cases/sign-message/SignMessageUseCase";import{SignPsbtUseCase as i}from"../../use-cases/sign-psbt/SignPsbtUseCase";import{SignTransactionUseCase as m}from"../../use-cases/sign-transaction/SignTransactionUseCase";const c=()=>new t(({bind:e})=>{e(s.GetExtendedPublicKeyUseCase).to(o),e(s.SignMessageUseCase).to(r),e(s.SignPsbtUseCase).to(i),e(s.SignTransactionUseCase).to(m),e(s.GetWalletAddressUseCase).to(a)});export{c as useCasesModuleFactory};
2
2
  //# sourceMappingURL=useCasesModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/di/useCasesModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { useCasesTypes } from \"@internal/use-cases/di/useCasesTypes\";\nimport { GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { GetWalletAddressUseCase } from \"@internal/use-cases/get-wallet-address/GetWalletAddressUseCase\";\nimport { SignMessageUseCase } from \"@internal/use-cases/sign-message/SignMessageUseCase\";\nimport { SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nexport const useCasesModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(useCasesTypes.GetExtendedPublicKeyUseCase).to(\n GetExtendedPublicKeyUseCase,\n );\n bind(useCasesTypes.SignMessageUseCase).to(SignMessageUseCase);\n bind(useCasesTypes.SignPsbtUseCase).to(SignPsbtUseCase);\n bind(useCasesTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind(useCasesTypes.GetWalletAddressUseCase).to(GetWalletAddressUseCase);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,iBAAAC,MAAqB,uCAC9B,OAAS,+BAAAC,MAAmC,0EAC5C,OAAS,2BAAAC,MAA+B,iEACxC,OAAS,sBAAAC,MAA0B,sDACnC,OAAS,mBAAAC,MAAuB,gDAChC,OAAS,0BAAAC,MAA8B,8DAEhC,MAAMC,EAAwB,IACnC,IAAIP,EACF,CACEQ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKP,EAAc,2BAA2B,EAAE,GAC9CC,CACF,EACAM,EAAKP,EAAc,kBAAkB,EAAE,GAAGG,CAAkB,EAC5DI,EAAKP,EAAc,eAAe,EAAE,GAAGI,CAAe,EACtDG,EAAKP,EAAc,sBAAsB,EAAE,GAAGK,CAAsB,EACpEE,EAAKP,EAAc,uBAAuB,EAAE,GAAGE,CAAuB,CACxE,CACF",
6
- "names": ["ContainerModule", "useCasesTypes", "GetExtendedPublicKeyUseCase", "GetWalletAddressUseCase", "SignMessageUseCase", "SignPsbtUseCase", "SignTransactionUseCase", "useCasesModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { useCasesTypes } from \"@internal/use-cases/di/useCasesTypes\";\nimport { GetExtendedPublicKeyUseCase } from \"@internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase\";\nimport { GetWalletAddressUseCase } from \"@internal/use-cases/get-wallet-address/GetWalletAddressUseCase\";\nimport { SignMessageUseCase } from \"@internal/use-cases/sign-message/SignMessageUseCase\";\nimport { SignPsbtUseCase } from \"@internal/use-cases/sign-psbt/SignPsbtUseCase\";\nimport { SignTransactionUseCase } from \"@internal/use-cases/sign-transaction/SignTransactionUseCase\";\n\nexport const useCasesModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(useCasesTypes.GetExtendedPublicKeyUseCase).to(\n GetExtendedPublicKeyUseCase,\n );\n bind(useCasesTypes.SignMessageUseCase).to(SignMessageUseCase);\n bind(useCasesTypes.SignPsbtUseCase).to(SignPsbtUseCase);\n bind(useCasesTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind(useCasesTypes.GetWalletAddressUseCase).to(GetWalletAddressUseCase);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,iBAAAC,MAAqB,uCAC9B,OAAS,+BAAAC,MAAmC,0EAC5C,OAAS,2BAAAC,MAA+B,iEACxC,OAAS,sBAAAC,MAA0B,sDACnC,OAAS,mBAAAC,MAAuB,gDAChC,OAAS,0BAAAC,MAA8B,8DAEhC,MAAMC,EAAwB,IACnC,IAAIP,EAAgB,CAAC,CAAE,KAAAQ,CAAK,IAAM,CAChCA,EAAKP,EAAc,2BAA2B,EAAE,GAC9CC,CACF,EACAM,EAAKP,EAAc,kBAAkB,EAAE,GAAGG,CAAkB,EAC5DI,EAAKP,EAAc,eAAe,EAAE,GAAGI,CAAe,EACtDG,EAAKP,EAAc,sBAAsB,EAAE,GAAGK,CAAsB,EACpEE,EAAKP,EAAc,uBAAuB,EAAE,GAAGE,CAAuB,CACxE,CAAC",
6
+ "names": ["ContainerModule", "useCasesTypes", "GetExtendedPublicKeyUseCase", "GetWalletAddressUseCase", "SignMessageUseCase", "SignPsbtUseCase", "SignTransactionUseCase", "useCasesModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as o}from"inversify";import{useCasesModuleFactory as d}from"./useCasesModule";import{useCasesTypes as t}from"./useCasesTypes";describe("useCasesModuleFactory",()=>{describe("Default",()=>{let e,s;beforeEach(()=>{s=d(),e=new o,e.load(s)}),it("should return the address module",()=>{expect(s).toBeDefined()}),it("should bind GetExtendedPublicKeyUseCase",()=>{expect(e.isBound(t.GetExtendedPublicKeyUseCase)).toBeTruthy()}),it("should bind SignMessageUseCase",()=>{expect(e.isBound(t.SignMessageUseCase)).toBeTruthy()}),it("should bind GetWalletAddressUseCase",()=>{expect(e.isBound(t.GetWalletAddressUseCase)).toBeTruthy()})})});
1
+ import{Container as o}from"inversify";import{useCasesModuleFactory as d}from"./useCasesModule";import{useCasesTypes as t}from"./useCasesTypes";describe("useCasesModuleFactory",()=>{describe("Default",()=>{let e,s;beforeEach(()=>{s=d(),e=new o,e.loadSync(s)}),it("should return the address module",()=>{expect(s).toBeDefined()}),it("should bind GetExtendedPublicKeyUseCase",()=>{expect(e.isBound(t.GetExtendedPublicKeyUseCase)).toBeTruthy()}),it("should bind SignMessageUseCase",()=>{expect(e.isBound(t.SignMessageUseCase)).toBeTruthy()}),it("should bind GetWalletAddressUseCase",()=>{expect(e.isBound(t.GetWalletAddressUseCase)).toBeTruthy()})})});
2
2
  //# sourceMappingURL=useCasesModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/di/useCasesModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { useCasesModuleFactory } from \"./useCasesModule\";\nimport { useCasesTypes } from \"./useCasesTypes\";\n\ndescribe(\"useCasesModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof useCasesModuleFactory>;\n beforeEach(() => {\n mod = useCasesModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the address module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind GetExtendedPublicKeyUseCase\", () => {\n expect(\n container.isBound(useCasesTypes.GetExtendedPublicKeyUseCase),\n ).toBeTruthy();\n });\n\n it(\"should bind SignMessageUseCase\", () => {\n expect(container.isBound(useCasesTypes.SignMessageUseCase)).toBeTruthy();\n });\n\n it(\"should bind GetWalletAddressUseCase\", () => {\n expect(\n container.isBound(useCasesTypes.GetWalletAddressUseCase),\n ).toBeTruthy();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,yBAAAC,MAA6B,mBACtC,OAAS,iBAAAC,MAAqB,kBAE9B,SAAS,wBAAyB,IAAM,CACtC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAsB,EAC5BE,EAAY,IAAIH,EAChBG,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,OACED,EAAU,QAAQD,EAAc,2BAA2B,CAC7D,EAAE,WAAW,CACf,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OAAOC,EAAU,QAAQD,EAAc,kBAAkB,CAAC,EAAE,WAAW,CACzE,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,OACEC,EAAU,QAAQD,EAAc,uBAAuB,CACzD,EAAE,WAAW,CACf,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { useCasesModuleFactory } from \"./useCasesModule\";\nimport { useCasesTypes } from \"./useCasesTypes\";\n\ndescribe(\"useCasesModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof useCasesModuleFactory>;\n beforeEach(() => {\n mod = useCasesModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the address module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind GetExtendedPublicKeyUseCase\", () => {\n expect(\n container.isBound(useCasesTypes.GetExtendedPublicKeyUseCase),\n ).toBeTruthy();\n });\n\n it(\"should bind SignMessageUseCase\", () => {\n expect(container.isBound(useCasesTypes.SignMessageUseCase)).toBeTruthy();\n });\n\n it(\"should bind GetWalletAddressUseCase\", () => {\n expect(\n container.isBound(useCasesTypes.GetWalletAddressUseCase),\n ).toBeTruthy();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,yBAAAC,MAA6B,mBACtC,OAAS,iBAAAC,MAAqB,kBAE9B,SAAS,wBAAyB,IAAM,CACtC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAsB,EAC5BE,EAAY,IAAIH,EAChBG,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,OACED,EAAU,QAAQD,EAAc,2BAA2B,CAC7D,EAAE,WAAW,CACf,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OAAOC,EAAU,QAAQD,EAAc,kBAAkB,CAAC,EAAE,WAAW,CACzE,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,OACEC,EAAU,QAAQD,EAAc,uBAAuB,CACzD,EAAE,WAAW,CACf,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "useCasesModuleFactory", "useCasesTypes", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var B=(n,r,p,i)=>{for(var c=i>1?void 0:i?h(r,p):r,o=n.length-1,t;o>=0;o--)(t=n[o])&&(c=(i?t(r,p,c):t(c))||c);return i&&c&&a(r,p,c),c},m=(n,r)=>(p,i)=>r(p,i,n);import{inject as v,injectable as d}from"inversify";import{appBinderTypes as f}from"../../app-binder/di/appBinderTypes";let e=class{constructor(r){this._appBinder=r}execute(r,p){return this._appBinder.getExtendedPublicKey({derivationPath:r,checkOnDevice:p.checkOnDevice})}};e=B([d(),m(0,v(f.AppBinder))],e);export{e as GetExtendedPublicKeyUseCase};
1
+ var k=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var B=(n,p,r,i)=>{for(var e=i>1?void 0:i?m(p,r):p,o=n.length-1,t;o>=0;o--)(t=n[o])&&(e=(i?t(p,r,e):t(e))||e);return i&&e&&k(p,r,e),e},a=(n,p)=>(r,i)=>p(r,i,n);import{inject as A,injectable as O}from"inversify";import{appBinderTypes as h}from"../../app-binder/di/appBinderTypes";let c=class{constructor(p){this._appBinder=p}execute(p,r){return this._appBinder.getExtendedPublicKey({derivationPath:p,checkOnDevice:r.checkOnDevice,skipOpenApp:r.skipOpenApp})}};c=B([O(),a(0,A(h.AppBinder))],c);export{c as GetExtendedPublicKeyUseCase};
2
2
  //# sourceMappingURL=GetExtendedPublicKeyUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\n\n@injectable()\nexport class GetExtendedPublicKeyUseCase {\n constructor(\n @inject(appBinderTypes.AppBinder)\n private readonly _appBinder: BtcAppBinder,\n ) {}\n\n execute(derivationPath: string, options: { checkOnDevice: boolean }) {\n return this._appBinder.getExtendedPublicKey({\n derivationPath,\n checkOnDevice: options.checkOnDevice,\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,kBAAAC,MAAsB,yCAGxB,IAAMC,EAAN,KAAkC,CACvC,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,QAAQC,EAAwBC,EAAqC,CACnE,OAAO,KAAK,WAAW,qBAAqB,CAC1C,eAAAD,EACA,cAAeC,EAAQ,aACzB,CAAC,CACH,CACF,EAZaH,EAANI,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAe,SAAS,IAFvBR",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\n\n@injectable()\nexport class GetExtendedPublicKeyUseCase {\n constructor(\n @inject(appBinderTypes.AppBinder)\n private readonly _appBinder: BtcAppBinder,\n ) {}\n\n execute(\n derivationPath: string,\n options: { checkOnDevice: boolean; skipOpenApp: boolean },\n ) {\n return this._appBinder.getExtendedPublicKey({\n derivationPath,\n checkOnDevice: options.checkOnDevice,\n skipOpenApp: options.skipOpenApp,\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,kBAAAC,MAAsB,yCAGxB,IAAMC,EAAN,KAAkC,CACvC,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,QACEC,EACAC,EACA,CACA,OAAO,KAAK,WAAW,qBAAqB,CAC1C,eAAAD,EACA,cAAeC,EAAQ,cACvB,YAAaA,EAAQ,WACvB,CAAC,CACH,CACF,EAhBaH,EAANI,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAe,SAAS,IAFvBR",
6
6
  "names": ["inject", "injectable", "appBinderTypes", "GetExtendedPublicKeyUseCase", "_appBinder", "derivationPath", "options", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{GetExtendedPublicKeyUseCase as o}from"./GetExtendedPublicKeyUseCase";describe("GetAddressUseCase",()=>{const e="44'/501'",t="some-pkey",c=jest.fn().mockReturnValue(t),n={getExtendedPublicKey:c};let s;beforeEach(()=>{jest.clearAllMocks(),s=new o(n)}),it("should return the address from the appBinder's getExtendedPublicKey method",()=>{const d=s.execute(e,{checkOnDevice:!0});expect(d).toEqual(t),expect(c).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0})})});
1
+ import{GetExtendedPublicKeyUseCase as d}from"./GetExtendedPublicKeyUseCase";describe("GetAddressUseCase",()=>{const e="44'/501'",t="some-pkey",c=vi.fn().mockReturnValue(t),n={getExtendedPublicKey:c};let s;beforeEach(()=>{vi.clearAllMocks(),s=new d(n)}),it("should return the address from the appBinder's getExtendedPublicKey method",()=>{const p=s.execute(e,{checkOnDevice:!0,skipOpenApp:!1});expect(p).toEqual(t),expect(c).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0,skipOpenApp:!1})})});
2
2
  //# sourceMappingURL=GetExtendedPublicKeyUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.ts"],
4
- "sourcesContent": ["import { type BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\n\nimport { GetExtendedPublicKeyUseCase } from \"./GetExtendedPublicKeyUseCase\";\n\ndescribe(\"GetAddressUseCase\", () => {\n const derivationPath = \"44'/501'\";\n const address = \"some-pkey\";\n const getExtendedPublicKeyMock = jest.fn().mockReturnValue(address);\n const appBinderMock = {\n getExtendedPublicKey: getExtendedPublicKeyMock,\n } as unknown as BtcAppBinder;\n let useCase: GetExtendedPublicKeyUseCase;\n\n beforeEach(() => {\n jest.clearAllMocks();\n useCase = new GetExtendedPublicKeyUseCase(appBinderMock);\n });\n\n it(\"should return the address from the appBinder's getExtendedPublicKey method\", () => {\n // GIVEN\n const checkOnDevice = true;\n\n // WHEN\n const result = useCase.execute(derivationPath, { checkOnDevice });\n\n // THEN\n expect(result).toEqual(address);\n expect(getExtendedPublicKeyMock).toHaveBeenCalledWith({\n derivationPath,\n checkOnDevice,\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,+BAAAA,MAAmC,gCAE5C,SAAS,oBAAqB,IAAM,CAClC,MAAMC,EAAiB,WACjBC,EAAU,YACVC,EAA2B,KAAK,GAAG,EAAE,gBAAgBD,CAAO,EAC5DE,EAAgB,CACpB,qBAAsBD,CACxB,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,KAAK,cAAc,EACnBA,EAAU,IAAIL,EAA4BI,CAAa,CACzD,CAAC,EAED,GAAG,6EAA8E,IAAM,CAKrF,MAAME,EAASD,EAAQ,QAAQJ,EAAgB,CAAE,gBAAc,CAAC,EAGhE,OAAOK,CAAM,EAAE,QAAQJ,CAAO,EAC9B,OAAOC,CAAwB,EAAE,qBAAqB,CACpD,eAAAF,EACA,gBACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type BtcAppBinder } from \"@internal/app-binder/BtcAppBinder\";\n\nimport { GetExtendedPublicKeyUseCase } from \"./GetExtendedPublicKeyUseCase\";\n\ndescribe(\"GetAddressUseCase\", () => {\n const derivationPath = \"44'/501'\";\n const address = \"some-pkey\";\n const getExtendedPublicKeyMock = vi.fn().mockReturnValue(address);\n const appBinderMock = {\n getExtendedPublicKey: getExtendedPublicKeyMock,\n } as unknown as BtcAppBinder;\n let useCase: GetExtendedPublicKeyUseCase;\n\n beforeEach(() => {\n vi.clearAllMocks();\n useCase = new GetExtendedPublicKeyUseCase(appBinderMock);\n });\n\n it(\"should return the address from the appBinder's getExtendedPublicKey method\", () => {\n // GIVEN\n const checkOnDevice = true;\n const skipOpenApp = false;\n\n // WHEN\n const result = useCase.execute(derivationPath, {\n checkOnDevice,\n skipOpenApp,\n });\n\n // THEN\n expect(result).toEqual(address);\n expect(getExtendedPublicKeyMock).toHaveBeenCalledWith({\n derivationPath,\n checkOnDevice,\n skipOpenApp,\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,+BAAAA,MAAmC,gCAE5C,SAAS,oBAAqB,IAAM,CAClC,MAAMC,EAAiB,WACjBC,EAAU,YACVC,EAA2B,GAAG,GAAG,EAAE,gBAAgBD,CAAO,EAC1DE,EAAgB,CACpB,qBAAsBD,CACxB,EACA,IAAIE,EAEJ,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAU,IAAIL,EAA4BI,CAAa,CACzD,CAAC,EAED,GAAG,6EAA8E,IAAM,CAMrF,MAAME,EAASD,EAAQ,QAAQJ,EAAgB,CAC7C,iBACA,cACF,CAAC,EAGD,OAAOK,CAAM,EAAE,QAAQJ,CAAO,EAC9B,OAAOC,CAAwB,EAAE,qBAAqB,CACpD,eAAAF,EACA,iBACA,cACF,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["GetExtendedPublicKeyUseCase", "derivationPath", "address", "getExtendedPublicKeyMock", "appBinderMock", "useCase", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var B=(i,r,e,t)=>{for(var p=t>1?void 0:t?d(r,e):r,o=i.length-1,m;o>=0;o--)(m=i[o])&&(p=(t?m(r,e,p):m(p))||p);return t&&p&&a(r,e,p),p},c=(i,r)=>(e,t)=>r(e,t,i);import{inject as l,injectable as u}from"inversify";import{appBinderTypes as A}from"../../app-binder/di/appBinderTypes";let n=class{_appBinder;constructor(r){this._appBinder=r}execute(r,e,t,p){return this._appBinder.getWalletAddress({wallet:e,checkOnDevice:r,change:t,addressIndex:p})}};n=B([u(),c(0,l(A.AppBinder))],n);export{n as GetWalletAddressUseCase};
1
+ var c=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var B=(o,r,t,e)=>{for(var p=e>1?void 0:e?l(r,t):r,i=o.length-1,m;i>=0;i--)(m=o[i])&&(p=(e?m(r,t,p):m(p))||p);return e&&p&&c(r,t,p),p},a=(o,r)=>(t,e)=>r(t,e,o);import{inject as d,injectable as u}from"inversify";import{appBinderTypes as A}from"../../app-binder/di/appBinderTypes";let n=class{_appBinder;constructor(r){this._appBinder=r}execute(r,t,e,p,i){return this._appBinder.getWalletAddress({wallet:t,checkOnDevice:r,change:e,addressIndex:p,skipOpenApp:i})}};n=B([u(),a(0,d(A.AppBinder))],n);export{n as GetWalletAddressUseCase};
2
2
  //# sourceMappingURL=GetWalletAddressUseCase.js.map