@bopen-io/wallet-toolbox 2.1.21-parity-fix.2 → 2.6.2-brc153.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 (1207) hide show
  1. package/CHANGELOG.md +232 -6
  2. package/LICENSE.txt +58 -0
  3. package/README.md +236 -47
  4. package/docs/README.md +3 -1
  5. package/docs/action-batch-planning.md +220 -0
  6. package/docs/authentication-observability.md +106 -0
  7. package/docs/client.md +55 -14
  8. package/docs/managed-change-policy.md +79 -0
  9. package/docs/monitor.md +3 -2
  10. package/docs/setup.md +24 -4
  11. package/docs/storage.md +16 -6
  12. package/docs/wallet.md +55 -14
  13. package/out/src/CWIStyleWalletManager.d.ts +122 -12
  14. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  15. package/out/src/CWIStyleWalletManager.js +1006 -461
  16. package/out/src/CWIStyleWalletManager.js.map +1 -1
  17. package/out/src/Setup.d.ts +13 -6
  18. package/out/src/Setup.d.ts.map +1 -1
  19. package/out/src/Setup.js +15 -16
  20. package/out/src/Setup.js.map +1 -1
  21. package/out/src/SetupClient.d.ts +8 -6
  22. package/out/src/SetupClient.d.ts.map +1 -1
  23. package/out/src/SetupClient.js +11 -12
  24. package/out/src/SetupClient.js.map +1 -1
  25. package/out/src/SetupWallet.d.ts +6 -0
  26. package/out/src/SetupWallet.d.ts.map +1 -1
  27. package/out/src/ShamirWalletManager.d.ts +5 -5
  28. package/out/src/ShamirWalletManager.d.ts.map +1 -1
  29. package/out/src/ShamirWalletManager.js +16 -9
  30. package/out/src/ShamirWalletManager.js.map +1 -1
  31. package/out/src/SimpleWalletManager.d.ts +12 -2
  32. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  33. package/out/src/SimpleWalletManager.js +73 -31
  34. package/out/src/SimpleWalletManager.js.map +1 -1
  35. package/out/src/Wallet.d.ts +88 -14
  36. package/out/src/Wallet.d.ts.map +1 -1
  37. package/out/src/Wallet.js +410 -249
  38. package/out/src/Wallet.js.map +1 -1
  39. package/out/src/WalletAuthenticationManager.d.ts +31 -7
  40. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  41. package/out/src/WalletAuthenticationManager.js +219 -35
  42. package/out/src/WalletAuthenticationManager.js.map +1 -1
  43. package/out/src/WalletLogger.d.ts.map +1 -1
  44. package/out/src/WalletLogger.js +45 -32
  45. package/out/src/WalletLogger.js.map +1 -1
  46. package/out/src/WalletPermissionsManager.d.ts +163 -19
  47. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  48. package/out/src/WalletPermissionsManager.js +1232 -1180
  49. package/out/src/WalletPermissionsManager.js.map +1 -1
  50. package/out/src/WalletSettingsManager.d.ts +2 -2
  51. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  52. package/out/src/WalletSettingsManager.js +3 -0
  53. package/out/src/WalletSettingsManager.js.map +1 -1
  54. package/out/src/entropy/EntropyCollector.d.ts +1 -1
  55. package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
  56. package/out/src/entropy/EntropyCollector.js +18 -20
  57. package/out/src/entropy/EntropyCollector.js.map +1 -1
  58. package/out/src/fundWalletP2PKH.d.ts +2 -2
  59. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  60. package/out/src/fundWalletP2PKH.js +15 -15
  61. package/out/src/fundWalletP2PKH.js.map +1 -1
  62. package/out/src/index.all.d.ts +2 -0
  63. package/out/src/index.all.d.ts.map +1 -1
  64. package/out/src/index.all.js +2 -0
  65. package/out/src/index.all.js.map +1 -1
  66. package/out/src/index.client.d.ts +2 -0
  67. package/out/src/index.client.d.ts.map +1 -1
  68. package/out/src/index.client.js +2 -0
  69. package/out/src/index.client.js.map +1 -1
  70. package/out/src/index.mobile.d.ts +3 -0
  71. package/out/src/index.mobile.d.ts.map +1 -1
  72. package/out/src/index.mobile.js +3 -0
  73. package/out/src/index.mobile.js.map +1 -1
  74. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  75. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  76. package/out/src/mockchain/MockChainMigrations.js +1 -1
  77. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  78. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  79. package/out/src/mockchain/MockChainStorage.js +9 -8
  80. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  81. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  82. package/out/src/mockchain/MockChainTracker.js +12 -10
  83. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  84. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  85. package/out/src/mockchain/MockMiner.js +5 -5
  86. package/out/src/mockchain/MockMiner.js.map +1 -1
  87. package/out/src/mockchain/MockServices.d.ts +13 -0
  88. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  89. package/out/src/mockchain/MockServices.js +232 -283
  90. package/out/src/mockchain/MockServices.js.map +1 -1
  91. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  92. package/out/src/mockchain/merkleTree.js +61 -57
  93. package/out/src/mockchain/merkleTree.js.map +1 -1
  94. package/out/src/monitor/Monitor.d.ts +24 -4
  95. package/out/src/monitor/Monitor.d.ts.map +1 -1
  96. package/out/src/monitor/Monitor.js +158 -148
  97. package/out/src/monitor/Monitor.js.map +1 -1
  98. package/out/src/monitor/MonitorDaemon.d.ts +5 -2
  99. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  100. package/out/src/monitor/MonitorDaemon.js +79 -69
  101. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  102. package/out/src/monitor/index.all.js.map +1 -1
  103. package/out/src/monitor/tasks/TaskArcSSE.d.ts +12 -5
  104. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  105. package/out/src/monitor/tasks/TaskArcSSE.js +143 -135
  106. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  107. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +6 -4
  108. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  109. package/out/src/monitor/tasks/TaskCheckForProofs.js +141 -129
  110. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  111. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +63 -3
  112. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  113. package/out/src/monitor/tasks/TaskCheckNoSends.js +103 -13
  114. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  115. package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts +13 -0
  116. package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts.map +1 -0
  117. package/out/src/monitor/tasks/TaskCleanupActionBatches.js +24 -0
  118. package/out/src/monitor/tasks/TaskCleanupActionBatches.js.map +1 -0
  119. package/out/src/monitor/tasks/TaskClock.d.ts +2 -2
  120. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  121. package/out/src/monitor/tasks/TaskClock.js +4 -3
  122. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  123. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  124. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  125. package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
  126. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  127. package/out/src/monitor/tasks/TaskMineBlock.d.ts +4 -2
  128. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  129. package/out/src/monitor/tasks/TaskMineBlock.js +5 -2
  130. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  131. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  132. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  133. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +3 -2
  134. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  135. package/out/src/monitor/tasks/TaskNewHeader.d.ts +5 -4
  136. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  137. package/out/src/monitor/tasks/TaskNewHeader.js +22 -8
  138. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  139. package/out/src/monitor/tasks/TaskPurge.d.ts +4 -2
  140. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  141. package/out/src/monitor/tasks/TaskPurge.js +9 -5
  142. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  143. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  144. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  145. package/out/src/monitor/tasks/TaskReorg.js +6 -4
  146. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  147. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +4 -2
  148. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  149. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +22 -17
  150. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  151. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +4 -2
  152. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  153. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +12 -5
  154. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  155. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +4 -2
  156. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  157. package/out/src/monitor/tasks/TaskReviewStatus.js +16 -7
  158. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  159. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -2
  160. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  161. package/out/src/monitor/tasks/TaskReviewUtxos.js +8 -2
  162. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  163. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +4 -1
  164. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  165. package/out/src/monitor/tasks/TaskSendWaiting.js +63 -50
  166. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  167. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +2 -2
  168. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -1
  169. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +4 -6
  170. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -1
  171. package/out/src/monitor/tasks/TaskUnFail.d.ts +4 -2
  172. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  173. package/out/src/monitor/tasks/TaskUnFail.js +13 -67
  174. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  175. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  176. package/out/src/monitor/tasks/WalletMonitorTask.js +10 -5
  177. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  178. package/out/src/monitor/tasks/index.all.d.ts +1 -0
  179. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  180. package/out/src/monitor/tasks/index.all.js +1 -0
  181. package/out/src/monitor/tasks/index.all.js.map +1 -1
  182. package/out/src/sdk/ActionBatch.interfaces.d.ts +159 -0
  183. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -0
  184. package/out/src/sdk/ActionBatch.interfaces.js +3 -0
  185. package/out/src/sdk/ActionBatch.interfaces.js.map +1 -0
  186. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  187. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  188. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  189. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  190. package/out/src/sdk/PrivilegedKeyManager.js +75 -50
  191. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  192. package/out/src/sdk/WERR_errors.d.ts +3 -3
  193. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  194. package/out/src/sdk/WERR_errors.js +29 -14
  195. package/out/src/sdk/WERR_errors.js.map +1 -1
  196. package/out/src/sdk/WalletError.d.ts +4 -1
  197. package/out/src/sdk/WalletError.d.ts.map +1 -1
  198. package/out/src/sdk/WalletError.js +63 -58
  199. package/out/src/sdk/WalletError.js.map +1 -1
  200. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  201. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  202. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  203. package/out/src/sdk/WalletServices.interfaces.d.ts +45 -20
  204. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  205. package/out/src/sdk/WalletStorage.interfaces.d.ts +92 -64
  206. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  207. package/out/src/sdk/index.d.ts +1 -0
  208. package/out/src/sdk/index.d.ts.map +1 -1
  209. package/out/src/sdk/index.js +1 -0
  210. package/out/src/sdk/index.js.map +1 -1
  211. package/out/src/sdk/types.d.ts +14 -5
  212. package/out/src/sdk/types.d.ts.map +1 -1
  213. package/out/src/sdk/types.js +13 -4
  214. package/out/src/sdk/types.js.map +1 -1
  215. package/out/src/services/ServiceCollection.d.ts +6 -6
  216. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  217. package/out/src/services/ServiceCollection.js +14 -9
  218. package/out/src/services/ServiceCollection.js.map +1 -1
  219. package/out/src/services/Services.d.ts +16 -2
  220. package/out/src/services/Services.d.ts.map +1 -1
  221. package/out/src/services/Services.js +320 -241
  222. package/out/src/services/Services.js.map +1 -1
  223. package/out/src/services/chaintracker/BHServiceClient.d.ts +7 -7
  224. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  225. package/out/src/services/chaintracker/BHServiceClient.js +22 -16
  226. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  227. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +5 -1
  228. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  229. package/out/src/services/chaintracker/ChaintracksChainTracker.js +61 -19
  230. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  231. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +8 -6
  232. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +1 -1
  234. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -1
  236. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +11 -0
  238. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +29 -10
  240. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +369 -259
  242. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +6 -1
  244. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +39 -44
  246. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +3 -3
  248. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  249. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +24 -15
  250. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  251. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +64 -0
  252. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -0
  253. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +318 -0
  254. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -0
  255. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  256. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +9 -2
  257. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  258. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  259. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  260. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +10 -3
  261. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  262. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  263. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  264. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts +27 -0
  265. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -0
  266. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +64 -0
  267. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -0
  268. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  269. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +6 -5
  270. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  271. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  272. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +3 -1
  273. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  274. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  275. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +4 -2
  276. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  277. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +24 -0
  278. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -0
  279. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +68 -0
  280. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -0
  281. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts +2 -2
  282. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
  283. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +3 -10
  284. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
  285. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +13 -0
  286. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  287. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +50 -10
  288. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  289. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  290. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +4 -3
  291. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  292. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +14 -4
  293. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  294. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +120 -143
  295. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  296. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +22 -8
  297. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  298. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +106 -54
  299. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  300. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  301. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +12 -17
  302. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  303. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +3 -3
  304. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  305. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +15 -14
  306. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  307. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +3 -0
  308. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  309. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +85 -66
  310. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  311. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +4 -0
  312. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  313. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +128 -101
  314. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  315. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +6 -2
  316. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  317. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +170 -158
  318. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  319. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts.map +1 -1
  320. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js +0 -21
  321. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js.map +1 -1
  322. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +9 -2
  323. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  324. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +142 -92
  325. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  326. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +58 -0
  327. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  328. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +143 -28
  329. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  330. package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.d.ts +18 -0
  331. package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.d.ts.map +1 -0
  332. package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.js +24 -0
  333. package/out/src/services/chaintracker/chaintracks/configureKnexChaintracks.js.map +1 -0
  334. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +2 -3
  335. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  336. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +4 -22
  337. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  338. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts +2 -4
  339. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
  340. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +14 -29
  341. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
  342. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +2 -3
  343. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  344. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +4 -22
  345. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  346. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +2 -1
  347. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  348. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +3 -15
  349. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  350. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts +2 -2
  351. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
  352. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +3 -15
  353. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
  354. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +2 -1
  355. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  356. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +3 -15
  357. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  358. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +6 -1
  359. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  360. package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
  361. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  362. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +8 -1
  363. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  364. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +282 -252
  365. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  366. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  367. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +12 -7
  368. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  369. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  370. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +53 -29
  371. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  372. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  373. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  374. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +34 -11
  375. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  376. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +8 -1
  377. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  378. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +54 -13
  379. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  380. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +10 -12
  381. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
  382. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +30 -34
  383. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
  384. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  385. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +28 -18
  386. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  387. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  388. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  389. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
  390. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  391. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +2 -12
  392. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  393. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +72 -63
  394. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  395. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  396. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +4 -2
  397. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  398. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  399. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  400. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  401. package/out/src/services/createDefaultWalletServicesOptions.d.ts +33 -1
  402. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  403. package/out/src/services/createDefaultWalletServicesOptions.js +94 -15
  404. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  405. package/out/src/services/networkConfig.d.ts +18 -0
  406. package/out/src/services/networkConfig.d.ts.map +1 -0
  407. package/out/src/services/networkConfig.js +92 -0
  408. package/out/src/services/networkConfig.js.map +1 -0
  409. package/out/src/services/providers/ARC.d.ts +8 -0
  410. package/out/src/services/providers/ARC.d.ts.map +1 -1
  411. package/out/src/services/providers/ARC.js +167 -92
  412. package/out/src/services/providers/ARC.js.map +1 -1
  413. package/out/src/services/providers/ArcSSEClient.d.ts +1 -0
  414. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  415. package/out/src/services/providers/ArcSSEClient.js +21 -17
  416. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  417. package/out/src/services/providers/Arcade.d.ts +77 -0
  418. package/out/src/services/providers/Arcade.d.ts.map +1 -0
  419. package/out/src/services/providers/Arcade.js +356 -0
  420. package/out/src/services/providers/Arcade.js.map +1 -0
  421. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  422. package/out/src/services/providers/Bitails.js +128 -103
  423. package/out/src/services/providers/Bitails.js.map +1 -1
  424. package/out/src/services/providers/SdkWhatsOnChain.d.ts +1 -1
  425. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  426. package/out/src/services/providers/SdkWhatsOnChain.js +18 -3
  427. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  428. package/out/src/services/providers/WhatsOnChain.d.ts +10 -2
  429. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  430. package/out/src/services/providers/WhatsOnChain.js +145 -236
  431. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  432. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  433. package/out/src/services/providers/exchangeRates.js +4 -4
  434. package/out/src/services/providers/exchangeRates.js.map +1 -1
  435. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  436. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  437. package/out/src/services/providers/getBeefForTxid.js +2 -1
  438. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  439. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  440. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  441. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  442. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  443. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  444. package/out/src/signer/WalletSigner.js +4 -1
  445. package/out/src/signer/WalletSigner.js.map +1 -1
  446. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +29 -0
  447. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -0
  448. package/out/src/signer/actionBatch/ActionBatchPlanner.js +346 -0
  449. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -0
  450. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +33 -0
  451. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -0
  452. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +869 -0
  453. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -0
  454. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +11 -0
  455. package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -0
  456. package/out/src/signer/actionBatch/actionBatchBootstrap.js +38 -0
  457. package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -0
  458. package/out/src/signer/methods/acquireDirectCertificate.js +2 -3
  459. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  460. package/out/src/signer/methods/buildSignableTransaction.d.ts +54 -0
  461. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  462. package/out/src/signer/methods/buildSignableTransaction.js +215 -100
  463. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  464. package/out/src/signer/methods/completeSignedTransaction.d.ts +3 -7
  465. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  466. package/out/src/signer/methods/completeSignedTransaction.js +78 -80
  467. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  468. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  469. package/out/src/signer/methods/createAction.js +81 -41
  470. package/out/src/signer/methods/createAction.js.map +1 -1
  471. package/out/src/signer/methods/internalizeAction.d.ts +16 -5
  472. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  473. package/out/src/signer/methods/internalizeAction.js +34 -18
  474. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  475. package/out/src/signer/methods/proveCertificate.js +1 -1
  476. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  477. package/out/src/signer/methods/resultBeef.d.ts +4 -0
  478. package/out/src/signer/methods/resultBeef.d.ts.map +1 -0
  479. package/out/src/signer/methods/resultBeef.js +12 -0
  480. package/out/src/signer/methods/resultBeef.js.map +1 -0
  481. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  482. package/out/src/signer/methods/signAction.js +42 -15
  483. package/out/src/signer/methods/signAction.js.map +1 -1
  484. package/out/src/signer/methods/verifyUnlockScripts.d.ts +17 -0
  485. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -0
  486. package/out/src/signer/methods/verifyUnlockScripts.js +373 -0
  487. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -0
  488. package/out/src/storage/StorageIdb.d.ts +51 -6
  489. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  490. package/out/src/storage/StorageIdb.js +929 -1324
  491. package/out/src/storage/StorageIdb.js.map +1 -1
  492. package/out/src/storage/StorageKnex.d.ts +51 -3
  493. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  494. package/out/src/storage/StorageKnex.js +751 -314
  495. package/out/src/storage/StorageKnex.js.map +1 -1
  496. package/out/src/storage/StorageProvider.d.ts +117 -2
  497. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  498. package/out/src/storage/StorageProvider.js +735 -254
  499. package/out/src/storage/StorageProvider.js.map +1 -1
  500. package/out/src/storage/StorageReader.d.ts +13 -5
  501. package/out/src/storage/StorageReader.d.ts.map +1 -1
  502. package/out/src/storage/StorageReader.js +21 -15
  503. package/out/src/storage/StorageReader.js.map +1 -1
  504. package/out/src/storage/StorageReaderWriter.d.ts +0 -1
  505. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  506. package/out/src/storage/StorageReaderWriter.js +32 -35
  507. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  508. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  509. package/out/src/storage/StorageSyncReader.js +6 -4
  510. package/out/src/storage/StorageSyncReader.js.map +1 -1
  511. package/out/src/storage/WalletStorageManager.d.ts +13 -0
  512. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  513. package/out/src/storage/WalletStorageManager.js +179 -103
  514. package/out/src/storage/WalletStorageManager.js.map +1 -1
  515. package/out/src/storage/adminServer/adminServer.d.ts +80 -1
  516. package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
  517. package/out/src/storage/adminServer/adminServer.js +90 -72
  518. package/out/src/storage/adminServer/adminServer.js.map +1 -1
  519. package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
  520. package/out/src/storage/adminServer/adminUi.js.map +1 -1
  521. package/out/src/storage/idbHelpers.d.ts +44 -0
  522. package/out/src/storage/idbHelpers.d.ts.map +1 -0
  523. package/out/src/storage/idbHelpers.js +395 -0
  524. package/out/src/storage/idbHelpers.js.map +1 -0
  525. package/out/src/storage/index.all.d.ts +6 -0
  526. package/out/src/storage/index.all.d.ts.map +1 -1
  527. package/out/src/storage/index.all.js +6 -0
  528. package/out/src/storage/index.all.js.map +1 -1
  529. package/out/src/storage/index.client.d.ts +4 -0
  530. package/out/src/storage/index.client.d.ts.map +1 -1
  531. package/out/src/storage/index.client.js +4 -0
  532. package/out/src/storage/index.client.js.map +1 -1
  533. package/out/src/storage/index.mobile.d.ts +3 -0
  534. package/out/src/storage/index.mobile.d.ts.map +1 -1
  535. package/out/src/storage/index.mobile.js +3 -0
  536. package/out/src/storage/index.mobile.js.map +1 -1
  537. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  538. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  539. package/out/src/storage/methods/ListActionsSpecOp.js +75 -9
  540. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  541. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +2 -0
  542. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  543. package/out/src/storage/methods/ListOutputsSpecOp.js +43 -29
  544. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  545. package/out/src/storage/methods/actionBatch.d.ts +15 -0
  546. package/out/src/storage/methods/actionBatch.d.ts.map +1 -0
  547. package/out/src/storage/methods/actionBatch.js +725 -0
  548. package/out/src/storage/methods/actionBatch.js.map +1 -0
  549. package/out/src/storage/methods/actionBatchBlobs.d.ts +15 -0
  550. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -0
  551. package/out/src/storage/methods/actionBatchBlobs.js +184 -0
  552. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -0
  553. package/out/src/storage/methods/actionBatchValidation.d.ts +17 -0
  554. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -0
  555. package/out/src/storage/methods/actionBatchValidation.js +416 -0
  556. package/out/src/storage/methods/actionBatchValidation.js.map +1 -0
  557. package/out/src/storage/methods/actionPlanning.d.ts +26 -0
  558. package/out/src/storage/methods/actionPlanning.d.ts.map +1 -0
  559. package/out/src/storage/methods/actionPlanning.js +103 -0
  560. package/out/src/storage/methods/actionPlanning.js.map +1 -0
  561. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +63 -1
  562. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  563. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +245 -92
  564. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  565. package/out/src/storage/methods/availableManagedChange.d.ts +11 -0
  566. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -0
  567. package/out/src/storage/methods/availableManagedChange.js +25 -0
  568. package/out/src/storage/methods/availableManagedChange.js.map +1 -0
  569. package/out/src/storage/methods/createAction.d.ts +1 -1
  570. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  571. package/out/src/storage/methods/createAction.js +783 -416
  572. package/out/src/storage/methods/createAction.js.map +1 -1
  573. package/out/src/storage/methods/generateChange.d.ts +2 -2
  574. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  575. package/out/src/storage/methods/generateChange.js +188 -127
  576. package/out/src/storage/methods/generateChange.js.map +1 -1
  577. package/out/src/storage/methods/getBeefForTransaction.d.ts +7 -0
  578. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  579. package/out/src/storage/methods/getBeefForTransaction.js +291 -63
  580. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  581. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  582. package/out/src/storage/methods/getSyncChunk.js +11 -8
  583. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  584. package/out/src/storage/methods/internalizeAction.d.ts +77 -6
  585. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  586. package/out/src/storage/methods/internalizeAction.js +372 -139
  587. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  588. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  589. package/out/src/storage/methods/listActionsIdb.js +87 -110
  590. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  591. package/out/src/storage/methods/listActionsKnex.d.ts +1 -1
  592. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  593. package/out/src/storage/methods/listActionsKnex.js +97 -118
  594. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  595. package/out/src/storage/methods/listCertificates.d.ts +2 -2
  596. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  597. package/out/src/storage/methods/listCertificates.js +8 -8
  598. package/out/src/storage/methods/listCertificates.js.map +1 -1
  599. package/out/src/storage/methods/listOutputsIdb.d.ts +1 -1
  600. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  601. package/out/src/storage/methods/listOutputsIdb.js +144 -150
  602. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  603. package/out/src/storage/methods/listOutputsKnex.d.ts +2 -2
  604. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  605. package/out/src/storage/methods/listOutputsKnex.js +217 -246
  606. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  607. package/out/src/storage/methods/managedChange.d.ts +26 -0
  608. package/out/src/storage/methods/managedChange.d.ts.map +1 -0
  609. package/out/src/storage/methods/managedChange.js +42 -0
  610. package/out/src/storage/methods/managedChange.js.map +1 -0
  611. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  612. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  613. package/out/src/storage/methods/offsetKey.js +3 -6
  614. package/out/src/storage/methods/offsetKey.js.map +1 -1
  615. package/out/src/storage/methods/processAction.d.ts +2 -11
  616. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  617. package/out/src/storage/methods/processAction.js +173 -106
  618. package/out/src/storage/methods/processAction.js.map +1 -1
  619. package/out/src/storage/methods/purgeData.d.ts +1 -1
  620. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  621. package/out/src/storage/methods/purgeData.js +169 -172
  622. package/out/src/storage/methods/purgeData.js.map +1 -1
  623. package/out/src/storage/methods/purgeDataIdb.d.ts +1 -1
  624. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  625. package/out/src/storage/methods/purgeDataIdb.js +2 -2
  626. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  627. package/out/src/storage/methods/reviewStatus.d.ts +4 -3
  628. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  629. package/out/src/storage/methods/reviewStatus.js +54 -14
  630. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  631. package/out/src/storage/methods/reviewStatusIdb.d.ts +3 -3
  632. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  633. package/out/src/storage/methods/reviewStatusIdb.js +54 -13
  634. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  635. package/out/src/storage/methods/utils.Buffer.d.ts.map +1 -1
  636. package/out/src/storage/methods/utils.Buffer.js.map +1 -1
  637. package/out/src/storage/methods/utils.d.ts.map +1 -1
  638. package/out/src/storage/methods/utils.js +7 -1
  639. package/out/src/storage/methods/utils.js.map +1 -1
  640. package/out/src/storage/portable/index.d.ts +55 -0
  641. package/out/src/storage/portable/index.d.ts.map +1 -0
  642. package/out/src/storage/portable/index.js +872 -0
  643. package/out/src/storage/portable/index.js.map +1 -0
  644. package/out/src/storage/remoting/BinaryJson.d.ts +10 -0
  645. package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -0
  646. package/out/src/storage/remoting/BinaryJson.js +218 -0
  647. package/out/src/storage/remoting/BinaryJson.js.map +1 -0
  648. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts +12 -0
  649. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -0
  650. package/out/src/storage/remoting/KnexPaymentReplayStore.js +46 -0
  651. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -0
  652. package/out/src/storage/remoting/KnexSessionManager.d.ts +57 -0
  653. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -0
  654. package/out/src/storage/remoting/KnexSessionManager.js +256 -0
  655. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -0
  656. package/out/src/storage/remoting/RateLimitPolicy.d.ts +10 -0
  657. package/out/src/storage/remoting/RateLimitPolicy.d.ts.map +1 -0
  658. package/out/src/storage/remoting/RateLimitPolicy.js +37 -0
  659. package/out/src/storage/remoting/RateLimitPolicy.js.map +1 -0
  660. package/out/src/storage/remoting/StorageClient.d.ts +7 -271
  661. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  662. package/out/src/storage/remoting/StorageClient.js +87 -458
  663. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  664. package/out/src/storage/remoting/StorageClientBase.d.ts +318 -0
  665. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  666. package/out/src/storage/remoting/StorageClientBase.js +474 -0
  667. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  668. package/out/src/storage/remoting/StorageMobile.d.ts +8 -276
  669. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  670. package/out/src/storage/remoting/StorageMobile.js +43 -435
  671. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  672. package/out/src/storage/remoting/StorageServer.d.ts +106 -9
  673. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  674. package/out/src/storage/remoting/StorageServer.js +628 -225
  675. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  676. package/out/src/storage/remoting/edgePolicy.d.ts +84 -0
  677. package/out/src/storage/remoting/edgePolicy.d.ts.map +1 -0
  678. package/out/src/storage/remoting/edgePolicy.js +570 -0
  679. package/out/src/storage/remoting/edgePolicy.js.map +1 -0
  680. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  681. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  682. package/out/src/storage/remoting/entityValidationHelpers.js +108 -0
  683. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  684. package/out/src/storage/schema/KnexMigrations.d.ts +7 -3
  685. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  686. package/out/src/storage/schema/KnexMigrations.js +173 -11
  687. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  688. package/out/src/storage/schema/StorageIdbSchema.d.ts +27 -1
  689. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  690. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  691. package/out/src/storage/schema/entities/EntityBase.js +1 -0
  692. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  693. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  694. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  695. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  696. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  697. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  698. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  699. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  700. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  701. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  702. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  703. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  704. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  705. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  706. package/out/src/storage/schema/entities/EntityOutputBasket.js +7 -7
  707. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  708. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  709. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  710. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  711. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  712. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  713. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  714. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +8 -4
  715. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  716. package/out/src/storage/schema/entities/EntityProvenTx.js +77 -64
  717. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  718. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +11 -2
  719. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  720. package/out/src/storage/schema/entities/EntityProvenTxReq.js +122 -74
  721. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  722. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  723. package/out/src/storage/schema/entities/EntitySyncState.js +40 -45
  724. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  725. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  726. package/out/src/storage/schema/entities/EntityTransaction.js +30 -31
  727. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  728. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  729. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  730. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  731. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  732. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  733. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  734. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  735. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  736. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  737. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  738. package/out/src/storage/schema/entities/MergeEntity.js +17 -18
  739. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  740. package/out/src/storage/schema/tables/TableActionBatch.d.ts +26 -0
  741. package/out/src/storage/schema/tables/TableActionBatch.d.ts.map +1 -0
  742. package/out/src/storage/schema/tables/TableActionBatch.js +3 -0
  743. package/out/src/storage/schema/tables/TableActionBatch.js.map +1 -0
  744. package/out/src/storage/schema/tables/TableAuthSession.d.ts +20 -0
  745. package/out/src/storage/schema/tables/TableAuthSession.d.ts.map +1 -0
  746. package/out/src/storage/schema/tables/TableAuthSession.js +15 -0
  747. package/out/src/storage/schema/tables/TableAuthSession.js.map +1 -0
  748. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  749. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  750. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  751. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  752. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  753. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  754. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  755. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  756. package/out/src/storage/schema/tables/TableOutput.d.ts +3 -2
  757. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  758. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  759. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  760. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  761. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  762. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  763. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  764. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  765. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  766. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  767. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  768. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  769. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  770. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  771. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  772. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  773. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  774. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  775. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  776. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  777. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  778. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  779. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  780. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  781. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  782. package/out/src/storage/schema/tables/index.d.ts +2 -0
  783. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  784. package/out/src/storage/schema/tables/index.js +2 -0
  785. package/out/src/storage/schema/tables/index.js.map +1 -1
  786. package/out/src/storage/storageProviderHelpers.d.ts +35 -0
  787. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  788. package/out/src/storage/storageProviderHelpers.js +106 -0
  789. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  790. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +4 -2
  791. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  792. package/out/src/storage/sync/StorageMySQLDojoReader.js +65 -46
  793. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  794. package/out/src/utility/Format.d.ts.map +1 -1
  795. package/out/src/utility/Format.js +15 -49
  796. package/out/src/utility/Format.js.map +1 -1
  797. package/out/src/utility/ScriptTemplateBRC29.d.ts +3 -2
  798. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  799. package/out/src/utility/ScriptTemplateBRC29.js +22 -11
  800. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  801. package/out/src/utility/actionBatchDigest.d.ts +9 -0
  802. package/out/src/utility/actionBatchDigest.d.ts.map +1 -0
  803. package/out/src/utility/actionBatchDigest.js +86 -0
  804. package/out/src/utility/actionBatchDigest.js.map +1 -0
  805. package/out/src/utility/actionBatchPack.d.ts +16 -0
  806. package/out/src/utility/actionBatchPack.d.ts.map +1 -0
  807. package/out/src/utility/actionBatchPack.js +220 -0
  808. package/out/src/utility/actionBatchPack.js.map +1 -0
  809. package/out/src/utility/aggregateResults.d.ts +1 -1
  810. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  811. package/out/src/utility/aggregateResults.js +2 -2
  812. package/out/src/utility/aggregateResults.js.map +1 -1
  813. package/out/src/utility/beefForTxids.d.ts +9 -0
  814. package/out/src/utility/beefForTxids.d.ts.map +1 -0
  815. package/out/src/utility/beefForTxids.js +35 -0
  816. package/out/src/utility/beefForTxids.js.map +1 -0
  817. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  818. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  819. package/out/src/utility/brc114ActionTimeLabels.js +31 -28
  820. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  821. package/out/src/utility/brc153ReferenceLabels.d.ts +23 -0
  822. package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -0
  823. package/out/src/utility/brc153ReferenceLabels.js +51 -0
  824. package/out/src/utility/brc153ReferenceLabels.js.map +1 -0
  825. package/out/src/utility/formatUnknown.d.ts +6 -0
  826. package/out/src/utility/formatUnknown.d.ts.map +1 -0
  827. package/out/src/utility/formatUnknown.js +39 -0
  828. package/out/src/utility/formatUnknown.js.map +1 -0
  829. package/out/src/utility/hashWasm.d.ts +5 -0
  830. package/out/src/utility/hashWasm.d.ts.map +1 -0
  831. package/out/src/utility/hashWasm.js +15 -0
  832. package/out/src/utility/hashWasm.js.map +1 -0
  833. package/out/src/utility/identityUtils.d.ts +12 -6
  834. package/out/src/utility/identityUtils.d.ts.map +1 -1
  835. package/out/src/utility/identityUtils.js +82 -38
  836. package/out/src/utility/identityUtils.js.map +1 -1
  837. package/out/src/utility/index.all.d.ts +2 -0
  838. package/out/src/utility/index.all.d.ts.map +1 -1
  839. package/out/src/utility/index.all.js +2 -0
  840. package/out/src/utility/index.all.js.map +1 -1
  841. package/out/src/utility/index.client.d.ts +2 -0
  842. package/out/src/utility/index.client.d.ts.map +1 -1
  843. package/out/src/utility/index.client.js +2 -0
  844. package/out/src/utility/index.client.js.map +1 -1
  845. package/out/src/utility/parseTxScriptOffsets.d.ts +5 -5
  846. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  847. package/out/src/utility/parseTxScriptOffsets.js +1 -1
  848. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  849. package/out/src/utility/stampLog.d.ts.map +1 -1
  850. package/out/src/utility/stampLog.js +53 -44
  851. package/out/src/utility/stampLog.js.map +1 -1
  852. package/out/src/utility/traceContext.d.ts +13 -0
  853. package/out/src/utility/traceContext.d.ts.map +1 -0
  854. package/out/src/utility/traceContext.js +34 -0
  855. package/out/src/utility/traceContext.js.map +1 -0
  856. package/out/src/utility/tscProofToMerklePath.js +1 -1
  857. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  858. package/out/src/utility/utilityHelpers.buffer.d.ts +5 -3
  859. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
  860. package/out/src/utility/utilityHelpers.buffer.js +3 -3
  861. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  862. package/out/src/utility/utilityHelpers.d.ts +3 -4
  863. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  864. package/out/src/utility/utilityHelpers.js +24 -16
  865. package/out/src/utility/utilityHelpers.js.map +1 -1
  866. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  867. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  868. package/out/src/utility/utilityHelpers.noBuffer.js +7 -8
  869. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  870. package/out/src/wab-client/WABClient.d.ts +36 -90
  871. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  872. package/out/src/wab-client/WABClient.js +103 -150
  873. package/out/src/wab-client/WABClient.js.map +1 -1
  874. package/out/src/wab-client/WABTransport.d.ts +81 -0
  875. package/out/src/wab-client/WABTransport.d.ts.map +1 -0
  876. package/out/src/wab-client/WABTransport.js +420 -0
  877. package/out/src/wab-client/WABTransport.js.map +1 -0
  878. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +10 -10
  879. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  880. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -21
  881. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  882. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
  883. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
  884. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
  885. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
  886. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +2 -1
  887. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -1
  888. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +14 -3
  889. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  890. package/package.json +89 -36
  891. package/license.md +0 -28
  892. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +0 -2
  893. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +0 -1
  894. package/out/src/__tests/CWIStyleWalletManager.test.js +0 -809
  895. package/out/src/__tests/CWIStyleWalletManager.test.js.map +0 -1
  896. package/out/src/__tests/ShamirWalletManager.test.d.ts +0 -2
  897. package/out/src/__tests/ShamirWalletManager.test.d.ts.map +0 -1
  898. package/out/src/__tests/ShamirWalletManager.test.js +0 -299
  899. package/out/src/__tests/ShamirWalletManager.test.js.map +0 -1
  900. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +0 -2
  901. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +0 -1
  902. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +0 -373
  903. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +0 -1
  904. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +0 -2
  905. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +0 -1
  906. package/out/src/__tests/WalletPermissionsManager.checks.test.js +0 -642
  907. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +0 -1
  908. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +0 -2
  909. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +0 -1
  910. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +0 -335
  911. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +0 -1
  912. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +0 -87
  913. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +0 -1
  914. package/out/src/__tests/WalletPermissionsManager.fixtures.js +0 -290
  915. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +0 -1
  916. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +0 -2
  917. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +0 -1
  918. package/out/src/__tests/WalletPermissionsManager.flows.test.js +0 -613
  919. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +0 -1
  920. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +0 -2
  921. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +0 -1
  922. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +0 -227
  923. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +0 -1
  924. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +0 -2
  925. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +0 -1
  926. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +0 -735
  927. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +0 -1
  928. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +0 -2
  929. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +0 -1
  930. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +0 -584
  931. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +0 -1
  932. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +0 -2
  933. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +0 -1
  934. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +0 -415
  935. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +0 -1
  936. package/out/src/entropy/__tests/EntropyCollector.test.d.ts +0 -2
  937. package/out/src/entropy/__tests/EntropyCollector.test.d.ts.map +0 -1
  938. package/out/src/entropy/__tests/EntropyCollector.test.js +0 -137
  939. package/out/src/entropy/__tests/EntropyCollector.test.js.map +0 -1
  940. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +0 -2
  941. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +0 -1
  942. package/out/src/monitor/__test/MonitorDaemon.man.test.js +0 -41
  943. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +0 -1
  944. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts +0 -2
  945. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts.map +0 -1
  946. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js +0 -257
  947. package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +0 -1
  948. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts +0 -2
  949. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts.map +0 -1
  950. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js +0 -161
  951. package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +0 -1
  952. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts +0 -2
  953. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts.map +0 -1
  954. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js +0 -214
  955. package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +0 -1
  956. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts +0 -2
  957. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts.map +0 -1
  958. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js +0 -92
  959. package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +0 -1
  960. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts +0 -2
  961. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts.map +0 -1
  962. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js +0 -139
  963. package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +0 -1
  964. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +0 -2
  965. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +0 -1
  966. package/out/src/sdk/__test/CertificateLifeCycle.test.js +0 -62
  967. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +0 -1
  968. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +0 -2
  969. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +0 -1
  970. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +0 -647
  971. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +0 -1
  972. package/out/src/sdk/__test/WalletError.test.d.ts +0 -2
  973. package/out/src/sdk/__test/WalletError.test.d.ts.map +0 -1
  974. package/out/src/sdk/__test/WalletError.test.js +0 -255
  975. package/out/src/sdk/__test/WalletError.test.js.map +0 -1
  976. package/out/src/sdk/__test/validationHelpers.test.d.ts +0 -2
  977. package/out/src/sdk/__test/validationHelpers.test.d.ts.map +0 -1
  978. package/out/src/sdk/__test/validationHelpers.test.js +0 -20
  979. package/out/src/sdk/__test/validationHelpers.test.js.map +0 -1
  980. package/out/src/services/__tests/ARC.man.test.d.ts +0 -2
  981. package/out/src/services/__tests/ARC.man.test.d.ts.map +0 -1
  982. package/out/src/services/__tests/ARC.man.test.js +0 -104
  983. package/out/src/services/__tests/ARC.man.test.js.map +0 -1
  984. package/out/src/services/__tests/ARC.timeout.man.test.d.ts +0 -2
  985. package/out/src/services/__tests/ARC.timeout.man.test.d.ts.map +0 -1
  986. package/out/src/services/__tests/ARC.timeout.man.test.js +0 -74
  987. package/out/src/services/__tests/ARC.timeout.man.test.js.map +0 -1
  988. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts +0 -2
  989. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts.map +0 -1
  990. package/out/src/services/__tests/ArcGorillaPool.man.test.js +0 -93
  991. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +0 -1
  992. package/out/src/services/__tests/arcServices.test.d.ts +0 -2
  993. package/out/src/services/__tests/arcServices.test.d.ts.map +0 -1
  994. package/out/src/services/__tests/arcServices.test.js +0 -7
  995. package/out/src/services/__tests/arcServices.test.js.map +0 -1
  996. package/out/src/services/__tests/bitrails.test.d.ts +0 -2
  997. package/out/src/services/__tests/bitrails.test.d.ts.map +0 -1
  998. package/out/src/services/__tests/bitrails.test.js +0 -59
  999. package/out/src/services/__tests/bitrails.test.js.map +0 -1
  1000. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts +0 -2
  1001. package/out/src/services/__tests/getFiatExchangeRate.test.d.ts.map +0 -1
  1002. package/out/src/services/__tests/getFiatExchangeRate.test.js +0 -156
  1003. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +0 -1
  1004. package/out/src/services/__tests/getMerklePath.test.d.ts +0 -2
  1005. package/out/src/services/__tests/getMerklePath.test.d.ts.map +0 -1
  1006. package/out/src/services/__tests/getMerklePath.test.js +0 -16
  1007. package/out/src/services/__tests/getMerklePath.test.js.map +0 -1
  1008. package/out/src/services/__tests/getRawTx.test.d.ts +0 -2
  1009. package/out/src/services/__tests/getRawTx.test.d.ts.map +0 -1
  1010. package/out/src/services/__tests/getRawTx.test.js +0 -16
  1011. package/out/src/services/__tests/getRawTx.test.js.map +0 -1
  1012. package/out/src/services/__tests/postBeef.test.d.ts +0 -2
  1013. package/out/src/services/__tests/postBeef.test.d.ts.map +0 -1
  1014. package/out/src/services/__tests/postBeef.test.js +0 -101
  1015. package/out/src/services/__tests/postBeef.test.js.map +0 -1
  1016. package/out/src/services/__tests/verifyBeef.test.d.ts +0 -2
  1017. package/out/src/services/__tests/verifyBeef.test.d.ts.map +0 -1
  1018. package/out/src/services/__tests/verifyBeef.test.js +0 -43
  1019. package/out/src/services/__tests/verifyBeef.test.js.map +0 -1
  1020. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +0 -2
  1021. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +0 -1
  1022. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +0 -25
  1023. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +0 -1
  1024. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +0 -2
  1025. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +0 -1
  1026. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +0 -27
  1027. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +0 -1
  1028. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts +0 -2
  1029. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts.map +0 -1
  1030. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +0 -56
  1031. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +0 -1
  1032. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts +0 -2
  1033. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts.map +0 -1
  1034. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +0 -40
  1035. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +0 -1
  1036. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts +0 -2
  1037. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.d.ts.map +0 -1
  1038. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js +0 -108
  1039. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.man.test.js.map +0 -1
  1040. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +0 -2
  1041. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +0 -1
  1042. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +0 -87
  1043. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +0 -1
  1044. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts +0 -2
  1045. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts.map +0 -1
  1046. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js +0 -39
  1047. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js.map +0 -1
  1048. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts +0 -2
  1049. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts.map +0 -1
  1050. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +0 -75
  1051. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +0 -1
  1052. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts +0 -2
  1053. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.d.ts.map +0 -1
  1054. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js +0 -43
  1055. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksCDN.man.test.js.map +0 -1
  1056. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts +0 -2
  1057. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts.map +0 -1
  1058. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +0 -164
  1059. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +0 -1
  1060. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +0 -12
  1061. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +0 -1
  1062. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +0 -69
  1063. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +0 -1
  1064. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts +0 -2
  1065. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.d.ts.map +0 -1
  1066. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js +0 -109
  1067. package/out/src/services/chaintracker/chaintracks/__tests/bulkIngestorFailures.test.js.map +0 -1
  1068. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +0 -2
  1069. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +0 -1
  1070. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +0 -54
  1071. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +0 -1
  1072. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts +0 -2
  1073. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts.map +0 -1
  1074. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +0 -255
  1075. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +0 -1
  1076. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts +0 -2
  1077. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts.map +0 -1
  1078. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +0 -56
  1079. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +0 -1
  1080. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts +0 -2
  1081. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts.map +0 -1
  1082. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js +0 -69
  1083. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js.map +0 -1
  1084. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts +0 -2
  1085. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts.map +0 -1
  1086. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +0 -51
  1087. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +0 -1
  1088. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts +0 -2
  1089. package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts.map +0 -1
  1090. package/out/src/services/providers/__tests/ArcSSEClient.test.js +0 -256
  1091. package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +0 -1
  1092. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts +0 -2
  1093. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +0 -1
  1094. package/out/src/services/providers/__tests/WhatsOnChain.test.js +0 -191
  1095. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +0 -1
  1096. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +0 -2
  1097. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +0 -1
  1098. package/out/src/services/providers/__tests/exchangeRates.test.js +0 -23
  1099. package/out/src/services/providers/__tests/exchangeRates.test.js.map +0 -1
  1100. package/out/src/storage/__test/StorageIdb.test.d.ts +0 -2
  1101. package/out/src/storage/__test/StorageIdb.test.d.ts.map +0 -1
  1102. package/out/src/storage/__test/StorageIdb.test.js +0 -44
  1103. package/out/src/storage/__test/StorageIdb.test.js.map +0 -1
  1104. package/out/src/storage/__test/WalletStorageManager.test.d.ts +0 -2
  1105. package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +0 -1
  1106. package/out/src/storage/__test/WalletStorageManager.test.js +0 -254
  1107. package/out/src/storage/__test/WalletStorageManager.test.js.map +0 -1
  1108. package/out/src/storage/__test/adminStats.man.test.d.ts +0 -2
  1109. package/out/src/storage/__test/adminStats.man.test.d.ts.map +0 -1
  1110. package/out/src/storage/__test/adminStats.man.test.js +0 -78
  1111. package/out/src/storage/__test/adminStats.man.test.js.map +0 -1
  1112. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts +0 -2
  1113. package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts.map +0 -1
  1114. package/out/src/storage/__test/findStaleMerkleRoots.test.js +0 -41
  1115. package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +0 -1
  1116. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts +0 -2
  1117. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts.map +0 -1
  1118. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js +0 -73
  1119. package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +0 -1
  1120. package/out/src/storage/__test/getBeefForTransaction.test.d.ts +0 -2
  1121. package/out/src/storage/__test/getBeefForTransaction.test.d.ts.map +0 -1
  1122. package/out/src/storage/__test/getBeefForTransaction.test.js +0 -347
  1123. package/out/src/storage/__test/getBeefForTransaction.test.js.map +0 -1
  1124. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +0 -2
  1125. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +0 -1
  1126. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +0 -1111
  1127. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +0 -1
  1128. package/out/src/storage/methods/__test/offsetKey.test.d.ts +0 -2
  1129. package/out/src/storage/methods/__test/offsetKey.test.d.ts.map +0 -1
  1130. package/out/src/storage/methods/__test/offsetKey.test.js +0 -229
  1131. package/out/src/storage/methods/__test/offsetKey.test.js.map +0 -1
  1132. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts +0 -2
  1133. package/out/src/storage/remoting/__test/StorageClient.man.test.d.ts.map +0 -1
  1134. package/out/src/storage/remoting/__test/StorageClient.man.test.js +0 -487
  1135. package/out/src/storage/remoting/__test/StorageClient.man.test.js.map +0 -1
  1136. package/out/src/storage/remoting/__test/StorageClient.test.d.ts +0 -2
  1137. package/out/src/storage/remoting/__test/StorageClient.test.d.ts.map +0 -1
  1138. package/out/src/storage/remoting/__test/StorageClient.test.js +0 -119
  1139. package/out/src/storage/remoting/__test/StorageClient.test.js.map +0 -1
  1140. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts +0 -2
  1141. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +0 -1
  1142. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +0 -301
  1143. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +0 -1
  1144. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +0 -2
  1145. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +0 -1
  1146. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +0 -308
  1147. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +0 -1
  1148. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +0 -2
  1149. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +0 -1
  1150. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +0 -316
  1151. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +0 -1
  1152. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +0 -2
  1153. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +0 -1
  1154. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +0 -228
  1155. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +0 -1
  1156. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +0 -2
  1157. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +0 -1
  1158. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +0 -191
  1159. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +0 -1
  1160. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +0 -2
  1161. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +0 -1
  1162. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +0 -226
  1163. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +0 -1
  1164. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +0 -2
  1165. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +0 -1
  1166. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +0 -413
  1167. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +0 -1
  1168. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +0 -2
  1169. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +0 -1
  1170. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +0 -299
  1171. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +0 -1
  1172. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +0 -2
  1173. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +0 -1
  1174. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -474
  1175. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +0 -1
  1176. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +0 -2
  1177. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +0 -1
  1178. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +0 -234
  1179. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +0 -1
  1180. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +0 -2
  1181. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +0 -1
  1182. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +0 -539
  1183. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +0 -1
  1184. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +0 -2
  1185. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +0 -1
  1186. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +0 -304
  1187. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +0 -1
  1188. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +0 -2
  1189. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +0 -1
  1190. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +0 -170
  1191. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +0 -1
  1192. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +0 -2
  1193. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +0 -1
  1194. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +0 -81
  1195. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +0 -1
  1196. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +0 -2
  1197. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +0 -1
  1198. package/out/src/storage/schema/entities/__tests/usersTests.test.js +0 -277
  1199. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +0 -1
  1200. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts +0 -2
  1201. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts.map +0 -1
  1202. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js +0 -107
  1203. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js.map +0 -1
  1204. package/out/src/wab-client/__tests/WABClient.man.test.d.ts +0 -2
  1205. package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +0 -1
  1206. package/out/src/wab-client/__tests/WABClient.man.test.js +0 -52
  1207. package/out/src/wab-client/__tests/WABClient.man.test.js.map +0 -1
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StorageProvider = void 0;
4
4
  exports.validateStorageFeeModel = validateStorageFeeModel;
