@bsv/wallet-toolbox-client 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 (520) 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/SetupClient.d.ts +6 -6
  6. package/out/src/SetupClient.d.ts.map +1 -1
  7. package/out/src/SetupClient.js +5 -5
  8. package/out/src/SetupClient.js.map +1 -1
  9. package/out/src/SetupWallet.d.ts.map +1 -1
  10. package/out/src/SimpleWalletManager.d.ts +12 -2
  11. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  12. package/out/src/SimpleWalletManager.js +46 -30
  13. package/out/src/SimpleWalletManager.js.map +1 -1
  14. package/out/src/Wallet.d.ts +1 -1
  15. package/out/src/Wallet.d.ts.map +1 -1
  16. package/out/src/Wallet.js +102 -100
  17. package/out/src/Wallet.js.map +1 -1
  18. package/out/src/WalletAuthenticationManager.d.ts +1 -1
  19. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  20. package/out/src/WalletAuthenticationManager.js +3 -3
  21. package/out/src/WalletAuthenticationManager.js.map +1 -1
  22. package/out/src/WalletLogger.d.ts.map +1 -1
  23. package/out/src/WalletLogger.js +16 -8
  24. package/out/src/WalletLogger.js.map +1 -1
  25. package/out/src/WalletPermissionsManager.d.ts +89 -18
  26. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  27. package/out/src/WalletPermissionsManager.js +656 -870
  28. package/out/src/WalletPermissionsManager.js.map +1 -1
  29. package/out/src/WalletSettingsManager.d.ts +2 -2
  30. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  31. package/out/src/WalletSettingsManager.js.map +1 -1
  32. package/out/src/fundWalletP2PKH.d.ts +2 -2
  33. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  34. package/out/src/fundWalletP2PKH.js +11 -10
  35. package/out/src/fundWalletP2PKH.js.map +1 -1
  36. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  37. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  38. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  39. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  40. package/out/src/mockchain/MockChainStorage.js +8 -8
  41. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  42. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  43. package/out/src/mockchain/MockChainTracker.js +10 -10
  44. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  45. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  46. package/out/src/mockchain/MockMiner.js +3 -3
  47. package/out/src/mockchain/MockMiner.js.map +1 -1
  48. package/out/src/mockchain/MockServices.d.ts +9 -0
  49. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  50. package/out/src/mockchain/MockServices.js +201 -243
  51. package/out/src/mockchain/MockServices.js.map +1 -1
  52. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  53. package/out/src/mockchain/merkleTree.js +21 -12
  54. package/out/src/mockchain/merkleTree.js.map +1 -1
  55. package/out/src/monitor/Monitor.d.ts +17 -0
  56. package/out/src/monitor/Monitor.d.ts.map +1 -1
  57. package/out/src/monitor/Monitor.js +63 -80
  58. package/out/src/monitor/Monitor.js.map +1 -1
  59. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
  60. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  61. package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
  62. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  63. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +2 -2
  64. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  65. package/out/src/monitor/tasks/TaskCheckForProofs.js +28 -16
  66. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  67. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
  68. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  69. package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
  70. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  71. package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
  72. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  73. package/out/src/monitor/tasks/TaskClock.js +0 -1
  74. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  75. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  76. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  78. package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
  79. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  80. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  81. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  82. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  83. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
  84. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  85. package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
  86. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  87. package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
  88. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  89. package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
  90. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  91. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  92. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  93. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  94. package/out/src/monitor/tasks/TaskReorg.js +2 -2
  95. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  96. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
  97. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  98. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
  99. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
  101. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  102. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
  103. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  104. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  105. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  106. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  107. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
  108. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  109. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  110. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  111. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  112. package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
  113. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  114. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
  115. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  116. package/out/src/monitor/tasks/TaskUnFail.js +13 -15
  117. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  118. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  119. package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
  120. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  121. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  122. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  123. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  124. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  125. package/out/src/sdk/PrivilegedKeyManager.js +32 -24
  126. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  127. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  128. package/out/src/sdk/WERR_errors.js +5 -5
  129. package/out/src/sdk/WERR_errors.js.map +1 -1
  130. package/out/src/sdk/WalletError.d.ts +1 -1
  131. package/out/src/sdk/WalletError.d.ts.map +1 -1
  132. package/out/src/sdk/WalletError.js +28 -20
  133. package/out/src/sdk/WalletError.js.map +1 -1
  134. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  135. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  136. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  137. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
  138. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  139. package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
  140. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  141. package/out/src/sdk/types.d.ts +4 -4
  142. package/out/src/sdk/types.d.ts.map +1 -1
  143. package/out/src/sdk/types.js +3 -3
  144. package/out/src/sdk/types.js.map +1 -1
  145. package/out/src/services/ServiceCollection.d.ts +6 -6
  146. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  147. package/out/src/services/ServiceCollection.js +6 -8
  148. package/out/src/services/ServiceCollection.js.map +1 -1
  149. package/out/src/services/Services.d.ts +5 -0
  150. package/out/src/services/Services.d.ts.map +1 -1
  151. package/out/src/services/Services.js +190 -196
  152. package/out/src/services/Services.js.map +1 -1
  153. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  154. package/out/src/services/chaintracker/BHServiceClient.js +7 -7
  155. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  156. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  157. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
  158. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  159. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
  160. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  161. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  162. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
  164. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
  166. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  167. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
  169. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
  176. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  178. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  180. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
  181. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  189. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
  191. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
  193. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  194. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
  195. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +9 -16
  198. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
  201. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
  204. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
  206. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
  208. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  209. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  212. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
  214. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +8 -7
  217. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  219. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
  220. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  222. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
  224. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
  226. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
  230. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  231. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  232. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
  235. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
  237. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  240. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  242. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  243. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  244. package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
  245. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  246. package/out/src/services/providers/ARC.d.ts.map +1 -1
  247. package/out/src/services/providers/ARC.js +7 -14
  248. package/out/src/services/providers/ARC.js.map +1 -1
  249. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  250. package/out/src/services/providers/ArcSSEClient.js +1 -1
  251. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  252. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  253. package/out/src/services/providers/Bitails.js +17 -17
  254. package/out/src/services/providers/Bitails.js.map +1 -1
  255. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  256. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  257. package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
  258. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  259. package/out/src/services/providers/WhatsOnChain.js +109 -233
  260. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  261. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  262. package/out/src/services/providers/exchangeRates.js +3 -3
  263. package/out/src/services/providers/exchangeRates.js.map +1 -1
  264. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  265. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  266. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  267. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  268. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  269. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  270. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  271. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  272. package/out/src/signer/WalletSigner.js.map +1 -1
  273. package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
  274. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  275. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  276. package/out/src/signer/methods/buildSignableTransaction.js +21 -13
  277. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  278. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  279. package/out/src/signer/methods/completeSignedTransaction.js +20 -21
  280. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  281. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  282. package/out/src/signer/methods/createAction.js +8 -7
  283. package/out/src/signer/methods/createAction.js.map +1 -1
  284. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  285. package/out/src/signer/methods/internalizeAction.js +8 -6
  286. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  287. package/out/src/signer/methods/proveCertificate.js +1 -1
  288. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  289. package/out/src/signer/methods/signAction.js +8 -10
  290. package/out/src/signer/methods/signAction.js.map +1 -1
  291. package/out/src/storage/StorageIdb.d.ts +16 -1
  292. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  293. package/out/src/storage/StorageIdb.js +578 -1258
  294. package/out/src/storage/StorageIdb.js.map +1 -1
  295. package/out/src/storage/StorageProvider.d.ts +10 -0
  296. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  297. package/out/src/storage/StorageProvider.js +171 -197
  298. package/out/src/storage/StorageProvider.js.map +1 -1
  299. package/out/src/storage/StorageReader.d.ts.map +1 -1
  300. package/out/src/storage/StorageReader.js +14 -13
  301. package/out/src/storage/StorageReader.js.map +1 -1
  302. package/out/src/storage/StorageReaderWriter.d.ts +0 -1
  303. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  304. package/out/src/storage/StorageReaderWriter.js +32 -35
  305. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  306. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  307. package/out/src/storage/StorageSyncReader.js +4 -4
  308. package/out/src/storage/StorageSyncReader.js.map +1 -1
  309. package/out/src/storage/WalletStorageManager.d.ts +3 -0
  310. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  311. package/out/src/storage/WalletStorageManager.js +95 -84
  312. package/out/src/storage/WalletStorageManager.js.map +1 -1
  313. package/out/src/storage/idbHelpers.d.ts +42 -0
  314. package/out/src/storage/idbHelpers.d.ts.map +1 -0
  315. package/out/src/storage/idbHelpers.js +375 -0
  316. package/out/src/storage/idbHelpers.js.map +1 -0
  317. package/out/src/storage/index.client.d.ts +3 -0
  318. package/out/src/storage/index.client.d.ts.map +1 -1
  319. package/out/src/storage/index.client.js +3 -0
  320. package/out/src/storage/index.client.js.map +1 -1
  321. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  322. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  323. package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
  324. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  325. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  326. package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
  327. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  328. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
  329. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  330. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +224 -61
  331. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  332. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  333. package/out/src/storage/methods/createAction.js +230 -270
  334. package/out/src/storage/methods/createAction.js.map +1 -1
  335. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  336. package/out/src/storage/methods/generateChange.js +99 -80
  337. package/out/src/storage/methods/generateChange.js.map +1 -1
  338. package/out/src/storage/methods/getBeefForTransaction.js +15 -13
  339. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  340. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  341. package/out/src/storage/methods/getSyncChunk.js +4 -3
  342. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  343. package/out/src/storage/methods/internalizeAction.js +41 -51
  344. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  345. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  346. package/out/src/storage/methods/listActionsIdb.js +85 -110
  347. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  348. package/out/src/storage/methods/listCertificates.d.ts +1 -1
  349. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  350. package/out/src/storage/methods/listCertificates.js +7 -7
  351. package/out/src/storage/methods/listCertificates.js.map +1 -1
  352. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  353. package/out/src/storage/methods/listOutputsIdb.js +24 -27
  354. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  355. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  356. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  357. package/out/src/storage/methods/offsetKey.js +3 -5
  358. package/out/src/storage/methods/offsetKey.js.map +1 -1
  359. package/out/src/storage/methods/processAction.d.ts +0 -11
  360. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  361. package/out/src/storage/methods/processAction.js +90 -83
  362. package/out/src/storage/methods/processAction.js.map +1 -1
  363. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  364. package/out/src/storage/methods/purgeDataIdb.js +1 -1
  365. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  366. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  367. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  368. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  369. package/out/src/storage/methods/utils.d.ts.map +1 -1
  370. package/out/src/storage/methods/utils.js +7 -1
  371. package/out/src/storage/methods/utils.js.map +1 -1
  372. package/out/src/storage/portable/index.d.ts +55 -0
  373. package/out/src/storage/portable/index.d.ts.map +1 -0
  374. package/out/src/storage/portable/index.js +830 -0
  375. package/out/src/storage/portable/index.js.map +1 -0
  376. package/out/src/storage/remoting/StorageClient.d.ts +4 -270
  377. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  378. package/out/src/storage/remoting/StorageClient.js +16 -423
  379. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  380. package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
  381. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  382. package/out/src/storage/remoting/StorageClientBase.js +375 -0
  383. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  384. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  385. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  386. package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
  387. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  388. package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -1
  389. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  390. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  391. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  392. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  393. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  394. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  395. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  396. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  397. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  398. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  399. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  400. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  401. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  402. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  403. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  404. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  405. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  406. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  407. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  408. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  409. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  410. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  411. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  412. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  413. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
  414. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  415. package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
  416. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  417. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
  418. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  419. package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
  420. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  421. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  422. package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
  423. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  424. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  425. package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
  426. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  427. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  428. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  429. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  430. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  431. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  432. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  433. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  434. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  435. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  436. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  437. package/out/src/storage/schema/entities/MergeEntity.js +6 -6
  438. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  439. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  440. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  441. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  442. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  443. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  444. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  445. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  446. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  447. package/out/src/storage/schema/tables/TableOutput.d.ts +3 -2
  448. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  449. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  450. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  451. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  452. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  453. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  454. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  455. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  456. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  457. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  458. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  459. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  460. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  461. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  462. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  463. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  464. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  465. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  466. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  467. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  468. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  469. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  470. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  471. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  472. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  473. package/out/src/storage/storageProviderHelpers.d.ts +34 -0
  474. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  475. package/out/src/storage/storageProviderHelpers.js +100 -0
  476. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  477. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  478. package/out/src/utility/ScriptTemplateBRC29.js +4 -2
  479. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  480. package/out/src/utility/aggregateResults.d.ts +1 -1
  481. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  482. package/out/src/utility/aggregateResults.js +2 -2
  483. package/out/src/utility/aggregateResults.js.map +1 -1
  484. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  485. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  486. package/out/src/utility/brc114ActionTimeLabels.js +17 -10
  487. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  488. package/out/src/utility/identityUtils.d.ts.map +1 -1
  489. package/out/src/utility/identityUtils.js +6 -6
  490. package/out/src/utility/identityUtils.js.map +1 -1
  491. package/out/src/utility/index.client.d.ts +1 -0
  492. package/out/src/utility/index.client.d.ts.map +1 -1
  493. package/out/src/utility/index.client.js +1 -0
  494. package/out/src/utility/index.client.js.map +1 -1
  495. package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
  496. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  497. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  498. package/out/src/utility/stampLog.d.ts.map +1 -1
  499. package/out/src/utility/stampLog.js +6 -4
  500. package/out/src/utility/stampLog.js.map +1 -1
  501. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  502. package/out/src/utility/tscProofToMerklePath.js +1 -1
  503. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  504. package/out/src/utility/utilityHelpers.d.ts +1 -2
  505. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  506. package/out/src/utility/utilityHelpers.js +12 -12
  507. package/out/src/utility/utilityHelpers.js.map +1 -1
  508. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  509. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  510. package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
  511. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  512. package/out/src/wab-client/WABClient.d.ts +3 -3
  513. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  514. package/out/src/wab-client/WABClient.js +12 -12
  515. package/out/src/wab-client/WABClient.js.map +1 -1
  516. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  517. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -3
  518. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  519. package/out/tsconfig.client.tsbuildinfo +1 -1
  520. package/package.json +7 -6
