@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
package/docs/monitor.md CHANGED
@@ -26,6 +26,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
26
26
  | [MonitorOptions](#interface-monitoroptions) |
27
27
  | [ReviewHeightRangeResult](#interface-reviewheightrangeresult) |
28
28
  | [TaskPurgeParams](#interface-taskpurgeparams) |
29
+ | [TaskReviewUtxosPageResult](#interface-taskreviewutxospageresult) |
29
30
 
30
31
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
31
32
 
@@ -87,12 +88,12 @@ export interface MonitorDaemonSetup {
87
88
  servicesOptions?: WalletServicesOptions;
88
89
  services?: Services;
89
90
  monitor?: Monitor;
90
- chaintracks?: Chaintracks;
91
+ chaintracks?: ChaintracksClientApi;
91
92
  startupTaskMode?: MonitorStartupTaskMode;
92
93
  }
93
94
  ```
94
95
 
95
- See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [Monitor](./monitor.md#class-monitor), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [Services](./services.md#class-services), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [WalletServicesOptions](./client.md#interface-walletservicesoptions), [WalletStorageManager](./storage.md#class-walletstoragemanager)
96
+ See also: [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [Monitor](./monitor.md#class-monitor), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [Services](./services.md#class-services), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [WalletServicesOptions](./client.md#interface-walletservicesoptions), [WalletStorageManager](./storage.md#class-walletstoragemanager)
96
97
 
97
98
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
98
99
 
@@ -105,13 +106,16 @@ export interface MonitorOptions {
105
106
  services: Services | WalletServices;
106
107
  storage: MonitorStorage;
107
108
  chaintracks: ChaintracksClientApi;
108
- chaintracksWithEvents?: Chaintracks;
109
+ chaintracksWithEvents?: ChaintracksClientApi;
110
+ maxQueuedDeactivatedHeaders?: number;
111
+ logging?: (...args: unknown[]) => void;
109
112
  startupTaskMode?: MonitorStartupTaskMode;
110
113
  msecsWaitPerMerkleProofServiceReq: number;
111
114
  taskRunWaitMsecs: number;
112
115
  abandonedMsecs: number;
113
116
  unprovenAttemptsLimitTest: number;
114
117
  unprovenAttemptsLimitMain: number;
118
+ maxRebroadcastAttempts: number;
115
119
  callbackToken?: string;
116
120
  loadLastSSEEventId?: () => Promise<string | undefined>;
117
121
  saveLastSSEEventId?: (lastEventId: string) => Promise<void>;
@@ -122,7 +126,7 @@ export interface MonitorOptions {
122
126
  }
123
127
  ```
124
128
 
125
- See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
129
+ See also: [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
126
130
 
127
131
  ###### Property EventSourceClass
128
132
 
@@ -151,6 +155,35 @@ Load persisted SSE lastEventId (e.g. from SQLite) for catchup on startup
151
155
  loadLastSSEEventId?: () => Promise<string | undefined>
152
156
  ```
153
157
 
158
+ ###### Property logging
159
+
160
+ Optional bounded operational logger. Monitor library code is silent by default.
161
+
162
+ ```ts
163
+ logging?: (...args: unknown[]) => void
164
+ ```
165
+
166
+ ###### Property maxQueuedDeactivatedHeaders
167
+
168
+ Maximum deactivated block headers retained for reproof. Default: 4096.
169
+
170
+ ```ts
171
+ maxQueuedDeactivatedHeaders?: number
172
+ ```
173
+
174
+ ###### Property maxRebroadcastAttempts
175
+
176
+ Maximum number of times a broadcast transaction may be reset to 'unsent' for
177
+ rebroadcast after proof check timeout (circuit breaker).
178
+
179
+ Default 0 means unlimited — the tx is rebroadcast indefinitely until a proof
180
+ is found. Set to a positive integer to cap rebroadcast cycles; once the limit
181
+ is reached the req is marked 'invalid'.
182
+
183
+ ```ts
184
+ maxRebroadcastAttempts: number
185
+ ```
186
+
154
187
  ###### Property msecsWaitPerMerkleProofServiceReq
155
188
 
156
189
  How many msecs to wait after each getMerkleProof service request.
@@ -229,21 +262,46 @@ See also: [PurgeParams](./client.md#interface-purgeparams)
229
262
 
230
263
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
231
264
 
265
+ ---
266
+ ##### Interface: TaskReviewUtxosPageResult
267
+
268
+ ```ts
269
+ export interface TaskReviewUtxosPageResult extends UtxoReviewDiagnostics {
270
+ found: boolean;
271
+ userId?: number;
272
+ identityKey: string;
273
+ mode: "all" | "change";
274
+ release: boolean;
275
+ offset: number;
276
+ pageLimit: number;
277
+ sourceScanned: number;
278
+ complete: boolean;
279
+ nextOffset?: number;
280
+ log: string;
281
+ }
282
+ ```
283
+
284
+ See also: [UtxoReviewDiagnostics](./storage.md#interface-utxoreviewdiagnostics)
285
+
286
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
287
+
232
288
  ---
233
289
  #### Classes
234
290
 
235
291
  | | |
236
292
  | --- | --- |
237
293
  | [Monitor](#class-monitor) | [TaskPurge](#class-taskpurge) |
238
- | [MonitorDaemon](#class-monitordaemon) | [TaskReorg](#class-taskreorg) |
239
- | [TaskArcadeSSE](#class-taskarcadesse) | [TaskReviewDoubleSpends](#class-taskreviewdoublespends) |
240
- | [TaskCheckForProofs](#class-taskcheckforproofs) | [TaskReviewProvenTxs](#class-taskreviewproventxs) |
241
- | [TaskCheckNoSends](#class-taskchecknosends) | [TaskReviewStatus](#class-taskreviewstatus) |
294
+ | [MonitorDaemon](#class-monitordaemon) | [TaskReconcilePendingTransactions](#class-taskreconcilependingtransactions) |
295
+ | [TaskArcadeSSE](#class-taskarcadesse) | [TaskReorg](#class-taskreorg) |
296
+ | [TaskCheckForProofs](#class-taskcheckforproofs) | [TaskReviewDoubleSpends](#class-taskreviewdoublespends) |
297
+ | [TaskCheckNoSends](#class-taskchecknosends) | [TaskReviewProvenTxs](#class-taskreviewproventxs) |
298
+ | [TaskCleanupActionBatches](#class-taskcleanupactionbatches) | [TaskReviewStatus](#class-taskreviewstatus) |
242
299
  | [TaskClock](#class-taskclock) | [TaskReviewUtxos](#class-taskreviewutxos) |
243
300
  | [TaskFailAbandoned](#class-taskfailabandoned) | [TaskSendWaiting](#class-tasksendwaiting) |
244
301
  | [TaskMineBlock](#class-taskmineblock) | [TaskSyncWhenIdle](#class-tasksyncwhenidle) |
245
302
  | [TaskMonitorCallHistory](#class-taskmonitorcallhistory) | [TaskUnFail](#class-taskunfail) |
246
303
  | [TaskNewHeader](#class-tasknewheader) | [WalletMonitorTask](#class-walletmonitortask) |
304
+ | [TaskNoSendExpiry](#class-tasknosendexpiry) | |
247
305
 
248
306
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
249
307
 
@@ -256,20 +314,22 @@ and potentially that reorgs update proofs that were already received.
256
314
 
257
315
  ```ts
258
316
  export class Monitor {
259
- static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: Chaintracks, startupTaskMode: MonitorStartupTaskMode = "none"): MonitorOptions
317
+ static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: ChaintracksClientApi, startupTaskMode: MonitorStartupTaskMode = "none"): MonitorOptions
260
318
  options: MonitorOptions;
261
319
  services: Services | WalletServices;
262
320
  chain: Chain;
263
321
  storage: MonitorStorage;
264
322
  chaintracks: ChaintracksClientApi;
265
- chaintracksWithEvents?: Chaintracks;
323
+ chaintracksWithEvents?: ChaintracksClientApi;
266
324
  reorgSubscriptionPromise?: Promise<string>;
325
+ reorgInvalidationPromise: Promise<void> = Promise.resolve();
267
326
  headersSubscriptionPromise?: Promise<string>;
268
327
  onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
269
328
  onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
270
329
  onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
271
- constructor(options: MonitorOptions)
272
- async destroy(): Promise<void>
330
+ get ready(): Promise<void>
331
+ constructor(options: MonitorOptions)
332
+ async destroy(): Promise<void>
273
333
  static readonly oneSecond = 1000;
274
334
  static readonly oneMinute = 60 * Monitor.oneSecond;
275
335
  static readonly oneHour = 60 * Monitor.oneMinute;
@@ -286,33 +346,35 @@ export class Monitor {
286
346
  purgeCompletedAge: 2 * Monitor.oneWeek,
287
347
  purgeFailedAge: 5 * Monitor.oneDay
288
348
  };
289
- addAllTasksToOther(): void
290
- addDefaultTasks(): void
291
- addMultiUserTasks(): void
292
- addTask(task: WalletMonitorTask): void
293
- removeTask(name: string): void
294
- async runTask(name: string): Promise<string>
295
- async runOnce(): Promise<void>
349
+ addAllTasksToOther(): void
350
+ addDefaultTasks(): void
351
+ addMultiUserTasks(): void
352
+ addTask(task: WalletMonitorTask): void
353
+ removeTask(name: string): void
354
+ async runTask(name: string): Promise<string>
355
+ async runOnce(): Promise<void>
296
356
  _runAsyncSetup: boolean = true;
297
357
  _tasksRunningPromise?: PromiseLike<void>;
298
358
  resolveCompletion: ((value: void | PromiseLike<void>) => void) | undefined = undefined;
299
- async startTasks(): Promise<void>
300
- async logEvent(event: string, details?: string): Promise<void>
301
- stopTasks(): void
359
+ async startTasks(): Promise<void>
360
+ async logEvent(event: string, details?: string): Promise<void>
361
+ stopTasks(): void
302
362
  lastNewHeader: BlockHeader | undefined;
303
363
  lastNewHeaderWhen: Date | undefined;
304
- processNewBlockHeader(header: BlockHeader): void
305
- callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
306
- callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
307
- callOnTransactionStatusChanged(txid: string, newStatus: string): void
308
- async fetchSSEEvents(): Promise<number>
364
+ processNewBlockHeader(header: BlockHeader): void
365
+ callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
366
+ callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
367
+ callOnTransactionStatusChanged(txid: string, newStatus: string): void
368
+ async fetchSSEEvents(): Promise<number>
309
369
  deactivatedHeaders: DeactivedHeader[] = [];
310
- processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
311
- processHeader(header: BlockHeader): void
370
+ processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
371
+ enqueueDeactivatedHeader(item: DeactivedHeader): void
372
+ shiftDeactivatedHeader(): DeactivedHeader | undefined
373
+ processHeader(header: BlockHeader): void
312
374
  }
313
375
  ```
314
376
 
315
- See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [DeactivedHeader](./monitor.md#interface-deactivedheader), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask), [WalletServices](./client.md#interface-walletservices)
377
+ See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [DeactivedHeader](./monitor.md#interface-deactivedheader), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask), [WalletServices](./client.md#interface-walletservices)
316
378
 
317
379
  ###### Property _otherTasks
318
380
 
@@ -337,7 +399,7 @@ See also: [WalletMonitorTask](./monitor.md#class-walletmonitortask)
337
399
  Default tasks with settings appropriate for a single user storage
338
400
 
339
401
  ```ts
340
- addDefaultTasks(): void
402
+ addDefaultTasks(): void
341
403
  ```
342
404
 
343
405
  ###### Method addMultiUserTasks
@@ -345,7 +407,7 @@ addDefaultTasks(): void
345
407
  Tasks appropriate for multi-user storage
346
408
 
347
409
  ```ts
348
- addMultiUserTasks(): void
410
+ addMultiUserTasks(): void
349
411
  ```
350
412
 
351
413
  ###### Method callOnBroadcastedTransaction
@@ -355,7 +417,7 @@ This is a function run from a TaskSendWaiting Monitor task.
355
417
  This allows the user of wallet-toolbox to 'subscribe' for transaction broadcast updates.
356
418
 
357
419
  ```ts
358
- callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
420
+ callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
359
421
  ```
360
422
  See also: [ReviewActionResult](./client.md#interface-reviewactionresult)
361
423
 
@@ -366,7 +428,7 @@ This is a function run from a TaskCheckForProofs Monitor task.
366
428
  This allows the user of wallet-toolbox to 'subscribe' for transaction updates.
367
429
 
368
430
  ```ts
369
- callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
431
+ callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
370
432
  ```
371
433
  See also: [ProvenTransactionStatus](./client.md#interface-proventransactionstatus)
372
434
 
@@ -375,7 +437,7 @@ See also: [ProvenTransactionStatus](./client.md#interface-proventransactionstatu
375
437
  Called by TaskArcadeSSE when an SSE status event is received from Arcade.
376
438
 
377
439
  ```ts
378
- callOnTransactionStatusChanged(txid: string, newStatus: string): void
440
+ callOnTransactionStatusChanged(txid: string, newStatus: string): void
379
441
  ```
380
442
 
381
443
  ###### Method fetchSSEEvents
@@ -384,7 +446,7 @@ Fetch pending transaction status events from Arcade on demand.
384
446
  Call this on app open, balance refresh, transaction list view, etc.
385
447
 
386
448
  ```ts
387
- async fetchSSEEvents(): Promise<number>
449
+ async fetchSSEEvents(): Promise<number>
388
450
  ```
389
451
 
390
452
  ###### Method processHeader
@@ -395,7 +457,7 @@ To minimize reorg processing, new headers are aged before processing via TaskNew
395
457
  Therefore this handler is intentionally a no-op.
396
458
 
397
459
  ```ts
398
- processHeader(header: BlockHeader): void
460
+ processHeader(header: BlockHeader): void
399
461
  ```
400
462
  See also: [BlockHeader](./client.md#interface-blockheader)
401
463
 
@@ -406,7 +468,7 @@ Process new chain header event received from Chaintracks
406
468
  Kicks processing 'unconfirmed' and 'unmined' request processing.
407
469
 
408
470
  ```ts
409
- processNewBlockHeader(header: BlockHeader): void
471
+ processNewBlockHeader(header: BlockHeader): void
410
472
  ```
411
473
  See also: [BlockHeader](./client.md#interface-blockheader)
412
474
 
@@ -422,7 +484,7 @@ It is possible for a transaction to become invalid.
422
484
  Coinbase transactions always become invalid.
423
485
 
424
486
  ```ts
425
- processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
487
+ processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
426
488
  ```
427
489
  See also: [BlockHeader](./client.md#interface-blockheader)
428
490
 
@@ -437,12 +499,12 @@ export class MonitorDaemon {
437
499
  doneListening?: Promise<void>;
438
500
  doneTasks?: Promise<void>;
439
501
  stopDaemon: boolean = false;
440
- constructor(public args: MonitorDaemonSetup, public noRunTasks?: boolean)
441
- async createSetup(): Promise<void>
442
- async start(): Promise<void>
443
- async stop(): Promise<void>
444
- async destroy(): Promise<void>
445
- async runDaemon(): Promise<void>
502
+ constructor(public args: MonitorDaemonSetup, public noRunTasks?: boolean)
503
+ async createSetup(): Promise<void>
504
+ async start(): Promise<void>
505
+ async stop(): Promise<void>
506
+ async destroy(): Promise<void>
507
+ async runDaemon(): Promise<void>
446
508
  }
447
509
  ```
448
510
 
@@ -459,20 +521,29 @@ when transactions are MINED.
459
521
 
460
522
  ```ts
461
523
  export class TaskArcadeSSE extends WalletMonitorTask {
462
- static taskName = "ArcadeSSE";
524
+ static readonly taskName = "ArcadeSSE";
463
525
  sseClient: ArcSSEClient | null = null;
464
- constructor(monitor: Monitor)
465
- override async asyncSetup(): Promise<void>
526
+ constructor(monitor: Monitor)
527
+ override async asyncSetup(): Promise<void>
466
528
  trigger(_nowMsecsSinceEpoch: number): {
467
529
  run: boolean;
468
- }
469
- async runTask(): Promise<string>
470
- async fetchNow(): Promise<number>
530
+ }
531
+ async runTask(): Promise<string>
532
+ async fetchNow(): Promise<number>
533
+ close(): void
471
534
  }
472
535
  ```
473
536
 
474
537
  See also: [ArcSSEClient](./services.md#class-arcsseclient), [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
475
538
 
539
+ ###### Method close
540
+
541
+ Close the live stream and reject any unacknowledged monitor event.
542
+
543
+ ```ts
544
+ close(): void
545
+ ```
546
+
476
547
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
477
548
 
478
549
  ---
@@ -491,35 +562,27 @@ the original ProvenTxReq status is advanced to 'notifying'.
491
562
 
492
563
  ```ts
493
564
  export class TaskCheckForProofs extends WalletMonitorTask {
494
- static taskName = "CheckForProofs";
495
- static checkNow = false;
496
- constructor(monitor: Monitor, public triggerMsecs = 0)
497
- trigger(nowMsecsSinceEpoch: number): {
565
+ static readonly taskName = "CheckForProofs";
566
+ static get checkNow(): boolean
567
+ static set checkNow(value: boolean)
568
+ constructor(monitor: Monitor, public triggerMsecs = 0)
569
+ trigger(_nowMsecsSinceEpoch: number): {
498
570
  run: boolean;
499
- }
500
- async runTask(): Promise<string>
571
+ }
572
+ async runTask(): Promise<string>
501
573
  }
502
574
  ```
503
575
 
504
576
  See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
505
577
 
506
- ###### Property checkNow
507
-
508
- An external service such as the chaintracks new block header
509
- listener can set this true to cause
510
-
511
- ```ts
512
- static checkNow = false
513
- ```
514
-
515
578
  ###### Method trigger
516
579
 
517
580
  Normally triggered by checkNow getting set by new block header found event from chaintracks
518
581
 
519
582
  ```ts
520
- trigger(nowMsecsSinceEpoch: number): {
583
+ trigger(_nowMsecsSinceEpoch: number): {
521
584
  run: boolean;
522
- }
585
+ }
523
586
  ```
524
587
 
525
588
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
@@ -527,7 +590,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
527
590
  ---
528
591
  ##### Class: TaskCheckNoSends
529
592
 
530
- `TaskCheckNoSends` is a WalletMonitor task that retreives merkle proofs for
593
+ `TaskCheckNoSends` is a WalletMonitor task that retrieves merkle proofs for
531
594
  'nosend' transactions that MAY have been shared externally.
532
595
 
533
596
  Unlike intentionally processed transactions, 'nosend' transactions are fully valid
@@ -539,27 +602,87 @@ managed to get mined by some external process.
539
602
  If a proof is obtained and validated, a new ProvenTx record is created and
540
603
  the original ProvenTxReq status is advanced to 'notifying'.
541
604
 
605
+ # Aging schedule on the checkNow path
606
+
607
+ When this task is triggered by a new block header (`checkNow = true`, wired in
608
+ `Monitor.processNewBlockHeader`), it does NOT scan every `nosend` row on every
609
+ block. The set of `nosend` rows can grow large over a wallet's lifetime
610
+ (txs sitting in escrow, un-aborted tests, abandoned batches), and a fast,
611
+ unfiltered scan on every block would do an unbounded number of external
612
+ `getMerklePath` lookups per block.
613
+
614
+ Instead, the row's age (now - `created_at`) determines how often it is
615
+ eligible for a checkNow-triggered chain check. The schedule starts at "skip
616
+ entirely" for very fresh rows (to protect in-flight batched-tx workflows
617
+ where chained `createAction({ noSend: true, sendWith: [...] })` builds
618
+ deliberately keep rows in `nosend` until a single terminator broadcasts the
619
+ whole BEEF), then progresses to "every block", "hourly", "daily", and
620
+ "weekly" as rows age:
621
+
622
+ age < 5 min → skip (in-flight batch protection)
623
+ 5 min ≤ age < 1 hr → check on every checkNow trigger
624
+ 1 hr ≤ age < 24 hr → check on ~hourly cadence (block-height % 6)
625
+ 24 hr ≤ age < 7 days → check on ~daily cadence (block-height % 144)
626
+ age ≥ 7 days → check on ~weekly cadence (block-height % 1008)
627
+
628
+ Block-height modulo gives a deterministic, stateless way to schedule
629
+ checks for older rows; no per-row "last checked" persistence is required.
630
+ Each row's modulo offset is keyed by its `provenTxReqId` so that rows in
631
+ the same age tier are staggered across the modulo cycle rather than all
632
+ firing on the same block — `(blockHeight + provenTxReqId) % tierInterval`.
633
+ For a wallet with N rows in tier T and tier interval K, this gives
634
+ roughly N/K rows fired per block instead of N rows fired every K blocks.
635
+
636
+ The scheduled daily cadence (no `checkNow`) is unaffected — it still scans
637
+ every row regardless of age. That path is the once-per-day fallback that
638
+ guarantees externally-broadcast `nosend` txs are eventually recognized
639
+ even if the aging schedule on the checkNow path defers them.
640
+
542
641
  ```ts
543
642
  export class TaskCheckNoSends extends WalletMonitorTask {
544
- static taskName = "CheckNoSends";
545
- static checkNow = false;
546
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneDay * 1)
643
+ static readonly taskName = "CheckNoSends";
644
+ static get checkNow(): boolean
645
+ static set checkNow(value: boolean)
646
+ static readonly tier0FreshSkipMsecs = 5 * 60 * 1000;
647
+ static readonly tier1EveryBlockMsecs = 60 * 60 * 1000;
648
+ static readonly tier2HourlyMsecs = 24 * 60 * 60 * 1000;
649
+ static readonly tier3DailyMsecs = 7 * 24 * 60 * 60 * 1000;
650
+ static readonly tier2BlockInterval = 6;
651
+ static readonly tier3BlockInterval = 144;
652
+ static readonly tier4BlockInterval = 1008;
653
+ static shouldCheckOnCheckNow(createdAt: Date, nowMs: number, currentBlockHeight: number, provenTxReqId: number): boolean
654
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneDay * 1)
547
655
  trigger(nowMsecsSinceEpoch: number): {
548
656
  run: boolean;
549
- }
550
- async runTask(): Promise<string>
657
+ }
658
+ async runTask(): Promise<string>
551
659
  }
552
660
  ```
553
661
 
554
662
  See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
555
663
 
556
- ###### Property checkNow
664
+ ###### Property tier0FreshSkipMsecs
665
+
666
+ Aging-schedule constants for the `checkNow` path. Rows below `tier0FreshSkipMsecs`
667
+ are never checked via checkNow (batched-tx protection). Rows from tier 0 up
668
+ to `tier1EveryBlockMsecs` are checked on every checkNow trigger. Beyond that,
669
+ checks happen on `block-height % tierNBlockInterval === 0` cadences with
670
+ growing intervals. The scheduled daily cadence (no checkNow) is unaffected.
671
+
672
+ ```ts
673
+ static readonly tier0FreshSkipMsecs = 5 * 60 * 1000
674
+ ```
675
+
676
+ ###### Method shouldCheckOnCheckNow
557
677
 
558
- An external service such as the chaintracks new block header
559
- listener can set this true to cause
678
+ Decide whether a single `nosend` row should be chain-checked on the
679
+ current `checkNow` trigger, based on its age, the current block
680
+ height, and its `provenTxReqId` (used to stagger same-tier rows
681
+ across the modulo cycle). See class docstring for the full schedule
682
+ and staggering rationale.
560
683
 
561
684
  ```ts
562
- static checkNow = false
685
+ static shouldCheckOnCheckNow(createdAt: Date, nowMs: number, currentBlockHeight: number, provenTxReqId: number): boolean
563
686
  ```
564
687
 
565
688
  ###### Method trigger
@@ -569,24 +692,44 @@ Normally triggered by checkNow getting set by new block header found event from
569
692
  ```ts
570
693
  trigger(nowMsecsSinceEpoch: number): {
571
694
  run: boolean;
572
- }
695
+ }
573
696
  ```
574
697
 
575
698
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
576
699
 
700
+ ---
701
+ ##### Class: TaskCleanupActionBatches
702
+
703
+ Releases expired action-batch reservations and incomplete staged blobs.
704
+
705
+ ```ts
706
+ export class TaskCleanupActionBatches extends WalletMonitorTask {
707
+ static readonly taskName = "CleanupActionBatches";
708
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute)
709
+ trigger(nowMsecsSinceEpoch: number): {
710
+ run: boolean;
711
+ }
712
+ async runTask(): Promise<string>
713
+ }
714
+ ```
715
+
716
+ See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
717
+
718
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
719
+
577
720
  ---
578
721
  ##### Class: TaskClock
579
722
 
580
723
  ```ts
581
724
  export class TaskClock extends WalletMonitorTask {
582
- static taskName = "Clock";
725
+ static readonly taskName = "Clock";
583
726
  nextMinute: number;
584
- constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneSecond)
585
- trigger(nowMsecsSinceEpoch: number): {
727
+ constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneSecond)
728
+ trigger(_nowMsecsSinceEpoch: number): {
586
729
  run: boolean;
587
- }
588
- async runTask(): Promise<string>
589
- getNextMinute(): number
730
+ }
731
+ async runTask(): Promise<string>
732
+ getNextMinute(): number
590
733
  }
591
734
  ```
592
735
 
@@ -606,12 +749,12 @@ outputs are not spendable.
606
749
 
607
750
  ```ts
608
751
  export class TaskFailAbandoned extends WalletMonitorTask {
609
- static taskName = "FailAbandoned";
610
- constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 5)
752
+ static readonly taskName = "FailAbandoned";
753
+ constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 5)
611
754
  trigger(nowMsecsSinceEpoch: number): {
612
755
  run: boolean;
613
- }
614
- async runTask(): Promise<string>
756
+ }
757
+ async runTask(): Promise<string>
615
758
  }
616
759
  ```
617
760
 
@@ -624,13 +767,14 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
624
767
 
625
768
  ```ts
626
769
  export class TaskMineBlock extends WalletMonitorTask {
627
- static taskName = "MineBlock";
628
- static mineNow = false;
629
- constructor(monitor: Monitor, public triggerMsecs = 10 * Monitor.oneMinute)
770
+ static readonly taskName = "MineBlock";
771
+ static get mineNow(): boolean
772
+ static set mineNow(value: boolean)
773
+ constructor(monitor: Monitor, public triggerMsecs = 10 * Monitor.oneMinute)
630
774
  trigger(nowMsecsSinceEpoch: number): {
631
775
  run: boolean;
632
- }
633
- async runTask(): Promise<string>
776
+ }
777
+ async runTask(): Promise<string>
634
778
  }
635
779
  ```
636
780
 
@@ -643,12 +787,12 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
643
787
 
644
788
  ```ts
645
789
  export class TaskMonitorCallHistory extends WalletMonitorTask {
646
- static taskName = "MonitorCallHistory";
647
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12)
790
+ static readonly taskName = "MonitorCallHistory";
791
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12)
648
792
  trigger(nowMsecsSinceEpoch: number): {
649
793
  run: boolean;
650
- }
651
- async runTask(): Promise<string>
794
+ }
795
+ async runTask(): Promise<string>
652
796
  }
653
797
  ```
654
798
 
@@ -672,17 +816,17 @@ with that header height as the limit for which proofs are accepted.
672
816
 
673
817
  ```ts
674
818
  export class TaskNewHeader extends WalletMonitorTask {
675
- static taskName = "NewHeader";
819
+ static readonly taskName = "NewHeader";
676
820
  header?: BlockHeader;
677
821
  queuedHeader?: BlockHeader;
678
822
  queuedHeaderWhen?: Date;
679
- constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneMinute)
680
- async getHeader(): Promise<BlockHeader>
681
- override async asyncSetup(): Promise<void>
682
- trigger(nowMsecsSinceEpoch: number): {
823
+ constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneMinute)
824
+ async getHeader(): Promise<BlockHeader>
825
+ override async asyncSetup(): Promise<void>
826
+ trigger(_nowMsecsSinceEpoch: number): {
683
827
  run: boolean;
684
- }
685
- async runTask(): Promise<string>
828
+ }
829
+ async runTask(): Promise<string>
686
830
  }
687
831
  ```
688
832
 
@@ -709,9 +853,9 @@ See also: [BlockHeader](./client.md#interface-blockheader)
709
853
 
710
854
  ###### Method asyncSetup
711
855
 
712
- This task intentionally polls for new headers. Reorganization notification is
713
- outside this task's current contract and requires a chaintracker event source
714
- before it can be added without changing monitor behavior.
856
+ This task intentionally polls for new headers. Reorganization notification
857
+ is outside this task's current contract and requires a chaintracker event
858
+ source before it can be added without changing monitor behavior.
715
859
 
716
860
  New header events drive retrieving merklePaths for newly mined transactions.
717
861
  This implementation performs this function.
@@ -723,36 +867,76 @@ and sometimes which block. In the case of coinbase transactions, a transaction m
723
867
  also fail after a reorg.
724
868
 
725
869
  ```ts
726
- override async asyncSetup(): Promise<void>
870
+ override async asyncSetup(): Promise<void>
727
871
  ```
728
872
 
729
873
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
730
874
 
875
+ ---
876
+ ##### Class: TaskNoSendExpiry
877
+
878
+ Enforces BRC-177 noSend expiries from the active authoritative storage.
879
+ Reclaim transactions are signed before release, so this task never needs
880
+ access to wallet keys and is safe to run in a remote storage monitor.
881
+
882
+ ```ts
883
+ export class TaskNoSendExpiry extends WalletMonitorTask {
884
+ static readonly taskName = "NoSendExpiry";
885
+ static requestCheck(): void
886
+ constructor(monitor: Monitor, public triggerMsecs = 5 * Monitor.oneSecond)
887
+ trigger(nowMsecsSinceEpoch: number): {
888
+ run: boolean;
889
+ }
890
+ async runTask(): Promise<string>
891
+ }
892
+ ```
893
+
894
+ See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
895
+
896
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
897
+
731
898
  ---
732
899
  ##### Class: TaskPurge
733
900
 
734
901
  ```ts
735
902
  export class TaskPurge extends WalletMonitorTask {
736
- static taskName = "Purge";
737
- static checkNow = false;
738
- constructor(monitor: Monitor, public params: TaskPurgeParams, public triggerMsecs = 0)
903
+ static readonly taskName = "Purge";
904
+ static get checkNow(): boolean
905
+ static set checkNow(value: boolean)
906
+ constructor(monitor: Monitor, public params: TaskPurgeParams, public triggerMsecs = 0)
739
907
  trigger(nowMsecsSinceEpoch: number): {
740
908
  run: boolean;
741
- }
742
- async runTask(): Promise<string>
909
+ }
910
+ async runTask(): Promise<string>
743
911
  }
744
912
  ```
745
913
 
746
914
  See also: [Monitor](./monitor.md#class-monitor), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
747
915
 
748
- ###### Property checkNow
916
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
917
+
918
+ ---
919
+ ##### Class: TaskReconcilePendingTransactions
749
920
 
750
- Set to true to trigger running this task
921
+ Poll durable transaction lifecycle state for aged, non-terminal requests.
922
+ This closes the gap where an Arcade rejection event was missed before the
923
+ monitor subscribed or while it was offline. Unknown/provider-error results
924
+ never mutate storage; only a provider's explicit terminal verdict does.
751
925
 
752
926
  ```ts
753
- static checkNow = false
927
+ export class TaskReconcilePendingTransactions extends WalletMonitorTask {
928
+ static readonly taskName = "ReconcilePendingTransactions";
929
+ triggerNextMsecs: number;
930
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12, public reviewLimit = 100, public minAgeMinutes = 60, public triggerQuickMsecs = Monitor.oneMinute)
931
+ trigger(nowMsecsSinceEpoch: number): {
932
+ run: boolean;
933
+ }
934
+ async runTask(): Promise<string>
935
+ }
754
936
  ```
755
937
 
938
+ See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
939
+
756
940
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
757
941
 
758
942
  ---
@@ -783,13 +967,13 @@ createAction fails to verify a generated beef against the chaintracker.
783
967
 
784
968
  ```ts
785
969
  export class TaskReorg extends WalletMonitorTask {
786
- static taskName = "Reorg";
970
+ static readonly taskName = "Reorg";
787
971
  process: DeactivedHeader[] = [];
788
- constructor(monitor: Monitor, public agedMsecs = Monitor.oneMinute * 10, public maxRetries = 3)
972
+ constructor(monitor: Monitor, public agedMsecs = Monitor.oneMinute * 10, public maxRetries = 3)
789
973
  trigger(nowMsecsSinceEpoch: number): {
790
974
  run: boolean;
791
- }
792
- async runTask(): Promise<string>
975
+ }
976
+ async runTask(): Promise<string>
793
977
  }
794
978
  ```
795
979
 
@@ -802,7 +986,7 @@ Shift aged deactivated headers onto `process` array.
802
986
  ```ts
803
987
  trigger(nowMsecsSinceEpoch: number): {
804
988
  run: boolean;
805
- }
989
+ }
806
990
  ```
807
991
 
808
992
  Returns
@@ -824,18 +1008,19 @@ back to 'unfail' so existing recovery handling can re-process them.
824
1008
 
825
1009
  ```ts
826
1010
  export class TaskReviewDoubleSpends extends WalletMonitorTask {
827
- static taskName = "ReviewDoubleSpends";
828
- static checkNow = false;
1011
+ static readonly taskName = "ReviewDoubleSpends";
1012
+ static get checkNow(): boolean
1013
+ static set checkNow(value: boolean)
829
1014
  triggerNextMsecs: number;
830
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12, public reviewLimit = 100, public minAgeMinutes = 60, public triggerQuickMsecs = Monitor.oneMinute * 1)
1015
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12, public reviewLimit = 100, public minAgeMinutes = 60, public triggerQuickMsecs = Monitor.oneMinute * 1)
831
1016
  trigger(nowMsecsSinceEpoch: number): {
832
1017
  run: boolean;
833
- }
1018
+ }
834
1019
  async getLastReviewedCheckpoint(): Promise<{
835
1020
  resumeOffset: number;
836
1021
  expectedProvenTxReqId?: number;
837
- } | undefined>
838
- async runTask(): Promise<string>
1022
+ } | undefined>
1023
+ async runTask(): Promise<string>
839
1024
  }
840
1025
  ```
841
1026
 
@@ -854,16 +1039,17 @@ the currently canonical merkleRoot at a height no longer matches stored proven_t
854
1039
 
855
1040
  ```ts
856
1041
  export class TaskReviewProvenTxs extends WalletMonitorTask {
857
- static taskName = "ReviewProvenTxs";
858
- static checkNow = false;
1042
+ static readonly taskName = "ReviewProvenTxs";
1043
+ static get checkNow(): boolean
1044
+ static set checkNow(value: boolean)
859
1045
  triggerNextMsecs: number;
860
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10, public maxHeightsPerRun = 100, public minBlockAge = 100, public triggerQuickMsecs = Monitor.oneMinute * 1)
1046
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10, public maxHeightsPerRun = 100, public minBlockAge = 100, public triggerQuickMsecs = Monitor.oneMinute * 1)
861
1047
  trigger(nowMsecsSinceEpoch: number): {
862
1048
  run: boolean;
863
- }
864
- async runTask(): Promise<string>
865
- async reviewHeightRange(range: HeightRange): Promise<ReviewHeightRangeResult>
866
- async getLastReviewedHeight(): Promise<number | undefined>
1049
+ }
1050
+ async runTask(): Promise<string>
1051
+ async reviewHeightRange(range: HeightRange): Promise<ReviewHeightRangeResult>
1052
+ async getLastReviewedHeight(): Promise<number | undefined>
867
1053
  }
868
1054
  ```
869
1055
 
@@ -884,49 +1070,64 @@ Looks for reqs with 'invalid' status that have corresonding transactions with st
884
1070
 
885
1071
  ```ts
886
1072
  export class TaskReviewStatus extends WalletMonitorTask {
887
- static taskName = "ReviewStatus";
888
- static checkNow = false;
889
- constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 15, public agedMsecs = 1000 * 60 * 5)
1073
+ static readonly taskName = "ReviewStatus";
1074
+ static get checkNow(): boolean
1075
+ static set checkNow(value: boolean)
1076
+ constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 15, public agedMsecs = 1000 * 60 * 5)
890
1077
  trigger(nowMsecsSinceEpoch: number): {
891
1078
  run: boolean;
892
- }
893
- async runTask(): Promise<string>
1079
+ }
1080
+ async runTask(): Promise<string>
894
1081
  }
895
1082
  ```
896
1083
 
897
1084
  See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
898
1085
 
899
- ###### Property checkNow
900
-
901
- Set to true to trigger running this task
902
-
903
- ```ts
904
- static checkNow = false
905
- ```
906
-
907
1086
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
908
1087
 
909
1088
  ---
910
1089
  ##### Class: TaskReviewUtxos
911
1090
 
912
- Use the reviewByIdentityKey method to review the utxos of a specific user by their identityKey.
1091
+ Use the reviewByIdentityKey method to scan the UTXOs of a specific user by
1092
+ identity key. The scan is read-only unless the caller explicitly requests
1093
+ release, and release remains blocked if any provider result is inconclusive.
1094
+ Operator UIs should use reviewPageByIdentityKey: it bounds each provider
1095
+ round-trip and may explicitly release only the conclusive spent subset while
1096
+ reporting unknowns.
913
1097
 
914
1098
  The task itself is disabled and will not run on a schedule; review must be triggered manually by calling reviewByIdentityKey.
915
1099
 
916
1100
  ```ts
917
1101
  export class TaskReviewUtxos extends WalletMonitorTask {
918
- static taskName = "ReviewUtxos";
919
- static checkNow = false;
920
- constructor(monitor: Monitor, public triggerMsecs = 0, public userLimit = 10, public userOffset = 0, public tags: string[] = ["release", "all"])
1102
+ static readonly taskName = "ReviewUtxos";
1103
+ static get checkNow(): boolean
1104
+ static set checkNow(value: boolean)
1105
+ public triggerMsecs: number;
1106
+ public userLimit: number;
1107
+ public userOffset: number;
1108
+ public tags: string[];
1109
+ constructor(monitor: Monitor, triggerMsecs = 0, userLimit = 10, userOffset = 0, tags: string[] = ["all"])
921
1110
  trigger(_nowMsecsSinceEpoch: number): {
922
1111
  run: boolean;
923
- }
924
- async runTask(): Promise<string>
925
- async reviewByIdentityKey(identityKey: string, mode: "all" | "change" = "all"): Promise<string>
1112
+ }
1113
+ async runTask(): Promise<string>
1114
+ async reviewByIdentityKey(identityKey: string, mode: "all" | "change" = "all", release = false): Promise<string>
1115
+ async reviewPageByIdentityKey(identityKey: string, mode: "all" | "change" = "all", release = false, pageLimit = REVIEW_PAGE_DEFAULT_LIMIT, offset = 0): Promise<TaskReviewUtxosPageResult>
1116
+ async reviewManagedChangeByIdentityKey(identityKey: string): Promise<string>
926
1117
  }
927
1118
  ```
928
1119
 
929
- See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
1120
+ See also: [Monitor](./monitor.md#class-monitor), [TaskReviewUtxosPageResult](./monitor.md#interface-taskreviewutxospageresult), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
1121
+
1122
+ ###### Method reviewManagedChangeByIdentityKey
1123
+
1124
+ Report managed-change liquidity without changing it. Monitor deliberately
1125
+ has no signing authority; progressive migration occurs only during a
1126
+ caller-authorized createAction.
1127
+
1128
+ ```ts
1129
+ async reviewManagedChangeByIdentityKey(identityKey: string): Promise<string>
1130
+ ```
930
1131
 
931
1132
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
932
1133
 
@@ -935,16 +1136,16 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
935
1136
 
936
1137
  ```ts
937
1138
  export class TaskSendWaiting extends WalletMonitorTask {
938
- static taskName = "SendWaiting";
1139
+ static readonly taskName = "SendWaiting";
939
1140
  lastSendingRunMsecsSinceEpoch: number | undefined;
940
1141
  includeSending: boolean = true;
941
1142
  triggerNextMsecs: number;
942
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
1143
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
943
1144
  trigger(nowMsecsSinceEpoch: number): {
944
1145
  run: boolean;
945
- }
946
- async runTask(): Promise<string>
947
- async processUnsent(reqApis: TableProvenTxReq[], indent = 0): Promise<string>
1146
+ }
1147
+ async runTask(): Promise<string>
1148
+ async processUnsent(reqApis: TableProvenTxReq[], indent = 0): Promise<string>
948
1149
  }
949
1150
  ```
950
1151
 
@@ -953,7 +1154,7 @@ See also: [Monitor](./monitor.md#class-monitor), [TableProvenTxReq](./storage.md
953
1154
  ###### Constructor
954
1155
 
955
1156
  ```ts
956
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
1157
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
957
1158
  ```
958
1159
  See also: [Monitor](./monitor.md#class-monitor)
959
1160
 
@@ -989,7 +1190,7 @@ Add mapi responses to database table if received.
989
1190
  Increments attempts if sending was attempted.
990
1191
 
991
1192
  ```ts
992
- async processUnsent(reqApis: TableProvenTxReq[], indent = 0): Promise<string>
1193
+ async processUnsent(reqApis: TableProvenTxReq[], indent = 0): Promise<string>
993
1194
  ```
994
1195
  See also: [TableProvenTxReq](./storage.md#interface-tableproventxreq)
995
1196
 
@@ -1000,12 +1201,12 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1000
1201
 
1001
1202
  ```ts
1002
1203
  export class TaskSyncWhenIdle extends WalletMonitorTask {
1003
- static taskName = "SyncWhenIdle";
1004
- constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 1)
1005
- trigger(nowMsecsSinceEpoch: number): {
1204
+ static readonly taskName = "SyncWhenIdle";
1205
+ constructor(monitor: Monitor, public triggerMsecs = 1000 * 60 * 1)
1206
+ trigger(_nowMsecsSinceEpoch: number): {
1006
1207
  run: boolean;
1007
- }
1008
- async runTask(): Promise<string>
1208
+ }
1209
+ async runTask(): Promise<string>
1009
1210
  }
1010
1211
  ```
1011
1212
 
@@ -1027,30 +1228,23 @@ If it fails (to find a merklePath), returns the req status to 'invalid'.
1027
1228
 
1028
1229
  ```ts
1029
1230
  export class TaskUnFail extends WalletMonitorTask {
1030
- static taskName = "UnFail";
1031
- static checkNow = false;
1032
- constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10)
1231
+ static readonly taskName = "UnFail";
1232
+ static get checkNow(): boolean
1233
+ static set checkNow(value: boolean)
1234
+ constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10)
1033
1235
  trigger(nowMsecsSinceEpoch: number): {
1034
1236
  run: boolean;
1035
- }
1036
- async runTask(): Promise<string>
1237
+ }
1238
+ async runTask(): Promise<string>
1037
1239
  async unfail(reqs: TableProvenTxReq[], indent = 0): Promise<{
1038
1240
  log: string;
1039
- }>
1040
- async unfailReq(req: EntityProvenTxReq, indent: number): Promise<string>
1241
+ }>
1242
+ async unfailReq(req: EntityProvenTxReq, indent: number): Promise<string>
1041
1243
  }
1042
1244
  ```
1043
1245
 
1044
1246
  See also: [EntityProvenTxReq](./storage.md#class-entityproventxreq), [Monitor](./monitor.md#class-monitor), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
1045
1247
 
1046
- ###### Property checkNow
1047
-
1048
- Set to true to trigger running this task
1049
-
1050
- ```ts
1051
- static checkNow = false
1052
- ```
1053
-
1054
1248
  ###### Method unfailReq
1055
1249
 
1056
1250
  2. set the referenced txs to 'unproven'
@@ -1058,7 +1252,7 @@ static checkNow = false
1058
1252
  4. set the txs outputs to spendable
1059
1253
 
1060
1254
  ```ts
1061
- async unfailReq(req: EntityProvenTxReq, indent: number): Promise<string>
1255
+ async unfailReq(req: EntityProvenTxReq, indent: number): Promise<string>
1062
1256
  ```
1063
1257
  See also: [EntityProvenTxReq](./storage.md#class-entityproventxreq)
1064
1258
 
@@ -1085,8 +1279,8 @@ This is done by accessing the wathman.storage object.
1085
1279
  export abstract class WalletMonitorTask {
1086
1280
  lastRunMsecsSinceEpoch = 0;
1087
1281
  storage: MonitorStorage;
1088
- constructor(public monitor: Monitor, public name: string)
1089
- async asyncSetup(): Promise<void>
1282
+ constructor(public monitor: Monitor, public name: string)
1283
+ async asyncSetup(): Promise<void>
1090
1284
  abstract trigger(nowMsecsSinceEpoch: number): {
1091
1285
  run: boolean;
1092
1286
  };
@@ -1111,7 +1305,7 @@ Override to handle async task setup configuration.
1111
1305
  Called before first call to `trigger`
1112
1306
 
1113
1307
  ```ts
1114
- async asyncSetup(): Promise<void>
1308
+ async asyncSetup(): Promise<void>
1115
1309
  ```
1116
1310
 
1117
1311
  ###### Method trigger
@@ -1129,6 +1323,40 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1129
1323
  ---
1130
1324
  #### Functions
1131
1325
 
1326
+ | |
1327
+ | --- |
1328
+ | [copyMonitorTags](#function-copymonitortags) |
1329
+ | [copyValidatedMonitorHeader](#function-copyvalidatedmonitorheader) |
1330
+ | [getProofs](#function-getproofs) |
1331
+ | [normalizeMonitorIdentityKey](#function-normalizemonitoridentitykey) |
1332
+ | [optionalMonitorInteger](#function-optionalmonitorinteger) |
1333
+ | [requireMonitorInteger](#function-requiremonitorinteger) |
1334
+ | [validateMonitorOptions](#function-validatemonitoroptions) |
1335
+
1336
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1337
+
1338
+ ---
1339
+
1340
+ ##### Function: copyMonitorTags
1341
+
1342
+ ```ts
1343
+ export function copyMonitorTags(value: unknown, name = "tags"): string[]
1344
+ ```
1345
+
1346
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1347
+
1348
+ ---
1349
+ ##### Function: copyValidatedMonitorHeader
1350
+
1351
+ ```ts
1352
+ export function copyValidatedMonitorHeader(value: unknown, name = "header", requireProofOfWork = true): BlockHeader
1353
+ ```
1354
+
1355
+ See also: [BlockHeader](./client.md#interface-blockheader)
1356
+
1357
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1358
+
1359
+ ---
1132
1360
  ##### Function: getProofs
1133
1361
 
1134
1362
  Process an array of table.ProvenTxReq (typically with status 'unmined' or 'unknown')
@@ -1143,14 +1371,18 @@ depending on chaintracks succeeding on proof verification.
1143
1371
  Increments attempts if proofs where requested.
1144
1372
 
1145
1373
  ```ts
1146
- export async function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], indent = 0, countsAsAttempt = false, ignoreStatus = false, maxAcceptableHeight: number): Promise<{
1374
+ export async function getProofs(task: WalletMonitorTask, reqs: TableProvenTxReq[], maxAcceptableHeight: number, indent = 0, countsAsAttempt = false, ignoreStatus = false): Promise<{
1147
1375
  proven: TableProvenTxReq[];
1148
1376
  invalid: TableProvenTxReq[];
1377
+ processed: Array<{
1378
+ provenTxReqId: number;
1379
+ status: ProvenTxReqStatus;
1380
+ }>;
1149
1381
  log: string;
1150
- }>
1382
+ }>
1151
1383
  ```
1152
1384
 
1153
- See also: [TableProvenTxReq](./storage.md#interface-tableproventxreq), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
1385
+ See also: [ProvenTxReqStatus](./client.md#type-proventxreqstatus), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
1154
1386
 
1155
1387
  Returns
1156
1388
 
@@ -1158,6 +1390,42 @@ reqs partitioned by status
1158
1390
 
1159
1391
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1160
1392
 
1393
+ ---
1394
+ ##### Function: normalizeMonitorIdentityKey
1395
+
1396
+ ```ts
1397
+ export function normalizeMonitorIdentityKey(value: unknown, name = "identityKey"): string
1398
+ ```
1399
+
1400
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1401
+
1402
+ ---
1403
+ ##### Function: optionalMonitorInteger
1404
+
1405
+ ```ts
1406
+ export function optionalMonitorInteger(value: unknown, minimum: number, maximum: number): number | undefined
1407
+ ```
1408
+
1409
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1410
+
1411
+ ---
1412
+ ##### Function: requireMonitorInteger
1413
+
1414
+ ```ts
1415
+ export function requireMonitorInteger(value: unknown, name: string, minimum: number, maximum: number): number
1416
+ ```
1417
+
1418
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1419
+
1420
+ ---
1421
+ ##### Function: validateMonitorOptions
1422
+
1423
+ ```ts
1424
+ export function validateMonitorOptions(value: unknown): void
1425
+ ```
1426
+
1427
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1428
+
1161
1429
  ---
1162
1430
  #### Types
1163
1431
 
@@ -1192,5 +1460,52 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1192
1460
  ---
1193
1461
  #### Variables
1194
1462
 
1463
+ | |
1464
+ | --- |
1465
+ | [MAX_MONITOR_HEIGHT](#variable-max_monitor_height) |
1466
+ | [MAX_MONITOR_INTERVAL_MSECS](#variable-max_monitor_interval_msecs) |
1467
+ | [MAX_MONITOR_OFFSET](#variable-max_monitor_offset) |
1468
+ | [MAX_MONITOR_PAGE_SIZE](#variable-max_monitor_page_size) |
1469
+
1470
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1471
+
1472
+ ---
1473
+
1474
+ ##### Variable: MAX_MONITOR_HEIGHT
1475
+
1476
+ ```ts
1477
+ MAX_MONITOR_HEIGHT = 2147483647
1478
+ ```
1479
+
1480
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1481
+
1482
+ ---
1483
+ ##### Variable: MAX_MONITOR_INTERVAL_MSECS
1484
+
1485
+ ```ts
1486
+ MAX_MONITOR_INTERVAL_MSECS = 365 * 24 * 60 * 60 * 1000
1487
+ ```
1488
+
1489
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1490
+
1491
+ ---
1492
+ ##### Variable: MAX_MONITOR_OFFSET
1493
+
1494
+ ```ts
1495
+ MAX_MONITOR_OFFSET = 2147483647
1496
+ ```
1497
+
1498
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1499
+
1500
+ ---
1501
+ ##### Variable: MAX_MONITOR_PAGE_SIZE
1502
+
1503
+ ```ts
1504
+ MAX_MONITOR_PAGE_SIZE = 1000
1505
+ ```
1506
+
1507
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1508
+
1509
+ ---
1195
1510
 
1196
1511
  <!--#endregion ts2md-api-merged-here-->