@bsv/wallet-toolbox-mobile 2.1.24 → 2.1.26

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 (553) hide show
  1. package/out/src/CWIStyleWalletManager.d.ts +33 -7
  2. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  3. package/out/src/CWIStyleWalletManager.js +281 -313
  4. package/out/src/CWIStyleWalletManager.js.map +1 -1
  5. package/out/src/SimpleWalletManager.d.ts +12 -2
  6. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  7. package/out/src/SimpleWalletManager.js +46 -30
  8. package/out/src/SimpleWalletManager.js.map +1 -1
  9. package/out/src/Wallet.d.ts +1 -1
  10. package/out/src/Wallet.d.ts.map +1 -1
  11. package/out/src/Wallet.js +102 -100
  12. package/out/src/Wallet.js.map +1 -1
  13. package/out/src/WalletAuthenticationManager.d.ts +1 -1
  14. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  15. package/out/src/WalletAuthenticationManager.js +3 -3
  16. package/out/src/WalletAuthenticationManager.js.map +1 -1
  17. package/out/src/WalletLogger.d.ts.map +1 -1
  18. package/out/src/WalletLogger.js +16 -8
  19. package/out/src/WalletLogger.js.map +1 -1
  20. package/out/src/WalletPermissionsManager.d.ts +89 -18
  21. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  22. package/out/src/WalletPermissionsManager.js +656 -870
  23. package/out/src/WalletPermissionsManager.js.map +1 -1
  24. package/out/src/WalletSettingsManager.d.ts +2 -2
  25. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  26. package/out/src/WalletSettingsManager.js.map +1 -1
  27. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  28. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  29. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  30. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  31. package/out/src/mockchain/MockChainStorage.js +8 -8
  32. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  33. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  34. package/out/src/mockchain/MockChainTracker.js +10 -10
  35. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  36. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  37. package/out/src/mockchain/MockMiner.js +3 -3
  38. package/out/src/mockchain/MockMiner.js.map +1 -1
  39. package/out/src/mockchain/MockServices.d.ts +9 -0
  40. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  41. package/out/src/mockchain/MockServices.js +201 -243
  42. package/out/src/mockchain/MockServices.js.map +1 -1
  43. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  44. package/out/src/mockchain/merkleTree.js +21 -12
  45. package/out/src/mockchain/merkleTree.js.map +1 -1
  46. package/out/src/monitor/Monitor.d.ts +17 -0
  47. package/out/src/monitor/Monitor.d.ts.map +1 -1
  48. package/out/src/monitor/Monitor.js +63 -80
  49. package/out/src/monitor/Monitor.js.map +1 -1
  50. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
  51. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  52. package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
  53. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  54. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +2 -2
  55. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  56. package/out/src/monitor/tasks/TaskCheckForProofs.js +28 -16
  57. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  58. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
  59. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  60. package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
  61. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  62. package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
  63. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  64. package/out/src/monitor/tasks/TaskClock.js +0 -1
  65. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  66. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  67. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  68. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  69. package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
  70. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  71. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  72. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  73. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  74. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
  75. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  76. package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
  77. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  78. package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
  79. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  80. package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
  81. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  82. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  83. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  84. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  85. package/out/src/monitor/tasks/TaskReorg.js +2 -2
  86. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  87. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
  88. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  91. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  96. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  98. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
  99. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  100. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  101. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  102. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  103. package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
  104. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  105. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
  106. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  107. package/out/src/monitor/tasks/TaskUnFail.js +13 -15
  108. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  109. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  110. package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
  111. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  112. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  113. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  114. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  115. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  116. package/out/src/sdk/PrivilegedKeyManager.js +32 -24
  117. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  118. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  119. package/out/src/sdk/WERR_errors.js +5 -5
  120. package/out/src/sdk/WERR_errors.js.map +1 -1
  121. package/out/src/sdk/WalletError.d.ts +1 -1
  122. package/out/src/sdk/WalletError.d.ts.map +1 -1
  123. package/out/src/sdk/WalletError.js +28 -20
  124. package/out/src/sdk/WalletError.js.map +1 -1
  125. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  126. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  127. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  128. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
  129. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  130. package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
  131. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  132. package/out/src/sdk/types.d.ts +4 -4
  133. package/out/src/sdk/types.d.ts.map +1 -1
  134. package/out/src/sdk/types.js +3 -3
  135. package/out/src/sdk/types.js.map +1 -1
  136. package/out/src/services/ServiceCollection.d.ts +6 -6
  137. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  138. package/out/src/services/ServiceCollection.js +6 -8
  139. package/out/src/services/ServiceCollection.js.map +1 -1
  140. package/out/src/services/Services.d.ts +5 -0
  141. package/out/src/services/Services.d.ts.map +1 -1
  142. package/out/src/services/Services.js +190 -196
  143. package/out/src/services/Services.js.map +1 -1
  144. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  145. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
  146. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  147. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
  148. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  149. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  151. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
  152. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  153. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
  154. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  155. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
  157. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  159. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  160. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  161. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  172. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  174. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
  175. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  176. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  177. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  178. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
  179. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  180. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
  181. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
  183. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  185. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +9 -16
  186. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  187. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
  189. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  191. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
  192. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
  194. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
  196. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  199. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
  201. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +8 -7
  204. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  206. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
  207. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  209. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
  211. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  212. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
  213. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
  217. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  219. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
  222. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
  224. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  229. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  230. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  231. package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
  232. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  233. package/out/src/services/providers/ARC.d.ts.map +1 -1
  234. package/out/src/services/providers/ARC.js +7 -14
  235. package/out/src/services/providers/ARC.js.map +1 -1
  236. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  237. package/out/src/services/providers/ArcSSEClient.js +1 -1
  238. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  239. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  240. package/out/src/services/providers/Bitails.js +17 -17
  241. package/out/src/services/providers/Bitails.js.map +1 -1
  242. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  243. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  244. package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
  245. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  246. package/out/src/services/providers/WhatsOnChain.js +109 -233
  247. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  248. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  249. package/out/src/services/providers/exchangeRates.js +3 -3
  250. package/out/src/services/providers/exchangeRates.js.map +1 -1
  251. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  252. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  253. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  254. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  255. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  256. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  257. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  258. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  259. package/out/src/signer/WalletSigner.js.map +1 -1
  260. package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
  261. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  262. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  263. package/out/src/signer/methods/buildSignableTransaction.js +21 -13
  264. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  265. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  266. package/out/src/signer/methods/completeSignedTransaction.js +20 -21
  267. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  268. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  269. package/out/src/signer/methods/createAction.js +8 -7
  270. package/out/src/signer/methods/createAction.js.map +1 -1
  271. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  272. package/out/src/signer/methods/internalizeAction.js +8 -6
  273. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  274. package/out/src/signer/methods/proveCertificate.js +1 -1
  275. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  276. package/out/src/signer/methods/signAction.js +8 -10
  277. package/out/src/signer/methods/signAction.js.map +1 -1
  278. package/out/src/storage/StorageProvider.d.ts +10 -0
  279. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  280. package/out/src/storage/StorageProvider.js +171 -197
  281. package/out/src/storage/StorageProvider.js.map +1 -1
  282. package/out/src/storage/StorageReader.d.ts.map +1 -1
  283. package/out/src/storage/StorageReader.js +14 -13
  284. package/out/src/storage/StorageReader.js.map +1 -1
  285. package/out/src/storage/StorageReaderWriter.d.ts +0 -1
  286. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  287. package/out/src/storage/StorageReaderWriter.js +32 -35
  288. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  289. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  290. package/out/src/storage/StorageSyncReader.js +4 -4
  291. package/out/src/storage/StorageSyncReader.js.map +1 -1
  292. package/out/src/storage/WalletStorageManager.d.ts +3 -0
  293. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  294. package/out/src/storage/WalletStorageManager.js +95 -84
  295. package/out/src/storage/WalletStorageManager.js.map +1 -1
  296. package/out/src/storage/index.mobile.d.ts +3 -0
  297. package/out/src/storage/index.mobile.d.ts.map +1 -1
  298. package/out/src/storage/index.mobile.js +3 -0
  299. package/out/src/storage/index.mobile.js.map +1 -1
  300. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  301. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  302. package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
  303. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  304. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  305. package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
  306. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  307. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
  308. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  309. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +224 -61
  310. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  311. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  312. package/out/src/storage/methods/createAction.js +230 -270
  313. package/out/src/storage/methods/createAction.js.map +1 -1
  314. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  315. package/out/src/storage/methods/generateChange.js +99 -80
  316. package/out/src/storage/methods/generateChange.js.map +1 -1
  317. package/out/src/storage/methods/getBeefForTransaction.js +15 -13
  318. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  319. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  320. package/out/src/storage/methods/getSyncChunk.js +4 -3
  321. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  322. package/out/src/storage/methods/internalizeAction.js +41 -51
  323. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  324. package/out/src/storage/methods/listCertificates.d.ts +1 -1
  325. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  326. package/out/src/storage/methods/listCertificates.js +7 -7
  327. package/out/src/storage/methods/listCertificates.js.map +1 -1
  328. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  329. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  330. package/out/src/storage/methods/offsetKey.js +3 -5
  331. package/out/src/storage/methods/offsetKey.js.map +1 -1
  332. package/out/src/storage/methods/processAction.d.ts +0 -11
  333. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  334. package/out/src/storage/methods/processAction.js +90 -83
  335. package/out/src/storage/methods/processAction.js.map +1 -1
  336. package/out/src/storage/methods/utils.d.ts.map +1 -1
  337. package/out/src/storage/methods/utils.js +7 -1
  338. package/out/src/storage/methods/utils.js.map +1 -1
  339. package/out/src/storage/portable/index.d.ts +55 -0
  340. package/out/src/storage/portable/index.d.ts.map +1 -0
  341. package/out/src/storage/portable/index.js +830 -0
  342. package/out/src/storage/portable/index.js.map +1 -0
  343. package/out/src/storage/remoting/StorageClient.d.ts +4 -270
  344. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  345. package/out/src/storage/remoting/StorageClient.js +16 -423
  346. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  347. package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
  348. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  349. package/out/src/storage/remoting/StorageClientBase.js +375 -0
  350. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  351. package/out/src/storage/remoting/StorageMobile.d.ts +7 -275
  352. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  353. package/out/src/storage/remoting/StorageMobile.js +12 -421
  354. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  355. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  356. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  357. package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
  358. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  359. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  360. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  361. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  362. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  363. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  364. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  365. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  366. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  367. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  368. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  369. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  370. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  371. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  372. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  373. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  374. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  375. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  376. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  377. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  378. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  379. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  380. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  381. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  382. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
  383. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  384. package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
  385. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  386. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
  387. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  388. package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
  389. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  390. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  391. package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
  392. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  393. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  394. package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
  395. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  396. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  397. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  398. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  399. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  400. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  401. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  402. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  403. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  404. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  405. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  406. package/out/src/storage/schema/entities/MergeEntity.js +6 -6
  407. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  408. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  409. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  410. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  411. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  412. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  413. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  414. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  415. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  416. package/out/src/storage/schema/tables/TableOutput.d.ts +3 -2
  417. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  418. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  419. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  420. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  421. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  422. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  423. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  424. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  425. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  426. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  427. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  428. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  429. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  430. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  431. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  432. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  433. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  434. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  435. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  436. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  437. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  438. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  439. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  440. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  441. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  442. package/out/src/storage/storageProviderHelpers.d.ts +34 -0
  443. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  444. package/out/src/storage/storageProviderHelpers.js +100 -0
  445. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  446. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  447. package/out/src/utility/ScriptTemplateBRC29.js +4 -2
  448. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  449. package/out/src/utility/aggregateResults.d.ts +1 -1
  450. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  451. package/out/src/utility/aggregateResults.js +2 -2
  452. package/out/src/utility/aggregateResults.js.map +1 -1
  453. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  454. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  455. package/out/src/utility/brc114ActionTimeLabels.js +17 -10
  456. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  457. package/out/src/utility/identityUtils.d.ts.map +1 -1
  458. package/out/src/utility/identityUtils.js +6 -6
  459. package/out/src/utility/identityUtils.js.map +1 -1
  460. package/out/src/utility/index.client.d.ts +1 -0
  461. package/out/src/utility/index.client.d.ts.map +1 -1
  462. package/out/src/utility/index.client.js +1 -0
  463. package/out/src/utility/index.client.js.map +1 -1
  464. package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
  465. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  466. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  467. package/out/src/utility/stampLog.d.ts.map +1 -1
  468. package/out/src/utility/stampLog.js +6 -4
  469. package/out/src/utility/stampLog.js.map +1 -1
  470. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  471. package/out/src/utility/tscProofToMerklePath.js +1 -1
  472. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  473. package/out/src/utility/utilityHelpers.d.ts +1 -2
  474. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  475. package/out/src/utility/utilityHelpers.js +12 -12
  476. package/out/src/utility/utilityHelpers.js.map +1 -1
  477. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  478. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  479. package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
  480. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  481. package/out/src/wab-client/WABClient.d.ts +3 -3
  482. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  483. package/out/src/wab-client/WABClient.js +12 -12
  484. package/out/src/wab-client/WABClient.js.map +1 -1
  485. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  486. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -3
  487. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  488. package/out/tsconfig.mobile.tsbuildinfo +1 -1
  489. package/package.json +7 -6
  490. package/out/src/SetupClient.d.ts +0 -135
  491. package/out/src/SetupClient.d.ts.map +0 -1
  492. package/out/src/SetupClient.js +0 -226
  493. package/out/src/SetupClient.js.map +0 -1
  494. package/out/src/SetupWallet.d.ts +0 -103
  495. package/out/src/SetupWallet.d.ts.map +0 -1
  496. package/out/src/SetupWallet.js +0 -3
  497. package/out/src/SetupWallet.js.map +0 -1
  498. package/out/src/fundWalletP2PKH.d.ts +0 -48
  499. package/out/src/fundWalletP2PKH.d.ts.map +0 -1
  500. package/out/src/fundWalletP2PKH.js +0 -239
  501. package/out/src/fundWalletP2PKH.js.map +0 -1
  502. package/out/src/index.client.d.ts +0 -23
  503. package/out/src/index.client.d.ts.map +0 -1
  504. package/out/src/index.client.js +0 -62
  505. package/out/src/index.client.js.map +0 -1
  506. package/out/src/services/chaintracker/BHServiceClient.d.ts +0 -39
  507. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +0 -1
  508. package/out/src/services/chaintracker/BHServiceClient.js +0 -174
  509. package/out/src/services/chaintracker/BHServiceClient.js.map +0 -1
  510. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +0 -5
  511. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +0 -1
  512. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +0 -29
  513. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +0 -1
  514. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +0 -13
  515. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +0 -1
  516. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +0 -27
  517. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +0 -1
  518. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -4
  519. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +0 -1
  520. package/out/src/services/chaintracker/chaintracks/index.client.js +0 -20
  521. package/out/src/services/chaintracker/chaintracks/index.client.js.map +0 -1
  522. package/out/src/services/chaintracker/index.client.d.ts +0 -4
  523. package/out/src/services/chaintracker/index.client.d.ts.map +0 -1
  524. package/out/src/services/chaintracker/index.client.js +0 -20
  525. package/out/src/services/chaintracker/index.client.js.map +0 -1
  526. package/out/src/storage/StorageIdb.d.ts +0 -218
  527. package/out/src/storage/StorageIdb.d.ts.map +0 -1
  528. package/out/src/storage/StorageIdb.js +0 -2389
  529. package/out/src/storage/StorageIdb.js.map +0 -1
  530. package/out/src/storage/index.client.d.ts +0 -8
  531. package/out/src/storage/index.client.d.ts.map +0 -1
  532. package/out/src/storage/index.client.js +0 -24
  533. package/out/src/storage/index.client.js.map +0 -1
  534. package/out/src/storage/methods/listActionsIdb.d.ts +0 -5
  535. package/out/src/storage/methods/listActionsIdb.d.ts.map +0 -1
  536. package/out/src/storage/methods/listActionsIdb.js +0 -169
  537. package/out/src/storage/methods/listActionsIdb.js.map +0 -1
  538. package/out/src/storage/methods/listOutputsIdb.d.ts +0 -5
  539. package/out/src/storage/methods/listOutputsIdb.d.ts.map +0 -1
  540. package/out/src/storage/methods/listOutputsIdb.js +0 -182
  541. package/out/src/storage/methods/listOutputsIdb.js.map +0 -1
  542. package/out/src/storage/methods/purgeDataIdb.d.ts +0 -4
  543. package/out/src/storage/methods/purgeDataIdb.d.ts.map +0 -1
  544. package/out/src/storage/methods/purgeDataIdb.js +0 -9
  545. package/out/src/storage/methods/purgeDataIdb.js.map +0 -1
  546. package/out/src/storage/methods/reviewStatusIdb.d.ts +0 -20
  547. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +0 -1
  548. package/out/src/storage/methods/reviewStatusIdb.js +0 -35
  549. package/out/src/storage/methods/reviewStatusIdb.js.map +0 -1
  550. package/out/src/storage/schema/StorageIdbSchema.d.ts +0 -133
  551. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +0 -1
  552. package/out/src/storage/schema/StorageIdbSchema.js +0 -3
  553. package/out/src/storage/schema/StorageIdbSchema.js.map +0 -1