@@ -38,61 +38,63 @@ class Services {
38
38
  this.postBeefUntilSuccessSoftTimeoutMaxMs = 30000;
39
39
  this.chain = typeof optionsOrChain === 'string' ? optionsOrChain : optionsOrChain.chain;
40
40
  if (this.chain === 'mock') {
41
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('chain', `'main', 'test', or 'teratest'. Use MockServices for 'mock' chain.`);
41
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('chain', '\'main\', \'test\', or \'teratest\'. Use MockServices for \'mock\' chain.');
42
42
  }
43
43
  this.options = typeof optionsOrChain === 'string' ? Services.createDefaultOptions(this.chain) : optionsOrChain;
44
44
  this.whatsonchain = new WhatsOnChain_1.WhatsOnChain(this.chain, { apiKey: this.options.whatsOnChainApiKey }, this);
45
45
  this.arcTaal = new ARC_1.ARC(this.options.arcUrl, this.options.arcConfig, 'arcTaal');
46
- if (this.options.arcGorillaPoolUrl) {
46
+ if (this.options.arcGorillaPoolUrl != null && this.options.arcGorillaPoolUrl !== '') {
47
47
  this.arcGorillaPool = new ARC_1.ARC(this.options.arcGorillaPoolUrl, this.options.arcGorillaPoolConfig, 'arcGorillaPool');
48
48
  }
49
49
  const hasBitails = this.chain === 'main' || this.chain === 'test';
50
50
  if (hasBitails) {
51
51
  this.bitails = new Bitails_1.Bitails(this.chain, { apiKey: this.options.bitailsApiKey });
52
52
  }
53
- //prettier-ignore
53
+ // prettier-ignore
54
54
  this.getMerklePathServices = new ServiceCollection_1.ServiceCollection('getMerklePath')
55
55
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.getMerklePath.bind(this.whatsonchain) });
56
- if (hasBitails && this.bitails) {
56
+ if (hasBitails && (this.bitails != null)) {
57
57
  this.getMerklePathServices.add({ name: 'Bitails', service: this.bitails.getMerklePath.bind(this.bitails) });
58
58
  }
59
- //prettier-ignore
59
+ // prettier-ignore
60
60
  this.getRawTxServices = new ServiceCollection_1.ServiceCollection('getRawTx')
61
61
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.getRawTxResult.bind(this.whatsonchain) });
62
62
  this.postBeefServices = new ServiceCollection_1.ServiceCollection('postBeef');
