@bsv/wallet-toolbox 2.13.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 (659) hide show
  1. package/CHANGELOG.md +283 -1
  2. package/README.md +403 -5
  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/wallet.md +10155 -10871
  11. package/out/src/CWIStyleWalletManager.d.ts +6 -8
  12. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  13. package/out/src/CWIStyleWalletManager.js +170 -125
  14. package/out/src/CWIStyleWalletManager.js.map +1 -1
  15. package/out/src/Setup.d.ts +2 -0
  16. package/out/src/Setup.d.ts.map +1 -1
  17. package/out/src/Setup.js +3 -2
  18. package/out/src/Setup.js.map +1 -1
  19. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  20. package/out/src/ShamirWalletManager.js +34 -19
  21. package/out/src/ShamirWalletManager.js.map +1 -1
  22. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  23. package/out/src/SimpleWalletManager.js +7 -6
  24. package/out/src/SimpleWalletManager.js.map +1 -1
  25. package/out/src/Wallet.d.ts +50 -11
  26. package/out/src/Wallet.d.ts.map +1 -1
  27. package/out/src/Wallet.js +183 -107
  28. package/out/src/Wallet.js.map +1 -1
  29. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  30. package/out/src/WalletAuthenticationManager.js +282 -26
  31. package/out/src/WalletAuthenticationManager.js.map +1 -1
  32. package/out/src/WalletLogger.js +1 -1
  33. package/out/src/WalletLogger.js.map +1 -1
  34. package/out/src/WalletPermissionsManager.d.ts +30 -17
  35. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  36. package/out/src/WalletPermissionsManager.js +540 -312
  37. package/out/src/WalletPermissionsManager.js.map +1 -1
  38. package/out/src/WalletSettingsManager.d.ts +3 -2
  39. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  40. package/out/src/WalletSettingsManager.js +141 -6
  41. package/out/src/WalletSettingsManager.js.map +1 -1
  42. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  43. package/out/src/entropy/EntropyCollector.js +3 -2
  44. package/out/src/entropy/EntropyCollector.js.map +1 -1
  45. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  46. package/out/src/fundWalletP2PKH.js +143 -44
  47. package/out/src/fundWalletP2PKH.js.map +1 -1
  48. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  49. package/out/src/mockchain/MockChainTracker.js +5 -5
  50. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  51. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  52. package/out/src/mockchain/MockServices.js +32 -8
  53. package/out/src/mockchain/MockServices.js.map +1 -1
  54. package/out/src/monitor/Monitor.d.ts +17 -0
  55. package/out/src/monitor/Monitor.d.ts.map +1 -1
  56. package/out/src/monitor/Monitor.js +206 -42
  57. package/out/src/monitor/Monitor.js.map +1 -1
  58. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  59. package/out/src/monitor/MonitorDaemon.js +64 -16
  60. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  61. package/out/src/monitor/monitorValidation.d.ts +12 -0
  62. package/out/src/monitor/monitorValidation.d.ts.map +1 -0
  63. package/out/src/monitor/monitorValidation.js +133 -0
  64. package/out/src/monitor/monitorValidation.js.map +1 -0
  65. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
  66. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  67. package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
  68. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  69. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
  70. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  71. package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
  72. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  73. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  74. package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
  75. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  76. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  77. package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
  78. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  79. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  80. package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
  81. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  82. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  83. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
  84. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  85. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  86. package/out/src/monitor/tasks/TaskReorg.js +4 -4
  87. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  88. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  89. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
  90. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  91. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
  92. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  93. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
  94. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  95. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
  96. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  97. package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
  98. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  99. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  100. package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
  101. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  102. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
  103. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  104. package/out/src/monitor/tasks/TaskUnFail.js +26 -8
  105. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  106. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  107. package/out/src/sdk/PrivilegedKeyManager.js +3 -2
  108. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  109. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  110. package/out/src/sdk/WalletErrorFromJson.js +112 -2
  111. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  112. package/out/src/sdk/WalletServices.interfaces.d.ts +17 -1
  113. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  114. package/out/src/services/Services.d.ts +4 -0
  115. package/out/src/services/Services.d.ts.map +1 -1
  116. package/out/src/services/Services.js +260 -117
  117. package/out/src/services/Services.js.map +1 -1
  118. package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
  119. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  120. package/out/src/services/chaintracker/BHServiceClient.js +267 -66
  121. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  122. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
  123. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  124. package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
  125. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  126. package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
  127. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
  128. package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
  129. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
  130. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  131. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
  132. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  133. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
  134. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
  136. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  137. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
  138. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  139. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
  140. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  141. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
  142. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  143. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
  144. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  145. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
  146. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  147. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
  148. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  149. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
  150. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  151. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
  152. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  153. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
  154. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  155. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
  156. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  157. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
  159. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  161. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
  162. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  163. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  164. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  165. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
  167. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
  169. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
  171. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  172. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
  173. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  174. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
  175. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  176. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  177. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
  178. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
  180. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
  182. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
  185. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
  187. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
  189. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  194. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
  195. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
  197. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
  204. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
  206. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
  208. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  209. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
  218. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  219. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
  220. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  222. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
  224. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
  226. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  228. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  231. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  234. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
  235. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  236. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
  238. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  240. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
  241. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
  243. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  244. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
  245. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  246. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  247. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +486 -82
  249. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
  252. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
  255. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  257. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
  258. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  259. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
  260. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  261. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
  262. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
  264. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  265. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
  266. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  267. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
  268. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
  270. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
  272. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
  273. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
  274. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  276. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  277. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
  278. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
  279. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
  280. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
  281. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
  282. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
  284. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
  286. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  287. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
  288. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  289. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
  290. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  291. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
  292. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  293. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
  294. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
  295. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
  296. package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
  297. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  299. package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
  300. package/out/src/services/classifyOutputUtxo.js +19 -10
  301. package/out/src/services/classifyOutputUtxo.js.map +1 -1
  302. package/out/src/services/fiatRateValidation.d.ts +12 -0
  303. package/out/src/services/fiatRateValidation.d.ts.map +1 -0
  304. package/out/src/services/fiatRateValidation.js +138 -0
  305. package/out/src/services/fiatRateValidation.js.map +1 -0
  306. package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
  307. package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
  308. package/out/src/services/getCanonicalMerklePath.js +90 -0
  309. package/out/src/services/getCanonicalMerklePath.js.map +1 -0
  310. package/out/src/services/providers/ARC.d.ts +3 -16
  311. package/out/src/services/providers/ARC.d.ts.map +1 -1
  312. package/out/src/services/providers/ARC.js +36 -37
  313. package/out/src/services/providers/ARC.js.map +1 -1
  314. package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
  315. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  316. package/out/src/services/providers/ArcSSEClient.js +352 -85
  317. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  318. package/out/src/services/providers/Arcade.d.ts +1 -0
  319. package/out/src/services/providers/Arcade.d.ts.map +1 -1
  320. package/out/src/services/providers/Arcade.js +56 -41
  321. package/out/src/services/providers/Arcade.js.map +1 -1
  322. package/out/src/services/providers/Bitails.d.ts +3 -0
  323. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  324. package/out/src/services/providers/Bitails.js +79 -12
  325. package/out/src/services/providers/Bitails.js.map +1 -1
  326. package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
  327. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  328. package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
  329. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  330. package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
  331. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  332. package/out/src/services/providers/WhatsOnChain.js +221 -69
  333. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  334. package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
  335. package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
  336. package/out/src/services/providers/arcProviderConfig.js +83 -0
  337. package/out/src/services/providers/arcProviderConfig.js.map +1 -0
  338. package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
  339. package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
  340. package/out/src/services/providers/arcTxDataValidation.js +92 -0
  341. package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
  342. package/out/src/services/providers/exchangeRates.d.ts +3 -3
  343. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  344. package/out/src/services/providers/exchangeRates.js +153 -226
  345. package/out/src/services/providers/exchangeRates.js.map +1 -1
  346. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  347. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  348. package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
  349. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
  350. package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
  351. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
  352. package/out/src/services/validateMerklePathResult.d.ts +30 -0
  353. package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
  354. package/out/src/services/validateMerklePathResult.js +272 -0
  355. package/out/src/services/validateMerklePathResult.js.map +1 -0
  356. package/out/src/services/validatePostBeefResult.d.ts +17 -0
  357. package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
  358. package/out/src/services/validatePostBeefResult.js +334 -0
  359. package/out/src/services/validatePostBeefResult.js.map +1 -0
  360. package/out/src/services/validateRawTxResult.d.ts +6 -0
  361. package/out/src/services/validateRawTxResult.d.ts.map +1 -0
  362. package/out/src/services/validateRawTxResult.js +77 -0
  363. package/out/src/services/validateRawTxResult.js.map +1 -0
  364. package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
  365. package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
  366. package/out/src/services/validateScriptHashHistoryResult.js +99 -0
  367. package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
  368. package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
  369. package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
  370. package/out/src/services/validateStatusForTxidsResult.js +181 -0
  371. package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
  372. package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
  373. package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
  374. package/out/src/services/validateUtxoStatusResult.js +126 -0
  375. package/out/src/services/validateUtxoStatusResult.js.map +1 -0
  376. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
  377. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
  378. package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
  379. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
  380. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
  381. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
  382. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
  383. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
  384. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
  385. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
  386. package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
  387. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
  388. package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
  389. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  390. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  391. package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
  392. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  393. package/out/src/signer/methods/buildSignableTransaction.js +6 -11
  394. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  395. package/out/src/signer/methods/createAction.d.ts +4 -3
  396. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  397. package/out/src/signer/methods/createAction.js +4 -2
  398. package/out/src/signer/methods/createAction.js.map +1 -1
  399. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
  400. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
  401. package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
  402. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
  403. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  404. package/out/src/signer/methods/internalizeAction.js +2 -2
  405. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  406. package/out/src/signer/methods/proveCertificate.d.ts +3 -2
  407. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  408. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  409. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  410. package/out/src/signer/methods/signAction.js +3 -2
  411. package/out/src/signer/methods/signAction.js.map +1 -1
  412. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  413. package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
  414. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  415. package/out/src/storage/StorageIdb.d.ts +5 -3
  416. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  417. package/out/src/storage/StorageIdb.js +15 -20
  418. package/out/src/storage/StorageIdb.js.map +1 -1
  419. package/out/src/storage/StorageKnex.d.ts +5 -3
  420. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  421. package/out/src/storage/StorageKnex.js +143 -93
  422. package/out/src/storage/StorageKnex.js.map +1 -1
  423. package/out/src/storage/StorageProvider.d.ts +19 -9
  424. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  425. package/out/src/storage/StorageProvider.js +229 -145
  426. package/out/src/storage/StorageProvider.js.map +1 -1
  427. package/out/src/storage/StorageReader.d.ts +1 -1
  428. package/out/src/storage/StorageReader.d.ts.map +1 -1
  429. package/out/src/storage/StorageReader.js +9 -42
  430. package/out/src/storage/StorageReader.js.map +1 -1
  431. package/out/src/storage/StorageReaderWriter.d.ts +1 -0
  432. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  433. package/out/src/storage/StorageReaderWriter.js +37 -36
  434. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  435. package/out/src/storage/StorageSyncReader.d.ts +1 -1
  436. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  437. package/out/src/storage/StorageSyncReader.js +3 -36
  438. package/out/src/storage/StorageSyncReader.js.map +1 -1
  439. package/out/src/storage/WalletStorageManager.d.ts +8 -7
  440. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  441. package/out/src/storage/WalletStorageManager.js +38 -65
  442. package/out/src/storage/WalletStorageManager.js.map +1 -1
  443. package/out/src/storage/adminServer/adminServer.d.ts +1 -1
  444. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  445. package/out/src/storage/adminServer/adminServer.js +16 -44
  446. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  447. package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
  448. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  449. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  450. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
  451. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  452. package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
  453. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  454. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  455. package/out/src/storage/methods/actionBatch.js +3 -2
  456. package/out/src/storage/methods/actionBatch.js.map +1 -1
  457. package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
  458. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
  459. package/out/src/storage/methods/actionBatchBlobs.js +40 -22
  460. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
  461. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
  462. package/out/src/storage/methods/actionBatchValidation.js +22 -30
  463. package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
  464. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
  465. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  466. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
  467. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  468. package/out/src/storage/methods/createAction.d.ts +7 -6
  469. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  470. package/out/src/storage/methods/createAction.js +7 -5
  471. package/out/src/storage/methods/createAction.js.map +1 -1
  472. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  473. package/out/src/storage/methods/generateChange.js +12 -11
  474. package/out/src/storage/methods/generateChange.js.map +1 -1
  475. package/out/src/storage/methods/getBeefForTransaction.js +5 -7
  476. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  477. package/out/src/storage/methods/internalizeAction.d.ts +3 -3
  478. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  479. package/out/src/storage/methods/internalizeAction.js +134 -129
  480. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  481. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  482. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  483. package/out/src/storage/methods/listActionsIdb.js +2 -2
  484. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  485. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  486. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  487. package/out/src/storage/methods/listActionsKnex.js +10 -9
  488. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  489. package/out/src/storage/methods/listCertificates.d.ts +3 -2
  490. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  491. package/out/src/storage/methods/listCertificates.js.map +1 -1
  492. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  493. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  494. package/out/src/storage/methods/listOutputsIdb.js +11 -11
  495. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  496. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  497. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  498. package/out/src/storage/methods/listOutputsKnex.js +15 -23
  499. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  500. package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
  501. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
  502. package/out/src/storage/methods/noSendExpiry.js +10 -8
  503. package/out/src/storage/methods/noSendExpiry.js.map +1 -1
  504. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
  505. package/out/src/storage/methods/preparedBeef.js +13 -14
  506. package/out/src/storage/methods/preparedBeef.js.map +1 -1
  507. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  508. package/out/src/storage/methods/processAction.js +37 -6
  509. package/out/src/storage/methods/processAction.js.map +1 -1
  510. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
  511. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  512. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  513. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  514. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  515. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  516. package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
  517. package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
  518. package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
  519. package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
  520. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
  521. package/out/src/storage/methods/validateSyncProof.js +3 -3
  522. package/out/src/storage/methods/validateSyncProof.js.map +1 -1
  523. package/out/src/storage/portable/index.d.ts.map +1 -1
  524. package/out/src/storage/portable/index.js +21 -13
  525. package/out/src/storage/portable/index.js.map +1 -1
  526. package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
  527. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
  528. package/out/src/storage/remoting/BinaryJson.js +37 -0
  529. package/out/src/storage/remoting/BinaryJson.js.map +1 -1
  530. package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
  531. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  532. package/out/src/storage/remoting/KnexSessionManager.js +222 -30
  533. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  534. package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -1
  535. package/out/src/storage/remoting/KnexSyncTransferStore.js +3 -4
  536. package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -1
  537. package/out/src/storage/remoting/StorageClient.d.ts +6 -1
  538. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  539. package/out/src/storage/remoting/StorageClient.js +63 -6
  540. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  541. package/out/src/storage/remoting/StorageClientBase.d.ts +23 -6
  542. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  543. package/out/src/storage/remoting/StorageClientBase.js +148 -19
  544. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  545. package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
  546. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  547. package/out/src/storage/remoting/StorageMobile.js +11 -9
  548. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  549. package/out/src/storage/remoting/StorageServer.d.ts +5 -1
  550. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  551. package/out/src/storage/remoting/StorageServer.js +95 -19
  552. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  553. package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -1
  554. package/out/src/storage/remoting/SyncTransfer.js +3 -2
  555. package/out/src/storage/remoting/SyncTransfer.js.map +1 -1
  556. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  557. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  558. package/out/src/storage/schema/KnexMigrations.js +28 -6
  559. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  560. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  561. package/out/src/storage/schema/entities/EntityOutput.js +11 -4
  562. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  563. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  564. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  565. package/out/src/storage/schema/entities/EntityProvenTx.js +93 -39
  566. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  567. package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
  568. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  569. package/out/src/storage/schema/entities/EntitySyncState.js +1 -1
  570. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  571. package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
  572. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  573. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  574. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  575. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  576. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  577. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  578. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  579. package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
  580. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  581. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  582. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  583. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  584. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  585. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  586. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  587. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  588. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  589. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
  590. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  591. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  592. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  593. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  594. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  595. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  596. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  597. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  598. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  599. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  600. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  601. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  602. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  603. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  604. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  605. package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
  606. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  607. package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
  608. package/out/src/utility/actionBatchDigest.js +9 -7
  609. package/out/src/utility/actionBatchDigest.js.map +1 -1
  610. package/out/src/utility/actionBatchPack.d.ts.map +1 -1
  611. package/out/src/utility/actionBatchPack.js +7 -12
  612. package/out/src/utility/actionBatchPack.js.map +1 -1
  613. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
  614. package/out/src/utility/brc153ReferenceLabels.js +4 -4
  615. package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
  616. package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
  617. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
  618. package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
  619. package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
  620. package/out/src/utility/exactActionSpend.d.ts +11 -0
  621. package/out/src/utility/exactActionSpend.d.ts.map +1 -0
  622. package/out/src/utility/exactActionSpend.js +11 -0
  623. package/out/src/utility/exactActionSpend.js.map +1 -0
  624. package/out/src/utility/identityUtils.d.ts +44 -4
  625. package/out/src/utility/identityUtils.d.ts.map +1 -1
  626. package/out/src/utility/identityUtils.js +376 -61
  627. package/out/src/utility/identityUtils.js.map +1 -1
  628. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  629. package/out/src/utility/parseTxScriptOffsets.js +1 -19
  630. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  631. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  632. package/out/src/utility/tscProofToMerklePath.js +35 -4
  633. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  634. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  635. package/out/src/utility/utilityHelpers.js +8 -6
  636. package/out/src/utility/utilityHelpers.js.map +1 -1
  637. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  638. package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
  639. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  640. package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
  641. package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
  642. package/out/src/utility/verifyOverlayOutput.js +22 -0
  643. package/out/src/utility/verifyOverlayOutput.js.map +1 -0
  644. package/out/src/utility/walletResultGuards.d.ts +14 -0
  645. package/out/src/utility/walletResultGuards.d.ts.map +1 -0
  646. package/out/src/utility/walletResultGuards.js +28 -0
  647. package/out/src/utility/walletResultGuards.js.map +1 -0
  648. package/out/src/wab-client/WABClient.d.ts +3 -17
  649. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  650. package/out/src/wab-client/WABClient.js +30 -14
  651. package/out/src/wab-client/WABClient.js.map +1 -1
  652. package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
  653. package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
  654. package/out/src/wab-client/WABResponseValidation.js +321 -0
  655. package/out/src/wab-client/WABResponseValidation.js.map +1 -0
  656. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  657. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
  658. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  659. package/package.json +5 -5