@@ -43,6 +43,23 @@ const MockChainStorage_1 = require("./MockChainStorage");
43
43
  const MockChainTracker_1 = require("./MockChainTracker");
44
44
  const MockMiner_1 = require("./MockMiner");
45
45
  const merkleTree_1 = require("./merkleTree");
46
+ const mockFiatRatesByUsd = {
47
+ USD: 1,
48
+ EUR: 0.92,
49
+ GBP: 0.79,
50
+ JPY: 156.5,
51
+ CNY: 7.24,
52
+ INR: 83.42,
53
+ AUD: 1.51,
54
+ CAD: 1.37,
55
+ CHF: 0.9,
56
+ HKD: 7.81,
57
+ SGD: 1.35,
58
+ NZD: 1.64,
59
+ SEK: 10.52,
60
+ NOK: 10.74,
61
+ MXN: 16.68
62
+ };
46
63
  class MockServices {
47
64
  constructor(knex) {
48
65
  this.knex = knex;
@@ -55,261 +72,197 @@ class MockServices {
55
72
  await this.storage.migrate();
56
73
  // Mine genesis block if chain is empty
57
74
  const tip = await this.storage.getChainTip();
58
- if (!tip) {
75
+ if (tip == null) {
59
76
  await this.miner.mineBlock(this.storage);
60
77
  }
61
78
  }
62
79
  async mineBlock() {
63
- return this.miner.mineBlock(this.storage);
80
+ return await this.miner.mineBlock(this.storage);
64
81
  }
65
82
  async postBeef(beef, txids) {
66
- var _a;
67
83
  const results = [];
68
84
  for (const txid of txids) {
69
85
  try {
70
- // Find the transaction in the BEEF
71
- const beefTx = beef.findTxid(txid);
72
- if (!beefTx) {
73
- results.push({
74
- name: 'MockServices',
75
- status: 'error',
76
- error: new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `present in provided BEEF. txid: ${txid}`),
77
- txidResults: [{ txid, status: 'error' }]
78
- });
79
- continue;
80
- }
81
- const rawTx = beefTx.rawTx;
82
- if (!rawTx) {
83
- results.push({
84
- name: 'MockServices',
85
- status: 'error',
86
- error: new WERR_errors_1.WERR_INVALID_PARAMETER('rawTx', `present in BEEF for txid: ${txid}`),
87
- txidResults: [{ txid, status: 'error' }]
88
- });
89
- continue;
90
- }
91
- const tx = sdk_1.Transaction.fromBinary(rawTx);
92
- // Validate inputs
93
- const currentHeight = await this.tracker.currentHeight();
94
- for (let i = 0; i < tx.inputs.length; i++) {
95
- const input = tx.inputs[i];
96
- const sourceTxid = input.sourceTXID || (input.sourceTransaction ? input.sourceTransaction.id('hex') : undefined);
97
- if (!sourceTxid) {
98
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('input.sourceTXID', `defined for input ${i}`);
99
- }
100
- const sourceVout = input.sourceOutputIndex;
101
- const utxo = await this.storage.getUtxo(sourceTxid, sourceVout);
102
- if (!utxo) {
103
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `reference a known UTXO. Input ${i}: ${sourceTxid}.${sourceVout} not found`);
104
- }
105
- if (utxo.spentByTxid) {
106
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `not be already spent. Input ${i}: ${sourceTxid}.${sourceVout} spent by ${utxo.spentByTxid}`);
107
- }
108
- // Coinbase maturity check
109
- if (utxo.isCoinbase && utxo.blockHeight !== null) {
110
- if (currentHeight - utxo.blockHeight < 100) {
111
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `not spend immature coinbase. Input ${i}: coinbase at height ${utxo.blockHeight}, current height ${currentHeight}, need 100 confirmations`);
112
- }
113
- }
114
- // Ensure source transaction is set for script validation
115
- if (!input.sourceTransaction) {
116
- const sourceTxRow = await this.storage.getTransaction(sourceTxid);
117
- if (sourceTxRow) {
118
- const sourceRaw = sourceTxRow.rawTx instanceof Buffer
119
- ? Array.from(sourceTxRow.rawTx)
120
- : Array.isArray(sourceTxRow.rawTx)
121
- ? sourceTxRow.rawTx
122
- : Array.from(sourceTxRow.rawTx);
123
- input.sourceTransaction = sdk_1.Transaction.fromBinary(sourceRaw);
124
- }
125
- }
126
- }
127
- // Validate scripts using the SDK script interpreter
128
- // We set sourceTransaction on each input above, so verify should work.
129
- // Also set merklePath on source transactions to satisfy the SDK's proof requirement.
130
- for (const input of tx.inputs) {
131
- if (input.sourceTransaction && !input.sourceTransaction.merklePath) {
132
- const stxid = input.sourceTransaction.id('hex');
133
- const stx = await this.storage.getTransaction(stxid);
134
- if (stx && stx.blockHeight !== null) {
135
- const txsInBlock = await this.storage.getTransactionsInBlock(stx.blockHeight);
136
- const stxids = txsInBlock.map(t => t.txid);
137
- const idx = stxids.indexOf(stxid);
138
- if (idx >= 0) {
139
- input.sourceTransaction.merklePath = (0, merkleTree_1.computeMerklePath)(stxids, idx, stx.blockHeight);
140
- }
141
- }
142
- }
143
- }
144
- const verified = await tx.verify('scripts only');
145
- if (verified !== true) {
146
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('transaction', `pass script validation: ${verified}`);
147
- }
148
- // Store transaction
149
- await this.storage.insertTransaction(txid, Array.from(rawTx));
150
- // Create UTXOs for each output
151
- for (let vout = 0; vout < tx.outputs.length; vout++) {
152
- const output = tx.outputs[vout];
153
- const scriptBinary = output.lockingScript.toBinary();
154
- const scriptHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.sha256Hash)(Array.from(scriptBinary)));
155
- await this.storage.insertUtxo(txid, vout, Array.from(scriptBinary), (_a = output.satoshis) !== null && _a !== void 0 ? _a : 0, scriptHash);
156
- }
157
- // Spend inputs
158
- for (const input of tx.inputs) {
159
- const sourceTxid = input.sourceTXID || (input.sourceTransaction ? input.sourceTransaction.id('hex') : '');
160
- await this.storage.markUtxoSpent(sourceTxid, input.sourceOutputIndex, txid);
161
- }
162
- results.push({
163
- name: 'MockServices',
164
- status: 'success',
165
- txidResults: [{ txid, status: 'success' }]
166
- });
86
+ await this.postOneTx(beef, txid);
87
+ results.push({ name: 'MockServices', status: 'success', txidResults: [{ txid, status: 'success' }] });
167
88
  }