63
- if (this.arcGorillaPool) {
64
- //prettier-ignore
63
+ if (this.arcGorillaPool != null) {
64
+ // prettier-ignore
65
65
  this.postBeefServices.add({ name: 'GorillaPoolArcBeef', service: this.arcGorillaPool.postBeef.bind(this.arcGorillaPool) });
66
66
  }
67
- //prettier-ignore
67
+ // prettier-ignore
68
68
  this.postBeefServices
69
69
  .add({ name: 'TaalArcBeef', service: this.arcTaal.postBeef.bind(this.arcTaal) });
70
- if (hasBitails && this.bitails) {
70
+ if (hasBitails && (this.bitails != null)) {
71
71
  this.postBeefServices.add({ name: 'Bitails', service: this.bitails.postBeef.bind(this.bitails) });
72
72
  }
73
- //prettier-ignore
73
+ // prettier-ignore
74
74
  this.postBeefServices
75
75
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.postBeef.bind(this.whatsonchain) });
76
- //prettier-ignore
76
+ // prettier-ignore
77
77
  this.getUtxoStatusServices = new ServiceCollection_1.ServiceCollection('getUtxoStatus')
78
78
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.getUtxoStatus.bind(this.whatsonchain) });
79
- //prettier-ignore
79
+ // prettier-ignore
80
80
  this.getStatusForTxidsServices = new ServiceCollection_1.ServiceCollection('getStatusForTxids')
