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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/lib/cjs/api/SignerBtc.js +1 -1
  2. package/lib/cjs/api/SignerBtc.js.map +1 -1
  3. package/lib/cjs/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  4. package/lib/cjs/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  5. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js +1 -1
  6. package/lib/cjs/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.js.map +1 -1
  7. package/lib/cjs/api/app-binder/GetWalletAddressDeviceActionTypes.js.map +1 -1
  8. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js +1 -1
  9. package/lib/cjs/api/app-binder/SignMessageDeviceActionTypes.js.map +1 -1
  10. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignPsbtDeviceActionTypes.js.map +1 -1
  12. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/model/AddressOptions.js +1 -1
  15. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  16. package/lib/cjs/api/model/MessageOptions.js +2 -0
  17. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  18. package/lib/cjs/api/model/PsbtOptions.js +2 -0
  19. package/lib/cjs/api/model/PsbtOptions.js.map +7 -0
  20. package/lib/cjs/api/model/WalletAddressOptions.js +1 -1
  21. package/lib/cjs/api/model/WalletAddressOptions.js.map +1 -1
  22. package/lib/cjs/index.js.map +1 -1
  23. package/lib/cjs/internal/DefaultSignerBtc.js +1 -1
  24. package/lib/cjs/internal/DefaultSignerBtc.js.map +3 -3
  25. package/lib/cjs/internal/DefaultSignerBtc.test.js +1 -1
  26. package/lib/cjs/internal/DefaultSignerBtc.test.js.map +2 -2
  27. package/lib/cjs/internal/app-binder/BtcAppBinder.js +1 -1
  28. package/lib/cjs/internal/app-binder/BtcAppBinder.js.map +3 -3
  29. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js +1 -1
  30. package/lib/cjs/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  31. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  32. package/lib/cjs/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  33. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  34. package/lib/cjs/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  35. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  36. package/lib/cjs/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  37. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  38. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  39. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  40. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  41. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  42. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  43. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  44. package/lib/cjs/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  45. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  46. package/lib/cjs/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  47. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  49. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  50. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  51. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  52. package/lib/cjs/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  53. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  54. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  55. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  56. package/lib/cjs/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  57. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  58. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  59. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  60. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  61. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  62. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  63. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  64. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  65. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  66. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  67. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  68. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  69. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js +1 -1
  70. package/lib/cjs/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  71. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +1 -1
  72. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +2 -2
  73. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  74. package/lib/cjs/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  75. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js +1 -1
  76. package/lib/cjs/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  77. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  78. package/lib/cjs/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  79. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  80. package/lib/cjs/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  81. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js +1 -1
  82. package/lib/cjs/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  83. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  84. package/lib/cjs/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  85. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  86. package/lib/cjs/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  87. package/lib/cjs/internal/data-store/di/dataStoreModule.js +1 -1
  88. package/lib/cjs/internal/data-store/di/dataStoreModule.js.map +3 -3
  89. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js +1 -1
  90. package/lib/cjs/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  91. package/lib/cjs/internal/data-store/model/DataStore.test.js +1 -1
  92. package/lib/cjs/internal/data-store/model/DataStore.test.js.map +2 -2
  93. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  94. package/lib/cjs/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  95. package/lib/cjs/internal/di.js +1 -1
  96. package/lib/cjs/internal/di.js.map +2 -2
  97. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  98. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  99. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  100. package/lib/cjs/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  101. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  102. package/lib/cjs/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  103. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  104. package/lib/cjs/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  105. package/lib/cjs/internal/psbt/di/psbtModule.js +1 -1
  106. package/lib/cjs/internal/psbt/di/psbtModule.js.map +3 -3
  107. package/lib/cjs/internal/psbt/di/psbtModule.test.js +1 -1
  108. package/lib/cjs/internal/psbt/di/psbtModule.test.js.map +2 -2
  109. package/lib/cjs/internal/psbt/model/Key.js +1 -1
  110. package/lib/cjs/internal/psbt/model/Key.js.map +2 -2
  111. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  112. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  113. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  114. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  115. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  116. package/lib/cjs/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  117. package/lib/cjs/internal/use-cases/di/useCasesModule.js +1 -1
  118. package/lib/cjs/internal/use-cases/di/useCasesModule.js.map +3 -3
  119. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js +1 -1
  120. package/lib/cjs/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  121. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  122. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  123. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  124. package/lib/cjs/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  125. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  126. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  127. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  128. package/lib/cjs/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  129. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  130. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  131. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  132. package/lib/cjs/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  133. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  134. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  135. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  136. package/lib/cjs/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  137. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  138. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  139. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  140. package/lib/cjs/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  141. package/lib/cjs/internal/wallet/di/walletModule.js +1 -1
  142. package/lib/cjs/internal/wallet/di/walletModule.js.map +3 -3
  143. package/lib/cjs/internal/wallet/di/walletModule.test.js +1 -1
  144. package/lib/cjs/internal/wallet/di/walletModule.test.js.map +2 -2
  145. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  146. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  147. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  148. package/lib/cjs/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  149. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  150. package/lib/cjs/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  151. package/lib/cjs/package.json +17 -17
  152. package/lib/esm/api/{SignerBtcBuiilder.test.js → SignerBtcBuilder.test.js} +1 -1
  153. package/lib/esm/api/{SignerBtcBuiilder.test.js.map → SignerBtcBuilder.test.js.map} +1 -1
  154. package/lib/esm/api/model/MessageOptions.js +1 -0
  155. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  156. package/lib/esm/api/model/PsbtOptions.js +1 -0
  157. package/lib/esm/api/model/PsbtOptions.js.map +7 -0
  158. package/lib/esm/internal/DefaultSignerBtc.js +1 -1
  159. package/lib/esm/internal/DefaultSignerBtc.js.map +3 -3
  160. package/lib/esm/internal/DefaultSignerBtc.test.js +1 -1
  161. package/lib/esm/internal/DefaultSignerBtc.test.js.map +2 -2
  162. package/lib/esm/internal/app-binder/BtcAppBinder.js +1 -1
  163. package/lib/esm/internal/app-binder/BtcAppBinder.js.map +3 -3
  164. package/lib/esm/internal/app-binder/BtcAppBinder.test.js +1 -1
  165. package/lib/esm/internal/app-binder/BtcAppBinder.test.js.map +3 -3
  166. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js +1 -1
  167. package/lib/esm/internal/app-binder/command/GetMasterFingerprintCommand.test.js.map +2 -2
  168. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js +1 -1
  169. package/lib/esm/internal/app-binder/command/GetWalletAddressCommand.test.js.map +2 -2
  170. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js +1 -1
  171. package/lib/esm/internal/app-binder/command/RegisterWalletAddressCommand.test.js.map +2 -2
  172. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js +1 -1
  173. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafIndexCommandHandler.test.js.map +2 -2
  174. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js +1 -1
  175. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMerkleLeafProofCommandHandler.test.js.map +3 -3
  176. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js +1 -1
  177. package/lib/esm/internal/app-binder/command/client-command-handlers/GetMoreElementsCommandHandler.test.js.map +2 -2
  178. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js +1 -1
  179. package/lib/esm/internal/app-binder/command/client-command-handlers/GetPreimageCommandHandler.test.js.map +2 -2
  180. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js +1 -1
  181. package/lib/esm/internal/app-binder/command/service/ClientCommandInterpreter.test.js.map +2 -2
  182. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js +1 -1
  183. package/lib/esm/internal/app-binder/command/utils/bitcoinAppError.test.js.map +2 -2
  184. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js +1 -1
  185. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.js.map +2 -2
  186. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js +1 -1
  187. package/lib/esm/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.test.js.map +3 -3
  188. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js +1 -1
  189. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.js.map +2 -2
  190. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js +1 -1
  191. package/lib/esm/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.test.js.map +3 -3
  192. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  193. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  194. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  195. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  196. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  197. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  198. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js +1 -1
  199. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.js.map +2 -2
  200. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  201. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  202. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  203. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  204. package/lib/esm/internal/app-binder/di/appBinderModule.test.js +1 -1
  205. package/lib/esm/internal/app-binder/di/appBinderModule.test.js.map +2 -2
  206. package/lib/esm/internal/app-binder/di/appBinderTypes.js +1 -1
  207. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +2 -2
  208. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js +1 -1
  209. package/lib/esm/internal/app-binder/task/BuildPsbtTask.test.js.map +2 -2
  210. package/lib/esm/internal/app-binder/task/ContinueTask.test.js +1 -1
  211. package/lib/esm/internal/app-binder/task/ContinueTask.test.js.map +2 -2
  212. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js +1 -1
  213. package/lib/esm/internal/app-binder/task/GetWalletAddressTask.test.js.map +2 -2
  214. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js +1 -1
  215. package/lib/esm/internal/app-binder/task/PrepareWalletPolicyTask.test.js.map +2 -2
  216. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js +1 -1
  217. package/lib/esm/internal/app-binder/task/SignMessageTask.test.js.map +2 -2
  218. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js +1 -1
  219. package/lib/esm/internal/app-binder/task/SignPsbtTask.test.js.map +2 -2
  220. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js +1 -1
  221. package/lib/esm/internal/app-binder/task/UpdatePsbtTask.test.js.map +2 -2
  222. package/lib/esm/internal/data-store/di/dataStoreModule.js +1 -1
  223. package/lib/esm/internal/data-store/di/dataStoreModule.js.map +3 -3
  224. package/lib/esm/internal/data-store/di/dataStoreModule.test.js +1 -1
  225. package/lib/esm/internal/data-store/di/dataStoreModule.test.js.map +2 -2
  226. package/lib/esm/internal/data-store/model/DataStore.test.js +1 -1
  227. package/lib/esm/internal/data-store/model/DataStore.test.js.map +2 -2
  228. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js +1 -1
  229. package/lib/esm/internal/data-store/service/DefaultDataStoreService.test.js.map +2 -2
  230. package/lib/esm/internal/di.js +1 -1
  231. package/lib/esm/internal/di.js.map +2 -2
  232. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js +1 -1
  233. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.js.map +3 -3
  234. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js +1 -1
  235. package/lib/esm/internal/merkle-tree/di/merkleTreeModule.test.js.map +2 -2
  236. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js +1 -1
  237. package/lib/esm/internal/merkle-tree/service/MerkleMapBuilder.test.js.map +2 -2
  238. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js +1 -1
  239. package/lib/esm/internal/merkle-tree/service/MerkleTreeBuilder.test.js.map +2 -2
  240. package/lib/esm/internal/psbt/di/psbtModule.js +1 -1
  241. package/lib/esm/internal/psbt/di/psbtModule.js.map +3 -3
  242. package/lib/esm/internal/psbt/di/psbtModule.test.js +1 -1
  243. package/lib/esm/internal/psbt/di/psbtModule.test.js.map +2 -2
  244. package/lib/esm/internal/psbt/model/Key.js +1 -1
  245. package/lib/esm/internal/psbt/model/Key.js.map +2 -2
  246. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js +1 -1
  247. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtMapper.test.js.map +2 -2
  248. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js +1 -1
  249. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtSerializer.js.map +2 -2
  250. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js +1 -1
  251. package/lib/esm/internal/psbt/service/psbt/DefaultPsbtV2Normalizer.js.map +2 -2
  252. package/lib/esm/internal/use-cases/di/useCasesModule.js +1 -1
  253. package/lib/esm/internal/use-cases/di/useCasesModule.js.map +3 -3
  254. package/lib/esm/internal/use-cases/di/useCasesModule.test.js +1 -1
  255. package/lib/esm/internal/use-cases/di/useCasesModule.test.js.map +2 -2
  256. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js +1 -1
  257. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.js.map +2 -2
  258. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js +1 -1
  259. package/lib/esm/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.test.js.map +2 -2
  260. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js +1 -1
  261. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.js.map +3 -3
  262. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js +1 -1
  263. package/lib/esm/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.test.js.map +3 -3
  264. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js +1 -1
  265. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.js.map +3 -3
  266. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js +1 -1
  267. package/lib/esm/internal/use-cases/sign-message/SignMessageUseCase.test.js.map +2 -2
  268. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js +1 -1
  269. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.js.map +3 -3
  270. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js +1 -1
  271. package/lib/esm/internal/use-cases/sign-psbt/SignPsbtUseCase.test.js.map +3 -3
  272. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js +1 -1
  273. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.js.map +3 -3
  274. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js +1 -1
  275. package/lib/esm/internal/use-cases/sign-transaction/SignTransactionUseCase.test.js.map +3 -3
  276. package/lib/esm/internal/wallet/di/walletModule.js +1 -1
  277. package/lib/esm/internal/wallet/di/walletModule.js.map +3 -3
  278. package/lib/esm/internal/wallet/di/walletModule.test.js +1 -1
  279. package/lib/esm/internal/wallet/di/walletModule.test.js.map +2 -2
  280. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js +1 -1
  281. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.js.map +2 -2
  282. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js +1 -1
  283. package/lib/esm/internal/wallet/service/DefaultWalletBuilder.test.js.map +2 -2
  284. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js +1 -1
  285. package/lib/esm/internal/wallet/service/DefaultWalletSerializer.test.js.map +2 -2
  286. package/lib/esm/package.json +17 -17
  287. package/lib/types/api/SignerBtc.d.ts +7 -5
  288. package/lib/types/api/SignerBtc.d.ts.map +1 -1
  289. package/lib/types/api/SignerBtcBuilder.test.d.ts +2 -0
  290. package/lib/types/api/SignerBtcBuilder.test.d.ts.map +1 -0
  291. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts +3 -1
  292. package/lib/types/api/app-binder/GetExtendedPublicKeyDeviceActionTypes.d.ts.map +1 -1
  293. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts +1 -0
  294. package/lib/types/api/app-binder/GetWalletAddressDeviceActionTypes.d.ts.map +1 -1
  295. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts +1 -12
  296. package/lib/types/api/app-binder/SignMessageDeviceActionTypes.d.ts.map +1 -1
  297. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts +1 -0
  298. package/lib/types/api/app-binder/SignPsbtDeviceActionTypes.d.ts.map +1 -1
  299. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +1 -0
  300. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  301. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  302. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  303. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  304. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  305. package/lib/types/api/model/PsbtOptions.d.ts +4 -0
  306. package/lib/types/api/model/PsbtOptions.d.ts.map +1 -0
  307. package/lib/types/api/model/Signature.d.ts.map +1 -1
  308. package/lib/types/api/model/WalletAddressOptions.d.ts +1 -0
  309. package/lib/types/api/model/WalletAddressOptions.d.ts.map +1 -1
  310. package/lib/types/internal/DefaultSignerBtc.d.ts +7 -5
  311. package/lib/types/internal/DefaultSignerBtc.d.ts.map +1 -1
  312. package/lib/types/internal/app-binder/BtcAppBinder.d.ts +4 -0
  313. package/lib/types/internal/app-binder/BtcAppBinder.d.ts.map +1 -1
  314. package/lib/types/internal/app-binder/command/utils/bitcoinAppErrors.d.ts.map +1 -1
  315. package/lib/types/internal/app-binder/device-action/GetWalletAddress/GetWalletAddressDeviceAction.d.ts.map +1 -1
  316. package/lib/types/internal/app-binder/device-action/SignPsbt/SignPsbtDeviceAction.d.ts.map +1 -1
  317. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  318. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  319. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  320. package/lib/types/internal/app-binder/device-action/__test-utils__/setupSignPsbtDAMock.d.ts.map +1 -1
  321. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  322. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  323. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  324. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts +0 -1
  325. package/lib/types/internal/app-binder/di/appBinderTypes.d.ts.map +1 -1
  326. package/lib/types/internal/app-binder/task/GetWalletAddressTask.d.ts.map +1 -1
  327. package/lib/types/internal/app-binder/task/SignMessageTask.d.ts.map +1 -1
  328. package/lib/types/internal/app-binder/task/SignPsbtTask.d.ts.map +1 -1
  329. package/lib/types/internal/data-store/di/dataStoreModule.d.ts.map +1 -1
  330. package/lib/types/internal/di.d.ts.map +1 -1
  331. package/lib/types/internal/merkle-tree/di/merkleTreeModule.d.ts.map +1 -1
  332. package/lib/types/internal/psbt/di/psbtModule.d.ts.map +1 -1
  333. package/lib/types/internal/use-cases/di/useCasesModule.d.ts.map +1 -1
  334. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts +1 -0
  335. package/lib/types/internal/use-cases/get-extended-public-key/GetExtendedPublicKeyUseCase.d.ts.map +1 -1
  336. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts +1 -1
  337. package/lib/types/internal/use-cases/get-wallet-address/GetWalletAddressUseCase.d.ts.map +1 -1
  338. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts +1 -1
  339. package/lib/types/internal/use-cases/sign-message/SignMessageUseCase.d.ts.map +1 -1
  340. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts +1 -1
  341. package/lib/types/internal/use-cases/sign-psbt/SignPsbtUseCase.d.ts.map +1 -1
  342. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts +1 -1
  343. package/lib/types/internal/use-cases/sign-transaction/SignTransactionUseCase.d.ts.map +1 -1
  344. package/lib/types/internal/wallet/di/walletModule.d.ts.map +1 -1
  345. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  346. package/package.json +19 -19
  347. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  348. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  349. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  350. package/lib/cjs/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  351. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js +0 -2
  352. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.js.map +0 -7
  353. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js +0 -2
  354. package/lib/esm/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.js.map +0 -7
  355. package/lib/types/api/SignerBtcBuiilder.test.d.ts +0 -2
  356. package/lib/types/api/SignerBtcBuiilder.test.d.ts.map +0 -1
  357. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts +0 -19
  358. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.d.ts.map +0 -1
  359. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts +0 -2
  360. package/lib/types/internal/app-binder/device-action/SignMessage/SignMessageDeviceAction.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/data-store/di/dataStoreModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"./dataStoreModule\";\n\ndescribe(\"DataStoreModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof dataStoreModuleFactory>;\n beforeEach(() => {\n mod = dataStoreModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the data store service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,0BAAAC,MAA8B,oBAEvC,SAAS,yBAA0B,IAAM,CACvC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAuB,EAC7BC,EAAY,IAAIF,EAChBE,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"./dataStoreModule\";\n\ndescribe(\"DataStoreModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof dataStoreModuleFactory>;\n beforeEach(() => {\n mod = dataStoreModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the data store service module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,0BAAAC,MAA8B,oBAEvC,SAAS,yBAA0B,IAAM,CACvC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAuB,EAC7BC,EAAY,IAAIF,EAChBE,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "dataStoreModuleFactory", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as c}from"@ledgerhq/device-management-kit";import{Just as m,Nothing as g}from"purify-ts";import{Leaf as r}from"../../merkle-tree/model/Leaf";import{DataStore as p}from"./DataStore";const o={leaves:[new r(Uint8Array.from([0,0]),Uint8Array.from([42])),new r(Uint8Array.from([0,1]),Uint8Array.from([43])),new r(Uint8Array.from([0,2]),Uint8Array.from([44])),new r(Uint8Array.from([0,3]),Uint8Array.from([45]))],proof:[Uint8Array.from([9,8,7,6]),Uint8Array.from([5,4,3,2])],root:c("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb")},t={leaves:[new r(Uint8Array.from([1,0]),Uint8Array.from([80])),new r(Uint8Array.from([2,0]),Uint8Array.from([81])),new r(Uint8Array.from([3,0]),Uint8Array.from([82])),new r(Uint8Array.from([4,0]),Uint8Array.from([83])),new r(Uint8Array.from([5,0]),Uint8Array.from([84])),new r(Uint8Array.from([6,0]),Uint8Array.from([85])),new r(Uint8Array.from([7,0]),Uint8Array.from([86])),new r(Uint8Array.from([8,0]),Uint8Array.from([87])),new r(Uint8Array.from([9,0]),Uint8Array.from([88])),new r(Uint8Array.from([10,0]),Uint8Array.from([89]))],proof:[Uint8Array.from([255,254,253]),Uint8Array.from([1,2,3,4]),Uint8Array.from([170,187,204]),Uint8Array.from([7,6,5,4])],root:c("e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac")};describe("DataStore",()=>{const d=()=>({size:jest.fn(),getRoot:jest.fn(),getLeaves:jest.fn(),getLeafHash:jest.fn(),getProof:jest.fn()});beforeEach(()=>{jest.resetAllMocks()}),it("Add preimages, then get it",()=>{const i=c("deadbeef1"),a=c("deadbeef2"),n=c("42ff1"),e=c("42ff2"),f=c("42ff3"),s=new p;s.addPreimage(n,i),s.addPreimage(e,a);const l=s.getPreimage(n);expect(l.isJust()).toStrictEqual(!0),expect(l.unsafeCoerce()).toStrictEqual(i);const u=s.getPreimage(e);expect(u.isJust()).toStrictEqual(!0),expect(u.unsafeCoerce()).toStrictEqual(a);const k=s.getPreimage(f);expect(k.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get index",()=>{const i=c("deadbeef"),a=d(),n=d(),e=new p;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves).mockReturnValueOnce(o.leaves),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves),e.addMerkleTree(a),e.addMerkleTree(n);const f=e.getMerkleLeafIndex(o.root,o.leaves[2].hash);expect(f.isJust()).toStrictEqual(!0),expect(f.unsafeCoerce()).toStrictEqual(2);const s=e.getMerkleLeafIndex(t.root,t.leaves[7].hash);expect(s.isJust()).toStrictEqual(!0),expect(s.unsafeCoerce()).toStrictEqual(7);const l=e.getMerkleLeafIndex(t.root,o.leaves[2].hash);expect(l.isJust()).toStrictEqual(!1);const u=e.getMerkleLeafIndex(i,i);expect(u.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get proof",()=>{const i=c("deadbeef"),a=d(),n=d(),e=new p;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves),a.getLeafHash.mockReturnValueOnce(m(o.leaves[1].hash)),a.getProof.mockReturnValueOnce(m(o.proof)),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves),n.getLeafHash.mockReturnValueOnce(m(t.leaves[5].hash)).mockReturnValueOnce(g).mockReturnValueOnce(m(t.leaves[5].hash)),n.getProof.mockReturnValueOnce(m(t.proof)).mockReturnValueOnce(g),e.addMerkleTree(a),e.addMerkleTree(n);const f=e.getMerkleProof(o.root,1);expect(f.isJust()).toStrictEqual(!0),expect(f.unsafeCoerce().leafHash).toStrictEqual(o.leaves[1].hash),expect(f.unsafeCoerce().proof).toStrictEqual(o.proof);const s=e.getMerkleProof(t.root,5);expect(s.isJust()).toStrictEqual(!0),expect(s.unsafeCoerce().leafHash).toStrictEqual(t.leaves[5].hash),expect(s.unsafeCoerce().proof).toStrictEqual(t.proof);const l=e.getMerkleProof(t.root,5);expect(l.isJust()).toStrictEqual(!1);const u=e.getMerkleProof(t.root,5);expect(u.isJust()).toStrictEqual(!1);const k=e.getMerkleProof(i,0);expect(k.isJust()).toStrictEqual(!1)})});
1
+ import{hexaStringToBuffer as s}from"@ledgerhq/device-management-kit";import{Just as m,Nothing as g}from"purify-ts";import{Leaf as r}from"../../merkle-tree/model/Leaf";import{DataStore as p}from"./DataStore";const o={leaves:[new r(Uint8Array.from([0,0]),Uint8Array.from([42])),new r(Uint8Array.from([0,1]),Uint8Array.from([43])),new r(Uint8Array.from([0,2]),Uint8Array.from([44])),new r(Uint8Array.from([0,3]),Uint8Array.from([45]))],proof:[Uint8Array.from([9,8,7,6]),Uint8Array.from([5,4,3,2])],root:s("9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb")},t={leaves:[new r(Uint8Array.from([1,0]),Uint8Array.from([80])),new r(Uint8Array.from([2,0]),Uint8Array.from([81])),new r(Uint8Array.from([3,0]),Uint8Array.from([82])),new r(Uint8Array.from([4,0]),Uint8Array.from([83])),new r(Uint8Array.from([5,0]),Uint8Array.from([84])),new r(Uint8Array.from([6,0]),Uint8Array.from([85])),new r(Uint8Array.from([7,0]),Uint8Array.from([86])),new r(Uint8Array.from([8,0]),Uint8Array.from([87])),new r(Uint8Array.from([9,0]),Uint8Array.from([88])),new r(Uint8Array.from([10,0]),Uint8Array.from([89]))],proof:[Uint8Array.from([255,254,253]),Uint8Array.from([1,2,3,4]),Uint8Array.from([170,187,204]),Uint8Array.from([7,6,5,4])],root:s("e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac")};describe("DataStore",()=>{const d=()=>({size:vi.fn(),getRoot:vi.fn(),getLeaves:vi.fn(),getLeafHash:vi.fn(),getProof:vi.fn()});beforeEach(()=>{vi.resetAllMocks()}),it("Add preimages, then get it",()=>{const i=s("deadbeef1"),a=s("deadbeef2"),n=s("42ff1"),e=s("42ff2"),f=s("42ff3"),c=new p;c.addPreimage(n,i),c.addPreimage(e,a);const l=c.getPreimage(n);expect(l.isJust()).toStrictEqual(!0),expect(l.unsafeCoerce()).toStrictEqual(i);const u=c.getPreimage(e);expect(u.isJust()).toStrictEqual(!0),expect(u.unsafeCoerce()).toStrictEqual(a);const k=c.getPreimage(f);expect(k.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get index",()=>{const i=s("deadbeef"),a=d(),n=d(),e=new p;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves).mockReturnValueOnce(o.leaves),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves).mockReturnValueOnce(t.leaves),e.addMerkleTree(a),e.addMerkleTree(n);const f=e.getMerkleLeafIndex(o.root,o.leaves[2].hash);expect(f.isJust()).toStrictEqual(!0),expect(f.unsafeCoerce()).toStrictEqual(2);const c=e.getMerkleLeafIndex(t.root,t.leaves[7].hash);expect(c.isJust()).toStrictEqual(!0),expect(c.unsafeCoerce()).toStrictEqual(7);const l=e.getMerkleLeafIndex(t.root,o.leaves[2].hash);expect(l.isJust()).toStrictEqual(!1);const u=e.getMerkleLeafIndex(i,i);expect(u.isJust()).toStrictEqual(!1)}),it("Add merkletrees, then get proof",()=>{const i=s("deadbeef"),a=d(),n=d(),e=new p;a.getRoot.mockReturnValueOnce(o.root),a.getLeaves.mockReturnValueOnce(o.leaves),a.getLeafHash.mockReturnValueOnce(m(o.leaves[1].hash)),a.getProof.mockReturnValueOnce(m(o.proof)),n.getRoot.mockReturnValueOnce(t.root),n.getLeaves.mockReturnValueOnce(t.leaves),n.getLeafHash.mockReturnValueOnce(m(t.leaves[5].hash)).mockReturnValueOnce(g).mockReturnValueOnce(m(t.leaves[5].hash)),n.getProof.mockReturnValueOnce(m(t.proof)).mockReturnValueOnce(g),e.addMerkleTree(a),e.addMerkleTree(n);const f=e.getMerkleProof(o.root,1);expect(f.isJust()).toStrictEqual(!0),expect(f.unsafeCoerce().leafHash).toStrictEqual(o.leaves[1].hash),expect(f.unsafeCoerce().proof).toStrictEqual(o.proof);const c=e.getMerkleProof(t.root,5);expect(c.isJust()).toStrictEqual(!0),expect(c.unsafeCoerce().leafHash).toStrictEqual(t.leaves[5].hash),expect(c.unsafeCoerce().proof).toStrictEqual(t.proof);const l=e.getMerkleProof(t.root,5);expect(l.isJust()).toStrictEqual(!1);const u=e.getMerkleProof(t.root,5);expect(u.isJust()).toStrictEqual(!1);const k=e.getMerkleProof(i,0);expect(k.isJust()).toStrictEqual(!1)})});
2
2
  //# sourceMappingURL=DataStore.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/data-store/model/DataStore.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { type MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\n\nimport { DataStore } from \"./DataStore\";\n\nconst SMALL_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([0, 0]), Uint8Array.from([42])),\n new Leaf(Uint8Array.from([0, 1]), Uint8Array.from([43])),\n new Leaf(Uint8Array.from([0, 2]), Uint8Array.from([44])),\n new Leaf(Uint8Array.from([0, 3]), Uint8Array.from([45])),\n ],\n proof: [Uint8Array.from([9, 8, 7, 6]), Uint8Array.from([5, 4, 3, 2])],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([1, 0]), Uint8Array.from([80])),\n new Leaf(Uint8Array.from([2, 0]), Uint8Array.from([81])),\n new Leaf(Uint8Array.from([3, 0]), Uint8Array.from([82])),\n new Leaf(Uint8Array.from([4, 0]), Uint8Array.from([83])),\n new Leaf(Uint8Array.from([5, 0]), Uint8Array.from([84])),\n new Leaf(Uint8Array.from([6, 0]), Uint8Array.from([85])),\n new Leaf(Uint8Array.from([7, 0]), Uint8Array.from([86])),\n new Leaf(Uint8Array.from([8, 0]), Uint8Array.from([87])),\n new Leaf(Uint8Array.from([9, 0]), Uint8Array.from([88])),\n new Leaf(Uint8Array.from([10, 0]), Uint8Array.from([89])),\n ],\n proof: [\n Uint8Array.from([0xff, 0xfe, 0xfd]),\n Uint8Array.from([1, 2, 3, 4]),\n Uint8Array.from([0xaa, 0xbb, 0xcc]),\n Uint8Array.from([7, 6, 5, 4]),\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"DataStore\", () => {\n // Mocked merkle tree\n const createMerkletree = () => ({\n size: jest.fn(),\n getRoot: jest.fn(),\n getLeaves: jest.fn(),\n getLeafHash: jest.fn(),\n getProof: jest.fn(),\n });\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Add preimages, then get it\", () => {\n // Given\n const data1 = hexaStringToBuffer(\"deadbeef1\")!;\n const data2 = hexaStringToBuffer(\"deadbeef2\")!;\n const dataHash1 = hexaStringToBuffer(\"42ff1\")!;\n const dataHash2 = hexaStringToBuffer(\"42ff2\")!;\n const dataHash3 = hexaStringToBuffer(\"42ff3\")!;\n const store = new DataStore();\n\n // When\n store.addPreimage(dataHash1, data1);\n store.addPreimage(dataHash2, data2);\n\n // Then\n const preimage1 = store.getPreimage(dataHash1);\n expect(preimage1.isJust()).toStrictEqual(true);\n expect(preimage1.unsafeCoerce()).toStrictEqual(data1);\n const preimage2 = store.getPreimage(dataHash2);\n expect(preimage2.isJust()).toStrictEqual(true);\n expect(preimage2.unsafeCoerce()).toStrictEqual(data2);\n const preimage3 = store.getPreimage(dataHash3);\n expect(preimage3.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get index\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves\n .mockReturnValueOnce(SMALL_TREE.leaves)\n .mockReturnValueOnce(SMALL_TREE.leaves);\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const index1 = store.getMerkleLeafIndex(\n SMALL_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index1.isJust()).toStrictEqual(true);\n expect(index1.unsafeCoerce()).toStrictEqual(2);\n const index2 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n BIG_TREE.leaves[7]!.hash,\n );\n expect(index2.isJust()).toStrictEqual(true);\n expect(index2.unsafeCoerce()).toStrictEqual(7);\n // hash not found in the tree\n const index3 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index3.isJust()).toStrictEqual(false);\n // root not found\n const index4 = store.getMerkleLeafIndex(invalidRoot, invalidRoot);\n expect(index4.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get proof\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves.mockReturnValueOnce(SMALL_TREE.leaves);\n tree1.getLeafHash.mockReturnValueOnce(Just(SMALL_TREE.leaves[1]!.hash));\n tree1.getProof.mockReturnValueOnce(Just(SMALL_TREE.proof));\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves.mockReturnValueOnce(BIG_TREE.leaves);\n tree2.getLeafHash\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash))\n .mockReturnValueOnce(Nothing)\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash));\n tree2.getProof\n .mockReturnValueOnce(Just(BIG_TREE.proof))\n .mockReturnValueOnce(Nothing);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const proof1 = store.getMerkleProof(SMALL_TREE.root, 1);\n expect(proof1.isJust()).toStrictEqual(true);\n expect(proof1.unsafeCoerce().leafHash).toStrictEqual(\n SMALL_TREE.leaves[1]!.hash,\n );\n expect(proof1.unsafeCoerce().proof).toStrictEqual(SMALL_TREE.proof);\n const proof2 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof2.isJust()).toStrictEqual(true);\n expect(proof2.unsafeCoerce().leafHash).toStrictEqual(\n BIG_TREE.leaves[5]!.hash,\n );\n expect(proof2.unsafeCoerce().proof).toStrictEqual(BIG_TREE.proof);\n // getLeafHash returns Nothing\n const proof3 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof3.isJust()).toStrictEqual(false);\n // getProof returns Nothing\n const proof4 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof4.isJust()).toStrictEqual(false);\n // root not found\n const proof5 = store.getMerkleProof(invalidRoot, 0);\n expect(proof5.isJust()).toStrictEqual(false);\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 { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { type MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\n\nimport { DataStore } from \"./DataStore\";\n\nconst SMALL_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([0, 0]), Uint8Array.from([42])),\n new Leaf(Uint8Array.from([0, 1]), Uint8Array.from([43])),\n new Leaf(Uint8Array.from([0, 2]), Uint8Array.from([44])),\n new Leaf(Uint8Array.from([0, 3]), Uint8Array.from([45])),\n ],\n proof: [Uint8Array.from([9, 8, 7, 6]), Uint8Array.from([5, 4, 3, 2])],\n root: hexaStringToBuffer(\n \"9bcd51240af4005168f033121ba85be5a6ed4f0e6a5fac262066729b8fbfdecb\",\n )!,\n};\n\nconst BIG_TREE = {\n leaves: [\n new Leaf(Uint8Array.from([1, 0]), Uint8Array.from([80])),\n new Leaf(Uint8Array.from([2, 0]), Uint8Array.from([81])),\n new Leaf(Uint8Array.from([3, 0]), Uint8Array.from([82])),\n new Leaf(Uint8Array.from([4, 0]), Uint8Array.from([83])),\n new Leaf(Uint8Array.from([5, 0]), Uint8Array.from([84])),\n new Leaf(Uint8Array.from([6, 0]), Uint8Array.from([85])),\n new Leaf(Uint8Array.from([7, 0]), Uint8Array.from([86])),\n new Leaf(Uint8Array.from([8, 0]), Uint8Array.from([87])),\n new Leaf(Uint8Array.from([9, 0]), Uint8Array.from([88])),\n new Leaf(Uint8Array.from([10, 0]), Uint8Array.from([89])),\n ],\n proof: [\n Uint8Array.from([0xff, 0xfe, 0xfd]),\n Uint8Array.from([1, 2, 3, 4]),\n Uint8Array.from([0xaa, 0xbb, 0xcc]),\n Uint8Array.from([7, 6, 5, 4]),\n ],\n root: hexaStringToBuffer(\n \"e177ad5a8a17108dad67c70a51266681aa02b9e2b7ad6a0357585ba4289982ac\",\n )!,\n};\n\ndescribe(\"DataStore\", () => {\n // Mocked merkle tree\n const createMerkletree = () => ({\n size: vi.fn(),\n getRoot: vi.fn(),\n getLeaves: vi.fn(),\n getLeafHash: vi.fn(),\n getProof: vi.fn(),\n });\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Add preimages, then get it\", () => {\n // Given\n const data1 = hexaStringToBuffer(\"deadbeef1\")!;\n const data2 = hexaStringToBuffer(\"deadbeef2\")!;\n const dataHash1 = hexaStringToBuffer(\"42ff1\")!;\n const dataHash2 = hexaStringToBuffer(\"42ff2\")!;\n const dataHash3 = hexaStringToBuffer(\"42ff3\")!;\n const store = new DataStore();\n\n // When\n store.addPreimage(dataHash1, data1);\n store.addPreimage(dataHash2, data2);\n\n // Then\n const preimage1 = store.getPreimage(dataHash1);\n expect(preimage1.isJust()).toStrictEqual(true);\n expect(preimage1.unsafeCoerce()).toStrictEqual(data1);\n const preimage2 = store.getPreimage(dataHash2);\n expect(preimage2.isJust()).toStrictEqual(true);\n expect(preimage2.unsafeCoerce()).toStrictEqual(data2);\n const preimage3 = store.getPreimage(dataHash3);\n expect(preimage3.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get index\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves\n .mockReturnValueOnce(SMALL_TREE.leaves)\n .mockReturnValueOnce(SMALL_TREE.leaves);\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves)\n .mockReturnValueOnce(BIG_TREE.leaves);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const index1 = store.getMerkleLeafIndex(\n SMALL_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index1.isJust()).toStrictEqual(true);\n expect(index1.unsafeCoerce()).toStrictEqual(2);\n const index2 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n BIG_TREE.leaves[7]!.hash,\n );\n expect(index2.isJust()).toStrictEqual(true);\n expect(index2.unsafeCoerce()).toStrictEqual(7);\n // hash not found in the tree\n const index3 = store.getMerkleLeafIndex(\n BIG_TREE.root,\n SMALL_TREE.leaves[2]!.hash,\n );\n expect(index3.isJust()).toStrictEqual(false);\n // root not found\n const index4 = store.getMerkleLeafIndex(invalidRoot, invalidRoot);\n expect(index4.isJust()).toStrictEqual(false);\n });\n\n it(\"Add merkletrees, then get proof\", () => {\n // Given\n const invalidRoot = hexaStringToBuffer(\"deadbeef\")!;\n const tree1 = createMerkletree();\n const tree2 = createMerkletree();\n const store = new DataStore();\n\n // When\n tree1.getRoot.mockReturnValueOnce(SMALL_TREE.root);\n tree1.getLeaves.mockReturnValueOnce(SMALL_TREE.leaves);\n tree1.getLeafHash.mockReturnValueOnce(Just(SMALL_TREE.leaves[1]!.hash));\n tree1.getProof.mockReturnValueOnce(Just(SMALL_TREE.proof));\n tree2.getRoot.mockReturnValueOnce(BIG_TREE.root);\n tree2.getLeaves.mockReturnValueOnce(BIG_TREE.leaves);\n tree2.getLeafHash\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash))\n .mockReturnValueOnce(Nothing)\n .mockReturnValueOnce(Just(BIG_TREE.leaves[5]!.hash));\n tree2.getProof\n .mockReturnValueOnce(Just(BIG_TREE.proof))\n .mockReturnValueOnce(Nothing);\n\n store.addMerkleTree(tree1 as unknown as MerkleTree);\n store.addMerkleTree(tree2 as unknown as MerkleTree);\n\n // Then\n const proof1 = store.getMerkleProof(SMALL_TREE.root, 1);\n expect(proof1.isJust()).toStrictEqual(true);\n expect(proof1.unsafeCoerce().leafHash).toStrictEqual(\n SMALL_TREE.leaves[1]!.hash,\n );\n expect(proof1.unsafeCoerce().proof).toStrictEqual(SMALL_TREE.proof);\n const proof2 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof2.isJust()).toStrictEqual(true);\n expect(proof2.unsafeCoerce().leafHash).toStrictEqual(\n BIG_TREE.leaves[5]!.hash,\n );\n expect(proof2.unsafeCoerce().proof).toStrictEqual(BIG_TREE.proof);\n // getLeafHash returns Nothing\n const proof3 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof3.isJust()).toStrictEqual(false);\n // getProof returns Nothing\n const proof4 = store.getMerkleProof(BIG_TREE.root, 5);\n expect(proof4.isJust()).toStrictEqual(false);\n // root not found\n const proof5 = store.getMerkleProof(invalidRoot, 0);\n expect(proof5.isJust()).toStrictEqual(false);\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["hexaStringToBuffer", "Just", "Nothing", "Leaf", "DataStore", "SMALL_TREE", "BIG_TREE", "createMerkletree", "data1", "data2", "dataHash1", "dataHash2", "dataHash3", "store", "preimage1", "preimage2", "preimage3", "invalidRoot", "tree1", "tree2", "index1", "index2", "index3", "index4", "proof1", "proof2", "proof3", "proof4", "proof5"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as w,Right as c}from"purify-ts";import{Leaf as S}from"../../merkle-tree/model/Leaf";import{MerkleTree as v}from"../../merkle-tree/model/MerkleTree";import{Psbt as f}from"../../psbt/model/Psbt";import{Value as i}from"../../psbt/model/Value";import{Wallet as g}from"../../wallet/model/Wallet";import{DefaultDataStoreService as k}from"./DefaultDataStoreService";describe("DefaultDataStoreService",()=>{const a={build:jest.fn()},l={build:jest.fn()},y=jest.fn(),m={serialize:y,getId:jest.fn()},r={getPreimage:jest.fn(),getMerkleLeafIndex:jest.fn(),getMerkleProof:jest.fn(),addPreimage:jest.fn(),addMerkleTree:jest.fn(),addMerkleMap:jest.fn()},d=jest.fn(),u={hash:d};function s(e){return{getCommitment:()=>Uint8Array.from([e])}}function A(e){return{getRoot:()=>Uint8Array.from([e])}}describe("Merkleize chunks",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("Success case",()=>{const e=[Uint8Array.from([0]),Uint8Array.from([2]),Uint8Array.from([3])],t=A(91),n=new k(l,a,m,u);l.build.mockReturnValueOnce(t);const o=n.merklizeChunks(r,e);expect(l.build).toHaveBeenCalledWith(e),expect(r.addMerkleTree).toHaveBeenCalledWith(t),expect(o).toStrictEqual(Uint8Array.from([91]))})}),describe("Merkleize wallet",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("Success case",()=>{const e=new v(new S(new Uint8Array,new Uint8Array(32).fill(7)),[]),t=new Uint8Array(5).fill(6),n=new Uint8Array(5).fill(7),o=new Uint8Array(5).fill(8),p=new g({name:"Cold storage",descriptorTemplate:"template descriptor",keys:["key1","key2","key3"],hmac:new Uint8Array,keysTree:e,descriptorBuffer:new Uint8Array(32).fill(42)}),M=new k(l,a,m,u);y.mockReturnValueOnce(t),d.mockReturnValueOnce(n).mockReturnValueOnce(o),M.merklizeWallet(r,p),expect(y).toHaveBeenCalledWith(p),expect(d).toHaveBeenCalledWith(t),expect(d).toHaveBeenCalledWith(p.descriptorBuffer),expect(r.addPreimage).toHaveBeenCalledWith(n,t),expect(r.addPreimage).toHaveBeenCalledWith(o,new Uint8Array(32).fill(42)),expect(r.addMerkleTree).toHaveBeenCalledWith(e)})}),describe("Merkleize a PSBT",()=>{const e={globalMap:new Map([["02",new i(Uint8Array.from([2]))],["01",new i(Uint8Array.from([1]))],["03",new i(Uint8Array.from([3]))]]),inputMaps:[new Map([["09",new i(Uint8Array.from([9]))],["01",new i(Uint8Array.from([1]))],["07",new i(Uint8Array.from([7]))]]),new Map([["07",new i(Uint8Array.from([7]))],["03",new i(Uint8Array.from([3]))],["01",new i(Uint8Array.from([1]))]])],outputMaps:[new Map([["05",new i(Uint8Array.from([5]))],["06",new i(Uint8Array.from([6]))],["07",new i(Uint8Array.from([7]))]])]};beforeEach(()=>{jest.resetAllMocks()}),it("Merkle map service failure",()=>{const t=new k(l,a,m,u),n=new f(e.globalMap,[],[]);a.build.mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on inputs",()=>{const t=new k(l,a,m,u),n=new f(e.globalMap,e.inputMaps,[]);a.build.mockReturnValueOnce(c(s(42))).mockReturnValueOnce(c(s(43))).mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on outputs",()=>{const t=new k(l,a,m,u),n=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce(c(s(42))).mockReturnValueOnce(c(s(43))).mockReturnValueOnce(c(s(44))).mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Maps should be ordered",()=>{const t=new k(l,a,m,u),n=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValue(w(new Error)),t.merklizePsbt(r,n),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])],[Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])],[Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])],[Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])],[Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])])}),it("Success case",()=>{const t=s(42),n=s(43),o=s(44),p=s(45),M=A(91),U=A(92),h=new k(l,a,m,u),B=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce(c(t)).mockReturnValueOnce(c(n)).mockReturnValueOnce(c(o)).mockReturnValueOnce(c(p)),l.build.mockReturnValueOnce(M).mockReturnValueOnce(U);const b=h.merklizePsbt(r,B);expect(r.addMerkleMap).toHaveBeenCalledWith(t),expect(r.addMerkleMap).toHaveBeenCalledWith(n),expect(r.addMerkleMap).toHaveBeenCalledWith(o),expect(r.addMerkleMap).toHaveBeenCalledWith(p),expect(r.addMerkleTree).toHaveBeenCalledWith(M),expect(r.addMerkleTree).toHaveBeenCalledWith(U),expect(l.build).toHaveBeenCalledWith([Uint8Array.from([43]),Uint8Array.from([44])]),expect(l.build).toHaveBeenCalledWith([Uint8Array.from([45])]),expect(b.isRight()).toStrictEqual(!0),expect(b.unsafeCoerce()).toStrictEqual({globalCommitment:Uint8Array.from([42]),inputsRoot:Uint8Array.from([91]),outputsRoot:Uint8Array.from([92])})})})});
1
+ import{Left as w,Right as c}from"purify-ts";import{Leaf as B}from"../../merkle-tree/model/Leaf";import{MerkleTree as S}from"../../merkle-tree/model/MerkleTree";import{Psbt as f}from"../../psbt/model/Psbt";import{Value as l}from"../../psbt/model/Value";import{Wallet as g}from"../../wallet/model/Wallet";import{DefaultDataStoreService as k}from"./DefaultDataStoreService";describe("DefaultDataStoreService",()=>{const a={build:vi.fn()},i={build:vi.fn()},y=vi.fn(),m={serialize:y,getId:vi.fn()},r={getPreimage:vi.fn(),getMerkleLeafIndex:vi.fn(),getMerkleProof:vi.fn(),addPreimage:vi.fn(),addMerkleTree:vi.fn(),addMerkleMap:vi.fn()},d=vi.fn(),u={hash:d};function s(e){return{getCommitment:()=>Uint8Array.from([e])}}function A(e){return{getRoot:()=>Uint8Array.from([e])}}describe("Merkleize chunks",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Success case",()=>{const e=[Uint8Array.from([0]),Uint8Array.from([2]),Uint8Array.from([3])],t=A(91),n=new k(i,a,m,u);i.build.mockReturnValueOnce(t);const o=n.merklizeChunks(r,e);expect(i.build).toHaveBeenCalledWith(e),expect(r.addMerkleTree).toHaveBeenCalledWith(t),expect(o).toStrictEqual(Uint8Array.from([91]))})}),describe("Merkleize wallet",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("Success case",()=>{const e=new S(new B(new Uint8Array,new Uint8Array(32).fill(7)),[]),t=new Uint8Array(5).fill(6),n=new Uint8Array(5).fill(7),o=new Uint8Array(5).fill(8),p=new g({name:"Cold storage",descriptorTemplate:"template descriptor",keys:["key1","key2","key3"],hmac:new Uint8Array,keysTree:e,descriptorBuffer:new Uint8Array(32).fill(42)}),M=new k(i,a,m,u);y.mockReturnValueOnce(t),d.mockReturnValueOnce(n).mockReturnValueOnce(o),M.merklizeWallet(r,p),expect(y).toHaveBeenCalledWith(p),expect(d).toHaveBeenCalledWith(t),expect(d).toHaveBeenCalledWith(p.descriptorBuffer),expect(r.addPreimage).toHaveBeenCalledWith(n,t),expect(r.addPreimage).toHaveBeenCalledWith(o,new Uint8Array(32).fill(42)),expect(r.addMerkleTree).toHaveBeenCalledWith(e)})}),describe("Merkleize a PSBT",()=>{const e={globalMap:new Map([["02",new l(Uint8Array.from([2]))],["01",new l(Uint8Array.from([1]))],["03",new l(Uint8Array.from([3]))]]),inputMaps:[new Map([["09",new l(Uint8Array.from([9]))],["01",new l(Uint8Array.from([1]))],["07",new l(Uint8Array.from([7]))]]),new Map([["07",new l(Uint8Array.from([7]))],["03",new l(Uint8Array.from([3]))],["01",new l(Uint8Array.from([1]))]])],outputMaps:[new Map([["05",new l(Uint8Array.from([5]))],["06",new l(Uint8Array.from([6]))],["07",new l(Uint8Array.from([7]))]])]};beforeEach(()=>{vi.resetAllMocks()}),it("Merkle map service failure",()=>{const t=new k(i,a,m,u),n=new f(e.globalMap,[],[]);a.build.mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on inputs",()=>{const t=new k(i,a,m,u),n=new f(e.globalMap,e.inputMaps,[]);a.build.mockReturnValueOnce(c(s(42))).mockReturnValueOnce(c(s(43))).mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Merkle map service failure on outputs",()=>{const t=new k(i,a,m,u),n=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce(c(s(42))).mockReturnValueOnce(c(s(43))).mockReturnValueOnce(c(s(44))).mockReturnValueOnce(w(new Error));const o=t.merklizePsbt(r,n);expect(o.isRight()).toStrictEqual(!1)}),it("Maps should be ordered",()=>{const t=new k(i,a,m,u),n=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValue(w(new Error)),t.merklizePsbt(r,n),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])],[Uint8Array.from([1]),Uint8Array.from([2]),Uint8Array.from([3])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])],[Uint8Array.from([1]),Uint8Array.from([7]),Uint8Array.from([9])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])],[Uint8Array.from([1]),Uint8Array.from([3]),Uint8Array.from([7])]),expect(a.build).toHaveBeenCalledWith([Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])],[Uint8Array.from([5]),Uint8Array.from([6]),Uint8Array.from([7])])}),it("Success case",()=>{const t=s(42),n=s(43),o=s(44),p=s(45),M=A(91),U=A(92),b=new k(i,a,m,u),h=new f(e.globalMap,e.inputMaps,e.outputMaps);a.build.mockReturnValueOnce(c(t)).mockReturnValueOnce(c(n)).mockReturnValueOnce(c(o)).mockReturnValueOnce(c(p)),i.build.mockReturnValueOnce(M).mockReturnValueOnce(U);const v=b.merklizePsbt(r,h);expect(r.addMerkleMap).toHaveBeenCalledWith(t),expect(r.addMerkleMap).toHaveBeenCalledWith(n),expect(r.addMerkleMap).toHaveBeenCalledWith(o),expect(r.addMerkleMap).toHaveBeenCalledWith(p),expect(r.addMerkleTree).toHaveBeenCalledWith(M),expect(r.addMerkleTree).toHaveBeenCalledWith(U),expect(i.build).toHaveBeenCalledWith([Uint8Array.from([43]),Uint8Array.from([44])]),expect(i.build).toHaveBeenCalledWith([Uint8Array.from([45])]),expect(v.isRight()).toStrictEqual(!0),expect(v.unsafeCoerce()).toStrictEqual({globalCommitment:Uint8Array.from([42]),inputsRoot:Uint8Array.from([91]),outputsRoot:Uint8Array.from([92])})})})});
2
2
  //# sourceMappingURL=DefaultDataStoreService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/data-store/service/DefaultDataStoreService.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { type MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { DefaultDataStoreService } from \"./DefaultDataStoreService\";\n\ndescribe(\"DefaultDataStoreService\", () => {\n const mockMerkleMapBuilder = {\n build: jest.fn(),\n };\n\n const mockMerkleTreeBuilder = {\n build: jest.fn(),\n };\n\n const mockWalletSerialize = jest.fn();\n const mockWalletSerializer: WalletSerializer = {\n serialize: mockWalletSerialize,\n getId: jest.fn(),\n };\n\n const mockDataStore = {\n getPreimage: jest.fn(),\n getMerkleLeafIndex: jest.fn(),\n getMerkleProof: jest.fn(),\n addPreimage: jest.fn(),\n addMerkleTree: jest.fn(),\n addMerkleMap: jest.fn(),\n };\n\n const mockedHash = jest.fn();\n const mockedHasherService: HasherService = {\n hash: mockedHash,\n };\n\n function createMerkleMap(commitment: number) {\n return {\n getCommitment: () => Uint8Array.from([commitment]),\n };\n }\n\n function createMerkleTree(root: number) {\n return {\n getRoot: () => Uint8Array.from([root]),\n };\n }\n\n describe(\"Merkleize chunks\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const chunks = [\n Uint8Array.from([0]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ];\n const merkleTree = createMerkleTree(91);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockMerkleTreeBuilder.build.mockReturnValueOnce(merkleTree);\n const commitment = storeService.merklizeChunks(\n mockDataStore as unknown as DataStore,\n chunks,\n );\n\n // Then\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith(chunks);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n expect(commitment).toStrictEqual(Uint8Array.from([91]));\n });\n });\n\n describe(\"Merkleize wallet\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n const serialized = new Uint8Array(5).fill(6);\n const hash1 = new Uint8Array(5).fill(7);\n const hash2 = new Uint8Array(5).fill(8);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"template descriptor\",\n keys: [\"key1\", \"key2\", \"key3\"],\n hmac: new Uint8Array(),\n keysTree: merkleTree,\n descriptorBuffer: new Uint8Array(32).fill(42),\n });\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockWalletSerialize.mockReturnValueOnce(serialized);\n mockedHash.mockReturnValueOnce(hash1).mockReturnValueOnce(hash2);\n storeService.merklizeWallet(\n mockDataStore as unknown as DataStore,\n wallet,\n );\n\n // Then\n expect(mockWalletSerialize).toHaveBeenCalledWith(wallet);\n expect(mockedHash).toHaveBeenCalledWith(serialized);\n expect(mockedHash).toHaveBeenCalledWith(wallet.descriptorBuffer);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(hash1, serialized);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(\n hash2,\n new Uint8Array(32).fill(42),\n );\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n });\n });\n\n describe(\"Merkleize a PSBT\", () => {\n const TEST_PSBT = {\n globalMap: new Map<string, Value>([\n [\"02\", new Value(Uint8Array.from([2]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n ]),\n inputMaps: [\n new Map<string, Value>([\n [\"09\", new Value(Uint8Array.from([9]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n new Map<string, Value>([\n [\"07\", new Value(Uint8Array.from([7]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n ]),\n ],\n outputMaps: [\n new Map<string, Value>([\n [\"05\", new Value(Uint8Array.from([5]))],\n [\"06\", new Value(Uint8Array.from([6]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n ],\n };\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Merkle map service failure\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, [], []);\n\n // When\n mockMerkleMapBuilder.build.mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on inputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, TEST_PSBT.inputMaps, []);\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on outputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Right(createMerkleMap(44)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Maps should be ordered\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build.mockReturnValue(Left(new Error()));\n storeService.merklizePsbt(mockDataStore as unknown as DataStore, psbt);\n\n // Then\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n );\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleMap1 = createMerkleMap(42);\n const merkleMap2 = createMerkleMap(43);\n const merkleMap3 = createMerkleMap(44);\n const merkleMap4 = createMerkleMap(45);\n const merkleTree1 = createMerkleTree(91);\n const merkleTree2 = createMerkleTree(92);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(merkleMap1))\n .mockReturnValueOnce(Right(merkleMap2))\n .mockReturnValueOnce(Right(merkleMap3))\n .mockReturnValueOnce(Right(merkleMap4));\n mockMerkleTreeBuilder.build\n .mockReturnValueOnce(merkleTree1)\n .mockReturnValueOnce(merkleTree2);\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap1);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap2);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap3);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap4);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree1);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree2);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([43]),\n Uint8Array.from([44]),\n ]);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([45]),\n ]);\n expect(commitment.isRight()).toStrictEqual(true);\n expect(commitment.unsafeCoerce()).toStrictEqual({\n globalCommitment: Uint8Array.from([42]),\n inputsRoot: Uint8Array.from([91]),\n outputsRoot: Uint8Array.from([92]),\n });\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DataStore } from \"@internal/data-store/model/DataStore\";\nimport { Leaf } from \"@internal/merkle-tree/model/Leaf\";\nimport { MerkleTree } from \"@internal/merkle-tree/model/MerkleTree\";\nimport { type HasherService } from \"@internal/merkle-tree/service/HasherService\";\nimport { type MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { type MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Psbt } from \"@internal/psbt/model/Psbt\";\nimport { Value } from \"@internal/psbt/model/Value\";\nimport { Wallet } from \"@internal/wallet/model/Wallet\";\nimport { type WalletSerializer } from \"@internal/wallet/service/WalletSerializer\";\n\nimport { DefaultDataStoreService } from \"./DefaultDataStoreService\";\n\ndescribe(\"DefaultDataStoreService\", () => {\n const mockMerkleMapBuilder = {\n build: vi.fn(),\n };\n\n const mockMerkleTreeBuilder = {\n build: vi.fn(),\n };\n\n const mockWalletSerialize = vi.fn();\n const mockWalletSerializer: WalletSerializer = {\n serialize: mockWalletSerialize,\n getId: vi.fn(),\n };\n\n const mockDataStore = {\n getPreimage: vi.fn(),\n getMerkleLeafIndex: vi.fn(),\n getMerkleProof: vi.fn(),\n addPreimage: vi.fn(),\n addMerkleTree: vi.fn(),\n addMerkleMap: vi.fn(),\n };\n\n const mockedHash = vi.fn();\n const mockedHasherService: HasherService = {\n hash: mockedHash,\n };\n\n function createMerkleMap(commitment: number) {\n return {\n getCommitment: () => Uint8Array.from([commitment]),\n };\n }\n\n function createMerkleTree(root: number) {\n return {\n getRoot: () => Uint8Array.from([root]),\n };\n }\n\n describe(\"Merkleize chunks\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const chunks = [\n Uint8Array.from([0]),\n Uint8Array.from([2]),\n Uint8Array.from([3]),\n ];\n const merkleTree = createMerkleTree(91);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockMerkleTreeBuilder.build.mockReturnValueOnce(merkleTree);\n const commitment = storeService.merklizeChunks(\n mockDataStore as unknown as DataStore,\n chunks,\n );\n\n // Then\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith(chunks);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n expect(commitment).toStrictEqual(Uint8Array.from([91]));\n });\n });\n\n describe(\"Merkleize wallet\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleTree = new MerkleTree(\n new Leaf(new Uint8Array(), new Uint8Array(32).fill(7)),\n [],\n );\n const serialized = new Uint8Array(5).fill(6);\n const hash1 = new Uint8Array(5).fill(7);\n const hash2 = new Uint8Array(5).fill(8);\n const wallet = new Wallet({\n name: \"Cold storage\",\n descriptorTemplate: \"template descriptor\",\n keys: [\"key1\", \"key2\", \"key3\"],\n hmac: new Uint8Array(),\n keysTree: merkleTree,\n descriptorBuffer: new Uint8Array(32).fill(42),\n });\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n mockWalletSerialize.mockReturnValueOnce(serialized);\n mockedHash.mockReturnValueOnce(hash1).mockReturnValueOnce(hash2);\n storeService.merklizeWallet(\n mockDataStore as unknown as DataStore,\n wallet,\n );\n\n // Then\n expect(mockWalletSerialize).toHaveBeenCalledWith(wallet);\n expect(mockedHash).toHaveBeenCalledWith(serialized);\n expect(mockedHash).toHaveBeenCalledWith(wallet.descriptorBuffer);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(hash1, serialized);\n expect(mockDataStore.addPreimage).toHaveBeenCalledWith(\n hash2,\n new Uint8Array(32).fill(42),\n );\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree);\n });\n });\n\n describe(\"Merkleize a PSBT\", () => {\n const TEST_PSBT = {\n globalMap: new Map<string, Value>([\n [\"02\", new Value(Uint8Array.from([2]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n ]),\n inputMaps: [\n new Map<string, Value>([\n [\"09\", new Value(Uint8Array.from([9]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n new Map<string, Value>([\n [\"07\", new Value(Uint8Array.from([7]))],\n [\"03\", new Value(Uint8Array.from([3]))],\n [\"01\", new Value(Uint8Array.from([1]))],\n ]),\n ],\n outputMaps: [\n new Map<string, Value>([\n [\"05\", new Value(Uint8Array.from([5]))],\n [\"06\", new Value(Uint8Array.from([6]))],\n [\"07\", new Value(Uint8Array.from([7]))],\n ]),\n ],\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Merkle map service failure\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, [], []);\n\n // When\n mockMerkleMapBuilder.build.mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on inputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(TEST_PSBT.globalMap, TEST_PSBT.inputMaps, []);\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Merkle map service failure on outputs\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n\n // When\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(createMerkleMap(42)))\n .mockReturnValueOnce(Right(createMerkleMap(43)))\n .mockReturnValueOnce(Right(createMerkleMap(44)))\n .mockReturnValueOnce(Left(new Error()));\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(commitment.isRight()).toStrictEqual(false);\n });\n\n it(\"Maps should be ordered\", () => {\n // Given\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build.mockReturnValue(Left(new Error()));\n storeService.merklizePsbt(mockDataStore as unknown as DataStore, psbt);\n\n // Then\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n [Uint8Array.from([1]), Uint8Array.from([2]), Uint8Array.from([3])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n [Uint8Array.from([1]), Uint8Array.from([7]), Uint8Array.from([9])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n [Uint8Array.from([1]), Uint8Array.from([3]), Uint8Array.from([7])],\n );\n expect(mockMerkleMapBuilder.build).toHaveBeenCalledWith(\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n [Uint8Array.from([5]), Uint8Array.from([6]), Uint8Array.from([7])],\n );\n });\n\n it(\"Success case\", () => {\n // Given\n const merkleMap1 = createMerkleMap(42);\n const merkleMap2 = createMerkleMap(43);\n const merkleMap3 = createMerkleMap(44);\n const merkleMap4 = createMerkleMap(45);\n const merkleTree1 = createMerkleTree(91);\n const merkleTree2 = createMerkleTree(92);\n const storeService = new DefaultDataStoreService(\n mockMerkleTreeBuilder as unknown as MerkleTreeBuilder,\n mockMerkleMapBuilder as unknown as MerkleMapBuilder,\n mockWalletSerializer,\n mockedHasherService,\n );\n const psbt = new Psbt(\n TEST_PSBT.globalMap,\n TEST_PSBT.inputMaps,\n TEST_PSBT.outputMaps,\n );\n\n // When\n mockMerkleMapBuilder.build\n .mockReturnValueOnce(Right(merkleMap1))\n .mockReturnValueOnce(Right(merkleMap2))\n .mockReturnValueOnce(Right(merkleMap3))\n .mockReturnValueOnce(Right(merkleMap4));\n mockMerkleTreeBuilder.build\n .mockReturnValueOnce(merkleTree1)\n .mockReturnValueOnce(merkleTree2);\n const commitment = storeService.merklizePsbt(\n mockDataStore as unknown as DataStore,\n psbt,\n );\n\n // Then\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap1);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap2);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap3);\n expect(mockDataStore.addMerkleMap).toHaveBeenCalledWith(merkleMap4);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree1);\n expect(mockDataStore.addMerkleTree).toHaveBeenCalledWith(merkleTree2);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([43]),\n Uint8Array.from([44]),\n ]);\n expect(mockMerkleTreeBuilder.build).toHaveBeenCalledWith([\n Uint8Array.from([45]),\n ]);\n expect(commitment.isRight()).toStrictEqual(true);\n expect(commitment.unsafeCoerce()).toStrictEqual({\n globalCommitment: Uint8Array.from([42]),\n inputsRoot: Uint8Array.from([91]),\n outputsRoot: Uint8Array.from([92]),\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["Left", "Right", "Leaf", "MerkleTree", "Psbt", "Value", "Wallet", "DefaultDataStoreService", "mockMerkleMapBuilder", "mockMerkleTreeBuilder", "mockWalletSerialize", "mockWalletSerializer", "mockDataStore", "mockedHash", "mockedHasherService", "createMerkleMap", "commitment", "createMerkleTree", "root", "chunks", "merkleTree", "storeService", "serialized", "hash1", "hash2", "wallet", "TEST_PSBT", "psbt", "merkleMap1", "merkleMap2", "merkleMap3", "merkleMap4", "merkleTree1", "merkleTree2"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as n}from"inversify";import{dataStoreModuleFactory as a}from"./data-store/di/dataStoreModule";import{externalTypes as o}from"./externalTypes";import{merkleTreeModuleFactory as i}from"./merkle-tree/di/merkleTreeModule";import{psbtModuleFactory as m}from"./psbt/di/psbtModule";import{useCasesModuleFactory as s}from"./use-cases/di/useCasesModule";import{walletModuleFactory as p}from"./wallet/di/walletModule";import{appBinderModuleFactory as d}from"./app-binder/di/appBinderModule";const k=({dmk:t,sessionId:r})=>{const e=new n;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.SessionId).toConstantValue(r),e.load(d(),s(),p(),m(),a(),i()),e};export{k as makeContainer};
1
+ import{Container as n}from"inversify";import{dataStoreModuleFactory as a}from"./data-store/di/dataStoreModule";import{externalTypes as o}from"./externalTypes";import{merkleTreeModuleFactory as i}from"./merkle-tree/di/merkleTreeModule";import{psbtModuleFactory as m}from"./psbt/di/psbtModule";import{useCasesModuleFactory as s}from"./use-cases/di/useCasesModule";import{walletModuleFactory as p}from"./wallet/di/walletModule";import{appBinderModuleFactory as d}from"./app-binder/di/appBinderModule";const k=({dmk:t,sessionId:r})=>{const e=new n;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.SessionId).toConstantValue(r),e.loadSync(d(),s(),p(),m(),a(),i()),e};export{k as makeContainer};
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/di.ts"],
4
- "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.load(\n appBinderModuleFactory(),\n useCasesModuleFactory(),\n walletModuleFactory(),\n psbtModuleFactory(),\n dataStoreModuleFactory(),\n merkleTreeModuleFactory(),\n );\n\n return container;\n};\n"],
5
- "mappings": "AAIA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,0BAAAC,MAA8B,0CACvC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,uBAAAC,MAA2B,mCAEpC,OAAS,0BAAAC,MAA8B,kCAMhC,MAAMC,EAAgB,CAAC,CAAE,IAAAC,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAIX,EAEtB,OAAAW,EAAU,KAA0BT,EAAc,GAAG,EAAE,gBAAgBO,CAAG,EAC1EE,EACG,KAAsBT,EAAc,SAAS,EAC7C,gBAAgBQ,CAAS,EAE5BC,EAAU,KACRJ,EAAuB,EACvBF,EAAsB,EACtBC,EAAoB,EACpBF,EAAkB,EAClBH,EAAuB,EACvBE,EAAwB,CAC1B,EAEOQ,CACT",
4
+ "sourcesContent": ["import {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { dataStoreModuleFactory } from \"@internal/data-store/di/dataStoreModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { merkleTreeModuleFactory } from \"@internal/merkle-tree/di/merkleTreeModule\";\nimport { psbtModuleFactory } from \"@internal/psbt/di/psbtModule\";\nimport { useCasesModuleFactory } from \"@internal/use-cases/di/useCasesModule\";\nimport { walletModuleFactory } from \"@internal/wallet/di/walletModule\";\n\nimport { appBinderModuleFactory } from \"./app-binder/di/appBinderModule\";\n\ntype MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n};\nexport const makeContainer = ({ dmk, sessionId }: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.loadSync(\n appBinderModuleFactory(),\n useCasesModuleFactory(),\n walletModuleFactory(),\n psbtModuleFactory(),\n dataStoreModuleFactory(),\n merkleTreeModuleFactory(),\n );\n\n return container;\n};\n"],
5
+ "mappings": "AAIA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,0BAAAC,MAA8B,0CACvC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,uBAAAC,MAA2B,mCAEpC,OAAS,0BAAAC,MAA8B,kCAMhC,MAAMC,EAAgB,CAAC,CAAE,IAAAC,EAAK,UAAAC,CAAU,IAA0B,CACvE,MAAMC,EAAY,IAAIX,EAEtB,OAAAW,EAAU,KAA0BT,EAAc,GAAG,EAAE,gBAAgBO,CAAG,EAC1EE,EACG,KAAsBT,EAAc,SAAS,EAC7C,gBAAgBQ,CAAS,EAE5BC,EAAU,SACRJ,EAAuB,EACvBF,EAAsB,EACtBC,EAAoB,EACpBF,EAAkB,EAClBH,EAAuB,EACvBE,EAAwB,CAC1B,EAEOQ,CACT",
6
6
  "names": ["Container", "dataStoreModuleFactory", "externalTypes", "merkleTreeModuleFactory", "psbtModuleFactory", "useCasesModuleFactory", "walletModuleFactory", "appBinderModuleFactory", "makeContainer", "dmk", "sessionId", "container"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as o}from"inversify";import{merkleTreeTypes as r}from"../../merkle-tree/di/merkleTreeTypes";import{MerkleMapBuilder as i}from"../../merkle-tree/service/MerkleMapBuilder";import{MerkleTreeBuilder as t}from"../../merkle-tree/service/MerkleTreeBuilder";import{Sha256HasherService as n}from"../../merkle-tree/service/Sha256HasherService";const f=()=>new o((e,l,m,a,p,u,d)=>{e(r.HasherService).to(n),e(r.MerkleTreeBuilder).to(t),e(r.MerkleMapBuilder).to(i)});export{f as merkleTreeModuleFactory};
1
+ import{ContainerModule as o}from"inversify";import{merkleTreeTypes as r}from"../../merkle-tree/di/merkleTreeTypes";import{MerkleMapBuilder as l}from"../../merkle-tree/service/MerkleMapBuilder";import{MerkleTreeBuilder as m}from"../../merkle-tree/service/MerkleTreeBuilder";import{Sha256HasherService as t}from"../../merkle-tree/service/Sha256HasherService";const u=()=>new o(({bind:e})=>{e(r.HasherService).to(t),e(r.MerkleTreeBuilder).to(m),e(r.MerkleMapBuilder).to(l)});export{u as merkleTreeModuleFactory};
2
2
  //# sourceMappingURL=merkleTreeModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/merkle-tree/di/merkleTreeModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport { MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"@internal/merkle-tree/service/Sha256HasherService\";\n\nexport const merkleTreeModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(merkleTreeTypes.HasherService).to(Sha256HasherService);\n bind(merkleTreeTypes.MerkleTreeBuilder).to(MerkleTreeBuilder);\n bind(merkleTreeTypes.MerkleMapBuilder).to(MerkleMapBuilder);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,mBAAAC,MAAuB,2CAChC,OAAS,oBAAAC,MAAwB,iDACjC,OAAS,qBAAAC,MAAyB,kDAClC,OAAS,uBAAAC,MAA2B,oDAE7B,MAAMC,EAA0B,IACrC,IAAIL,EACF,CACEM,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKL,EAAgB,aAAa,EAAE,GAAGG,CAAmB,EAC1DE,EAAKL,EAAgB,iBAAiB,EAAE,GAAGE,CAAiB,EAC5DG,EAAKL,EAAgB,gBAAgB,EAAE,GAAGC,CAAgB,CAC5D,CACF",
6
- "names": ["ContainerModule", "merkleTreeTypes", "MerkleMapBuilder", "MerkleTreeBuilder", "Sha256HasherService", "merkleTreeModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { merkleTreeTypes } from \"@internal/merkle-tree/di/merkleTreeTypes\";\nimport { MerkleMapBuilder } from \"@internal/merkle-tree/service/MerkleMapBuilder\";\nimport { MerkleTreeBuilder } from \"@internal/merkle-tree/service/MerkleTreeBuilder\";\nimport { Sha256HasherService } from \"@internal/merkle-tree/service/Sha256HasherService\";\n\nexport const merkleTreeModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(merkleTreeTypes.HasherService).to(Sha256HasherService);\n bind(merkleTreeTypes.MerkleTreeBuilder).to(MerkleTreeBuilder);\n bind(merkleTreeTypes.MerkleMapBuilder).to(MerkleMapBuilder);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,mBAAAC,MAAuB,2CAChC,OAAS,oBAAAC,MAAwB,iDACjC,OAAS,qBAAAC,MAAyB,kDAClC,OAAS,uBAAAC,MAA2B,oDAE7B,MAAMC,EAA0B,IACrC,IAAIL,EAAgB,CAAC,CAAE,KAAAM,CAAK,IAAM,CAChCA,EAAKL,EAAgB,aAAa,EAAE,GAAGG,CAAmB,EAC1DE,EAAKL,EAAgB,iBAAiB,EAAE,GAAGE,CAAiB,EAC5DG,EAAKL,EAAgB,gBAAgB,EAAE,GAAGC,CAAgB,CAC5D,CAAC",
6
+ "names": ["ContainerModule", "merkleTreeTypes", "MerkleMapBuilder", "MerkleTreeBuilder", "Sha256HasherService", "merkleTreeModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as o}from"inversify";import{merkleTreeModuleFactory as t}from"./merkleTreeModule";describe("MerkleTreeModuleFactory",()=>{describe("Default",()=>{let r,e;beforeEach(()=>{e=t(),r=new o,r.load(e)}),it("should return the merkle tree service module",()=>{expect(e).toBeDefined()})})});
1
+ import{Container as o}from"inversify";import{merkleTreeModuleFactory as t}from"./merkleTreeModule";describe("MerkleTreeModuleFactory",()=>{describe("Default",()=>{let r,e;beforeEach(()=>{e=t(),r=new o,r.loadSync(e)}),it("should return the merkle tree service module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=merkleTreeModule.test.js.map
@@ -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