168
- catch (eu) {
169
- const error = eu instanceof Error ? new WERR_errors_1.WERR_INTERNAL(eu.message) : new WERR_errors_1.WERR_INTERNAL(String(eu));
170
- results.push({
171
- name: 'MockServices',
172
- status: 'error',
173
- error,
174
- txidResults: [{ txid, status: 'error' }]
175
- });
89
+ catch (error_) {
90
+ const error = error_ instanceof Error ? new WERR_errors_1.WERR_INTERNAL(error_.message) : new WERR_errors_1.WERR_INTERNAL(String(error_));
91
+ results.push({ name: 'MockServices', status: 'error', error, txidResults: [{ txid, status: 'error' }] });
176
92
  }
177
93
  }
178
94
  return results;
179
95
  }
96
+ async postOneTx(beef, txid) {
97
+ const beefTx = beef.findTxid(txid);
98
+ if (beefTx == null)
99
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `present in provided BEEF. txid: ${txid}`);
100
+ const rawTx = beefTx.rawTx;
101
+ if (rawTx == null)
102
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('rawTx', `present in BEEF for txid: ${txid}`);
103
+ const tx = sdk_1.Transaction.fromBinary(rawTx);
104
+ await this.validateTxInputs(tx);
105
+ await this.populateMerklePaths(tx);
106
+ const verified = await tx.verify('scripts only');
107
+ if (!verified)
108
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('transaction', `pass script validation: ${String(verified)}`);
109
+ await this.storage.insertTransaction(txid, Array.from(rawTx));
110
+ await this.storeOutputs(tx, txid);
111
+ await this.spendInputs(tx, txid);
112
+ }
113
+ async validateTxInputs(tx) {
114
+ const currentHeight = await this.tracker.currentHeight();
115
+ for (let i = 0; i < tx.inputs.length; i++) {
116
+ const input = tx.inputs[i];
117
+ const sourceTxid = (input.sourceTXID != null && input.sourceTXID !== '') ? input.sourceTXID : ((input.sourceTransaction != null) ? input.sourceTransaction.id('hex') : undefined);
118
+ if (sourceTxid == null || sourceTxid === '')
119
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('input.sourceTXID', `defined for input ${i}`);
120
+ const utxo = await this.storage.getUtxo(sourceTxid, input.sourceOutputIndex);
121
+ if (utxo == null)
122
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `reference a known UTXO. Input ${i}: ${sourceTxid}.${input.sourceOutputIndex} not found`);
123
+ if (utxo.spentByTxid != null && utxo.spentByTxid !== '')
124
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `not be already spent. Input ${i}: ${sourceTxid}.${input.sourceOutputIndex} spent by ${utxo.spentByTxid}`);
125
+ if (utxo.isCoinbase && utxo.blockHeight !== null && currentHeight - utxo.blockHeight < 100) {
126
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('input', `not spend immature coinbase. Input ${i}: coinbase at height ${utxo.blockHeight}, current height ${currentHeight}, need 100 confirmations`);
127
+ }
128
+ if (input.sourceTransaction == null) {
129
+ input.sourceTransaction = await this.loadSourceTransaction(sourceTxid);
130
+ }
131
+ }
132
+ }
133
+ async loadSourceTransaction(sourceTxid) {
134
+ const sourceTxRow = await this.storage.getTransaction(sourceTxid);
135
+ if (sourceTxRow == null)
136
+ return undefined;
137
+ const raw = sourceTxRow.rawTx instanceof Buffer
138
+ ? Array.from(sourceTxRow.rawTx)
139
+ : Array.isArray(sourceTxRow.rawTx) ? sourceTxRow.rawTx : Array.from(sourceTxRow.rawTx);
140
+ return sdk_1.Transaction.fromBinary(raw);
141
+ }
142
+ async populateMerklePaths(tx) {
143
+ for (const input of tx.inputs) {
144
+ if ((input.sourceTransaction == null) || (input.sourceTransaction.merklePath != null))
145
+ continue;
146
+ const stxid = input.sourceTransaction.id('hex');
147
+ const stx = await this.storage.getTransaction(stxid);
148
+ if ((stx == null) || stx.blockHeight === null)
149
+ continue;
150
+ const txsInBlock = await this.storage.getTransactionsInBlock(stx.blockHeight);
151
+ const stxids = txsInBlock.map(t => t.txid);
152
+ const idx = stxids.indexOf(stxid);
153
+ if (idx >= 0)
154
+ input.sourceTransaction.merklePath = (0, merkleTree_1.computeMerklePath)(stxids, idx, stx.blockHeight);
155
+ }
156
+ }
157
+ async storeOutputs(tx, txid) {
158
+ var _a;
159
+ for (let vout = 0; vout < tx.outputs.length; vout++) {
160
+ const output = tx.outputs[vout];
161
+ const scriptBinary = output.lockingScript.toBinary();
162
+ const scriptHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.sha256Hash)(Array.from(scriptBinary)));
163
+ await this.storage.insertUtxo(txid, vout, Array.from(scriptBinary), (_a = output.satoshis) !== null && _a !== void 0 ? _a : 0, scriptHash);
164
+ }
165
+ }
166
+ async spendInputs(tx, txid) {
167
+ for (const input of tx.inputs) {
168
+ const sourceTxid = (input.sourceTXID != null && input.sourceTXID !== '') ? input.sourceTXID : ((input.sourceTransaction != null) ? input.sourceTransaction.id('hex') : '');
169
+ await this.storage.markUtxoSpent(sourceTxid, input.sourceOutputIndex, txid);
170
+ }
171
+ }
180
172
  async reorg(startingHeight, numBlocks, txidMap) {
181
173
  const oldTip = await this.storage.getChainTip();
182
- if (!oldTip)
174
+ if (oldTip == null)
183
175
  throw new WERR_errors_1.WERR_INTERNAL('Cannot reorg empty chain');
184
- if (startingHeight > oldTip.height) {
176
+ if (startingHeight > oldTip.height)
185
177
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('startingHeight', `<= current tip height ${oldTip.height}`);
186
- }
187
178
  const deactivatedHeaders = [];
188
- // Collect all deactivated headers
189
179
  for (let h = startingHeight; h <= oldTip.height; h++) {
190
180
  const header = await this.storage.getBlockHeaderByHeight(h);
191
- if (header)
181
+ if (header != null)
192
182
  deactivatedHeaders.push(header);
193
183
  }
194
184
  await this.knex.transaction(async (trx) => {
195
185
  const trxStorage = new MockChainStorage_1.MockChainStorage(trx);
196
- // Tear down old blocks
197
- for (let h = oldTip.height; h >= startingHeight; h--) {
198
- const txsInBlock = await trxStorage.getTransactionsInBlock(h);
199
- // Get coinbaseTxid from the raw row (not BlockHeader which lacks it)
200
- const headerRow = await trxStorage.knex('mockchain_block_headers').where({ height: h }).first();
201
- const coinbaseTxid = headerRow === null || headerRow === void 0 ? void 0 : headerRow.coinbaseTxid;
202
- for (const tx of txsInBlock) {
203
- if (coinbaseTxid && tx.txid === coinbaseTxid) {
204
- // Delete coinbase UTXOs and transaction
205
- await trxStorage.deleteUtxosByTxid(tx.txid);
206
- await trxStorage.deleteTransaction(tx.txid);
207
- }
208
- else {
209
- // Return non-coinbase tx to mempool
210
- await trxStorage.setTransactionBlock(tx.txid, null, null);
211
- await trxStorage.setUtxoBlockHeight(tx.txid, null);
212
- }
213
- }
214
- if (headerRow) {
215
- await trxStorage.deleteBlockHeader(h);
216
- }
217
- }
218
- // Mine numBlocks new blocks
219
- for (let i = 0; i < numBlocks; i++) {
220
- const newHeight = startingHeight + i;
221
- // Determine which txids go in this block from txidMap
222
- const mappedTxids = [];
223
- if (txidMap) {
224
- for (const [tid, offset] of Object.entries(txidMap)) {
225
- if (offset === i)
226
- mappedTxids.push(tid);
227
- }
228
- }
229
- // Get previous hash
230
- let prevHash;
231
- if (newHeight === 0) {
232
- prevHash = '00'.repeat(32);
233
- }
234
- else {
235
- const prevHeader = await trxStorage.getBlockHeaderByHeight(newHeight - 1);
236
- if (!prevHeader)
237
- throw new WERR_errors_1.WERR_INTERNAL(`Missing block header at height ${newHeight - 1}`);
238
- prevHash = prevHeader.hash;
239
- }
240
- // Create coinbase
241
- const { createCoinbaseTransaction } = await Promise.resolve().then(() => __importStar(require('./MockMiner')));
242
- const coinbaseTx = createCoinbaseTransaction(newHeight);
243
- const coinbaseTxid = coinbaseTx.id('hex');
244
- const coinbaseRawTx = Array.from(coinbaseTx.toBinary());
245
- const allTxids = [coinbaseTxid, ...mappedTxids];
246
- const { computeMerkleRoot } = await Promise.resolve().then(() => __importStar(require('./merkleTree')));
247
- const merkleRoot = computeMerkleRoot(allTxids);
248
- const time = Math.floor(Date.now() / 1000);
249
- const bits = 0x207fffff;
250
- const nonceBytes = (0, sdk_1.Random)(4);
251
- const nonce = ((nonceBytes[0] << 24) | (nonceBytes[1] << 16) | (nonceBytes[2] << 8) | nonceBytes[3]) >>> 0;
252
- const headerObj = { version: 1, previousHash: prevHash, merkleRoot, time, bits, nonce };
253
- const headerBinary = (0, Services_1.toBinaryBaseBlockHeader)(headerObj);
254
- const hash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(headerBinary));
255
- // Insert coinbase tx
256
- await trxStorage.knex('mockchain_transactions').insert({
257
- txid: coinbaseTxid,
258
- rawTx: Buffer.from(coinbaseRawTx),
259
- blockHeight: newHeight,
260
- blockIndex: 0
261
- });
262
- // Insert coinbase UTXO
263
- const coinbaseOutputScript = [0x51];
264
- const coinbaseScriptHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.sha256Hash)(coinbaseOutputScript));
265
- await trxStorage.knex('mockchain_utxos').insert({
266
- txid: coinbaseTxid,
267
- vout: 0,
268
- lockingScript: Buffer.from(coinbaseOutputScript),
269
- satoshis: 5000000000,
270
- scriptHash: coinbaseScriptHash,
271
- spentByTxid: null,
272
- isCoinbase: true,
273
- blockHeight: newHeight
274
- });
275
- // Update mapped txs
276
- for (let j = 0; j < mappedTxids.length; j++) {
277
- await trxStorage.setTransactionBlock(mappedTxids[j], newHeight, j + 1);
278
- await trxStorage.setUtxoBlockHeight(mappedTxids[j], newHeight);
279
- }
280
- // Insert block header
281
- await trxStorage.knex('mockchain_block_headers').insert({
282
- height: newHeight,
283
- hash,
284
- previousHash: prevHash,
285
- merkleRoot,
286
- version: 1,
287
- time,
288
- bits,
289
- nonce,
290
- coinbaseTxid
291
- });
292
- }
186
+ await this.tearDownOldBlocks(trxStorage, oldTip.height, startingHeight);
187
+ await this.mineReorgBlocks(trxStorage, startingHeight, numBlocks, txidMap);
293
188
  });
