@bsv/wallet-toolbox 2.12.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 (693) hide show
  1. package/CHANGELOG.md +350 -1
  2. package/README.md +556 -6
  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/sync-transfer.md +144 -0
  11. package/docs/wallet.md +10155 -10871
  12. package/out/src/CWIStyleWalletManager.d.ts +6 -8
  13. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  14. package/out/src/CWIStyleWalletManager.js +170 -125
  15. package/out/src/CWIStyleWalletManager.js.map +1 -1
  16. package/out/src/Setup.d.ts +2 -0
  17. package/out/src/Setup.d.ts.map +1 -1
  18. package/out/src/Setup.js +3 -2
  19. package/out/src/Setup.js.map +1 -1
  20. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  21. package/out/src/ShamirWalletManager.js +34 -19
  22. package/out/src/ShamirWalletManager.js.map +1 -1
  23. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  24. package/out/src/SimpleWalletManager.js +7 -6
  25. package/out/src/SimpleWalletManager.js.map +1 -1
  26. package/out/src/Wallet.d.ts +50 -11
  27. package/out/src/Wallet.d.ts.map +1 -1
  28. package/out/src/Wallet.js +183 -107
  29. package/out/src/Wallet.js.map +1 -1
  30. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  31. package/out/src/WalletAuthenticationManager.js +282 -26
  32. package/out/src/WalletAuthenticationManager.js.map +1 -1
  33. package/out/src/WalletLogger.js +1 -1
  34. package/out/src/WalletLogger.js.map +1 -1
  35. package/out/src/WalletPermissionsManager.d.ts +30 -17
  36. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  37. package/out/src/WalletPermissionsManager.js +540 -312
  38. package/out/src/WalletPermissionsManager.js.map +1 -1
  39. package/out/src/WalletSettingsManager.d.ts +3 -2
  40. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  41. package/out/src/WalletSettingsManager.js +141 -6
  42. package/out/src/WalletSettingsManager.js.map +1 -1
  43. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  44. package/out/src/entropy/EntropyCollector.js +3 -2
  45. package/out/src/entropy/EntropyCollector.js.map +1 -1
  46. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  47. package/out/src/fundWalletP2PKH.js +143 -44
  48. package/out/src/fundWalletP2PKH.js.map +1 -1
  49. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  50. package/out/src/mockchain/MockChainTracker.js +5 -5
  51. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  52. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  53. package/out/src/mockchain/MockServices.js +32 -8
  54. package/out/src/mockchain/MockServices.js.map +1 -1
  55. package/out/src/monitor/Monitor.d.ts +17 -0
  56. package/out/src/monitor/Monitor.d.ts.map +1 -1
  57. package/out/src/monitor/Monitor.js +206 -42
  58. package/out/src/monitor/Monitor.js.map +1 -1
  59. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  60. package/out/src/monitor/MonitorDaemon.js +64 -16
  61. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  62. package/out/src/monitor/monitorValidation.d.ts +12 -0
  63. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  64. package/out/src/monitor/monitorValidation.js +133 -0
  65. package/out/src/monitor/monitorValidation.js.map +1 -0
  66. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
  67. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  68. package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
  69. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  70. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  71. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  72. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  73. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  74. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  75. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  76. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  78. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  79. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  80. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  81. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  82. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  83. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  84. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
  85. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  86. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  87. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  88. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
  91. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  95. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  96. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
  97. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  98. package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
  99. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  101. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  102. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  104. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  105. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  106. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  107. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  108. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  109. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  110. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  111. package/out/src/sdk/WalletErrorFromJson.js +112 -2
  112. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  113. package/out/src/sdk/WalletServices.interfaces.d.ts +23 -1
  114. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  115. package/out/src/sdk/WalletStorage.interfaces.d.ts +49 -3
  116. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  117. package/out/src/services/ServiceCollection.js +2 -2
  118. package/out/src/services/ServiceCollection.js.map +1 -1
  119. package/out/src/services/Services.d.ts +5 -0
  120. package/out/src/services/Services.d.ts.map +1 -1
  121. package/out/src/services/Services.js +276 -110
  122. package/out/src/services/Services.js.map +1 -1
  123. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  124. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  125. package/out/src/services/chaintracker/BHServiceClient.js +267 -66
  126. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  127. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  128. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  129. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  130. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  131. package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
  132. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
  133. package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
  134. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  136. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  137. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  138. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  139. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  140. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
  141. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  142. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
  143. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  144. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  145. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  146. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
  147. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  148. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
  149. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  151. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  152. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  153. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  154. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  155. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
  157. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  159. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
  161. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  176. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  178. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  180. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  189. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  194. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  196. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  198. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  202. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  204. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  206. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  209. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
  217. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  219. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  221. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
  223. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
  225. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  227. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  229. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
  231. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  240. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  243. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  246. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
  248. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
  250. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  252. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +486 -82
  254. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  257. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
  260. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  263. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
  265. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  266. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  267. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
  269. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  270. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
  271. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  273. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  274. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  275. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
  277. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
  279. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -1
  280. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  282. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
  283. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  284. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
  285. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
  287. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
  289. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  291. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  293. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
  295. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
  297. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  299. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  300. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  301. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  302. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  303. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  304. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
  305. package/out/src/services/classifyOutputUtxo.js +19 -10
  306. package/out/src/services/classifyOutputUtxo.js.map +1 -1
  307. package/out/src/services/fiatRateValidation.d.ts +12 -0
  308. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  309. package/out/src/services/fiatRateValidation.js +138 -0
  310. package/out/src/services/fiatRateValidation.js.map +1 -0
  311. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  312. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  313. package/out/src/services/getCanonicalMerklePath.js +90 -0
  314. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  315. package/out/src/services/providers/ARC.d.ts +3 -16
  316. package/out/src/services/providers/ARC.d.ts.map +1 -1
  317. package/out/src/services/providers/ARC.js +36 -37
  318. package/out/src/services/providers/ARC.js.map +1 -1
  319. package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
  320. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  321. package/out/src/services/providers/ArcSSEClient.js +352 -85
  322. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  323. package/out/src/services/providers/Arcade.d.ts +1 -0
  324. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  325. package/out/src/services/providers/Arcade.js +56 -41
  326. package/out/src/services/providers/Arcade.js.map +1 -1
  327. package/out/src/services/providers/Bitails.d.ts +3 -0
  328. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  329. package/out/src/services/providers/Bitails.js +79 -12
  330. package/out/src/services/providers/Bitails.js.map +1 -1
  331. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  332. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  333. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  334. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  335. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  336. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  337. package/out/src/services/providers/WhatsOnChain.js +221 -69
  338. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  339. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  340. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  341. package/out/src/services/providers/arcProviderConfig.js +83 -0
  342. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  343. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  344. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  345. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  346. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  347. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  348. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  349. package/out/src/services/providers/exchangeRates.js +153 -226
  350. package/out/src/services/providers/exchangeRates.js.map +1 -1
  351. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  352. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  353. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  354. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  355. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  356. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  357. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  358. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  359. package/out/src/services/validateMerklePathResult.js +272 -0
  360. package/out/src/services/validateMerklePathResult.js.map +1 -0
  361. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  362. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  363. package/out/src/services/validatePostBeefResult.js +334 -0
  364. package/out/src/services/validatePostBeefResult.js.map +1 -0
  365. package/out/src/services/validateRawTxResult.d.ts +6 -0
  366. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  367. package/out/src/services/validateRawTxResult.js +77 -0
  368. package/out/src/services/validateRawTxResult.js.map +1 -0
  369. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  370. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  371. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  372. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  373. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  374. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  375. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  376. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  377. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  378. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  379. package/out/src/services/validateUtxoStatusResult.js +126 -0
  380. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  381. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  382. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  383. package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
  384. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  385. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
  386. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  387. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
  388. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  389. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  390. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  391. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  392. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  393. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  394. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  395. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  396. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  397. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  398. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  399. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  400. package/out/src/signer/methods/createAction.d.ts +4 -3
  401. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  402. package/out/src/signer/methods/createAction.js +4 -2
  403. package/out/src/signer/methods/createAction.js.map +1 -1
  404. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
  405. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
  406. package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
  407. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
  408. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  409. package/out/src/signer/methods/internalizeAction.js +2 -2
  410. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  411. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  412. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  413. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  414. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  415. package/out/src/signer/methods/signAction.js +3 -2
  416. package/out/src/signer/methods/signAction.js.map +1 -1
  417. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  418. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  419. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  420. package/out/src/storage/StorageIdb.d.ts +6 -3
  421. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  422. package/out/src/storage/StorageIdb.js +70 -42
  423. package/out/src/storage/StorageIdb.js.map +1 -1
  424. package/out/src/storage/StorageKnex.d.ts +8 -4
  425. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  426. package/out/src/storage/StorageKnex.js +185 -92
  427. package/out/src/storage/StorageKnex.js.map +1 -1
  428. package/out/src/storage/StorageProvider.d.ts +19 -9
  429. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  430. package/out/src/storage/StorageProvider.js +237 -138
  431. package/out/src/storage/StorageProvider.js.map +1 -1
  432. package/out/src/storage/StorageReader.d.ts +7 -1
  433. package/out/src/storage/StorageReader.d.ts.map +1 -1
  434. package/out/src/storage/StorageReader.js +17 -42
  435. package/out/src/storage/StorageReader.js.map +1 -1
  436. package/out/src/storage/StorageReaderWriter.d.ts +2 -0
  437. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  438. package/out/src/storage/StorageReaderWriter.js +63 -38
  439. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  440. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  441. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  442. package/out/src/storage/StorageSyncReader.js +3 -36
  443. package/out/src/storage/StorageSyncReader.js.map +1 -1
  444. package/out/src/storage/WalletStorageManager.d.ts +9 -7
  445. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  446. package/out/src/storage/WalletStorageManager.js +71 -65
  447. package/out/src/storage/WalletStorageManager.js.map +1 -1
  448. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  449. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  450. package/out/src/storage/adminServer/adminServer.js +16 -44
  451. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  452. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  453. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  454. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  455. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  456. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  457. package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
  458. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  459. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  460. package/out/src/storage/methods/actionBatch.js +3 -2
  461. package/out/src/storage/methods/actionBatch.js.map +1 -1
  462. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  463. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  464. package/out/src/storage/methods/actionBatchBlobs.js +40 -22
  465. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  466. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  467. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  468. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  469. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  470. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  471. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
  472. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  473. package/out/src/storage/methods/createAction.d.ts +7 -6
  474. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  475. package/out/src/storage/methods/createAction.js +7 -5
  476. package/out/src/storage/methods/createAction.js.map +1 -1
  477. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  478. package/out/src/storage/methods/generateChange.js +12 -11
  479. package/out/src/storage/methods/generateChange.js.map +1 -1
  480. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  481. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  482. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  483. package/out/src/storage/methods/getSyncChunk.js +42 -11
  484. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  485. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  486. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  487. package/out/src/storage/methods/internalizeAction.js +134 -129
  488. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  489. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  490. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  491. package/out/src/storage/methods/listActionsIdb.js +2 -2
  492. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  493. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  494. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  495. package/out/src/storage/methods/listActionsKnex.js +10 -9
  496. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  497. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  498. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  499. package/out/src/storage/methods/listCertificates.js.map +1 -1
  500. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  501. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  502. package/out/src/storage/methods/listOutputsIdb.js +11 -11
  503. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  504. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  505. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  506. package/out/src/storage/methods/listOutputsKnex.js +15 -23
  507. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  508. package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
  509. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  510. package/out/src/storage/methods/noSendExpiry.js +10 -8
  511. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  512. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
  513. package/out/src/storage/methods/preparedBeef.js +13 -14
  514. package/out/src/storage/methods/preparedBeef.js.map +1 -1
  515. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  516. package/out/src/storage/methods/processAction.js +37 -6
  517. package/out/src/storage/methods/processAction.js.map +1 -1
  518. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
  519. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  520. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  521. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  522. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  523. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  524. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
  525. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
  526. package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
  527. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
  528. package/out/src/storage/methods/validateSyncProof.d.ts +10 -2
  529. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
  530. package/out/src/storage/methods/validateSyncProof.js +27 -4
  531. package/out/src/storage/methods/validateSyncProof.js.map +1 -1
  532. package/out/src/storage/portable/index.d.ts.map +1 -1
  533. package/out/src/storage/portable/index.js +21 -13
  534. package/out/src/storage/portable/index.js.map +1 -1
  535. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  536. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  537. package/out/src/storage/remoting/BinaryJson.js +94 -8
  538. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  539. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  540. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  541. package/out/src/storage/remoting/KnexSessionManager.js +222 -30
  542. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  543. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  544. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  545. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  546. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  547. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  548. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  549. package/out/src/storage/remoting/StorageClient.js +65 -8
  550. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  551. package/out/src/storage/remoting/StorageClientBase.d.ts +53 -10
  552. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  553. package/out/src/storage/remoting/StorageClientBase.js +304 -9
  554. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  555. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  556. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  557. package/out/src/storage/remoting/StorageMobile.js +13 -11
  558. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  559. package/out/src/storage/remoting/StorageServer.d.ts +10 -1
  560. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  561. package/out/src/storage/remoting/StorageServer.js +206 -21
  562. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  563. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  564. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  565. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  566. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  567. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  568. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  569. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  570. package/out/src/storage/remoting/syncChunkBinary.d.ts +4 -0
  571. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  572. package/out/src/storage/remoting/syncChunkBinary.js +38 -0
  573. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  574. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  575. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  576. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  577. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  578. package/out/src/storage/schema/KnexMigrations.d.ts +3 -0
  579. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  580. package/out/src/storage/schema/KnexMigrations.js +89 -2
  581. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  582. package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -0
  583. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  584. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  585. package/out/src/storage/schema/entities/EntityOutput.js +11 -4
  586. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  587. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  588. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  589. package/out/src/storage/schema/entities/EntityProvenTx.js +95 -41
  590. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  591. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  592. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  593. package/out/src/storage/schema/entities/EntitySyncState.d.ts +3 -1
  594. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  595. package/out/src/storage/schema/entities/EntitySyncState.js +7 -1
  596. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  597. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  598. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  599. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  600. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  601. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  602. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  603. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  604. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  605. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  606. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  607. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  608. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  609. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  610. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  611. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  612. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  613. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  614. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  615. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  616. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  617. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  618. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  619. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  620. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  621. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  622. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  623. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  624. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  625. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  626. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  627. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  628. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  629. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  630. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  631. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  632. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  633. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  634. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  635. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  636. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  637. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  638. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  639. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  640. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  641. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  642. package/out/src/utility/actionBatchDigest.js +9 -7
  643. package/out/src/utility/actionBatchDigest.js.map +1 -1
  644. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  645. package/out/src/utility/actionBatchPack.js +7 -12
  646. package/out/src/utility/actionBatchPack.js.map +1 -1
  647. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  648. package/out/src/utility/brc153ReferenceLabels.js +4 -4
  649. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  650. package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
  651. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
  652. package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
  653. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
  654. package/out/src/utility/exactActionSpend.d.ts +11 -0
  655. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  656. package/out/src/utility/exactActionSpend.js +11 -0
  657. package/out/src/utility/exactActionSpend.js.map +1 -0
  658. package/out/src/utility/identityUtils.d.ts +44 -4
  659. package/out/src/utility/identityUtils.d.ts.map +1 -1
  660. package/out/src/utility/identityUtils.js +376 -61
  661. package/out/src/utility/identityUtils.js.map +1 -1
  662. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  663. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  664. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  665. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  666. package/out/src/utility/tscProofToMerklePath.js +35 -4
  667. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  668. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  669. package/out/src/utility/utilityHelpers.js +8 -6
  670. package/out/src/utility/utilityHelpers.js.map +1 -1
  671. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  672. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  673. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  674. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  675. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  676. package/out/src/utility/verifyOverlayOutput.js +22 -0
  677. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  678. package/out/src/utility/walletResultGuards.d.ts +14 -0
  679. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  680. package/out/src/utility/walletResultGuards.js +28 -0
  681. package/out/src/utility/walletResultGuards.js.map +1 -0
  682. package/out/src/wab-client/WABClient.d.ts +3 -17
  683. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  684. package/out/src/wab-client/WABClient.js +30 -14
  685. package/out/src/wab-client/WABClient.js.map +1 -1
  686. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  687. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  688. package/out/src/wab-client/WABResponseValidation.js +321 -0
  689. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  690. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  691. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  692. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  693. package/package.json +6 -5