5
5
  const sdk_1 = require("@bsv/sdk");
6
+ const storageProviderHelpers_1 = require("./storageProviderHelpers");
6
7
  const getBeefForTransaction_1 = require("./methods/getBeefForTransaction");
7
8
  const processAction_1 = require("./methods/processAction");
8
9
  const attemptToPostReqsToNetwork_1 = require("./methods/attemptToPostReqsToNetwork");
@@ -15,13 +16,24 @@ const WERR_errors_1 = require("../sdk/WERR_errors");
15
16
  const utilityHelpers_1 = require("../utility/utilityHelpers");
16
17
  const WalletError_1 = require("../sdk/WalletError");
17
18
  const utilityHelpers_noBuffer_1 = require("../utility/utilityHelpers.noBuffer");
19
+ const actionBatch_1 = require("./methods/actionBatch");
20
+ const actionBatchBlobs_1 = require("./methods/actionBatchBlobs");
21
+ const availableManagedChange_1 = require("./methods/availableManagedChange");
18
22
  class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
23
+ isDirty = false;
24
+ _services;
25
+ feeModel;
26
+ commissionSatoshis;
27
+ commissionPubKeyHex;
28
+ maxRecursionDepth;
29
+ scriptVerifier;
19
30
  static defaultOptions() {
20
- return {
21
- feeModel: { model: 'sat/kb', value: 1 },
31
+ const opts = {
32
+ feeModel: { model: 'sat/kb', value: 100 },
22
33
  commissionSatoshis: 0,
23
34
  commissionPubKeyHex: undefined
24
35
  };
36
+ return opts;
25
37
  }
26
38
  static createStorageBaseOptions(chain) {
27
39
  const options = {
@@ -32,17 +44,183 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
32
44
  }
33
45
  constructor(options) {
34
46
  super(options);
35
- this.isDirty = false;
36
47
  this.feeModel = options.feeModel;
37
48
  this.commissionPubKeyHex = options.commissionPubKeyHex;
38
49
  this.commissionSatoshis = options.commissionSatoshis;
39
50
  this.maxRecursionDepth = 12;
51
+ this.scriptVerifier = options.scriptVerifier;
52
+ }
53
+ /** Mark a planned set of change inputs spent within the caller's transaction. */
54
+ async markChangeInputsSpent(outputIds, transactionId, trx) {
55
+ let updated = 0;
56
+ const current = await this.findOutputsByIds(outputIds, trx);
57
+ for (const outputId of outputIds) {
58
+ const output = current[outputId];
59
+ if (output == null || !output.spendable || output.spentBy != null)
60
+ continue;
61
+ updated += await this.updateOutput(outputId, { spendable: false, spentBy: transactionId }, trx);
62
+ }
63
+ return updated;
64
+ }
65
+ /**
66
+ * Insert outputs that do not need their generated ids returned to the
67
+ * caller. Engines with a multi-row insert override this common-path helper;
68
+ * the fallback preserves existing storage implementations unchanged.
69
+ */
70
+ async insertOutputs(outputs, trx) {
71
+ for (const output of outputs)
72
+ await this.insertOutput(output, trx);
73
+ }
74
+ /** Return unreserved wallet-managed outputs eligible for automatic funding. */
75
+ async findAvailableManagedChangeInputs(userId, basketId, excludeSending, trx) {
76
+ return await (0, availableManagedChange_1.availableManagedChange)(this, userId, basketId, excludeSending, trx);
77
+ }
78
+ /** Read only the fields needed by the in-memory funding planner. */
79
+ async findAvailableManagedChangeInputCandidates(userId, basketId, excludeSending, trx) {
80
+ return (await this.findAvailableManagedChangeInputs(userId, basketId, excludeSending, trx))
81
+ .map(({ outputId, transactionId, satoshis, txid, vout }) => ({
82
+ outputId,
83
+ transactionId,
84
+ satoshis,
85
+ txid,
86
+ vout
87
+ }));
88
+ }
89
+ /** Read the current status of a set of source transactions without loading raw transaction bytes. */
90
+ async findTransactionStatusesByIds(userId, transactionIds, trx) {
91
+ const statuses = new Map();
92
+ for (const transactionId of new Set(transactionIds)) {
93
+ const transaction = await this.findTransactionById(transactionId, trx, true);
94
+ if (transaction?.userId === userId)
95
+ statuses.set(transactionId, transaction.status);
96
+ }
97
+ return statuses;
98
+ }
99
+ /**
100
+ * Lock and return the selected funding rows whose source transaction and
101
+ * action-batch reservation state still permit allocation.
102
+ */
103
+ async findFundingOutputsForUpdate(userId, outputIds, statuses, trx) {
104
+ const rows = await this.findOutputsByIds(outputIds, trx);
105
+ const reserved = new Set(await this.findReservedActionBatchOutputIds(outputIds, trx));
106
+ const transactionIds = [...new Set(Object.values(rows).map(output => output.transactionId))];
107
+ const transactionStatuses = await this.findTransactionStatusesByIds(userId, transactionIds, trx);
108
+ const eligible = {};
109
+ for (const output of Object.values(rows)) {
110
+ if (output.userId === userId &&
111
+ !reserved.has(output.outputId) &&
112
+ statuses.includes(transactionStatuses.get(output.transactionId)))
113
+ eligible[output.outputId] = output;
114
+ }
115
+ return eligible;
116
+ }
117
+ /**
118
+ * Resolve several transaction proofs in one storage operation when the
119
+ * backend supports it. The default preserves compatibility for custom
120
+ * providers; SQL and IndexedDB providers override this hot path.
121
+ */
122
+ async getProvenOrRawTxs(txids, trx) {
123
+ const results = new Map();
124
+ const unique = [...new Set(txids)];
125
+ let cursor = 0;
126
+ await Promise.all(Array.from({ length: Math.min(8, unique.length) }, async () => {
127
+ while (cursor < unique.length) {
128
+ const txid = unique[cursor++];
129
+ results.set(txid, await this.getProvenOrRawTx(txid, trx));
130
+ }
131
+ }));
132
+ return results;
133
+ }
134
+ async insertActionBatch(_batch, _trx) {
135
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
136
+ }
137
+ async findActionBatch(_userId, _batchId, _trx) {
138
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
139
+ }
140
+ async findActionBatchForUpdate(userId, batchId, trx) {
141
+ return await this.findActionBatch(userId, batchId, trx);
142
+ }
143
+ async findExpiredActionBatches(_now, _trx) {
144
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
145
+ }
146
+ async updateActionBatch(_actionBatchId, _update, _trx) {
147
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
148
+ }
149
+ async deleteActionBatch(_actionBatchId, _trx) {
150
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
151
+ }
152
+ async reserveActionBatchOutputs(_reservations, _trx) {
153
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
154
+ }
155
+ async findActionBatchOutputIds(_actionBatchId, _trx) {
156
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
157
+ }
158
+ async findReservedActionBatchOutputIds(_outputIds, _trx) {
159
+ return [];
160
+ }
161
+ async deleteActionBatchOutputReservations(_actionBatchId, _trx) {
162
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
163
+ }
164
+ async putActionBatchBlobRecord(_blob, _trx) {
165
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
166
+ }
167
+ async findActionBatchBlobRecord(_actionBatchId, _digest, _trx) {
168
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
169
+ }
170
+ async findActionBatchBlobRecords(actionBatchId, digests, trx) {
171
+ return (await Promise.all(digests.map(async (digest) => await this.findActionBatchBlobRecord(actionBatchId, digest, trx)))).filter((blob) => blob != null);
172
+ }
173
+ async putActionBatchBlobRecords(blobs, trx) {
174
+ for (const blob of blobs)
175
+ await this.putActionBatchBlobRecord(blob, trx);
176
+ }
177
+ async deleteActionBatchBlobRecords(_actionBatchId, _trx) {
178
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED();
179
+ }
180
+ async getCapabilities() {
181
+ return this.supportsActionBatchPersistence() ? (0, actionBatch_1.getActionBatchCapabilities)() : {};
182
+ }
183
+ supportsActionBatchPersistence() {
184
+ return false;
185
+ }
186
+ /** Custom providers may require physical expiry cleanup before reservations are queried. */
187
+ requiresActionBatchCleanupBeforeCreateAction() {
188
+ return true;
189
+ }
190
+ async beginActionBatch(auth, args) {
191
+ if (!this.supportsActionBatchPersistence())
192
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED('actionBatch capability is not available');
193
+ return await (0, actionBatch_1.beginActionBatch)(this, auth, args);
194
+ }
195
+ async extendActionBatch(auth, args) {
196
+ return await (0, actionBatch_1.extendActionBatch)(this, auth, args);
197
+ }
198
+ async renewActionBatch(auth, batchId) {
199
+ return await (0, actionBatch_1.renewActionBatch)(this, auth, batchId);
200
+ }
201
+ async prepareActionBatchCommit(auth, manifest) {
202
+ return await (0, actionBatchBlobs_1.prepareActionBatchCommit)(this, auth, manifest);
203
+ }
204
+ async putActionBatchBlob(auth, args) {
205
+ return await (0, actionBatchBlobs_1.putActionBatchBlob)(this, auth, args);
206
+ }
207
+ async putActionBatchPack(auth, args) {
208
+ return await (0, actionBatchBlobs_1.putActionBatchPack)(this, auth, args);
209
+ }
210
+ async commitActionBatch(auth, manifest) {
211
+ return await (0, actionBatch_1.commitActionBatch)(this, auth, manifest);
212
+ }
213
+ async commitActionBatchByDigest(auth, args) {
214
+ return await (0, actionBatch_1.commitActionBatchByDigest)(this, auth, args);
215
+ }
216
+ async abortActionBatch(auth, batchId) {
217
+ return await (0, actionBatch_1.abortActionBatch)(this, auth, batchId);
40
218
  }
41
219
  async findOutputsByIds(outputIds, trx) {
42
220
  const byId = {};
43
221
  for (const outputId of outputIds) {
44
222
  const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { outputId }, trx }));
45
- if ((o === null || o === void 0 ? void 0 : o.outputId) !== undefined)
223
+ if (o?.outputId !== undefined)
46
224
  byId[o.outputId] = o;
47
225
  }