294
189
  const newTip = await this.storage.getChainTip();
295
- if (!newTip)
190
+ if (newTip == null)
296
191
  throw new WERR_errors_1.WERR_INTERNAL('Chain tip missing after reorg');
297
192
  return { oldTip, newTip, deactivatedHeaders };
298
193
  }
194
+ async tearDownOldBlocks(trxStorage, fromHeight, toHeight) {
195
+ for (let h = fromHeight; h >= toHeight; h--) {
196
+ const txsInBlock = await trxStorage.getTransactionsInBlock(h);
197
+ const headerRow = await trxStorage.knex('mockchain_block_headers').where({ height: h }).first();
198
+ const coinbaseTxid = headerRow === null || headerRow === void 0 ? void 0 : headerRow.coinbaseTxid;
199
+ for (const tx of txsInBlock) {
200
+ if (coinbaseTxid != null && tx.txid === coinbaseTxid) {
201
+ await trxStorage.deleteUtxosByTxid(tx.txid);
202
+ await trxStorage.deleteTransaction(tx.txid);
203
+ }
204
+ else {
205
+ await trxStorage.setTransactionBlock(tx.txid, null, null);
206
+ await trxStorage.setUtxoBlockHeight(tx.txid, null);
207
+ }
208
+ }
209
+ if (headerRow != null)
210
+ await trxStorage.deleteBlockHeader(h);
211
+ }
212
+ }
213
+ async mineReorgBlocks(trxStorage, startingHeight, numBlocks, txidMap) {
214
+ const { createCoinbaseTransaction } = await Promise.resolve().then(() => __importStar(require('./MockMiner')));
215
+ const { computeMerkleRoot } = await Promise.resolve().then(() => __importStar(require('./merkleTree')));
216
+ for (let i = 0; i < numBlocks; i++) {
217
+ const newHeight = startingHeight + i;
218
+ const mappedTxids = txidMap != null ? Object.entries(txidMap).filter(([, o]) => o === i).map(([tid]) => tid) : [];
219
+ const prevHash = newHeight === 0
220
+ ? '00'.repeat(32)
221
+ : await this.getPrevHashForHeight(trxStorage, newHeight);
222
+ const coinbaseTx = createCoinbaseTransaction(newHeight);
223
+ const coinbaseTxid = coinbaseTx.id('hex');
224
+ const coinbaseRawTx = Array.from(coinbaseTx.toBinary());
225
+ const merkleRoot = computeMerkleRoot([coinbaseTxid, ...mappedTxids]);
226
+ const time = Math.floor(Date.now() / 1000);
227
+ const bits = 0x207fffff;
228
+ const nonceBytes = (0, sdk_1.Random)(4);
229
+ const nonce = ((nonceBytes[0] << 24) | (nonceBytes[1] << 16) | (nonceBytes[2] << 8) | nonceBytes[3]) >>> 0;
230
+ const hash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)((0, Services_1.toBinaryBaseBlockHeader)({ version: 1, previousHash: prevHash, merkleRoot, time, bits, nonce })));
231
+ await trxStorage.knex('mockchain_transactions').insert({ txid: coinbaseTxid, rawTx: Buffer.from(coinbaseRawTx), blockHeight: newHeight, blockIndex: 0 });
232
+ const coinbaseOutputScript = [0x51];
233
+ await trxStorage.knex('mockchain_utxos').insert({ txid: coinbaseTxid, vout: 0, lockingScript: Buffer.from(coinbaseOutputScript), satoshis: 5000000000, scriptHash: (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.sha256Hash)(coinbaseOutputScript)), spentByTxid: null, isCoinbase: true, blockHeight: newHeight });
234
+ for (let j = 0; j < mappedTxids.length; j++) {
235
+ await trxStorage.setTransactionBlock(mappedTxids[j], newHeight, j + 1);
236
+ await trxStorage.setUtxoBlockHeight(mappedTxids[j], newHeight);
237
+ }
238
+ await trxStorage.knex('mockchain_block_headers').insert({ height: newHeight, hash, previousHash: prevHash, merkleRoot, version: 1, time, bits, nonce, coinbaseTxid });
239
+ }
240
+ }
241
+ async getPrevHashForHeight(trxStorage, height) {
242
+ const prevHeader = await trxStorage.getBlockHeaderByHeight(height - 1);
243
+ if (prevHeader == null)
244
+ throw new WERR_errors_1.WERR_INTERNAL(`Missing block header at height ${height - 1}`);
245
+ return prevHeader.hash;
246
+ }
299
247
  async getRawTx(txid) {
300
248
  const tx = await this.storage.getTransaction(txid);
301
- if (!tx)
249
+ if (tx == null)
302
250
  return { txid };
303
- const rawTx = tx.rawTx instanceof Buffer
304
- ? Array.from(tx.rawTx)
305
- : Array.isArray(tx.rawTx)
306
- ? tx.rawTx
307
- : Array.from(tx.rawTx);
251
+ let rawTx;
252
+ if (tx.rawTx instanceof Buffer) {
253
+ rawTx = Array.from(tx.rawTx);
254
+ }
255
+ else if (Array.isArray(tx.rawTx)) {
256
+ rawTx = tx.rawTx;
257
+ }
258
+ else {
259
+ rawTx = Array.from(tx.rawTx);
260
+ }
308
261
  return { txid, rawTx, name: 'MockServices' };
309
262
  }