@@ -24,6 +24,8 @@ const TaskCleanupActionBatches_1 = require("./tasks/TaskCleanupActionBatches");
24
24
  const WERR_errors_1 = require("../sdk/WERR_errors");
25
25
  const WalletError_1 = require("../sdk/WalletError");
26
26
  const Services_1 = require("../services/Services");
27
+ const safeDiagnostic_1 = require("../services/chaintracker/chaintracks/util/safeDiagnostic");
28
+ const monitorValidation_1 = require("./monitorValidation");
27
29
  /**
28
30
  * Background task to make sure transactions are processed, transaction proofs are received and propagated,
29
31
  * and potentially that reorgs update proofs that were already received.
@@ -45,6 +47,7 @@ class Monitor {
45
47
  maxRebroadcastAttempts: 0,
46
48
  chaintracks: services.options.chaintracks,
47
49
  chaintracksWithEvents: chaintracks,
50
+ maxQueuedDeactivatedHeaders: 4096,
48
51
  startupTaskMode
49
52
  };
50
53
  return o;
@@ -67,14 +70,37 @@ class Monitor {
67
70
  * and you need subscriptions to be active before the first task loop runs.
68
71
  */
69
72
  get ready() {
70
- this._readyInit ??= this._init();
73
+ this._readyInit ??= this._init().catch(error => {
74
+ this._readyInit = undefined;
75
+ throw error;
76
+ });
71
77
  return this._readyInit;
72
78
  }
