@bsv/wallet-toolbox 2.13.0 → 2.13.2

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 (659) hide show
  1. package/CHANGELOG.md +283 -1
  2. package/README.md +403 -5
  3. package/docs/README.md +8 -1
  4. package/docs/client.md +13057 -4632
  5. package/docs/identity-verification.md +196 -0
  6. package/docs/monitor.md +505 -190
  7. package/docs/services.md +4013 -1153
  8. package/docs/setup.md +98 -58
  9. package/docs/storage.md +5780 -1609
  10. package/docs/wallet.md +10155 -10871
  11. package/out/src/CWIStyleWalletManager.d.ts +6 -8
  12. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  13. package/out/src/CWIStyleWalletManager.js +170 -125
  14. package/out/src/CWIStyleWalletManager.js.map +1 -1
  15. package/out/src/Setup.d.ts +2 -0
  16. package/out/src/Setup.d.ts.map +1 -1
  17. package/out/src/Setup.js +3 -2
  18. package/out/src/Setup.js.map +1 -1
  19. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  20. package/out/src/ShamirWalletManager.js +34 -19
  21. package/out/src/ShamirWalletManager.js.map +1 -1
  22. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  23. package/out/src/SimpleWalletManager.js +7 -6
  24. package/out/src/SimpleWalletManager.js.map +1 -1
  25. package/out/src/Wallet.d.ts +50 -11
  26. package/out/src/Wallet.d.ts.map +1 -1
  27. package/out/src/Wallet.js +183 -107
  28. package/out/src/Wallet.js.map +1 -1
  29. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  30. package/out/src/WalletAuthenticationManager.js +282 -26
  31. package/out/src/WalletAuthenticationManager.js.map +1 -1
  32. package/out/src/WalletLogger.js +1 -1
  33. package/out/src/WalletLogger.js.map +1 -1
  34. package/out/src/WalletPermissionsManager.d.ts +30 -17
  35. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  36. package/out/src/WalletPermissionsManager.js +540 -312
  37. package/out/src/WalletPermissionsManager.js.map +1 -1
  38. package/out/src/WalletSettingsManager.d.ts +3 -2
  39. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  40. package/out/src/WalletSettingsManager.js +141 -6
  41. package/out/src/WalletSettingsManager.js.map +1 -1
  42. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  43. package/out/src/entropy/EntropyCollector.js +3 -2
  44. package/out/src/entropy/EntropyCollector.js.map +1 -1
  45. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  46. package/out/src/fundWalletP2PKH.js +143 -44
  47. package/out/src/fundWalletP2PKH.js.map +1 -1
  48. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  49. package/out/src/mockchain/MockChainTracker.js +5 -5
  50. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  51. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  52. package/out/src/mockchain/MockServices.js +32 -8
  53. package/out/src/mockchain/MockServices.js.map +1 -1
  54. package/out/src/monitor/Monitor.d.ts +17 -0
  55. package/out/src/monitor/Monitor.d.ts.map +1 -1
  56. package/out/src/monitor/Monitor.js +206 -42
  57. package/out/src/monitor/Monitor.js.map +1 -1
  58. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  59. package/out/src/monitor/MonitorDaemon.js +64 -16
  60. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  61. package/out/src/monitor/monitorValidation.d.ts +12 -0
  62. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  63. package/out/src/monitor/monitorValidation.js +133 -0
  64. package/out/src/monitor/monitorValidation.js.map +1 -0
  65. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
  66. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  67. package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
  68. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  69. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  70. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  71. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  72. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  73. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  74. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  75. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  76. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  78. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  79. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  80. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  81. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  82. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  83. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
  84. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  85. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  86. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  87. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  88. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  91. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
  96. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
  98. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  99. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  100. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  101. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  102. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  103. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  104. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  105. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  106. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  107. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  108. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  109. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  110. package/out/src/sdk/WalletErrorFromJson.js +112 -2
  111. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  112. package/out/src/sdk/WalletServices.interfaces.d.ts +17 -1
  113. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  114. package/out/src/services/Services.d.ts +4 -0
  115. package/out/src/services/Services.d.ts.map +1 -1
  116. package/out/src/services/Services.js +260 -117
  117. package/out/src/services/Services.js.map +1 -1
  118. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  119. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  120. package/out/src/services/chaintracker/BHServiceClient.js +267 -66
  121. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  122. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  123. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  124. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  125. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  126. package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
  127. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
  128. package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
  129. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
  130. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  131. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  132. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  133. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  134. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
  136. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  137. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
  138. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  139. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  140. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  141. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
  142. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  143. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
  144. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  145. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  146. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  147. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  148. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  149. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  150. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  151. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
  152. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  153. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  154. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  155. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
  156. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  157. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  159. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  161. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  176. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  178. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  180. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  189. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  194. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  197. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  204. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  206. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  208. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  209. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
  218. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  219. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
  220. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  222. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  224. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
  226. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  231. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  235. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  238. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  240. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  241. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
  243. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
  245. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  247. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +486 -82
  249. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  252. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
  255. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  257. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  258. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
  260. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  262. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
  264. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  265. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
  266. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  267. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  268. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  270. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
  272. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
  274. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  277. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
  278. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
  280. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
  282. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
  284. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  286. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  287. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  288. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  289. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
  290. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  291. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
  292. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  293. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  294. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  295. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  296. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  297. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  299. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
  300. package/out/src/services/classifyOutputUtxo.js +19 -10
  301. package/out/src/services/classifyOutputUtxo.js.map +1 -1
  302. package/out/src/services/fiatRateValidation.d.ts +12 -0
  303. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  304. package/out/src/services/fiatRateValidation.js +138 -0
  305. package/out/src/services/fiatRateValidation.js.map +1 -0
  306. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  307. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  308. package/out/src/services/getCanonicalMerklePath.js +90 -0
  309. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  310. package/out/src/services/providers/ARC.d.ts +3 -16
  311. package/out/src/services/providers/ARC.d.ts.map +1 -1
  312. package/out/src/services/providers/ARC.js +36 -37
  313. package/out/src/services/providers/ARC.js.map +1 -1
  314. package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
  315. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  316. package/out/src/services/providers/ArcSSEClient.js +352 -85
  317. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  318. package/out/src/services/providers/Arcade.d.ts +1 -0
  319. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  320. package/out/src/services/providers/Arcade.js +56 -41
  321. package/out/src/services/providers/Arcade.js.map +1 -1
  322. package/out/src/services/providers/Bitails.d.ts +3 -0
  323. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  324. package/out/src/services/providers/Bitails.js +79 -12
  325. package/out/src/services/providers/Bitails.js.map +1 -1
  326. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  327. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  328. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  329. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  330. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  331. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  332. package/out/src/services/providers/WhatsOnChain.js +221 -69
  333. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  334. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  335. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  336. package/out/src/services/providers/arcProviderConfig.js +83 -0
  337. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  338. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  339. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  340. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  341. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  342. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  343. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  344. package/out/src/services/providers/exchangeRates.js +153 -226
  345. package/out/src/services/providers/exchangeRates.js.map +1 -1
  346. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  347. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  348. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  349. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  350. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  351. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  352. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  353. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  354. package/out/src/services/validateMerklePathResult.js +272 -0
  355. package/out/src/services/validateMerklePathResult.js.map +1 -0
  356. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  357. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  358. package/out/src/services/validatePostBeefResult.js +334 -0
  359. package/out/src/services/validatePostBeefResult.js.map +1 -0
  360. package/out/src/services/validateRawTxResult.d.ts +6 -0
  361. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  362. package/out/src/services/validateRawTxResult.js +77 -0
  363. package/out/src/services/validateRawTxResult.js.map +1 -0
  364. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  365. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  366. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  367. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  368. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  369. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  370. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  371. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  372. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  373. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  374. package/out/src/services/validateUtxoStatusResult.js +126 -0
  375. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  376. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  377. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  378. package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
  379. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  380. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
  381. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  382. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
  383. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  384. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  385. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  386. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  387. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  388. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  389. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  390. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  391. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  392. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  393. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  394. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  395. package/out/src/signer/methods/createAction.d.ts +4 -3
  396. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  397. package/out/src/signer/methods/createAction.js +4 -2
  398. package/out/src/signer/methods/createAction.js.map +1 -1
  399. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
  400. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
  401. package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
  402. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
  403. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  404. package/out/src/signer/methods/internalizeAction.js +2 -2
  405. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  406. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  407. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  408. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  409. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  410. package/out/src/signer/methods/signAction.js +3 -2
  411. package/out/src/signer/methods/signAction.js.map +1 -1
  412. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  413. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  414. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  415. package/out/src/storage/StorageIdb.d.ts +5 -3
  416. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  417. package/out/src/storage/StorageIdb.js +15 -20
  418. package/out/src/storage/StorageIdb.js.map +1 -1
  419. package/out/src/storage/StorageKnex.d.ts +5 -3
  420. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  421. package/out/src/storage/StorageKnex.js +143 -93
  422. package/out/src/storage/StorageKnex.js.map +1 -1
  423. package/out/src/storage/StorageProvider.d.ts +19 -9
  424. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  425. package/out/src/storage/StorageProvider.js +229 -145
  426. package/out/src/storage/StorageProvider.js.map +1 -1
  427. package/out/src/storage/StorageReader.d.ts +1 -1
  428. package/out/src/storage/StorageReader.d.ts.map +1 -1
  429. package/out/src/storage/StorageReader.js +9 -42
  430. package/out/src/storage/StorageReader.js.map +1 -1
  431. package/out/src/storage/StorageReaderWriter.d.ts +1 -0
  432. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  433. package/out/src/storage/StorageReaderWriter.js +37 -36
  434. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  435. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  436. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  437. package/out/src/storage/StorageSyncReader.js +3 -36
  438. package/out/src/storage/StorageSyncReader.js.map +1 -1
  439. package/out/src/storage/WalletStorageManager.d.ts +8 -7
  440. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  441. package/out/src/storage/WalletStorageManager.js +38 -65
  442. package/out/src/storage/WalletStorageManager.js.map +1 -1
  443. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  444. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  445. package/out/src/storage/adminServer/adminServer.js +16 -44
  446. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  447. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  448. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  449. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  450. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  451. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  452. package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
  453. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  454. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  455. package/out/src/storage/methods/actionBatch.js +3 -2
  456. package/out/src/storage/methods/actionBatch.js.map +1 -1
  457. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  458. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  459. package/out/src/storage/methods/actionBatchBlobs.js +40 -22
  460. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  461. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  462. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  463. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  464. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  465. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  466. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
  467. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  468. package/out/src/storage/methods/createAction.d.ts +7 -6
  469. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  470. package/out/src/storage/methods/createAction.js +7 -5
  471. package/out/src/storage/methods/createAction.js.map +1 -1
  472. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  473. package/out/src/storage/methods/generateChange.js +12 -11
  474. package/out/src/storage/methods/generateChange.js.map +1 -1
  475. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  476. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  477. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  478. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  479. package/out/src/storage/methods/internalizeAction.js +134 -129
  480. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  481. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  482. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  483. package/out/src/storage/methods/listActionsIdb.js +2 -2
  484. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  485. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  486. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  487. package/out/src/storage/methods/listActionsKnex.js +10 -9
  488. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  489. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  490. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  491. package/out/src/storage/methods/listCertificates.js.map +1 -1
  492. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  493. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  494. package/out/src/storage/methods/listOutputsIdb.js +11 -11
  495. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  496. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  497. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  498. package/out/src/storage/methods/listOutputsKnex.js +15 -23
  499. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  500. package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
  501. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  502. package/out/src/storage/methods/noSendExpiry.js +10 -8
  503. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  504. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
  505. package/out/src/storage/methods/preparedBeef.js +13 -14
  506. package/out/src/storage/methods/preparedBeef.js.map +1 -1
  507. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  508. package/out/src/storage/methods/processAction.js +37 -6
  509. package/out/src/storage/methods/processAction.js.map +1 -1
  510. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
  511. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  512. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  513. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  514. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  515. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  516. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
  517. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
  518. package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
  519. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
  520. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
  521. package/out/src/storage/methods/validateSyncProof.js +3 -3
  522. package/out/src/storage/methods/validateSyncProof.js.map +1 -1
  523. package/out/src/storage/portable/index.d.ts.map +1 -1
  524. package/out/src/storage/portable/index.js +21 -13
  525. package/out/src/storage/portable/index.js.map +1 -1
  526. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  527. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  528. package/out/src/storage/remoting/BinaryJson.js +37 -0
  529. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  530. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  531. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  532. package/out/src/storage/remoting/KnexSessionManager.js +222 -30
  533. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  534. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -1
  535. package/out/src/storage/remoting/KnexSyncTransferStore.js +3 -4
  536. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -1
  537. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  538. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  539. package/out/src/storage/remoting/StorageClient.js +63 -6
  540. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  541. package/out/src/storage/remoting/StorageClientBase.d.ts +23 -6
  542. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  543. package/out/src/storage/remoting/StorageClientBase.js +148 -19
  544. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  545. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  546. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  547. package/out/src/storage/remoting/StorageMobile.js +11 -9
  548. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  549. package/out/src/storage/remoting/StorageServer.d.ts +5 -1
  550. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  551. package/out/src/storage/remoting/StorageServer.js +95 -19
  552. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  553. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -1
  554. package/out/src/storage/remoting/SyncTransfer.js +3 -2
  555. package/out/src/storage/remoting/SyncTransfer.js.map +1 -1
  556. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  557. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  558. package/out/src/storage/schema/KnexMigrations.js +28 -6
  559. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  560. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  561. package/out/src/storage/schema/entities/EntityOutput.js +11 -4
  562. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  563. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  564. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  565. package/out/src/storage/schema/entities/EntityProvenTx.js +93 -39
  566. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  567. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  568. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  569. package/out/src/storage/schema/entities/EntitySyncState.js +1 -1
  570. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  571. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  572. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  573. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  574. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  575. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  576. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  577. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  578. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  579. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  580. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  581. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  582. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  583. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  584. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  585. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  586. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  587. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  588. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  589. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  590. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  591. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  592. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  593. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  594. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  595. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  596. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  597. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  598. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  599. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  600. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  601. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  602. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  603. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  604. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  605. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  606. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  607. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  608. package/out/src/utility/actionBatchDigest.js +9 -7
  609. package/out/src/utility/actionBatchDigest.js.map +1 -1
  610. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  611. package/out/src/utility/actionBatchPack.js +7 -12
  612. package/out/src/utility/actionBatchPack.js.map +1 -1
  613. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  614. package/out/src/utility/brc153ReferenceLabels.js +4 -4
  615. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  616. package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
  617. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
  618. package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
  619. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
  620. package/out/src/utility/exactActionSpend.d.ts +11 -0
  621. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  622. package/out/src/utility/exactActionSpend.js +11 -0
  623. package/out/src/utility/exactActionSpend.js.map +1 -0
  624. package/out/src/utility/identityUtils.d.ts +44 -4
  625. package/out/src/utility/identityUtils.d.ts.map +1 -1
  626. package/out/src/utility/identityUtils.js +376 -61
  627. package/out/src/utility/identityUtils.js.map +1 -1
  628. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  629. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  630. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  631. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  632. package/out/src/utility/tscProofToMerklePath.js +35 -4
  633. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  634. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  635. package/out/src/utility/utilityHelpers.js +8 -6
  636. package/out/src/utility/utilityHelpers.js.map +1 -1
  637. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  638. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  639. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  640. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  641. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  642. package/out/src/utility/verifyOverlayOutput.js +22 -0
  643. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  644. package/out/src/utility/walletResultGuards.d.ts +14 -0
  645. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  646. package/out/src/utility/walletResultGuards.js +28 -0
  647. package/out/src/utility/walletResultGuards.js.map +1 -0
  648. package/out/src/wab-client/WABClient.d.ts +3 -17
  649. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  650. package/out/src/wab-client/WABClient.js +30 -14
  651. package/out/src/wab-client/WABClient.js.map +1 -1
  652. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  653. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  654. package/out/src/wab-client/WABResponseValidation.js +321 -0
  655. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  656. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  657. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  658. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  659. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Services.js","sourceRoot":"","sources":["../../../src/services/Services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Services.js","sourceRoot":"","sources":["../../../src/services/Services.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  import { BlockHeadersService } from '@bsv/sdk';