48
226
  return byId;
@@ -50,18 +228,23 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
50
228
  async findStaleMerkleRoots(args) {
51
229
  let provenTxs = await this.findProvenTxs({ partial: { height: args.height } });
52
230
  provenTxs = provenTxs.filter(ptx => ptx.merkleRoot !== args.merkleRoot);
53
- let roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
231
+ const roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
54
232
  return roots;
55
233
  }
56
234
  async findOutputsByOutpoints(userId, outpoints, trx) {
57
235
  const byOutpoint = {};
58
236
  for (const { txid, vout } of outpoints) {
59
237
  const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { userId, txid, vout }, trx }));
60
- if ((o === null || o === void 0 ? void 0 : o.txid) !== undefined && o.vout !== undefined)
238
+ if (o?.txid !== undefined && o.vout !== undefined)
61
239
  byOutpoint[`${o.txid}.${o.vout}`] = o;
62
240
  }
63
241
  return byOutpoint;
64
242
  }
243
+ async findOutputsByOutpointsForUpdate(userId, outpoints, trx, _noScript = false) {
244
+ // Backends that cannot skip hydration remain correct; optimized backends may
245
+ // use _noScript to keep raw-transaction I/O outside the write lock.
246
+ return await this.findOutputsByOutpoints(userId, outpoints, trx);
247
+ }
65
248
  async findOrInsertOutputBasketsBulk(userId, names, trx) {
66
249
  const byName = {};
67
250
  for (const name of names)
@@ -74,6 +257,12 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
74
257
  byTag[tag] = await this.findOrInsertOutputTag(userId, tag, trx);
75
258
  return byTag;
76
259
  }