310
263
  async getMerklePath(txid) {
311
264
  const tx = await this.storage.getTransaction(txid);
312
- if (!tx || tx.blockHeight === null)
265
+ if ((tx == null) || tx.blockHeight === null)
313
266
  return {};
314
267
  const txsInBlock = await this.storage.getTransactionsInBlock(tx.blockHeight);
315
268
  const txids = txsInBlock.map(t => t.txid);
@@ -318,14 +271,14 @@ class MockServices {
318
271
  return {};
319
272
  const header = await this.storage.getBlockHeaderByHeight(tx.blockHeight);
320
273
  const merklePath = (0, merkleTree_1.computeMerklePath)(txids, targetIndex, tx.blockHeight);
321
- return { merklePath, header: header || undefined, name: 'MockServices' };
274
+ return { merklePath, header: header !== null && header !== void 0 ? header : undefined, name: 'MockServices' };
322
275
  }
323
276
  async getUtxoStatus(output, outputFormat, outpoint) {
324
277
  const hashBE = (0, Services_1.validateScriptHash)(output, outputFormat);
325
278
  // Convert hashBE to hashLE for our storage (which stores hashLE)
326
279
  const hashLE = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_noBuffer_1.asArray)(hashBE).reverse());
327
280
  const utxos = await this.storage.getUtxosByScriptHash(hashLE);
