@bsv/wallet-toolbox 2.1.24 → 3.0.0-alpha.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 (918) hide show
  1. package/CHANGELOG.md +2 -7
  2. package/docs/CREATEACTION_BLOCKERS.md +391 -0
  3. package/docs/CUTOVER_RUNBOOK.md +95 -0
  4. package/docs/REQUIREMENTS_COMPLIANCE.md +157 -0
  5. package/docs/ROLLOUT_PLAN.md +273 -0
  6. package/docs/SESSION_HANDOFF.md +298 -0
  7. package/docs/STORAGE_METHOD_WIRING.md +176 -0
  8. package/docs/client.md +3765 -1325
  9. package/docs/monitor.md +255 -33
  10. package/docs/services.md +304 -280
  11. package/docs/setup.md +24 -24
  12. package/docs/storage.md +2775 -243
  13. package/docs/v3-upgrade/index.html +911 -0
  14. package/docs/wallet.md +4956 -9455
  15. package/out/src/CWIStyleWalletManager.d.ts +33 -7
  16. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  17. package/out/src/CWIStyleWalletManager.js +281 -313
  18. package/out/src/CWIStyleWalletManager.js.map +1 -1
  19. package/out/src/Setup.d.ts +6 -6
  20. package/out/src/Setup.d.ts.map +1 -1
  21. package/out/src/Setup.js +5 -5
  22. package/out/src/Setup.js.map +1 -1
  23. package/out/src/SetupClient.d.ts +6 -6
  24. package/out/src/SetupClient.d.ts.map +1 -1
  25. package/out/src/SetupClient.js +5 -5
  26. package/out/src/SetupClient.js.map +1 -1
  27. package/out/src/SetupWallet.d.ts.map +1 -1
  28. package/out/src/ShamirWalletManager.d.ts +3 -3
  29. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  30. package/out/src/ShamirWalletManager.js +6 -6
  31. package/out/src/ShamirWalletManager.js.map +1 -1
  32. package/out/src/SimpleWalletManager.d.ts +12 -2
  33. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  34. package/out/src/SimpleWalletManager.js +46 -30
  35. package/out/src/SimpleWalletManager.js.map +1 -1
  36. package/out/src/Wallet.d.ts +1 -1
  37. package/out/src/Wallet.d.ts.map +1 -1
  38. package/out/src/Wallet.js +102 -100
  39. package/out/src/Wallet.js.map +1 -1
  40. package/out/src/WalletAuthenticationManager.d.ts +1 -1
  41. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  42. package/out/src/WalletAuthenticationManager.js +3 -3
  43. package/out/src/WalletAuthenticationManager.js.map +1 -1
  44. package/out/src/WalletLogger.d.ts.map +1 -1
  45. package/out/src/WalletLogger.js +16 -8
  46. package/out/src/WalletLogger.js.map +1 -1
  47. package/out/src/WalletPermissionsManager.d.ts +89 -18
  48. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  49. package/out/src/WalletPermissionsManager.js +656 -870
  50. package/out/src/WalletPermissionsManager.js.map +1 -1
  51. package/out/src/WalletSettingsManager.d.ts +2 -2
  52. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  53. package/out/src/WalletSettingsManager.js.map +1 -1
  54. package/out/src/__tests/CWIStyleWalletManager.test.js +6 -6
  55. package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -1
  56. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -1
  57. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +8 -8
  58. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -1
  59. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +0 -2
  60. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -1
  61. package/out/src/__tests/WalletPermissionsManager.fixtures.js +6 -18
  62. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -1
  63. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -1
  64. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +7 -7
  65. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +1 -1
  66. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +1 -1
  67. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -1
  68. package/out/src/entropy/EntropyCollector.d.ts +1 -1
  69. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  70. package/out/src/entropy/EntropyCollector.js +3 -3
  71. package/out/src/entropy/EntropyCollector.js.map +1 -1
  72. package/out/src/fundWalletP2PKH.d.ts +2 -2
  73. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  74. package/out/src/fundWalletP2PKH.js +11 -10
  75. package/out/src/fundWalletP2PKH.js.map +1 -1
  76. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  77. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  78. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  79. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  80. package/out/src/mockchain/MockChainStorage.js +5 -5
  81. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  82. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  83. package/out/src/mockchain/MockChainTracker.js +10 -10
  84. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  85. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  86. package/out/src/mockchain/MockMiner.js +3 -3
  87. package/out/src/mockchain/MockMiner.js.map +1 -1
  88. package/out/src/mockchain/MockServices.d.ts +9 -0
  89. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  90. package/out/src/mockchain/MockServices.js +195 -238
  91. package/out/src/mockchain/MockServices.js.map +1 -1
  92. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  93. package/out/src/mockchain/merkleTree.js +21 -12
  94. package/out/src/mockchain/merkleTree.js.map +1 -1
  95. package/out/src/monitor/LeasedMonitorTask.d.ts +43 -0
  96. package/out/src/monitor/LeasedMonitorTask.d.ts.map +1 -0
  97. package/out/src/monitor/LeasedMonitorTask.js +89 -0
  98. package/out/src/monitor/LeasedMonitorTask.js.map +1 -0
  99. package/out/src/monitor/Monitor.d.ts +24 -0
  100. package/out/src/monitor/Monitor.d.ts.map +1 -1
  101. package/out/src/monitor/Monitor.js +63 -75
  102. package/out/src/monitor/Monitor.js.map +1 -1
  103. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  104. package/out/src/monitor/MonitorDaemon.js +24 -23
  105. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  106. package/out/src/monitor/V7LeasedTask.d.ts +43 -0
  107. package/out/src/monitor/V7LeasedTask.d.ts.map +1 -0
  108. package/out/src/monitor/V7LeasedTask.js +89 -0
  109. package/out/src/monitor/V7LeasedTask.js.map +1 -0
  110. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -1
  111. package/out/src/monitor/index.all.d.ts +1 -0
  112. package/out/src/monitor/index.all.d.ts.map +1 -1
  113. package/out/src/monitor/index.all.js +1 -0
  114. package/out/src/monitor/index.all.js.map +1 -1
  115. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
  116. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  117. package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
  118. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  119. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +4 -2
  120. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  121. package/out/src/monitor/tasks/TaskCheckForProofs.js +83 -16
  122. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  123. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
  124. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  125. package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
  126. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  127. package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
  128. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  129. package/out/src/monitor/tasks/TaskClock.js +0 -1
  130. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  131. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  132. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  133. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  134. package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
  135. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  136. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  137. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  138. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  139. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
  140. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  141. package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
  142. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  143. package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
  144. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  145. package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
  146. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  147. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  148. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  149. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  150. package/out/src/monitor/tasks/TaskReorg.js +2 -2
  151. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  152. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
  153. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  154. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
  155. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  156. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
  157. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  158. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
  159. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  160. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  161. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  162. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  163. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
  164. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  165. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  166. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  167. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  168. package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
  169. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  170. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +1 -1
  171. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -1
  172. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +1 -4
  173. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
  174. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
  175. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  176. package/out/src/monitor/tasks/TaskUnFail.js +13 -15
  177. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  178. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  179. package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
  180. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  181. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +1 -1
  182. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +1 -1
  183. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +1 -1
  184. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +1 -1
  185. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +1 -1
  186. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  187. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  188. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  189. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  190. package/out/src/sdk/PrivilegedKeyManager.js +26 -21
  191. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  192. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  193. package/out/src/sdk/WERR_errors.js +5 -5
  194. package/out/src/sdk/WERR_errors.js.map +1 -1
  195. package/out/src/sdk/WalletError.d.ts +1 -1
  196. package/out/src/sdk/WalletError.d.ts.map +1 -1
  197. package/out/src/sdk/WalletError.js +10 -3
  198. package/out/src/sdk/WalletError.js.map +1 -1
  199. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  200. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  201. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  202. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
  203. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  204. package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
  205. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  206. package/out/src/sdk/__test/CertificateLifeCycle.test.js +3 -3
  207. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
  208. package/out/src/sdk/__test/WalletError.test.js +4 -4
  209. package/out/src/sdk/__test/WalletError.test.js.map +1 -1
  210. package/out/src/sdk/types.d.ts +36 -4
  211. package/out/src/sdk/types.d.ts.map +1 -1
  212. package/out/src/sdk/types.js +53 -4
  213. package/out/src/sdk/types.js.map +1 -1
  214. package/out/src/services/ServiceCollection.d.ts +6 -6
  215. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  216. package/out/src/services/ServiceCollection.js +3 -4
  217. package/out/src/services/ServiceCollection.js.map +1 -1
  218. package/out/src/services/Services.d.ts +5 -0
  219. package/out/src/services/Services.d.ts.map +1 -1
  220. package/out/src/services/Services.js +174 -182
  221. package/out/src/services/Services.js.map +1 -1
  222. package/out/src/services/__tests/ARC.man.test.js.map +1 -1
  223. package/out/src/services/__tests/ARC.timeout.man.test.js +3 -3
  224. package/out/src/services/__tests/ARC.timeout.man.test.js.map +1 -1
  225. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +1 -1
  226. package/out/src/services/__tests/bitrails.test.js +3 -2
  227. package/out/src/services/__tests/bitrails.test.js.map +1 -1
  228. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +1 -1
  229. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  230. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  231. package/out/src/services/chaintracker/BHServiceClient.js +7 -7
  232. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  233. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
  235. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  236. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +2 -2
  237. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -1
  238. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +1 -1
  239. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -1
  240. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
  241. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
  245. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
  247. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +1 -1
  249. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +5 -22
  251. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  252. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
  254. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  257. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  259. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
  261. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  265. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
  266. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  267. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  270. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  271. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +1 -8
  274. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
  277. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  280. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  281. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  282. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
  283. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  284. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
  285. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
  287. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +2 -1
  289. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +4 -3
  291. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js +11 -10
  293. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  295. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +9 -16
  296. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  297. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +3 -3
  298. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  299. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +13 -13
  300. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  301. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  302. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
  303. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  304. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  305. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
  306. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  307. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +1 -2
  308. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  309. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +25 -22
  310. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  311. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts.map +1 -1
  312. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js +0 -21
  313. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js.map +1 -1
  314. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
  315. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  316. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
  317. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  318. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +2 -1
  319. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -1
  320. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +8 -7
  321. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
  322. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js +6 -5
  323. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js.map +1 -1
  324. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +10 -9
  325. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -1
  326. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +1 -1
  327. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +1 -1
  328. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +14 -17
  329. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +1 -1
  330. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +3 -2
  331. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -1
  332. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  333. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  334. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  335. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +6 -8
  336. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  337. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  338. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  339. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  340. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  341. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  342. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  343. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  344. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  345. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  346. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  347. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
  348. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  349. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  350. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +8 -7
  351. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  353. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
  354. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  355. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  356. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  357. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
  358. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  359. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
  360. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  361. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  362. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -2
  363. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  364. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +13 -13
  365. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  366. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  367. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
  368. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  369. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  370. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  371. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  372. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +11 -11
  373. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +1 -1
  374. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +1 -1
  375. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +1 -1
  376. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +2 -2
  377. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +1 -1
  378. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
  379. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  380. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
  381. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  382. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  383. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  384. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  385. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  386. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  387. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  388. package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
  389. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  390. package/out/src/services/providers/ARC.d.ts.map +1 -1
  391. package/out/src/services/providers/ARC.js +7 -14
  392. package/out/src/services/providers/ARC.js.map +1 -1
  393. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  394. package/out/src/services/providers/ArcSSEClient.js +1 -1
  395. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  396. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  397. package/out/src/services/providers/Bitails.js +17 -17
  398. package/out/src/services/providers/Bitails.js.map +1 -1
  399. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  400. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  401. package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
  402. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  403. package/out/src/services/providers/WhatsOnChain.js +109 -233
  404. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  405. package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +1 -1
  406. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  407. package/out/src/services/providers/exchangeRates.js +3 -3
  408. package/out/src/services/providers/exchangeRates.js.map +1 -1
  409. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  410. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  411. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  412. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  413. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  414. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  415. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  416. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  417. package/out/src/signer/WalletSigner.js.map +1 -1
  418. package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
  419. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  420. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  421. package/out/src/signer/methods/buildSignableTransaction.js +21 -13
  422. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  423. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  424. package/out/src/signer/methods/completeSignedTransaction.js +20 -21
  425. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  426. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  427. package/out/src/signer/methods/createAction.js +8 -7
  428. package/out/src/signer/methods/createAction.js.map +1 -1
  429. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  430. package/out/src/signer/methods/internalizeAction.js +8 -6
  431. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  432. package/out/src/signer/methods/proveCertificate.js +1 -1
  433. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  434. package/out/src/signer/methods/signAction.js +8 -10
  435. package/out/src/signer/methods/signAction.js.map +1 -1
  436. package/out/src/storage/StorageIdb.d.ts +16 -1
  437. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  438. package/out/src/storage/StorageIdb.js +544 -1224
  439. package/out/src/storage/StorageIdb.js.map +1 -1
  440. package/out/src/storage/StorageKnex.d.ts +143 -3
  441. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  442. package/out/src/storage/StorageKnex.js +829 -222
  443. package/out/src/storage/StorageKnex.js.map +1 -1
  444. package/out/src/storage/StorageProvider.d.ts +124 -1
  445. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  446. package/out/src/storage/StorageProvider.js +316 -186
  447. package/out/src/storage/StorageProvider.js.map +1 -1
  448. package/out/src/storage/StorageReader.d.ts.map +1 -1
  449. package/out/src/storage/StorageReader.js +8 -7
  450. package/out/src/storage/StorageReader.js.map +1 -1
  451. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  452. package/out/src/storage/StorageReaderWriter.js +32 -32
  453. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  454. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  455. package/out/src/storage/StorageSyncReader.js +3 -3
  456. package/out/src/storage/StorageSyncReader.js.map +1 -1
  457. package/out/src/storage/WalletStorageManager.d.ts +3 -0
  458. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  459. package/out/src/storage/WalletStorageManager.js +83 -73
  460. package/out/src/storage/WalletStorageManager.js.map +1 -1
  461. package/out/src/storage/__test/StorageIdb.test.js +1 -1
  462. package/out/src/storage/__test/WalletStorageManager.test.js +1 -1
  463. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
  464. package/out/src/storage/__test/adminStats.man.test.js +1 -1
  465. package/out/src/storage/__test/adminStats.man.test.js.map +1 -1
  466. package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +1 -1
  467. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +1 -1
  468. package/out/src/storage/__test/getBeefForTransaction.test.js +1 -1
  469. package/out/src/storage/__test/getBeefForTransaction.test.js.map +1 -1
  470. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  471. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  472. package/out/src/storage/adminServer/adminServer.js +12 -12
  473. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  474. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  475. package/out/src/storage/idbHelpers.d.ts +47 -0
  476. package/out/src/storage/idbHelpers.d.ts.map +1 -0
  477. package/out/src/storage/idbHelpers.js +417 -0
  478. package/out/src/storage/idbHelpers.js.map +1 -0
  479. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  480. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  481. package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
  482. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  483. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  484. package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
  485. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  486. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +3 -3
  487. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -1
  488. package/out/src/storage/methods/__test/offsetKey.test.js +1 -1
  489. package/out/src/storage/methods/__test/offsetKey.test.js.map +1 -1
  490. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
  491. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  492. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +338 -63
  493. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  494. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  495. package/out/src/storage/methods/createAction.js +251 -274
  496. package/out/src/storage/methods/createAction.js.map +1 -1
  497. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  498. package/out/src/storage/methods/generateChange.js +99 -80
  499. package/out/src/storage/methods/generateChange.js.map +1 -1
  500. package/out/src/storage/methods/getBeefForTransaction.js +15 -13
  501. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  502. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  503. package/out/src/storage/methods/getSyncChunk.js +4 -3
  504. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  505. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  506. package/out/src/storage/methods/internalizeAction.js +213 -56
  507. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  508. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  509. package/out/src/storage/methods/listActionsIdb.js +85 -110
  510. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  511. package/out/src/storage/methods/listActionsKnex.d.ts +50 -1
  512. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  513. package/out/src/storage/methods/listActionsKnex.js +256 -169
  514. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  515. package/out/src/storage/methods/listCertificates.d.ts +1 -1
  516. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  517. package/out/src/storage/methods/listCertificates.js +7 -7
  518. package/out/src/storage/methods/listCertificates.js.map +1 -1
  519. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  520. package/out/src/storage/methods/listOutputsIdb.js +24 -27
  521. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  522. package/out/src/storage/methods/listOutputsKnex.d.ts +1 -1
  523. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  524. package/out/src/storage/methods/listOutputsKnex.js +78 -32
  525. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  526. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  527. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  528. package/out/src/storage/methods/offsetKey.js +3 -5
  529. package/out/src/storage/methods/offsetKey.js.map +1 -1
  530. package/out/src/storage/methods/processAction.d.ts +0 -11
  531. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  532. package/out/src/storage/methods/processAction.js +168 -93
  533. package/out/src/storage/methods/processAction.js.map +1 -1
  534. package/out/src/storage/methods/purgeData.d.ts +1 -1
  535. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  536. package/out/src/storage/methods/purgeData.js +54 -27
  537. package/out/src/storage/methods/purgeData.js.map +1 -1
  538. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  539. package/out/src/storage/methods/purgeDataIdb.js +1 -1
  540. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  541. package/out/src/storage/methods/reviewStatus.d.ts +1 -1
  542. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  543. package/out/src/storage/methods/reviewStatus.js +35 -18
  544. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  545. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  546. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  547. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  548. package/out/src/storage/methods/utils.Buffer.d.ts.map +1 -1
  549. package/out/src/storage/methods/utils.Buffer.js.map +1 -1
  550. package/out/src/storage/methods/utils.d.ts.map +1 -1
  551. package/out/src/storage/methods/utils.js +7 -1
  552. package/out/src/storage/methods/utils.js.map +1 -1
  553. package/out/src/storage/remoting/StorageClient.d.ts +4 -270
  554. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  555. package/out/src/storage/remoting/StorageClient.js +16 -423
  556. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  557. package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
  558. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  559. package/out/src/storage/remoting/StorageClientBase.js +375 -0
  560. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  561. package/out/src/storage/remoting/StorageMobile.d.ts +7 -275
  562. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  563. package/out/src/storage/remoting/StorageMobile.js +12 -421
  564. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  565. package/out/src/storage/remoting/StorageServer.d.ts +11 -8
  566. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  567. package/out/src/storage/remoting/StorageServer.js +51 -102
  568. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  569. package/out/src/storage/remoting/__test/StorageClient.man.test.js +6 -6
  570. package/out/src/storage/remoting/__test/StorageClient.man.test.js.map +1 -1
  571. package/out/src/storage/remoting/__test/StorageClient.test.js +8 -8
  572. package/out/src/storage/remoting/__test/StorageClient.test.js.map +1 -1
  573. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts +2 -0
  574. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts.map +1 -0
  575. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js +268 -0
  576. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js.map +1 -0
  577. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  578. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  579. package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
  580. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  581. package/out/src/storage/schema/KnexMigrations.d.ts +3 -3
  582. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  583. package/out/src/storage/schema/KnexMigrations.js +160 -9
  584. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  585. package/out/src/storage/schema/StorageIdbSchema.d.ts +43 -2
  586. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  587. package/out/src/storage/schema/__tests/backfill.runner.test.d.ts +2 -0
  588. package/out/src/storage/schema/__tests/backfill.runner.test.d.ts.map +1 -0
  589. package/out/src/storage/schema/__tests/backfill.runner.test.js +148 -0
  590. package/out/src/storage/schema/__tests/backfill.runner.test.js.map +1 -0
  591. package/out/src/storage/schema/__tests/backfill.test.d.ts +2 -0
  592. package/out/src/storage/schema/__tests/backfill.test.d.ts.map +1 -0
  593. package/out/src/storage/schema/__tests/backfill.test.js +96 -0
  594. package/out/src/storage/schema/__tests/backfill.test.js.map +1 -0
  595. package/out/src/storage/schema/__tests/processingFsm.test.d.ts +2 -0
  596. package/out/src/storage/schema/__tests/processingFsm.test.d.ts.map +1 -0
  597. package/out/src/storage/schema/__tests/processingFsm.test.js +42 -0
  598. package/out/src/storage/schema/__tests/processingFsm.test.js.map +1 -0
  599. package/out/src/storage/schema/__tests/processingFsmLegacyMapping.test.d.ts +2 -0
  600. package/out/src/storage/schema/__tests/processingFsmLegacyMapping.test.d.ts.map +1 -0
  601. package/out/src/storage/schema/__tests/processingFsmLegacyMapping.test.js +82 -0
  602. package/out/src/storage/schema/__tests/processingFsmLegacyMapping.test.js.map +1 -0
  603. package/out/src/storage/schema/__tests/spendabilityRule.test.d.ts +2 -0
  604. package/out/src/storage/schema/__tests/spendabilityRule.test.d.ts.map +1 -0
  605. package/out/src/storage/schema/__tests/spendabilityRule.test.js +29 -0
  606. package/out/src/storage/schema/__tests/spendabilityRule.test.js.map +1 -0
  607. package/out/src/storage/schema/__tests/v7Backfill.runner.test.d.ts +2 -0
  608. package/out/src/storage/schema/__tests/v7Backfill.runner.test.d.ts.map +1 -0
  609. package/out/src/storage/schema/__tests/v7Backfill.runner.test.js +148 -0
  610. package/out/src/storage/schema/__tests/v7Backfill.runner.test.js.map +1 -0
  611. package/out/src/storage/schema/__tests/v7Backfill.test.d.ts +2 -0
  612. package/out/src/storage/schema/__tests/v7Backfill.test.d.ts.map +1 -0
  613. package/out/src/storage/schema/__tests/v7Backfill.test.js +96 -0
  614. package/out/src/storage/schema/__tests/v7Backfill.test.js.map +1 -0
  615. package/out/src/storage/schema/__tests/v7Fsm.test.d.ts +2 -0
  616. package/out/src/storage/schema/__tests/v7Fsm.test.d.ts.map +1 -0
  617. package/out/src/storage/schema/__tests/v7Fsm.test.js +42 -0
  618. package/out/src/storage/schema/__tests/v7Fsm.test.js.map +1 -0
  619. package/out/src/storage/schema/__tests/v7FsmLegacyMapping.test.d.ts +2 -0
  620. package/out/src/storage/schema/__tests/v7FsmLegacyMapping.test.d.ts.map +1 -0
  621. package/out/src/storage/schema/__tests/v7FsmLegacyMapping.test.js +77 -0
  622. package/out/src/storage/schema/__tests/v7FsmLegacyMapping.test.js.map +1 -0
  623. package/out/src/storage/schema/__tests/v7Spendability.test.d.ts +2 -0
  624. package/out/src/storage/schema/__tests/v7Spendability.test.d.ts.map +1 -0
  625. package/out/src/storage/schema/__tests/v7Spendability.test.js +29 -0
  626. package/out/src/storage/schema/__tests/v7Spendability.test.js.map +1 -0
  627. package/out/src/storage/schema/backfill.d.ts +35 -0
  628. package/out/src/storage/schema/backfill.d.ts.map +1 -0
  629. package/out/src/storage/schema/backfill.idb.d.ts +32 -0
  630. package/out/src/storage/schema/backfill.idb.d.ts.map +1 -0
  631. package/out/src/storage/schema/backfill.idb.js +95 -0
  632. package/out/src/storage/schema/backfill.idb.js.map +1 -0
  633. package/out/src/storage/schema/backfill.js +150 -0
  634. package/out/src/storage/schema/backfill.js.map +1 -0
  635. package/out/src/storage/schema/backfill.knex.d.ts +32 -0
  636. package/out/src/storage/schema/backfill.knex.d.ts.map +1 -0
  637. package/out/src/storage/schema/backfill.knex.js +240 -0
  638. package/out/src/storage/schema/backfill.knex.js.map +1 -0
  639. package/out/src/storage/schema/backfill.runner.d.ts +63 -0
  640. package/out/src/storage/schema/backfill.runner.d.ts.map +1 -0
  641. package/out/src/storage/schema/backfill.runner.js +64 -0
  642. package/out/src/storage/schema/backfill.runner.js.map +1 -0
  643. package/out/src/storage/schema/coinbaseMaturityBackfill.d.ts +25 -0
  644. package/out/src/storage/schema/coinbaseMaturityBackfill.d.ts.map +1 -0
  645. package/out/src/storage/schema/coinbaseMaturityBackfill.js +75 -0
  646. package/out/src/storage/schema/coinbaseMaturityBackfill.js.map +1 -0
  647. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  648. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  649. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  650. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  651. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  652. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  653. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  654. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  655. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  656. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  657. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  658. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  659. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  660. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  661. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  662. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  663. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  664. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  665. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  666. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  667. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  668. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  669. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  670. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
  671. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  672. package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
  673. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  674. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
  675. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  676. package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
  677. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  678. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  679. package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
  680. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  681. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  682. package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
  683. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  684. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  685. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  686. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  687. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  688. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  689. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  690. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  691. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  692. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  693. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  694. package/out/src/storage/schema/entities/MergeEntity.js +6 -6
  695. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  696. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +1 -1
  697. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -1
  698. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -1
  699. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -1
  700. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +3 -3
  701. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -1
  702. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +1 -1
  703. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -1
  704. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +32 -0
  705. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -1
  706. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +6 -6
  707. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  708. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +3 -3
  709. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -1
  710. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +3 -3
  711. package/out/src/storage/schema/entities/__tests/usersTests.test.js +1 -1
  712. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -1
  713. package/out/src/storage/schema/monitorLease.d.ts +57 -0
  714. package/out/src/storage/schema/monitorLease.d.ts.map +1 -0
  715. package/out/src/storage/schema/monitorLease.js +101 -0
  716. package/out/src/storage/schema/monitorLease.js.map +1 -0
  717. package/out/src/storage/schema/processingFsm.d.ts +27 -0
  718. package/out/src/storage/schema/processingFsm.d.ts.map +1 -0
  719. package/out/src/storage/schema/processingFsm.js +132 -0
  720. package/out/src/storage/schema/processingFsm.js.map +1 -0
  721. package/out/src/storage/schema/schemaCutover.d.ts +34 -0
  722. package/out/src/storage/schema/schemaCutover.d.ts.map +1 -0
  723. package/out/src/storage/schema/schemaCutover.js +230 -0
  724. package/out/src/storage/schema/schemaCutover.js.map +1 -0
  725. package/out/src/storage/schema/schemaCutoverIdb.d.ts +26 -0
  726. package/out/src/storage/schema/schemaCutoverIdb.d.ts.map +1 -0
  727. package/out/src/storage/schema/schemaCutoverIdb.js +90 -0
  728. package/out/src/storage/schema/schemaCutoverIdb.js.map +1 -0
  729. package/out/src/storage/schema/spendabilityRefresh.d.ts +49 -0
  730. package/out/src/storage/schema/spendabilityRefresh.d.ts.map +1 -0
  731. package/out/src/storage/schema/spendabilityRefresh.js +120 -0
  732. package/out/src/storage/schema/spendabilityRefresh.js.map +1 -0
  733. package/out/src/storage/schema/spendabilityRule.d.ts +45 -0
  734. package/out/src/storage/schema/spendabilityRule.d.ts.map +1 -0
  735. package/out/src/storage/schema/spendabilityRule.js +52 -0
  736. package/out/src/storage/schema/spendabilityRule.js.map +1 -0
  737. package/out/src/storage/schema/tables/TableAction.d.ts +38 -0
  738. package/out/src/storage/schema/tables/TableAction.d.ts.map +1 -0
  739. package/out/src/storage/schema/tables/TableAction.js +3 -0
  740. package/out/src/storage/schema/tables/TableAction.js.map +1 -0
  741. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  742. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  743. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  744. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  745. package/out/src/storage/schema/tables/TableChainTip.d.ts +17 -0
  746. package/out/src/storage/schema/tables/TableChainTip.d.ts.map +1 -0
  747. package/out/src/storage/schema/tables/TableChainTip.js +3 -0
  748. package/out/src/storage/schema/tables/TableChainTip.js.map +1 -0
  749. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  750. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  751. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  752. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  753. package/out/src/storage/schema/tables/TableMonitorLease.d.ts +23 -0
  754. package/out/src/storage/schema/tables/TableMonitorLease.d.ts.map +1 -0
  755. package/out/src/storage/schema/tables/TableMonitorLease.js +3 -0
  756. package/out/src/storage/schema/tables/TableMonitorLease.js.map +1 -0
  757. package/out/src/storage/schema/tables/TableOutput.d.ts +10 -2
  758. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  759. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  760. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  761. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  762. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  763. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  764. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  765. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  766. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  767. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  768. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  769. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  770. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  771. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  772. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  773. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  774. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  775. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  776. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  777. package/out/src/storage/schema/tables/TableTransactionNew.d.ts +50 -0
  778. package/out/src/storage/schema/tables/TableTransactionNew.d.ts.map +1 -0
  779. package/out/src/storage/schema/tables/TableTransactionNew.js +3 -0
  780. package/out/src/storage/schema/tables/TableTransactionNew.js.map +1 -0
  781. package/out/src/storage/schema/tables/TableTransactionV7.d.ts +50 -0
  782. package/out/src/storage/schema/tables/TableTransactionV7.d.ts.map +1 -0
  783. package/out/src/storage/schema/tables/TableTransactionV7.js +3 -0
  784. package/out/src/storage/schema/tables/TableTransactionV7.js.map +1 -0
  785. package/out/src/storage/schema/tables/TableTxAudit.d.ts +26 -0
  786. package/out/src/storage/schema/tables/TableTxAudit.d.ts.map +1 -0
  787. package/out/src/storage/schema/tables/TableTxAudit.js +3 -0
  788. package/out/src/storage/schema/tables/TableTxAudit.js.map +1 -0
  789. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  790. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  791. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  792. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  793. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  794. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  795. package/out/src/storage/schema/tables/index.d.ts +5 -0
  796. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  797. package/out/src/storage/schema/tables/index.js +5 -0
  798. package/out/src/storage/schema/tables/index.js.map +1 -1
  799. package/out/src/storage/schema/transactionCrud.d.ts +41 -0
  800. package/out/src/storage/schema/transactionCrud.d.ts.map +1 -0
  801. package/out/src/storage/schema/transactionCrud.js +205 -0
  802. package/out/src/storage/schema/transactionCrud.js.map +1 -0
  803. package/out/src/storage/schema/transactionService.d.ts +315 -0
  804. package/out/src/storage/schema/transactionService.d.ts.map +1 -0
  805. package/out/src/storage/schema/transactionService.js +783 -0
  806. package/out/src/storage/schema/transactionService.js.map +1 -0
  807. package/out/src/storage/schema/txAudit.d.ts +33 -0
  808. package/out/src/storage/schema/txAudit.d.ts.map +1 -0
  809. package/out/src/storage/schema/txAudit.js +64 -0
  810. package/out/src/storage/schema/txAudit.js.map +1 -0
  811. package/out/src/storage/schema/v7Backfill.d.ts +35 -0
  812. package/out/src/storage/schema/v7Backfill.d.ts.map +1 -0
  813. package/out/src/storage/schema/v7Backfill.idb.d.ts +32 -0
  814. package/out/src/storage/schema/v7Backfill.idb.d.ts.map +1 -0
  815. package/out/src/storage/schema/v7Backfill.idb.js +95 -0
  816. package/out/src/storage/schema/v7Backfill.idb.js.map +1 -0
  817. package/out/src/storage/schema/v7Backfill.js +150 -0
  818. package/out/src/storage/schema/v7Backfill.js.map +1 -0
  819. package/out/src/storage/schema/v7Backfill.knex.d.ts +32 -0
  820. package/out/src/storage/schema/v7Backfill.knex.d.ts.map +1 -0
  821. package/out/src/storage/schema/v7Backfill.knex.js +240 -0
  822. package/out/src/storage/schema/v7Backfill.knex.js.map +1 -0
  823. package/out/src/storage/schema/v7Backfill.runner.d.ts +63 -0
  824. package/out/src/storage/schema/v7Backfill.runner.d.ts.map +1 -0
  825. package/out/src/storage/schema/v7Backfill.runner.js +64 -0
  826. package/out/src/storage/schema/v7Backfill.runner.js.map +1 -0
  827. package/out/src/storage/schema/v7CoinbaseMaturityBackfill.d.ts +25 -0
  828. package/out/src/storage/schema/v7CoinbaseMaturityBackfill.d.ts.map +1 -0
  829. package/out/src/storage/schema/v7CoinbaseMaturityBackfill.js +75 -0
  830. package/out/src/storage/schema/v7CoinbaseMaturityBackfill.js.map +1 -0
  831. package/out/src/storage/schema/v7Crud.d.ts +41 -0
  832. package/out/src/storage/schema/v7Crud.d.ts.map +1 -0
  833. package/out/src/storage/schema/v7Crud.js +205 -0
  834. package/out/src/storage/schema/v7Crud.js.map +1 -0
  835. package/out/src/storage/schema/v7Cutover.d.ts +34 -0
  836. package/out/src/storage/schema/v7Cutover.d.ts.map +1 -0
  837. package/out/src/storage/schema/v7Cutover.js +223 -0
  838. package/out/src/storage/schema/v7Cutover.js.map +1 -0
  839. package/out/src/storage/schema/v7CutoverIdb.d.ts +26 -0
  840. package/out/src/storage/schema/v7CutoverIdb.d.ts.map +1 -0
  841. package/out/src/storage/schema/v7CutoverIdb.js +90 -0
  842. package/out/src/storage/schema/v7CutoverIdb.js.map +1 -0
  843. package/out/src/storage/schema/v7Fsm.d.ts +27 -0
  844. package/out/src/storage/schema/v7Fsm.d.ts.map +1 -0
  845. package/out/src/storage/schema/v7Fsm.js +124 -0
  846. package/out/src/storage/schema/v7Fsm.js.map +1 -0
  847. package/out/src/storage/schema/v7MonitorLease.d.ts +57 -0
  848. package/out/src/storage/schema/v7MonitorLease.d.ts.map +1 -0
  849. package/out/src/storage/schema/v7MonitorLease.js +101 -0
  850. package/out/src/storage/schema/v7MonitorLease.js.map +1 -0
  851. package/out/src/storage/schema/v7Service.d.ts +305 -0
  852. package/out/src/storage/schema/v7Service.d.ts.map +1 -0
  853. package/out/src/storage/schema/v7Service.js +757 -0
  854. package/out/src/storage/schema/v7Service.js.map +1 -0
  855. package/out/src/storage/schema/v7Spendability.d.ts +45 -0
  856. package/out/src/storage/schema/v7Spendability.d.ts.map +1 -0
  857. package/out/src/storage/schema/v7Spendability.js +52 -0
  858. package/out/src/storage/schema/v7Spendability.js.map +1 -0
  859. package/out/src/storage/schema/v7SpendabilityRefresh.d.ts +49 -0
  860. package/out/src/storage/schema/v7SpendabilityRefresh.d.ts.map +1 -0
  861. package/out/src/storage/schema/v7SpendabilityRefresh.js +111 -0
  862. package/out/src/storage/schema/v7SpendabilityRefresh.js.map +1 -0
  863. package/out/src/storage/schema/v7TxAudit.d.ts +33 -0
  864. package/out/src/storage/schema/v7TxAudit.d.ts.map +1 -0
  865. package/out/src/storage/schema/v7TxAudit.js +64 -0
  866. package/out/src/storage/schema/v7TxAudit.js.map +1 -0
  867. package/out/src/storage/storageProviderHelpers.d.ts +34 -0
  868. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  869. package/out/src/storage/storageProviderHelpers.js +100 -0
  870. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  871. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +1 -2
  872. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  873. package/out/src/storage/sync/StorageMySQLDojoReader.js +37 -32
  874. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  875. package/out/src/utility/Format.d.ts.map +1 -1
  876. package/out/src/utility/Format.js +11 -9
  877. package/out/src/utility/Format.js.map +1 -1
  878. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  879. package/out/src/utility/ScriptTemplateBRC29.js +2 -1
  880. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  881. package/out/src/utility/aggregateResults.d.ts +1 -1
  882. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  883. package/out/src/utility/aggregateResults.js +2 -2
  884. package/out/src/utility/aggregateResults.js.map +1 -1
  885. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  886. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  887. package/out/src/utility/brc114ActionTimeLabels.js +16 -9
  888. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  889. package/out/src/utility/identityUtils.js +1 -1
  890. package/out/src/utility/identityUtils.js.map +1 -1
  891. package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
  892. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  893. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  894. package/out/src/utility/stampLog.d.ts.map +1 -1
  895. package/out/src/utility/stampLog.js +7 -5
  896. package/out/src/utility/stampLog.js.map +1 -1
  897. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  898. package/out/src/utility/tscProofToMerklePath.js +1 -1
  899. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  900. package/out/src/utility/utilityHelpers.buffer.d.ts +5 -3
  901. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
  902. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  903. package/out/src/utility/utilityHelpers.d.ts +1 -2
  904. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  905. package/out/src/utility/utilityHelpers.js +10 -10
  906. package/out/src/utility/utilityHelpers.js.map +1 -1
  907. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  908. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  909. package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
  910. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  911. package/out/src/wab-client/WABClient.d.ts +1 -1
  912. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  913. package/out/src/wab-client/WABClient.js +12 -12
  914. package/out/src/wab-client/WABClient.js.map +1 -1
  915. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  916. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -3
  917. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  918. package/package.json +28 -21