260
+ async findOrInsertTxLabelsBulk(userId, labels, trx) {
261
+ const byLabel = {};
262
+ for (const label of labels)
263
+ byLabel[label] ??= await this.findOrInsertTxLabel(userId, label, trx);
264
+ return byLabel;
265
+ }
77
266
  async sumSpendableSatoshisInBasket(userId, basketId, excludeSending, trx) {
78
267
  const status = ['completed', 'unproven'];
79
268
  if (!excludeSending)
@@ -84,7 +273,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
84
273
  noScript: true,
85
274
  trx
86
275
  });
87
- return rows.reduce((a, r) => a + Number(r.satoshis || 0), 0);
276
+ return rows.filter(r => r.spentBy == null).reduce((a, r) => a + (r.satoshis ?? 0), 0);
88
277
  }
89
278
  async recentlyActiveUsers(limit = 50, trx) {
90
279
  const outputs = await this.findOutputs({
@@ -98,7 +287,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
98
287
  continue;
99
288
  const createdAt = this.validateDate(output.created_at);
100
289
  const prior = latestByUserId.get(output.userId);
101
- if (!prior || createdAt > prior) {
290
+ if (prior == null || createdAt > prior) {
102
291
  latestByUserId.set(output.userId, createdAt);
103
292
  }
104
293
  }
@@ -106,8 +295,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
106
295
  .sort((a, b) => b[1].getTime() - a[1].getTime())
107
296
  .slice(0, limit)
108
297
  .map(([userId]) => userId);
109
- const users = await Promise.all(sortedUserIds.map(userId => this.findUserById(userId, trx)));
110
- return users.filter((user) => !!user);
298
+ const users = await Promise.all(sortedUserIds.map(async (userId) => await this.findUserById(userId, trx)));
299
+ return users.filter((user) => user != null);
111
300
  }
112
301
  isStorageProvider() {
113
302
  return true;
@@ -116,49 +305,129 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
116
305
  this._services = v;
117
306
  }
118
307
  getServices() {
119
- if (!this._services)
308
+ if (this._services == null)
120
309
  throw new WERR_errors_1.WERR_INVALID_OPERATION('Must setServices first.');
121
310
  return this._services;
122
311
  }
123
- async abortAction(auth, args) {
124
- if (!auth.userId)
125
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
126
- const userId = auth.userId;
312
+ async findAbortableTransaction(userId, args, trx) {
127
313
  let reference = args.reference;
128
- let txid = undefined;
129
- const r = await this.transaction(async (trx) => {
130
- let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
131
- partial: { reference, userId },
314
+ let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
315
+ partial: { reference, userId },
316
+ noRawTx: true,
317
+ trx
318
+ }));
319
+ if (tx == null && args.reference.length === 64) {
320
+ reference = undefined;
321
+ tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
322
+ partial: { txid: args.reference, userId },
132
323
  noRawTx: true,
133
324
  trx
134
325
  }));
135
- if (!tx && args.reference.length === 64) {
136
- // reference may also be a txid
137
- txid = reference;
138
- reference = undefined;
139
- tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
140
- partial: { txid, userId },
141
- noRawTx: true,
142
- trx
143
- }));
326
+ }
327
+ const unAbortableStatus = ['completed', 'failed', 'sending', 'unproven'];
328
+ if (tx == null || !tx.isOutgoing || unAbortableStatus.includes(tx.status)) {
329
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
330
+ }
331
+ return { tx, reference };
332
+ }
333
+ async checkAbortChainProtection(tx, args, trx) {
334
+ if (tx.txid == null || tx.txid === '' || tx.status !== 'nosend') {
335
+ return { skipped: false, serviceUnreachable: false };
336
+ }
337
+ let serviceUnreachable = false;
338
+ let chainStatus;
339
+ try {
340
+ const result = await this.getServices().getStatusForTxids([tx.txid]);
341
+ if (result.status !== 'success') {
342
+ serviceUnreachable = true;
144
343
  }
145
- const unAbortableStatus = ['completed', 'failed', 'sending', 'unproven'];
146
- if (!tx || !tx.isOutgoing || -1 < unAbortableStatus.findIndex(s => s === tx.status))
147
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
148
- await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
149
- if (tx.txid) {
150
- const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
151
- if (req) {
152
- req.addHistoryNote({ what: 'abortAction', reference: args.reference });
153
- req.status = 'invalid';
154
- await req.updateStorageDynamicProperties(this, trx);
155
- }
344
+ else {
345
+ chainStatus = result.results.find(item => item.txid === tx.txid)?.status;
156
346
  }
157
- const r = {
158
- aborted: true
159
- };
160
- return r;
347
+ }
348
+ catch {
349
+ serviceUnreachable = true;
350
+ }
351
+ if (chainStatus !== 'mined' && chainStatus !== 'known') {
352
+ return { skipped: false, serviceUnreachable };
353
+ }
354
+ const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
355
+ if (req != null) {
356
+ req.addHistoryNote({
357
+ what: 'abortAction-skipped-onchain',
358
+ reference: args.reference,
359
+ chainStatus
360
+ });
361
+ await req.updateStorageDynamicProperties(this, trx);
362
+ }
363
+ return { skipped: true, serviceUnreachable };
364
+ }
365
+ async invalidateAbortedTransaction(tx, userId, reference, originalReference, serviceUnreachable, trx) {
366
+ await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
367
+ if (tx.txid != null && tx.txid !== '') {
368
+ const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
369
+ if (req != null) {
370
+ req.addHistoryNote(serviceUnreachable
371
+ ? { what: 'abortAction-offline-fallback', reference: originalReference }
372
+ : { what: 'abortAction', reference: originalReference });
373
+ req.status = 'invalid';
374
+ await req.updateStorageDynamicProperties(this, trx);
375
+ }
376
+ }
377
+ return { aborted: true };
378
+ }
379
+ async abortAction(auth, args) {
380
+ if (auth.userId == null)
381
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
382
+ const userId = auth.userId;
383
+ const r = await this.transaction(async (trx) => {
384
+ const { tx, reference } = await this.findAbortableTransaction(userId, args, trx);
385
+ // Chain-status protection for signed nosend txs.
386
+ //
387
+ // Background: a nosend tx (created via createAction({noSend:true}))
388
+ // can be externally broadcast by the caller and reach 'mined' or
389
+ // mempool-'known' status before any internalizeAction or Monitor
390
+ // cycle has retired its 'nosend' status in storage. If abortAction
391
+ // is invoked on it in that window, the destructive transitions
392
+ // below (transactions.status='failed' + proven_tx_reqs.status='invalid')
393
+ // orphan every output the tx produced — including auto-fund change
394
+ // outputs the wallet itself emitted — because listOutputs filters
395
+ // them out of the spendable set on parent-tx 'failed' status.
396
+ //
397
+ // Protection: if the tx has a txid AND status is 'nosend', ask
398
+ // the network whether it already knows about the tx before
399
+ // invalidating. getStatusForTxids returns 'mined' | 'known' |
400
+ // 'unknown' per StatusForTxidResult (WalletServices.interfaces.ts).
401
+ // Refuse the abort for 'mined' OR 'known' — a tx that's broadcast
402
+ // and propagating in mempool returns 'known' (depth===0) and
403
+ // protecting it avoids orphaning during the propagation window.
404
+ //
405
+ // Service-unreachable handling: proceed with abort. Refusal is
406
+ // reserved for positive on-chain confirmation. When the network
407
+ // confirmation pathway is itself unavailable (services throw or
408
+ // gracefully return r.status !== 'success'), confirmation is not
409
+ // possible — and per the BRC-100 contract callers retain the
410
+ // ability to abort offline. The fallback writes a forensic
411
+ // history note ('abortAction-offline-fallback') so an operator
412
+ // can grep for aborts that proceeded under uncertainty. This
413
+ // hole can never be 100% closed against externally-broadcast
414
+ // chain-confirmed txs while offline; the audit trail makes it
415
+ // recoverable.
416
+ const protection = await this.checkAbortChainProtection(tx, args, trx);
417
+ if (protection.skipped) {
418
+ // Commit the audit note before translating this sentinel to aborted:false.
419
+ return { __abortAction: 'skipped-onchain' };
420
+ }
421
+ return await this.invalidateAbortedTransaction(tx, userId, reference, args.reference, protection.serviceUnreachable, trx);
161
422
  });
423
+ if ('__abortAction' in r) {
424
+ // Tone Engel review feedback (PR #122 comment 4444566147 item 3):
425
+ // do not throw on chain-confirmed refusal — surface it via the
426
+ // return value so callers can branch on it. Refusal is positive
427
+ // chain confirmation only; service-unreachable proceeds with
428
+ // abort and returns aborted:true with an audit-trail note.
429
+ return { aborted: false };
430
+ }
162
431
  return r;
163
432
  }
164
433
  async internalizeAction(auth, args) {
@@ -190,43 +459,24 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
190
459
  r.details.push(d);
191
460
  try {
192
461
  d.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
193
- if (d.proven)
462
+ if (d.proven != null) {
194
463
  d.status = 'alreadySent';
464
+ continue;
465
+ }
466
+ d.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
467
+ if (d.req == null) {
468
+ d.status = 'error';
469
+ d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
470
+ }
195
471
  else {
196
- const alreadySentStatus = ['unmined', 'callback', 'unconfirmed', 'completed'];
197
- const readyToSendStatus = ['sending', 'unsent', 'nosend', 'unprocessed'];
198
- const errorStatus = ['unknown', 'nonfinal', 'invalid', 'doubleSpend'];
199
- d.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
200
- if (!d.req) {
201
- d.status = 'error';
202
- d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
203
- }
204
- else if (errorStatus.indexOf(d.req.status) > -1) {
205
- d.status = 'error';
206
- d.error = `ERR_INVALID_PARAMETER: ${txid} is not ready to send.`;
207
- }
208
- else if (alreadySentStatus.indexOf(d.req.status) > -1) {
209
- d.status = 'alreadySent';
210
- }
211
- else if (readyToSendStatus.indexOf(d.req.status) > -1) {
212
- if (!d.req.rawTx || !d.req.inputBEEF) {
213
- d.status = 'error';
214
- d.error = `ERR_INTERNAL: ${txid} req is missing rawTx or beef.`;
215
- }
216
- else
217
- d.status = 'readyToSend';
218
- }
219
- else {
220
- d.status = 'error';
221
- d.error = `ERR_INTERNAL: ${txid} has unexpected req status ${d.req.status}`;
222
- }
223
- if (d.status === 'readyToSend') {
224
- await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
225
- }
472
+ (0, storageProviderHelpers_1.classifyReqStatus)(d, d.req);
473
+ }
474
+ if (d.status === 'readyToSend') {
475
+ await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
226
476
  }
227
477
  }
228
- catch (eu) {
229
- const e = WalletError_1.WalletError.fromUnknown(eu);
478
+ catch (error_) {
479
+ const e = WalletError_1.WalletError.fromUnknown(error_);
230
480
  d.error = `${e.name}: ${e.message}`;
231
481
  }
232
482
  }
@@ -234,23 +484,13 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
234
484
  }
235
485
  async mergeReqToBeefToShareExternally(req, mergeToBeef, knownTxids, trx) {
236
486
  const { rawTx, inputBEEF: beef } = req;
237
- if (!rawTx || !beef)
238
- throw new WERR_errors_1.WERR_INTERNAL(`req rawTx and beef must be valid.`);
487
+ if (rawTx == null || beef == null)
488
+ throw new WERR_errors_1.WERR_INTERNAL('req rawTx and beef must be valid.');
239
489
  mergeToBeef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
240
490
  mergeToBeef.mergeBeef((0, utilityHelpers_noBuffer_1.asArray)(beef));
241
- const tx = sdk_1.Transaction.fromBinary((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
242
- for (const input of tx.inputs) {
243
- if (!input.sourceTXID)
244
- throw new WERR_errors_1.WERR_INTERNAL(`req all transaction inputs must have valid sourceTXID`);
245
- const txid = input.sourceTXID;
246
- const btx = mergeToBeef.findTxid(txid);
247
- if (!btx) {
248
- if (knownTxids && knownTxids.indexOf(txid) > -1)
249
- mergeToBeef.mergeTxidOnly(txid);
250
- else
251
- await this.getValidBeefForKnownTxid(txid, mergeToBeef, undefined, knownTxids, trx);
252
- }
253
- }
491
+ await (0, storageProviderHelpers_1.mergeInputsIntoBeef)((0, utilityHelpers_noBuffer_1.asArray)(rawTx), mergeToBeef, knownTxids, trx, async (txid, beef, _trust, knownTxids, trx) => {
492
+ await this.getValidBeefForKnownTxid(txid, beef, undefined, knownTxids, trx);
493
+ });
254
494
  }
255
495
  /**
256
496
  * Checks if txid is a known valid ProvenTx and returns it if found.
@@ -266,33 +506,37 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
266
506
  * @param trx
267
507
  * @returns
268
508
  */
509
+ async upsertProvenTxReq(txid, newReq, trx) {
510
+ const existing = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
511
+ if (existing == null && newReq == null)
512
+ return undefined;
513
+ if (existing == null) {
514
+ await this.insertProvenTxReq(newReq, trx);
515
+ return newReq;
516
+ }
517
+ if (newReq != null) {
518
+ const req1 = new entities_1.EntityProvenTxReq(existing);
519
+ req1.mergeHistory(newReq, undefined, true);
520
+ req1.mergeNotifyTransactionIds(newReq);
521
+ await req1.updateStorageDynamicProperties(this, trx);
522
+ }
523
+ return existing;
524
+ }
269
525
  async getProvenOrReq(txid, newReq, trx) {
270
- if (newReq && txid !== newReq.txid)
271
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', `same txid`);
526
+ if (newReq != null && txid !== newReq.txid)
527
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', 'same txid');
272
528
  const r = { proven: undefined, req: undefined };
273
529
  r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
274
- if (r.proven)
530
+ if (r.proven != null)
275
531
  return r;
276
532
  for (let retry = 0;; retry++) {
277
533
  try {
278
- r.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
279
- if (!r.req && !newReq)
280
- break;
281
- if (!r.req && newReq) {
282
- await this.insertProvenTxReq(newReq, trx);
283
- }
284
- if (r.req && newReq) {
285
- // Merge history and notify into existing
286
- const req1 = new entities_1.EntityProvenTxReq(r.req);
287
- req1.mergeHistory(newReq, undefined, true);
288
- req1.mergeNotifyTransactionIds(newReq);
289
- await req1.updateStorageDynamicProperties(this, trx);
290
- }
534
+ r.req = await this.upsertProvenTxReq(txid, newReq, trx);
291
535
  break;
292
536
  }
293
- catch (eu) {
537
+ catch (error_) {
294
538
  if (retry > 0)
295
- throw eu;
539
+ throw error_;
296
540
  }
297
541
  }
298
542
  return r;
@@ -304,10 +548,31 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
304
548
  }
305
549
  }, trx);
306
550
  }
551
+ async releaseInputsAllocatedToFailedTransaction(tx, trx) {
552
+ const t = new entities_1.EntityTransaction(tx);
553
+ const inputs = await t.getInputs(this, trx);
554
+ for (const input of inputs) {
555
+ // input is a prior output belonging to userId that references this transaction either by `spentBy`
556
+ // or by txid and vout.
557
+ await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
558
+ }
559
+ }
560
+ async markFailedTransactionOutputsNotSpendable(tx, trx) {
561
+ const outputs = await this.findOutputs({
562
+ partial: { transactionId: (0, utilityHelpers_1.verifyId)(tx.transactionId) },
563
+ trx
564
+ });
565
+ for (const output of outputs) {
566
+ if (!output.spendable && output.spentBy == null)
567
+ continue;
568
+ await this.updateOutput((0, utilityHelpers_1.verifyId)(output.outputId), { spendable: false, spentBy: undefined }, trx);
569
+ }
570
+ }
307
571
  /**
308
572
  * For all `status` values besides 'failed', just updates the transaction records status property.
309
573
  *
310
- * For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again.
574
+ * For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again
575
+ * and makes outputs generated by this transaction non-spendable.
311
576
  *
312
577
  * @param status
313
578
  * @param transactionId
@@ -316,39 +581,33 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
316
581
  * @param trx
317
582
  */
318
583
  async updateTransactionStatus(status, transactionId, userId, reference, trx) {
319
- if (!transactionId && !(userId && reference))
584
+ if (transactionId == null && !(userId != null && reference != null && reference !== '')) {
320
585
  throw new WERR_errors_1.WERR_MISSING_PARAMETER('either transactionId or userId and reference');
586
+ }
321
587
  await this.transaction(async (trx) => {
322
588
  const where = {};
323
- if (transactionId)
589
+ if (transactionId != null)
324
590
  where.transactionId = transactionId;
325
- if (userId)
591
+ if (userId != null)
326
592
  where.userId = userId;
327
- if (reference)
593
+ if (reference != null && reference !== '')
328
594
  where.reference = reference;
329
595
  const tx = (0, utilityHelpers_1.verifyOne)(await this.findTransactions({ partial: where, noRawTx: true, trx }));
330
- //if (tx.status === status)
596
+ // if (tx.status === status)
331
597
  // no change required. Assume inputs and outputs spendable and spentBy are valid for status.
332
- //return
598
+ // return
333
599
  // Once completed, this method cannot be used to "uncomplete" transaction.
334
- if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId)
600
+ if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId != null) {
335
601
  throw new WERR_errors_1.WERR_INVALID_OPERATION('The status of a "completed" transaction cannot be changed.');
602
+ }
336
603
  // It is not possible to un-fail a transaction. Information is lost and not recoverable.
337
- if (status !== 'failed' && tx.status === 'failed')
338
- throw new WERR_errors_1.WERR_INVALID_OPERATION(`A "failed" transaction may not be un-failed by this method.`);
604
+ if (status !== 'failed' && tx.status === 'failed') {
605
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('A "failed" transaction may not be un-failed by this method.');
606
+ }
339
607
  switch (status) {
340
608
  case 'failed':
341
- {
342
- // Attempt to make outputs previously allocated as inputs to this transaction usable again.
343
- // Only clear input's spentBy and reset spendable = true if it references this transaction
344
- const t = new entities_1.EntityTransaction(tx);
345
- const inputs = await t.getInputs(this, trx);
346
- for (const input of inputs) {
347
- // input is a prior output belonging to userId that reference this transaction either by `spentBy`
348
- // or by txid and vout.
349
- await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
350
- }
351
- }
609
+ await this.releaseInputsAllocatedToFailedTransaction(tx, trx);
610
+ await this.markFailedTransactionOutputsNotSpendable(tx, trx);
352
611
  break;
353
612
  case 'nosend':
354
613
  case 'unsigned':
@@ -364,12 +623,15 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
364
623
  }, trx);
365
624
  }
