@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":"Chaintracks.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chaintracks.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Chaintracks = void 0;
3
+ exports.Chaintracks = exports.ChaintracksQueueCapacityError = void 0;
4
4
  const dirtyHashes_1 = require("./util/dirtyHashes");
5
5
  const blockHeaderUtilities_1 = require("./util/blockHeaderUtilities");
6
6
  const utilityHelpers_noBuffer_1 = require("../../../utility/utilityHelpers.noBuffer");
7
7
  const HeightRange_1 = require("./util/HeightRange");
8
8
  const SingleWriterMultiReaderLock_1 = require("./util/SingleWriterMultiReaderLock");
9
+ class ChaintracksQueueCapacityError extends Error {
10
+ code = 'ERR_CHAINTRACKS_QUEUE_CAPACITY';
11
+ constructor() {
12
+ super('The submitted block-header queue is at capacity.');
13
+ this.name = 'ChaintracksQueueCapacityError';
14
+ }
15
+ }
16
+ exports.ChaintracksQueueCapacityError = ChaintracksQueueCapacityError;
9
17
  const utilityHelpers_1 = require("../../../utility/utilityHelpers");
10
18
  const WalletError_1 = require("../../../sdk/WalletError");
19
+ const WERR_errors_1 = require("../../../sdk/WERR_errors");
20
+ const safeDiagnostic_1 = require("./util/safeDiagnostic");
11
21
  class Chaintracks {
12
22
  options;
23
+ static maxSubscribersPerKind = 100_000;
24
+ static maxBulkLiveHeaders = 100_000;
13
25
  static createOptions(chain) {
14
26
  return {
15
27
  chain,
@@ -17,7 +29,7 @@ class Chaintracks {
17
29
  bulkIngestors: [],
18
30
  liveIngestors: [],
19
31
  addLiveRecursionLimit: 36,
20
- logging: (...args) => console.log(new Date().toISOString(), ...args),
32
+ maxQueuedBaseHeaders: 4096,
21
33
  readonly: false
22
34
  };
23
35
  }
@@ -32,9 +44,12 @@ class Chaintracks {
32
44
  bulkIngestors;
33
45
  liveIngestors;
34
46
  baseHeaders = [];
47
+ queuedBaseHeaderHashes = new Set();
35
48
  liveHeaders = [];
36
49
  addLiveRecursionLimit = 11;
50
+ maxQueuedBaseHeaders;
37
51
  available = false;
52
+ cleanupComplete = false;
38
53
  startupError = null;
39
54
  subscriberCallbacksEnabled = false;
40
55
  stopMainThread = true;
@@ -47,14 +62,29 @@ class Chaintracks {
47
62
  sourceStatus = new Map();
48
63
  constructor(options) {
49
64
  this.options = options;
65
+ if (!['main', 'test', 'stn', 'ttn', 'tstn', 'mock'].includes(options.chain)) {
66
+ throw new Error('chain must be a supported Chain value.');
67
+ }
50
68
  if (options.storage == null)
51
69
  throw new Error('storage is required.');
52
- if (!options.bulkIngestors || options.bulkIngestors.length < 1) {
70
+ if (!Array.isArray(options.bulkIngestors) || options.bulkIngestors.length < 1) {
53
71
  throw new Error('At least one bulk ingestor is required.');
54
72
  }
55
- if (!options.liveIngestors || options.liveIngestors.length < 1) {
73
+ if (!Array.isArray(options.liveIngestors) || options.liveIngestors.length < 1) {
56
74
  throw new Error('At least one live ingestor is required.');
57
75
  }
76
+ this.validateIngestors('bulkIngestors', options.bulkIngestors);
77
+ this.validateIngestors('liveIngestors', options.liveIngestors);
78
+ if (!Number.isSafeInteger(options.addLiveRecursionLimit) ||
79
+ options.addLiveRecursionLimit < 0 ||
80
+ options.addLiveRecursionLimit > 10_000) {
81
+ throw new Error('addLiveRecursionLimit must be an integer between 0 and 10000.');
82
+ }
83
+ if (typeof options.readonly !== 'boolean')
84
+ throw new Error('readonly must be a boolean.');
85
+ if (options.logging != null && typeof options.logging !== 'function') {
86
+ throw new Error('logging must be a function when supplied.');
87
+ }
58
88
  this.chain = options.chain;
59
89
  this.readonly = options.readonly;
60
90
  this.storage = options.storage;
@@ -69,11 +99,26 @@ class Chaintracks {
69
99
  this.sourceStatus.set(name, { name, role: 'live', state: 'unknown' });
70
100
  }
71
101
  this.addLiveRecursionLimit = options.addLiveRecursionLimit;
102
+ this.maxQueuedBaseHeaders = options.maxQueuedBaseHeaders ?? 4096;
103
+ if (!Number.isSafeInteger(this.maxQueuedBaseHeaders) ||
104
+ this.maxQueuedBaseHeaders < 1 ||
105
+ this.maxQueuedBaseHeaders > 1_000_000) {
106
+ throw new Error('maxQueuedBaseHeaders must be an integer between 1 and 1000000.');
107
+ }
72
108
  if (options.logging != null)
73
109
  this.log = options.logging;
74
110
  this.storage.log = this.log;
75
111
  this.log(`New ChaintracksBase Instance Constructed ${options.chain}Net`);
76
112
  }
113
+ validateIngestors(name, ingestors) {
114
+ if (ingestors.length > 1_000)
115
+ throw new Error(`${name} cannot contain more than 1000 entries.`);
116
+ for (let i = 0; i < ingestors.length; i++) {
117
+ if (!Object.prototype.hasOwnProperty.call(ingestors, i) || ingestors[i] == null) {
118
+ throw new Error(`${name} must be a dense array of ingestors.`);
119
+ }
120
+ }
121
+ }
77
122
  async getChain() {
78
123
  return this.chain;
79
124
  }
@@ -88,7 +133,7 @@ class Chaintracks {
88
133
  }
89
134
  if (this.lastPresentHeight >= 0) {
90
135
  void this.refreshPresentHeight().catch(error => {
91
- this.log(`Background present-height refresh failed: ${WalletError_1.WalletError.fromUnknown(error).message}`);
136
+ this.log(`Background present-height refresh failed: ${this.safeDiagnostic(error)}`);
92
137
  });
93
138
  return this.lastPresentHeight;
94
139
  }
@@ -112,17 +157,23 @@ class Chaintracks {
112
157
  const source = this.sourceName('bulk', index, bulk);
113
158
  try {
114
159
  const presentHeight = await bulk.getPresentHeight();
115
- if (presentHeight != null && Number.isInteger(presentHeight) && presentHeight >= 0) {
160
+ if (presentHeight != null &&
161
+ Number.isSafeInteger(presentHeight) &&
162
+ presentHeight >= 0 &&
163
+ presentHeight <= 0x7fffffff) {
116
164
  this.markSourceSuccess(source, 'bulk');
117
165
  this.lastPresentHeight = presentHeight;
118
166
  this.lastPresentHeightMsecs = Date.now();
119
167
  return presentHeight;
120
168
  }
169
+ if (presentHeight != null) {
170
+ this.markSourceFailure(source, 'bulk', new Error('source returned an invalid present height'));
171
+ }
121
172
  }
122
173
  catch (uerr) {
123
174
  const error = WalletError_1.WalletError.fromUnknown(uerr);
124
175
  this.markSourceFailure(source, 'bulk', error);
125
- this.log(`Present-height source ${source} failed: ${error.message}`);
176
+ this.log(`Present-height source ${source} failed: ${this.safeDiagnostic(error)}`);
126
177
  }
127
178
  }
128
179
  // A provider outage must not make an already synchronized tracker unusable.
@@ -138,7 +189,7 @@ class Chaintracks {
138
189
  }
139
190
  }
140
191
  catch (error) {
141
- this.log(`Unable to read the locally validated ChainTracks height: ${WalletError_1.WalletError.fromUnknown(error).message}`);
192
+ this.log(`Unable to read the locally validated ChainTracks height: ${this.safeDiagnostic(error)}`);
142
193
  }
143
194
  throw new Error('No present-height source or locally validated headers are available.');
144
195
  }
@@ -149,7 +200,7 @@ class Chaintracks {
149
200
  getAvailabilitySnapshot() {
150
201
  return {
151
202
  available: this.available,
152
- startupError: this.startupError?.message,
203
+ startupError: this.startupError == null ? undefined : this.safeDiagnostic(this.startupError),
153
204
  presentHeight: this.lastPresentHeight >= 0 ? this.lastPresentHeight : undefined,
154
205
  presentHeightUpdatedAt: this.lastPresentHeightMsecs > 0 ? new Date(this.lastPresentHeightMsecs).toISOString() : undefined,
155
206
  presentHeightRefreshInFlight: this.presentHeightRefresh != null,
@@ -159,24 +210,40 @@ class Chaintracks {
159
210
  };
160
211
  }
161
212
  async subscribeHeaders(listener) {
213
+ this.validateListener(listener, 'header listener');
214
+ this.requireSubscriberCapacity(this.callbacks.header, 'header');
162
215
  const ID = (0, utilityHelpers_1.randomBytesBase64)(8);
163
216
  this.callbacks.header[ID] = listener;
164
217
  return ID;
165
218
  }
166
219
  async subscribeReorgs(listener) {
220
+ this.validateListener(listener, 'reorg listener');
221
+ this.requireSubscriberCapacity(this.callbacks.reorg, 'reorg');
167
222
  const ID = (0, utilityHelpers_1.randomBytesBase64)(8);
168
223
  this.callbacks.reorg[ID] = listener;
169
224
  return ID;
170
225
  }
171
226
  async unsubscribe(subscriptionId) {
172
- let success = true;
173
- if (this.callbacks.header[subscriptionId])
174
- this.callbacks.header[subscriptionId] = null;
175
- else if (this.callbacks.reorg[subscriptionId])
176
- this.callbacks.reorg[subscriptionId] = null;
177
- else
178
- success = false;
179
- return success;
227
+ if (typeof subscriptionId !== 'string' || subscriptionId.length === 0 || subscriptionId.length > 128)
228
+ return false;
229
+ if (Object.prototype.hasOwnProperty.call(this.callbacks.header, subscriptionId)) {
230
+ delete this.callbacks.header[subscriptionId];
231
+ return true;
232
+ }
233
+ if (Object.prototype.hasOwnProperty.call(this.callbacks.reorg, subscriptionId)) {
234
+ delete this.callbacks.reorg[subscriptionId];
235
+ return true;
236
+ }
237
+ return false;
238
+ }
239
+ validateListener(listener, name) {
240
+ if (typeof listener !== 'function')
241
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, 'a function');
242
+ }
243
+ requireSubscriberCapacity(listeners, kind) {
244
+ if (Object.keys(listeners).length >= Chaintracks.maxSubscribersPerKind) {
245
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${kind} subscriptions`, `fewer than ${Chaintracks.maxSubscribersPerKind}`);
246
+ }
180
247
  }
181
248
  /**
182
249
  * Queues a potentially new, unknown header for consideration as an addition to the chain.
@@ -188,7 +255,23 @@ class Chaintracks {
188
255
  * @param header
189
256
  */
190
257
  async addHeader(header) {
191
- this.baseHeaders.push(header);
258
+ (0, blockHeaderUtilities_1.validateBaseBlockHeaderFormat)(header);
259
+ const pendingHeader = {
260
+ version: header.version,
261
+ previousHash: header.previousHash,
262
+ merkleRoot: header.merkleRoot,
263
+ time: header.time,
264
+ bits: header.bits,
265
+ nonce: header.nonce
266
+ };
267
+ const hash = (0, blockHeaderUtilities_1.blockHash)(pendingHeader);
268
+ if (this.queuedBaseHeaderHashes.has(hash))
269
+ return;
270
+ if (this.baseHeaders.length >= this.maxQueuedBaseHeaders) {
271
+ throw new ChaintracksQueueCapacityError();
272
+ }
273
+ this.queuedBaseHeaderHashes.add(hash);
274
+ this.baseHeaders.push(pendingHeader);
192
275
  }
193
276
  /**
194
277
  * If not already available, takes a writer lock to queue calls until available.
@@ -206,51 +289,84 @@ class Chaintracks {
206
289
  // Only the first call proceeds to initialize...
207
290
  if (this.available)
208
291
  return;
209
- // Make sure database schema exists and is updated...
210
- await this.storage.migrateLatest();
211
- for (const bulkIn of this.bulkIngestors)
212
- await bulkIn.setStorage(this.storage, this.log);
213
- for (const liveIn of this.liveIngestors)
214
- await liveIn.setStorage(this.storage, this.log);
215
- // Start all live ingestors to push new headers onto liveHeaders... each long running.
216
- this.stopMainThread = false;
217
- for (const [index, liveIngestor] of this.liveIngestors.entries()) {
218
- this.promises.push(this.runLiveIngestor(liveIngestor, index));
292
+ this.cleanupComplete = false;
293
+ this.startupError = null;
294
+ try {
295
+ // Make sure database schema exists and is updated...
296
+ await this.storage.migrateLatest();
297
+ for (const bulkIn of this.bulkIngestors)
298
+ await bulkIn.setStorage(this.storage, this.log);
299
+ for (const liveIn of this.liveIngestors)
300
+ await liveIn.setStorage(this.storage, this.log);
301
+ // Start all live ingestors to push new headers onto liveHeaders... each long running.
302
+ this.stopMainThread = false;
303
+ for (const [index, liveIngestor] of this.liveIngestors.entries()) {
304
+ this.promises.push(this.runLiveIngestor(liveIngestor, index));
305
+ }
306
+ // Start main loop to shift out liveHeaders...once sync'd, will set `available` true.
307
+ this.promises.push(this.mainThreadShiftLiveHeaders());
308
+ // Wait for the main thread to finish initial sync.
309
+ while (!this.available && this.startupError == null) {
310
+ await (0, utilityHelpers_1.wait)(100);
311
+ }
312
+ if (this.startupError != null)
313
+ throw this.startupError;
219
314
  }
220
- // Start mai loop to shift out liveHeaders...once sync'd, will set `available` true.
221
- this.promises.push(this.mainThreadShiftLiveHeaders());
222
- // Wait for the main thread to finish initial sync.
223
- while (!this.available && this.startupError == null) {
224
- await (0, utilityHelpers_1.wait)(100);
315
+ catch (error) {
316
+ this.startupError = WalletError_1.WalletError.fromUnknown(error);
317
+ await this.stopRuntimeForRetry();
318
+ throw error;
225
319
  }
226
- if (this.startupError != null)
227
- throw this.startupError;
228
320
  });
229
321
  }
230
322
  async startPromises() {
231
- if (this.promises.length > 0 || !this.stopMainThread)
232
- return;
323
+ await this.makeAvailable();
233
324
  }
234
325
  async destroy() {
235
- if (!this.available)
236
- return;
237
326
  await this.lock.withWriteLock(async () => {
238
- if (!this.available || this.stopMainThread)
327
+ if (this.cleanupComplete)
328
+ return;
329
+ if (!this.available && this.promises.length === 0 && this.startupError == null)
239
330
  return;
240
331
  this.log('Shutting Down');
241
332
  this.stopMainThread = true;
242
333
  for (const liveIn of this.liveIngestors)
243
- await liveIn.shutdown();
244
- for (const bulkIn of this.bulkIngestors)
245
- await bulkIn.shutdown();
246
- await Promise.all(this.promises);
247
- await this.storage.bulkManager.destroy();
248
- await this.storage.destroy();
334
+ this.stopLiveIngestor(liveIn);
335
+ const cleanup = [
336
+ ...this.promises,
337
+ ...this.liveIngestors.map(async (liveIn) => await liveIn.shutdown()),
338
+ ...this.bulkIngestors.map(async (bulkIn) => await bulkIn.shutdown())
339
+ ];
340
+ const results = await Promise.allSettled(cleanup);
341
+ results.push(...(await Promise.allSettled([this.storage.bulkManager.destroy()])));
342
+ results.push(...(await Promise.allSettled([this.storage.destroy()])));
343
+ this.promises.length = 0;
249
344
  this.available = false;
250
- this.stopMainThread = false;
345
+ this.subscriberCallbacksEnabled = false;
346
+ this.cleanupComplete = true;
347
+ const failure = results.find((result) => result.status === 'rejected');
348
+ if (failure != null)
349
+ throw WalletError_1.WalletError.fromUnknown(failure.reason);
251
350
  this.log('Shutdown');
252
351
  });
253
352
  }
353
+ async stopRuntimeForRetry() {
354
+ this.stopMainThread = true;
355
+ for (const liveIngestor of this.liveIngestors)
356
+ this.stopLiveIngestor(liveIngestor);
357
+ await Promise.allSettled(this.promises);
358
+ this.promises.length = 0;
359
+ this.available = false;
360
+ this.subscriberCallbacksEnabled = false;
361
+ }
362
+ stopLiveIngestor(liveIngestor) {
363
+ try {
364
+ liveIngestor.stopListening();
365
+ }
366
+ catch {
367
+ // Cleanup continues so one faulty source cannot prevent the remaining resources from stopping.
368
+ }
369
+ }
254
370
  async listening() {
255
371
  return await this.makeAvailable();
256
372
  }
@@ -267,7 +383,7 @@ class Chaintracks {
267
383
  restartCount++;
268
384
  const waitMsecs = this.liveIngestorRestartWaitMsecs(restartCount);
269
385
  this.log(`Live ingestor ${name} stopped unexpectedly restart=${restartCount} retryMsecs=${waitMsecs}`);
270
- await (0, utilityHelpers_1.wait)(waitMsecs);
386
+ await this.waitUnlessStopping(waitMsecs);
271
387
  }
272
388
  catch (error_) {
273
389
  if (this.stopMainThread)
@@ -276,11 +392,19 @@ class Chaintracks {
276
392
  const e = WalletError_1.WalletError.fromUnknown(error_);
277
393
  this.markSourceFailure(source, 'live', e);
278
394
  const waitMsecs = this.liveIngestorRestartWaitMsecs(restartCount);
279
- this.log(`Live ingestor ${name} failed restart=${restartCount} retryMsecs=${waitMsecs}: ${e.stack ?? e.message}`);
280
- await (0, utilityHelpers_1.wait)(waitMsecs);
395
+ this.log(`Live ingestor ${name} failed restart=${restartCount} retryMsecs=${waitMsecs}: ${this.safeDiagnostic(e)}`);
396
+ await this.waitUnlessStopping(waitMsecs);
281
397
  }
282
398
  }
283
399
  }
400
+ async waitUnlessStopping(msecs) {
401
+ let remaining = msecs;
402
+ while (remaining > 0 && !this.stopMainThread) {
403
+ const chunk = Math.min(250, remaining);
404
+ await (0, utilityHelpers_1.wait)(chunk);
405
+ remaining -= chunk;
406
+ }
407
+ }
284
408
  liveIngestorRestartWaitMsecs(restartCount) {
285
409
  return Math.min(1000 * Math.min(2 ** Math.max(restartCount - 1, 0), 60), 60000);
286
410
  }
@@ -292,6 +416,7 @@ class Chaintracks {
292
416
  return true;
293
417
  }
294
418
  async findHeaderForHeight(height) {
419
+ this.validatePublicHeight(height);
295
420
  await this.makeAvailable();
296
421
  return await this.lock.withReadLock(async () => await this.findHeaderForHeightNoLock(height));
297
422
  }
@@ -299,6 +424,7 @@ class Chaintracks {
299
424
  return await this.storage.findHeaderForHeightOrUndefined(height);
300
425
  }
301
426
  async findHeaderForBlockHash(hash) {
427
+ this.validatePublicHash(hash);
302
428
  await this.makeAvailable();
303
429
  return await this.lock.withReadLock(async () => await this.findHeaderForBlockHashNoLock(hash));
304
430
  }
@@ -306,6 +432,7 @@ class Chaintracks {
306
432
  return (await this.storage.findLiveHeaderForBlockHash(hash)) || undefined;
307
433
  }
308
434
  async isValidRootForHeight(root, height) {
435
+ this.validatePublicHash(root);
309
436
  const r = await this.findHeaderForHeight(height);
310
437
  if (r == null)
311
438
  return false;
@@ -332,6 +459,10 @@ class Chaintracks {
332
459
  return info;
333
460
  }
334
461
  async getHeaders(height, count) {
462
+ this.validatePublicHeight(height);
463
+ if (!Number.isSafeInteger(count) || count < 1 || count > 100000 || height + count - 1 > 0x7fffffff) {
464
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('count', 'an integer from 1 through 100000 within the supported height range');
465
+ }
335
466
  await this.makeAvailable();
336
467
  return await this.lock.withReadLock(async () => (0, utilityHelpers_noBuffer_1.asString)(await this.storage.getHeadersUint8Array(height, count)));
337
468
  }
@@ -344,6 +475,7 @@ class Chaintracks {
344
475
  return await this.lock.withReadLock(async () => await this.storage.findChainTipHash());
345
476
  }
346
477
  async findLiveHeaderForBlockHash(hash) {
478
+ this.validatePublicHash(hash);
347
479
  await this.makeAvailable();
348
480
  const header = await this.lock.withReadLock(async () => await this.storage.findLiveHeaderForBlockHash(hash));
349
481
  return header || undefined;
@@ -352,6 +484,16 @@ class Chaintracks {
352
484
  const header = await this.findLiveHeaderForBlockHash(hash);
353
485
  return header?.chainWork;
354
486
  }
487
+ validatePublicHeight(height) {
488
+ if (!Number.isSafeInteger(height) || height < 0 || height > 0x7fffffff) {
489
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('height', 'an integer from 0 through 2147483647');
490
+ }
491
+ }
492
+ validatePublicHash(hash) {
493
+ if (typeof hash !== 'string' || !/^[0-9a-fA-F]{64}$/.test(hash)) {
494
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('hash', 'exactly 32 hexadecimal bytes');
495
+ }
496
+ }
355
497
  /**
356
498
  * @returns true iff all headers from height zero through current chainTipHeader height can be retreived and form a valid chain.
357
499
  */
@@ -374,7 +516,7 @@ class Chaintracks {
374
516
  await bulk.exportHeadersToFs(toFs, toHeadersPerFile, toFolder, sourceUrl, maxHeight);
375
517
  }
376
518
  async startListening() {
377
- this.makeAvailable();
519
+ await this.makeAvailable();
378
520
  }
379
521
  async syncBulkStorage(presentHeight, initialRanges) {
380
522
  await this.lock.withWriteLock(async () => await this.syncBulkStorageNoLock(presentHeight, initialRanges));
@@ -404,7 +546,13 @@ class Chaintracks {
404
546
  }
405
547
  }
406
548
  if (this.startupError == null) {
407
- this.liveHeaders.unshift(...newLiveHeaders);
549
+ if (this.liveHeaders.length + newLiveHeaders.length > Chaintracks.maxBulkLiveHeaders) {
550
+ throw new Error(`Bulk sync cannot queue more than ${Chaintracks.maxBulkLiveHeaders} live headers.`);
551
+ }
552
+ for (let end = newLiveHeaders.length; end > 0; end -= 10_000) {
553
+ const start = Math.max(0, end - 10_000);
554
+ this.liveHeaders.unshift(...newLiveHeaders.slice(start, end));
555
+ }
408
556
  added = after.bulk.above(initialRanges.bulk);
409
557
  this.log(`syncBulkStorage done
410
558
  Before sync: bulk ${initialRanges.bulk}, live ${initialRanges.live}
@@ -428,7 +576,9 @@ class Chaintracks {
428
576
  const r = await bulk.synchronize(presentHeight, before, newLiveHeaders);
429
577
  hadSuccess = true;
430
578
  this.markSourceSuccess(source, 'bulk');
431
- newLiveHeaders = r.liveHeaders;
579
+ newLiveHeaders = this.normalizeBulkLiveHeaders(r.liveHeaders);
580
+ if (typeof r.done !== 'boolean')
581
+ throw new Error('Bulk ingestor result done must be a boolean.');
432
582
  after = await this.storage.getAvailableHeightRanges();
433
583
  const added = after.bulk.above(before.bulk);
434
584
  const afterLiveRange = HeightRange_1.HeightRange.from(newLiveHeaders);
@@ -444,7 +594,7 @@ class Chaintracks {
444
594
  catch (error_) {
445
595
  const e = (bulkSyncError = WalletError_1.WalletError.fromUnknown(error_));
446
596
  this.markSourceFailure(source, 'bulk', e);
447
- this.log(`bulk sync error: ${e.message}`);
597
+ this.log(`bulk sync error: ${this.safeDiagnostic(e)}`);
448
598
  }
449
599
  }
450
600
  if (!this.available && bulkSyncError != null && !hadSuccess)
@@ -454,6 +604,30 @@ class Chaintracks {
454
604
  sourceName(role, index, source) {
455
605
  return `${role}[${index}]:${source.constructor.name}`;
456
606
  }
607
+ normalizeBulkLiveHeaders(value) {
608
+ if (!Array.isArray(value) || value.length > Chaintracks.maxBulkLiveHeaders) {
609
+ throw new Error(`Bulk ingestor liveHeaders must be an array of at most ${Chaintracks.maxBulkLiveHeaders} entries.`);
610
+ }
611
+ const headers = [];
612
+ for (let index = 0; index < value.length; index++) {
613
+ if (!Object.prototype.hasOwnProperty.call(value, index)) {
614
+ throw new Error('Bulk ingestor liveHeaders must be a dense array.');
615
+ }
616
+ const header = value[index];
617
+ (0, blockHeaderUtilities_1.validateHeaderFormat)(header);
618
+ headers.push({
619
+ version: header.version,
620
+ previousHash: header.previousHash,
621
+ merkleRoot: header.merkleRoot,
622
+ time: header.time,
623
+ bits: header.bits,
624
+ nonce: header.nonce,
625
+ height: header.height,
626
+ hash: header.hash
627
+ });
628
+ }
629
+ return headers;
630
+ }
457
631
  markSourceSuccess(name, role) {
458
632
  this.sourceStatus.set(name, {
459
633
  ...this.sourceStatus.get(name),
@@ -471,7 +645,7 @@ class Chaintracks {
471
645
  role,
472
646
  state: 'degraded',
473
647
  lastFailure: new Date().toISOString(),
474
- error: error.message
648
+ error: this.safeDiagnostic(error)
475
649
  });
476
650
  }
477
651
  async getMissingBlockHeader(hash) {
@@ -486,7 +660,7 @@ class Chaintracks {
486
660
  catch (error) {
487
661
  const resolved = WalletError_1.WalletError.fromUnknown(error);
488
662
  this.markSourceFailure(source, 'live', resolved);
489
- this.log(`Header lookup source ${source} failed: ${resolved.message}`);
663
+ this.log(`Header lookup source ${source} failed: ${this.safeDiagnostic(resolved)}`);
490
664
  }
491
665
  }
492
666
  return undefined;
@@ -516,7 +690,7 @@ class Chaintracks {
516
690
  const listener = this.callbacks.header[id];
517
691
  if (listener != null) {
518
692
  try {
519
- listener(header);
693
+ listener({ ...header });
520
694
  }
521
695
  catch {
522
696
  /* ignore all errors thrown */
@@ -525,13 +699,11 @@ class Chaintracks {
525
699
  }
526
700
  }
527
701
  notifyReorgListeners(ihr, header) {
528
- const priorTip = { ...ihr.priorTip };
529
- const deactivated = ihr.deactivatedHeaders.map(lbh => ({ ...lbh }));
530
702
  for (const id in this.callbacks.reorg) {
531
703
  const listener = this.callbacks.reorg[id];
532
704
  if (listener != null) {
533
705
  try {
534
- listener(ihr.reorgDepth, priorTip, header, deactivated);
706
+ listener(ihr.reorgDepth, { ...ihr.priorTip }, { ...header }, ihr.deactivatedHeaders.map(lbh => ({ ...lbh })));
535
707
  }
536
708
  catch {
537
709
  /* ignore all errors thrown */
@@ -569,7 +741,7 @@ class Chaintracks {
569
741
  catch (error_) {
570
742
  const e = WalletError_1.WalletError.fromUnknown(error_);
571
743
  if (this.available) {
572
- this.log(`Error occurred during chaintracks main thread processing: ${e.stack || e.message}`);
744
+ this.log(`Error occurred during chaintracks main thread processing: ${this.safeDiagnostic(e)}`);
573
745
  }
574
746
  else {
575
747
  this.startupError = e;
@@ -619,6 +791,7 @@ class Chaintracks {
619
791
  const baseHeader = this.baseHeaders.shift();
620
792
  if (baseHeader == null)
621
793
  return null;
794
+ this.queuedBaseHeaderHashes.delete((0, blockHeaderUtilities_1.blockHash)(baseHeader));
622
795
  if (await this.processOneBaseHeader(baseHeader))
623
796
  stats.count++;
624
797
  return false;
@@ -713,6 +886,9 @@ class Chaintracks {
713
886
  this.log(`listening at height of ${live.maxHeight}`);
714
887
  }
715
888
  }
889
+ safeDiagnostic(error) {
890
+ return (0, safeDiagnostic_1.safeDiagnostic)(error, 1024);
891
+ }
716
892
  }
717
893
  exports.Chaintracks = Chaintracks;
718
894
  //# sourceMappingURL=Chaintracks.js.map