2
- import { ChaintracksServiceClient, ChaintracksServiceClientOptions } from './chaintracks/ChaintracksServiceClient';
3
- import { HeaderListener, ReorgListener, ChaintracksInfoApi } from './chaintracks/Api/ChaintracksClientApi';
2
+ import { ChaintracksServiceClientOptions } from './chaintracks/ChaintracksServiceClient';
3
+ import { HeaderListener, ReorgListener, ChaintracksInfoApi, ChaintracksClientApi } from './chaintracks/Api/ChaintracksClientApi';
4
4
  import { Chain } from '../../sdk/types';
5
5
  import { BlockHeader } from '../../sdk/WalletServices.interfaces';
6
- export declare class BHServiceClient implements ChaintracksServiceClient {
6
+ export declare class BHServiceClient implements ChaintracksClientApi {
7
+ /** HTTP polling client; callback event methods are legacy unsupported stubs. */
8
+ readonly supportsReorgEvents = false;
9
+ private readonly fetcher;
10
+ private readonly requestTimeoutMsecs;
11
+ private readonly maxResponseBytes;
7
12
  bhs: BlockHeadersService;
8
13
  cache: Record<number, string>;
9
14
  chain: Chain;
10
15
  serviceUrl: string;
11
16
  options: ChaintracksServiceClientOptions;
12
17
  apiKey: string;
13
- constructor(chain: Chain, url: string, apiKey: string);
18
+ constructor(chain: Chain, url: string, apiKey: string, options?: ChaintracksServiceClientOptions);
14
19
  currentHeight(): Promise<number>;
15
20
  isValidRootForHeight(root: string, height: number): Promise<boolean>;
16
21
  getPresentHeight(): Promise<number>;
@@ -21,6 +26,18 @@ export declare class BHServiceClient implements ChaintracksServiceClient {
21
26
  findChainTipHeader(): Promise<BlockHeader>;
22
27
  getJsonOrUndefined<T>(path: string): Promise<T | undefined>;
23
28
  getJson<T>(path: string): Promise<T>;
29
+ private requestJson;
30
+ private readBoundedBody;
31
+ private readStreamChunk;
32
+ private abortError;
33
+ private validateHeaderArray;
34
+ private validateHeaderState;
35
+ private validateRemoteHeader;
36
+ private requirePlainRecord;
37
+ private validateHash;
38
+ private validateHeight;
39
+ private normalizeServiceUrl;
40
+ private positiveInteger;
24
41
  postJsonVoid<T>(_path: string, _params: T): Promise<void>;
25
42
  addHeader(_header: any): Promise<void>;
26
43
  findHeaderForMerkleRoot(_merkleRoot: string, _height?: number): Promise<undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"BHServiceClient.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/BHServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAS,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AAElH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC1G,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAmB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAoBlF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,GAAG,EAAE,mBAAmB,CAAA;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,+BAA+B,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IAEd,YAAY,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAOpD;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzE;IAEK,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExC;IAEK,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAe1E;IAEK,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAc3E;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/D;IAEK,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE1E;IAEK,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAa/C;IAEK,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAehE;IAEK,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIzC;IAMK,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAEK,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEK,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAEvF;IAEK,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAEvC;IAEK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAE/B;IAEK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpC;IAEK,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE9C;IAEK,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExC;IAEK,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjE;IAEK,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/D;IAEK,WAAW,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3D;IAEK,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAE3C;CACF"}
1
+ {"version":3,"file":"BHServiceClient.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/BHServiceClient.ts"],"names":[],"mappings":"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"}
@@ -2,123 +2,119 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BHServiceClient = void 0;
4
4
  const sdk_1 = require("@bsv/sdk");
5
+ const utils_1 = require("@bsv/sdk/primitives/utils");
5
6
  const ChaintracksServiceClient_1 = require("./chaintracks/ChaintracksServiceClient");
6
7
  const blockHeaderUtilities_1 = require("./chaintracks/util/blockHeaderUtilities");
7
8
  class BHServiceClient {
9
+ /** HTTP polling client; callback event methods are legacy unsupported stubs. */
10
+ supportsReorgEvents = false;
11
+ fetcher;
12
+ requestTimeoutMsecs;
13
+ maxResponseBytes;
8
14
  bhs;
9
15
  cache;
10
16
  chain;
11
17
  serviceUrl;
12
18
  options;
13
19
  apiKey;
14
- constructor(chain, url, apiKey) {
15
- this.bhs = new sdk_1.BlockHeadersService(url, { apiKey });
20
+ constructor(chain, url, apiKey, options = {}) {
21
+ if (!['main', 'test', 'stn', 'ttn', 'tstn', 'mock'].includes(chain)) {
22
+ throw new Error('chain must be a supported Chain value.');
23
+ }
24
+ if (typeof apiKey !== 'string' || apiKey.length > 8192 || /[\r\n]/.test(apiKey)) {
25
+ throw new Error('apiKey must be a string without control lines and no longer than 8192 characters.');
26
+ }
27
+ this.serviceUrl = this.normalizeServiceUrl(url);
28
+ this.options = { ...ChaintracksServiceClient_1.ChaintracksServiceClient.createChaintracksServiceClientOptions(), ...options };
29
+ this.fetcher = this.options.fetch ?? fetch;
30
+ this.requestTimeoutMsecs = this.positiveInteger(this.options.requestTimeoutMsecs ?? 30_000, 'requestTimeoutMsecs', 60 * 60 * 1000);
31
+ this.maxResponseBytes = this.positiveInteger(this.options.maxResponseBytes ?? 4 * 1024 * 1024, 'maxResponseBytes', 512 * 1024 * 1024);
32
+ this.bhs = new sdk_1.BlockHeadersService(this.serviceUrl, { apiKey });
16
33
  this.cache = {};
17
34
  this.chain = chain;
18
- this.serviceUrl = url;
19
- this.options = ChaintracksServiceClient_1.ChaintracksServiceClient.createChaintracksServiceClientOptions();
20
35
  this.apiKey = apiKey;
21
36
  }
22
37
  async currentHeight() {
23
- return await this.bhs.currentHeight();
38
+ const response = await this.getJson('/api/v1/chain/tip/longest');
39
+ const state = this.validateHeaderState(response, 'chain tip');
40
+ return state.height;
24
41
  }
25
42
  async isValidRootForHeight(root, height) {
26
- const cachedRoot = this.cache[height];
27
- if (cachedRoot) {
28
- return cachedRoot === root;
29
- }
30
- const isValid = await this.bhs.isValidRootForHeight(root, height);
31
- this.cache[height] = root;
32
- return isValid;
43
+ const header = await this.findHeaderForHeight(height);
44
+ const merkleRoot = header?.merkleRoot;
45
+ if (typeof merkleRoot !== 'string' || merkleRoot.length === 0)
46
+ return false;
47
+ // Diagnostic only: validity is always decided from a freshly read canonical header.
48
+ this.cache[height] = merkleRoot;
49
+ return merkleRoot === root;
33
50
  }
34
51
  async getPresentHeight() {
35
- return await this.bhs.currentHeight();
52
+ return await this.currentHeight();
36
53
  }
37
54
  async findHeaderForHeight(height) {
55
+ this.validateHeight(height, 'height');
38
56
  const response = await this.getJsonOrUndefined(`/api/v1/chain/header/byHeight?height=${height}`);
39
- const header = response?.[0];
40
- if (header == null)
57
+ if (response === undefined)
41
58
  return undefined;
42
- const formatted = {
43
- version: header.version,
44
- previousHash: header.prevBlockHash,
45
- merkleRoot: header.merkleRoot,
46
- time: header.creationTimestamp,
47
- bits: header.difficultyTarget,
48
- nonce: header.nonce,
49
- height,
50
- hash: header.hash
51
- };
52
- return formatted;
59
+ const headers = this.validateHeaderArray(response, height, 1);
60
+ return headers[0];
53
61
  }
54
62
  async findHeaderForBlockHash(hash) {
55
- const response = await this.getJsonOrUndefined(`/api/v1/chain/header/state/${hash}`);
56
- if (response?.header == null)
63
+ const canonicalHash = this.validateHash(hash, 'hash');
64
+ const response = await this.getJsonOrUndefined(`/api/v1/chain/header/state/${canonicalHash}`);
65
+ if (response === undefined)
57
66
  return undefined;
58
- const formatted = {
59
- version: response.header.version,
60
- previousHash: response.header.prevBlockHash,
61
- merkleRoot: response.header.merkleRoot,
62
- time: response.header.creationTimestamp,
63
- bits: response.header.difficultyTarget,
64
- nonce: response.header.nonce,
65
- height: response.height,
66
- hash: response.header.hash
67
- };
68
- return formatted;
67
+ const state = this.validateHeaderState(response, 'header-by-hash response');
68
+ if (state.header.hash !== canonicalHash)
69
+ throw new Error('Block Headers Service returned a header for the wrong hash.');
70
+ return state.header;
69
71
  }
70
72
  async getHeaders(height, count) {
73
+ this.validateHeight(height, 'height');
74
+ if (!Number.isSafeInteger(count) || count < 1 || count > Math.floor(this.maxResponseBytes / 160)) {
75
+ throw new Error('count exceeds the configured header response limit.');
76
+ }
77
+ if (height + count - 1 > 0x7fffffff)
78
+ throw new Error('requested header range exceeds the supported height.');
71
79
  const response = await this.getJsonOrUndefined(`/api/v1/chain/header/byHeight?height=${height}&count=${count}`);
72
80
  if (response == null)
73
81
  return '';
74
- if (response.length < count)
82
+ const remoteHeaders = this.validateHeaderArray(response, height, count);
83
+ if (remoteHeaders.length < count)
75
84
  throw new Error('Cannot retrieve enough headers');
76
- const headers = response.map(response => {
85
+ const headers = remoteHeaders.map(response => {
77
86
  const header = {
78
87
  version: response.version,
79
- previousHash: response.prevBlockHash,
88
+ previousHash: response.previousHash,
80
89
  merkleRoot: response.merkleRoot,
81
- time: response.creationTimestamp,
82
- bits: response.difficultyTarget,
90
+ time: response.time,
91
+ bits: response.bits,
83
92
  nonce: response.nonce
84
93
  };
85
94
  return (0, blockHeaderUtilities_1.serializeBaseBlockHeader)(header);
86
95
  });
87
- return headers.reduce((str, arr) => str + sdk_1.Utils.toHex(arr), '');
96
+ return headers.reduce((str, arr) => str + (0, utils_1.toHex)(arr), '');
88
97
  }
89
98
  async findChainWorkForBlockHash(_hash) {
90
99
  throw new Error('Not implemented');
91
100
  }
92
101
  async findChainTipHeader() {
93
102
  const response = await this.getJson('/api/v1/chain/tip/longest');
94
- const formatted = {
95
- version: response.header.version,
96
- previousHash: response.header.prevBlockHash,
97
- merkleRoot: response.header.merkleRoot,
98
- time: response.header.creationTimestamp,
99
- bits: response.header.difficultyTarget,
100
- nonce: response.header.nonce,
101
- height: response.height,
102
- hash: response.header.hash
103
- };
104
- return formatted;
103
+ return this.validateHeaderState(response, 'chain tip').header;
105
104
  }
106
105
  async getJsonOrUndefined(path) {
107
106
  let e;
108
107
  for (let retry = 0; retry < 3; retry++) {
109
108
  try {
110
- const r = await fetch(`${this.serviceUrl}${path}`, { headers: { Authorization: `Bearer ${this.apiKey}` } });
111
- if (r.status !== 200)
112
- throw new Error(JSON.stringify(r));
113
- const v = (await r.json());
114
- if (!v)
109
+ const value = await this.requestJson(path);
110
+ if (value === undefined)
115
111
  return undefined;
116
- return v;
112
+ return value;
117
113
  }
118
114
  catch (error_) {
119
- e = error_;
115
+ e = error_ instanceof Error ? error_ : new Error(String(error_));
120
116
  }
121
- if (e && e.name !== 'ECONNRESET')
117
+ if (e && e.name !== 'ECONNRESET' && e.code !== 'ECONNRESET')
122
118
  break;
123
119
  }
124
120
  if (e != null)
@@ -130,6 +126,211 @@ class BHServiceClient {
130
126
  throw new Error('Value was undefined. Requested object may not exist.');
131
127
  return r;
132
128
  }
129
+ async requestJson(path) {
130
+ if (!path.startsWith('/') || path.startsWith('//') || /[\\\r\n#]/.test(path)) {
131
+ throw new Error('Block Headers Service request path must be an absolute local path.');
132
+ }
133
+ const controller = new AbortController();
134
+ const timeout = setTimeout(() => controller.abort(), this.requestTimeoutMsecs);
135
+ try {
136
+ const headers = { Accept: 'application/json' };
137
+ if (this.apiKey !== '')
138
+ headers.Authorization = `Bearer ${this.apiKey}`;
139
+ const response = await this.fetcher(`${this.serviceUrl}${path}`, {
140
+ headers,
141
+ redirect: 'error',
142
+ signal: controller.signal
143
+ });
144
+ if (response.status === 404) {
145
+ await response.body?.cancel().catch(() => { });
146
+ return undefined;
147
+ }
148
+ const bytes = await this.readBoundedBody(response, controller.signal);
149
+ if (!response.ok)
150
+ throw new Error(`Block Headers Service request failed with HTTP ${response.status}.`);
151
+ try {
152
+ return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(bytes));
153
+ }
154
+ catch {
155
+ throw new Error('Block Headers Service returned invalid JSON.');
156
+ }
157
+ }
158
+ finally {
159
+ clearTimeout(timeout);
160
+ controller.abort();
161
+ }
162
+ }
163
+ async readBoundedBody(response, signal) {
164
+ const contentLength = response.headers.get('content-length');
165
+ if (contentLength != null) {
166
+ if (!/^(0|[1-9]\d*)$/.test(contentLength)) {
167
+ throw new Error('Block Headers Service returned an invalid Content-Length.');
168
+ }
169
+ const declared = Number(contentLength);
170
+ if (!Number.isSafeInteger(declared) || declared > this.maxResponseBytes) {
171
+ throw new Error('Block Headers Service response exceeds the configured byte limit.');
172
+ }
173
+ }
174
+ if (response.body == null)
175
+ return new Uint8Array(0);
176
+ const reader = response.body.getReader();
177
+ const chunks = [];
178
+ let length = 0;
179
+ try {
180
+ for (;;) {
181
+ const { done, value } = await this.readStreamChunk(reader, signal);
182
+ if (done)
183
+ break;
184
+ length += value.byteLength;
185
+ if (!Number.isSafeInteger(length) || length > this.maxResponseBytes) {
186
+ throw new Error('Block Headers Service response exceeds the configured byte limit.');
187
+ }
188
+ chunks.push(value);
189
+ }
190
+ }
191
+ finally {
192
+ await reader.cancel().catch(() => { });
193
+ reader.releaseLock();
194
+ }
195
+ const result = new Uint8Array(length);
196
+ let offset = 0;
197
+ for (const chunk of chunks) {
198
+ result.set(chunk, offset);
199
+ offset += chunk.byteLength;
200
+ }
201
+ return result;
202
+ }
203
+ async readStreamChunk(reader, signal) {
204
+ if (signal.aborted)
205
+ throw this.abortError();
206
+ return await new Promise((resolve, reject) => {
207
+ let settled = false;
208
+ const finish = (callback, value) => {
209
+ if (settled)
210
+ return;
211
+ settled = true;
212
+ signal.removeEventListener('abort', onAbort);
213
+ callback(value);
214
+ };
215
+ const onAbort = () => finish(reject, this.abortError());
216
+ signal.addEventListener('abort', onAbort, { once: true });
217
+ reader.read().then(value => finish(resolve, value), error => finish(reject, error instanceof Error ? error : new Error(String(error))));
218
+ });
219
+ }
220
+ abortError() {
221
+ const error = new Error('Block Headers Service request exceeded its deadline.');
222
+ error.name = 'AbortError';
223
+ return error;
224
+ }
225
+ validateHeaderArray(value, firstHeight, maximum) {
226
+ if (!Array.isArray(value) || value.length > maximum) {
227
+ throw new Error('Block Headers Service returned an invalid header array.');
228
+ }
229
+ const headers = [];
230
+ for (let index = 0; index < value.length; index++) {
231
+ if (!Object.hasOwn(value, index))
232
+ throw new Error('Block Headers Service returned a sparse header array.');
233
+ const header = this.validateRemoteHeader(value[index], firstHeight + index, `header ${index}`);
234
+ if (index > 0 && header.previousHash !== headers[index - 1]?.hash) {
235
+ throw new Error('Block Headers Service returned an unlinked header array.');
236
+ }
237
+ headers.push(header);
238
+ }
239
+ return headers;
240
+ }
241
+ validateHeaderState(value, name) {
242
+ const state = this.requirePlainRecord(value, name);
243
+ const height = this.validateHeight(state.height, `${name} height`);
244
+ if (state.state !== undefined && (typeof state.state !== 'string' || state.state.length > 128)) {
245
+ throw new Error(`Block Headers Service returned an invalid ${name} state.`);
246
+ }
247
+ if (state.chainWork !== undefined &&
248
+ (typeof state.chainWork !== 'string' || !/^[0-9a-fA-F]{64}$/.test(state.chainWork))) {
249
+ throw new Error(`Block Headers Service returned invalid ${name} chain work.`);
250
+ }
251
+ return { header: this.validateRemoteHeader(state.header, height, name), height };
252
+ }
253
+ validateRemoteHeader(value, height, name) {
254
+ const raw = this.requirePlainRecord(value, name);
255
+ const header = {
256
+ version: raw.version,
257
+ previousHash: raw.prevBlockHash,
258
+ merkleRoot: raw.merkleRoot,
259
+ time: raw.creationTimestamp,
260
+ bits: raw.difficultyTarget,
261
+ nonce: raw.nonce,
262
+ height,
263
+ hash: raw.hash
264
+ };
265
+ try {
266
+ (0, blockHeaderUtilities_1.validateHeaderFormat)(header);
267
+ if ((0, blockHeaderUtilities_1.blockHash)(header) !== header.hash.toLowerCase()) {
268
+ throw new Error('computed hash does not match the supplied hash');
269
+ }
270
+ (0, blockHeaderUtilities_1.validateHeaderProofOfWork)(header);
271
+ }
272
+ catch (error) {
273
+ throw new Error(`Block Headers Service returned an invalid ${name}: ${error instanceof Error ? error.message : String(error)}`);
274
+ }
275
+ return {
276
+ ...header,
277
+ previousHash: header.previousHash.toLowerCase(),
278
+ merkleRoot: header.merkleRoot.toLowerCase(),
279
+ hash: header.hash.toLowerCase()
280
+ };
281
+ }
282
+ requirePlainRecord(value, name) {
283
+ if (value == null || typeof value !== 'object' || Array.isArray(value)) {
284
+ throw new Error(`Block Headers Service returned an invalid ${name}.`);
285
+ }
286
+ const prototype = Object.getPrototypeOf(value);
287
+ if (prototype !== Object.prototype && prototype !== null) {
288
+ throw new Error(`Block Headers Service returned an invalid ${name}.`);
289
+ }
290
+ const descriptors = Object.getOwnPropertyDescriptors(value);
291
+ if (Object.values(descriptors).some(descriptor => descriptor.get != null || descriptor.set != null)) {
292
+ throw new Error(`Block Headers Service returned an invalid ${name}.`);
293
+ }
294
+ return value;
295
+ }
296
+ validateHash(value, name) {
297
+ if (typeof value !== 'string' || !/^[0-9a-fA-F]{64}$/.test(value)) {
298
+ throw new Error(`${name} must be exactly 32 hexadecimal bytes.`);
299
+ }
300
+ return value.toLowerCase();
301
+ }
302
+ validateHeight(value, name) {
303
+ if (!Number.isSafeInteger(value) || value < 0 || value > 0x7fffffff) {
304
+ throw new Error(`${name} must be an integer between 0 and 2147483647.`);
305
+ }
306
+ return value;
307
+ }
308
+ normalizeServiceUrl(value) {
309
+ let parsed;
310
+ try {
311
+ parsed = new URL(value);
312
+ }
313
+ catch {
314
+ throw new Error('serviceUrl must be an absolute HTTP(S) URL.');
315
+ }
316
+ if (!['http:', 'https:'].includes(parsed.protocol) ||
317
+ parsed.username !== '' ||
318
+ parsed.password !== '' ||
319
+ parsed.search !== '' ||
320
+ parsed.hash !== '') {
321
+ throw new Error('serviceUrl must be an HTTP(S) URL without credentials, query, or fragment.');
322
+ }
323
+ let normalized = parsed.toString();
324
+ while (normalized.endsWith('/'))
325
+ normalized = normalized.slice(0, -1);
326
+ return normalized;
327
+ }
328
+ positiveInteger(value, name, maximum) {
329
+ if (!Number.isSafeInteger(value) || value < 1 || value > maximum) {
330
+ throw new Error(`${name} must be an integer between 1 and ${maximum}.`);
331
+ }
332
+ return value;
333
+ }
133
334
  /*
134
335
  Please note that all methods hereafter are included only to match the interface of ChaintracksServiceClient.
135
336
  */
@@ -158,10 +359,10 @@ class BHServiceClient {
158
359
  throw new Error('Not implemented');
159
360
  }
160
361
  async getChainTipHeader() {
161
- throw new Error('Not implemented');
362
+ return await this.findChainTipHeader();
162
363
  }
163
364
  async findChainTipHash() {
164
- throw new Error('Not implemented');
365
+ return (await this.findChainTipHeader()).hash;
165
366
  }
166
367
  async subscribeHeaders(_listener) {
167
368
  throw new Error('Method not implemented.');