@@ -0,0 +1,783 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionService = void 0;
4
+ exports.indexFromMerklePath = indexFromMerklePath;
5
+ const sdk_1 = require("@bsv/sdk");
6
+ const transactionCrud_1 = require("./transactionCrud");
7
+ const txAudit_1 = require("./txAudit");
8
+ const monitorLease_1 = require("./monitorLease");
9
+ /**
10
+ * High-level service over the new-schema storage primitives.
11
+ *
12
+ * Storage methods and the Monitor call into this surface rather than the
13
+ * lower-level CRUD/FSM/audit/lease modules so that:
14
+ * - Every processing transition is audited.
15
+ * - Optimistic concurrency is uniformly enforced.
16
+ * - Chain tip + monitor lease access have one canonical entry point.
17
+ *
18
+ * Construction takes a Knex handle; instances are stateless and cheap to
19
+ * create — typically one per request or per Monitor task tick.
20
+ */
21
+ /**
22
+ * Extract the merkle leaf index for `txid` from a BUMP-encoded merkle path.
23
+ *
24
+ * The BUMP format encodes level 0 leaves with `txid: true` and an `offset`
25
+ * equal to the position of the transaction in its block. For a single-tx
26
+ * proof exactly one leaf is flagged; for trimmed compound proofs the leaf
27
+ * matching `txid` is selected.
28
+ */
29
+ function indexFromMerklePath(merklePath, txid) {
30
+ var _a;
31
+ const mp = sdk_1.MerklePath.fromBinary(merklePath);
32
+ const level0 = (_a = mp.path[0]) !== null && _a !== void 0 ? _a : [];
33
+ const leaf = level0.find(l => l.txid === true && l.hash === txid);
34
+ if (leaf == null)
35
+ throw new Error(`txid ${txid} not present in merklePath`);
36
+ return leaf.offset;
37
+ }
38
+ class TransactionService {
39
+ constructor(knex) {
40
+ this.knex = knex;
41
+ }
42
+ // -----------------------
43
+ // Transactions
44
+ // -----------------------
45
+ async findByTxid(txid) {
46
+ return await (0, transactionCrud_1.findTransactionNewByTxid)(this.knex, txid);
47
+ }
48
+ async findById(transactionId) {
49
+ return await (0, transactionCrud_1.findTransactionNew)(this.knex, transactionId);
50
+ }
51
+ /**
52
+ * Insert a new new transaction row. The row is created in `queued` state
53
+ * unless the caller overrides `processing`.
54
+ */
55
+ async create(args) {
56
+ var _a, _b;
57
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
58
+ const row = {
59
+ txid: args.txid,
60
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
61
+ processingChangedAt: now,
62
+ nextActionAt: undefined,
63
+ attempts: 0,
64
+ rebroadcastCycles: 0,
65
+ wasBroadcast: false,
66
+ idempotencyKey: args.idempotencyKey,
67
+ batch: args.batch,
68
+ rawTx: args.rawTx,
69
+ inputBeef: args.inputBeef,
70
+ height: undefined,
71
+ merkleIndex: undefined,
72
+ merklePath: undefined,
73
+ merkleRoot: undefined,
74
+ blockHash: undefined,
75
+ isCoinbase: args.isCoinbase === true,
76
+ lastProvider: undefined,
77
+ lastProviderStatus: undefined,
78
+ frozenReason: undefined,
79
+ rowVersion: 0
80
+ };
81
+ const id = await (0, transactionCrud_1.insertTransactionNew)(this.knex, row, now);
82
+ await (0, txAudit_1.auditProcessingTransition)(this.knex, id, row.processing, row.processing, { reason: 'create' }, now);
83
+ const stored = await this.findById(id);
84
+ if (stored == null)
85
+ throw new Error(`new transaction ${id} disappeared after insert`);
86
+ return stored;
87
+ }
88
+ /**
89
+ * Transition processing state with optimistic concurrency. Returns
90
+ * `undefined` when the FSM rejects the move OR the row's current state no
91
+ * longer matches `expectedFrom`.
92
+ */
93
+ async transition(args) {
94
+ return await (0, transactionCrud_1.transitionProcessing)(this.knex, {
95
+ transactionId: args.transactionId,
96
+ expectedFromState: args.expectedFrom,
97
+ toState: args.to,
98
+ provider: args.provider,
99
+ providerStatus: args.providerStatus,
100
+ details: args.details
101
+ }, args.now);
102
+ }
103
+ /**
104
+ * Record acquisition of a Merkle proof for a transaction. Atomically:
105
+ * - Updates proof columns (height, index, merkle_path, merkle_root, block_hash)
106
+ * - Transitions processing to `confirmed` from any spendable-class state.
107
+ * - Writes a `proof.acquired` audit row.
108
+ *
109
+ * The merkle leaf index is derived from `merklePath` (BUMP) using the row's
110
+ * `txid`; callers do not pass it.
111
+ */
112
+ async recordProof(args) {
113
+ var _a;
114
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
115
+ const existing = await this.findById(args.transactionId);
116
+ if (existing == null)
117
+ return undefined;
118
+ const merkleIndex = indexFromMerklePath(args.merklePath, existing.txid);
119
+ const next = await this.transition({
120
+ transactionId: args.transactionId,
121
+ expectedFrom: args.expectedFrom,
122
+ to: 'confirmed',
123
+ details: { source: 'recordProof', height: args.height },
124
+ now
125
+ });
126
+ if (next == null)
127
+ return undefined;
128
+ await this.knex('transactions').where({ transactionId: args.transactionId }).update({
129
+ height: args.height,
130
+ merkle_index: merkleIndex,
131
+ merkle_path: Buffer.from(args.merklePath),
132
+ merkle_root: args.merkleRoot,
133
+ block_hash: args.blockHash,
134
+ updated_at: now
135
+ });
136
+ return await this.findById(args.transactionId);
137
+ }
138
+ // -----------------------
139
+ // Actions
140
+ // -----------------------
141
+ async findActionForUser(userId, transactionId) {
142
+ return await (0, transactionCrud_1.findAction)(this.knex, userId, transactionId);
143
+ }
144
+ async createAction(args) {
145
+ return await (0, transactionCrud_1.insertAction)(this.knex, {
146
+ userId: args.userId,
147
+ transactionId: args.transactionId,
148
+ reference: args.reference,
149
+ description: args.description,
150
+ isOutgoing: args.isOutgoing,
151
+ satoshisDelta: args.satoshisDelta,
152
+ userNosend: args.userNosend === true,
153
+ hidden: false,
154
+ userAborted: false,
155
+ notifyJson: args.notifyJson,
156
+ rowVersion: 0
157
+ }, args.now);
158
+ }
159
+ // -----------------------
160
+ // Chain tip
161
+ // -----------------------
162
+ async getChainTip() {
163
+ const tip = await (0, transactionCrud_1.getChainTip)(this.knex);
164
+ if (tip == null)
165
+ return undefined;
166
+ return { height: tip.height, blockHash: tip.blockHash };
167
+ }
168
+ async setChainTip(args) {
169
+ await (0, transactionCrud_1.setChainTip)(this.knex, args, args.now);
170
+ }
171
+ // -----------------------
172
+ // Monitor lease
173
+ // -----------------------
174
+ async tryClaimLease(claim, now) {
175
+ return await (0, monitorLease_1.tryClaimLease)(this.knex, claim, now);
176
+ }
177
+ async renewLease(renew, now) {
178
+ return await (0, monitorLease_1.renewLease)(this.knex, renew, now);
179
+ }
180
+ async releaseLease(release) {
181
+ return await (0, monitorLease_1.releaseLease)(this.knex, release);
182
+ }
183
+ // -----------------------
184
+ // Net-new methods (§3)
185
+ // -----------------------
186
+ /**
187
+ * #1 — Look up an action + its backing transaction by (userId, reference).
188
+ */
189
+ async findActionByReference(userId, reference) {
190
+ const actionRow = await this.knex('actions').where({ userId, reference }).first();
191
+ if (actionRow == null)
192
+ return undefined;
193
+ const action = (0, transactionCrud_1.mapActionRow)(actionRow);
194
+ const tx = await this.findById(action.transactionId);
195
+ if (tx == null)
196
+ return undefined;
197
+ return { action, transaction: tx };
198
+ }
199
+ /**
200
+ * #2 — Look up an action + its backing transaction by (userId, txid).
201
+ */
202
+ async findActionByUserTxid(userId, txid) {
203
+ const txRow = await this.knex('transactions').where({ txid }).first();
204
+ if (txRow == null)
205
+ return undefined;
206
+ const tx = (0, transactionCrud_1.mapTransactionRow)(txRow);
207
+ const actionRow = await this.knex('actions')
208
+ .where({ userId, transactionId: tx.transactionId })
209
+ .first();
210
+ if (actionRow == null)
211
+ return undefined;
212
+ return { action: (0, transactionCrud_1.mapActionRow)(actionRow), transaction: tx };
213
+ }
214
+ /**
215
+ * #3 — Upsert: find existing action for (userId, txid) or create both the new
216
+ * transaction row and the action row.
217
+ */
218
+ async findOrCreateActionForTxid(args) {
219
+ var _a, _b;
220
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
221
+ // Try to find existing transaction
222
+ let tx = await this.findByTxid(args.txid);
223
+ let isNew = false;
224
+ if (tx == null) {
225
+ tx = await this.create({
226
+ txid: args.txid,
227
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
228
+ rawTx: args.rawTx,
229
+ inputBeef: args.inputBeef,
230
+ now
231
+ });
232
+ isNew = true;
233
+ }
234
+ else {
235
+ // Patch rawTx / inputBeef if the caller is supplying them for the first time.
236
+ const patches = { updated_at: now };
237
+ if (args.rawTx != null && tx.rawTx == null)
238
+ patches.raw_tx = Buffer.from(args.rawTx);
239
+ if (args.inputBeef != null && tx.inputBeef == null)
240
+ patches.input_beef = Buffer.from(args.inputBeef);
241
+ if (Object.keys(patches).length > 1) {
242
+ await this.knex('transactions').where({ transactionId: tx.transactionId }).update(patches);
243
+ const refreshed = await this.findById(tx.transactionId);
244
+ if (refreshed != null)
245
+ tx = refreshed;
246
+ }
247
+ }
248
+ // Find or create the action for this user.
249
+ let actionRow = await this.knex('actions')
250
+ .where({ userId: args.userId, transactionId: tx.transactionId })
251
+ .first();
252
+ if (actionRow == null) {
253
+ await (0, transactionCrud_1.insertAction)(this.knex, {
254
+ userId: args.userId,
255
+ transactionId: tx.transactionId,
256
+ reference: args.reference,
257
+ description: args.description,
258
+ isOutgoing: args.isOutgoing,
259
+ satoshisDelta: args.satoshisDelta,
260
+ userNosend: false,
261
+ hidden: false,
262
+ userAborted: false,
263
+ rowVersion: 0
264
+ }, now);
265
+ actionRow = await this.knex('actions')
266
+ .where({ userId: args.userId, transactionId: tx.transactionId })
267
+ .first();
268
+ isNew = true;
269
+ }
270
+ return { action: (0, transactionCrud_1.mapActionRow)(actionRow), transaction: tx, isNew };
271
+ }
272
+ /**
273
+ * #4 — Atomically update the satoshisDelta column on an action row.
274
+ */
275
+ async updateActionSatoshisDelta(actionId, delta, now) {
276
+ await this.knex('actions')
277
+ .where({ actionId })
278
+ .update({ satoshis_delta: delta, updated_at: now !== null && now !== void 0 ? now : new Date() });
279
+ }
280
+ /**
281
+ * #5 — Create a new transaction row already in `confirmed` state with all proof
282
+ * columns populated. Useful for internalised transactions that arrive with a
283
+ * Merkle proof (bump) already attached.
284
+ */
285
+ async createWithProof(args) {
286
+ var _a;
287
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
288
+ const merkleIndex = indexFromMerklePath(args.merklePath, args.txid);
289
+ const row = {
290
+ txid: args.txid,
291
+ processing: 'confirmed',
292
+ processingChangedAt: now,
293
+ nextActionAt: undefined,
294
+ attempts: 0,
295
+ rebroadcastCycles: 0,
296
+ wasBroadcast: true,
297
+ idempotencyKey: undefined,
298
+ batch: undefined,
299
+ rawTx: args.rawTx,
300
+ inputBeef: args.inputBeef,
301
+ height: args.height,
302
+ merkleIndex,
303
+ merklePath: args.merklePath,
304
+ merkleRoot: args.merkleRoot,
305
+ blockHash: args.blockHash,
306
+ isCoinbase: args.isCoinbase === true,
307
+ lastProvider: undefined,
308
+ lastProviderStatus: undefined,
309
+ frozenReason: undefined,
310
+ rowVersion: 0
311
+ };
312
+ const id = await (0, transactionCrud_1.insertTransactionNew)(this.knex, row, now);
313
+ await (0, txAudit_1.auditProcessingTransition)(this.knex, id, 'confirmed', 'confirmed', { reason: 'createWithProof' }, now);
314
+ const stored = await this.findById(id);
315
+ if (stored == null)
316
+ throw new Error(`new transaction ${id} disappeared after createWithProof insert`);
317
+ return stored;
318
+ }
319
+ /**
320
+ * #6 — Find an existing new transaction row for the given txid (suitable for
321
+ * the broadcast queue) or create a new one in `queued` state.
322
+ */
323
+ async findOrCreateForBroadcast(args) {
324
+ var _a, _b;
325
+ const existing = await this.findByTxid(args.txid);
326
+ if (existing != null) {
327
+ // Patch rawTx / batch if the row was previously created without them.
328
+ const patches = { updated_at: (_a = args.now) !== null && _a !== void 0 ? _a : new Date() };
329
+ if (existing.rawTx == null)
330
+ patches.raw_tx = Buffer.from(args.rawTx);
331
+ if (args.inputBeef != null && existing.inputBeef == null)
332
+ patches.input_beef = Buffer.from(args.inputBeef);
333
+ if (args.batch != null && existing.batch == null)
334
+ patches.batch = args.batch;
335
+ if (Object.keys(patches).length > 1) {
336
+ await this.knex('transactions').where({ transactionId: existing.transactionId }).update(patches);
337
+ const refreshed = await this.findById(existing.transactionId);
338
+ return { transaction: refreshed !== null && refreshed !== void 0 ? refreshed : existing, isNew: false };
339
+ }
340
+ return { transaction: existing, isNew: false };
341
+ }
342
+ const tx = await this.create({
343
+ txid: args.txid,
344
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
345
+ rawTx: args.rawTx,
346
+ inputBeef: args.inputBeef,
347
+ batch: args.batch,
348
+ now: args.now
349
+ });
350
+ return { transaction: tx, isNew: true };
351
+ }
352
+ /**
353
+ * #7 — Bulk transition: attempt `transition` for each id; collect results.
354
+ * When `expectedFrom` is omitted the current state of each row is used as
355
+ * the expected source (lenient mode — only the FSM is checked).
356
+ */
357
+ async transitionMany(args) {
358
+ var _a;
359
+ const updated = [];
360
+ const skipped = [];
361
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
362
+ for (const id of args.transactionIds) {
363
+ let expectedFrom = args.expectedFrom;
364
+ if (expectedFrom == null) {
365
+ const row = await this.findById(id);
366
+ if (row == null) {
367
+ skipped.push(id);
368
+ continue;
369
+ }
370
+ expectedFrom = row.processing;
371
+ }
372
+ const result = await this.transition({
373
+ transactionId: id,
374
+ expectedFrom,
375
+ to: args.to,
376
+ provider: args.provider,
377
+ providerStatus: args.providerStatus,
378
+ details: args.details,
379
+ now
380
+ });
381
+ if (result != null) {
382
+ updated.push(id);
383
+ }
384
+ else {
385
+ skipped.push(id);
386
+ }
387
+ }
388
+ return { updated, skipped };
389
+ }
390
+ /**
391
+ * #8 — Bulk-set the `batch` column for a list of transaction ids.
392
+ * Pass `undefined` to clear the batch tag.
393
+ */
394
+ async setBatch(transactionIds, batch, now) {
395
+ if (transactionIds.length === 0)
396
+ return;
397
+ await this.knex('transactions')
398
+ .whereIn('transactionId', transactionIds)
399
+ .update({ batch: batch !== null && batch !== void 0 ? batch : null, updated_at: now !== null && now !== void 0 ? now : new Date() });
400
+ }
401
+ /**
402
+ * #9 — Atomically increment the `attempts` counter for one transaction and
403
+ * write an `attempts.incremented` audit entry.
404
+ */
405
+ async incrementAttempts(transactionId, now) {
406
+ const ts = now !== null && now !== void 0 ? now : new Date();
407
+ const updated = await this.knex('transactions')
408
+ .where({ transactionId })
409
+ .increment('attempts', 1)
410
+ .update({ updated_at: ts });
411
+ if (updated === 0)
412
+ return undefined;
413
+ await (0, txAudit_1.appendTxAudit)(this.knex, { transactionId, event: 'attempts.incremented' }, ts);
414
+ return await this.findById(transactionId);
415
+ }
416
+ /**
417
+ * #10 — Record the outcome of a broadcast attempt. Transitions processing
418
+ * state, updates `wasBroadcast` and `lastProvider*` columns, and writes an
419
+ * audit row.
420
+ */
421
+ async recordBroadcastResult(args) {
422
+ var _a;
423
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
424
+ const current = await this.findById(args.transactionId);
425
+ if (current == null)
426
+ return undefined;
427
+ const next = await this.transition({
428
+ transactionId: args.transactionId,
429
+ expectedFrom: current.processing,
430
+ to: args.status,
431
+ provider: args.provider,
432
+ providerStatus: args.providerStatus,
433
+ details: args.details,
434
+ now
435
+ });
436
+ if (next == null)
437
+ return undefined;
438
+ // Update wasBroadcast if the broadcast actually reached the network.
439
+ if (args.wasBroadcast === true && !next.wasBroadcast) {
440
+ await this.knex('transactions')
441
+ .where({ transactionId: args.transactionId })
442
+ .update({ was_broadcast: true, updated_at: now });
443
+ }
444
+ return await this.findById(args.transactionId);
445
+ }
446
+ /**
447
+ * #11 — Append a free-form history note to the audit log for a transaction.
448
+ */
449
+ async recordHistoryNote(transactionId, note, now) {
450
+ const { what, ...rest } = note;
451
+ await (0, txAudit_1.appendTxAudit)(this.knex, {
452
+ transactionId,
453
+ event: 'history.note',
454
+ details: { what, ...rest }
455
+ }, now !== null && now !== void 0 ? now : new Date());
456
+ }
457
+ /**
458
+ * #12 — For each txid that exists in the new transactions table, merge the
459
+ * raw transaction bytes and (where available) the Merkle path into `beef`.
460
+ * Txids not present in new-schema are silently skipped.
461
+ */
462
+ async mergeBeefForTxids(beef, txids) {
463
+ if (txids.length === 0)
464
+ return;
465
+ const rows = await this.knex('transactions')
466
+ .whereIn('txid', txids)
467
+ .select('txid', 'raw_tx', 'merkle_path');
468
+ for (const row of rows) {
469
+ if (row.raw_tx != null) {
470
+ const rawBytes = Array.from(row.raw_tx.values());
471
+ beef.mergeRawTx(rawBytes);
472
+ }
473
+ if (row.merkle_path != null) {
474
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
475
+ beef.mergeBump(mp);
476
+ }
477
+ }
478
+ }
479
+ /**
480
+ * #13 — Collect broadcast-readiness info and a populated Beef for a list of
481
+ * txids. Each entry is classified as:
482
+ * - `readyToSend` — queued/sending → still needs broadcast
483
+ * - `alreadySent` — sent/seen/seen_multi/unconfirmed/confirmed → already on network
484
+ * - `error` — invalid/doubleSpend → terminal failure
485
+ * - `unknown` — not found in new-schema
486
+ */
487
+ async collectReqsAndBeef(txids, extraTxids) {
488
+ const beef = new sdk_1.Beef();
489
+ const details = [];
490
+ const allTxids = Array.from(new Set([...txids, ...(extraTxids !== null && extraTxids !== void 0 ? extraTxids : [])]));
491
+ if (allTxids.length > 0) {
492
+ const rows = await this.knex('transactions')
493
+ .whereIn('txid', allTxids)
494
+ .select('txid', 'processing', 'raw_tx', 'merkle_path');
495
+ const rowByTxid = new Map();
496
+ for (const row of rows)
497
+ rowByTxid.set(row.txid, row);
498
+ for (const txid of txids) {
499
+ const row = rowByTxid.get(txid);
500
+ if (row == null) {
501
+ details.push({ txid, status: 'unknown' });
502
+ continue;
503
+ }
504
+ const p = row.processing;
505
+ let status;
506
+ if (p === 'queued' || p === 'sending' || p === 'nonfinal') {
507
+ status = 'readyToSend';
508
+ }
509
+ else if (p === 'sent' || p === 'seen' || p === 'seen_multi' || p === 'unconfirmed' || p === 'confirmed') {
510
+ status = 'alreadySent';
511
+ }
512
+ else if (p === 'invalid' || p === 'doubleSpend') {
513
+ status = 'error';
514
+ }
515
+ else {
516
+ status = 'readyToSend';
517
+ }
518
+ details.push({ txid, status, reason: p });
519
+ // Merge raw tx + proof bytes for txids that have them.
520
+ if (row.raw_tx != null) {
521
+ beef.mergeRawTx(Array.from(row.raw_tx.values()));
522
+ }
523
+ if (row.merkle_path != null) {
524
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
525
+ beef.mergeBump(mp);
526
+ }
527
+ }
528
+ // Also merge extra txids that may be input ancestors.
529
+ for (const txid of extraTxids !== null && extraTxids !== void 0 ? extraTxids : []) {
530
+ const row = rowByTxid.get(txid);
531
+ if (row == null)
532
+ continue;
533
+ if (row.raw_tx != null) {
534
+ beef.mergeRawTx(Array.from(row.raw_tx.values()));
535
+ }
536
+ if (row.merkle_path != null) {
537
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
538
+ beef.mergeBump(mp);
539
+ }
540
+ }
541
+ }
542
+ return { beef, details };
543
+ }
544
+ /**
545
+ * #14 — Paginated list of actions (per-user transaction views) with optional
546
+ * status and label filters.
547
+ *
548
+ * After the the schema cutover `tx_labels_map.transactionId` references `actions.actionId`
549
+ * (not `transactions.transactionId`).
550
+ */
551
+ async listActionsForUser(args) {
552
+ let q = this.knex('actions as a')
553
+ .join('transactions as t', 't.transactionId', 'a.transactionId')
554
+ .where('a.userId', args.userId)
555
+ .where('a.hidden', false);
556
+ if (args.statusFilter != null && args.statusFilter.length > 0) {
557
+ q = q.whereIn('t.processing', args.statusFilter);
558
+ }
559
+ if (args.createdAtFrom != null) {
560
+ // IDB path uses >= for `from` (inclusive); mirror that here.
561
+ q = q.where('a.created_at', '>=', args.createdAtFrom);
562
+ }
563
+ if (args.createdAtTo != null) {
564
+ // IDB path uses EXCLUSIVE `to` semantics:
565
+ // r.created_at.getTime() >= args.to.getTime() → exclude
566
+ // Mirror that: exclude rows where created_at >= createdAtTo (use '<' not '<=').
567
+ q = q.where('a.created_at', '<', args.createdAtTo);
568
+ }
569
+ // Label filtering via tx_labels_map (post-cutover: transactionId = actionId)
570
+ if (args.labelIds != null && args.labelIds.length > 0) {
571
+ if (args.labelQueryMode === 'all') {
572
+ // Must have ALL specified labels
573
+ for (const labelId of args.labelIds) {
574
+ q = q.whereExists(this.knex('tx_labels_map as lm')
575
+ .where('lm.transactionId', this.knex.ref('a.actionId'))
576
+ .where('lm.txLabelId', labelId)
577
+ .whereNot('lm.isDeleted', true)
578
+ .select(this.knex.raw('1')));
579
+ }
580
+ }
581
+ else {
582
+ // Default: 'any' — must have at least one of the labels
583
+ q = q.whereExists(this.knex('tx_labels_map as lm')
584
+ .where('lm.transactionId', this.knex.ref('a.actionId'))
585
+ .whereIn('lm.txLabelId', args.labelIds)
586
+ .whereNot('lm.isDeleted', true)
587
+ .select(this.knex.raw('1')));
588
+ }
589
+ }
590
+ const countRow = await q.clone().count({ c: 'a.actionId' }).first();
591
+ const total = countRow != null ? Number(countRow.c) : undefined;
592
+ const rows = await q
593
+ .orderBy('a.created_at', 'desc')
594
+ .orderBy('a.actionId', 'asc')
595
+ .limit(args.limit)
596
+ .offset(args.offset)
597
+ .select('a.actionId', 'a.userId', 'a.transactionId', 'a.reference', 'a.description', 'a.isOutgoing', 'a.satoshis_delta', 'a.user_nosend', 'a.hidden', 'a.user_aborted', 'a.notify_json', 'a.row_version', 'a.created_at', 'a.updated_at', 't.txid', 't.processing', 't.height');
598
+ const mapped = rows.map((row) => {
599
+ var _a, _b;
600
+ return ({
601
+ actionId: row.actionId,
602
+ userId: row.userId,
603
+ transactionId: row.transactionId,
604
+ reference: row.reference,
605
+ description: row.description,
606
+ isOutgoing: !!row.isOutgoing,
607
+ satoshisDelta: row.satoshis_delta,
608
+ userNosend: !!row.user_nosend,
609
+ hidden: !!row.hidden,
610
+ userAborted: !!row.user_aborted,
611
+ notifyJson: (_a = row.notify_json) !== null && _a !== void 0 ? _a : undefined,
612
+ rowVersion: row.row_version,
613
+ created_at: new Date(row.created_at),
614
+ updated_at: new Date(row.updated_at),
615
+ txid: row.txid,
616
+ processing: row.processing,
617
+ height: (_b = row.height) !== null && _b !== void 0 ? _b : undefined
618
+ });
619
+ });
620
+ return { rows: mapped, total };
621
+ }
622
+ /**
623
+ * #15 — Paginated list of outputs with their backing transaction processing
624
+ * state. Optional filters: basket, tag set, processing state, spent flag.
625
+ */
626
+ async listOutputsForUser(args) {
627
+ let q = this.knex('outputs as o')
628
+ .join('transactions as t', 't.transactionId', 'o.transactionId')
629
+ .where('o.userId', args.userId);
630
+ if (args.processingFilter.length > 0) {
631
+ q = q.whereIn('t.processing', args.processingFilter);
632
+ }
633
+ if (!args.includeSpent) {
634
+ q = q.whereNull('o.spentBy');
635
+ }
636
+ if (args.basketId != null) {
637
+ q = q.where('o.basketId', args.basketId);
638
+ }
639
+ // Tag filtering via output_tags_map
640
+ if (args.tagIds != null && args.tagIds.length > 0) {
641
+ if (args.tagQueryMode === 'all') {
642
+ for (const tagId of args.tagIds) {
643
+ q = q.whereExists(this.knex('output_tags_map as otm')
644
+ .where('otm.outputId', this.knex.ref('o.outputId'))
645
+ .where('otm.outputTagId', tagId)
646
+ .whereNot('otm.isDeleted', true)
647
+ .select(this.knex.raw('1')));
648
+ }
649
+ }
650
+ else {
651
+ q = q.whereExists(this.knex('output_tags_map as otm')
652
+ .where('otm.outputId', this.knex.ref('o.outputId'))
653
+ .whereIn('otm.outputTagId', args.tagIds)
654
+ .whereNot('otm.isDeleted', true)
655
+ .select(this.knex.raw('1')));
656
+ }
657
+ }
658
+ const countRow = await q.clone().count({ c: 'o.outputId' }).first();
659
+ const total = countRow != null ? Number(countRow.c) : undefined;
660
+ const columns = [
661
+ 'o.outputId',
662
+ 'o.userId',
663
+ 'o.transactionId',
664
+ 'o.basketId',
665
+ 'o.spendable',
666
+ 'o.change',
667
+ 'o.outputDescription',
668
+ 'o.vout',
669
+ 'o.satoshis',
670
+ 'o.providedBy',
671
+ 'o.purpose',
672
+ 'o.type',
673
+ 'o.txid',
674
+ 'o.senderIdentityKey',
675
+ 'o.derivationPrefix',
676
+ 'o.derivationSuffix',
677
+ 'o.customInstructions',
678
+ 'o.spentBy',
679
+ 'o.sequenceNumber',
680
+ 'o.spendingDescription',
681
+ 'o.scriptLength',
682
+ 'o.scriptOffset',
683
+ 'o.created_at',
684
+ 'o.updated_at',
685
+ 't.processing'
686
+ ];
687
+ if (args.includeLockingScripts === true) {
688
+ columns.push('o.lockingScript');
689
+ }
690
+ const rows = await q
691
+ .orderBy('o.outputId', 'asc')
692
+ .limit(args.limit)
693
+ .offset(args.offset)
694
+ .select(columns);
695
+ const mapped = rows.map((row) => {
696
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
697
+ const out = {
698
+ outputId: row.outputId,
699
+ userId: row.userId,
700
+ transactionId: row.transactionId,
701
+ basketId: (_a = row.basketId) !== null && _a !== void 0 ? _a : undefined,
702
+ spendable: !!row.spendable,
703
+ change: !!row.change,
704
+ outputDescription: row.outputDescription,
705
+ vout: row.vout,
706
+ satoshis: row.satoshis,
707
+ providedBy: row.providedBy,
708
+ purpose: row.purpose,
709
+ type: row.type,
710
+ txid: (_b = row.txid) !== null && _b !== void 0 ? _b : undefined,
711
+ senderIdentityKey: (_c = row.senderIdentityKey) !== null && _c !== void 0 ? _c : undefined,
712
+ derivationPrefix: (_d = row.derivationPrefix) !== null && _d !== void 0 ? _d : undefined,
713
+ derivationSuffix: (_e = row.derivationSuffix) !== null && _e !== void 0 ? _e : undefined,
714
+ customInstructions: (_f = row.customInstructions) !== null && _f !== void 0 ? _f : undefined,
715
+ spentBy: (_g = row.spentBy) !== null && _g !== void 0 ? _g : undefined,
716
+ sequenceNumber: (_h = row.sequenceNumber) !== null && _h !== void 0 ? _h : undefined,
717
+ spendingDescription: (_j = row.spendingDescription) !== null && _j !== void 0 ? _j : undefined,
718
+ scriptLength: (_k = row.scriptLength) !== null && _k !== void 0 ? _k : undefined,
719
+ scriptOffset: (_l = row.scriptOffset) !== null && _l !== void 0 ? _l : undefined,
720
+ lockingScript: args.includeLockingScripts === true && row.lockingScript != null
721
+ ? Array.from(row.lockingScript.values())
722
+ : undefined,
723
+ created_at: new Date(row.created_at),
724
+ updated_at: new Date(row.updated_at),
725
+ processing: row.processing
726
+ };
727
+ return out;
728
+ });
729
+ return { rows: mapped, total };
730
+ }
731
+ /**
732
+ * Post-cutover helper: rewrite `tx_labels_map.transactionId` rows that were
733
+ * written with the legacy transactionId (before the real txid + actionId were
734
+ * known) so that they now point at the new-schema `actions.actionId`.
735
+ *
736
+ * Call this once per new outgoing transaction immediately after
737
+ * `findOrCreateActionForTxid` resolves the actionId.
738
+ *
739
+ * This is a no-op when:
740
+ * - `legacyTransactionId` has no rows in `tx_labels_map` (no labels on the tx)
741
+ * - `legacyTransactionId === actionId` (should not happen in practice but
742
+ * is safe to call anyway)
743
+ */
744
+ async repointLabelsToActionId(legacyTransactionId, actionId, now) {
745
+ if (legacyTransactionId === actionId)
746
+ return;
747
+ const ts = now !== null && now !== void 0 ? now : new Date();
748
+ await this.knex('tx_labels_map')
749
+ .where({ transactionId: legacyTransactionId })
750
+ .update({ transactionId: actionId, updated_at: ts });
751
+ }
752
+ /**
753
+ * After `processAction` creates the new `transactions` row, remap
754
+ * `outputs.transactionId` and `outputs.spentBy` from the bridge-period
755
+ * `transactions_legacy.transactionId` to the real `transactions.transactionId`.
756
+ *
757
+ * During `createAction`, new outputs are inserted with `transactionId =
758
+ * legacyTransactionId` (bypassing FK constraints). `listActionsKnex` queries
759
+ * outputs by new transactionId, so without this remap the outputs would be
760
+ * invisible to `listActions`.
761
+ *
762
+ * This is a no-op when `legacyTransactionId === newTransactionId`.
763
+ */
764
+ async repointOutputsToNewTransactionId(legacyTransactionId, newTransactionId, now) {
765
+ if (legacyTransactionId === newTransactionId)
766
+ return;
767
+ const ts = now !== null && now !== void 0 ? now : new Date();
768
+ // Remap outputs.transactionId (the new-schema FK for "which tx created this output")
769
+ await this.knex('outputs')
770
+ .where({ transactionId: legacyTransactionId })
771
+ .update({ transactionId: newTransactionId, updated_at: ts });
772
+ // Remap outputs.spentBy (the new-schema FK for "which tx spent this output")
773
+ await this.knex('outputs')
774
+ .where({ spentBy: legacyTransactionId })
775
+ .update({ spentBy: newTransactionId, updated_at: ts });
776
+ // Remap commissions.transactionId
777
+ await this.knex('commissions')
778
+ .where({ transactionId: legacyTransactionId })
779
+ .update({ transactionId: newTransactionId, updated_at: ts });
780
+ }
781
+ }
782
+ exports.TransactionService = TransactionService;
783
+ //# sourceMappingURL=transactionService.js.map