73
79
  _readyInit;
80
+ maxQueuedDeactivatedHeaders;
81
+ deactivatedHeaderHashes = new Set();
82
+ reorgInvalidationPending = false;
83
+ logging;
74
84
  constructor(options) {
85
+ (0, monitorValidation_1.validateMonitorOptions)(options);
75
86
  this.options = { ...options };
76
87
  this.services = options.services;
77
88
  this.chain = this.services.chain;
89
+ const configuredTrackerChain = options.chaintracks?.chain;
90
+ if (options.chain !== this.chain ||
91
+ (configuredTrackerChain !== undefined && configuredTrackerChain !== this.chain)) {
92
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('chain', 'the same supported network across monitor, services, and ChainTracks');
93
+ }
94
+ this.maxQueuedDeactivatedHeaders = options.maxQueuedDeactivatedHeaders ?? 4096;
95
+ if (!Number.isSafeInteger(this.maxQueuedDeactivatedHeaders) ||
96
+ this.maxQueuedDeactivatedHeaders < 1 ||
97
+ this.maxQueuedDeactivatedHeaders > 100_000) {
98
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('maxQueuedDeactivatedHeaders', 'an integer from 1 through 100000');
99
+ }
100
+ if (options.logging != null && typeof options.logging !== 'function') {
101
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('logging', 'a function');
102
+ }
103
+ this.logging = options.logging;
78
104
  this.storage = options.storage;
79
105
  this.chaintracks = options.chaintracks;
80
106
  this.chaintracksWithEvents = options.chaintracksWithEvents;
@@ -85,9 +111,25 @@ class Monitor {
85
111
  }
86
112
  async _init() {
87
113
  if (this.chaintracksWithEvents != null) {
88
- this.reorgSubscriptionPromise = this.chaintracksWithEvents.subscribeReorgs(this.processReorg.bind(this));
89
- this.headersSubscriptionPromise = this.chaintracksWithEvents.subscribeHeaders(this.processHeader.bind(this));
90
- await Promise.all([this.reorgSubscriptionPromise, this.headersSubscriptionPromise]);
114
+ const eventSource = this.chaintracksWithEvents;
115
+ const actualChain = await eventSource.getChain();
116
+ if (actualChain !== this.chain) {
117
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('chaintracksWithEvents', `a ChainTracks source on ${this.chain}`);
118
+ }
119
+ let reorgSubscriptionId;
120
+ try {
121
+ this.reorgSubscriptionPromise = eventSource.subscribeReorgs(this.processReorg.bind(this));
122
+ reorgSubscriptionId = await this.reorgSubscriptionPromise;
123
+ this.headersSubscriptionPromise = eventSource.subscribeHeaders(this.processHeader.bind(this));
124
+ await this.headersSubscriptionPromise;
125
+ }
126
+ catch (error) {
127
+ if (reorgSubscriptionId != null)
128
+ await eventSource.unsubscribe(reorgSubscriptionId).catch(() => { });
129
+ this.reorgSubscriptionPromise = undefined;
130
+ this.headersSubscriptionPromise = undefined;
131
+ throw error;
132
+ }
91
133
  }
92
134
  }
93
135
  applyStartupTaskMode(mode) {
@@ -108,13 +150,18 @@ class Monitor {
108
150
  }
109
151
  }
110
152
  async destroy() {
153
+ for (const task of new Set([...this._tasks, ...this._otherTasks])) {
154
+ if (task instanceof TaskArcSSE_1.TaskArcadeSSE)
155
+ task.close();
156
+ }
111
157
  if (this.chaintracksWithEvents != null) {
112
158
  const c = this.chaintracksWithEvents;
113
- if (this.reorgSubscriptionPromise != null)
114
- await c.unsubscribe(await this.reorgSubscriptionPromise);
115
- if (this.headersSubscriptionPromise != null)
116
- await c.unsubscribe(await this.headersSubscriptionPromise);
159
+ const subscriptions = await Promise.allSettled([this.reorgSubscriptionPromise, this.headersSubscriptionPromise].filter((promise) => promise != null));
160
+ await Promise.all(subscriptions
161
+ .filter((result) => result.status === 'fulfilled')
162
+ .map(async (result) => await c.unsubscribe(result.value).catch(() => false)));
117
163
  }
164
+ await this.reorgInvalidationPromise;
118
165
  }
119
166
  static oneSecond = 1000;
120
167
  static oneMinute = 60 * Monitor.oneSecond;
@@ -169,12 +216,20 @@ class Monitor {
169
216
  }
170
217
  }