81
81
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.getStatusForTxids.bind(this.whatsonchain) });
82
- //prettier-ignore
82
+ // prettier-ignore
83
83
  this.getScriptHashHistoryServices = new ServiceCollection_1.ServiceCollection('getScriptHashHistory')
84
84
  .add({ name: 'WhatsOnChain', service: this.whatsonchain.getScriptHashHistory.bind(this.whatsonchain) });
85
- //prettier-ignore
85
+ // prettier-ignore
86
86
  this.updateFiatExchangeRateServices = new ServiceCollection_1.ServiceCollection('updateFiatExchangeRate');
87
- if (this.options.exchangeratesapiKey)
88
- // If the api key for paid service is set, only use that sesrvice.
87
+ // If the api key for paid service is set, only use that sesrvice.
88
+ // Otherwise use the chaintracks service
89
+ if (this.options.exchangeratesapiKey != null && this.options.exchangeratesapiKey !== '') {
89
90
  this.updateFiatExchangeRateServices.add({ name: 'exchangeratesapi', service: exchangeRates_1.updateExchangeratesapi });
90
- else
91
- // Otherwise use the chaintracks service
91
+ }
92
+ else {
92
93
  this.updateFiatExchangeRateServices.add({
93
94
  name: 'ChaintracksFiatRates',
94
95
  service: exchangeRates_1.updateChaintracksFiatExchangeRates
95
96
  });
97
+ }
96
98
  }