366
625
  async createAction(auth, args) {
367
- if (!auth.userId)
626
+ if (auth.userId == null)
368
627
  throw new WERR_errors_1.WERR_UNAUTHORIZED();
628
+ if (this.supportsActionBatchPersistence() && this.requiresActionBatchCleanupBeforeCreateAction()) {
629
+ await (0, actionBatch_1.cleanupExpiredActionBatches)(this);
630
+ }
369
631
  return await (0, createAction_1.createAction)(this, auth, args);
370
632
  }
371
633
  async processAction(auth, args) {
372
- if (!auth.userId)
634
+ if (auth.userId == null)
373
635
  throw new WERR_errors_1.WERR_UNAUTHORIZED();
374
636
  return await (0, processAction_1.processAction)(this, auth, args);
375
637
  }
@@ -381,7 +643,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
381
643
  }
382
644
  async verifyKnownValidTransaction(txid, trx) {
383
645
  const { proven, rawTx } = await this.getProvenOrRawTx(txid, trx);
384
- return proven != undefined || rawTx != undefined;
646
+ return proven !== undefined || rawTx !== undefined;
385
647
  }
386
648
  /**
387
649
  * Pulls data from storage to build a valid beef for a txid.
@@ -399,64 +661,72 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
399
661
  */
400
662
  async getValidBeefForKnownTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
