@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,757 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.V7TransactionService = void 0;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const v7Crud_1 = require("./v7Crud");
6
+ const v7TxAudit_1 = require("./v7TxAudit");
7
+ const v7MonitorLease_1 = require("./v7MonitorLease");
8
+ /**
9
+ * High-level service over the V7 storage primitives.
10
+ *
11
+ * Storage methods and the Monitor call into this surface rather than the
12
+ * lower-level CRUD/FSM/audit/lease modules so that:
13
+ * - Every processing transition is audited.
14
+ * - Optimistic concurrency is uniformly enforced.
15
+ * - Chain tip + monitor lease access have one canonical entry point.
16
+ *
17
+ * Construction takes a Knex handle; instances are stateless and cheap to
18
+ * create — typically one per request or per Monitor task tick.
19
+ */
20
+ class V7TransactionService {
21
+ constructor(knex) {
22
+ this.knex = knex;
23
+ }
24
+ // -----------------------
25
+ // Transactions
26
+ // -----------------------
27
+ async findByTxid(txid) {
28
+ return await (0, v7Crud_1.findTransactionV7ByTxid)(this.knex, txid);
29
+ }
30
+ async findById(transactionId) {
31
+ return await (0, v7Crud_1.findTransactionV7)(this.knex, transactionId);
32
+ }
33
+ /**
34
+ * Insert a new V7 transaction row. The row is created in `queued` state
35
+ * unless the caller overrides `processing`.
36
+ */
37
+ async create(args) {
38
+ var _a, _b;
39
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
40
+ const row = {
41
+ txid: args.txid,
42
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
43
+ processingChangedAt: now,
44
+ nextActionAt: undefined,
45
+ attempts: 0,
46
+ rebroadcastCycles: 0,
47
+ wasBroadcast: false,
48
+ idempotencyKey: args.idempotencyKey,
49
+ batch: args.batch,
50
+ rawTx: args.rawTx,
51
+ inputBeef: args.inputBeef,
52
+ height: undefined,
53
+ merkleIndex: undefined,
54
+ merklePath: undefined,
55
+ merkleRoot: undefined,
56
+ blockHash: undefined,
57
+ isCoinbase: args.isCoinbase === true,
58
+ lastProvider: undefined,
59
+ lastProviderStatus: undefined,
60
+ frozenReason: undefined,
61
+ rowVersion: 0
62
+ };
63
+ const id = await (0, v7Crud_1.insertTransactionV7)(this.knex, row, now);
64
+ await (0, v7TxAudit_1.auditProcessingTransition)(this.knex, id, row.processing, row.processing, { reason: 'create' }, now);
65
+ const stored = await this.findById(id);
66
+ if (stored == null)
67
+ throw new Error(`V7 transaction ${id} disappeared after insert`);
68
+ return stored;
69
+ }
70
+ /**
71
+ * Transition processing state with optimistic concurrency. Returns
72
+ * `undefined` when the FSM rejects the move OR the row's current state no
73
+ * longer matches `expectedFrom`.
74
+ */
75
+ async transition(args) {
76
+ return await (0, v7Crud_1.transitionProcessing)(this.knex, {
77
+ transactionId: args.transactionId,
78
+ expectedFromState: args.expectedFrom,
79
+ toState: args.to,
80
+ provider: args.provider,
81
+ providerStatus: args.providerStatus,
82
+ details: args.details
83
+ }, args.now);
84
+ }
85
+ /**
86
+ * Record acquisition of a Merkle proof for a transaction. Atomically:
87
+ * - Updates proof columns (height, index, merkle_path, merkle_root, block_hash)
88
+ * - Transitions processing to `proven` from any spendable-class state.
89
+ * - Writes a `proof.acquired` audit row.
90
+ */
91
+ async recordProof(args) {
92
+ var _a;
93
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
94
+ const next = await this.transition({
95
+ transactionId: args.transactionId,
96
+ expectedFrom: args.expectedFrom,
97
+ to: 'proven',
98
+ details: { source: 'recordProof', height: args.height },
99
+ now
100
+ });
101
+ if (next == null)
102
+ return undefined;
103
+ await this.knex('transactions').where({ transactionId: args.transactionId }).update({
104
+ height: args.height,
105
+ merkle_index: args.merkleIndex,
106
+ merkle_path: Buffer.from(args.merklePath),
107
+ merkle_root: args.merkleRoot,
108
+ block_hash: args.blockHash,
109
+ updated_at: now
110
+ });
111
+ return await this.findById(args.transactionId);
112
+ }
113
+ // -----------------------
114
+ // Actions
115
+ // -----------------------
116
+ async findActionForUser(userId, transactionId) {
117
+ return await (0, v7Crud_1.findAction)(this.knex, userId, transactionId);
118
+ }
119
+ async createAction(args) {
120
+ return await (0, v7Crud_1.insertAction)(this.knex, {
121
+ userId: args.userId,
122
+ transactionId: args.transactionId,
123
+ reference: args.reference,
124
+ description: args.description,
125
+ isOutgoing: args.isOutgoing,
126
+ satoshisDelta: args.satoshisDelta,
127
+ userNosend: args.userNosend === true,
128
+ hidden: false,
129
+ userAborted: false,
130
+ notifyJson: args.notifyJson,
131
+ rowVersion: 0
132
+ }, args.now);
133
+ }
134
+ // -----------------------
135
+ // Chain tip
136
+ // -----------------------
137
+ async getChainTip() {
138
+ const tip = await (0, v7Crud_1.getChainTip)(this.knex);
139
+ if (tip == null)
140
+ return undefined;
141
+ return { height: tip.height, blockHash: tip.blockHash };
142
+ }
143
+ async setChainTip(args) {
144
+ await (0, v7Crud_1.setChainTip)(this.knex, args, args.now);
145
+ }
146
+ // -----------------------
147
+ // Monitor lease
148
+ // -----------------------
149
+ async tryClaimLease(claim, now) {
150
+ return await (0, v7MonitorLease_1.tryClaimLease)(this.knex, claim, now);
151
+ }
152
+ async renewLease(renew, now) {
153
+ return await (0, v7MonitorLease_1.renewLease)(this.knex, renew, now);
154
+ }
155
+ async releaseLease(release) {
156
+ return await (0, v7MonitorLease_1.releaseLease)(this.knex, release);
157
+ }
158
+ // -----------------------
159
+ // Net-new methods (§3)
160
+ // -----------------------
161
+ /**
162
+ * #1 — Look up an action + its backing transaction by (userId, reference).
163
+ */
164
+ async findActionByReference(userId, reference) {
165
+ const actionRow = await this.knex('actions').where({ userId, reference }).first();
166
+ if (actionRow == null)
167
+ return undefined;
168
+ const action = (0, v7Crud_1.mapActionRow)(actionRow);
169
+ const tx = await this.findById(action.transactionId);
170
+ if (tx == null)
171
+ return undefined;
172
+ return { action, transaction: tx };
173
+ }
174
+ /**
175
+ * #2 — Look up an action + its backing transaction by (userId, txid).
176
+ */
177
+ async findActionByUserTxid(userId, txid) {
178
+ const txRow = await this.knex('transactions').where({ txid }).first();
179
+ if (txRow == null)
180
+ return undefined;
181
+ const tx = (0, v7Crud_1.mapTransactionRow)(txRow);
182
+ const actionRow = await this.knex('actions')
183
+ .where({ userId, transactionId: tx.transactionId })
184
+ .first();
185
+ if (actionRow == null)
186
+ return undefined;
187
+ return { action: (0, v7Crud_1.mapActionRow)(actionRow), transaction: tx };
188
+ }
189
+ /**
190
+ * #3 — Upsert: find existing action for (userId, txid) or create both the V7
191
+ * transaction row and the action row.
192
+ */
193
+ async findOrCreateActionForTxid(args) {
194
+ var _a, _b;
195
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
196
+ // Try to find existing transaction
197
+ let tx = await this.findByTxid(args.txid);
198
+ let isNew = false;
199
+ if (tx == null) {
200
+ tx = await this.create({
201
+ txid: args.txid,
202
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
203
+ rawTx: args.rawTx,
204
+ inputBeef: args.inputBeef,
205
+ now
206
+ });
207
+ isNew = true;
208
+ }
209
+ else {
210
+ // Patch rawTx / inputBeef if the caller is supplying them for the first time.
211
+ const patches = { updated_at: now };
212
+ if (args.rawTx != null && tx.rawTx == null)
213
+ patches.raw_tx = Buffer.from(args.rawTx);
214
+ if (args.inputBeef != null && tx.inputBeef == null)
215
+ patches.input_beef = Buffer.from(args.inputBeef);
216
+ if (Object.keys(patches).length > 1) {
217
+ await this.knex('transactions').where({ transactionId: tx.transactionId }).update(patches);
218
+ const refreshed = await this.findById(tx.transactionId);
219
+ if (refreshed != null)
220
+ tx = refreshed;
221
+ }
222
+ }
223
+ // Find or create the action for this user.
224
+ let actionRow = await this.knex('actions')
225
+ .where({ userId: args.userId, transactionId: tx.transactionId })
226
+ .first();
227
+ if (actionRow == null) {
228
+ await (0, v7Crud_1.insertAction)(this.knex, {
229
+ userId: args.userId,
230
+ transactionId: tx.transactionId,
231
+ reference: args.reference,
232
+ description: args.description,
233
+ isOutgoing: args.isOutgoing,
234
+ satoshisDelta: args.satoshisDelta,
235
+ userNosend: false,
236
+ hidden: false,
237
+ userAborted: false,
238
+ rowVersion: 0
239
+ }, now);
240
+ actionRow = await this.knex('actions')
241
+ .where({ userId: args.userId, transactionId: tx.transactionId })
242
+ .first();
243
+ isNew = true;
244
+ }
245
+ return { action: (0, v7Crud_1.mapActionRow)(actionRow), transaction: tx, isNew };
246
+ }
247
+ /**
248
+ * #4 — Atomically update the satoshisDelta column on an action row.
249
+ */
250
+ async updateActionSatoshisDelta(actionId, delta, now) {
251
+ await this.knex('actions')
252
+ .where({ actionId })
253
+ .update({ satoshis_delta: delta, updated_at: now !== null && now !== void 0 ? now : new Date() });
254
+ }
255
+ /**
256
+ * #5 — Create a V7 transaction row already in `proven` state with all proof
257
+ * columns populated. Useful for internalised transactions that arrive with a
258
+ * Merkle proof (bump) already attached.
259
+ */
260
+ async createWithProof(args) {
261
+ var _a;
262
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
263
+ const row = {
264
+ txid: args.txid,
265
+ processing: 'proven',
266
+ processingChangedAt: now,
267
+ nextActionAt: undefined,
268
+ attempts: 0,
269
+ rebroadcastCycles: 0,
270
+ wasBroadcast: true,
271
+ idempotencyKey: undefined,
272
+ batch: undefined,
273
+ rawTx: args.rawTx,
274
+ inputBeef: args.inputBeef,
275
+ height: args.height,
276
+ merkleIndex: args.merkleIndex,
277
+ merklePath: args.merklePath,
278
+ merkleRoot: args.merkleRoot,
279
+ blockHash: args.blockHash,
280
+ isCoinbase: args.isCoinbase === true,
281
+ lastProvider: undefined,
282
+ lastProviderStatus: undefined,
283
+ frozenReason: undefined,
284
+ rowVersion: 0
285
+ };
286
+ const id = await (0, v7Crud_1.insertTransactionV7)(this.knex, row, now);
287
+ await (0, v7TxAudit_1.auditProcessingTransition)(this.knex, id, 'proven', 'proven', { reason: 'createWithProof' }, now);
288
+ const stored = await this.findById(id);
289
+ if (stored == null)
290
+ throw new Error(`V7 transaction ${id} disappeared after createWithProof insert`);
291
+ return stored;
292
+ }
293
+ /**
294
+ * #6 — Find an existing V7 transaction row for the given txid (suitable for
295
+ * the broadcast queue) or create a new one in `queued` state.
296
+ */
297
+ async findOrCreateForBroadcast(args) {
298
+ var _a, _b;
299
+ const existing = await this.findByTxid(args.txid);
300
+ if (existing != null) {
301
+ // Patch rawTx / batch if the row was previously created without them.
302
+ const patches = { updated_at: (_a = args.now) !== null && _a !== void 0 ? _a : new Date() };
303
+ if (existing.rawTx == null)
304
+ patches.raw_tx = Buffer.from(args.rawTx);
305
+ if (args.inputBeef != null && existing.inputBeef == null)
306
+ patches.input_beef = Buffer.from(args.inputBeef);
307
+ if (args.batch != null && existing.batch == null)
308
+ patches.batch = args.batch;
309
+ if (Object.keys(patches).length > 1) {
310
+ await this.knex('transactions').where({ transactionId: existing.transactionId }).update(patches);
311
+ const refreshed = await this.findById(existing.transactionId);
312
+ return { transaction: refreshed !== null && refreshed !== void 0 ? refreshed : existing, isNew: false };
313
+ }
314
+ return { transaction: existing, isNew: false };
315
+ }
316
+ const tx = await this.create({
317
+ txid: args.txid,
318
+ processing: (_b = args.processing) !== null && _b !== void 0 ? _b : 'queued',
319
+ rawTx: args.rawTx,
320
+ inputBeef: args.inputBeef,
321
+ batch: args.batch,
322
+ now: args.now
323
+ });
324
+ return { transaction: tx, isNew: true };
325
+ }
326
+ /**
327
+ * #7 — Bulk transition: attempt `transition` for each id; collect results.
328
+ * When `expectedFrom` is omitted the current state of each row is used as
329
+ * the expected source (lenient mode — only the FSM is checked).
330
+ */
331
+ async transitionMany(args) {
332
+ var _a;
333
+ const updated = [];
334
+ const skipped = [];
335
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
336
+ for (const id of args.transactionIds) {
337
+ let expectedFrom = args.expectedFrom;
338
+ if (expectedFrom == null) {
339
+ const row = await this.findById(id);
340
+ if (row == null) {
341
+ skipped.push(id);
342
+ continue;
343
+ }
344
+ expectedFrom = row.processing;
345
+ }
346
+ const result = await this.transition({
347
+ transactionId: id,
348
+ expectedFrom,
349
+ to: args.to,
350
+ provider: args.provider,
351
+ providerStatus: args.providerStatus,
352
+ details: args.details,
353
+ now
354
+ });
355
+ if (result != null) {
356
+ updated.push(id);
357
+ }
358
+ else {
359
+ skipped.push(id);
360
+ }
361
+ }
362
+ return { updated, skipped };
363
+ }
364
+ /**
365
+ * #8 — Bulk-set the `batch` column for a list of transaction ids.
366
+ * Pass `undefined` to clear the batch tag.
367
+ */
368
+ async setBatch(transactionIds, batch, now) {
369
+ if (transactionIds.length === 0)
370
+ return;
371
+ await this.knex('transactions')
372
+ .whereIn('transactionId', transactionIds)
373
+ .update({ batch: batch !== null && batch !== void 0 ? batch : null, updated_at: now !== null && now !== void 0 ? now : new Date() });
374
+ }
375
+ /**
376
+ * #9 — Atomically increment the `attempts` counter for one transaction and
377
+ * write an `attempts.incremented` audit entry.
378
+ */
379
+ async incrementAttempts(transactionId, now) {
380
+ const ts = now !== null && now !== void 0 ? now : new Date();
381
+ const updated = await this.knex('transactions')
382
+ .where({ transactionId })
383
+ .increment('attempts', 1)
384
+ .update({ updated_at: ts });
385
+ if (updated === 0)
386
+ return undefined;
387
+ await (0, v7TxAudit_1.appendTxAudit)(this.knex, { transactionId, event: 'attempts.incremented' }, ts);
388
+ return await this.findById(transactionId);
389
+ }
390
+ /**
391
+ * #10 — Record the outcome of a broadcast attempt. Transitions processing
392
+ * state, updates `wasBroadcast` and `lastProvider*` columns, and writes an
393
+ * audit row.
394
+ */
395
+ async recordBroadcastResult(args) {
396
+ var _a;
397
+ const now = (_a = args.now) !== null && _a !== void 0 ? _a : new Date();
398
+ const current = await this.findById(args.transactionId);
399
+ if (current == null)
400
+ return undefined;
401
+ const next = await this.transition({
402
+ transactionId: args.transactionId,
403
+ expectedFrom: current.processing,
404
+ to: args.status,
405
+ provider: args.provider,
406
+ providerStatus: args.providerStatus,
407
+ details: args.details,
408
+ now
409
+ });
410
+ if (next == null)
411
+ return undefined;
412
+ // Update wasBroadcast if the broadcast actually reached the network.
413
+ if (args.wasBroadcast === true && !next.wasBroadcast) {
414
+ await this.knex('transactions')
415
+ .where({ transactionId: args.transactionId })
416
+ .update({ was_broadcast: true, updated_at: now });
417
+ }
418
+ return await this.findById(args.transactionId);
419
+ }
420
+ /**
421
+ * #11 — Append a free-form history note to the audit log for a transaction.
422
+ */
423
+ async recordHistoryNote(transactionId, note, now) {
424
+ const { what, ...rest } = note;
425
+ await (0, v7TxAudit_1.appendTxAudit)(this.knex, {
426
+ transactionId,
427
+ event: 'history.note',
428
+ details: { what, ...rest }
429
+ }, now !== null && now !== void 0 ? now : new Date());
430
+ }
431
+ /**
432
+ * #12 — For each txid that exists in the V7 transactions table, merge the
433
+ * raw transaction bytes and (where available) the Merkle path into `beef`.
434
+ * Txids not present in V7 are silently skipped.
435
+ */
436
+ async mergeBeefForTxids(beef, txids) {
437
+ if (txids.length === 0)
438
+ return;
439
+ const rows = await this.knex('transactions')
440
+ .whereIn('txid', txids)
441
+ .select('txid', 'raw_tx', 'merkle_path');
442
+ for (const row of rows) {
443
+ if (row.raw_tx != null) {
444
+ const rawBytes = Array.from(row.raw_tx.values());
445
+ beef.mergeRawTx(rawBytes);
446
+ }
447
+ if (row.merkle_path != null) {
448
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
449
+ beef.mergeBump(mp);
450
+ }
451
+ }
452
+ }
453
+ /**
454
+ * #13 — Collect broadcast-readiness info and a populated Beef for a list of
455
+ * txids. Each entry is classified as:
456
+ * - `readyToSend` — queued/sending → still needs broadcast
457
+ * - `alreadySent` — sent/seen/seen_multi/unconfirmed/proven → already on network
458
+ * - `error` — invalid/doubleSpend → terminal failure
459
+ * - `unknown` — not found in V7
460
+ */
461
+ async collectReqsAndBeef(txids, extraTxids) {
462
+ const beef = new sdk_1.Beef();
463
+ const details = [];
464
+ const allTxids = Array.from(new Set([...txids, ...(extraTxids !== null && extraTxids !== void 0 ? extraTxids : [])]));
465
+ if (allTxids.length > 0) {
466
+ const rows = await this.knex('transactions')
467
+ .whereIn('txid', allTxids)
468
+ .select('txid', 'processing', 'raw_tx', 'merkle_path');
469
+ const rowByTxid = new Map();
470
+ for (const row of rows)
471
+ rowByTxid.set(row.txid, row);
472
+ for (const txid of txids) {
473
+ const row = rowByTxid.get(txid);
474
+ if (row == null) {
475
+ details.push({ txid, status: 'unknown' });
476
+ continue;
477
+ }
478
+ const p = row.processing;
479
+ let status;
480
+ if (p === 'queued' || p === 'sending' || p === 'nonfinal') {
481
+ status = 'readyToSend';
482
+ }
483
+ else if (p === 'sent' || p === 'seen' || p === 'seen_multi' || p === 'unconfirmed' || p === 'proven') {
484
+ status = 'alreadySent';
485
+ }
486
+ else if (p === 'invalid' || p === 'doubleSpend') {
487
+ status = 'error';
488
+ }
489
+ else {
490
+ status = 'readyToSend';
491
+ }
492
+ details.push({ txid, status, reason: p });
493
+ // Merge raw tx + proof bytes for txids that have them.
494
+ if (row.raw_tx != null) {
495
+ beef.mergeRawTx(Array.from(row.raw_tx.values()));
496
+ }
497
+ if (row.merkle_path != null) {
498
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
499
+ beef.mergeBump(mp);
500
+ }
501
+ }
502
+ // Also merge extra txids that may be input ancestors.
503
+ for (const txid of extraTxids !== null && extraTxids !== void 0 ? extraTxids : []) {
504
+ const row = rowByTxid.get(txid);
505
+ if (row == null)
506
+ continue;
507
+ if (row.raw_tx != null) {
508
+ beef.mergeRawTx(Array.from(row.raw_tx.values()));
509
+ }
510
+ if (row.merkle_path != null) {
511
+ const mp = sdk_1.MerklePath.fromBinary(Array.from(row.merkle_path.values()));
512
+ beef.mergeBump(mp);
513
+ }
514
+ }
515
+ }
516
+ return { beef, details };
517
+ }
518
+ /**
519
+ * #14 — Paginated list of actions (per-user transaction views) with optional
520
+ * status and label filters.
521
+ *
522
+ * After the V7 cutover `tx_labels_map.transactionId` references `actions.actionId`
523
+ * (not `transactions.transactionId`).
524
+ */
525
+ async listActionsForUser(args) {
526
+ let q = this.knex('actions as a')
527
+ .join('transactions as t', 't.transactionId', 'a.transactionId')
528
+ .where('a.userId', args.userId)
529
+ .where('a.hidden', false);
530
+ if (args.statusFilter != null && args.statusFilter.length > 0) {
531
+ q = q.whereIn('t.processing', args.statusFilter);
532
+ }
533
+ if (args.createdAtFrom != null) {
534
+ // IDB path uses >= for `from` (inclusive); mirror that here.
535
+ q = q.where('a.created_at', '>=', args.createdAtFrom);
536
+ }
537
+ if (args.createdAtTo != null) {
538
+ // IDB path uses EXCLUSIVE `to` semantics:
539
+ // r.created_at.getTime() >= args.to.getTime() → exclude
540
+ // Mirror that: exclude rows where created_at >= createdAtTo (use '<' not '<=').
541
+ q = q.where('a.created_at', '<', args.createdAtTo);
542
+ }
543
+ // Label filtering via tx_labels_map (post-cutover: transactionId = actionId)
544
+ if (args.labelIds != null && args.labelIds.length > 0) {
545
+ if (args.labelQueryMode === 'all') {
546
+ // Must have ALL specified labels
547
+ for (const labelId of args.labelIds) {
548
+ q = q.whereExists(this.knex('tx_labels_map as lm')
549
+ .where('lm.transactionId', this.knex.ref('a.actionId'))
550
+ .where('lm.txLabelId', labelId)
551
+ .whereNot('lm.isDeleted', true)
552
+ .select(this.knex.raw('1')));
553
+ }
554
+ }
555
+ else {
556
+ // Default: 'any' — must have at least one of the labels
557
+ q = q.whereExists(this.knex('tx_labels_map as lm')
558
+ .where('lm.transactionId', this.knex.ref('a.actionId'))
559
+ .whereIn('lm.txLabelId', args.labelIds)
560
+ .whereNot('lm.isDeleted', true)
561
+ .select(this.knex.raw('1')));
562
+ }
563
+ }
564
+ const countRow = await q.clone().count({ c: 'a.actionId' }).first();
565
+ const total = countRow != null ? Number(countRow.c) : undefined;
566
+ const rows = await q
567
+ .orderBy('a.created_at', 'desc')
568
+ .orderBy('a.actionId', 'asc')
569
+ .limit(args.limit)
570
+ .offset(args.offset)
571
+ .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');
572
+ const mapped = rows.map((row) => {
573
+ var _a, _b;
574
+ return ({
575
+ actionId: row.actionId,
576
+ userId: row.userId,
577
+ transactionId: row.transactionId,
578
+ reference: row.reference,
579
+ description: row.description,
580
+ isOutgoing: !!row.isOutgoing,
581
+ satoshisDelta: row.satoshis_delta,
582
+ userNosend: !!row.user_nosend,
583
+ hidden: !!row.hidden,
584
+ userAborted: !!row.user_aborted,
585
+ notifyJson: (_a = row.notify_json) !== null && _a !== void 0 ? _a : undefined,
586
+ rowVersion: row.row_version,
587
+ created_at: new Date(row.created_at),
588
+ updated_at: new Date(row.updated_at),
589
+ txid: row.txid,
590
+ processing: row.processing,
591
+ height: (_b = row.height) !== null && _b !== void 0 ? _b : undefined
592
+ });
593
+ });
594
+ return { rows: mapped, total };
595
+ }
596
+ /**
597
+ * #15 — Paginated list of outputs with their backing transaction processing
598
+ * state. Optional filters: basket, tag set, processing state, spent flag.
599
+ */
600
+ async listOutputsForUser(args) {
601
+ let q = this.knex('outputs as o')
602
+ .join('transactions as t', 't.transactionId', 'o.transactionId')
603
+ .where('o.userId', args.userId);
604
+ if (args.processingFilter.length > 0) {
605
+ q = q.whereIn('t.processing', args.processingFilter);
606
+ }
607
+ if (!args.includeSpent) {
608
+ q = q.whereNull('o.spentBy');
609
+ }
610
+ if (args.basketId != null) {
611
+ q = q.where('o.basketId', args.basketId);
612
+ }
613
+ // Tag filtering via output_tags_map
614
+ if (args.tagIds != null && args.tagIds.length > 0) {
615
+ if (args.tagQueryMode === 'all') {
616
+ for (const tagId of args.tagIds) {
617
+ q = q.whereExists(this.knex('output_tags_map as otm')
618
+ .where('otm.outputId', this.knex.ref('o.outputId'))
619
+ .where('otm.outputTagId', tagId)
620
+ .whereNot('otm.isDeleted', true)
621
+ .select(this.knex.raw('1')));
622
+ }
623
+ }
624
+ else {
625
+ q = q.whereExists(this.knex('output_tags_map as otm')
626
+ .where('otm.outputId', this.knex.ref('o.outputId'))
627
+ .whereIn('otm.outputTagId', args.tagIds)
628
+ .whereNot('otm.isDeleted', true)
629
+ .select(this.knex.raw('1')));
630
+ }
631
+ }
632
+ const countRow = await q.clone().count({ c: 'o.outputId' }).first();
633
+ const total = countRow != null ? Number(countRow.c) : undefined;
634
+ const columns = [
635
+ 'o.outputId',
636
+ 'o.userId',
637
+ 'o.transactionId',
638
+ 'o.basketId',
639
+ 'o.spendable',
640
+ 'o.change',
641
+ 'o.outputDescription',
642
+ 'o.vout',
643
+ 'o.satoshis',
644
+ 'o.providedBy',
645
+ 'o.purpose',
646
+ 'o.type',
647
+ 'o.txid',
648
+ 'o.senderIdentityKey',
649
+ 'o.derivationPrefix',
650
+ 'o.derivationSuffix',
651
+ 'o.customInstructions',
652
+ 'o.spentBy',
653
+ 'o.sequenceNumber',
654
+ 'o.spendingDescription',
655
+ 'o.scriptLength',
656
+ 'o.scriptOffset',
657
+ 'o.created_at',
658
+ 'o.updated_at',
659
+ 't.processing'
660
+ ];
661
+ if (args.includeLockingScripts === true) {
662
+ columns.push('o.lockingScript');
663
+ }
664
+ const rows = await q
665
+ .orderBy('o.outputId', 'asc')
666
+ .limit(args.limit)
667
+ .offset(args.offset)
668
+ .select(columns);
669
+ const mapped = rows.map((row) => {
670
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
671
+ const out = {
672
+ outputId: row.outputId,
673
+ userId: row.userId,
674
+ transactionId: row.transactionId,
675
+ basketId: (_a = row.basketId) !== null && _a !== void 0 ? _a : undefined,
676
+ spendable: !!row.spendable,
677
+ change: !!row.change,
678
+ outputDescription: row.outputDescription,
679
+ vout: row.vout,
680
+ satoshis: row.satoshis,
681
+ providedBy: row.providedBy,
682
+ purpose: row.purpose,
683
+ type: row.type,
684
+ txid: (_b = row.txid) !== null && _b !== void 0 ? _b : undefined,
685
+ senderIdentityKey: (_c = row.senderIdentityKey) !== null && _c !== void 0 ? _c : undefined,
686
+ derivationPrefix: (_d = row.derivationPrefix) !== null && _d !== void 0 ? _d : undefined,
687
+ derivationSuffix: (_e = row.derivationSuffix) !== null && _e !== void 0 ? _e : undefined,
688
+ customInstructions: (_f = row.customInstructions) !== null && _f !== void 0 ? _f : undefined,
689
+ spentBy: (_g = row.spentBy) !== null && _g !== void 0 ? _g : undefined,
690
+ sequenceNumber: (_h = row.sequenceNumber) !== null && _h !== void 0 ? _h : undefined,
691
+ spendingDescription: (_j = row.spendingDescription) !== null && _j !== void 0 ? _j : undefined,
692
+ scriptLength: (_k = row.scriptLength) !== null && _k !== void 0 ? _k : undefined,
693
+ scriptOffset: (_l = row.scriptOffset) !== null && _l !== void 0 ? _l : undefined,
694
+ lockingScript: args.includeLockingScripts === true && row.lockingScript != null
695
+ ? Array.from(row.lockingScript.values())
696
+ : undefined,
697
+ created_at: new Date(row.created_at),
698
+ updated_at: new Date(row.updated_at),
699
+ processing: row.processing
700
+ };
701
+ return out;
702
+ });
703
+ return { rows: mapped, total };
704
+ }
705
+ /**
706
+ * Post-cutover helper: rewrite `tx_labels_map.transactionId` rows that were
707
+ * written with the legacy transactionId (before the real txid + actionId were
708
+ * known) so that they now point at the V7 `actions.actionId`.
709
+ *
710
+ * Call this once per new outgoing transaction immediately after
711
+ * `findOrCreateActionForTxid` resolves the actionId.
712
+ *
713
+ * This is a no-op when:
714
+ * - `legacyTransactionId` has no rows in `tx_labels_map` (no labels on the tx)
715
+ * - `legacyTransactionId === actionId` (should not happen in practice but
716
+ * is safe to call anyway)
717
+ */
718
+ async repointLabelsToActionId(legacyTransactionId, actionId, now) {
719
+ if (legacyTransactionId === actionId)
720
+ return;
721
+ const ts = now !== null && now !== void 0 ? now : new Date();
722
+ await this.knex('tx_labels_map')
723
+ .where({ transactionId: legacyTransactionId })
724
+ .update({ transactionId: actionId, updated_at: ts });
725
+ }
726
+ /**
727
+ * After `processAction` creates the V7 `transactions` row, remap
728
+ * `outputs.transactionId` and `outputs.spentBy` from the bridge-period
729
+ * `transactions_legacy.transactionId` to the real V7 `transactions.transactionId`.
730
+ *
731
+ * During `createAction`, new outputs are inserted with `transactionId =
732
+ * legacyTransactionId` (bypassing FK constraints). `listActionsKnex` queries
733
+ * outputs by V7 transactionId, so without this remap the outputs would be
734
+ * invisible to `listActions`.
735
+ *
736
+ * This is a no-op when `legacyTransactionId === v7TransactionId`.
737
+ */
738
+ async repointOutputsToV7TransactionId(legacyTransactionId, v7TransactionId, now) {
739
+ if (legacyTransactionId === v7TransactionId)
740
+ return;
741
+ const ts = now !== null && now !== void 0 ? now : new Date();
742
+ // Remap outputs.transactionId (the V7 FK for "which tx created this output")
743
+ await this.knex('outputs')
744
+ .where({ transactionId: legacyTransactionId })
745
+ .update({ transactionId: v7TransactionId, updated_at: ts });
746
+ // Remap outputs.spentBy (the V7 FK for "which tx spent this output")
747
+ await this.knex('outputs')
748
+ .where({ spentBy: legacyTransactionId })
749
+ .update({ spentBy: v7TransactionId, updated_at: ts });
750
+ // Remap commissions.transactionId
751
+ await this.knex('commissions')
752
+ .where({ transactionId: legacyTransactionId })
753
+ .update({ transactionId: v7TransactionId, updated_at: ts });
754
+ }
755
+ }
756
+ exports.V7TransactionService = V7TransactionService;
757
+ //# sourceMappingURL=v7Service.js.map