@bsv/wallet-toolbox-client 1.1.0

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 (390) hide show
  1. package/out/src/Wallet.d.ts +83 -0
  2. package/out/src/Wallet.d.ts.map +1 -0
  3. package/out/src/Wallet.js +415 -0
  4. package/out/src/Wallet.js.map +1 -0
  5. package/out/src/index.client.d.ts +8 -0
  6. package/out/src/index.client.d.ts.map +1 -0
  7. package/out/src/index.client.js +47 -0
  8. package/out/src/index.client.js.map +1 -0
  9. package/out/src/monitor/Monitor.d.ts +89 -0
  10. package/out/src/monitor/Monitor.d.ts.map +1 -0
  11. package/out/src/monitor/Monitor.js +253 -0
  12. package/out/src/monitor/Monitor.js.map +1 -0
  13. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  14. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  15. package/out/src/monitor/tasks/TaskCheckForProofs.js +197 -0
  16. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  17. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  18. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  19. package/out/src/monitor/tasks/TaskClock.js +27 -0
  20. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  21. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  22. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  23. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  24. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  25. package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  26. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  27. package/out/src/monitor/tasks/TaskNewHeader.js +45 -0
  28. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  29. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  30. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  31. package/out/src/monitor/tasks/TaskPurge.js +35 -0
  32. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  33. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  34. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  35. package/out/src/monitor/tasks/TaskReviewStatus.js +44 -0
  36. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  37. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +32 -0
  38. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  39. package/out/src/monitor/tasks/TaskSendWaiting.js +99 -0
  40. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  41. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  42. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  43. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  44. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  45. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  46. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  47. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  48. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  49. package/out/src/sdk/CertOps.d.ts +66 -0
  50. package/out/src/sdk/CertOps.d.ts.map +1 -0
  51. package/out/src/sdk/CertOps.js +198 -0
  52. package/out/src/sdk/CertOps.js.map +1 -0
  53. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  54. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  55. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  56. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  57. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  58. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  59. package/out/src/sdk/StorageSyncReader.js +3 -0
  60. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  61. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  62. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  63. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  64. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  65. package/out/src/sdk/WERR_errors.d.ts +90 -0
  66. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  67. package/out/src/sdk/WERR_errors.js +128 -0
  68. package/out/src/sdk/WERR_errors.js.map +1 -0
  69. package/out/src/sdk/WalletError.d.ts +45 -0
  70. package/out/src/sdk/WalletError.d.ts.map +1 -0
  71. package/out/src/sdk/WalletError.js +122 -0
  72. package/out/src/sdk/WalletError.js.map +1 -0
  73. package/out/src/sdk/WalletServices.interfaces.d.ts +325 -0
  74. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  75. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  76. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  77. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  78. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  79. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  80. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  81. package/out/src/sdk/WalletStorage.interfaces.d.ts +299 -0
  82. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  83. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  84. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  85. package/out/src/sdk/index.d.ts +12 -0
  86. package/out/src/sdk/index.d.ts.map +1 -0
  87. package/out/src/sdk/index.js +28 -0
  88. package/out/src/sdk/index.js.map +1 -0
  89. package/out/src/sdk/types.d.ts +74 -0
  90. package/out/src/sdk/types.d.ts.map +1 -0
  91. package/out/src/sdk/types.js +20 -0
  92. package/out/src/sdk/types.js.map +1 -0
  93. package/out/src/sdk/validationHelpers.d.ts +288 -0
  94. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  95. package/out/src/sdk/validationHelpers.js +630 -0
  96. package/out/src/sdk/validationHelpers.js.map +1 -0
  97. package/out/src/services/ServiceCollection.d.ts +25 -0
  98. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  99. package/out/src/services/ServiceCollection.js +43 -0
  100. package/out/src/services/ServiceCollection.js.map +1 -0
  101. package/out/src/services/Services.d.ts +60 -0
  102. package/out/src/services/Services.d.ts.map +1 -0
  103. package/out/src/services/Services.js +342 -0
  104. package/out/src/services/Services.js.map +1 -0
  105. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  106. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  107. package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  108. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  109. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  110. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  111. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  112. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  113. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  114. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  115. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +130 -0
  116. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  117. package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  118. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  119. package/out/src/services/chaintracker/chaintracks/index.js +19 -0
  120. package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  121. package/out/src/services/chaintracker/index.d.ts +3 -0
  122. package/out/src/services/chaintracker/index.d.ts.map +1 -0
  123. package/out/src/services/chaintracker/index.js +19 -0
  124. package/out/src/services/chaintracker/index.js.map +1 -0
  125. package/out/src/services/createDefaultWalletServicesOptions.d.ts +3 -0
  126. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  127. package/out/src/services/createDefaultWalletServicesOptions.js +34 -0
  128. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  129. package/out/src/services/providers/arcServices.d.ts +62 -0
  130. package/out/src/services/providers/arcServices.d.ts.map +1 -0
  131. package/out/src/services/providers/arcServices.js +368 -0
  132. package/out/src/services/providers/arcServices.js.map +1 -0
  133. package/out/src/services/providers/echangeRates.d.ts +12 -0
  134. package/out/src/services/providers/echangeRates.d.ts.map +1 -0
  135. package/out/src/services/providers/echangeRates.js +237 -0
  136. package/out/src/services/providers/echangeRates.js.map +1 -0
  137. package/out/src/services/providers/whatsonchain.d.ts +17 -0
  138. package/out/src/services/providers/whatsonchain.d.ts.map +1 -0
  139. package/out/src/services/providers/whatsonchain.js +130 -0
  140. package/out/src/services/providers/whatsonchain.js.map +1 -0
  141. package/out/src/signer/WalletSigner.d.ts +11 -0
  142. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  143. package/out/src/signer/WalletSigner.js +13 -0
  144. package/out/src/signer/WalletSigner.js.map +1 -0
  145. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  146. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  147. package/out/src/signer/methods/acquireDirectCertificate.js +47 -0
  148. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  149. package/out/src/signer/methods/createAction.d.ts +7 -0
  150. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  151. package/out/src/signer/methods/createAction.js +250 -0
  152. package/out/src/signer/methods/createAction.js.map +1 -0
  153. package/out/src/signer/methods/internalizeAction.d.ts +31 -0
  154. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  155. package/out/src/signer/methods/internalizeAction.js +95 -0
  156. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  157. package/out/src/signer/methods/proveCertificate.d.ts +4 -0
  158. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  159. package/out/src/signer/methods/proveCertificate.js +45 -0
  160. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  161. package/out/src/signer/methods/signAction.d.ts +6 -0
  162. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  163. package/out/src/signer/methods/signAction.js +79 -0
  164. package/out/src/signer/methods/signAction.js.map +1 -0
  165. package/out/src/storage/StorageProvider.d.ts +140 -0
  166. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  167. package/out/src/storage/StorageProvider.js +539 -0
  168. package/out/src/storage/StorageProvider.js.map +1 -0
  169. package/out/src/storage/StorageReader.d.ts +76 -0
  170. package/out/src/storage/StorageReader.d.ts.map +1 -0
  171. package/out/src/storage/StorageReader.js +124 -0
  172. package/out/src/storage/StorageReader.js.map +1 -0
  173. package/out/src/storage/StorageReaderWriter.d.ts +87 -0
  174. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  175. package/out/src/storage/StorageReaderWriter.js +337 -0
  176. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  177. package/out/src/storage/StorageSyncReader.d.ts +33 -0
  178. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  179. package/out/src/storage/StorageSyncReader.js +142 -0
  180. package/out/src/storage/StorageSyncReader.js.map +1 -0
  181. package/out/src/storage/WalletStorageManager.d.ts +103 -0
  182. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  183. package/out/src/storage/WalletStorageManager.js +408 -0
  184. package/out/src/storage/WalletStorageManager.js.map +1 -0
  185. package/out/src/storage/index.client.d.ts +7 -0
  186. package/out/src/storage/index.client.d.ts.map +1 -0
  187. package/out/src/storage/index.client.js +46 -0
  188. package/out/src/storage/index.client.js.map +1 -0
  189. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +27 -0
  190. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  191. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +148 -0
  192. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  193. package/out/src/storage/methods/createAction.d.ts +23 -0
  194. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  195. package/out/src/storage/methods/createAction.js +663 -0
  196. package/out/src/storage/methods/createAction.js.map +1 -0
  197. package/out/src/storage/methods/generateChange.d.ts +108 -0
  198. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  199. package/out/src/storage/methods/generateChange.js +422 -0
  200. package/out/src/storage/methods/generateChange.js.map +1 -0
  201. package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  202. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  203. package/out/src/storage/methods/getBeefForTransaction.js +94 -0
  204. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  205. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  206. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  207. package/out/src/storage/methods/getSyncChunk.js +271 -0
  208. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  209. package/out/src/storage/methods/internalizeAction.d.ts +38 -0
  210. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  211. package/out/src/storage/methods/internalizeAction.js +378 -0
  212. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  213. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  214. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  215. package/out/src/storage/methods/listCertificates.js +68 -0
  216. package/out/src/storage/methods/listCertificates.js.map +1 -0
  217. package/out/src/storage/methods/processAction.d.ts +35 -0
  218. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  219. package/out/src/storage/methods/processAction.js +271 -0
  220. package/out/src/storage/methods/processAction.js.map +1 -0
  221. package/out/src/storage/remoting/StorageClient.d.ts +56 -0
  222. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  223. package/out/src/storage/remoting/StorageClient.js +181 -0
  224. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  225. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  226. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  227. package/out/src/storage/schema/entities/Certificate.js +162 -0
  228. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  229. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  230. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  231. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  232. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  233. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  234. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  235. package/out/src/storage/schema/entities/Commission.js +130 -0
  236. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  237. package/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  238. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  239. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  240. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  241. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  242. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  243. package/out/src/storage/schema/entities/MergeEntity.js +57 -0
  244. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  245. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  246. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  247. package/out/src/storage/schema/entities/Output.js +281 -0
  248. package/out/src/storage/schema/entities/Output.js.map +1 -0
  249. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  250. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  251. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  252. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  253. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  254. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  255. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  256. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  257. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  258. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  259. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  260. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  261. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  262. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  263. package/out/src/storage/schema/entities/ProvenTx.js +283 -0
  264. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  265. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +130 -0
  266. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  267. package/out/src/storage/schema/entities/ProvenTxReq.js +521 -0
  268. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  269. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  270. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  271. package/out/src/storage/schema/entities/SyncState.js +284 -0
  272. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  273. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  274. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  275. package/out/src/storage/schema/entities/Transaction.js +264 -0
  276. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  277. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  278. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  279. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  280. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  281. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  282. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  283. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  284. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  285. package/out/src/storage/schema/entities/User.d.ts +29 -0
  286. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  287. package/out/src/storage/schema/entities/User.js +100 -0
  288. package/out/src/storage/schema/entities/User.js.map +1 -0
  289. package/out/src/storage/schema/entities/index.d.ts +17 -0
  290. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  291. package/out/src/storage/schema/entities/index.js +33 -0
  292. package/out/src/storage/schema/entities/index.js.map +1 -0
  293. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  294. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  295. package/out/src/storage/schema/tables/Certificate.js +3 -0
  296. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  297. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  298. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  299. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  300. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  301. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  302. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  303. package/out/src/storage/schema/tables/Commission.js +3 -0
  304. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  305. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  306. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  307. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  308. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  309. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  310. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  311. package/out/src/storage/schema/tables/Output.js +31 -0
  312. package/out/src/storage/schema/tables/Output.js.map +1 -0
  313. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  314. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  315. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  316. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  317. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  318. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  319. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  320. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  321. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  322. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  323. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  324. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  325. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  326. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  327. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  328. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  329. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  330. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  331. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  332. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  333. package/out/src/storage/schema/tables/Settings.d.ts +17 -0
  334. package/out/src/storage/schema/tables/Settings.d.ts.map +1 -0
  335. package/out/src/storage/schema/tables/Settings.js +3 -0
  336. package/out/src/storage/schema/tables/Settings.js.map +1 -0
  337. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  338. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  339. package/out/src/storage/schema/tables/SyncState.js +3 -0
  340. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  341. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  342. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  343. package/out/src/storage/schema/tables/Transaction.js +21 -0
  344. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  345. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  346. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  347. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  348. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  349. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  350. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  351. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  352. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  353. package/out/src/storage/schema/tables/User.d.ts +16 -0
  354. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  355. package/out/src/storage/schema/tables/User.js +3 -0
  356. package/out/src/storage/schema/tables/User.js.map +1 -0
  357. package/out/src/storage/schema/tables/index.d.ts +17 -0
  358. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  359. package/out/src/storage/schema/tables/index.js +33 -0
  360. package/out/src/storage/schema/tables/index.js.map +1 -0
  361. package/out/src/utility/ScriptTemplateSABPPP.d.ts +25 -0
  362. package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +1 -0
  363. package/out/src/utility/ScriptTemplateSABPPP.js +46 -0
  364. package/out/src/utility/ScriptTemplateSABPPP.js.map +1 -0
  365. package/out/src/utility/index.client.d.ts +7 -0
  366. package/out/src/utility/index.client.d.ts.map +1 -0
  367. package/out/src/utility/index.client.js +23 -0
  368. package/out/src/utility/index.client.js.map +1 -0
  369. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  370. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  371. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  372. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  373. package/out/src/utility/stampLog.d.ts +18 -0
  374. package/out/src/utility/stampLog.d.ts.map +1 -0
  375. package/out/src/utility/stampLog.js +72 -0
  376. package/out/src/utility/stampLog.js.map +1 -0
  377. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  378. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  379. package/out/src/utility/tscProofToMerklePath.js +41 -0
  380. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  381. package/out/src/utility/utilityHelpers.d.ts +129 -0
  382. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  383. package/out/src/utility/utilityHelpers.js +268 -0
  384. package/out/src/utility/utilityHelpers.js.map +1 -0
  385. package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  386. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  387. package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  388. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  389. package/out/tsconfig.client.tsbuildinfo +1 -0
  390. package/package.json +27 -0
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskClock = void 0;
4
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ class TaskClock extends WalletMonitorTask_1.WalletMonitorTask {
6
+ constructor(monitor, triggerMsecs = 1 * monitor.oneSecond) {
7
+ super(monitor, TaskClock.taskName);
8
+ this.triggerMsecs = triggerMsecs;
9
+ this.nextMinute = this.getNextMinute();
10
+ }
11
+ trigger(nowMsecsSinceEpoch) {
12
+ const s = this.storage;
13
+ const run = Date.now() > this.nextMinute;
14
+ return { run };
15
+ }
16
+ async runTask() {
17
+ const log = `${new Date(this.nextMinute).toISOString()}`;
18
+ this.nextMinute = this.getNextMinute();
19
+ return log;
20
+ }
21
+ getNextMinute() {
22
+ return (Math.ceil(Date.now() / this.monitor.oneMinute) * this.monitor.oneMinute);
23
+ }
24
+ }
25
+ exports.TaskClock = TaskClock;
26
+ TaskClock.taskName = 'Clock';
27
+ //# sourceMappingURL=TaskClock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskClock.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskClock.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,MAAa,SAAU,SAAQ,qCAAiB;IAI9C,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAF3B,iBAAY,GAAZ,YAAY,CAAwB;QAG3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACxC,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAExC,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,aAAa;QACX,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CACxE,CAAA;IACH,CAAC;;AA9BH,8BA+BC;AA9BQ,kBAAQ,GAAG,OAAO,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Monitor } from '../Monitor';
2
+ import { WalletMonitorTask } from './WalletMonitorTask';
3
+ /**
4
+ * Handles transactions which do not have terminal status and have not been
5
+ * updated for an extended time period.
6
+ *
7
+ * Calls `updateTransactionStatus` to set `status` to `failed`.
8
+ * This returns inputs to spendable status and verifies that any
9
+ * outputs are not spendable.
10
+ */
11
+ export declare class TaskFailAbandoned extends WalletMonitorTask {
12
+ triggerMsecs: number;
13
+ static taskName: string;
14
+ constructor(monitor: Monitor, triggerMsecs?: number);
15
+ trigger(nowMsecsSinceEpoch: number): {
16
+ run: boolean;
17
+ };
18
+ runTask(): Promise<string>;
19
+ }
20
+ //# sourceMappingURL=TaskFailAbandoned.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFailAbandoned.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskFailAbandoned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;GAOG;AAEH,qBAAa,iBAAkB,SAAQ,iBAAiB;IAK7C,YAAY;IAJrB,MAAM,CAAC,QAAQ,SAAkB;gBAG/B,OAAO,EAAE,OAAO,EACT,YAAY,SAAgB;IAKrC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAM/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA2BjC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskFailAbandoned = void 0;
4
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ /**
6
+ * Handles transactions which do not have terminal status and have not been
7
+ * updated for an extended time period.
8
+ *
9
+ * Calls `updateTransactionStatus` to set `status` to `failed`.
10
+ * This returns inputs to spendable status and verifies that any
11
+ * outputs are not spendable.
12
+ */
13
+ class TaskFailAbandoned extends WalletMonitorTask_1.WalletMonitorTask {
14
+ constructor(monitor, triggerMsecs = 1000 * 60 * 5) {
15
+ super(monitor, TaskFailAbandoned.taskName);
16
+ this.triggerMsecs = triggerMsecs;
17
+ }
18
+ trigger(nowMsecsSinceEpoch) {
19
+ return {
20
+ run: nowMsecsSinceEpoch > this.lastRunMsecsSinceEpoch + this.triggerMsecs
21
+ };
22
+ }
23
+ async runTask() {
24
+ let log = '';
25
+ const limit = 100;
26
+ let offset = 0;
27
+ for (;;) {
28
+ const now = new Date();
29
+ const abandoned = new Date(now.getTime() - this.monitor.options.abandonedMsecs);
30
+ const done = await this.storage.runAsStorageProvider(async (sp) => {
31
+ const txsAll = await sp.findTransactions({
32
+ partial: {},
33
+ status: ['unprocessed', 'unsigned'],
34
+ paged: { limit, offset }
35
+ });
36
+ const txs = txsAll.filter(t => t.updated_at && t.updated_at < abandoned);
37
+ for (const tx of txs) {
38
+ await sp.updateTransactionStatus('failed', tx.transactionId);
39
+ log += `updated tx ${tx.transactionId} status to 'failed'\n`;
40
+ }
41
+ return txs.length < limit;
42
+ });
43
+ if (done)
44
+ break;
45
+ offset += limit;
46
+ }
47
+ return log;
48
+ }
49
+ }
50
+ exports.TaskFailAbandoned = TaskFailAbandoned;
51
+ TaskFailAbandoned.taskName = 'FailAbandoned';
52
+ //# sourceMappingURL=TaskFailAbandoned.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFailAbandoned.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskFailAbandoned.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD;;;;;;;GAOG;AAEH,MAAa,iBAAkB,SAAQ,qCAAiB;IAGtD,YACE,OAAgB,EACT,eAAe,IAAI,GAAG,EAAE,GAAG,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAFnC,iBAAY,GAAZ,YAAY,CAAgB;IAGrC,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY;SAC1E,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CACpD,CAAA;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;gBAC9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;oBACvC,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;oBACnC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;iBACzB,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;gBACxE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,MAAM,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;oBAC5D,GAAG,IAAI,cAAc,EAAE,CAAC,aAAa,uBAAuB,CAAA;gBAC9D,CAAC;gBACD,OAAO,GAAG,CAAC,MAAM,GAAG,KAAK,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AA1CH,8CA2CC;AA1CQ,0BAAQ,GAAG,eAAe,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { sdk } from '../../index.client';
2
+ import { Monitor } from '../Monitor';
3
+ import { WalletMonitorTask } from './WalletMonitorTask';
4
+ export declare class TaskNewHeader extends WalletMonitorTask {
5
+ triggerMsecs: number;
6
+ static taskName: string;
7
+ header?: sdk.BlockHeader;
8
+ constructor(monitor: Monitor, triggerMsecs?: number);
9
+ getHeader(): Promise<sdk.BlockHeader>;
10
+ trigger(nowMsecsSinceEpoch: number): {
11
+ run: boolean;
12
+ };
13
+ runTask(): Promise<string>;
14
+ }
15
+ //# sourceMappingURL=TaskNewHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskNewHeader.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,aAAc,SAAQ,iBAAiB;IAMzC,YAAY;IALrB,MAAM,CAAC,QAAQ,SAAc;IAC7B,MAAM,CAAC,EAAE,GAAG,CAAC,WAAW,CAAA;gBAGtB,OAAO,EAAE,OAAO,EACT,YAAY,SAAwB;IAKvC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAI3C,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAK/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAsBjC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskNewHeader = void 0;
4
+ const TaskCheckForProofs_1 = require("./TaskCheckForProofs");
5
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
6
+ class TaskNewHeader extends WalletMonitorTask_1.WalletMonitorTask {
7
+ constructor(monitor, triggerMsecs = 1 * monitor.oneMinute) {
8
+ super(monitor, TaskNewHeader.taskName);
9
+ this.triggerMsecs = triggerMsecs;
10
+ }
11
+ async getHeader() {
12
+ return await this.monitor.chaintracks.findChainTipHeader();
13
+ }
14
+ trigger(nowMsecsSinceEpoch) {
15
+ const run = true;
16
+ return { run };
17
+ }
18
+ async runTask() {
19
+ let log = '';
20
+ const oldHeader = this.header;
21
+ this.header = await this.getHeader();
22
+ let isNew = true;
23
+ if (!oldHeader) {
24
+ log = `first header: ${this.header.height} ${this.header.hash}`;
25
+ }
26
+ else if (oldHeader.height < this.header.height) {
27
+ const skip = this.header.height - oldHeader.height - 1;
28
+ const skipped = skip > 0 ? ` SKIPPED ${skip}` : '';
29
+ log = `new header: ${this.header.height} ${this.header.hash}${skipped}`;
30
+ }
31
+ else if (oldHeader.height === this.header.height &&
32
+ oldHeader.hash != this.header.hash) {
33
+ log = `reorg header: ${this.header.height} ${this.header.hash}`;
34
+ }
35
+ else {
36
+ isNew = false;
37
+ }
38
+ if (isNew)
39
+ TaskCheckForProofs_1.TaskCheckForProofs.checkNow = true;
40
+ return log;
41
+ }
42
+ }
43
+ exports.TaskNewHeader = TaskNewHeader;
44
+ TaskNewHeader.taskName = 'NewHeader';
45
+ //# sourceMappingURL=TaskNewHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskNewHeader.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskNewHeader.ts"],"names":[],"mappings":";;;AAEA,6DAAyD;AACzD,2DAAuD;AAEvD,MAAa,aAAc,SAAQ,qCAAiB;IAIlD,YACE,OAAgB,EACT,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS;QAE3C,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;QAF/B,iBAAY,GAAZ,YAAY,CAAwB;IAG7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,GAAG,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClD,GAAG,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAA;QACzE,CAAC;aAAM,IACL,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;YACvC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAClC,CAAC;YACD,GAAG,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QACD,IAAI,KAAK;YAAE,uCAAkB,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC;;AAzCH,sCA0CC;AAzCQ,sBAAQ,GAAG,WAAW,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { sdk } from '../../index.client';
2
+ import { Monitor } from '../Monitor';
3
+ import { WalletMonitorTask } from './WalletMonitorTask';
4
+ /**
5
+ * The database stores a variety of data that may be considered transient.
6
+ *
7
+ * At one extreme, the data that must be preserved:
8
+ * - unspent outputs (UTXOs)
9
+ * - in-use metadata (labels, baskets, tags...)
10
+ *
11
+ * At the other extreme, everything can be preserved to fully log all transaction creation and processing actions.
12
+ *
13
+ * The following purge actions are available to support sustained operation:
14
+ * - Failed transactions, delete all associated data including:
15
+ * + Delete tag and label mapping records
16
+ * + Delete output records
17
+ * + Delete transaction records
18
+ * + Delete mapi_responses records
19
+ * + Delete proven_tx_reqs records
20
+ * + Delete commissions records
21
+ * + Update output records marked spentBy failed transactions
22
+ * - Completed transactions, delete transient data including:
23
+ * + transactions table set truncatedExternalInputs = null
24
+ * + transactions table set beef = null
25
+ * + transactions table set rawTx = null
26
+ * + Delete mapi_responses records
27
+ * + proven_tx_reqs table delete records
28
+ */
29
+ export interface TaskPurgeParams extends sdk.PurgeParams {
30
+ }
31
+ export declare class TaskPurge extends WalletMonitorTask {
32
+ params: TaskPurgeParams;
33
+ triggerMsecs: number;
34
+ static taskName: string;
35
+ /**
36
+ * Set to true to trigger running this task
37
+ */
38
+ static checkNow: boolean;
39
+ constructor(monitor: Monitor, params: TaskPurgeParams, triggerMsecs?: number);
40
+ trigger(nowMsecsSinceEpoch: number): {
41
+ run: boolean;
42
+ };
43
+ runTask(): Promise<string>;
44
+ }
45
+ //# sourceMappingURL=TaskPurge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskPurge.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskPurge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,eAAgB,SAAQ,GAAG,CAAC,WAAW;CAAG;AAE3D,qBAAa,SAAU,SAAQ,iBAAiB;IAUrC,MAAM,EAAE,eAAe;IACvB,YAAY;IAVrB,MAAM,CAAC,QAAQ,SAAU;IAEzB;;OAEG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,MAAM,EAAE,eAAe,EACvB,YAAY,SAAI;IAKzB,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAS/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAYjC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskPurge = void 0;
4
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ class TaskPurge extends WalletMonitorTask_1.WalletMonitorTask {
6
+ constructor(monitor, params, triggerMsecs = 0) {
7
+ super(monitor, TaskPurge.taskName);
8
+ this.params = params;
9
+ this.triggerMsecs = triggerMsecs;
10
+ }
11
+ trigger(nowMsecsSinceEpoch) {
12
+ return {
13
+ run: TaskPurge.checkNow ||
14
+ (this.triggerMsecs > 0 &&
15
+ nowMsecsSinceEpoch - this.lastRunMsecsSinceEpoch > this.triggerMsecs)
16
+ };
17
+ }
18
+ async runTask() {
19
+ let log = '';
20
+ TaskPurge.checkNow = false;
21
+ const r = await this.storage.runAsStorageProvider(async (sp) => {
22
+ return await sp.purgeData(this.params);
23
+ });
24
+ if (r.count > 0)
25
+ log = `${r.count} records updated or deleted.\n${r.log}`;
26
+ return log;
27
+ }
28
+ }
29
+ exports.TaskPurge = TaskPurge;
30
+ TaskPurge.taskName = 'Purge';
31
+ /**
32
+ * Set to true to trigger running this task
33
+ */
34
+ TaskPurge.checkNow = false;
35
+ //# sourceMappingURL=TaskPurge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskPurge.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskPurge.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AA6BvD,MAAa,SAAU,SAAQ,qCAAiB;IAQ9C,YACE,OAAgB,EACT,MAAuB,EACvB,eAAe,CAAC;QAEvB,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAH3B,WAAM,GAAN,MAAM,CAAiB;QACvB,iBAAY,GAAZ,YAAY,CAAI;IAGzB,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,SAAS,CAAC,QAAQ;gBAClB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC;oBACpB,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC;SAC1E,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAA;QAE1B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC3D,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,iCAAiC,CAAC,CAAC,GAAG,EAAE,CAAA;QAEzE,OAAO,GAAG,CAAA;IACZ,CAAC;;AApCH,8BAqCC;AApCQ,kBAAQ,GAAG,OAAO,CAAA;AAEzB;;GAEG;AACI,kBAAQ,GAAG,KAAK,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Monitor } from '../Monitor';
2
+ import { WalletMonitorTask } from './WalletMonitorTask';
3
+ /**
4
+ * Notify Transaction records of changes in ProvenTxReq records they may have missed.
5
+ *
6
+ * The `notified` property flags reqs that do not need to be checked.
7
+ *
8
+ * Looks for aged Transactions with provenTxId with status != 'completed', sets status to 'completed'.
9
+ *
10
+ * Looks for reqs with 'invalid' status that
11
+ */
12
+ export declare class TaskReviewStatus extends WalletMonitorTask {
13
+ triggerMsecs: number;
14
+ agedMsecs: number;
15
+ static taskName: string;
16
+ /**
17
+ * Set to true to trigger running this task
18
+ */
19
+ static checkNow: boolean;
20
+ constructor(monitor: Monitor, triggerMsecs?: number, agedMsecs?: number);
21
+ trigger(nowMsecsSinceEpoch: number): {
22
+ run: boolean;
23
+ };
24
+ runTask(): Promise<string>;
25
+ }
26
+ //# sourceMappingURL=TaskReviewStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskReviewStatus.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IAU5C,YAAY;IACZ,SAAS;IAVlB,MAAM,CAAC,QAAQ,SAAiB;IAEhC;;OAEG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAiB,EAC7B,SAAS,SAAgB;IAKlC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAajC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskReviewStatus = void 0;
4
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ /**
6
+ * Notify Transaction records of changes in ProvenTxReq records they may have missed.
7
+ *
8
+ * The `notified` property flags reqs that do not need to be checked.
9
+ *
10
+ * Looks for aged Transactions with provenTxId with status != 'completed', sets status to 'completed'.
11
+ *
12
+ * Looks for reqs with 'invalid' status that
13
+ */
14
+ class TaskReviewStatus extends WalletMonitorTask_1.WalletMonitorTask {
15
+ constructor(monitor, triggerMsecs = 1000 * 60 * 15, agedMsecs = 1000 * 60 * 5) {
16
+ super(monitor, TaskReviewStatus.taskName);
17
+ this.triggerMsecs = triggerMsecs;
18
+ this.agedMsecs = agedMsecs;
19
+ }
20
+ trigger(nowMsecsSinceEpoch) {
21
+ return {
22
+ run: this.triggerMsecs > 0 &&
23
+ nowMsecsSinceEpoch - this.lastRunMsecsSinceEpoch > this.triggerMsecs
24
+ };
25
+ }
26
+ async runTask() {
27
+ let log = '';
28
+ const agedLimit = new Date(Date.now() - this.agedMsecs);
29
+ const r = await this.storage.runAsStorageProvider(async (sp) => {
30
+ const r = await sp.reviewStatus({ agedLimit });
31
+ return r;
32
+ });
33
+ if (r.log.length > 0)
34
+ log += `${r.log}`;
35
+ return log;
36
+ }
37
+ }
38
+ exports.TaskReviewStatus = TaskReviewStatus;
39
+ TaskReviewStatus.taskName = 'ReviewStatus';
40
+ /**
41
+ * Set to true to trigger running this task
42
+ */
43
+ TaskReviewStatus.checkNow = false;
44
+ //# sourceMappingURL=TaskReviewStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskReviewStatus.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskReviewStatus.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAEvD;;;;;;;;GAQG;AACH,MAAa,gBAAiB,SAAQ,qCAAiB;IAQrD,YACE,OAAgB,EACT,eAAe,IAAI,GAAG,EAAE,GAAG,EAAE,EAC7B,YAAY,IAAI,GAAG,EAAE,GAAG,CAAC;QAEhC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAHlC,iBAAY,GAAZ,YAAY,CAAiB;QAC7B,cAAS,GAAT,SAAS,CAAgB;IAGlC,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,OAAO;YACL,GAAG,EACD,IAAI,CAAC,YAAY,GAAG,CAAC;gBACrB,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY;SACvE,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,EAAE,CAAA;QAEZ,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC3D,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9C,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAEvC,OAAO,GAAG,CAAA;IACZ,CAAC;;AApCH,4CAqCC;AApCQ,yBAAQ,GAAG,cAAc,CAAA;AAEhC;;GAEG;AACI,yBAAQ,GAAG,KAAK,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { table } from '../../storage/index.client';
2
+ import { Monitor } from '../Monitor';
3
+ import { WalletMonitorTask } from './WalletMonitorTask';
4
+ export declare class TaskSendWaiting extends WalletMonitorTask {
5
+ triggerMsecs: number;
6
+ agedMsecs: number;
7
+ static taskName: string;
8
+ constructor(monitor: Monitor, triggerMsecs?: number, agedMsecs?: number);
9
+ trigger(nowMsecsSinceEpoch: number): {
10
+ run: boolean;
11
+ };
12
+ runTask(): Promise<string>;
13
+ /**
14
+ * Process an array of 'unsent' status table.ProvenTxReq
15
+ *
16
+ * Send rawTx to transaction processor(s), requesting proof callbacks when possible.
17
+ *
18
+ * Set status 'invalid' if req is invalid.
19
+ *
20
+ * Set status to 'callback' on successful network submission with callback service.
21
+ *
22
+ * Set status to 'unmined' on successful network submission without callback service.
23
+ *
24
+ * Add mapi responses to database table if received.
25
+ *
26
+ * Increments attempts if sending was attempted.
27
+ *
28
+ * @param reqApis
29
+ */
30
+ processUnsent(reqApis: table.ProvenTxReq[], indent?: number): Promise<string>;
31
+ }
32
+ //# sourceMappingURL=TaskSendWaiting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskSendWaiting.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskSendWaiting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,qBAAa,eAAgB,SAAQ,iBAAiB;IAK3C,YAAY;IACZ,SAAS;IALlB,MAAM,CAAC,QAAQ,SAAgB;gBAG7B,OAAO,EAAE,OAAO,EACT,YAAY,SAAgB,EAC5B,SAAS,SAAI;IAKtB,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAM/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBhC;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,CACjB,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,EAC5B,MAAM,SAAI,GACT,OAAO,CAAC,MAAM,CAAC;CAuCnB"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskSendWaiting = void 0;
4
+ const index_client_1 = require("../../storage/index.client");
5
+ const index_client_2 = require("../../utility/index.client");
6
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
7
+ const attemptToPostReqsToNetwork_1 = require("../../storage/methods/attemptToPostReqsToNetwork");
8
+ class TaskSendWaiting extends WalletMonitorTask_1.WalletMonitorTask {
9
+ constructor(monitor, triggerMsecs = 1000 * 60 * 5, agedMsecs = 0) {
10
+ super(monitor, TaskSendWaiting.taskName);
11
+ this.triggerMsecs = triggerMsecs;
12
+ this.agedMsecs = agedMsecs;
13
+ }
14
+ trigger(nowMsecsSinceEpoch) {
15
+ return {
16
+ run: nowMsecsSinceEpoch > this.lastRunMsecsSinceEpoch + this.triggerMsecs
17
+ };
18
+ }
19
+ async runTask() {
20
+ let log = '';
21
+ const limit = 100;
22
+ let offset = 0;
23
+ const agedLimit = new Date(Date.now() - this.agedMsecs);
24
+ for (;;) {
25
+ const reqs = await this.storage.findProvenTxReqs({
26
+ partial: {},
27
+ status: ['unsent'],
28
+ paged: { limit, offset }
29
+ });
30
+ if (reqs.length === 0)
31
+ break;
32
+ log += `${reqs.length} reqs with status 'unsent'\n`;
33
+ const agedReqs = reqs.filter(req => (0, index_client_2.verifyTruthy)(req.updated_at) < agedLimit);
34
+ log += ` Of those reqs, ${agedReqs.length} where last updated before ${agedLimit.toISOString()}.\n`;
35
+ log += await this.processUnsent(agedReqs, 2);
36
+ if (reqs.length < limit)
37
+ break;
38
+ offset += limit;
39
+ }
40
+ return log;
41
+ }
42
+ /**
43
+ * Process an array of 'unsent' status table.ProvenTxReq
44
+ *
45
+ * Send rawTx to transaction processor(s), requesting proof callbacks when possible.
46
+ *
47
+ * Set status 'invalid' if req is invalid.
48
+ *
49
+ * Set status to 'callback' on successful network submission with callback service.
50
+ *
51
+ * Set status to 'unmined' on successful network submission without callback service.
52
+ *
53
+ * Add mapi responses to database table if received.
54
+ *
55
+ * Increments attempts if sending was attempted.
56
+ *
57
+ * @param reqApis
58
+ */
59
+ async processUnsent(reqApis, indent = 0) {
60
+ let log = '';
61
+ for (let i = 0; i < reqApis.length; i++) {
62
+ const reqApi = reqApis[i];
63
+ log += ' '.repeat(indent);
64
+ log += `${i} reqId=${reqApi.provenTxReqId} attempts=${reqApi.attempts} txid=${reqApi.txid}: \n`;
65
+ if (reqApi.status !== 'unsent') {
66
+ log += ` status now ${reqApi.status}\n`;
67
+ continue;
68
+ }
69
+ const req = new index_client_1.entity.ProvenTxReq(reqApi);
70
+ const reqs = [];
71
+ if (req.batch) {
72
+ // Make sure wew process entire batch together for efficient beef generation
73
+ const batchReqApis = await this.storage.findProvenTxReqs({
74
+ partial: { batch: req.batch, status: 'unsent' }
75
+ });
76
+ for (const bra of batchReqApis) {
77
+ // Remove any matching batchReqApis from reqApis
78
+ const index = reqApis.findIndex(ra => ra.provenTxReqId === bra.provenTxReqId);
79
+ if (index > -1)
80
+ reqApis.slice(index, index + 1);
81
+ // And add to reqs being processed now:
82
+ reqs.push(new index_client_1.entity.ProvenTxReq(bra));
83
+ }
84
+ }
85
+ else {
86
+ // Just a single non-batched req...
87
+ reqs.push(req);
88
+ }
89
+ const r = await this.storage.runAsStorageProvider(async (sp) => {
90
+ return (0, attemptToPostReqsToNetwork_1.attemptToPostReqsToNetwork)(sp, reqs);
91
+ });
92
+ log += r.log;
93
+ }
94
+ return log;
95
+ }
96
+ }
97
+ exports.TaskSendWaiting = TaskSendWaiting;
98
+ TaskSendWaiting.taskName = 'SendWaiting';
99
+ //# sourceMappingURL=TaskSendWaiting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskSendWaiting.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskSendWaiting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Monitor } from '../Monitor';
2
+ import { WalletMonitorTask } from './WalletMonitorTask';
3
+ export declare class TaskSyncWhenIdle extends WalletMonitorTask {
4
+ triggerMsecs: number;
5
+ static taskName: string;
6
+ constructor(monitor: Monitor, triggerMsecs?: number);
7
+ trigger(nowMsecsSinceEpoch: number): {
8
+ run: boolean;
9
+ };
10
+ runTask(): Promise<string>;
11
+ }
12
+ //# sourceMappingURL=TaskSyncWhenIdle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskSyncWhenIdle.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskSyncWhenIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAK5C,YAAY;IAJrB,MAAM,CAAC,QAAQ,SAAiB;gBAG9B,OAAO,EAAE,OAAO,EACT,YAAY,SAAgB;IAKrC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAIjC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskSyncWhenIdle = void 0;
4
+ const WalletMonitorTask_1 = require("./WalletMonitorTask");
5
+ class TaskSyncWhenIdle extends WalletMonitorTask_1.WalletMonitorTask {
6
+ constructor(monitor, triggerMsecs = 1000 * 60 * 1) {
7
+ super(monitor, TaskSyncWhenIdle.taskName);
8
+ this.triggerMsecs = triggerMsecs;
9
+ }
10
+ trigger(nowMsecsSinceEpoch) {
11
+ const s = this.storage;
12
+ const run = false;
13
+ return { run };
14
+ }
15
+ async runTask() {
16
+ // TODO...
17
+ return '';
18
+ }
19
+ }
20
+ exports.TaskSyncWhenIdle = TaskSyncWhenIdle;
21
+ TaskSyncWhenIdle.taskName = 'SyncWhenIdle';
22
+ //# sourceMappingURL=TaskSyncWhenIdle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskSyncWhenIdle.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskSyncWhenIdle.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,MAAa,gBAAiB,SAAQ,qCAAiB;IAGrD,YACE,OAAgB,EACT,eAAe,IAAI,GAAG,EAAE,GAAG,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAFlC,iBAAY,GAAZ,YAAY,CAAgB;IAGrC,CAAC;IAED,OAAO,CAAC,kBAA0B;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtB,MAAM,GAAG,GAAG,KAAK,CAAA;QAEjB,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,UAAU;QACV,OAAO,EAAE,CAAA;IACX,CAAC;;AArBH,4CAsBC;AArBQ,yBAAQ,GAAG,cAAc,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { MonitorStorage, Monitor } from '../Monitor';
2
+ /**
3
+ * A monitor task performs some periodic or state triggered maintenance function
4
+ * on the data managed by a wallet (Bitcoin UTXO manager, aka wallet)
5
+ *
6
+ * The monitor maintains a collection of tasks.
7
+ *
8
+ * It runs each task's non-asynchronous trigger to determine if the runTask method needs to run.
9
+ *
10
+ * Tasks that need to be run are run consecutively by awaiting their async runTask override method.
11
+ *
12
+ * The monitor then waits a fixed interval before repeating...
13
+ *
14
+ * Tasks may use the monitor_events table to persist their execution history.
15
+ * This is done by accessing the wathman.storage object.
16
+ */
17
+ export declare abstract class WalletMonitorTask {
18
+ monitor: Monitor;
19
+ name: string;
20
+ /**
21
+ * Set by monitor each time runTask completes
22
+ */
23
+ lastRunMsecsSinceEpoch: number;
24
+ storage: MonitorStorage;
25
+ constructor(monitor: Monitor, name: string);
26
+ /**
27
+ * Override to handle async task setup configuration.
28
+ *
29
+ * Called before first call to `trigger`
30
+ */
31
+ asyncSetup(): Promise<void>;
32
+ /**
33
+ * Return true if `runTask` needs to be called now.
34
+ */
35
+ abstract trigger(nowMsecsSinceEpoch: number): {
36
+ run: boolean;
37
+ };
38
+ abstract runTask(): Promise<string>;
39
+ }
40
+ //# sourceMappingURL=WalletMonitorTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletMonitorTask.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/WalletMonitorTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AAEH,8BAAsB,iBAAiB;IAS5B,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,MAAM;IATrB;;OAEG;IACH,sBAAsB,SAAI;IAE1B,OAAO,EAAE,cAAc,CAAA;gBAGd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM;IAKrB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAE9D,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CACpC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletMonitorTask = void 0;
4
+ /**
5
+ * A monitor task performs some periodic or state triggered maintenance function
6
+ * on the data managed by a wallet (Bitcoin UTXO manager, aka wallet)
7
+ *
8
+ * The monitor maintains a collection of tasks.
9
+ *
10
+ * It runs each task's non-asynchronous trigger to determine if the runTask method needs to run.
11
+ *
12
+ * Tasks that need to be run are run consecutively by awaiting their async runTask override method.
13
+ *
14
+ * The monitor then waits a fixed interval before repeating...
15
+ *
16
+ * Tasks may use the monitor_events table to persist their execution history.
17
+ * This is done by accessing the wathman.storage object.
18
+ */
19
+ class WalletMonitorTask {
20
+ constructor(monitor, name) {
21
+ this.monitor = monitor;
22
+ this.name = name;
23
+ /**
24
+ * Set by monitor each time runTask completes
25
+ */
26
+ this.lastRunMsecsSinceEpoch = 0;
27
+ this.storage = monitor.storage;
28
+ }
29
+ /**
30
+ * Override to handle async task setup configuration.
31
+ *
32
+ * Called before first call to `trigger`
33
+ */
34
+ async asyncSetup() { }
35
+ }
36
+ exports.WalletMonitorTask = WalletMonitorTask;
37
+ //# sourceMappingURL=WalletMonitorTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletMonitorTask.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/WalletMonitorTask.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;GAcG;AAEH,MAAsB,iBAAiB;IAQrC,YACS,OAAgB,EAChB,IAAY;QADZ,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAQ;QATrB;;WAEG;QACH,2BAAsB,GAAG,CAAC,CAAA;QAQxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,KAAmB,CAAC;CAQrC;AA5BD,8CA4BC"}