@bsv/wallet-toolbox 2.12.0 → 2.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/CHANGELOG.md +350 -1
  2. package/README.md +556 -6
  3. package/docs/README.md +8 -1
  4. package/docs/client.md +13057 -4632
  5. package/docs/identity-verification.md +196 -0
  6. package/docs/monitor.md +505 -190
  7. package/docs/services.md +4013 -1153
  8. package/docs/setup.md +98 -58
  9. package/docs/storage.md +5780 -1609
  10. package/docs/sync-transfer.md +144 -0
  11. package/docs/wallet.md +10155 -10871
  12. package/out/src/CWIStyleWalletManager.d.ts +6 -8
  13. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  14. package/out/src/CWIStyleWalletManager.js +170 -125
  15. package/out/src/CWIStyleWalletManager.js.map +1 -1
  16. package/out/src/Setup.d.ts +2 -0
  17. package/out/src/Setup.d.ts.map +1 -1
  18. package/out/src/Setup.js +3 -2
  19. package/out/src/Setup.js.map +1 -1
  20. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  21. package/out/src/ShamirWalletManager.js +34 -19
  22. package/out/src/ShamirWalletManager.js.map +1 -1
  23. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  24. package/out/src/SimpleWalletManager.js +7 -6
  25. package/out/src/SimpleWalletManager.js.map +1 -1
  26. package/out/src/Wallet.d.ts +50 -11
  27. package/out/src/Wallet.d.ts.map +1 -1
  28. package/out/src/Wallet.js +183 -107
  29. package/out/src/Wallet.js.map +1 -1
  30. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  31. package/out/src/WalletAuthenticationManager.js +282 -26
  32. package/out/src/WalletAuthenticationManager.js.map +1 -1
  33. package/out/src/WalletLogger.js +1 -1
  34. package/out/src/WalletLogger.js.map +1 -1
  35. package/out/src/WalletPermissionsManager.d.ts +30 -17
  36. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  37. package/out/src/WalletPermissionsManager.js +540 -312
  38. package/out/src/WalletPermissionsManager.js.map +1 -1
  39. package/out/src/WalletSettingsManager.d.ts +3 -2
  40. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  41. package/out/src/WalletSettingsManager.js +141 -6
  42. package/out/src/WalletSettingsManager.js.map +1 -1
  43. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  44. package/out/src/entropy/EntropyCollector.js +3 -2
  45. package/out/src/entropy/EntropyCollector.js.map +1 -1
  46. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  47. package/out/src/fundWalletP2PKH.js +143 -44
  48. package/out/src/fundWalletP2PKH.js.map +1 -1
  49. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  50. package/out/src/mockchain/MockChainTracker.js +5 -5
  51. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  52. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  53. package/out/src/mockchain/MockServices.js +32 -8
  54. package/out/src/mockchain/MockServices.js.map +1 -1
  55. package/out/src/monitor/Monitor.d.ts +17 -0
  56. package/out/src/monitor/Monitor.d.ts.map +1 -1
  57. package/out/src/monitor/Monitor.js +206 -42
  58. package/out/src/monitor/Monitor.js.map +1 -1
  59. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  60. package/out/src/monitor/MonitorDaemon.js +64 -16
  61. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  62. package/out/src/monitor/monitorValidation.d.ts +12 -0
  63. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  64. package/out/src/monitor/monitorValidation.js +133 -0
  65. package/out/src/monitor/monitorValidation.js.map +1 -0
  66. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
  67. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  68. package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
  69. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  70. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  71. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  72. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  73. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  74. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  75. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  76. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  78. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  79. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  80. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  81. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  82. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  83. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  84. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
  85. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  86. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  87. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  88. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
  91. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  95. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  96. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
  97. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  98. package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
  99. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  101. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  102. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  104. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  105. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  106. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  107. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  108. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  109. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  110. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  111. package/out/src/sdk/WalletErrorFromJson.js +112 -2
  112. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  113. package/out/src/sdk/WalletServices.interfaces.d.ts +23 -1
  114. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  115. package/out/src/sdk/WalletStorage.interfaces.d.ts +49 -3
  116. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  117. package/out/src/services/ServiceCollection.js +2 -2
  118. package/out/src/services/ServiceCollection.js.map +1 -1
  119. package/out/src/services/Services.d.ts +5 -0
  120. package/out/src/services/Services.d.ts.map +1 -1
  121. package/out/src/services/Services.js +276 -110
  122. package/out/src/services/Services.js.map +1 -1
  123. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  124. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  125. package/out/src/services/chaintracker/BHServiceClient.js +267 -66
  126. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  127. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  128. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  129. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  130. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  131. package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
  132. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
  133. package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
  134. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  136. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  137. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  138. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  139. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  140. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
  141. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  142. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
  143. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  144. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  145. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  146. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
  147. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  148. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
  149. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  151. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  152. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  153. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  154. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  155. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
  157. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  159. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
  161. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  176. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  178. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  180. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  189. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  194. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  196. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  198. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  202. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  204. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  206. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  209. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
  217. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  219. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  221. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
  223. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
  225. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  226. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  227. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  229. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
  231. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  238. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  240. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  243. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  246. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
  248. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
  250. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  252. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +486 -82
  254. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  257. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
  260. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  263. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
  265. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  266. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  267. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  268. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
  269. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  270. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
  271. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  273. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  274. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  275. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
  277. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
  278. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
  279. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -1
  280. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  282. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
  283. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  284. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
  285. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  286. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
  287. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
  288. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
  289. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  291. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  293. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
  295. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
  297. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  299. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  300. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  301. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  302. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  303. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  304. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
  305. package/out/src/services/classifyOutputUtxo.js +19 -10
  306. package/out/src/services/classifyOutputUtxo.js.map +1 -1
  307. package/out/src/services/fiatRateValidation.d.ts +12 -0
  308. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  309. package/out/src/services/fiatRateValidation.js +138 -0
  310. package/out/src/services/fiatRateValidation.js.map +1 -0
  311. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  312. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  313. package/out/src/services/getCanonicalMerklePath.js +90 -0
  314. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  315. package/out/src/services/providers/ARC.d.ts +3 -16
  316. package/out/src/services/providers/ARC.d.ts.map +1 -1
  317. package/out/src/services/providers/ARC.js +36 -37
  318. package/out/src/services/providers/ARC.js.map +1 -1
  319. package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
  320. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  321. package/out/src/services/providers/ArcSSEClient.js +352 -85
  322. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  323. package/out/src/services/providers/Arcade.d.ts +1 -0
  324. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  325. package/out/src/services/providers/Arcade.js +56 -41
  326. package/out/src/services/providers/Arcade.js.map +1 -1
  327. package/out/src/services/providers/Bitails.d.ts +3 -0
  328. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  329. package/out/src/services/providers/Bitails.js +79 -12
  330. package/out/src/services/providers/Bitails.js.map +1 -1
  331. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  332. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  333. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  334. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  335. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  336. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  337. package/out/src/services/providers/WhatsOnChain.js +221 -69
  338. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  339. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  340. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  341. package/out/src/services/providers/arcProviderConfig.js +83 -0
  342. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  343. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  344. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  345. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  346. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  347. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  348. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  349. package/out/src/services/providers/exchangeRates.js +153 -226
  350. package/out/src/services/providers/exchangeRates.js.map +1 -1
  351. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  352. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  353. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  354. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  355. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  356. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  357. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  358. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  359. package/out/src/services/validateMerklePathResult.js +272 -0
  360. package/out/src/services/validateMerklePathResult.js.map +1 -0
  361. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  362. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  363. package/out/src/services/validatePostBeefResult.js +334 -0
  364. package/out/src/services/validatePostBeefResult.js.map +1 -0
  365. package/out/src/services/validateRawTxResult.d.ts +6 -0
  366. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  367. package/out/src/services/validateRawTxResult.js +77 -0
  368. package/out/src/services/validateRawTxResult.js.map +1 -0
  369. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  370. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  371. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  372. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  373. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  374. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  375. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  376. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  377. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  378. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  379. package/out/src/services/validateUtxoStatusResult.js +126 -0
  380. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  381. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  382. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  383. package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
  384. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  385. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
  386. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  387. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
  388. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  389. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  390. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  391. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  392. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  393. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  394. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  395. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  396. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  397. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  398. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  399. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  400. package/out/src/signer/methods/createAction.d.ts +4 -3
  401. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  402. package/out/src/signer/methods/createAction.js +4 -2
  403. package/out/src/signer/methods/createAction.js.map +1 -1
  404. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
  405. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
  406. package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
  407. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
  408. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  409. package/out/src/signer/methods/internalizeAction.js +2 -2
  410. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  411. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  412. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  413. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  414. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  415. package/out/src/signer/methods/signAction.js +3 -2
  416. package/out/src/signer/methods/signAction.js.map +1 -1
  417. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  418. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  419. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  420. package/out/src/storage/StorageIdb.d.ts +6 -3
  421. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  422. package/out/src/storage/StorageIdb.js +70 -42
  423. package/out/src/storage/StorageIdb.js.map +1 -1
  424. package/out/src/storage/StorageKnex.d.ts +8 -4
  425. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  426. package/out/src/storage/StorageKnex.js +185 -92
  427. package/out/src/storage/StorageKnex.js.map +1 -1
  428. package/out/src/storage/StorageProvider.d.ts +19 -9
  429. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  430. package/out/src/storage/StorageProvider.js +237 -138
  431. package/out/src/storage/StorageProvider.js.map +1 -1
  432. package/out/src/storage/StorageReader.d.ts +7 -1
  433. package/out/src/storage/StorageReader.d.ts.map +1 -1
  434. package/out/src/storage/StorageReader.js +17 -42
  435. package/out/src/storage/StorageReader.js.map +1 -1
  436. package/out/src/storage/StorageReaderWriter.d.ts +2 -0
  437. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  438. package/out/src/storage/StorageReaderWriter.js +63 -38
  439. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  440. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  441. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  442. package/out/src/storage/StorageSyncReader.js +3 -36
  443. package/out/src/storage/StorageSyncReader.js.map +1 -1
  444. package/out/src/storage/WalletStorageManager.d.ts +9 -7
  445. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  446. package/out/src/storage/WalletStorageManager.js +71 -65
  447. package/out/src/storage/WalletStorageManager.js.map +1 -1
  448. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  449. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  450. package/out/src/storage/adminServer/adminServer.js +16 -44
  451. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  452. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  453. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  454. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  455. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  456. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  457. package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
  458. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  459. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  460. package/out/src/storage/methods/actionBatch.js +3 -2
  461. package/out/src/storage/methods/actionBatch.js.map +1 -1
  462. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  463. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  464. package/out/src/storage/methods/actionBatchBlobs.js +40 -22
  465. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  466. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  467. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  468. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  469. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  470. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  471. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
  472. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  473. package/out/src/storage/methods/createAction.d.ts +7 -6
  474. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  475. package/out/src/storage/methods/createAction.js +7 -5
  476. package/out/src/storage/methods/createAction.js.map +1 -1
  477. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  478. package/out/src/storage/methods/generateChange.js +12 -11
  479. package/out/src/storage/methods/generateChange.js.map +1 -1
  480. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  481. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  482. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  483. package/out/src/storage/methods/getSyncChunk.js +42 -11
  484. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  485. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  486. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  487. package/out/src/storage/methods/internalizeAction.js +134 -129
  488. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  489. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  490. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  491. package/out/src/storage/methods/listActionsIdb.js +2 -2
  492. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  493. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  494. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  495. package/out/src/storage/methods/listActionsKnex.js +10 -9
  496. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  497. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  498. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  499. package/out/src/storage/methods/listCertificates.js.map +1 -1
  500. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  501. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  502. package/out/src/storage/methods/listOutputsIdb.js +11 -11
  503. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  504. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  505. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  506. package/out/src/storage/methods/listOutputsKnex.js +15 -23
  507. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  508. package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
  509. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  510. package/out/src/storage/methods/noSendExpiry.js +10 -8
  511. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  512. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
  513. package/out/src/storage/methods/preparedBeef.js +13 -14
  514. package/out/src/storage/methods/preparedBeef.js.map +1 -1
  515. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  516. package/out/src/storage/methods/processAction.js +37 -6
  517. package/out/src/storage/methods/processAction.js.map +1 -1
  518. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
  519. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  520. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  521. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  522. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  523. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  524. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
  525. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
  526. package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
  527. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
  528. package/out/src/storage/methods/validateSyncProof.d.ts +10 -2
  529. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
  530. package/out/src/storage/methods/validateSyncProof.js +27 -4
  531. package/out/src/storage/methods/validateSyncProof.js.map +1 -1
  532. package/out/src/storage/portable/index.d.ts.map +1 -1
  533. package/out/src/storage/portable/index.js +21 -13
  534. package/out/src/storage/portable/index.js.map +1 -1
  535. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  536. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  537. package/out/src/storage/remoting/BinaryJson.js +94 -8
  538. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  539. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  540. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  541. package/out/src/storage/remoting/KnexSessionManager.js +222 -30
  542. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  543. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
  544. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
  545. package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
  546. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
  547. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  548. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  549. package/out/src/storage/remoting/StorageClient.js +65 -8
  550. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  551. package/out/src/storage/remoting/StorageClientBase.d.ts +53 -10
  552. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  553. package/out/src/storage/remoting/StorageClientBase.js +304 -9
  554. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  555. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  556. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  557. package/out/src/storage/remoting/StorageMobile.js +13 -11
  558. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  559. package/out/src/storage/remoting/StorageServer.d.ts +10 -1
  560. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  561. package/out/src/storage/remoting/StorageServer.js +206 -21
  562. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  563. package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
  564. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
  565. package/out/src/storage/remoting/SyncTransfer.js +153 -0
  566. package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
  567. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
  568. package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
  569. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
  570. package/out/src/storage/remoting/syncChunkBinary.d.ts +4 -0
  571. package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
  572. package/out/src/storage/remoting/syncChunkBinary.js +38 -0
  573. package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
  574. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
  575. package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
  576. package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
  577. package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
  578. package/out/src/storage/schema/KnexMigrations.d.ts +3 -0
  579. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  580. package/out/src/storage/schema/KnexMigrations.js +89 -2
  581. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  582. package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -0
  583. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  584. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  585. package/out/src/storage/schema/entities/EntityOutput.js +11 -4
  586. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  587. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  588. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  589. package/out/src/storage/schema/entities/EntityProvenTx.js +95 -41
  590. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  591. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  592. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  593. package/out/src/storage/schema/entities/EntitySyncState.d.ts +3 -1
  594. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  595. package/out/src/storage/schema/entities/EntitySyncState.js +7 -1
  596. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  597. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  598. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  599. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  600. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  601. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  602. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  603. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  604. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  605. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  606. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  607. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  608. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  609. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  610. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  611. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  612. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  613. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  614. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  615. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  616. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  617. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  618. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  619. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  620. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  621. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  622. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  623. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  624. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  625. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  626. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  627. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  628. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  629. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  630. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  631. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  632. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  633. package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
  634. package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
  635. package/out/src/storage/sync/SyncPageBudget.js +24 -0
  636. package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
  637. package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
  638. package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
  639. package/out/src/storage/sync/syncCheckpoint.js +49 -0
  640. package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
  641. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  642. package/out/src/utility/actionBatchDigest.js +9 -7
  643. package/out/src/utility/actionBatchDigest.js.map +1 -1
  644. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  645. package/out/src/utility/actionBatchPack.js +7 -12
  646. package/out/src/utility/actionBatchPack.js.map +1 -1
  647. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  648. package/out/src/utility/brc153ReferenceLabels.js +4 -4
  649. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  650. package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
  651. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
  652. package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
  653. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
  654. package/out/src/utility/exactActionSpend.d.ts +11 -0
  655. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  656. package/out/src/utility/exactActionSpend.js +11 -0
  657. package/out/src/utility/exactActionSpend.js.map +1 -0
  658. package/out/src/utility/identityUtils.d.ts +44 -4
  659. package/out/src/utility/identityUtils.d.ts.map +1 -1
  660. package/out/src/utility/identityUtils.js +376 -61
  661. package/out/src/utility/identityUtils.js.map +1 -1
  662. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  663. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  664. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  665. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  666. package/out/src/utility/tscProofToMerklePath.js +35 -4
  667. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  668. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  669. package/out/src/utility/utilityHelpers.js +8 -6
  670. package/out/src/utility/utilityHelpers.js.map +1 -1
  671. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  672. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  673. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  674. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  675. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  676. package/out/src/utility/verifyOverlayOutput.js +22 -0
  677. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  678. package/out/src/utility/walletResultGuards.d.ts +14 -0
  679. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  680. package/out/src/utility/walletResultGuards.js +28 -0
  681. package/out/src/utility/walletResultGuards.js.map +1 -0
  682. package/out/src/wab-client/WABClient.d.ts +3 -17
  683. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  684. package/out/src/wab-client/WABClient.js +30 -14
  685. package/out/src/wab-client/WABClient.js.map +1 -1
  686. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  687. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  688. package/out/src/wab-client/WABResponseValidation.js +321 -0
  689. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  690. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  691. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  692. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  693. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksStorageIdb.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChaintracksStorageIdb.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class ChaintracksStorageKnex extends ChaintracksStorageBase imple