328
- const unspent = utxos.filter(u => !u.spentByTxid);
281
+ const unspent = utxos.filter(u => u.spentByTxid == null || u.spentByTxid === '');
329
282
  let isUtxo = unspent.length > 0;
330
283
  const details = unspent.map(u => {
331
284
  var _a;
@@ -337,11 +290,11 @@ class MockServices {
337
290
  });
338
291
  });
339
292
  // If outpoint is provided, filter to match
340
- if (outpoint && isUtxo) {
293
+ if (outpoint != null && outpoint !== '' && isUtxo) {
341
294
  const [opTxid, opVoutStr] = outpoint.split('.');
342
- const opVout = parseInt(opVoutStr, 10);
295
+ const opVout = Number.parseInt(opVoutStr, 10);
343
296
  const match = details.find(d => d.txid === opTxid && d.index === opVout);
344
- isUtxo = !!match;
297
+ isUtxo = match != null;
345
298
  }
346
299
  return {
347
300
  name: 'MockServices',
@@ -354,7 +307,7 @@ class MockServices {
354
307
  const currentHeight = await this.tracker.currentHeight();
355
308
  const results = await Promise.all(txids.map(async (txid) => {
356
309
  const tx = await this.storage.getTransaction(txid);
357
- if (!tx)
310
+ if (tx == null)
358
311
  return { txid, status: 'unknown', depth: undefined };
359
312
  if (tx.blockHeight !== null) {
360
313
  const depth = currentHeight - tx.blockHeight + 1;
@@ -380,16 +333,16 @@ class MockServices {
380
333
  }
381
334
  async getHeaderForHeight(height) {
382
335
  const header = await this.storage.getBlockHeaderByHeight(height);
383
- if (!header)
336
+ if (header == null)
384
337
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('height', `valid height '${height}' on mock chain`);
385
338
  return (0, Services_1.toBinaryBaseBlockHeader)(header);
386
339
  }
387
340
  async getHeight() {
388
- return this.tracker.currentHeight();
341
+ return await this.tracker.currentHeight();
389
342
  }
390
343
  async hashToHeader(hash) {
391
344
  const header = await this.storage.getBlockHeaderByHash(hash);
392
- if (!header)
345
+ if (header == null)
393
346
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', `valid blockhash '${hash}' on mock chain`);
394
347
  return header;
395
348
  }
@@ -398,25 +351,25 @@ class MockServices {
398
351
  return hash;
399
352
  }
400
353
  async isUtxo(output) {
401
- if (!output.lockingScript) {
354
+ var _a;
355
+ if (output.lockingScript == null) {
402
356
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('output.lockingScript', 'validated by storage provider validateOutputScript.');
403
357
  }
404
358
  const hash = this.hashOutputScript(sdk_1.Utils.toHex(output.lockingScript));
405
- const or = await this.getUtxoStatus(hash, undefined, `${output.txid}.${output.vout}`);
359
+ const or = await this.getUtxoStatus(hash, undefined, `${(_a = output.txid) !== null && _a !== void 0 ? _a : ''}.${output.vout}`);
406
360
  return or.isUtxo === true;
407
361
  }
408
362
  async getBsvExchangeRate() {
409
- return 50.0;
363
+ return 50;
410
364
  }
411
365
  async getFiatExchangeRate(currency, base) {
412
- if (currency === (base || 'USD'))
413
- return 1;
414
- return 1.0;
366
+ const baseCurrency = base !== null && base !== void 0 ? base : 'USD';
367
+ return mockFiatRatesByUsd[currency] / mockFiatRatesByUsd[baseCurrency];
415
368
  }
416
369
  async getFiatExchangeRates(targetCurrencies) {
417
370
  const rates = {};
418
371
  for (const c of targetCurrencies)
419
- rates[c] = 1;
372
+ rates[c] = mockFiatRatesByUsd[c];
420
373
  return {
421
374
  timestamp: new Date(),
422
375
  base: 'USD',
@@ -459,17 +412,22 @@ class MockServices {
459
412
  return;
460
413
  alreadyAdded.add(tid);
461
414
  const txRow = await this.storage.getTransaction(tid);
462
- if (!txRow)
415
+ if (txRow == null)
463
416
  return;
464
- const rawTx = txRow.rawTx instanceof Buffer
465
- ? Array.from(txRow.rawTx)
466
- : Array.isArray(txRow.rawTx)
467
- ? txRow.rawTx
468
- : Array.from(txRow.rawTx);
417
+ let rawTx;
418
+ if (txRow.rawTx instanceof Buffer) {
419
+ rawTx = Array.from(txRow.rawTx);
420
+ }
421
+ else if (Array.isArray(txRow.rawTx)) {
422
+ rawTx = txRow.rawTx;
423
+ }
424
+ else {
425
+ rawTx = Array.from(txRow.rawTx);
426
+ }
469
427
  if (txRow.blockHeight !== null) {
470
428
  // Mined: add with merkle path
471
429
  const pathResult = await this.getMerklePath(tid);
472
- if (pathResult.merklePath) {
430
+ if (pathResult.merklePath != null) {
473
431
  const bumpIndex = beef.mergeBump(pathResult.merklePath);
474
432
  beef.mergeRawTx(rawTx, bumpIndex);
475
433
  return;
@@ -478,8 +436,8 @@ class MockServices {
478
436
  // Unmined or no path: recursively add source transactions
479
437
  const tx = sdk_1.Transaction.fromBinary(rawTx);
480
438
  for (const input of tx.inputs) {
481
- const sourceTxid = input.sourceTXID || (input.sourceTransaction ? input.sourceTransaction.id('hex') : undefined);
482
- if (sourceTxid && sourceTxid !== '00'.repeat(32)) {
439
+ const sourceTxid = (input.sourceTXID != null && input.sourceTXID !== '') ? input.sourceTXID : ((input.sourceTransaction != null) ? input.sourceTransaction.id('hex') : undefined);
440
+ if (sourceTxid != null && sourceTxid !== '' && sourceTxid !== '00'.repeat(32)) {
483
441
  await addTx(sourceTxid, alreadyAdded);
484
442
  }
485
443
  }