171
218
  addTask(task) {
219
+ if (task == null || typeof task.name !== 'string' || !/^[A-Za-z0-9_.:-]{1,128}$/.test(task.name)) {
220
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('task.name', 'a bounded control-free monitor task name');
221
+ }
172
222
  if (this._tasks.some(t => t.name === task.name)) {
173
223
  throw new WERR_errors_1.WERR_BAD_REQUEST(`task ${task.name} has already been added.`);
174
224
  }
175
225
  this._tasks.push(task);
226
+ this._runAsyncSetup = true;
176
227
  }
177
228
  removeTask(name) {
229
+ for (const task of this._tasks) {
230
+ if (task.name === name && task instanceof TaskArcSSE_1.TaskArcadeSSE)
231
+ task.close();
232
+ }
178
233
  this._tasks = this._tasks.filter(t => t.name !== name);
179
234
  }
180
235
  async runTask(name) {
@@ -188,6 +243,7 @@ class Monitor {
188
243
  return log;
189
244
  }
190
245
  async runOnce() {
246
+ await this.ready;
191
247
  await this.setupTasksOnce();
192
248
  if (!this.storage.getActive().isStorageProvider())
193
249
  return;
@@ -198,17 +254,21 @@ class Monitor {
198
254
  async setupTasksOnce() {
199
255
  if (!this._runAsyncSetup)
200
256
  return;
257
+ const stopSensitive = this._tasksRunning;
201
258
  for (const task of this._tasks) {
259
+ if (this.setupTasksComplete.has(task))
260
+ continue;
202
261
  try {
203
262
  await task.asyncSetup();
263
+ this.setupTasksComplete.add(task);
204
264
  }
205
265
  catch (error_) {
206
266
  await this.logTaskError(task, 'asyncSetup', 'error0', error_);
207
267
  }
208
- if (!this._tasksRunning)
268
+ if (stopSensitive && !this._tasksRunning)
209
269
  break;
210
270
  }
211
- this._runAsyncSetup = false;
271
+ this._runAsyncSetup = this._tasks.some(task => !this.setupTasksComplete.has(task));
212
272
  }
213
273
  async tasksReadyToRun() {
214
274
  const tasks = [];
@@ -231,9 +291,9 @@ class Monitor {
231
291
  const log = await task.runTask();
232
292
  if (log.length === 0)
233
293
  return;
234
- const details = task.name === 'MonitorCallHistory' ? '...' : log.slice(0, 1024);
235
- console.log(`Task${task.name} ${details}`);
236
- await this.logEvent(task.name, log);
294
+ const details = task.name === 'MonitorCallHistory' ? '...' : (0, safeDiagnostic_1.safeDiagnostic)(log, 1024);
295
+ this.emitLog(`Task${task.name} ${details}`);
296
+ await this.logEvent(task.name, (0, safeDiagnostic_1.safeDiagnostic)(log, 8192));
237
297
  }
238
298
  catch (error_) {
239
299
  await this.logTaskError(task, 'runTask', 'error1', error_, true);
@@ -244,12 +304,13 @@ class Monitor {
244
304
  }
245
305
  async logTaskError(task, operation, event, error_, includeStack = false) {
246
306
  const error = WalletError_1.WalletError.fromUnknown(error_);
247
- const stack = includeStack ? `\n${error.stack ?? ''}` : '';
248
- const details = `monitor task ${task.name} ${operation} error ${error.code} ${error.description}${stack}`;
249
- console.log(details);
307
+ const stack = includeStack && error.stack != null ? ` ${(0, safeDiagnostic_1.safeDiagnostic)(error.stack, 1024)}` : '';
308
+ const details = `monitor task ${(0, safeDiagnostic_1.safeDiagnostic)(task.name, 128)} ${operation} error ${(0, safeDiagnostic_1.safeDiagnostic)(error.code, 64)} ${(0, safeDiagnostic_1.safeDiagnostic)(error.description)}${stack}`;
309
+ this.emitLog(details);
250
310
  await this.logEvent(event, details);
251
311
  }
252
312
  _runAsyncSetup = true;
313
+ setupTasksComplete = new WeakSet();
253
314
  _tasksRunningPromise;
254
315
  resolveCompletion = undefined;
255
316
  async startTasks() {
@@ -259,30 +320,48 @@ class Monitor {
259
320
  this._tasksRunningPromise = new Promise(resolve => {
260
321
  this.resolveCompletion = resolve;
261
322
  });
262
- while (this._tasksRunning) {
263
- await this.runOnce();
264
- // console.log(`${new Date().toISOString()} tasks run, waiting...`)
265
- await (0, utilityHelpers_1.wait)(this.options.taskRunWaitMsecs);
323
+ try {
324
+ while (this._tasksRunning) {
325
+ await this.runOnce();
326
+ await (0, utilityHelpers_1.wait)(this.options.taskRunWaitMsecs);
327
+ }
266
328
  }
267
- if (this.resolveCompletion != null) {
268
- this.resolveCompletion();
269
- this.resolveCompletion = undefined;
329
+ finally {
330
+ this._tasksRunning = false;
331
+ if (this.resolveCompletion != null) {
332
+ this.resolveCompletion();
333
+ this.resolveCompletion = undefined;
334
+ }
270
335
  }
271
336
  }
272
337
  async logEvent(event, details) {
338
+ if (typeof event !== 'string' || !/^[A-Za-z0-9_.:-]{1,128}$/.test(event)) {
339
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('event', 'a bounded control-free monitor event name');
340
+ }
341
+ const boundedDetails = details == null ? undefined : (0, safeDiagnostic_1.safeDiagnostic)(details, 8192);
273
342
  await this.storage.runAsStorageProvider(async (sp) => {
274
343
  await sp.insertMonitorEvent({
275
344
  created_at: new Date(),
276
345
  updated_at: new Date(),
277
346
  id: 0,
278
347
  event,
279
- details
348
+ details: boundedDetails
280
349
  });
281
350
  });
282
351
  }
283
352
  stopTasks() {
284
353
  this._tasksRunning = false;
285
354
  }
355
+ emitLog(message) {
356
+ if (this.logging == null)
357
+ return;
358
+ try {
359
+ this.logging(message);
360
+ }
361
+ catch {
362
+ // Observability hooks do not control monitor work.
363
+ }
364
+ }
286
365
  lastNewHeader;
287
366
  lastNewHeaderWhen;
288
367
  /**
@@ -293,7 +372,7 @@ class Monitor {
293
372
  * @param reqs
294
373
  */
295
374
  processNewBlockHeader(header) {
296
- const h = header;
375
+ const h = this.copyValidatedHeader(header, 'new block header');
297
376
  this.lastNewHeader = h;
298
377
  this.lastNewHeaderWhen = new Date();
299
378
  // console.log(`WalletMonitor notified of new block header ${h.height}`)
@@ -322,7 +401,7 @@ class Monitor {
322
401
  */
323
402
  callOnBroadcastedTransaction(broadcastResult) {
324
403
  if (this.onTransactionBroadcasted != null) {
325
- void this.onTransactionBroadcasted(broadcastResult);
404
+ this.invokeCallback('onTransactionBroadcasted', async () => await this.onTransactionBroadcasted(broadcastResult));
326
405
  }
327
406
  }
328
407
  /**
@@ -334,7 +413,7 @@ class Monitor {
334
413
  */
335
414
  callOnProvenTransaction(txStatus) {
336
415
  if (this.onTransactionProven != null) {
337
- void this.onTransactionProven(txStatus);
416
+ this.invokeCallback('onTransactionProven', async () => await this.onTransactionProven({ ...txStatus }));
338
417
  }
339
418
  }
340
419
  /**
@@ -342,9 +421,16 @@ class Monitor {
342
421
  */
343
422
  callOnTransactionStatusChanged(txid, newStatus) {
344
423
  if (this.onTransactionStatusChanged != null) {
345
- void this.onTransactionStatusChanged(txid, newStatus);
424
+ this.invokeCallback('onTransactionStatusChanged', async () => await this.onTransactionStatusChanged(txid, newStatus));
346
425
  }
347
426
  }
427
+ invokeCallback(name, callback) {
428
+ void Promise.resolve()
429
+ .then(callback)
430
+ .catch(async (error) => {
431
+ await this.logEvent('error1', `monitor ${name} callback error ${(0, safeDiagnostic_1.safeDiagnostic)(error)}`).catch(() => { });
432
+ });
433
+ }
348
434
  /**
349
435
  * Fetch pending transaction status events from Arcade on demand.
350
436
  * Call this on app open, balance refresh, transaction list view, etc.
@@ -366,28 +452,106 @@ class Monitor {
366
452
  */
367
453
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
368
454
  processReorg(depth, oldTip, newTip, deactivatedHeaders) {
455
+ const event = this.validateReorgEvent(depth, oldTip, newTip, deactivatedHeaders);
369
456
  // Close prepared reads synchronously, then invalidate the shared epoch in
370
457
  // the background. Replacement-proof discovery remains aged because it may
371
458
  // require slow/unavailable network services; cache safety does not.
372
- const invalidation = this.storage.invalidatePreparedBeefsForReorg();
373
- this.reorgInvalidationPromise = invalidation;
374
- void invalidation.catch(async (error_) => {
459
+ this.requestPreparedBeefInvalidation();
460
+ const whenMsecs = Date.now();
461
+ for (const header of event.deactivatedHeaders) {
462
+ this.enqueueDeactivatedHeader({ whenMsecs, tries: 0, header });
463
+ }
464
+ }
465
+ enqueueDeactivatedHeader(item) {
466
+ const header = this.copyValidatedHeader(item.header, 'deactivated header');
467
+ if (!Number.isSafeInteger(item.whenMsecs) || item.whenMsecs < 0 || item.whenMsecs > Date.now() + Monitor.oneDay) {
468
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('whenMsecs', 'a non-negative timestamp no more than one day in the future');
469
+ }
470
+ if (!Number.isSafeInteger(item.tries) || item.tries < 0 || item.tries > 1000) {
471
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('tries', 'an integer from 0 through 1000');
472
+ }
473
+ if (this.deactivatedHeaderHashes.has(header.hash))
474
+ return;
475
+ if (this.deactivatedHeaders.length >= this.maxQueuedDeactivatedHeaders) {
476
+ const evicted = this.deactivatedHeaders.shift();
477
+ if (evicted != null)
478
+ this.deactivatedHeaderHashes.delete(evicted.header.hash);
479
+ void this.logEvent('error1', 'monitor reorg queue reached capacity; evicted its oldest header').catch(() => { });
480
+ }
481
+ this.deactivatedHeaders.push({ ...item, header });
482
+ this.deactivatedHeaderHashes.add(header.hash);
483
+ }
484
+ shiftDeactivatedHeader() {
485
+ const item = this.deactivatedHeaders.shift();
486
+ if (item != null)
487
+ this.deactivatedHeaderHashes.delete(item.header.hash);
488
+ return item;
489
+ }
490
+ preparedBeefInvalidation() {
491
+ return this.storage.invalidatePreparedBeefsForReorg();
492
+ }
493
+ requestPreparedBeefInvalidation() {
494
+ if (this.reorgInvalidationPending)
495
+ return;
496
+ this.reorgInvalidationPending = true;
497
+ let invalidation;
498
+ try {
499
+ invalidation = this.preparedBeefInvalidation();
500
+ }
501
+ catch (error) {
502
+ invalidation = Promise.reject(error);
503
+ }
504
+ this.reorgInvalidationPromise = invalidation
505
+ .catch(async (error_) => {
375
506
  const error = WalletError_1.WalletError.fromUnknown(error_);
376
- const details = `monitor reorg prepared-BEEF invalidation error ${error.code} ${error.description}`;
377
- console.log(details);
378
- // Never turn diagnostic persistence failure into an unhandled rejection
379
- // from the chain-event callback.
507
+ const details = `monitor reorg prepared-BEEF invalidation error ${(0, safeDiagnostic_1.safeDiagnostic)(error.code, 64)} ${(0, safeDiagnostic_1.safeDiagnostic)(error.description)}`;
380
508
  await this.logEvent('error1', details).catch(() => { });
509
+ })
510
+ .finally(() => {
511
+ this.reorgInvalidationPending = false;
381
512
  });
382
- if (deactivatedHeaders != null) {
383
- for (const header of deactivatedHeaders) {
384
- this.deactivatedHeaders.push({
385
- whenMsecs: Date.now(),
386
- tries: 0,
387
- header
388
- });
513
+ }
514
+ validateReorgEvent(depth, oldTip, newTip, deactivatedHeaders) {
515
+ if (!Number.isSafeInteger(depth) || depth < 1 || depth > 100_000) {
516
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('depth', 'an integer from 1 through 100000');
517
+ }
518
+ const oldHeader = this.copyValidatedHeader(oldTip, 'old tip');
519
+ const newHeader = this.copyValidatedHeader(newTip, 'new tip');
520
+ if (deactivatedHeaders === undefined) {
521
+ return { oldTip: oldHeader, newTip: newHeader, deactivatedHeaders: [] };
522
+ }
523
+ if (!Array.isArray(deactivatedHeaders) ||
524
+ deactivatedHeaders.length > depth ||
525
+ deactivatedHeaders.length > this.maxQueuedDeactivatedHeaders) {
526
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('deactivatedHeaders', 'a bounded dense array no longer than the reorganization depth');
527
+ }
528
+ const headers = [];
529
+ const hashes = new Set();
530
+ for (let index = 0; index < deactivatedHeaders.length; index++) {
531
+ if (!Object.hasOwn(deactivatedHeaders, index)) {
532
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('deactivatedHeaders', 'a dense array');
533
+ }
534
+ const header = this.copyValidatedHeader(deactivatedHeaders[index], `deactivated header ${index}`);
535
+ if (hashes.has(header.hash))
536
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('deactivatedHeaders', 'unique header hashes');
537
+ hashes.add(header.hash);
538
+ const child = headers.at(-1);
539
+ if (child != null && (child.height !== header.height + 1 || child.previousHash !== header.hash)) {
540
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('deactivatedHeaders', 'one descending linked header chain');
389
541
  }
542
+ headers.push(header);
390
543
  }
544
+ if (headers.length > 0 && headers[0].hash !== oldHeader.hash) {
545
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('deactivatedHeaders', 'a list beginning at the old tip');
546
+ }
547
+ return { oldTip: oldHeader, newTip: newHeader, deactivatedHeaders: headers };
548
+ }
549
+ copyValidatedHeader(value, name) {
550
+ // The in-memory mock chain deliberately uses a regtest-style target that
551
+ // is outside Bitcoin's production proof-of-work limit. Still bind every
552
+ // field to the computed header hash, but require consensus PoW everywhere
553
+ // a remotely sourced production/test network header can enter.
554
+ return (0, monitorValidation_1.copyValidatedMonitorHeader)(value, name, this.chain !== 'mock');
391
555
  }
392
556
  /**
393
557
  * Handler for new header events from Chaintracks.
@@ -1 +1 @@
1
- {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../../src/monitor/Monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../../src/monitor/Monitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorDaemon.d.ts","sourceRoot":"","sources":["../../../src/monitor/MonitorDaemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,MAAM,CAAA;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAe,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAI3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAA;AAGpG,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,eAAe,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,eAAe,CAAC,EAAE,sBAAsB,CAAA;CACzC;AAED,qBAAa,aAAa;IAOf,IAAI,EAAE,kBAAkB;IACxB,UAAU,CAAC,EAAE,OAAO;IAP7B,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,UAAU,EAAE,OAAO,CAAQ;IAE3B,YACS,IAAI,EAAE,kBAAkB,EACxB,UAAU,CAAC,EAAE,OAAO,YAAA,EAG5B;IAED,OAAO,CAAC,aAAa;YA8BP,gBAAgB;IAgB9B,OAAO,CAAC,iBAAiB;IAWnB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBjC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1B;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7B;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB/B;CACF"}
1
+ {"version":3,"file":"MonitorDaemon.d.ts","sourceRoot":"","sources":["../../../src/monitor/MonitorDaemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,MAAM,CAAA;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAe,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAI3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAA;AAIpG,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,eAAe,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,eAAe,CAAC,EAAE,sBAAsB,CAAA;CACzC;AAED,qBAAa,aAAa;IAOf,IAAI,EAAE,kBAAkB;IACxB,UAAU,CAAC,EAAE,OAAO;IAP7B,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,UAAU,EAAE,OAAO,CAAQ;IAE3B,YACS,IAAI,EAAE,kBAAkB,EACxB,UAAU,CAAC,EAAE,OAAO,YAAA,EAG5B;IAED,OAAO,CAAC,aAAa;YA8BP,gBAAgB;IAgB9B,OAAO,CAAC,iBAAiB;IAWnB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBjC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAa1B;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B7B;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB/B;CACF"}
@@ -13,7 +13,8 @@ const Monitor_1 = require("./Monitor");
13
13
  const WERR_errors_1 = require("../sdk/WERR_errors");
14
14
  const utilityHelpers_1 = require("../utility/utilityHelpers");
15
15
  const WalletError_1 = require("../sdk/WalletError");
16
- dotenv_1.default.config();
16
+ const safeDiagnostic_1 = require("../services/chaintracker/chaintracks/util/safeDiagnostic");
17
+ dotenv_1.default.config({ quiet: true });
17
18
  class MonitorDaemon {
18
19
  args;
19
20
  noRunTasks;
@@ -92,55 +93,102 @@ class MonitorDaemon {
92
93
  a.monitor = new Monitor_1.Monitor(monitorOptions);
93
94
  }
94
95
  async start() {
96
+ if (this.doneListening != null || this.doneTasks != null) {
97
+ throw new WERR_errors_1.WERR_INTERNAL('monitor daemon is already started');
98
+ }
95
99
  if (this.setup == null)
96
100
  await this.createSetup();
97
101
  if (this.setup?.monitor == null)
98
102
  throw new WERR_errors_1.WERR_INTERNAL('createSetup failed to initialize setup');
99
- const { monitor } = this.setup;
103
+ const { monitor, chaintracks } = this.setup;
104
+ await monitor.ready;
105
+ this.doneListening = chaintracks?.startListening() ?? Promise.resolve();
106
+ try {
107
+ await this.doneListening;
108
+ }
109
+ catch (error) {
110
+ this.doneListening = undefined;
111
+ this.doneTasks = undefined;
112
+ throw error;
113
+ }
100
114
  if (this.noRunTasks !== true) {
101
- console.log('\n\nRunning startTasks\n\n');
102
115
  this.doneTasks = monitor.startTasks();
103
116
  }
104
117
  }
105
118
  async stop() {
106
- console.log('start of stop');
107
119
  if (this.setup == null || (this.doneTasks == null && this.noRunTasks !== true) || this.doneListening == null) {
108
120
  throw new WERR_errors_1.WERR_INTERNAL('call start or createSetup first');
109
121
  }
110
122
  const { monitor } = this.setup;
123
+ if (monitor == null)
124
+ throw new WERR_errors_1.WERR_INTERNAL('monitor daemon setup has no monitor');
111
125
  monitor.stopTasks();
112
- if (this.doneTasks != null)
113
- await this.doneTasks;
126
+ const results = await Promise.allSettled([this.doneTasks, this.doneListening].filter(p => p != null));
114
127
  this.doneTasks = undefined;
115
- await this.doneListening;
116
128
  this.doneListening = undefined;
129
+ const failure = results.find((result) => result.status === 'rejected');
130
+ if (failure != null)
131
+ throw WalletError_1.WalletError.fromUnknown(failure.reason);
117
132
  }
118
133
  async destroy() {
119
134
  if (this.setup == null)
120
135
  return;
121
- if (this.doneTasks != null || this.doneListening != null)
122
- await this.stop();
123
- if (this.setup.storageProvider != null)
124
- await this.setup.storageProvider.destroy();
136
+ const setup = this.setup;
137
+ const failures = [];
138
+ if (this.doneTasks != null || this.doneListening != null) {
139
+ try {
140
+ await this.stop();
141
+ }
142
+ catch (error) {
143
+ failures.push(error);
144
+ }
145
+ finally {
146
+ this.doneTasks = undefined;
147
+ this.doneListening = undefined;
148
+ }
149
+ }
150
+ if (setup.monitor != null) {
151
+ try {
152
+ await setup.monitor.destroy();
153
+ }
154
+ catch (error) {
155
+ failures.push(error);
156
+ }
157
+ }
158
+ if (setup.storageProvider != null) {
159
+ try {
160
+ await setup.storageProvider.destroy();
161
+ }
162
+ catch (error) {
163
+ failures.push(error);
164
+ }
165
+ }
125
166
  this.setup = undefined;
167
+ if (failures.length > 0)
168
+ throw WalletError_1.WalletError.fromUnknown(failures[0]);
126
169
  }
127
170
  async runDaemon() {
128
171
  this.stopDaemon = false;
129
- for (;;) {
172
+ while (!this.stopDaemon) {
130
173
  try {
131
174
  await this.start();
132
175
  while (!this.stopDaemon) {
133
176
  await (0, utilityHelpers_1.wait)(10 * 1000);
134
177
  }
135
- console.log('stopping');
136
178
  await this.stop();
137
- console.log('cleanup');
138
179
  await this.destroy();
139
- console.log('done');
140
180
  }
141
181
  catch (error_) {
142
182
  const e = WalletError_1.WalletError.fromUnknown(error_);
143
- console.log(`\n\nrunWatchman Main Error Handler\n\ncode: ${e.code}\nDescription: ${e.description}\n\n\n`);
183
+ console.log(`monitor daemon error ${(0, safeDiagnostic_1.safeDiagnostic)(e.code, 64)} ${(0, safeDiagnostic_1.safeDiagnostic)(e.description)}`);
184
+ try {
185
+ await this.destroy();
186
+ }
187
+ catch (cleanupError) {
188
+ console.log(`monitor daemon cleanup error ${(0, safeDiagnostic_1.safeDiagnostic)(cleanupError)}`);
189
+ }
190
+ if (!this.stopDaemon)
191
+ await (0, utilityHelpers_1.wait)(5000);
144
192
  }
145
193
  }
146
194
  }