25
25
  _dbtype?: DBType;
26
26
  bulkFilesTableName: string;
27
27
  headerTableName: string;
28
+ stateTableName: string;
28
29
  constructor(options: ChaintracksStorageKnexOptions);
29
30
  get dbtype(): DBType;
30
31
  shutdown(): Promise<void>;
@@ -39,9 +40,11 @@ export declare class ChaintracksStorageKnex extends ChaintracksStorageBase imple
39
40
  findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
40
41
  findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>;
41
42
  findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
43
+ private withBulkFileLock;
42
44
  deleteBulkFile(fileId: number): Promise<number>;
43
45
  insertBulkFile(file: BulkHeaderFileInfo): Promise<number>;
44
46
  updateBulkFile(fileId: number, file: BulkHeaderFileInfo): Promise<number>;
47
+ replaceBulkFiles(files: BulkHeaderFileInfo[]): Promise<BulkHeaderFileInfo[]>;
45
48
  getBulkFiles(): Promise<BulkHeaderFileInfo[]>;
46
49
  getBulkFileData(fileId: number, offset?: number, length?: number): Promise<Uint8Array | undefined>;
47
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksStorageKnex.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChaintracksStorageKnex.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
8
8
  const HeightRange_1 = require("../util/HeightRange");
9
9
  const WERR_errors_1 = require("../../../../sdk/WERR_errors");