97
99
  getServicesCallHistory(reset) {
98
100
  return {
@@ -107,8 +109,9 @@ class Services {
107
109
  };
108
110
  }
109
111
  async getChainTracker() {
110
- if (!this.options.chaintracks)
111
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('options.chaintracks', `valid to enable 'getChainTracker' service.`);
112
+ if (this.options.chaintracks == null) {
113
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('options.chaintracks', 'valid to enable \'getChainTracker\' service.');
114
+ }
112
115
  return new ChaintracksChainTracker_1.ChaintracksChainTracker(this.chain, this.options.chaintracks);
113
116
  }
114
117
  async getBsvExchangeRate() {
@@ -165,7 +168,7 @@ class Services {
165
168
  }
166
169
  async getStatusForTxids(txids, useNext) {
167
170
  const services = this.getStatusForTxidsServices;
168
- if (useNext)
171
+ if (useNext === true)
169
172
  services.next();
170
173
  let r0 = {
171
174
  name: '<noservices>',
@@ -182,15 +185,13 @@ class Services {
182
185
  r0 = r;
183
186
  break;
184
187
  }
185
- else {
186
- if (r.error)
187
- services.addServiceCallError(stc, r.error);
188
- else
189
- services.addServiceCallFailure(stc);
190
- }
188
+ if (r.error != null)
189
+ services.addServiceCallError(stc, r.error);
190
+ else
191
+ services.addServiceCallFailure(stc);
191
192
  }
192
- catch (eu) {
193
- const e = WalletError_1.WalletError.fromUnknown(eu);
193
+ catch (error_) {
194
+ const e = WalletError_1.WalletError.fromUnknown(error_);
194
195
  services.addServiceCallError(stc, e);
195
196
  }
196
197
  services.next();
@@ -206,7 +207,7 @@ class Services {
206
207
  if (r.status !== 'success') {
207
208
  return r;
208
209
  }
209
- if (!error && r.error)
210
+ if ((error == null) && (r.error != null))
210
211
  error = r.error;
211
212
  results.push(...r.results);
212
213
  }
@@ -226,16 +227,18 @@ class Services {
226
227
  return hash;
227
228
  }
228
229
  async isUtxo(output) {
229
- if (!output.lockingScript) {
230
+ var _a;
231
+ if (output.lockingScript == null) {
230
232
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('output.lockingScript', 'validated by storage provider validateOutputScript.');
231
233
  }
232
234
  const hash = this.hashOutputScript(sdk_1.Utils.toHex(output.lockingScript));
233
- const or = await this.getUtxoStatus(hash, undefined, `${output.txid}.${output.vout}`);
235
+ const or = await this.getUtxoStatus(hash, undefined, `${(_a = output.txid) !== null && _a !== void 0 ? _a : ''}.${output.vout}`);
234
236
  return or.isUtxo === true;
235
237
  }
236
238
  async getUtxoStatus(output, outputFormat, outpoint, useNext, logger) {
239
+ var _a;
237
240
  const services = this.getUtxoStatusServices;
238
- if (useNext)
241
+ if (useNext === true)
239
242
  services.next();
240
243
  let r0 = {
241
244
  name: '<noservices>',
@@ -243,31 +246,9 @@ class Services {
243
246
  error: new WERR_errors_1.WERR_INTERNAL('No services available.'),
244
247
  details: []
245
248
  };
246
- logger === null || logger === void 0 ? void 0 : logger.group(`services getUtxoStatus`);
249
+ logger === null || logger === void 0 ? void 0 : logger.group('services getUtxoStatus');
247
250
  for (let retry = 0; retry < 2; retry++) {
248
- for (let tries = 0; tries < services.count; tries++) {
249
- const stc = services.serviceToCall;
250
- try {
251
- const r = await stc.service(output, outputFormat, outpoint);
252
- logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} status ${r.status}`);
253
- if (r.status === 'success') {
254
- services.addServiceCallSuccess(stc);
255
- r0 = r;
256
- break;
257
- }
258
- else {
259
- if (r.error)
260
- services.addServiceCallError(stc, r.error);
261
- else
262
- services.addServiceCallFailure(stc);
263
- }
264
- }
265
- catch (eu) {
266
- const e = WalletError_1.WalletError.fromUnknown(eu);
267
- services.addServiceCallError(stc, e);
268
- }
269
- services.next();
270
- }
251
+ r0 = (_a = await this.tryUtxoStatusProviders(services, output, outputFormat, outpoint, logger)) !== null && _a !== void 0 ? _a : r0;
271
252
  if (r0.status === 'success')
272
253
  break;
273
254
  await (0, utilityHelpers_1.wait)(2000);
@@ -275,9 +256,31 @@ class Services {
275
256
  logger === null || logger === void 0 ? void 0 : logger.groupEnd();
276
257
  return r0;
277
258
  }
259
+ async tryUtxoStatusProviders(services, output, outputFormat, outpoint, logger) {
260
+ for (let tries = 0; tries < services.count; tries++) {
261
+ const stc = services.serviceToCall;
262
+ try {
263
+ const r = await stc.service(output, outputFormat, outpoint);
264
+ logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} status ${r.status}`);
265
+ if (r.status === 'success') {
266
+ services.addServiceCallSuccess(stc);
267
+ return r;
268
+ }
269
+ if (r.error != null)
270
+ services.addServiceCallError(stc, r.error);
271
+ else
272
+ services.addServiceCallFailure(stc);
273
+ }
274
+ catch (error_) {
275
+ services.addServiceCallError(stc, WalletError_1.WalletError.fromUnknown(error_));
276
+ }
277
+ services.next();
278
+ }
279
+ return undefined;
280
+ }
278
281
  async getScriptHashHistory(hash, useNext, logger) {
279
282
  const services = this.getScriptHashHistoryServices;
280
- if (useNext)
283
+ if (useNext === true)
281
284
  services.next();
282
285
  let r0 = {
283
286
  name: '<noservices>',
@@ -285,7 +288,7 @@ class Services {
285
288
  error: new WERR_errors_1.WERR_INTERNAL('No services available.'),
286
289
  history: []
287
290
  };
288
- logger === null || logger === void 0 ? void 0 : logger.group(`services getScriptHashHistory`);
291
+ logger === null || logger === void 0 ? void 0 : logger.group('services getScriptHashHistory');
289
292
  for (let tries = 0; tries < services.count; tries++) {
290
293
  const stc = services.serviceToCall;
291
294
  try {
@@ -295,15 +298,13 @@ class Services {
295
298
  r0 = r;
296
299
  break;
297
300
  }
298
- else {
299
- if (r.error)
300
- services.addServiceCallError(stc, r.error);
301
- else
302
- services.addServiceCallFailure(stc);
303
- }
301
+ if (r.error != null)
302
+ services.addServiceCallError(stc, r.error);
303
+ else
304
+ services.addServiceCallFailure(stc);
304
305
  }
305
- catch (eu) {
306
- const e = WalletError_1.WalletError.fromUnknown(eu);
306
+ catch (error_) {
307
+ const e = WalletError_1.WalletError.fromUnknown(error_);
307
308
  services.addServiceCallError(stc, e);
308
309
  }
309
310
  services.next();
@@ -318,36 +319,32 @@ class Services {
318
319
  * @returns
319
320
  */
320
321
  async postBeef(beef, txids, logger) {
321
- var _a;
322
+ var _a, _b;
322
323
  let rs = [];
323
324
  const services = this.postBeefServices;
324
325
  const stcs = services.allServicesToCall;
325
326
  const softTimeoutMs = this.getPostBeefSoftTimeoutMs(beef);
326
- logger === null || logger === void 0 ? void 0 : logger.group(`services postBeef`);
327
+ logger === null || logger === void 0 ? void 0 : logger.group('services postBeef');
327
328
  switch (this.postBeefMode) {
328
329
  case 'UntilSuccess':
329
- {
330
- for (const stc of stcs) {
331
- const r = await callService(stc, softTimeoutMs);
332
- logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} status ${r.status}`);
333
- rs.push(r);
334
- if (r.status === 'success')
335
- break;
336
- const softTimedOut = ((_a = r.notes) === null || _a === void 0 ? void 0 : _a.some(n => n.what === 'postBeefServiceTimeout')) === true;
337
- if (!softTimedOut && r.txidResults && r.txidResults.every(txr => txr.serviceError)) {
338
- // move this service to the end of the list
339
- this.postBeefServices.moveServiceToLast(stc);
340
- }
330
+ for (const stc of stcs) {
331
+ const r = await callService(stc, softTimeoutMs);
332
+ logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} status ${r.status}`);
333
+ rs.push(r);
334
+ if (r.status === 'success')
335
+ break;
336
+ const softTimedOut = ((_a = r.notes) === null || _a === void 0 ? void 0 : _a.some(n => n.what === 'postBeefServiceTimeout')) === true;
337
+ if (!softTimedOut && ((_b = r.txidResults) === null || _b === void 0 ? void 0 : _b.every(txr => txr.serviceError))) {
338
+ // move this service to the end of the list
339
+ this.postBeefServices.moveServiceToLast(stc);
341
340
  }
342
341
  }
343
342
  break;
344
343
  case 'PromiseAll':
345
- {
346
- rs = await Promise.all(stcs.map(async (stc) => {
347
- const r = await callService(stc);
348
- return r;
349
- }));
350
- }
344
+ rs = await Promise.all(stcs.map(async (stc) => {
345
+ const r = await callService(stc);
346
+ return r;
347
+ }));
351
348
  break;
352
349
  }
353
350
  logger === null || logger === void 0 ? void 0 : logger.groupEnd();
@@ -355,7 +352,7 @@ class Services {
355
352
  async function callService(stc, timeoutMs) {
356
353
  const callPromise = stc.service(beef, txids);
357
354
  let r;
358
- if (!timeoutMs || timeoutMs <= 0) {
355
+ if (timeoutMs == null || timeoutMs <= 0) {
359
356
  r = await callPromise;
360
357
  }
361
358
  else {
@@ -364,7 +361,7 @@ class Services {
364
361
  timeoutHandle = setTimeout(() => resolve(makeServiceTimeoutResult(stc.providerName, txids, timeoutMs)), timeoutMs);
365
362
  });
366
363
  r = await Promise.race([callPromise, timeoutPromise]);
367
- if (timeoutHandle)
364
+ if (timeoutHandle != null)
368
365
  clearTimeout(timeoutHandle);
369
366
  // Avoid unhandled rejection after timeout race wins.
370
367
  void callPromise.catch(() => undefined);
@@ -372,13 +369,11 @@ class Services {
372
369
  if (r.status === 'success') {
373
370
  services.addServiceCallSuccess(stc);
374
371
  }
372
+ else if (r.error != null) {
373
+ services.addServiceCallError(stc, r.error);
374
+ }
375
375
  else {
376
- if (r.error) {
377
- services.addServiceCallError(stc, r.error);
378
- }
379
- else {
380
- services.addServiceCallFailure(stc);
381
- }
376
+ services.addServiceCallFailure(stc);
382
377
  }
383
378
  return r;
384
379
  }
@@ -408,104 +403,111 @@ class Services {
408
403
  }
409
404
  async getRawTx(txid, useNext) {
410
405
  const services = this.getRawTxServices;
411
- if (useNext)
406
+ if (useNext === true)
412
407
  services.next();
413
408
  const r0 = { txid };
414
409
  for (let tries = 0; tries < services.count; tries++) {
415
410
  const stc = services.serviceToCall;
416
411
  try {
417
- const r = await stc.service(txid, this.chain);
418
- if (r.rawTx) {
419
- const hash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(r.rawTx));
420
- // Confirm transaction hash matches txid
421
- if (hash === (0, utilityHelpers_noBuffer_1.asString)(txid)) {
422
- // If we have a match, call it done.
423
- r0.rawTx = r.rawTx;
424
- r0.name = r.name;
425
- r0.error = undefined;
426
- services.addServiceCallSuccess(stc);
427
- break;
428
- }
429
- r.error = new WERR_errors_1.WERR_INTERNAL(`computed txid ${hash} doesn't match requested value ${txid}`);
430
- r.rawTx = undefined;
431
- }
432
- if (r.error)
433
- services.addServiceCallError(stc, r.error);
434
- else if (!r.rawTx)
435
- services.addServiceCallSuccess(stc, `not found`);
436
- else
437
- services.addServiceCallFailure(stc);
438
- if (r.error && !r0.error && !r0.rawTx)
439
- // If we have an error and didn't before...
440
- r0.error = r.error;
412
+ const done = this.applyRawTxResult(r0, txid, await stc.service(txid, this.chain), services, stc);
413
+ if (done)
414
+ break;
441
415
  }
442
- catch (eu) {
443
- const e = WalletError_1.WalletError.fromUnknown(eu);
444
- services.addServiceCallError(stc, e);
416
+ catch (error_) {
417
+ services.addServiceCallError(stc, WalletError_1.WalletError.fromUnknown(error_));
445
418
  }
446
419
  services.next();
447
420
  }
448
421
  return r0;
449
422
  }
423
+ applyRawTxResult(r0, txid, r, services, stc) {
424
+ if (r.rawTx != null) {
425
+ const hash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(r.rawTx));
426
+ if (hash === (0, utilityHelpers_noBuffer_1.asString)(txid)) {
427
+ r0.rawTx = r.rawTx;
428
+ r0.name = r.name;
429
+ r0.error = undefined;
430
+ services.addServiceCallSuccess(stc);
431
+ return true;
432
+ }
433
+ r.error = new WERR_errors_1.WERR_INTERNAL(`computed txid ${hash} doesn't match requested value ${txid}`);
434
+ r.rawTx = undefined;
435
+ }
436
+ if (r.error != null)
437
+ services.addServiceCallError(stc, r.error);
438
+ else
439
+ services.addServiceCallSuccess(stc, 'not found');
440
+ // If we have an error and didn't before, capture it.
441
+ if ((r.error != null) && (r0.error == null) && (r0.rawTx == null))
442
+ r0.error = r.error;
443
+ return false;
444
+ }
450
445
  async invokeChaintracksWithRetry(method) {
451
- if (!this.options.chaintracks)
446
+ if (this.options.chaintracks == null) {
452
447
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('options.chaintracks', 'valid for this service operation.');
448
+ }
453
449
  for (let retry = 0; retry < 3; retry++) {
454
450
  try {
455
451
  const r = await method();
456
452
  return r;
457
453
  }
458
- catch (eu) {
459
- const e = WalletError_1.WalletError.fromUnknown(eu);
460
- if (e.code != 'ECONNRESET')
461
- throw eu;
454
+ catch (error_) {
455
+ const e = WalletError_1.WalletError.fromUnknown(error_);
456
+ if (e.code !== 'ECONNRESET')
457
+ throw error_;
462
458
  }
463
459
  }
464
460
  throw new WERR_errors_1.WERR_INVALID_OPERATION('hashToHeader service unavailable');
465
461
  }
466
462
  async getHeaderForHeight(height) {
467
463
  const method = async () => {
468
- const header = await this.options.chaintracks.findHeaderForHeight(height);
469
- if (!header)
464
+ const chaintracks = this.options.chaintracks;
465
+ const header = await chaintracks.findHeaderForHeight(height);
466
+ if (header == null)
470
467
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', `valid height '${height}' on mined chain ${this.chain}`);
471
468
  return toBinaryBaseBlockHeader(header);
472
469
  };
473
- return this.invokeChaintracksWithRetry(method);
470
+ return await this.invokeChaintracksWithRetry(method);
474
471
  }
475
472
  async getHeight() {
476
473
  const method = async () => {
477
- return await this.options.chaintracks.currentHeight();
474
+ const chaintracks = this.options.chaintracks;
475
+ return await chaintracks.currentHeight();
478
476
  };
479
- return this.invokeChaintracksWithRetry(method);
477
+ return await this.invokeChaintracksWithRetry(method);
480
478
  }
481
479
  async hashToHeader(hash) {
482
480
  const method = async () => {
483
- const header = await this.options.chaintracks.findHeaderForBlockHash(hash);
481
+ const chaintracks = this.options.chaintracks;
482
+ const header = await chaintracks.findHeaderForBlockHash(hash);
484
483
  return header;
485
484
  };
486
485
  let header = await this.invokeChaintracksWithRetry(method);
487
- if (!header) {
488
- header = await this.whatsonchain.getBlockHeaderByHash(hash);
489
- }
490
- if (!header)
486
+ header !== null && header !== void 0 ? header : (header = await this.whatsonchain.getBlockHeaderByHash(hash));
487
+ if (header == null)
491
488
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', `valid blockhash '${hash}' on mined chain ${this.chain}`);
492
489
  return header;
493
490
  }
494
491
  async getMerklePath(txid, useNext, logger) {
492
+ var _a, _b;
495
493
  const services = this.getMerklePathServices;
496
- if (useNext)
494
+ if (useNext === true)
497
495
  services.next();
498
496
  const r0 = { notes: [] };
499
- logger === null || logger === void 0 ? void 0 : logger.group(`services getMerklePath`);
497
+ logger === null || logger === void 0 ? void 0 : logger.group('services getMerklePath');
500
498
  for (let tries = 0; tries < services.count; tries++) {
501
499
  const stc = services.serviceToCall;
502
500
  try {
503
501
  const r = await stc.service(txid, this);
504
- if (r.notes)
502
+ if (r.notes != null) {
503
+ r0.notes = (_a = r0.notes) !== null && _a !== void 0 ? _a : [];
505
504
  r0.notes.push(...r.notes);
506
- if (!r0.name)
507
- r0.name = r.name;
508
- if (r.merklePath) {
505
+ }
506
+ (_b = r0.name) !== null && _b !== void 0 ? _b : (r0.name = r.name);
507
+ if (r.merklePath == null) {
508
+ logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} no merklePath`);
509
+ }
510
+ else {
509
511
  logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} has merklePath`);
510
512
  // If we have a proof, call it done.
511
513
  r0.merklePath = r.merklePath;
@@ -515,20 +517,17 @@ class Services {
515
517
  services.addServiceCallSuccess(stc);
516
518
  break;
517
519
  }
518
- else {
519
- logger === null || logger === void 0 ? void 0 : logger.log(`${stc.providerName} no merklePath`);
520
- }
521
- if (r.error)
520
+ if (r.error != null)
522
521
  services.addServiceCallError(stc, r.error);
523
522
  else
524
523
  services.addServiceCallFailure(stc);
525
- if (r.error && !r0.error) {
524
+ if ((r.error != null) && (r0.error == null)) {
526
525
  // If we have an error and didn't before...
527
526
  r0.error = r.error;
528
527
  }
529
528
  }
530
- catch (eu) {
531
- const e = WalletError_1.WalletError.fromUnknown(eu);
529
+ catch (error_) {
530
+ const e = WalletError_1.WalletError.fromUnknown(error_);
532
531
  services.addServiceCallError(stc, e);
533
532
  }
534
533
  services.next();
@@ -536,80 +535,75 @@ class Services {
536
535
  return r0;
537
536
  }
538
537
  async updateFiatExchangeRates(targetCurrencies, updateMsecs) {
539
- var _a, _b, _c, _d, _e, _f;
540
- updateMsecs || (updateMsecs = 1000 * 60 * 60 * 24);
538
+ var _a;
539
+ updateMsecs !== null && updateMsecs !== void 0 ? updateMsecs : (updateMsecs = 1000 * 60 * 60 * 24);
541
540
  const freshnessDate = new Date(Date.now() - updateMsecs);
542
541
  const stored = this.options.fiatExchangeRates;
543
542
  const storedRates = (_a = stored.rates) !== null && _a !== void 0 ? _a : {};
543
+ const toFetch = this.collectStaleCurrencies(targetCurrencies, storedRates, stored, freshnessDate);
544
+ if (toFetch.length === 0) {
545
+ this.options.fiatExchangeRates = { timestamp: stored.timestamp, base: stored.base, rates: storedRates, rateTimestamps: stored.rateTimestamps };
546
+ return this.options.fiatExchangeRates;
547
+ }
548
+ const fetched = await this.fetchFiatRates(toFetch);
549
+ if (fetched == null) {
550
+ if (Object.keys(storedRates).length > 0)
551
+ return stored;
552
+ throw new WERR_errors_1.WERR_INTERNAL();
553
+ }
554
+ this.options.fiatExchangeRates = this.mergeFiatRates(stored, storedRates, fetched);
555
+ return this.options.fiatExchangeRates;
556
+ }
557
+ collectStaleCurrencies(targetCurrencies, storedRates, stored, freshnessDate) {
558
+ var _a, _b;
544
559
  const toFetch = [];
545
560
  for (const c of targetCurrencies) {
546
561
  if (c === 'USD') {
547
- if (typeof storedRates.USD !== 'number') {
562
+ if (typeof storedRates.USD !== 'number')
548
563
  storedRates.USD = 1;
549
- }
550
564
  continue;
551
565
  }
552
566
  const v = storedRates[c];
553
- const ts = (_c = (_b = stored.rateTimestamps) === null || _b === void 0 ? void 0 : _b[c]) !== null && _c !== void 0 ? _c : stored.timestamp;
567
+ const ts = (_b = (_a = stored.rateTimestamps) === null || _a === void 0 ? void 0 : _a[c]) !== null && _b !== void 0 ? _b : stored.timestamp;
554
568
  const fresh = typeof v === 'number' && ts instanceof Date && ts > freshnessDate;
555
- if (!fresh) {
569
+ if (!fresh)
556
570
  toFetch.push(c);
557
- }
558
- }
559
- if (toFetch.length === 0) {
560
- this.options.fiatExchangeRates = {
561
- timestamp: stored.timestamp,
562
- base: stored.base,
563
- rates: storedRates,
564
- rateTimestamps: stored.rateTimestamps
565
- };
566
- return this.options.fiatExchangeRates;
567
571
  }
572
+ return toFetch;
573
+ }
574
+ async fetchFiatRates(toFetch) {
568
575
  const services = this.updateFiatExchangeRateServices.clone();
569
- let fetched;
570
576
  for (let tries = 0; tries < services.count; tries++) {
571
577
  const stc = services.serviceToCall;
572
578
  try {
573
579
  const r = await stc.service(toFetch, this.options);
574
580
  if (toFetch.every(c => { var _a; return c === 'USD' || typeof ((_a = r.rates) === null || _a === void 0 ? void 0 : _a[c]) === 'number'; })) {
575
581
  services.addServiceCallSuccess(stc);
576
- fetched = r;
577
- break;
578
- }
579
- else {
580
- services.addServiceCallFailure(stc);
582
+ return r;
581
583
  }
584
+ services.addServiceCallFailure(stc);
582
585
  }
583
- catch (eu) {
584
- const e = WalletError_1.WalletError.fromUnknown(eu);
585
- services.addServiceCallError(stc, e);
586
+ catch (error_) {
587
+ services.addServiceCallError(stc, WalletError_1.WalletError.fromUnknown(error_));
586
588
  }
587
589
  services.next();
588
590
  }
589
- if (!fetched) {
590
- if (stored && Object.keys(storedRates).length > 0) {
591
- return stored;
592
- }
593
- throw new WERR_errors_1.WERR_INTERNAL();
594
- }
591
+ return undefined;
592
+ }
593
+ mergeFiatRates(stored, storedRates, fetched) {
594
+ var _a, _b;
595
595
  const nextRates = { ...storedRates };
596
- const nextTimestamps = { ...((_d = stored.rateTimestamps) !== null && _d !== void 0 ? _d : {}) };
597
- const fetchedCurrencies = Object.keys((_e = fetched.rates) !== null && _e !== void 0 ? _e : {});
598
- for (const c of fetchedCurrencies) {
599
- const v = (_f = fetched.rates) === null || _f === void 0 ? void 0 : _f[c];
596
+ const nextTimestamps = { ...((_a = stored.rateTimestamps) !== null && _a !== void 0 ? _a : {}) };
597
+ for (const c of (fetched.rates != null ? Object.keys(fetched.rates) : [])) {
598
+ const v = (_b = fetched.rates) === null || _b === void 0 ? void 0 : _b[c];
600
599
  if (typeof v === 'number') {
601
600
  nextRates[c] = v;
602
601
  nextTimestamps[c] = fetched.timestamp;
603
602
  }
604
603
  }
605
- const nextTimestamp = new Date(Math.max(stored.timestamp instanceof Date ? stored.timestamp.getTime() : new Date(stored.timestamp).getTime(), fetched.timestamp.getTime()));
606
- this.options.fiatExchangeRates = {
607
- timestamp: nextTimestamp,
608
- base: stored.base,
609
- rates: nextRates,
610
- rateTimestamps: nextTimestamps
611
- };
612
- return this.options.fiatExchangeRates;
604
+ const storedMs = stored.timestamp instanceof Date ? stored.timestamp.getTime() : new Date(stored.timestamp).getTime();
605
+ const nextTimestamp = new Date(Math.max(storedMs, fetched.timestamp.getTime()));
606
+ return { timestamp: nextTimestamp, base: stored.base, rates: nextRates, rateTimestamps: nextTimestamps };
613
607
  }
614
608
  async nLockTimeIsFinal(tx) {
615
609
  const MAXINT = 0xffffffff;
@@ -650,7 +644,7 @@ exports.Services = Services;
650
644
  Services.getStatusForTxidsBatchLimit = 20;
651
645
  function validateScriptHash(output, outputFormat) {
652
646
  let b = (0, utilityHelpers_noBuffer_1.asArray)(output);
653
- if (!outputFormat) {
647
+ if (outputFormat == null) {
654
648
  if (b.length === 32)
655
649
  outputFormat = 'hashLE';
656
650
  else
@@ -666,7 +660,7 @@ function validateScriptHash(output, outputFormat) {
666
660
  b = (0, utilityHelpers_1.sha256Hash)(b).reverse();
667
661
  break;
668
662
  default:
669
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputFormat', `not be ${outputFormat}`);
663
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputFormat', `not be ${String(outputFormat)}`);
670
664
  }
671
665
  return (0, utilityHelpers_noBuffer_1.asString)(b);
672
666
  }