401
663
  const beef = await this.getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels);
402
- if (!beef)
664
+ if (beef == null)
403
665
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `known to storage. ${txid} is not known.`);
404
666
  return beef;
405
667
  }
406
- async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
407
- const beef = mergeToBeef || new sdk_1.Beef();
408
- const r = await this.getProvenOrRawTx(txid, trx);
409
- if (r.proven) {
410
- if (requiredLevels) {
411
- r.rawTx = r.proven.rawTx;
412
- }
413
- else {
414
- if (trustSelf === 'known')
415
- beef.mergeTxidOnly(txid);
416
- else {
417
- const mp = new entities_1.EntityProvenTx(r.proven).getMerklePath();
418
- if (chainTracker) {
419
- const root = mp.computeRoot();
420
- const isValid = await chainTracker.isValidRootForHeight(root, r.proven.height);
421
- if (!isValid) {
422
- if (!skipInvalidProofs) {
423
- throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(r.proven.blockHash, r.proven.height, root, txid);
424
- }
425
- // ignore this currently invalid proof and try to recurse deeper
426
- r.rawTx = r.proven.rawTx;
427
- r.proven = undefined;
428
- }
429
- }
430
- if (r.proven) {
431
- // If we still like this proof, merge it and return
432
- beef.mergeRawTx(r.proven.rawTx);
433
- beef.mergeBump(mp);
434
- return beef;
435
- }
436
- }
668
+ /**
669
+ * Handles the proven-tx branch of getValidBeefForTxid.
670
+ *
671
+ * Returns the beef if the proof was merged and we can stop, or `undefined` to
672
+ * signal that the caller should fall through to the rawTx path. May also
673
+ * populate `r.rawTx` so the rawTx path can proceed without re-fetching.
674
+ */
675
+ async handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs) {
676
+ const proven = r.proven;
677
+ if (proven == null)
678
+ return undefined;
679
+ if ((requiredLevels ?? 0) > 0) {
680
+ // Need more levels — caller should proceed via rawTx path
681
+ r.rawTx = proven.rawTx;
682
+ return undefined;
683
+ }
684
+ if (trustSelf === 'known') {
685
+ beef.mergeTxidOnly(txid);
686
+ return beef;
687
+ }
688
+ const mp = new entities_1.EntityProvenTx(proven).getMerklePath();
689
+ if (chainTracker != null) {
690
+ const root = mp.computeRoot();
691
+ const isValid = await chainTracker.isValidRootForHeight(root, proven.height);
692
+ if (!isValid) {
693
+ if (skipInvalidProofs !== true)
694
+ throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(proven.blockHash, proven.height, root, txid);
695
+ // Proof is currently invalid — recurse deeper via rawTx path
696
+ r.rawTx = proven.rawTx;
697
+ r.proven = undefined;
698
+ return undefined;
437
699
  }
438
700
  }
439
- if (!r.rawTx)
701
+ // Proof is good — merge and return
702
+ beef.mergeRawTx(proven.rawTx);
703
+ beef.mergeBump(mp);
704
+ return beef;
705
+ }
706
+ async getValidBeefForTxid(...[txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs]) {
707
+ const beef = mergeToBeef ?? new sdk_1.Beef();
708
+ const r = await this.getProvenOrRawTx(txid, trx);
709
+ // --- proven-tx path ---
710
+ if (r.proven != null) {
711
+ const result = await this.handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs);
712
+ if (result != null || r.rawTx == null)
713
+ return result;
714
+ }
715
+ // --- rawTx path ---
716
+ if (r.rawTx == null)
440
717
  return undefined;
441
718
  if (trustSelf === 'known') {
442
719
  beef.mergeTxidOnly(txid);
443
720
  }
444
721
  else {
445
722
  beef.mergeRawTx(r.rawTx);
446
- if (r.inputBEEF)
723
+ if (r.inputBEEF != null)
447
724
  beef.mergeBeef(r.inputBEEF);
448
- const tx = sdk_1.Transaction.fromBinary(r.rawTx);
449
- if (requiredLevels)
450
- requiredLevels--;
451
- for (const input of tx.inputs) {
452
- const btx = beef.findTxid(input.sourceTXID);
453
- if (!btx) {
454
- if (!requiredLevels && knownTxids && knownTxids.indexOf(input.sourceTXID) > -1)
455
- beef.mergeTxidOnly(input.sourceTXID);
456
- else
457
- await this.getValidBeefForKnownTxid(input.sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
458
- }
459
- }
725
+ if ((requiredLevels ?? 0) > 0)
726
+ requiredLevels = requiredLevels - 1;
727
+ await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
728
+ await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
729
+ });
460
730
  }