10
10
  const KnexMigrations_1 = require("../../../../storage/schema/KnexMigrations");
11
+ const BulkFileDataManager_1 = require("../util/BulkFileDataManager");
11
12
  function createInsertHeaderResult() {
12
13
  return {
13
14
  added: false,
@@ -22,6 +23,12 @@ function createInsertHeaderResult() {
22
23
  deactivatedHeaders: []
23
24
  };
24
25
  }
26
+ function toKnexBulkFileRow(file) {
27
+ const row = Object.fromEntries(Object.entries(file).filter(([, value]) => value !== undefined));
28
+ if (file.data != null)
29
+ row.data = Buffer.from(file.data);
30
+ return row;
31
+ }
25
32
  /**
26
33
  * Implements the ChaintracksStorageApi using Knex.js for both MySql and Sqlite support.
27
34
  * Also see `chaintracksStorageMemory` which leverages Knex support for an in memory database.
@@ -38,6 +45,7 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
38
45
  _dbtype;
39
46
  bulkFilesTableName = 'bulk_files';
40
47
  headerTableName = 'live_headers';
48
+ stateTableName = 'chaintracks_state';
41
49
  constructor(options) {
42
50
  super(options);
43
51
  if (options.knex == null)
@@ -84,19 +92,11 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
84
92
  };
85
93
  const count = Object.keys(config.migrationSource.migrations).length;
86
94
  for (let i = 0; i < count; i++) {
87
- try {
88
- const r = await this.knex.migrate.down(config);
89
- if (!r) {
90
- console.error('Migration returned falsy result await this.knex.migrate.down(config)');
91
- break;
92
- }
93
- }
94
- catch (migrationError) {
95
- // migrate.down throws when there are no more migrations to roll back — this is
96
- // the expected terminal condition, so we stop iterating rather than propagating.
97
- console.debug('migrate.down stopped (no more migrations or error):', migrationError);
95
+ if ((await this.knex.migrate.currentVersion(config)) === 'none')
98
96
  break;
99
- }
97
+ const result = await this.knex.migrate.down(config);
98
+ if (result == null)
99
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('database migration rollback returned no result');
100
100
  }
101
101
  this.hasMigrated = false;
102
102
  await super.dropAllData();
@@ -105,57 +105,161 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
105
105
  await this.knex.destroy();
106
106
  }
107
107
  async findLiveHeightRange() {
108
- return new HeightRange_1.HeightRange((await this.knex(this.headerTableName).where({ isActive: true }).min('height as v')).pop()?.v || 0, (await this.knex(this.headerTableName).where({ isActive: true }).max('height as v')).pop()?.v || -1);
108
+ const min = (await this.knex(this.headerTableName).where({ isActive: true }).min('height as v')).pop()?.v;
109
+ const max = (await this.knex(this.headerTableName).where({ isActive: true }).max('height as v')).pop()?.v;
110
+ if (min == null || max == null)
111
+ return HeightRange_1.HeightRange.empty;
112
+ const minHeight = Number(min);
113
+ const maxHeight = Number(max);
114
+ this.validateHeight(minHeight, 'stored minimum height');
115
+ this.validateHeight(maxHeight, 'stored maximum height');
116
+ return new HeightRange_1.HeightRange(minHeight, maxHeight);
109
117
  }
110
118
  async findLiveHeaderForHeaderId(headerId) {
119
+ if (!Number.isSafeInteger(headerId) || headerId < 1) {
120
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('headerId', 'a positive safe integer');
121
+ }
111
122
  const [header] = await this.knex(this.headerTableName).where({ headerId });
112
123
  if (!header)
113
124
  throw new Error(`HeaderId ${headerId} not found in live header database.`);
114
125
  return header;
115
126
  }
116
127
  async findChainTipHeader() {
117
- const [tip] = await this.knex(this.headerTableName).where({ isActive: true, isChainTip: true });
128
+ const tips = await this.knex(this.headerTableName)
129
+ .where({ isActive: true, isChainTip: true })
130
+ .limit(2);
131
+ if (tips.length > 1)
132
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('multiple active chain tips exist in the database');
133
+ const [tip] = tips;
118
134
  if (!tip)
119
135
  throw new Error('Database contains no active chain tip header.');
120
136
  return tip;
121
137
  }
122
138
  async findChainTipHeaderOrUndefined() {
123
- const [tip] = await this.knex(this.headerTableName).where({ isActive: true, isChainTip: true });
124
- return tip;
139
+ const tips = await this.knex(this.headerTableName)
140
+ .where({ isActive: true, isChainTip: true })
141
+ .limit(2);
142
+ if (tips.length > 1)
143
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('multiple active chain tips exist in the database');
144
+ return tips[0];
125
145
  }
126
146
  async findLiveHeaderForHeight(height) {
127
- const [header] = await this.knex(this.headerTableName).where({ height, isActive: true });
128
- return header || null;
147
+ this.validateHeight(height);
148
+ const headers = await this.knex(this.headerTableName).where({ height, isActive: true }).limit(2);
149
+ if (headers.length > 1)
150
+ throw new WERR_errors_1.WERR_INVALID_OPERATION(`multiple active headers exist at height ${height}`);
151
+ return headers[0] || null;
129
152
  }
130
153
  async findLiveHeaderForBlockHash(hash) {
154
+ this.validateHash(hash);
131
155
  const [header] = await this.knex(this.headerTableName).where({ hash });
132
156
  const result = header || null;
133
157
  return result;
134
158
  }
135
159
  async findLiveHeaderForMerkleRoot(merkleRoot) {
136
- const [header] = await this.knex(this.headerTableName).where({ merkleRoot });
137
- return header;
160
+ this.validateHash(merkleRoot, 'merkleRoot');
161
+ const [header] = await this.knex(this.headerTableName)
162
+ .where({ merkleRoot })
163
+ .orderBy('isActive', 'desc')
164
+ .limit(1);
165
+ return header || null;
166
+ }
167
+ async withBulkFileLock(work) {
168
+ return await this.knex.transaction(async (trx) => {
169
+ const lockQuery = trx(this.stateTableName).where({ stateId: 1 });
170
+ const state = this.dbtype === 'MySQL' ? await lockQuery.forUpdate().first() : await lockQuery.first();
171
+ if (state == null)
172
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('Chaintracks bulk-file transaction lock row is missing');
173
+ return await work(trx);
174
+ });
138
175
  }
139
176
  async deleteBulkFile(fileId) {
140
- const count = await this.knex(this.bulkFilesTableName).where({ fileId }).del();
141
- return count;
177
+ if (!Number.isSafeInteger(fileId) || fileId < 1) {
178
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a positive safe integer');
179
+ }
180
+ return await this.withBulkFileLock(async (trx) => await trx(this.bulkFilesTableName).where({ fileId }).del());
142
181
  }
143
182
  async insertBulkFile(file) {
144
- if (!file.fileId)
145
- delete file.fileId;
146
- const [id] = await this.knex(this.bulkFilesTableName).insert(file);
147
- file.fileId = id;
148
- return id;
183
+ const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true);
184
+ if (canonical.chain !== this.chain)
185
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
186
+ delete canonical.fileId;
187
+ return await this.withBulkFileLock(async (trx) => {
188
+ const [id] = await trx(this.bulkFilesTableName).insert(toKnexBulkFileRow(canonical));
189
+ const fileId = Number(id);
190
+ if (!Number.isSafeInteger(fileId) || fileId < 1) {
191
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('database returned an invalid bulk-file id');
192
+ }
193
+ return fileId;
194
+ });
149
195
  }
150
196
  async updateBulkFile(fileId, file) {
151
- const n = await this.knex(this.bulkFilesTableName).where({ fileId }).update(file);
152
- return n;
197
+ if (!Number.isSafeInteger(fileId) || fileId < 1) {
198
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a positive safe integer');
199
+ }
200
+ const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true);
201
+ if (canonical.chain !== this.chain)
202
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
203
+ if (canonical.fileId !== undefined && canonical.fileId !== fileId) {
204
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.fileId', 'undefined or equal to fileId');
205
+ }
206
+ delete canonical.fileId;
207
+ return await this.withBulkFileLock(async (trx) => await trx(this.bulkFilesTableName).where({ fileId }).update(toKnexBulkFileRow(canonical)));
208
+ }
209
+ async replaceBulkFiles(files) {
210
+ const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileSequence)(files, true).map(value => {
211
+ if (value.chain !== this.chain)
212
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
213
+ return value;
214
+ });
215
+ return await this.withBulkFileLock(async (trx) => {
216
+ const currentRows = await trx(this.bulkFilesTableName).select('fileId');
217
+ const currentIds = new Set();
218
+ for (const row of currentRows) {
219
+ const fileId = Number(row.fileId);
220
+ if (!Number.isSafeInteger(fileId) || fileId < 1 || currentIds.has(fileId)) {
221
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('database contains an invalid or duplicate bulk-file id');
222
+ }
223
+ currentIds.add(fileId);
224
+ }
225
+ const retainedIds = new Set();
226
+ const committed = [];
227
+ for (const file of canonical) {
228
+ const row = toKnexBulkFileRow(file);
229
+ delete row.fileId;
230
+ let fileId = file.fileId;
231
+ if (fileId !== undefined) {
232
+ if (!currentIds.has(fileId) || retainedIds.has(fileId)) {
233
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.fileId', 'a unique id belonging to the current bulk-file set');
234
+ }
235
+ const affected = await trx(this.bulkFilesTableName).where({ fileId }).update(row);
236
+ if (affected !== 1)
237
+ throw new WERR_errors_1.WERR_INVALID_OPERATION(`failed to replace bulk file ${fileId}`);
238
+ }
239
+ else {
240
+ const [inserted] = await trx(this.bulkFilesTableName).insert(row);
241
+ fileId = Number(inserted);
242
+ if (!Number.isSafeInteger(fileId) || fileId < 1) {
243
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('database returned an invalid bulk-file id');
244
+ }
245
+ }
246
+ retainedIds.add(fileId);
247
+ committed.push({ ...file, fileId });
248
+ }
249
+ const deleteIds = [...currentIds].filter(fileId => !retainedIds.has(fileId));
250
+ if (deleteIds.length > 0) {
251
+ const deleted = await trx(this.bulkFilesTableName).whereIn('fileId', deleteIds).del();
252
+ if (deleted !== deleteIds.length)
253
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('failed to replace the complete bulk-file set');
254
+ }
255
+ return committed;
256
+ });
153
257
  }
154
258
  async getBulkFiles() {
155
259
  const files = await this.knex(this.bulkFilesTableName)
156
260
  .select('fileId', 'chain', 'fileName', 'firstHeight', 'count', 'prevHash', 'lastHash', 'fileHash', 'prevChainWork', 'lastChainWork', 'validated', 'sourceUrl')
157
261
  .orderBy('firstHeight', 'asc');
158
- return files;
262
+ return files.map(file => (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true));
159
263
  }
160
264
  async getBulkFileData(fileId, offset, length) {
161
265
  await this.makeAvailable();
@@ -167,29 +271,26 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
167
271
  if (hasOffset !== hasLength) {
168
272
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'both defined or both undefined');
169
273
  }
170
- if (hasOffset && (!Number.isSafeInteger(offset) ||
171
- !Number.isSafeInteger(length) ||
172
- offset < 0 ||
173
- length < 0 ||
174
- !Number.isSafeInteger(offset + length))) {
274
+ if (hasOffset &&
275
+ (!Number.isSafeInteger(offset) ||
276
+ !Number.isSafeInteger(length) ||
277
+ offset < 0 ||
278
+ length < 0 ||
279
+ !Number.isSafeInteger(offset + length))) {
175
280
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'non-negative safe integers with a safe sum');
176
281
  }
177
282
  let data;
178
283
  if (hasOffset) {
179
- const sql = this.dbtype === 'MySQL'
180
- ? 'substring(?? from ? for ?)'
181
- : 'substr(??, ?, ?)';
284
+ const sql = this.dbtype === 'MySQL' ? 'substring(?? from ? for ?)' : 'substr(??, ?, ?)';
182
285
  const slice = this.knex.raw(sql, ['data', offset + 1, length]);
183
- const r = (0, utilityHelpers_1.verifyOneOrNone)(await this.knex(this.bulkFilesTableName)
184
- .select({ data: slice })
185
- .where({ fileId }));
286
+ const r = (0, utilityHelpers_1.verifyOneOrNone)(await this.knex(this.bulkFilesTableName).select({ data: slice }).where({ fileId }));
186
287
  if (r?.data != null) {
187
288
  data = Uint8Array.from(r.data);
188
289
  }
189
290
  }
190
291
  else {
191
292
  const r = (0, utilityHelpers_1.verifyOneOrNone)(await this.knex(this.bulkFilesTableName).where({ fileId }).select('data'));
192
- if (r.data)
293
+ if (r?.data)
193
294
  data = Uint8Array.from(r.data);
194
295
  }
195
296
  return data;
@@ -223,14 +324,21 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
223
324
  }
224
325
  async findActiveAncestor(trx, table, oneBack, result) {
225
326
  let activeAncestor = oneBack;
327
+ const visited = new Set();
226
328
  while (!activeAncestor.isActive) {
329
+ this.recordTraversalVisit(visited, activeAncestor, 'finding the active ancestor');
330
+ if (activeAncestor.previousHeaderId == null) {
331
+ result.noActiveAncestor = true;
332
+ return undefined;
333
+ }
227
334
  const [previousHeader] = await trx(table).where({
228
- headerId: activeAncestor.previousHeaderId || -1
335
+ headerId: activeAncestor.previousHeaderId
229
336
  });
230
337
  if (previousHeader == null) {
231
338
  result.noActiveAncestor = true;
232
339
  return undefined;
233
340
  }
341
+ this.validateStoredParentLink(activeAncestor, previousHeader);
234
342
  activeAncestor = previousHeader;
235
343
  }
236
344
  return activeAncestor;
@@ -238,27 +346,42 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
238
346
  async applyReorganization(trx, table, oneBack, activeAncestor, result) {
239
347
  if (activeAncestor.headerId === oneBack.headerId)
240
348
  return;
241
- let [headerToDeactivate] = await trx(table).where({
242
- isChainTip: true,
243
- isActive: true
244
- });
349
+ const activeTips = await trx(table).where({ isChainTip: true, isActive: true }).limit(2);
350
+ if (activeTips.length !== 1) {
351
+ throw new WERR_errors_1.WERR_INVALID_OPERATION(`expected one active chain tip, found ${activeTips.length}`);
352
+ }
353
+ let headerToDeactivate = activeTips[0];
354
+ const deactivated = new Set();
245
355
  while (headerToDeactivate.headerId !== activeAncestor.headerId) {
356
+ this.recordTraversalVisit(deactivated, headerToDeactivate, 'deactivating the prior active chain');
246
357
  result.deactivatedHeaders.push(headerToDeactivate);
247
- await trx(table)
248
- .where({ headerId: headerToDeactivate.headerId })
249
- .update({ isActive: false });
250
- [headerToDeactivate] = await trx(table).where({
251
- headerId: headerToDeactivate.previousHeaderId || -1
358
+ await trx(table).where({ headerId: headerToDeactivate.headerId }).update({ isActive: false });
359
+ if (headerToDeactivate.previousHeaderId == null) {
360
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('active chain does not reach the selected reorganization ancestor');
361
+ }
362
+ const [previousHeader] = await trx(table).where({
363
+ headerId: headerToDeactivate.previousHeaderId
252
364
  });
365
+ if (previousHeader == null)
366
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('active chain contains a missing parent header');
367
+ this.validateStoredParentLink(headerToDeactivate, previousHeader);
368
+ headerToDeactivate = previousHeader;
253
369
  }
254
370
  let headerToActivate = oneBack;
371
+ const activated = new Set();
255
372
  while (headerToActivate.headerId !== activeAncestor.headerId) {
256
- await trx(table)
257
- .where({ headerId: headerToActivate.headerId })
258
- .update({ isActive: true });
259
- [headerToActivate] = await trx(table).where({
260
- headerId: headerToActivate.previousHeaderId || -1
373
+ this.recordTraversalVisit(activated, headerToActivate, 'activating the replacement chain');
374
+ await trx(table).where({ headerId: headerToActivate.headerId }).update({ isActive: true });
375
+ if (headerToActivate.previousHeaderId == null) {
376
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('replacement chain does not reach the selected reorganization ancestor');
377
+ }
378
+ const [previousHeader] = await trx(table).where({
379
+ headerId: headerToActivate.previousHeaderId
261
380
  });
381
+ if (previousHeader == null)
382
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('replacement chain contains a missing parent header');
383
+ this.validateStoredParentLink(headerToActivate, previousHeader);
384
+ headerToActivate = previousHeader;
262
385
  }
263
386
  }
264
387
  async prepareActiveTip(trx, table, header, oneBack, result) {
@@ -268,8 +391,7 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
268
391
  if (activeAncestor == null)
269
392
  return false;
270
393
  if (!(oneBack.isActive && oneBack.isChainTip)) {
271
- result.reorgDepth =
272
- Math.min(result.priorTip.height, header.height) - activeAncestor.height;
394
+ result.reorgDepth = Math.min(result.priorTip.height, header.height) - activeAncestor.height;
273
395
  }
274
396
  await this.applyReorganization(trx, table, oneBack, activeAncestor, result);
275
397
  return true;
@@ -297,11 +419,17 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
297
419
  result.priorTip = oneBack;
298
420
  }
299
421
  else {
300
- ;
301
- [result.priorTip] = await trx(table).where({
422
+ const activeTips = await trx(table)
423
+ .where({
302
424
  isActive: true,
303
425
  isChainTip: true
304
- });
426
+ })
427
+ .limit(2);
428
+ if (activeTips.length > 1) {
429
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('multiple active chain tips exist in the database');
430
+ }
431
+ ;
432
+ [result.priorTip] = activeTips;
305
433
  }
306
434
  if (result.priorTip == null) {
307
435
  result.noTip = true;
@@ -320,23 +448,36 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
320
448
  return;
321
449
  }
322
450
  if (oneBack.isChainTip) {
323
- await trx(table)
324
- .where({ headerId: oneBack.headerId })
325
- .update({ isChainTip: false });
451
+ await trx(table).where({ headerId: oneBack.headerId }).update({ isChainTip: false });
326
452
  }
327
453
  await trx(table).insert(newHeader);
328
454
  result.added = true;
329
455
  }
330
456
  async insertHeader(header) {
457
+ header = this.validateIncomingHeader(header);
458
+ await this.makeAvailable();
331
459
  const table = this.headerTableName;
332
460
  const r = createInsertHeaderResult();
333
- await this.knex.transaction(async (trx) => this.insertHeaderWithinTransaction(trx, table, header, r));
461
+ await this.knex.transaction(async (trx) => {
462
+ const lockQuery = trx(this.stateTableName).where({ stateId: 1 });
463
+ const state = this.dbtype === 'MySQL' ? await lockQuery.forUpdate().first() : await lockQuery.first();
464
+ if (state == null)
465
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('Chaintracks insertion lock row is missing');
466
+ await this.insertHeaderWithinTransaction(trx, table, header, r);
467
+ });
334
468
  if (r.added && r.isActiveTip)
335
- this.pruneLiveBlockHeaders(header.height);
469
+ await this.pruneLiveBlockHeaders(header.height);
336
470
  return r;
337
471
  }
338
472
  async findMaxHeaderId() {
339
- return (await this.knex(this.headerTableName).max('headerId as v')).pop()?.v || -1;
473
+ const value = (await this.knex(this.headerTableName).max('headerId as v')).pop()?.v;
474
+ if (value == null)
475
+ return -1;
476
+ const headerId = Number(value);
477
+ if (!Number.isSafeInteger(headerId) || headerId < 1) {
478
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('database contains an invalid maximum headerId');
479
+ }
480
+ return headerId;
340
481
  }
341
482
  async deleteLiveBlockHeaders() {
342
483
  const table = this.headerTableName;
@@ -347,32 +488,27 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
347
488
  }
348
489
  async deleteBulkBlockHeaders() {
349
490
  const table = this.bulkFilesTableName;
350
- await this.knex.transaction(async (trx) => {
491
+ await this.withBulkFileLock(async (trx) => {
351
492
  await trx(table).del();
352
493
  });
353
494
  }
354
495
  async deleteOlderLiveBlockHeaders(maxHeight) {
496
+ this.validateHeight(maxHeight, 'maxHeight');
355
497
  return await this.knex.transaction(async (trx) => {
356
- try {
357
- const tableName = this.headerTableName;
358
- await trx(tableName)
359
- .whereIn('previousHeaderId', function () {
360
- this.select('headerId').from(tableName).where('height', '<=', maxHeight);
361
- })
362
- .update({ previousHeaderId: null });
363
- const deletedCount = await trx(tableName).where('height', '<=', maxHeight).del();
364
- // Commit transaction
365
- await trx.commit();
366
- return deletedCount;
367
- }
368
- catch (error) {
369
- // Rollback on error
370
- await trx.rollback();
371
- throw error;
372
- }
498
+ const tableName = this.headerTableName;
499
+ await trx(tableName)
500
+ .whereIn('previousHeaderId', function () {
501
+ this.select('headerId').from(tableName).where('height', '<=', maxHeight);
502
+ })
503
+ .update({ previousHeaderId: null });
504
+ const deleted = await trx(tableName).where('height', '<=', maxHeight).del();
505
+ return Number(deleted ?? 0);
373
506
  });
374
507
  }
375
508
  async getLiveHeaders(range) {
509
+ this.validateRange(range);
510
+ if (range.isEmpty)
511
+ return [];
376
512
  const headers = await this.knex(this.headerTableName)
377
513
  .where({ isActive: true })
378
514
  .andWhere('height', '>=', range.minHeight)
@@ -390,6 +526,9 @@ class ChaintracksStorageKnex extends ChaintracksStorageBase_1.ChaintracksStorage
390
526
  return r;
391
527
  }
392
528
  async liveHeadersForBulk(count) {
529
+ if (!Number.isSafeInteger(count) || count < 1 || count > 100_000) {
530
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('count', 'an integer from 1 through 100000');
531
+ }
393
532
  const headers = await this.knex(this.headerTableName)
394
533
  .where({ isActive: true })
395
534
  .limit(count)