@bsv/wallet-toolbox 2.1.23 → 2.1.25

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 (777) hide show
  1. package/CHANGELOG.md +2 -7
  2. package/docs/storage.md +8 -8
  3. package/out/src/CWIStyleWalletManager.d.ts +33 -7
  4. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  5. package/out/src/CWIStyleWalletManager.js +281 -313
  6. package/out/src/CWIStyleWalletManager.js.map +1 -1
  7. package/out/src/Setup.d.ts +6 -6
  8. package/out/src/Setup.d.ts.map +1 -1
  9. package/out/src/Setup.js +5 -5
  10. package/out/src/Setup.js.map +1 -1
  11. package/out/src/SetupClient.d.ts +6 -6
  12. package/out/src/SetupClient.d.ts.map +1 -1
  13. package/out/src/SetupClient.js +5 -5
  14. package/out/src/SetupClient.js.map +1 -1
  15. package/out/src/SetupWallet.d.ts.map +1 -1
  16. package/out/src/ShamirWalletManager.d.ts +3 -3
  17. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  18. package/out/src/ShamirWalletManager.js +6 -6
  19. package/out/src/ShamirWalletManager.js.map +1 -1
  20. package/out/src/SimpleWalletManager.d.ts +12 -2
  21. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  22. package/out/src/SimpleWalletManager.js +46 -30
  23. package/out/src/SimpleWalletManager.js.map +1 -1
  24. package/out/src/Wallet.d.ts +1 -1
  25. package/out/src/Wallet.d.ts.map +1 -1
  26. package/out/src/Wallet.js +102 -100
  27. package/out/src/Wallet.js.map +1 -1
  28. package/out/src/WalletAuthenticationManager.d.ts +1 -1
  29. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  30. package/out/src/WalletAuthenticationManager.js +3 -3
  31. package/out/src/WalletAuthenticationManager.js.map +1 -1
  32. package/out/src/WalletLogger.d.ts.map +1 -1
  33. package/out/src/WalletLogger.js +16 -8
  34. package/out/src/WalletLogger.js.map +1 -1
  35. package/out/src/WalletPermissionsManager.d.ts +89 -18
  36. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  37. package/out/src/WalletPermissionsManager.js +656 -870
  38. package/out/src/WalletPermissionsManager.js.map +1 -1
  39. package/out/src/WalletSettingsManager.d.ts +2 -2
  40. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  41. package/out/src/WalletSettingsManager.js.map +1 -1
  42. package/out/src/__tests/CWIStyleWalletManager.test.js +6 -6
  43. package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -1
  44. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -1
  45. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +8 -8
  46. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -1
  47. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +0 -2
  48. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -1
  49. package/out/src/__tests/WalletPermissionsManager.fixtures.js +6 -18
  50. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -1
  51. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -1
  52. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +7 -7
  53. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +1 -1
  54. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +1 -1
  55. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -1
  56. package/out/src/entropy/EntropyCollector.d.ts +1 -1
  57. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  58. package/out/src/entropy/EntropyCollector.js +3 -3
  59. package/out/src/entropy/EntropyCollector.js.map +1 -1
  60. package/out/src/fundWalletP2PKH.d.ts +2 -2
  61. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  62. package/out/src/fundWalletP2PKH.js +11 -10
  63. package/out/src/fundWalletP2PKH.js.map +1 -1
  64. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  65. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  66. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  67. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  68. package/out/src/mockchain/MockChainStorage.js +5 -5
  69. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  70. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  71. package/out/src/mockchain/MockChainTracker.js +10 -10
  72. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  73. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  74. package/out/src/mockchain/MockMiner.js +3 -3
  75. package/out/src/mockchain/MockMiner.js.map +1 -1
  76. package/out/src/mockchain/MockServices.d.ts +9 -0
  77. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  78. package/out/src/mockchain/MockServices.js +195 -238
  79. package/out/src/mockchain/MockServices.js.map +1 -1
  80. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  81. package/out/src/mockchain/merkleTree.js +21 -12
  82. package/out/src/mockchain/merkleTree.js.map +1 -1
  83. package/out/src/monitor/Monitor.d.ts +17 -0
  84. package/out/src/monitor/Monitor.d.ts.map +1 -1
  85. package/out/src/monitor/Monitor.js +56 -75
  86. package/out/src/monitor/Monitor.js.map +1 -1
  87. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  88. package/out/src/monitor/MonitorDaemon.js +24 -23
  89. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  90. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -1
  91. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
  92. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
  94. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +2 -2
  96. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskCheckForProofs.js +28 -16
  98. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  99. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
  100. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  101. package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
  102. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
  104. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  105. package/out/src/monitor/tasks/TaskClock.js +0 -1
  106. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  107. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  108. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  109. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  110. package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
  111. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  112. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  113. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  114. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  115. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
  116. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  117. package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
  118. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  119. package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
  120. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  121. package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
  122. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  123. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  124. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  125. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  126. package/out/src/monitor/tasks/TaskReorg.js +2 -2
  127. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  128. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
  129. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  130. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
  131. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  132. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
  133. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  134. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
  135. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  136. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  137. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  138. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  139. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
  140. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  141. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  142. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  143. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  144. package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
  145. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  146. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +1 -1
  147. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -1
  148. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +1 -4
  149. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
  150. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
  151. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  152. package/out/src/monitor/tasks/TaskUnFail.js +13 -15
  153. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  154. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  155. package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
  156. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  157. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +1 -1
  158. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +1 -1
  159. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +1 -1
  160. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +1 -1
  161. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +1 -1
  162. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  163. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  164. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  165. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  166. package/out/src/sdk/PrivilegedKeyManager.js +26 -21
  167. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  168. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  169. package/out/src/sdk/WERR_errors.js +5 -5
  170. package/out/src/sdk/WERR_errors.js.map +1 -1
  171. package/out/src/sdk/WalletError.d.ts +1 -1
  172. package/out/src/sdk/WalletError.d.ts.map +1 -1
  173. package/out/src/sdk/WalletError.js +10 -3
  174. package/out/src/sdk/WalletError.js.map +1 -1
  175. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  176. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  177. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  178. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
  179. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  180. package/out/src/sdk/__test/CertificateLifeCycle.test.js +3 -3
  181. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
  182. package/out/src/sdk/__test/WalletError.test.js +4 -4
  183. package/out/src/sdk/__test/WalletError.test.js.map +1 -1
  184. package/out/src/sdk/types.d.ts +4 -4
  185. package/out/src/sdk/types.d.ts.map +1 -1
  186. package/out/src/sdk/types.js +3 -3
  187. package/out/src/sdk/types.js.map +1 -1
  188. package/out/src/services/ServiceCollection.d.ts +6 -6
  189. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  190. package/out/src/services/ServiceCollection.js +3 -4
  191. package/out/src/services/ServiceCollection.js.map +1 -1
  192. package/out/src/services/Services.d.ts +5 -0
  193. package/out/src/services/Services.d.ts.map +1 -1
  194. package/out/src/services/Services.js +174 -182
  195. package/out/src/services/Services.js.map +1 -1
  196. package/out/src/services/__tests/ARC.man.test.js.map +1 -1
  197. package/out/src/services/__tests/ARC.timeout.man.test.js +3 -3
  198. package/out/src/services/__tests/ARC.timeout.man.test.js.map +1 -1
  199. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +1 -1
  200. package/out/src/services/__tests/bitrails.test.js +3 -2
  201. package/out/src/services/__tests/bitrails.test.js.map +1 -1
  202. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +1 -1
  203. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  204. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  205. package/out/src/services/chaintracker/BHServiceClient.js +7 -7
  206. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  207. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
  209. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  210. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +2 -2
  211. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -1
  212. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +1 -1
  213. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
  215. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
  219. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
  221. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +1 -1
  223. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +5 -22
  225. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
  228. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  231. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  233. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
  235. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
  240. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  245. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +1 -8
  248. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
  251. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  252. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  255. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
  257. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
  259. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
  261. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +2 -1
  263. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +4 -3
  265. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +1 -1
  266. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js +11 -10
  267. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +9 -16
  270. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +3 -3
  272. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +13 -13
  274. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
  277. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
  280. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +1 -2
  282. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +25 -22
  284. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js +0 -21
  287. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
  289. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
  291. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +2 -1
  293. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +8 -7
  295. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js +6 -5
  297. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +10 -9
  299. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -1
  300. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +1 -1
  301. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +1 -1
  302. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +14 -17
  303. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +1 -1
  304. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +3 -2
  305. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -1
  306. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  307. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +6 -8
  308. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  309. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  310. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  311. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  312. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  313. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  314. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  315. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
  316. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  317. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  318. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +8 -7
  319. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  320. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  321. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
  322. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  323. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  324. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  325. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
  326. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  327. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
  328. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  329. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  330. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -2
  331. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  332. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +13 -13
  333. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  334. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  335. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
  336. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  337. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  338. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  339. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  340. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +11 -11
  341. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +1 -1
  342. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +1 -1
  343. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +1 -1
  344. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +2 -2
  345. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +1 -1
  346. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
  347. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  348. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
  349. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  350. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  351. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  353. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  354. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  355. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  356. package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
  357. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  358. package/out/src/services/providers/ARC.d.ts.map +1 -1
  359. package/out/src/services/providers/ARC.js +7 -14
  360. package/out/src/services/providers/ARC.js.map +1 -1
  361. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  362. package/out/src/services/providers/ArcSSEClient.js +1 -1
  363. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  364. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  365. package/out/src/services/providers/Bitails.js +17 -17
  366. package/out/src/services/providers/Bitails.js.map +1 -1
  367. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  368. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  369. package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
  370. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  371. package/out/src/services/providers/WhatsOnChain.js +109 -233
  372. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  373. package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +1 -1
  374. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  375. package/out/src/services/providers/exchangeRates.js +3 -3
  376. package/out/src/services/providers/exchangeRates.js.map +1 -1
  377. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  378. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  379. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  380. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  381. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  382. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  383. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  384. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  385. package/out/src/signer/WalletSigner.js.map +1 -1
  386. package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
  387. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  388. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  389. package/out/src/signer/methods/buildSignableTransaction.js +21 -13
  390. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  391. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  392. package/out/src/signer/methods/completeSignedTransaction.js +20 -21
  393. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  394. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  395. package/out/src/signer/methods/createAction.js +8 -7
  396. package/out/src/signer/methods/createAction.js.map +1 -1
  397. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  398. package/out/src/signer/methods/internalizeAction.js +8 -6
  399. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  400. package/out/src/signer/methods/proveCertificate.js +1 -1
  401. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  402. package/out/src/signer/methods/signAction.js +8 -10
  403. package/out/src/signer/methods/signAction.js.map +1 -1
  404. package/out/src/storage/StorageIdb.d.ts +16 -1
  405. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  406. package/out/src/storage/StorageIdb.js +536 -1221
  407. package/out/src/storage/StorageIdb.js.map +1 -1
  408. package/out/src/storage/StorageKnex.d.ts +10 -0
  409. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  410. package/out/src/storage/StorageKnex.js +162 -152
  411. package/out/src/storage/StorageKnex.js.map +1 -1
  412. package/out/src/storage/StorageProvider.d.ts +10 -0
  413. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  414. package/out/src/storage/StorageProvider.js +152 -182
  415. package/out/src/storage/StorageProvider.js.map +1 -1
  416. package/out/src/storage/StorageReader.d.ts.map +1 -1
  417. package/out/src/storage/StorageReader.js +8 -7
  418. package/out/src/storage/StorageReader.js.map +1 -1
  419. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  420. package/out/src/storage/StorageReaderWriter.js +32 -32
  421. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  422. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  423. package/out/src/storage/StorageSyncReader.js +3 -3
  424. package/out/src/storage/StorageSyncReader.js.map +1 -1
  425. package/out/src/storage/WalletStorageManager.d.ts +3 -0
  426. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  427. package/out/src/storage/WalletStorageManager.js +83 -73
  428. package/out/src/storage/WalletStorageManager.js.map +1 -1
  429. package/out/src/storage/__test/StorageIdb.test.js +1 -1
  430. package/out/src/storage/__test/WalletStorageManager.test.js +1 -1
  431. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
  432. package/out/src/storage/__test/adminStats.man.test.js +1 -1
  433. package/out/src/storage/__test/adminStats.man.test.js.map +1 -1
  434. package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +1 -1
  435. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +1 -1
  436. package/out/src/storage/__test/getBeefForTransaction.test.js +1 -1
  437. package/out/src/storage/__test/getBeefForTransaction.test.js.map +1 -1
  438. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  439. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  440. package/out/src/storage/adminServer/adminServer.js +12 -12
  441. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  442. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  443. package/out/src/storage/idbHelpers.d.ts +42 -0
  444. package/out/src/storage/idbHelpers.d.ts.map +1 -0
  445. package/out/src/storage/idbHelpers.js +375 -0
  446. package/out/src/storage/idbHelpers.js.map +1 -0
  447. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  448. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  449. package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
  450. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  451. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  452. package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
  453. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  454. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +3 -3
  455. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -1
  456. package/out/src/storage/methods/__test/offsetKey.test.js +1 -1
  457. package/out/src/storage/methods/__test/offsetKey.test.js.map +1 -1
  458. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
  459. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  460. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +224 -61
  461. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  462. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  463. package/out/src/storage/methods/createAction.js +230 -270
  464. package/out/src/storage/methods/createAction.js.map +1 -1
  465. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  466. package/out/src/storage/methods/generateChange.js +99 -80
  467. package/out/src/storage/methods/generateChange.js.map +1 -1
  468. package/out/src/storage/methods/getBeefForTransaction.js +15 -13
  469. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  470. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  471. package/out/src/storage/methods/getSyncChunk.js +4 -3
  472. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  473. package/out/src/storage/methods/internalizeAction.js +41 -51
  474. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  475. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  476. package/out/src/storage/methods/listActionsIdb.js +85 -110
  477. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  478. package/out/src/storage/methods/listActionsKnex.d.ts +1 -1
  479. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  480. package/out/src/storage/methods/listActionsKnex.js +94 -117
  481. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  482. package/out/src/storage/methods/listCertificates.d.ts +1 -1
  483. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  484. package/out/src/storage/methods/listCertificates.js +7 -7
  485. package/out/src/storage/methods/listCertificates.js.map +1 -1
  486. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  487. package/out/src/storage/methods/listOutputsIdb.js +24 -27
  488. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  489. package/out/src/storage/methods/listOutputsKnex.d.ts +1 -1
  490. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  491. package/out/src/storage/methods/listOutputsKnex.js +27 -28
  492. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  493. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  494. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  495. package/out/src/storage/methods/offsetKey.js +3 -5
  496. package/out/src/storage/methods/offsetKey.js.map +1 -1
  497. package/out/src/storage/methods/processAction.d.ts +0 -11
  498. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  499. package/out/src/storage/methods/processAction.js +90 -83
  500. package/out/src/storage/methods/processAction.js.map +1 -1
  501. package/out/src/storage/methods/purgeData.d.ts +1 -1
  502. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  503. package/out/src/storage/methods/purgeData.js +35 -16
  504. package/out/src/storage/methods/purgeData.js.map +1 -1
  505. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  506. package/out/src/storage/methods/purgeDataIdb.js +1 -1
  507. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  508. package/out/src/storage/methods/reviewStatus.d.ts +1 -1
  509. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  510. package/out/src/storage/methods/reviewStatus.js +20 -12
  511. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  512. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  513. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  514. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  515. package/out/src/storage/methods/utils.Buffer.d.ts.map +1 -1
  516. package/out/src/storage/methods/utils.Buffer.js.map +1 -1
  517. package/out/src/storage/methods/utils.d.ts.map +1 -1
  518. package/out/src/storage/methods/utils.js +7 -1
  519. package/out/src/storage/methods/utils.js.map +1 -1
  520. package/out/src/storage/remoting/StorageClient.d.ts +4 -270
  521. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  522. package/out/src/storage/remoting/StorageClient.js +16 -423
  523. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  524. package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
  525. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  526. package/out/src/storage/remoting/StorageClientBase.js +375 -0
  527. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  528. package/out/src/storage/remoting/StorageMobile.d.ts +7 -275
  529. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  530. package/out/src/storage/remoting/StorageMobile.js +12 -421
  531. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  532. package/out/src/storage/remoting/StorageServer.d.ts +11 -8
  533. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  534. package/out/src/storage/remoting/StorageServer.js +51 -102
  535. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  536. package/out/src/storage/remoting/__test/StorageClient.man.test.js +6 -6
  537. package/out/src/storage/remoting/__test/StorageClient.man.test.js.map +1 -1
  538. package/out/src/storage/remoting/__test/StorageClient.test.js +8 -8
  539. package/out/src/storage/remoting/__test/StorageClient.test.js.map +1 -1
  540. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts +2 -0
  541. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.d.ts.map +1 -0
  542. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js +268 -0
  543. package/out/src/storage/remoting/__tests__/entityValidationHelpers.test.js.map +1 -0
  544. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  545. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  546. package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
  547. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  548. package/out/src/storage/schema/KnexMigrations.d.ts +3 -3
  549. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  550. package/out/src/storage/schema/KnexMigrations.js +26 -9
  551. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  552. package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -1
  553. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  554. package/out/src/storage/schema/__tests/v7Backfill.runner.test.d.ts +2 -0
  555. package/out/src/storage/schema/__tests/v7Backfill.runner.test.d.ts.map +1 -0
  556. package/out/src/storage/schema/__tests/v7Backfill.runner.test.js +148 -0
  557. package/out/src/storage/schema/__tests/v7Backfill.runner.test.js.map +1 -0
  558. package/out/src/storage/schema/__tests/v7Backfill.test.d.ts +2 -0
  559. package/out/src/storage/schema/__tests/v7Backfill.test.d.ts.map +1 -0
  560. package/out/src/storage/schema/__tests/v7Backfill.test.js +96 -0
  561. package/out/src/storage/schema/__tests/v7Backfill.test.js.map +1 -0
  562. package/out/src/storage/schema/__tests/v7Fsm.test.d.ts +2 -0
  563. package/out/src/storage/schema/__tests/v7Fsm.test.d.ts.map +1 -0
  564. package/out/src/storage/schema/__tests/v7Fsm.test.js +42 -0
  565. package/out/src/storage/schema/__tests/v7Fsm.test.js.map +1 -0
  566. package/out/src/storage/schema/__tests/v7Spendability.test.d.ts +2 -0
  567. package/out/src/storage/schema/__tests/v7Spendability.test.d.ts.map +1 -0
  568. package/out/src/storage/schema/__tests/v7Spendability.test.js +29 -0
  569. package/out/src/storage/schema/__tests/v7Spendability.test.js.map +1 -0
  570. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  571. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  572. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  573. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  574. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  575. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  576. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  577. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  578. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  579. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  580. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  581. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  582. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  583. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  584. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  585. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  586. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  587. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  588. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  589. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  590. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  591. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  592. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  593. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
  594. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  595. package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
  596. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  597. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
  598. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  599. package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
  600. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  601. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  602. package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
  603. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  604. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  605. package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
  606. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  607. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  608. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  609. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  610. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  611. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  612. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  613. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  614. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  615. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  616. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  617. package/out/src/storage/schema/entities/MergeEntity.js +6 -6
  618. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  619. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +1 -1
  620. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -1
  621. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -1
  622. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -1
  623. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +3 -3
  624. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -1
  625. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +1 -1
  626. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -1
  627. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +32 -0
  628. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -1
  629. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +6 -6
  630. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  631. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +3 -3
  632. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -1
  633. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +3 -3
  634. package/out/src/storage/schema/entities/__tests/usersTests.test.js +1 -1
  635. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -1
  636. package/out/src/storage/schema/tables/TableAction.d.ts +38 -0
  637. package/out/src/storage/schema/tables/TableAction.d.ts.map +1 -0
  638. package/out/src/storage/schema/tables/TableAction.js +3 -0
  639. package/out/src/storage/schema/tables/TableAction.js.map +1 -0
  640. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  641. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  642. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  643. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  644. package/out/src/storage/schema/tables/TableChainTip.d.ts +17 -0
  645. package/out/src/storage/schema/tables/TableChainTip.d.ts.map +1 -0
  646. package/out/src/storage/schema/tables/TableChainTip.js +3 -0
  647. package/out/src/storage/schema/tables/TableChainTip.js.map +1 -0
  648. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  649. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  650. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  651. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  652. package/out/src/storage/schema/tables/TableMonitorLease.d.ts +23 -0
  653. package/out/src/storage/schema/tables/TableMonitorLease.d.ts.map +1 -0
  654. package/out/src/storage/schema/tables/TableMonitorLease.js +3 -0
  655. package/out/src/storage/schema/tables/TableMonitorLease.js.map +1 -0
  656. package/out/src/storage/schema/tables/TableOutput.d.ts +3 -2
  657. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  658. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  659. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  660. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  661. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  662. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  663. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  664. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  665. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  666. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  667. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  668. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  669. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  670. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  671. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  672. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  673. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  674. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  675. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  676. package/out/src/storage/schema/tables/TableTransactionV7.d.ts +50 -0
  677. package/out/src/storage/schema/tables/TableTransactionV7.d.ts.map +1 -0
  678. package/out/src/storage/schema/tables/TableTransactionV7.js +3 -0
  679. package/out/src/storage/schema/tables/TableTransactionV7.js.map +1 -0
  680. package/out/src/storage/schema/tables/TableTxAudit.d.ts +26 -0
  681. package/out/src/storage/schema/tables/TableTxAudit.d.ts.map +1 -0
  682. package/out/src/storage/schema/tables/TableTxAudit.js +3 -0
  683. package/out/src/storage/schema/tables/TableTxAudit.js.map +1 -0
  684. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  685. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  686. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  687. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  688. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  689. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  690. package/out/src/storage/schema/v7Backfill.d.ts +35 -0
  691. package/out/src/storage/schema/v7Backfill.d.ts.map +1 -0
  692. package/out/src/storage/schema/v7Backfill.idb.d.ts +32 -0
  693. package/out/src/storage/schema/v7Backfill.idb.d.ts.map +1 -0
  694. package/out/src/storage/schema/v7Backfill.idb.js +95 -0
  695. package/out/src/storage/schema/v7Backfill.idb.js.map +1 -0
  696. package/out/src/storage/schema/v7Backfill.js +147 -0
  697. package/out/src/storage/schema/v7Backfill.js.map +1 -0
  698. package/out/src/storage/schema/v7Backfill.knex.d.ts +32 -0
  699. package/out/src/storage/schema/v7Backfill.knex.d.ts.map +1 -0
  700. package/out/src/storage/schema/v7Backfill.knex.js +240 -0
  701. package/out/src/storage/schema/v7Backfill.knex.js.map +1 -0
  702. package/out/src/storage/schema/v7Backfill.runner.d.ts +63 -0
  703. package/out/src/storage/schema/v7Backfill.runner.d.ts.map +1 -0
  704. package/out/src/storage/schema/v7Backfill.runner.js +62 -0
  705. package/out/src/storage/schema/v7Backfill.runner.js.map +1 -0
  706. package/out/src/storage/schema/v7Crud.d.ts +39 -0
  707. package/out/src/storage/schema/v7Crud.d.ts.map +1 -0
  708. package/out/src/storage/schema/v7Crud.js +203 -0
  709. package/out/src/storage/schema/v7Crud.js.map +1 -0
  710. package/out/src/storage/schema/v7Fsm.d.ts +27 -0
  711. package/out/src/storage/schema/v7Fsm.d.ts.map +1 -0
  712. package/out/src/storage/schema/v7Fsm.js +108 -0
  713. package/out/src/storage/schema/v7Fsm.js.map +1 -0
  714. package/out/src/storage/schema/v7MonitorLease.d.ts +57 -0
  715. package/out/src/storage/schema/v7MonitorLease.d.ts.map +1 -0
  716. package/out/src/storage/schema/v7MonitorLease.js +101 -0
  717. package/out/src/storage/schema/v7MonitorLease.js.map +1 -0
  718. package/out/src/storage/schema/v7Spendability.d.ts +45 -0
  719. package/out/src/storage/schema/v7Spendability.d.ts.map +1 -0
  720. package/out/src/storage/schema/v7Spendability.js +52 -0
  721. package/out/src/storage/schema/v7Spendability.js.map +1 -0
  722. package/out/src/storage/schema/v7TxAudit.d.ts +33 -0
  723. package/out/src/storage/schema/v7TxAudit.d.ts.map +1 -0
  724. package/out/src/storage/schema/v7TxAudit.js +64 -0
  725. package/out/src/storage/schema/v7TxAudit.js.map +1 -0
  726. package/out/src/storage/storageProviderHelpers.d.ts +34 -0
  727. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  728. package/out/src/storage/storageProviderHelpers.js +100 -0
  729. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  730. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +1 -2
  731. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  732. package/out/src/storage/sync/StorageMySQLDojoReader.js +37 -32
  733. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  734. package/out/src/utility/Format.d.ts.map +1 -1
  735. package/out/src/utility/Format.js +11 -9
  736. package/out/src/utility/Format.js.map +1 -1
  737. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  738. package/out/src/utility/ScriptTemplateBRC29.js +2 -1
  739. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  740. package/out/src/utility/aggregateResults.d.ts +1 -1
  741. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  742. package/out/src/utility/aggregateResults.js +2 -2
  743. package/out/src/utility/aggregateResults.js.map +1 -1
  744. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  745. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  746. package/out/src/utility/brc114ActionTimeLabels.js +16 -9
  747. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  748. package/out/src/utility/identityUtils.js +1 -1
  749. package/out/src/utility/identityUtils.js.map +1 -1
  750. package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
  751. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  752. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  753. package/out/src/utility/stampLog.d.ts.map +1 -1
  754. package/out/src/utility/stampLog.js +7 -5
  755. package/out/src/utility/stampLog.js.map +1 -1
  756. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  757. package/out/src/utility/tscProofToMerklePath.js +1 -1
  758. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  759. package/out/src/utility/utilityHelpers.buffer.d.ts +5 -3
  760. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
  761. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  762. package/out/src/utility/utilityHelpers.d.ts +1 -2
  763. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  764. package/out/src/utility/utilityHelpers.js +10 -10
  765. package/out/src/utility/utilityHelpers.js.map +1 -1
  766. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  767. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  768. package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
  769. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  770. package/out/src/wab-client/WABClient.d.ts +1 -1
  771. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  772. package/out/src/wab-client/WABClient.js +12 -12
  773. package/out/src/wab-client/WABClient.js.map +1 -1
  774. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  775. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -3
  776. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  777. package/package.json +24 -20
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runV7Backfill = runV7Backfill;
4
+ const v7Backfill_1 = require("./v7Backfill");
5
+ /**
6
+ * Orchestrates §3 Steps 2-5 of PROD_REQ_V7_TS.md.
7
+ *
8
+ * Strategy:
9
+ * 1. Walk every `proven_tx_reqs` row (joined with its proof) and upsert a row
10
+ * in `transactions_v7`. Build a `txid -> transactionId` map.
11
+ * 2. Walk every legacy `transactions` row.
12
+ * - If the row has a txid AND it is not in the map, upsert a tx-only V7
13
+ * row (locally-created actions that never reached the broadcast queue).
14
+ * - Compute the V7 `transactionId` for this legacy row. Rows without a
15
+ * txid (unsigned, unprocessed) are skipped — they have no canonical V7
16
+ * representation yet and are surfaced as gaps in the stats.
17
+ * 3. Upsert an `actions` row per legacy `transactions` row that has a V7
18
+ * transactionId.
19
+ * 4. Re-point `tx_labels_map.transactionId` from legacy PK to new `actionId`.
20
+ *
21
+ * The driver is invoked one row at a time so that the entire pass can run as
22
+ * a single Knex transaction or a single IDB readwrite transaction without
23
+ * holding the full row set in memory.
24
+ */
25
+ async function runV7Backfill(driver, now = new Date()) {
26
+ const stats = {
27
+ reqsBackfilled: 0,
28
+ legacyTxOnlyBackfilled: 0,
29
+ actionsBackfilled: 0,
30
+ labelMapsRepointed: 0
31
+ };
32
+ const txidToV7Id = new Map();
33
+ for await (const { req, proven } of driver.streamLegacyReqs()) {
34
+ const v7Row = (0, v7Backfill_1.buildTransactionV7Row)(req, proven, now);
35
+ const id = await driver.upsertTransactionV7(v7Row);
36
+ txidToV7Id.set(v7Row.txid, id);
37
+ stats.reqsBackfilled += 1;
38
+ }
39
+ for await (const legacy of driver.streamLegacyTransactions()) {
40
+ let v7Id;
41
+ if (legacy.txid != null) {
42
+ v7Id = txidToV7Id.get(legacy.txid);
43
+ if (v7Id === undefined) {
44
+ const v7Row = (0, v7Backfill_1.buildTransactionV7RowFromLegacyTx)(legacy, now);
45
+ if (v7Row !== undefined) {
46
+ v7Id = await driver.upsertTransactionV7(v7Row);
47
+ txidToV7Id.set(legacy.txid, v7Id);
48
+ stats.legacyTxOnlyBackfilled += 1;
49
+ }
50
+ }
51
+ }
52
+ if (v7Id === undefined)
53
+ continue;
54
+ const actionRow = (0, v7Backfill_1.buildActionRow)(legacy, v7Id, now);
55
+ const actionId = await driver.upsertAction(actionRow);
56
+ stats.actionsBackfilled += 1;
57
+ await driver.repointTxLabelMap(legacy.transactionId, actionId);
58
+ stats.labelMapsRepointed += 1;
59
+ }
60
+ return stats;
61
+ }
62
+ //# sourceMappingURL=v7Backfill.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7Backfill.runner.js","sourceRoot":"","sources":["../../../../src/storage/schema/v7Backfill.runner.ts"],"names":[],"mappings":";;AAoEA,sCAyCC;AA7GD,6CAAuG;AAgDvG;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,aAAa,CAAE,MAAwB,EAAE,MAAY,IAAI,IAAI,EAAE;IACnF,MAAM,KAAK,GAAoB;QAC7B,cAAc,EAAE,CAAC;QACjB,sBAAsB,EAAE,CAAC;QACzB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;KACtB,CAAA;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5C,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAA,kCAAqB,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QACrD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAClD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9B,KAAK,CAAC,cAAc,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAC7D,IAAI,IAAwB,CAAA;QAC5B,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAA,8CAAiC,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;gBAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;oBAC9C,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBACjC,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,SAAS;YAAE,SAAQ;QAEhC,MAAM,SAAS,GAAG,IAAA,2BAAc,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrD,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAA;QAE5B,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAC9D,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Knex } from 'knex';
2
+ import * as sdk from '../../sdk';
3
+ import { TableAction, TableChainTip, TableTransactionV7 } from './tables';
4
+ /** Read a single `transactions_v7` row by txid, returning `undefined` if absent. */
5
+ export declare function findTransactionV7ByTxid(knex: Knex, txid: string): Promise<TableTransactionV7 | undefined>;
6
+ /** Read a single `transactions_v7` row by PK. */
7
+ export declare function findTransactionV7(knex: Knex, transactionId: number): Promise<TableTransactionV7 | undefined>;
8
+ /** Insert a new `transactions_v7` row. Caller supplies the full body. */
9
+ export declare function insertTransactionV7(knex: Knex, row: Omit<TableTransactionV7, 'transactionId' | 'created_at' | 'updated_at'>, now?: Date): Promise<number>;
10
+ /**
11
+ * Transition the processing column atomically and append a `tx_audit` row.
12
+ * Returns the new `TableTransactionV7` on success and `undefined` when the
13
+ * source state did not match the row (CAS failed) or the transition was
14
+ * rejected by the FSM.
15
+ *
16
+ * Optimistic concurrency: the caller passes the `expectedFromState` they
17
+ * read in the same logical operation; the update only fires when the row's
18
+ * current `processing` still equals that value.
19
+ */
20
+ export declare function transitionProcessing(knex: Knex, args: {
21
+ transactionId: number;
22
+ expectedFromState: sdk.ProcessingStatus;
23
+ toState: sdk.ProcessingStatus;
24
+ details?: Record<string, unknown>;
25
+ provider?: string;
26
+ providerStatus?: string;
27
+ }, now?: Date): Promise<TableTransactionV7 | undefined>;
28
+ /** Find an action row by `(userId, transactionId)`. */
29
+ export declare function findAction(knex: Knex, userId: number, transactionId: number): Promise<TableAction | undefined>;
30
+ export declare function insertAction(knex: Knex, row: Omit<TableAction, 'actionId' | 'created_at' | 'updated_at'>, now?: Date): Promise<number>;
31
+ /** Get the singleton chain tip row (`id = 1`). */
32
+ export declare function getChainTip(knex: Knex): Promise<TableChainTip | undefined>;
33
+ /** Upsert the singleton chain tip. Always uses `id = 1`. */
34
+ export declare function setChainTip(knex: Knex, args: {
35
+ height: number;
36
+ blockHash: string;
37
+ merkleRoot?: string;
38
+ }, now?: Date): Promise<void>;
39
+ //# sourceMappingURL=v7Crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7Crud.d.ts","sourceRoot":"","sources":["../../../../src/storage/schema/v7Crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,GAAG,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,WAAW,EACX,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAGjB,oFAAoF;AACpF,wBAAsB,uBAAuB,CAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAGhH;AAED,iDAAiD;AACjD,wBAAsB,iBAAiB,CAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAGnH;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC,EAC5E,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,GAAG,CAAC,gBAAgB,CAAA;IACvC,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAsBzC;AAED,uDAAuD;AACvD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAGlC;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC,EAChE,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,kDAAkD;AAClD,wBAAsB,WAAW,CAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGjF;AAED,4DAA4D;AAC5D,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findTransactionV7ByTxid = findTransactionV7ByTxid;
4
+ exports.findTransactionV7 = findTransactionV7;
5
+ exports.insertTransactionV7 = insertTransactionV7;
6
+ exports.transitionProcessing = transitionProcessing;
7
+ exports.findAction = findAction;
8
+ exports.insertAction = insertAction;
9
+ exports.getChainTip = getChainTip;
10
+ exports.setChainTip = setChainTip;
11
+ const v7TxAudit_1 = require("./v7TxAudit");
12
+ /** Read a single `transactions_v7` row by txid, returning `undefined` if absent. */
13
+ async function findTransactionV7ByTxid(knex, txid) {
14
+ const row = await knex('transactions_v7').where({ txid }).first();
15
+ return row != null ? mapTransactionRow(row) : undefined;
16
+ }
17
+ /** Read a single `transactions_v7` row by PK. */
18
+ async function findTransactionV7(knex, transactionId) {
19
+ const row = await knex('transactions_v7').where({ transactionId }).first();
20
+ return row != null ? mapTransactionRow(row) : undefined;
21
+ }
22
+ /** Insert a new `transactions_v7` row. Caller supplies the full body. */
23
+ async function insertTransactionV7(knex, row, now = new Date()) {
24
+ const [id] = await knex('transactions_v7').insert(unmapTransactionRow(row, now));
25
+ if (typeof id === 'number' && id > 0)
26
+ return id;
27
+ const r = await knex('transactions_v7').where({ txid: row.txid }).first('transactionId');
28
+ return r.transactionId;
29
+ }
30
+ /**
31
+ * Transition the processing column atomically and append a `tx_audit` row.
32
+ * Returns the new `TableTransactionV7` on success and `undefined` when the
33
+ * source state did not match the row (CAS failed) or the transition was
34
+ * rejected by the FSM.
35
+ *
36
+ * Optimistic concurrency: the caller passes the `expectedFromState` they
37
+ * read in the same logical operation; the update only fires when the row's
38
+ * current `processing` still equals that value.
39
+ */
40
+ async function transitionProcessing(knex, args, now = new Date()) {
41
+ var _a, _b;
42
+ const ok = await (0, v7TxAudit_1.auditProcessingTransition)(knex, args.transactionId, args.expectedFromState, args.toState, args.details, now);
43
+ if (!ok)
44
+ return undefined;
45
+ const updated = await knex('transactions_v7')
46
+ .where({ transactionId: args.transactionId, processing: args.expectedFromState })
47
+ .update({
48
+ processing: args.toState,
49
+ processing_changed_at: now,
50
+ last_provider: (_a = args.provider) !== null && _a !== void 0 ? _a : null,
51
+ last_provider_status: (_b = args.providerStatus) !== null && _b !== void 0 ? _b : null,
52
+ updated_at: now
53
+ });
54
+ if (updated === 0)
55
+ return undefined;
56
+ const row = await knex('transactions_v7').where({ transactionId: args.transactionId }).first();
57
+ return mapTransactionRow(row);
58
+ }
59
+ /** Find an action row by `(userId, transactionId)`. */
60
+ async function findAction(knex, userId, transactionId) {
61
+ const row = await knex('actions').where({ userId, transactionId }).first();
62
+ return row != null ? mapActionRow(row) : undefined;
63
+ }
64
+ async function insertAction(knex, row, now = new Date()) {
65
+ var _a;
66
+ const [id] = await knex('actions').insert({
67
+ userId: row.userId,
68
+ transactionId: row.transactionId,
69
+ reference: row.reference,
70
+ description: row.description,
71
+ isOutgoing: row.isOutgoing,
72
+ satoshis_delta: row.satoshisDelta,
73
+ user_nosend: row.userNosend,
74
+ hidden: row.hidden,
75
+ user_aborted: row.userAborted,
76
+ notify_json: (_a = row.notifyJson) !== null && _a !== void 0 ? _a : null,
77
+ row_version: row.rowVersion,
78
+ created_at: now,
79
+ updated_at: now
80
+ });
81
+ if (typeof id === 'number' && id > 0)
82
+ return id;
83
+ const r = await knex('actions').where({ userId: row.userId, transactionId: row.transactionId }).first('actionId');
84
+ return r.actionId;
85
+ }
86
+ /** Get the singleton chain tip row (`id = 1`). */
87
+ async function getChainTip(knex) {
88
+ const row = await knex('chain_tip').where({ id: 1 }).first();
89
+ return row != null ? mapChainTipRow(row) : undefined;
90
+ }
91
+ /** Upsert the singleton chain tip. Always uses `id = 1`. */
92
+ async function setChainTip(knex, args, now = new Date()) {
93
+ var _a, _b;
94
+ const existing = await knex('chain_tip').where({ id: 1 }).first('id');
95
+ if (existing == null) {
96
+ await knex('chain_tip').insert({
97
+ id: 1,
98
+ height: args.height,
99
+ block_hash: args.blockHash,
100
+ merkle_root: (_a = args.merkleRoot) !== null && _a !== void 0 ? _a : null,
101
+ observed_at: now,
102
+ created_at: now,
103
+ updated_at: now
104
+ });
105
+ return;
106
+ }
107
+ await knex('chain_tip').where({ id: 1 }).update({
108
+ height: args.height,
109
+ block_hash: args.blockHash,
110
+ merkle_root: (_b = args.merkleRoot) !== null && _b !== void 0 ? _b : null,
111
+ observed_at: now,
112
+ updated_at: now
113
+ });
114
+ }
115
+ function mapTransactionRow(row) {
116
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
117
+ return {
118
+ created_at: new Date(row.created_at),
119
+ updated_at: new Date(row.updated_at),
120
+ transactionId: row.transactionId,
121
+ txid: row.txid,
122
+ processing: row.processing,
123
+ processingChangedAt: new Date(row.processing_changed_at),
124
+ nextActionAt: row.next_action_at != null ? new Date(row.next_action_at) : undefined,
125
+ attempts: row.attempts,
126
+ rebroadcastCycles: row.rebroadcast_cycles,
127
+ wasBroadcast: !!row.was_broadcast,
128
+ idempotencyKey: (_a = row.idempotency_key) !== null && _a !== void 0 ? _a : undefined,
129
+ batch: (_b = row.batch) !== null && _b !== void 0 ? _b : undefined,
130
+ rawTx: row.raw_tx != null ? Array.from(row.raw_tx.values()) : undefined,
131
+ inputBeef: row.input_beef != null ? Array.from(row.input_beef.values()) : undefined,
132
+ height: (_c = row.height) !== null && _c !== void 0 ? _c : undefined,
133
+ merkleIndex: (_d = row.merkle_index) !== null && _d !== void 0 ? _d : undefined,
134
+ merklePath: row.merkle_path != null ? Array.from(row.merkle_path.values()) : undefined,
135
+ merkleRoot: (_e = row.merkle_root) !== null && _e !== void 0 ? _e : undefined,
136
+ blockHash: (_f = row.block_hash) !== null && _f !== void 0 ? _f : undefined,
137
+ isCoinbase: !!row.is_coinbase,
138
+ lastProvider: (_g = row.last_provider) !== null && _g !== void 0 ? _g : undefined,
139
+ lastProviderStatus: (_h = row.last_provider_status) !== null && _h !== void 0 ? _h : undefined,
140
+ frozenReason: (_j = row.frozen_reason) !== null && _j !== void 0 ? _j : undefined,
141
+ rowVersion: row.row_version
142
+ };
143
+ }
144
+ function unmapTransactionRow(row, now) {
145
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
146
+ return {
147
+ txid: row.txid,
148
+ processing: row.processing,
149
+ processing_changed_at: row.processingChangedAt,
150
+ next_action_at: (_a = row.nextActionAt) !== null && _a !== void 0 ? _a : null,
151
+ attempts: row.attempts,
152
+ rebroadcast_cycles: row.rebroadcastCycles,
153
+ was_broadcast: row.wasBroadcast,
154
+ idempotency_key: (_b = row.idempotencyKey) !== null && _b !== void 0 ? _b : null,
155
+ batch: (_c = row.batch) !== null && _c !== void 0 ? _c : null,
156
+ raw_tx: row.rawTx != null ? Buffer.from(row.rawTx) : null,
157
+ input_beef: row.inputBeef != null ? Buffer.from(row.inputBeef) : null,
158
+ height: (_d = row.height) !== null && _d !== void 0 ? _d : null,
159
+ merkle_index: (_e = row.merkleIndex) !== null && _e !== void 0 ? _e : null,
160
+ merkle_path: row.merklePath != null ? Buffer.from(row.merklePath) : null,
161
+ merkle_root: (_f = row.merkleRoot) !== null && _f !== void 0 ? _f : null,
162
+ block_hash: (_g = row.blockHash) !== null && _g !== void 0 ? _g : null,
163
+ is_coinbase: row.isCoinbase,
164
+ last_provider: (_h = row.lastProvider) !== null && _h !== void 0 ? _h : null,
165
+ last_provider_status: (_j = row.lastProviderStatus) !== null && _j !== void 0 ? _j : null,
166
+ frozen_reason: (_k = row.frozenReason) !== null && _k !== void 0 ? _k : null,
167
+ row_version: row.rowVersion,
168
+ created_at: now,
169
+ updated_at: now
170
+ };
171
+ }
172
+ function mapActionRow(row) {
173
+ var _a;
174
+ return {
175
+ created_at: new Date(row.created_at),
176
+ updated_at: new Date(row.updated_at),
177
+ actionId: row.actionId,
178
+ userId: row.userId,
179
+ transactionId: row.transactionId,
180
+ reference: row.reference,
181
+ description: row.description,
182
+ isOutgoing: !!row.isOutgoing,
183
+ satoshisDelta: row.satoshis_delta,
184
+ userNosend: !!row.user_nosend,
185
+ hidden: !!row.hidden,
186
+ userAborted: !!row.user_aborted,
187
+ notifyJson: (_a = row.notify_json) !== null && _a !== void 0 ? _a : undefined,
188
+ rowVersion: row.row_version
189
+ };
190
+ }
191
+ function mapChainTipRow(row) {
192
+ var _a;
193
+ return {
194
+ created_at: new Date(row.created_at),
195
+ updated_at: new Date(row.updated_at),
196
+ id: row.id,
197
+ height: row.height,
198
+ blockHash: row.block_hash,
199
+ merkleRoot: (_a = row.merkle_root) !== null && _a !== void 0 ? _a : undefined,
200
+ observedAt: new Date(row.observed_at)
201
+ };
202
+ }
203
+ //# sourceMappingURL=v7Crud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7Crud.js","sourceRoot":"","sources":["../../../../src/storage/schema/v7Crud.ts"],"names":[],"mappings":";;AAUA,0DAGC;AAGD,8CAGC;AAGD,kDASC;AAYD,oDAiCC;AAGD,gCAOC;AAED,oCAuBC;AAGD,kCAGC;AAGD,kCAyBC;AA1ID,2CAAuD;AAEvD,oFAAoF;AAC7E,KAAK,UAAU,uBAAuB,CAAE,IAAU,EAAE,IAAY;IACrE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IACjE,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC;AAED,iDAAiD;AAC1C,KAAK,UAAU,iBAAiB,CAAE,IAAU,EAAE,aAAqB;IACxE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IAC1E,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC;AAED,yEAAyE;AAClE,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,GAA4E,EAC5E,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAChF,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACxF,OAAO,CAAC,CAAC,aAAa,CAAA;AACxB,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,oBAAoB,CACxC,IAAU,EACV,IAOC,EACD,MAAY,IAAI,IAAI,EAAE;;IAEtB,MAAM,EAAE,GAAG,MAAM,IAAA,qCAAyB,EACxC,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,GAAG,CACJ,CAAA;IACD,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAA;IACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;SAC1C,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAChF,MAAM,CAAC;QACN,UAAU,EAAE,IAAI,CAAC,OAAO;QACxB,qBAAqB,EAAE,GAAG;QAC1B,aAAa,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI;QACpC,oBAAoB,EAAE,MAAA,IAAI,CAAC,cAAc,mCAAI,IAAI;QACjD,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACJ,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IAC9F,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAED,uDAAuD;AAChD,KAAK,UAAU,UAAU,CAC9B,IAAU,EACV,MAAc,EACd,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IAC1E,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,IAAU,EACV,GAAgE,EAChE,MAAY,IAAI,IAAI,EAAE;;IAEtB,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,cAAc,EAAE,GAAG,CAAC,aAAa;QACjC,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,WAAW,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,IAAI;QACnC,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACF,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACjH,OAAO,CAAC,CAAC,QAAQ,CAAA;AACnB,CAAC;AAED,kDAAkD;AAC3C,KAAK,UAAU,WAAW,CAAE,IAAU;IAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IAC5D,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,4DAA4D;AACrD,KAAK,UAAU,WAAW,CAC/B,IAAU,EACV,IAAgE,EAChE,MAAY,IAAI,IAAI,EAAE;;IAEtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAC7B,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,WAAW,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI;YACpC,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IACD,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,WAAW,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI;QACpC,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAE,GAAQ;;IAClC,OAAO;QACL,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,mBAAmB,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACxD,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;QACzC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa;QACjC,cAAc,EAAE,MAAA,GAAG,CAAC,eAAe,mCAAI,SAAS;QAChD,KAAK,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,SAAS;QAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,CAAC,MAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,CAAC,UAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/F,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,mCAAI,SAAS;QAC/B,WAAW,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,SAAS;QAC1C,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,CAAC,WAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAClG,UAAU,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,SAAS;QACxC,SAAS,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,SAAS;QACtC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW;QAC7B,YAAY,EAAE,MAAA,GAAG,CAAC,aAAa,mCAAI,SAAS;QAC5C,kBAAkB,EAAE,MAAA,GAAG,CAAC,oBAAoB,mCAAI,SAAS;QACzD,YAAY,EAAE,MAAA,GAAG,CAAC,aAAa,mCAAI,SAAS;QAC5C,UAAU,EAAE,GAAG,CAAC,WAAW;KAC5B,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAA4E,EAC5E,GAAS;;IAET,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,qBAAqB,EAAE,GAAG,CAAC,mBAAmB;QAC9C,cAAc,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,IAAI;QACxC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,kBAAkB,EAAE,GAAG,CAAC,iBAAiB;QACzC,aAAa,EAAE,GAAG,CAAC,YAAY;QAC/B,eAAe,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,IAAI;QAC3C,KAAK,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,IAAI;QACxB,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,mCAAI,IAAI;QAC1B,YAAY,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,IAAI;QACrC,WAAW,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACxE,WAAW,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,IAAI;QACnC,UAAU,EAAE,MAAA,GAAG,CAAC,SAAS,mCAAI,IAAI;QACjC,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,aAAa,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,IAAI;QACvC,oBAAoB,EAAE,MAAA,GAAG,CAAC,kBAAkB,mCAAI,IAAI;QACpD,aAAa,EAAE,MAAA,GAAG,CAAC,YAAY,mCAAI,IAAI;QACvC,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;KAChB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAE,GAAQ;;IAC7B,OAAO;QACL,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;QAC5B,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW;QAC7B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;QACpB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;QAC/B,UAAU,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,SAAS;QACxC,UAAU,EAAE,GAAG,CAAC,WAAW;KAC5B,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAE,GAAQ;;IAC/B,OAAO;QACL,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,SAAS;QACxC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;KACtC,CAAA;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import * as sdk from '../../sdk';
2
+ export interface FsmTransitionResult {
3
+ ok: boolean;
4
+ reason?: string;
5
+ }
6
+ /**
7
+ * Returns true when `from -> to` is a permitted V7 processing transition.
8
+ * Identity transitions (`from === to`) are always allowed — they represent a
9
+ * status refresh without state change.
10
+ */
11
+ export declare function isValidProcessingTransition(from: sdk.ProcessingStatus, to: sdk.ProcessingStatus): boolean;
12
+ /**
13
+ * As `isValidProcessingTransition` but returns a structured result with a
14
+ * human-readable reason for any rejection. Useful for `tx_audit` payloads.
15
+ */
16
+ export declare function validateProcessingTransition(from: sdk.ProcessingStatus, to: sdk.ProcessingStatus): FsmTransitionResult;
17
+ /** Snapshot of the transition table for documentation + tests. */
18
+ export declare function processingTransitionMap(): Readonly<Record<sdk.ProcessingStatus, readonly sdk.ProcessingStatus[]>>;
19
+ /**
20
+ * True when the given state implies the transaction has been seen / accepted
21
+ * by at least one network provider — the precondition for output spendability
22
+ * in §4.
23
+ */
24
+ export declare function isProcessingSpendable(s: sdk.ProcessingStatus): boolean;
25
+ /** True when the state is terminal (no further automatic transitions). */
26
+ export declare function isProcessingTerminal(s: sdk.ProcessingStatus): boolean;
27
+ //# sourceMappingURL=v7Fsm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7Fsm.d.ts","sourceRoot":"","sources":["../../../../src/storage/schema/v7Fsm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,WAAW,CAAA;AA+BhC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAC1B,EAAE,EAAE,GAAG,CAAC,gBAAgB,GACvB,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAC1B,EAAE,EAAE,GAAG,CAAC,gBAAgB,GACvB,mBAAmB,CAMrB;AAED,kEAAkE;AAClE,wBAAgB,uBAAuB,IAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAElH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAEvE;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAEtE"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.isValidProcessingTransition = isValidProcessingTransition;
37
+ exports.validateProcessingTransition = validateProcessingTransition;
38
+ exports.processingTransitionMap = processingTransitionMap;
39
+ exports.isProcessingSpendable = isProcessingSpendable;
40
+ exports.isProcessingTerminal = isProcessingTerminal;
41
+ const sdk = __importStar(require("../../sdk"));
42
+ /**
43
+ * V7 processing-state machine.
44
+ *
45
+ * Maps each `ProcessingStatus` to the set of states it may legally transition
46
+ * to. Terminal states (`proven`, `invalid`, `doubleSpend`) have no outgoing
47
+ * transitions except via the `unfail` operator override.
48
+ *
49
+ * The transition table is intentionally permissive — the goal is to *reject
50
+ * impossible* moves (e.g. `queued -> proven` without ever broadcasting) rather
51
+ * than to enumerate the happy path. Stateful preconditions (proof present,
52
+ * provider acknowledged) are enforced at the call site.
53
+ */
54
+ const TRANSITIONS = {
55
+ queued: ['sending', 'sent', 'nosend', 'frozen', 'nonfinal', 'invalid'],
56
+ sending: ['sent', 'seen', 'seen_multi', 'invalid', 'doubleSpend', 'frozen', 'queued'],
57
+ sent: ['seen', 'seen_multi', 'unconfirmed', 'proven', 'invalid', 'doubleSpend', 'frozen', 'sending'],
58
+ seen: ['seen_multi', 'unconfirmed', 'proven', 'invalid', 'doubleSpend', 'reorging', 'frozen'],
59
+ seen_multi: ['unconfirmed', 'proven', 'invalid', 'doubleSpend', 'reorging', 'frozen'],
60
+ unconfirmed: ['proven', 'invalid', 'reorging', 'frozen', 'seen', 'seen_multi'],
61
+ proven: ['reorging'],
62
+ reorging: ['proven', 'seen', 'seen_multi', 'unconfirmed', 'invalid', 'doubleSpend', 'frozen'],
63
+ invalid: ['unfail'],
64
+ doubleSpend: ['unfail'],
65
+ unfail: ['queued', 'sending', 'sent', 'seen', 'seen_multi', 'unconfirmed', 'proven', 'invalid', 'doubleSpend'],
66
+ frozen: ['queued', 'sending', 'sent', 'seen', 'seen_multi', 'unconfirmed', 'invalid', 'doubleSpend'],
67
+ nosend: ['queued', 'sent', 'seen', 'invalid', 'frozen'],
68
+ nonfinal: ['queued', 'sending', 'sent', 'invalid', 'frozen']
69
+ };
70
+ /**
71
+ * Returns true when `from -> to` is a permitted V7 processing transition.
72
+ * Identity transitions (`from === to`) are always allowed — they represent a
73
+ * status refresh without state change.
74
+ */
75
+ function isValidProcessingTransition(from, to) {
76
+ if (from === to)
77
+ return true;
78
+ return TRANSITIONS[from].includes(to);
79
+ }
80
+ /**
81
+ * As `isValidProcessingTransition` but returns a structured result with a
82
+ * human-readable reason for any rejection. Useful for `tx_audit` payloads.
83
+ */
84
+ function validateProcessingTransition(from, to) {
85
+ if (isValidProcessingTransition(from, to))
86
+ return { ok: true };
87
+ return {
88
+ ok: false,
89
+ reason: `illegal transition ${from} -> ${to}; legal next: ${TRANSITIONS[from].join(', ')}`
90
+ };
91
+ }
92
+ /** Snapshot of the transition table for documentation + tests. */
93
+ function processingTransitionMap() {
94
+ return TRANSITIONS;
95
+ }
96
+ /**
97
+ * True when the given state implies the transaction has been seen / accepted
98
+ * by at least one network provider — the precondition for output spendability
99
+ * in §4.
100
+ */
101
+ function isProcessingSpendable(s) {
102
+ return sdk.ProcessingSpendableStatus.includes(s);
103
+ }
104
+ /** True when the state is terminal (no further automatic transitions). */
105
+ function isProcessingTerminal(s) {
106
+ return sdk.ProcessingTerminalStatus.includes(s);
107
+ }
108
+ //# sourceMappingURL=v7Fsm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7Fsm.js","sourceRoot":"","sources":["../../../../src/storage/schema/v7Fsm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,kEAMC;AAMD,oEASC;AAGD,0DAEC;AAOD,sDAEC;AAGD,oDAEC;AAjFD,+CAAgC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAyD;IACxE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;IACtE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACrF,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;IACpG,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC7F,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC;IACrF,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;IAC9E,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;IAC7F,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,QAAQ,CAAC;IACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;IAC9G,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;IACpG,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC7D,CAAA;AAOD;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,IAA0B,EAC1B,EAAwB;IAExB,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvC,CAAC;AAED;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,IAA0B,EAC1B,EAAwB;IAExB,IAAI,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC9D,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,sBAAsB,IAAI,OAAO,EAAE,iBAAiB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC3F,CAAA;AACH,CAAC;AAED,kEAAkE;AAClE,SAAgB,uBAAuB;IACrC,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAE,CAAuB;IAC5D,OAAO,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,0EAA0E;AAC1E,SAAgB,oBAAoB,CAAE,CAAuB;IAC3D,OAAO,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { Knex } from 'knex';
2
+ import { TableMonitorLease } from './tables';
3
+ /**
4
+ * V7 monitor lease primitive.
5
+ *
6
+ * A `monitor_lease` row records the owner that may currently execute a named
7
+ * task. Acquisition is opportunistic: a Monitor calls `tryClaimLease()` to
8
+ * insert or take over a stale row; if it succeeds it owns the task until
9
+ * `expiresAt`. While running it calls `renewLease()` to extend the deadline.
10
+ * On clean shutdown it calls `releaseLease()`.
11
+ *
12
+ * The Knex driver expresses claim + takeover as a single conditional UPDATE
13
+ * so that two contending Monitors cannot both believe they own the task — at
14
+ * most one row write will succeed per (task, expiry) pair.
15
+ */
16
+ export interface MonitorLeaseClaim {
17
+ taskName: string;
18
+ ownerId: string;
19
+ ttlMs: number;
20
+ note?: string;
21
+ }
22
+ export interface MonitorLeaseRenew {
23
+ taskName: string;
24
+ ownerId: string;
25
+ ttlMs: number;
26
+ note?: string;
27
+ }
28
+ export interface MonitorLeaseRelease {
29
+ taskName: string;
30
+ ownerId: string;
31
+ }
32
+ export interface MonitorLeaseResult {
33
+ acquired: boolean;
34
+ lease?: TableMonitorLease;
35
+ }
36
+ /**
37
+ * Try to claim a lease on `taskName`. Succeeds iff:
38
+ * - no row exists for the task, OR
39
+ * - the existing row has `expiresAt <= now`, OR
40
+ * - the existing row's `ownerId` already equals the requested owner.
41
+ *
42
+ * On success the row is upserted with `expiresAt = now + ttlMs` and
43
+ * `renewCount = renewCount + 1` (0 for fresh rows).
44
+ */
45
+ export declare function tryClaimLease(knex: Knex, claim: MonitorLeaseClaim, now?: Date): Promise<MonitorLeaseResult>;
46
+ /**
47
+ * Extend the current owner's lease. Fails (returns `acquired: false`) when the
48
+ * row does not exist, is owned by someone else, or has already expired.
49
+ */
50
+ export declare function renewLease(knex: Knex, renew: MonitorLeaseRenew, now?: Date): Promise<MonitorLeaseResult>;
51
+ /**
52
+ * Release the lease (no-op when not owned by the caller).
53
+ * The row is deleted so subsequent claimants do not see an inherited
54
+ * `renew_count`.
55
+ */
56
+ export declare function releaseLease(knex: Knex, release: MonitorLeaseRelease): Promise<boolean>;
57
+ //# sourceMappingURL=v7MonitorLease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7MonitorLease.d.ts","sourceRoot":"","sources":["../../../../src/storage/schema/v7MonitorLease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAmC7B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAkB7B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAK9F"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tryClaimLease = tryClaimLease;
4
+ exports.renewLease = renewLease;
5
+ exports.releaseLease = releaseLease;
6
+ /**
7
+ * Try to claim a lease on `taskName`. Succeeds iff:
8
+ * - no row exists for the task, OR
9
+ * - the existing row has `expiresAt <= now`, OR
10
+ * - the existing row's `ownerId` already equals the requested owner.
11
+ *
12
+ * On success the row is upserted with `expiresAt = now + ttlMs` and
13
+ * `renewCount = renewCount + 1` (0 for fresh rows).
14
+ */
15
+ async function tryClaimLease(knex, claim, now = new Date()) {
16
+ const expiresAt = new Date(now.getTime() + claim.ttlMs);
17
+ return await knex.transaction(async (trx) => {
18
+ var _a, _b;
19
+ const existing = await trx('monitor_lease').where({ task_name: claim.taskName }).forUpdate().first();
20
+ const canClaim = existing == null ||
21
+ new Date(existing.expires_at).getTime() <= now.getTime() ||
22
+ existing.owner_id === claim.ownerId;
23
+ if (!canClaim)
24
+ return { acquired: false };
25
+ if (existing == null) {
26
+ await trx('monitor_lease').insert({
27
+ task_name: claim.taskName,
28
+ owner_id: claim.ownerId,
29
+ expires_at: expiresAt,
30
+ renew_count: 0,
31
+ note: (_a = claim.note) !== null && _a !== void 0 ? _a : null,
32
+ created_at: now,
33
+ updated_at: now
34
+ });
35
+ }
36
+ else {
37
+ await trx('monitor_lease')
38
+ .where({ task_name: claim.taskName })
39
+ .update({
40
+ owner_id: claim.ownerId,
41
+ expires_at: expiresAt,
42
+ renew_count: existing.owner_id === claim.ownerId ? existing.renew_count + 1 : 0,
43
+ note: (_b = claim.note) !== null && _b !== void 0 ? _b : existing.note,
44
+ updated_at: now
45
+ });
46
+ }
47
+ const row = await trx('monitor_lease').where({ task_name: claim.taskName }).first();
48
+ return { acquired: true, lease: mapRow(row) };
49
+ });
50
+ }
51
+ /**
52
+ * Extend the current owner's lease. Fails (returns `acquired: false`) when the
53
+ * row does not exist, is owned by someone else, or has already expired.
54
+ */
55
+ async function renewLease(knex, renew, now = new Date()) {
56
+ const expiresAt = new Date(now.getTime() + renew.ttlMs);
57
+ return await knex.transaction(async (trx) => {
58
+ var _a;
59
+ const existing = await trx('monitor_lease').where({ task_name: renew.taskName }).forUpdate().first();
60
+ if (existing == null)
61
+ return { acquired: false };
62
+ if (existing.owner_id !== renew.ownerId)
63
+ return { acquired: false };
64
+ if (new Date(existing.expires_at).getTime() <= now.getTime())
65
+ return { acquired: false };
66
+ await trx('monitor_lease')
67
+ .where({ task_name: renew.taskName })
68
+ .update({
69
+ expires_at: expiresAt,
70
+ renew_count: existing.renew_count + 1,
71
+ note: (_a = renew.note) !== null && _a !== void 0 ? _a : existing.note,
72
+ updated_at: now
73
+ });
74
+ const row = await trx('monitor_lease').where({ task_name: renew.taskName }).first();
75
+ return { acquired: true, lease: mapRow(row) };
76
+ });
77
+ }
78
+ /**
79
+ * Release the lease (no-op when not owned by the caller).
80
+ * The row is deleted so subsequent claimants do not see an inherited
81
+ * `renew_count`.
82
+ */
83
+ async function releaseLease(knex, release) {
84
+ const deleted = await knex('monitor_lease')
85
+ .where({ task_name: release.taskName, owner_id: release.ownerId })
86
+ .delete();
87
+ return deleted > 0;
88
+ }
89
+ function mapRow(row) {
90
+ var _a;
91
+ return {
92
+ created_at: new Date(row.created_at),
93
+ updated_at: new Date(row.updated_at),
94
+ taskName: row.task_name,
95
+ ownerId: row.owner_id,
96
+ expiresAt: new Date(row.expires_at),
97
+ renewCount: row.renew_count,
98
+ note: (_a = row.note) !== null && _a !== void 0 ? _a : undefined
99
+ };
100
+ }
101
+ //# sourceMappingURL=v7MonitorLease.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v7MonitorLease.js","sourceRoot":"","sources":["../../../../src/storage/schema/v7MonitorLease.ts"],"names":[],"mappings":"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"}