@@ -3,16 +3,17 @@
3
3
  * Client for Arcade transaction status updates.
4
4
  *
5
5
  * Uses react-native-sse EventSource to connect to Arcade's
6
- * `GET /events?callbackToken=<token>` endpoint for real-time
7
- * status updates via SSE.
8
- *
9
- * Supports on-demand fetching via fetchEvents() for use on
10
- * app open, balance refresh, transaction list view, etc.
11
- * The EventSource stays connected between fetches for live updates.
6
+ * `GET /events?callbackToken=<token>` endpoint for real-time status updates.
12
7
  */
13
8
  Object.defineProperty(exports, "__esModule", { value: true });
14
9
  exports.ArcSSEClient = void 0;
15
- const TAG = '[ArcSSE]';
10
+ const safeDiagnostic_1 = require("../chaintracker/chaintracks/util/safeDiagnostic");
11
+ const DEFAULT_MAX_EVENT_BYTES = 256 * 1024;
12
+ const MAX_EVENT_BYTES = 8 * 1024 * 1024;
13
+ const DEFAULT_MAX_PENDING_EVENTS = 64;
14
+ const MAX_PENDING_EVENTS = 4096;
15
+ const DEFAULT_MAX_PENDING_BYTES = 4 * 1024 * 1024;
16
+ const MAX_PENDING_BYTES = 64 * 1024 * 1024;
16
17
  function isLoopbackHost(hostname) {
17
18
  const normalized = hostname.toLowerCase();
18
19
  return (normalized === 'localhost' ||
@@ -27,6 +28,9 @@ function trimTrailingSlashes(value) {
27
28
  return value.slice(0, end);
28
29
  }
29
30
  function normalizeArcadeBaseUrl(baseUrl) {
31
+ if (baseUrl.length === 0 || baseUrl.length > 2048 || (0, safeDiagnostic_1.containsControlCharacter)(baseUrl)) {
32
+ throw new TypeError('Arcade SSE base URL must be a bounded absolute URL.');
33
+ }
30
34
  let parsed;
31
35
  try {
32
36
  parsed = new URL(baseUrl);
@@ -43,125 +47,388 @@ function normalizeArcadeBaseUrl(baseUrl) {
43
47
  parsed.pathname = trimTrailingSlashes(parsed.pathname);
44
48
  return trimTrailingSlashes(parsed.toString());
45
49
  }
50
+ function ownDataValue(record, key) {
51
+ const descriptor = Object.getOwnPropertyDescriptor(record, key);
52
+ if (descriptor == null)
53
+ return undefined;
54
+ if (!Object.hasOwn(descriptor, 'value'))
55
+ throw new TypeError(`Arcade SSE ${key} must be a data property.`);
56
+ return descriptor.value;
57
+ }
58
+ function boundedUtf8Length(value, maximum) {
59
+ let bytes = 0;
60
+ for (let index = 0; index < value.length; index++) {
61
+ const first = value.charCodeAt(index);
62
+ if (first <= 0x7f)
63
+ bytes += 1;
64
+ else if (first <= 0x7ff)
65
+ bytes += 2;
66
+ else if (first >= 0xd800 && first <= 0xdbff && index + 1 < value.length) {
67
+ const second = value.charCodeAt(index + 1);
68
+ if (second >= 0xdc00 && second <= 0xdfff) {
69
+ bytes += 4;
70
+ index += 1;
71
+ }
72
+ else
73
+ bytes += 3;
74
+ }
75
+ else
76
+ bytes += 3;
77
+ if (bytes > maximum)
78
+ return bytes;
79
+ }
80
+ return bytes;
81
+ }
82
+ function normalizeBoundedString(value, name, maximum, options = {}) {
83
+ if (value == null && options.optional === true)
84
+ return undefined;
85
+ if (typeof value !== 'string' ||
86
+ (value.length === 0 && options.empty !== true) ||
87
+ value.length > maximum ||
88
+ (0, safeDiagnostic_1.containsControlCharacter)(value)) {
89
+ throw new TypeError(`Arcade SSE ${name} must be a bounded control-free string.`);
90
+ }
91
+ return value;
92
+ }
93
+ function normalizeLimit(value, name, defaultValue, maximum) {
94
+ const result = value ?? defaultValue;
95
+ if (!Number.isSafeInteger(result) || result < 1 || result > maximum) {
96
+ throw new TypeError(`Arcade SSE ${name} must be an integer from 1 through ${maximum}.`);
97
+ }
98
+ return result;
99
+ }
100
+ function normalizeOptions(options) {
101
+ if (options == null ||
102
+ typeof options !== 'object' ||
103
+ Array.isArray(options) ||
104
+ ![Object.prototype, null].includes(Object.getPrototypeOf(options))) {
105
+ throw new TypeError('Arcade SSE options must be a plain data object.');
106
+ }
107
+ const baseUrl = normalizeArcadeBaseUrl(normalizeBoundedString(ownDataValue(options, 'baseUrl'), 'base URL', 2048));
108
+ const callbackToken = normalizeBoundedString(ownDataValue(options, 'callbackToken'), 'callback token', 1024);
109
+ const arcApiKey = normalizeBoundedString(ownDataValue(options, 'arcApiKey'), 'API key', 4096, { optional: true });
110
+ const lastEventId = normalizeBoundedString(ownDataValue(options, 'lastEventId'), 'last event ID', 256, {
111
+ optional: true
112
+ });
113
+ const onEvent = ownDataValue(options, 'onEvent');
114
+ const onError = ownDataValue(options, 'onError');
115
+ const onLastEventIdChanged = ownDataValue(options, 'onLastEventIdChanged');
116
+ const log = ownDataValue(options, 'log');
117
+ const EventSourceClass = ownDataValue(options, 'EventSourceClass');
118
+ if (typeof onEvent !== 'function')
119
+ throw new TypeError('Arcade SSE onEvent must be callable.');
120
+ if (onError != null && typeof onError !== 'function')
121
+ throw new TypeError('Arcade SSE onError must be callable.');
122
+ if (onLastEventIdChanged != null && typeof onLastEventIdChanged !== 'function') {
123
+ throw new TypeError('Arcade SSE onLastEventIdChanged must be callable.');
124
+ }
125
+ if (log != null && typeof log !== 'function')
126
+ throw new TypeError('Arcade SSE log must be callable.');
127
+ if (typeof EventSourceClass !== 'function')
128
+ throw new TypeError('Arcade SSE EventSourceClass must be constructable.');
129
+ const maxEventBytes = normalizeLimit(ownDataValue(options, 'maxEventBytes'), 'maxEventBytes', DEFAULT_MAX_EVENT_BYTES, MAX_EVENT_BYTES);
130
+ const maxPendingEvents = normalizeLimit(ownDataValue(options, 'maxPendingEvents'), 'maxPendingEvents', DEFAULT_MAX_PENDING_EVENTS, MAX_PENDING_EVENTS);
131
+ const maxPendingBytes = normalizeLimit(ownDataValue(options, 'maxPendingBytes'), 'maxPendingBytes', DEFAULT_MAX_PENDING_BYTES, MAX_PENDING_BYTES);
132
+ return {
133
+ baseUrl,
134
+ lastEventId,
135
+ options: Object.freeze({
136
+ callbackToken,
137
+ arcApiKey,
138
+ onEvent: onEvent,
139
+ onError: onError,
140
+ onLastEventIdChanged: onLastEventIdChanged,
141
+ maxEventBytes,
142
+ maxPendingEvents,
143
+ maxPendingBytes,
144
+ log: log,
145
+ EventSourceClass
146
+ })
147
+ };
148
+ }
149
+ function optionalPayloadString(record, key, maximum) {
150
+ const value = ownDataValue(record, key);
151
+ if (value == null)
152
+ return undefined;
153
+ return normalizeBoundedString(value, `event ${key}`, maximum, { empty: true });
154
+ }
155
+ function normalizeStatusEvent(value, eventId) {
156
+ if (value == null ||
157
+ typeof value !== 'object' ||
158
+ Array.isArray(value) ||
159
+ ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
160
+ throw new TypeError('Arcade SSE status payload must be a plain data object.');
161
+ }
162
+ const txid = normalizeBoundedString(ownDataValue(value, 'txid'), 'event txid', 64);
163
+ if (!/^[0-9a-fA-F]{64}$/.test(txid))
164
+ throw new TypeError('Arcade SSE event txid must be 32-byte hexadecimal.');
165
+ const txStatus = normalizeBoundedString(ownDataValue(value, 'txStatus'), 'event status', 64);
166
+ if (!/^[A-Z][A-Z0-9_]{0,63}$/.test(txStatus)) {
167
+ throw new TypeError('Arcade SSE event status must be a bounded uppercase status token.');
168
+ }
169
+ const timestamp = normalizeBoundedString(ownDataValue(value, 'timestamp'), 'event timestamp', 128, {
170
+ empty: true
171
+ });
172
+ const statusValue = ownDataValue(value, 'status');
173
+ let status;
174
+ if (statusValue != null) {
175
+ if (!Number.isSafeInteger(statusValue) || statusValue < 0 || statusValue > 999) {
176
+ throw new TypeError('Arcade SSE event status code must be an integer from 0 through 999.');
177
+ }
178
+ status = statusValue;
179
+ }
180
+ const blockHashValue = optionalPayloadString(value, 'blockHash', 64);
181
+ let blockHash;
182
+ if (blockHashValue != null) {
183
+ if (!/^[0-9a-fA-F]{64}$/.test(blockHashValue)) {
184
+ throw new TypeError('Arcade SSE event blockHash must be 32-byte hexadecimal.');
185
+ }
186
+ blockHash = blockHashValue.toLowerCase();
187
+ }
188
+ const blockHeightValue = ownDataValue(value, 'blockHeight');
189
+ let blockHeight;
190
+ if (blockHeightValue != null) {
191
+ if (!Number.isSafeInteger(blockHeightValue) ||
192
+ blockHeightValue < 0 ||
193
+ blockHeightValue > 0xffffffff) {
194
+ throw new TypeError('Arcade SSE event blockHeight must be an unsigned 32-bit integer.');
195
+ }
196
+ blockHeight = blockHeightValue;
197
+ }
198
+ const extraInfoValue = optionalPayloadString(value, 'extraInfo', 4096);
199
+ const extraInfo = extraInfoValue == null ? undefined : (0, safeDiagnostic_1.safeDiagnostic)(extraInfoValue, 4096);
200
+ const merklePath = optionalPayloadString(value, 'merklePath', DEFAULT_MAX_EVENT_BYTES);
201
+ return {
202
+ txid: txid.toLowerCase(),
203
+ txStatus,
204
+ timestamp,
205
+ ...(eventId == null ? {} : { eventId }),
206
+ ...(status == null ? {} : { status }),
207
+ ...(extraInfo == null ? {} : { extraInfo }),
208
+ ...(blockHash == null ? {} : { blockHash }),
209
+ ...(blockHeight == null ? {} : { blockHeight }),
210
+ ...(merklePath == null ? {} : { merklePath })
211
+ };
212
+ }
213
+ function readEventData(event, key) {
214
+ if (event == null || (typeof event !== 'object' && typeof event !== 'function'))
215
+ return undefined;
216
+ try {
217
+ return ownDataValue(event, key);
218
+ }
219
+ catch {
220
+ return undefined;
221
+ }
222
+ }
46
223
  class ArcSSEClient {
47
- options;
48
224
  _lastEventId;
49
225
  es = null;
50
226
  url;
51
- displayUrl;
227
+ options;
52
228
  connected = false;
53
229
  connecting = false;
230
+ generation = 0;
231
+ processingGeneration;
232
+ pendingEvents = [];
233
+ pendingBytes = 0;
54
234
  constructor(options) {
55
- this.options = options;
56
- this._lastEventId = options.lastEventId;
57
- const base = normalizeArcadeBaseUrl(options.baseUrl);
58
- this.url = `${base}/events?callbackToken=${encodeURIComponent(options.callbackToken)}`;
59
- this.displayUrl = `${base}/events?callbackToken=<redacted>`;
235
+ const normalized = normalizeOptions(options);
236
+ this.options = normalized.options;
237
+ this._lastEventId = normalized.lastEventId;
238
+ this.url = `${normalized.baseUrl}/events?callbackToken=${encodeURIComponent(this.options.callbackToken)}`;
60
239
  }
61
240
  get lastEventId() {
62
241
  return this._lastEventId;
63
242
  }
64
- /**
65
- * Open the SSE connection. Events will be dispatched via onEvent as they arrive.
66
- */
243
+ /** Open the SSE connection. Events are processed serially in exact arrival order. */
67
244
  connect() {
68
- if (this.es != null) {
69
- console.log(`${TAG} already connected`);
245
+ if (this.es != null || this.processingGeneration != null)
70
246
  return;
71
- }
72
247
  this.connecting = true;
73
- const ESClass = this.options.EventSourceClass;
74
248
  const headers = {
75
249
  'Last-Event-ID': this._lastEventId ?? '0'
76
250
  };
77
- if (this.options.arcApiKey != null && this.options.arcApiKey !== '') {
251
+ if (this.options.arcApiKey != null)
78
252
  headers.Authorization = `Bearer ${this.options.arcApiKey}`;
253
+ let source;
254
+ const generation = ++this.generation;
255
+ try {
256
+ source = new this.options.EventSourceClass(this.url, {
257
+ headers,
258
+ // Third-party debug output can include the URL token and Authorization header.
259
+ debug: false,
260
+ pollingInterval: 0
261
+ });
262
+ if (source == null || typeof source.addEventListener !== 'function' || typeof source.close !== 'function') {
263
+ throw new TypeError('Invalid EventSource instance.');
264
+ }
265
+ this.es = source;
266
+ source.addEventListener('open', () => {
267
+ if (this.es !== source || this.generation !== generation)
268
+ return;
269
+ this.connected = true;
270
+ this.connecting = false;
271
+ this.emitLog('Arcade SSE connected.');
272
+ });
273
+ source.addEventListener('status', (event) => {
274
+ if (this.es !== source || this.generation !== generation)
275
+ return;
276
+ this.receiveStatusEvent(event, generation);
277
+ });
278
+ source.addEventListener('error', (event) => {
279
+ if (this.es !== source || this.generation !== generation)
280
+ return;
281
+ // Error objects can contain the credential-bearing request URL and
282
+ // headers. Do not inspect or forward remote diagnostic fields.
283
+ void event;
284
+ this.terminateSource(source, new Error('Arcade SSE connection error.'), true);
285
+ });
286
+ this.emitLog('Arcade SSE connecting.');
79
287
  }
80
- console.log(`${TAG} connecting to ${this.displayUrl} (Last-Event-ID: ${headers['Last-Event-ID']})`);
81
- this.es = new ESClass(this.url, {
82
- headers,
83
- // Third-party EventSource debug output can include both the URL's
84
- // callback token and Authorization headers. Keep it disabled even when
85
- // application logging is otherwise enabled.
86
- debug: false,
87
- pollingInterval: 0 // Don't auto-reconnect on close — we manage lifecycle
88
- });
89
- this.es.addEventListener('open', () => {
90
- this.connected = true;
288
+ catch {
289
+ if (source != null) {
290
+ try {
291
+ source.close?.();
292
+ }
293
+ catch {
294
+ // The state reset below remains authoritative.
295
+ }
296
+ }
297
+ if (this.es === source)
298
+ this.es = null;
299
+ this.connected = false;
91
300
  this.connecting = false;
92
- console.log(`${TAG} connected`);
93
- });
94
- this.es.addEventListener('status', (event) => {
95
- let data;
96
- try {
97
- data = JSON.parse(event.data);
301
+ this.generation += 1;
302
+ throw new Error('Unable to initialize Arcade SSE connection.');
303
+ }
304
+ }
305
+ receiveStatusEvent(event, generation) {
306
+ try {
307
+ const rawData = readEventData(event, 'data');
308
+ if (typeof rawData !== 'string' || rawData.length > this.options.maxEventBytes) {
309
+ throw new TypeError('Arcade SSE event exceeded its character limit or was not text.');
98
310
  }
99
- catch {
100
- console.log(`${TAG} malformed event: ${String(event.data).substring(0, 200)}`);
101
- return;
311
+ const bytes = boundedUtf8Length(rawData, this.options.maxEventBytes);
312
+ if (bytes > this.options.maxEventBytes)
313
+ throw new TypeError('Arcade SSE event exceeded its byte limit.');
314
+ const rawEventId = readEventData(event, 'lastEventId');
315
+ const eventId = rawEventId == null || rawEventId === ''
316
+ ? undefined
317
+ : normalizeBoundedString(rawEventId, 'event last event ID', 256);
318
+ const normalized = normalizeStatusEvent(JSON.parse(rawData), eventId);
319
+ if (this.pendingEvents.length >= this.options.maxPendingEvents ||
320
+ this.pendingBytes + bytes > this.options.maxPendingBytes) {
321
+ throw new Error('Arcade SSE pending-event capacity was exceeded.');
102
322
  }
103
- console.log(`${TAG} event: txid=${data.txid} status=${data.txStatus}`);
104
- const receivedEventId = typeof event.lastEventId === 'string' && event.lastEventId !== '' ? event.lastEventId : undefined;
105
- data.eventId = receivedEventId;
106
- let processing;
323
+ this.pendingEvents.push({ event: normalized, bytes });
324
+ this.pendingBytes += bytes;
325
+ this.startDrain(generation);
326
+ }
327
+ catch {
328
+ if (this.es != null) {
329
+ this.terminateSource(this.es, new Error('Arcade SSE supplied an invalid or excessive status event.'), true);
330
+ }
331
+ }
332
+ }
333
+ startDrain(generation) {
334
+ if (this.processingGeneration != null)
335
+ return;
336
+ this.processingGeneration = generation;
337
+ void this.drainEvents(generation).finally(() => {
338
+ if (this.processingGeneration === generation)
339
+ this.processingGeneration = undefined;
340
+ if (this.es != null && this.pendingEvents.length > 0)
341
+ this.startDrain(this.generation);
342
+ });
343
+ }
344
+ async drainEvents(generation) {
345
+ while (this.generation === generation && this.es != null && this.pendingEvents.length > 0) {
346
+ const pending = this.pendingEvents[0];
107
347
  try {
108
- processing = this.options.onEvent(data);
348
+ await this.options.onEvent({ ...pending.event });
349
+ if (this.generation !== generation || this.es == null)
350
+ return;
351
+ const eventId = pending.event.eventId;
352
+ if (eventId != null) {
353
+ await this.options.onLastEventIdChanged?.(eventId);
354
+ if (this.generation !== generation || this.es == null)
355
+ return;
356
+ this._lastEventId = eventId;
357
+ }
358
+ if (this.pendingEvents[0] !== pending)
359
+ return;
360
+ this.pendingEvents.shift();
361
+ this.pendingBytes -= pending.bytes;
109
362
  }
110
363
  catch (error) {
111
- const e = error instanceof Error ? error : new Error(String(error));
112
- console.log(`${TAG} event processing failed: ${e.message}`);
113
- this.options.onError?.(e);
364
+ if (this.es != null) {
365
+ this.terminateSource(this.es, error instanceof Error ? error : new Error('Arcade SSE event processing failed.'), true);
366
+ }
114
367
  return;
115
368
  }
116
- void Promise.resolve(processing)
117
- .then(async () => {
118
- if (receivedEventId == null)
119
- return;
120
- await this.options.onLastEventIdChanged?.(receivedEventId);
121
- this._lastEventId = receivedEventId;
122
- })
123
- .catch(error => {
124
- const e = error instanceof Error ? error : new Error(String(error));
125
- console.log(`${TAG} event processing failed: ${e.message}`);
126
- this.options.onError?.(e);
127
- });
128
- });
129
- this.es.addEventListener('error', (event) => {
130
- // EventSource implementations can attach request URLs or headers to the
131
- // error object. Do not serialize it: those fields carry callback/API
132
- // credentials for this connection.
133
- console.log(`${TAG} connection error`);
134
- this.connected = false;
135
- this.connecting = false;
136
- const message = typeof event.message === 'string' && event.message !== '' ? event.message : 'SSE error';
137
- this.options.onError?.(new Error(message));
138
- });
369
+ }
370
+ }
371
+ terminateSource(source, error, notify) {
372
+ if (this.es !== source)
373
+ return;
374
+ this.es = null;
375
+ this.connected = false;
376
+ this.connecting = false;
377
+ this.generation += 1;
378
+ this.pendingEvents.length = 0;
379
+ this.pendingBytes = 0;
380
+ try {
381
+ source.close();
382
+ }
383
+ catch {
384
+ // State has already been reset; a hostile close method cannot retain it.
385
+ }
386
+ if (notify)
387
+ this.reportError(error);
139
388
  }
140
- /** Close the connection and clean up */
389
+ reportError(error) {
390
+ this.emitLog('Arcade SSE connection or event processing failed.');
391
+ if (this.options.onError == null)
392
+ return;
393
+ try {
394
+ void Promise.resolve(this.options.onError(error)).catch(() => this.emitLog('Arcade SSE error callback failed.'));
395
+ }
396
+ catch {
397
+ this.emitLog('Arcade SSE error callback failed.');
398
+ }
399
+ }
400
+ emitLog(message) {
401
+ if (this.options.log == null)
402
+ return;
403
+ try {
404
+ this.options.log(message);
405
+ }
406
+ catch {
407
+ // Observability hooks never control the event lifecycle.
408
+ }
409
+ }
410
+ /** Close the connection, discard unacknowledged network events, and reset lifecycle state. */
141
411
  close() {
142
412
  if (this.es != null) {
143
- console.log(`${TAG} closing`);
144
- this.es.close();
145
- this.es = null;
413
+ this.terminateSource(this.es, new Error('Arcade SSE client closed.'), false);
414
+ }
415
+ else {
146
416
  this.connected = false;
147
417
  this.connecting = false;
418
+ this.generation += 1;
419
+ this.pendingEvents.length = 0;
420
+ this.pendingBytes = 0;
148
421
  }
149
422
  }
150
- /**
151
- * Ensure connection is open. If already connected, this is a no-op.
152
- * If not connected, opens a new connection with catchup from lastEventId.
153
- * Returns immediately — events arrive asynchronously via onEvent callback.
154
- */
423
+ /** Ensure a connection is open; events still commit asynchronously in arrival order. */
155
424
  async fetchEvents() {
156
- if (this.es == null && !this.connecting) {
425
+ if (this.es == null && !this.connecting && this.processingGeneration == null) {
157
426
  this.connect();
158
427
  }
159
428
  else if (this.es != null && !this.connected && !this.connecting) {
160
- // Connection exists but failed — reconnect
161
429
  this.close();
162
430
  this.connect();
163
431
  }
164
- // Events arrive asynchronously — return 0 since we can't know the count synchronously
165
432
  return 0;
166
433
  }
167
434
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArcSSEClient.js","sourceRoot":"","sources":["../../../../src/services/providers/ArcSSEClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArcSSEClient.js","sourceRoot":"","sources":["../../../../src/services/providers/ArcSSEClient.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Beef, HexString } from '@bsv/sdk';
2
2
  import { GetMerklePathResult, GetStatusForTxidsResult, PostBeefResult, PostTxResultForTxid, WalletServices } from '../../sdk/WalletServices.interfaces';
3
3
  import { ArcConfig, ArcMinerGetTxData } from './ARC';
4
4
  export declare const ARCADE_POST_BEEF_CONCURRENCY = 4;
5
+ export { validateArcTxData as validateArcadeTxData } from './arcTxDataValidation';
5
6
  /**
6
7
  * Broadcaster for bsv-blockchain/arcade — the Teranode-native, ARC-compatible broadcaster.
7
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Arcade.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/Arcade.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEJ,SAAS,EAOV,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EAEnB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAO5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAUvG,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAa7C;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC;;;OAGG;IACH,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAC;IAC3D,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAC;IAsBxD,yEAAyE;IACzE,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IAa3B;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyChF;IAED;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CA+DnE;IAED,gGAAgG;IAC1F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CASxD;IAED;;;;;;;OAOG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoDzE;IAED;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoDxF;CACF"}
1
+ {"version":3,"file":"Arcade.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/Arcade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAgF,MAAM,UAAU,CAAA;AAExH,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EAEnB,cAAc,EACf,MAAM,qCAAqC,CAAA;AAiB5C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAYvG,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAajF;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC;;;OAGG;IACH,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAC;IAC3D,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAC;IAaxD,yEAAyE;IACzE,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IAa3B;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2ChF;IAED;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAkEnE;IAED,gGAAgG;IAC1F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiBxD;IAED;;;;;;;OAOG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuDzE;IAED;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuDxF;CACF"}