461
731
  return beef;
462
732
  }
@@ -464,6 +734,9 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
464
734
  const beef = await (0, getBeefForTransaction_1.getBeefForTransaction)(this, txid, options);
465
735
  return beef;
466
736
  }
737
+ async getBeefForTransactions(txids, options) {
738
+ return await (0, getBeefForTransaction_1.getBeefForTransactions)(this, txids, options);
739
+ }
467
740
  async findMonitorEventById(id, trx) {
468
741
  return (0, utilityHelpers_1.verifyOneOrNone)(await this.findMonitorEvents({ partial: { id }, trx }));
469
742
  }
@@ -483,7 +756,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
483
756
  async relinquishOutput(auth, args) {
484
757
  const vargs = sdk_1.Validation.validateRelinquishOutputArgs(args);
485
758
  const { txid, vout } = sdk_1.Validation.parseWalletOutpoint(vargs.output);
486
- const output = (0, utilityHelpers_1.verifyOne)(await this.findOutputs({ partial: { txid, vout } }));
759
+ const output = (0, utilityHelpers_1.verifyOne)(await this.findOutputs({ partial: { userId: auth.userId, txid, vout } }));
487
760
  return await this.updateOutput(output.outputId, { basketId: undefined });
488
761
  }
489
762
  async processSyncChunk(args, chunk) {
@@ -513,14 +786,18 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
513
786
  async updateProvenTxReqWithNewProvenTx(args) {
514
787
  const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
515
788
  let proven;
516
- if (req.provenTxId) {
789
+ if (req.provenTxId != null && req.provenTxId > 0) {
517
790
  // Someone beat us to it, grab what we need for results...
518
791
  proven = new entities_1.EntityProvenTx((0, utilityHelpers_1.verifyOne)(await this.findProvenTxs({ partial: { txid: args.txid } })));
792
+ if (req.status !== 'completed' || req.provenTxId !== proven.provenTxId) {
793
+ req.status = 'completed';
794
+ req.provenTxId = proven.provenTxId;
795
+ await req.updateStorageDynamicProperties(this);
796
+ }
519
797
  }
520
798
  else {
521
- let isNew;
522
- ({ proven, isNew } = await this.transaction(async (trx) => {
523
- const { proven: api, isNew } = await this.findOrInsertProvenTx({
799
+ proven = await this.transaction(async (trx) => {
800
+ const { proven: api } = await this.findOrInsertProvenTx({
524
801
  created_at: new Date(),
525
802
  updated_at: new Date(),
526
803
  provenTxId: 0,
@@ -532,43 +809,242 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
532
809
  blockHash: args.blockHash,
533
810
  merkleRoot: args.merkleRoot
534
811
  }, trx);
535
- proven = new entities_1.EntityProvenTx(api);
536
- if (isNew) {
812
+ const found = new entities_1.EntityProvenTx(api);
813
+ if (req.status !== 'completed' || req.provenTxId !== found.provenTxId) {
537
814
  req.status = 'completed';
538
- req.provenTxId = proven.provenTxId;
815
+ req.provenTxId = found.provenTxId;
539
816
  await req.updateStorageDynamicProperties(this, trx);
540
- // upate the transaction notifications outside of storage transaction....
541
- }
542
- return { proven, isNew };
543
- }));
544
- if (isNew) {
545
- const ids = req.notify.transactionIds || [];
546
- if (ids.length > 0) {
547
- for (const id of ids) {
548
- try {
549
- await this.updateTransaction(id, {
550
- provenTxId: proven.provenTxId,
551
- status: 'completed'
552
- });
553
- req.addHistoryNote({ what: 'notifyTxOfProof', transactionId: id });
554
- }
555
- catch (eu) {
556
- const { code, description } = WalletError_1.WalletError.fromUnknown(eu);
557
- const { provenTxId } = proven;
558
- req.addHistoryNote({ what: 'notifyTxOfProofError', id, provenTxId, code, description });
559
- }
560
- }
561
- await req.updateStorageDynamicProperties(this);
562
817
  }
563
- }
818
+ return found;
819
+ });
564
820
  }
821
+ await this.reconcileProvenTxReqTransactions(req, proven);
565
822
  const r = {
566
823
  status: req.status,
567
824
  history: req.apiHistory,
568
- provenTxId: proven.provenTxId
825
+ provenTxId: proven.provenTxId,
826
+ notified: req.notified,
827
+ notify: req.apiNotify
569
828
  };
570
829
  return r;
571
830
  }
831
+ /**
832
+ * Reconcile completed proof requests whose transaction fan-out previously
833
+ * failed or whose durable notification state drifted.
834
+ *
835
+ * This is called by TaskReviewStatus so a completed request with
836
+ * `notified = false` is retried and can become eligible for normal purge.
837
+ */
838
+ async reconcileCompletedProvenTxReqs() {
839
+ let log = '';
840
+ const reqs = await this.findProvenTxReqs({
841
+ partial: { status: 'completed', notified: false }
842
+ });
843
+ for (const reqApi of reqs) {
844
+ const req = new entities_1.EntityProvenTxReq(reqApi);
845
+ if (req.provenTxId == null || req.provenTxId <= 0) {
846
+ log += `completed req ${req.id} cannot reconcile without provenTxId\n`;
847
+ continue;
848
+ }
849
+ const provenApi = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({
850
+ partial: { provenTxId: req.provenTxId }
851
+ }));
852
+ if (provenApi == null) {
853
+ log += `completed req ${req.id} cannot reconcile missing provenTx ${req.provenTxId}\n`;
854
+ continue;
855
+ }
856
+ await this.reconcileProvenTxReqTransactions(req, new entities_1.EntityProvenTx(provenApi));
857
+ if (req.notified)
858
+ log += `completed req ${req.id} transaction notifications reconciled\n`;
859
+ }
860
+ return { log };
861
+ }
862
+ async prepareProofRecoveryOutputVerdicts(transactions) {
863
+ const verdicts = new Map();
864
+ if (transactions.length === 0)
865
+ return verdicts;
866
+ const services = this.getServices();
867
+ for (const transaction of transactions) {
868
+ const outputs = await this.findOutputs({
869
+ partial: {
870
+ userId: transaction.userId,
871
+ transactionId: transaction.transactionId
872
+ }
873
+ });
874
+ for (const output of outputs) {
875
+ const outputId = (0, utilityHelpers_1.verifyId)(output.outputId);
876
+ await this.validateOutputScript(output);
877
+ verdicts.set(outputId, output.lockingScript == null ? undefined : await services.isUtxo(output));
878
+ }
879
+ }
880
+ return verdicts;
881
+ }
882
+ async restoreProofRecoveryInputs(tx, bsvtx, indent, trx) {
883
+ let log = '';
884
+ for (const [vin, input] of bsvtx.inputs.entries()) {
885
+ const sourceTXID = input.sourceTXID;
886
+ if (sourceTXID == null) {
887
+ log += ' '.repeat(indent + 2) + `input ${vin} has no source transaction id\n`;
888
+ continue;
889
+ }
890
+ const outputs = await this.findOutputs({
891
+ partial: {
892
+ userId: tx.userId,
893
+ txid: sourceTXID,
894
+ vout: input.sourceOutputIndex
895
+ },
896
+ trx
897
+ });
898
+ if (outputs.length !== 1) {
899
+ log += ' '.repeat(indent + 2) + `input ${vin} not matched to user's outputs\n`;
900
+ continue;
901
+ }
902
+ const output = outputs[0];
903
+ log +=
904
+ ' '.repeat(indent + 2) +
905
+ `input ${vin} matched to output ${output.outputId} updated spentBy ${tx.transactionId}\n`;
906
+ await this.updateOutput((0, utilityHelpers_1.verifyId)(output.outputId), { spendable: false, spentBy: tx.transactionId }, trx);
907
+ }
908
+ return log;
909
+ }
910
+ async restoreProofRecoveryOutputs(tx, outputVerdicts, indent, trx) {
911
+ let log = '';
912
+ const outputs = await this.findOutputs({
913
+ partial: { userId: tx.userId, transactionId: tx.transactionId },
914
+ trx
915
+ });
916
+ for (const output of outputs) {
917
+ const outputId = (0, utilityHelpers_1.verifyId)(output.outputId);
918
+ if (!outputVerdicts.has(outputId)) {
919
+ throw new WERR_errors_1.WERR_INTERNAL(`Output ${outputId} changed while preparing proof recovery.`);
920
+ }
921
+ const isUtxo = outputVerdicts.get(outputId);
922
+ if (isUtxo == null) {
923
+ log +=
924
+ ' '.repeat(indent + 2) +
925
+ `output ${output.outputId} does not have a valid locking script\n`;
926
+ continue;
927
+ }
928
+ if (isUtxo === output.spendable) {
929
+ log += ' '.repeat(indent + 2) + `output ${output.outputId} unchanged\n`;
930
+ continue;
931
+ }
932
+ log +=
933
+ ' '.repeat(indent + 2) +
934
+ `output ${output.outputId} set to ${isUtxo ? 'spendable' : 'spent'}\n`;
935
+ await this.updateOutput(outputId, { spendable: isUtxo }, trx);
936
+ }
937
+ return log;
938
+ }
939
+ async restoreTransactionForProof(tx, bsvtx, preparedTransactionIds, outputVerdicts, indent, trx) {
940
+ if (bsvtx == null || !preparedTransactionIds.has(tx.transactionId)) {
941
+ throw new WERR_errors_1.WERR_INTERNAL(`Transaction ${tx.transactionId} changed while preparing proof recovery.`);
942
+ }
943
+ await this.updateTransaction(tx.transactionId, { status: 'unproven' }, trx);
944
+ let log = ' '.repeat(indent) +
945
+ `transaction ${tx.transactionId} status is now 'unproven'\n`;
946
+ log += await this.restoreProofRecoveryInputs(tx, bsvtx, indent, trx);
947
+ log += await this.restoreProofRecoveryOutputs(tx, outputVerdicts, indent, trx);
948
+ return log;
949
+ }
950
+ /**
951
+ * Restore every failed local copy of a transaction before proof completion.
952
+ * Also heals the request's notification set from the authoritative txid
953
+ * lookup so TaskUnFail cannot omit a local copy after notification drift.
954
+ */
955
+ async unfailTransactionsForProof(req, indent = 0, requestUpdate) {
956
+ const transactions = await this.findTransactions({
957
+ partial: { txid: req.txid },
958
+ noRawTx: true
959
+ });
960
+ const transactionsToRepair = transactions.filter(transaction => requestUpdate != null || transaction.status === 'failed');
961
+ // Proof completion is the hot path. If no failed transaction needs repair,
962
+ // notification reconciliation below will perform the required atomic work;
963
+ // avoid an otherwise empty refresh/write transaction here.
964
+ if (transactionsToRepair.length === 0 && requestUpdate == null)
965
+ return '';
966
+ // Refresh only after deciding recovery is required, while the caller has
967
+ // not yet applied an intended request transition. TaskUnFail passes that
968
+ // transition separately so it is persisted atomically with bookkeeping.
969
+ await req.refreshFromStorage(this);
970
+ const preparedTransactionIds = new Set(transactionsToRepair.map(transaction => transaction.transactionId));
971
+ const bsvtx = transactionsToRepair.length > 0 ? sdk_1.Transaction.fromBinary(req.rawTx) : undefined;
972
+ // UTXO checks can call external services. Complete every check before
973
+ // opening the write transaction so network latency never holds DB locks.
974
+ const outputVerdicts = await this.prepareProofRecoveryOutputVerdicts(transactionsToRepair);
975
+ return await this.transaction(async (trx) => {
976
+ let log = '';
977
+ await req.refreshFromStorage(this, trx);
978
+ const currentTransactions = await this.findTransactions({
979
+ partial: { txid: req.txid },
980
+ noRawTx: true,
981
+ trx
982
+ });
983
+ const knownNotificationIds = new Set(req.notify.transactionIds ?? []);
984
+ if (requestUpdate != null) {
985
+ req.status = requestUpdate.status;
986
+ req.attempts = requestUpdate.attempts;
987
+ }
988
+ for (const tx of currentTransactions) {
989
+ if (!knownNotificationIds.has(tx.transactionId)) {
990
+ req.addNotifyTransactionId(tx.transactionId);
991
+ knownNotificationIds.add(tx.transactionId);
992
+ }
993
+ const shouldRepair = requestUpdate != null || tx.status === 'failed';
994
+ if (!shouldRepair)
995
+ continue;
996
+ log += await this.restoreTransactionForProof(tx, bsvtx, preparedTransactionIds, outputVerdicts, indent, trx);
997
+ }
998
+ await req.updateStorageDynamicProperties(this, trx);
999
+ return log;
1000
+ });
1001
+ }
1002
+ async reconcileProvenTxReqTransactions(req, proven) {
1003
+ // A transaction can be internalized concurrently by several users. Their
1004
+ // transaction rows share a txid but race while merging the JSON notify
1005
+ // list, so a last-writer-wins update can omit one local copy. A valid proof
1006
+ // is authoritative for every local transaction with this txid: discover
1007
+ // them from the indexed transaction table and atomically heal both the
1008
+ // durable notify set and any row that missed the original completion.
1009
+ // Keep the clean proof-completion path identical to the normal notification
1010
+ // transaction. Only leave it when failed rows require external UTXO checks,
1011
+ // which must run without an open transaction.
1012
+ let repairAttempts = 0;
1013
+ for (;;) {
1014
+ const needsRepair = await this.transaction(async (trx) => {
1015
+ await req.refreshFromStorage(this, trx);
1016
+ const transactions = await this.findTransactions({ partial: { txid: req.txid }, trx });
1017
+ if (transactions.some(transaction => transaction.status === 'failed'))
1018
+ return true;
1019
+ const knownNotificationIds = new Set(req.notify.transactionIds ?? []);
1020
+ for (const transaction of transactions) {
1021
+ if (!knownNotificationIds.has(transaction.transactionId)) {
1022
+ req.addNotifyTransactionId(transaction.transactionId);
1023
+ knownNotificationIds.add(transaction.transactionId);
1024
+ }
1025
+ }
1026
+ const transactionIdsNeedingProof = transactions
1027
+ .filter(transaction => transaction.status !== 'completed' || transaction.provenTxId !== proven.provenTxId)
1028
+ .map(transaction => transaction.transactionId);
1029
+ const updatesSucceeded = await (0, storageProviderHelpers_1.notifyTransactionsOfProof)(transactionIdsNeedingProof, proven.provenTxId, note => req.addHistoryNote(note), async (id, update) => {
1030
+ await this.updateTransaction(id, update, trx);
1031
+ });
1032
+ const completedTransactions = await this.findTransactions({ partial: { txid: req.txid }, trx });
1033
+ req.notified =
1034
+ updatesSucceeded &&
1035
+ completedTransactions.every(transaction => transaction.status === 'completed' && transaction.provenTxId === proven.provenTxId);
1036
+ await req.updateStorageDynamicProperties(this, trx);
1037
+ return false;
1038
+ });
1039
+ if (!needsRepair)
1040
+ return;
1041
+ if (repairAttempts >= 2) {
1042
+ throw new WERR_errors_1.WERR_INTERNAL(`Transactions for ${req.txid} repeatedly changed to failed during proof recovery.`);
1043
+ }
1044
+ repairAttempts++;
1045
+ await this.unfailTransactionsForProof(req);
1046
+ }
1047
+ }
572
1048
  /**
573
1049
  * For each spendable output in the 'default' basket of the authenticated user,
574
1050
  * verify that the output script, satoshis, vout and txid match that of an output
@@ -579,56 +1055,56 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
579
1055
  async confirmSpendableOutputs() {
580
1056
  const invalidSpendableOutputs = [];
581
1057
  const users = await this.findUsers({ partial: {} });
1058
+ const services = this.getServices();
582
1059
  for (const { userId } of users) {
583
1060
  const defaultBasket = (0, utilityHelpers_1.verifyOne)(await this.findOutputBaskets({ partial: { userId, name: 'default' } }));
584
- const where = {
585
- userId,
586
- basketId: defaultBasket.basketId,
587
- spendable: true
588
- };
589
- const outputs = await this.findOutputs({ partial: where });
590
- const services = this.getServices();
591
- for (let i = outputs.length - 1; i >= 0; i--) {
592
- const o = outputs[i];
593
- const oid = (0, utilityHelpers_1.verifyId)(o.outputId);
594
- if (o.spendable) {
595
- let ok = false;
596
- if (o.lockingScript && o.lockingScript.length > 0) {
597
- const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
598
- const r = await services.getUtxoStatus(hash, undefined, `${o.txid}.${o.vout}`);
599
- if (r.isUtxo === true)
600
- ok = true;
601
- }
602
- if (!ok)
603
- invalidSpendableOutputs.push(o);
604
- }
1061
+ const outputs = await this.findOutputs({
1062
+ partial: { userId, basketId: defaultBasket.basketId, spendable: true }
1063
+ });
1064
+ for (const o of outputs) {
1065
+ if (!o.spendable)
1066
+ continue;
1067
+ const isUtxo = await this.checkOutputIsUtxo(o, services);
1068
+ if (!isUtxo)
1069
+ invalidSpendableOutputs.push(o);
605
1070
  }
606
1071
  }
607
1072
  return { invalidSpendableOutputs };
608
1073
  }
1074
+ async checkOutputIsUtxo(o, services) {
1075
+ if (o.lockingScript == null || o.lockingScript.length === 0)
1076
+ return false;
1077
+ const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
1078
+ const r = await services.getUtxoStatus(hash, undefined, `${o.txid ?? ''}.${o.vout ?? ''}`);
1079
+ return r.isUtxo === true;
1080
+ }
609
1081
  async updateProvenTxReqDynamics(id, update, trx) {
610
1082
  const partial = {};
611
- if (update['updated_at'])
612
- partial['updated_at'] = update['updated_at'];
613
- if (update['provenTxId'])
614
- partial['provenTxId'] = update['provenTxId'];
615
- if (update['status'])
616
- partial['status'] = update['status'];
617
- if (Number.isInteger(update['attempts']))
618
- partial['attempts'] = update['attempts'];
619
- if (update['notified'] !== undefined)
620
- partial['notified'] = update['notified'];
621
- if (update['batch'])
622
- partial['batch'] = update['batch'];
623
- if (update['history'])
624
- partial['history'] = update['history'];
625
- if (update['notify'])
626
- partial['notify'] = update['notify'];
1083
+ if (update.updated_at != null)
1084
+ partial.updated_at = update.updated_at;
1085
+ if (update.provenTxId != null && update.provenTxId > 0)
1086
+ partial.provenTxId = update.provenTxId;
1087
+ if (update.status != null)
1088
+ partial.status = update.status;
1089
+ if (Number.isInteger(update.attempts))
1090
+ partial.attempts = update.attempts;
1091
+ if (update.notified !== undefined)
1092
+ partial.notified = update.notified;
1093
+ if (update.batch != null && update.batch !== '')
1094
+ partial.batch = update.batch;
1095
+ if (update.history != null && update.history !== '')
1096
+ partial.history = update.history;
1097
+ if (update.notify != null && update.notify !== '')
1098
+ partial.notify = update.notify;
1099
+ if (update.wasBroadcast !== undefined)
1100
+ partial.wasBroadcast = update.wasBroadcast ?? false;
1101
+ if (Number.isInteger(update.rebroadcastAttempts))
1102
+ partial.rebroadcastAttempts = update.rebroadcastAttempts ?? 0;
627
1103
  return await this.updateProvenTxReq(id, partial, trx);
628
1104
  }
629
1105
  async extendOutput(o, includeBasket = false, includeTags = false, trx) {
630
1106
  const ox = o;
631
- if (includeBasket && ox.basketId)
1107
+ if (includeBasket && ox.basketId != null && ox.basketId > 0)
632
1108
  ox.basket = await this.findOutputBasketById(o.basketId, trx);
633
1109
  if (includeTags) {
634
1110
  ox.tags = await this.getTagsForOutputId(o.outputId);
@@ -637,14 +1113,19 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
637
1113
  }
638
1114
  async validateOutputScript(o, trx) {
639
1115
  // without offset and length values return what we have (make no changes)
640
- if (!o.scriptLength || !o.scriptOffset || !o.txid)
1116
+ if (o.scriptLength == null ||
1117
+ o.scriptLength === 0 ||
1118
+ o.scriptOffset == null ||
1119
+ o.scriptOffset === 0 ||
1120
+ o.txid == null ||
1121
+ o.txid === '')
641
1122
  return;
642
1123
  // if there is an outputScript and its length is the expected length return what we have.
643
- if (o.lockingScript && o.lockingScript.length === o.scriptLength)
1124
+ if (o.lockingScript?.length === o.scriptLength)
644
1125
  return;
645
1126
  // outputScript is missing or has incorrect length...
646
1127
  const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
647
- if (!script)
1128
+ if (script == null)
648
1129
  return;
649
1130
  o.lockingScript = script;
650
1131
  }
@@ -653,11 +1134,11 @@ exports.StorageProvider = StorageProvider;
653
1134
  function validateStorageFeeModel(v) {
654
1135
  const r = {
655
1136
  model: 'sat/kb',
656
- value: 1
1137
+ value: 100
657
1138
  };
658
1139
  if (typeof v === 'object') {
659
1140
  if (v.model !== 'sat/kb')
660
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', `"sat/kb"`);
1141
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', '"sat/kb"');
661
1142
  if (typeof v.value === 'number') {
662
1143
  r.value = v.value;
663
1144
  }