@bsv/wallet-toolbox-client 2.1.24 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. package/out/src/CWIStyleWalletManager.d.ts +33 -7
  2. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  3. package/out/src/CWIStyleWalletManager.js +281 -313
  4. package/out/src/CWIStyleWalletManager.js.map +1 -1
  5. package/out/src/SetupClient.d.ts +6 -6
  6. package/out/src/SetupClient.d.ts.map +1 -1
  7. package/out/src/SetupClient.js +5 -5
  8. package/out/src/SetupClient.js.map +1 -1
  9. package/out/src/SetupWallet.d.ts.map +1 -1
  10. package/out/src/SimpleWalletManager.d.ts +12 -2
  11. package/out/src/SimpleWalletManager.d.ts.map +1 -1
  12. package/out/src/SimpleWalletManager.js +46 -30
  13. package/out/src/SimpleWalletManager.js.map +1 -1
  14. package/out/src/Wallet.d.ts +1 -1
  15. package/out/src/Wallet.d.ts.map +1 -1
  16. package/out/src/Wallet.js +102 -100
  17. package/out/src/Wallet.js.map +1 -1
  18. package/out/src/WalletAuthenticationManager.d.ts +1 -1
  19. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  20. package/out/src/WalletAuthenticationManager.js +3 -3
  21. package/out/src/WalletAuthenticationManager.js.map +1 -1
  22. package/out/src/WalletLogger.d.ts.map +1 -1
  23. package/out/src/WalletLogger.js +16 -8
  24. package/out/src/WalletLogger.js.map +1 -1
  25. package/out/src/WalletPermissionsManager.d.ts +89 -18
  26. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  27. package/out/src/WalletPermissionsManager.js +656 -870
  28. package/out/src/WalletPermissionsManager.js.map +1 -1
  29. package/out/src/WalletSettingsManager.d.ts +2 -2
  30. package/out/src/WalletSettingsManager.d.ts.map +1 -1
  31. package/out/src/WalletSettingsManager.js.map +1 -1
  32. package/out/src/fundWalletP2PKH.d.ts +2 -2
  33. package/out/src/fundWalletP2PKH.d.ts.map +1 -1
  34. package/out/src/fundWalletP2PKH.js +11 -10
  35. package/out/src/fundWalletP2PKH.js.map +1 -1
  36. package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
  37. package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
  38. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  39. package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
  40. package/out/src/mockchain/MockChainStorage.js +5 -5
  41. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  42. package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
  43. package/out/src/mockchain/MockChainTracker.js +10 -10
  44. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  45. package/out/src/mockchain/MockMiner.d.ts.map +1 -1
  46. package/out/src/mockchain/MockMiner.js +3 -3
  47. package/out/src/mockchain/MockMiner.js.map +1 -1
  48. package/out/src/mockchain/MockServices.d.ts +9 -0
  49. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  50. package/out/src/mockchain/MockServices.js +195 -238
  51. package/out/src/mockchain/MockServices.js.map +1 -1
  52. package/out/src/mockchain/merkleTree.d.ts.map +1 -1
  53. package/out/src/mockchain/merkleTree.js +21 -12
  54. package/out/src/mockchain/merkleTree.js.map +1 -1
  55. package/out/src/monitor/LeasedMonitorTask.d.ts +43 -0
  56. package/out/src/monitor/LeasedMonitorTask.d.ts.map +1 -0
  57. package/out/src/monitor/LeasedMonitorTask.js +89 -0
  58. package/out/src/monitor/LeasedMonitorTask.js.map +1 -0
  59. package/out/src/monitor/Monitor.d.ts +24 -0
  60. package/out/src/monitor/Monitor.d.ts.map +1 -1
  61. package/out/src/monitor/Monitor.js +63 -75
  62. package/out/src/monitor/Monitor.js.map +1 -1
  63. package/out/src/monitor/V7LeasedTask.d.ts +43 -0
  64. package/out/src/monitor/V7LeasedTask.d.ts.map +1 -0
  65. package/out/src/monitor/V7LeasedTask.js +89 -0
  66. package/out/src/monitor/V7LeasedTask.js.map +1 -0
  67. package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
  68. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
  69. package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
  70. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  71. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +4 -2
  72. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  73. package/out/src/monitor/tasks/TaskCheckForProofs.js +83 -16
  74. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  75. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
  76. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  77. package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
  78. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  79. package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
  80. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  81. package/out/src/monitor/tasks/TaskClock.js +0 -1
  82. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  83. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
  84. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  85. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  86. package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
  87. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
  88. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  89. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
  90. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
  91. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
  92. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  93. package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
  94. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  95. package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
  96. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  97. package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
  98. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  99. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  100. package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
  101. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
  102. package/out/src/monitor/tasks/TaskReorg.js +2 -2
  103. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  104. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
  105. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
  106. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
  107. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  108. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
  109. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
  110. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
  111. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  112. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  113. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  114. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  115. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
  116. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
  117. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  118. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  119. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  120. package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
  121. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  122. package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
  123. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  124. package/out/src/monitor/tasks/TaskUnFail.js +13 -15
  125. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  126. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
  127. package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
  128. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  129. package/out/src/sdk/CertOpsWallet.d.ts +3 -3
  130. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
  131. package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
  132. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  133. package/out/src/sdk/PrivilegedKeyManager.js +26 -21
  134. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  135. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  136. package/out/src/sdk/WERR_errors.js +5 -5
  137. package/out/src/sdk/WERR_errors.js.map +1 -1
  138. package/out/src/sdk/WalletError.d.ts +1 -1
  139. package/out/src/sdk/WalletError.d.ts.map +1 -1
  140. package/out/src/sdk/WalletError.js +10 -3
  141. package/out/src/sdk/WalletError.js.map +1 -1
  142. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
  143. package/out/src/sdk/WalletErrorFromJson.js +1 -3
  144. package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
  145. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
  146. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  147. package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
  148. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  149. package/out/src/sdk/types.d.ts +36 -4
  150. package/out/src/sdk/types.d.ts.map +1 -1
  151. package/out/src/sdk/types.js +53 -4
  152. package/out/src/sdk/types.js.map +1 -1
  153. package/out/src/services/ServiceCollection.d.ts +6 -6
  154. package/out/src/services/ServiceCollection.d.ts.map +1 -1
  155. package/out/src/services/ServiceCollection.js +3 -4
  156. package/out/src/services/ServiceCollection.js.map +1 -1
  157. package/out/src/services/Services.d.ts +5 -0
  158. package/out/src/services/Services.d.ts.map +1 -1
  159. package/out/src/services/Services.js +174 -182
  160. package/out/src/services/Services.js.map +1 -1
  161. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  162. package/out/src/services/chaintracker/BHServiceClient.js +7 -7
  163. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  164. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  165. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
  166. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  167. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
  168. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  169. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  171. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
  172. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  173. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
  174. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  175. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  176. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
  177. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  178. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  179. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +1 -1
  180. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  181. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
  182. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  183. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
  184. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  185. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
  187. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
  189. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  191. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +1 -1
  192. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
  194. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
  195. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  197. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
  199. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
  201. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  202. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
  203. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  204. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  205. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +9 -16
  206. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  208. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
  209. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  210. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
  211. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
  212. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  213. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
  214. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  215. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
  216. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  217. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
  218. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
  219. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
  220. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  221. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  222. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  223. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
  224. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  225. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
  226. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  227. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
  228. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  229. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
  230. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +8 -7
  231. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  232. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  233. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
  234. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  235. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
  236. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  237. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
  238. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  239. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
  240. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  241. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  242. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  243. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
  244. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  245. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
  246. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
  247. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  248. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
  249. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  250. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
  251. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  252. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
  253. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
  254. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  255. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
  256. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  257. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  258. package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
  259. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  260. package/out/src/services/providers/ARC.d.ts.map +1 -1
  261. package/out/src/services/providers/ARC.js +7 -14
  262. package/out/src/services/providers/ARC.js.map +1 -1
  263. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  264. package/out/src/services/providers/ArcSSEClient.js +1 -1
  265. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  266. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  267. package/out/src/services/providers/Bitails.js +17 -17
  268. package/out/src/services/providers/Bitails.js.map +1 -1
  269. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  270. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  271. package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
  272. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  273. package/out/src/services/providers/WhatsOnChain.js +109 -233
  274. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  275. package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
  276. package/out/src/services/providers/exchangeRates.js +3 -3
  277. package/out/src/services/providers/exchangeRates.js.map +1 -1
  278. package/out/src/services/providers/getBeefForTxid.d.ts +1 -1
  279. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
  280. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  281. package/out/src/services/providers/whatsOnChainHelpers.d.ts +68 -0
  282. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
  283. package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
  284. package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
  285. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  286. package/out/src/signer/WalletSigner.js.map +1 -1
  287. package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
  288. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  289. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  290. package/out/src/signer/methods/buildSignableTransaction.js +21 -13
  291. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  292. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  293. package/out/src/signer/methods/completeSignedTransaction.js +20 -21
  294. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  295. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  296. package/out/src/signer/methods/createAction.js +8 -7
  297. package/out/src/signer/methods/createAction.js.map +1 -1
  298. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  299. package/out/src/signer/methods/internalizeAction.js +8 -6
  300. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  301. package/out/src/signer/methods/proveCertificate.js +1 -1
  302. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  303. package/out/src/signer/methods/signAction.js +8 -10
  304. package/out/src/signer/methods/signAction.js.map +1 -1
  305. package/out/src/storage/StorageIdb.d.ts +16 -1
  306. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  307. package/out/src/storage/StorageIdb.js +544 -1224
  308. package/out/src/storage/StorageIdb.js.map +1 -1
  309. package/out/src/storage/StorageProvider.d.ts +124 -1
  310. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  311. package/out/src/storage/StorageProvider.js +316 -186
  312. package/out/src/storage/StorageProvider.js.map +1 -1
  313. package/out/src/storage/StorageReader.d.ts.map +1 -1
  314. package/out/src/storage/StorageReader.js +8 -7
  315. package/out/src/storage/StorageReader.js.map +1 -1
  316. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  317. package/out/src/storage/StorageReaderWriter.js +32 -32
  318. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  319. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  320. package/out/src/storage/StorageSyncReader.js +3 -3
  321. package/out/src/storage/StorageSyncReader.js.map +1 -1
  322. package/out/src/storage/WalletStorageManager.d.ts +3 -0
  323. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  324. package/out/src/storage/WalletStorageManager.js +83 -73
  325. package/out/src/storage/WalletStorageManager.js.map +1 -1
  326. package/out/src/storage/idbHelpers.d.ts +47 -0
  327. package/out/src/storage/idbHelpers.d.ts.map +1 -0
  328. package/out/src/storage/idbHelpers.js +417 -0
  329. package/out/src/storage/idbHelpers.js.map +1 -0
  330. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
  331. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  332. package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
  333. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  334. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  335. package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
  336. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  337. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
  338. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  339. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +338 -63
  340. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  341. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  342. package/out/src/storage/methods/createAction.js +251 -274
  343. package/out/src/storage/methods/createAction.js.map +1 -1
  344. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  345. package/out/src/storage/methods/generateChange.js +99 -80
  346. package/out/src/storage/methods/generateChange.js.map +1 -1
  347. package/out/src/storage/methods/getBeefForTransaction.js +15 -13
  348. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  349. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  350. package/out/src/storage/methods/getSyncChunk.js +4 -3
  351. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  352. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  353. package/out/src/storage/methods/internalizeAction.js +213 -56
  354. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  355. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  356. package/out/src/storage/methods/listActionsIdb.js +85 -110
  357. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  358. package/out/src/storage/methods/listCertificates.d.ts +1 -1
  359. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  360. package/out/src/storage/methods/listCertificates.js +7 -7
  361. package/out/src/storage/methods/listCertificates.js.map +1 -1
  362. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  363. package/out/src/storage/methods/listOutputsIdb.js +24 -27
  364. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  365. package/out/src/storage/methods/offsetKey.d.ts +1 -1
  366. package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
  367. package/out/src/storage/methods/offsetKey.js +3 -5
  368. package/out/src/storage/methods/offsetKey.js.map +1 -1
  369. package/out/src/storage/methods/processAction.d.ts +0 -11
  370. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  371. package/out/src/storage/methods/processAction.js +168 -93
  372. package/out/src/storage/methods/processAction.js.map +1 -1
  373. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  374. package/out/src/storage/methods/purgeDataIdb.js +1 -1
  375. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  376. package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
  377. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
  378. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
  379. package/out/src/storage/methods/utils.d.ts.map +1 -1
  380. package/out/src/storage/methods/utils.js +7 -1
  381. package/out/src/storage/methods/utils.js.map +1 -1
  382. package/out/src/storage/remoting/StorageClient.d.ts +4 -270
  383. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  384. package/out/src/storage/remoting/StorageClient.js +16 -423
  385. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  386. package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
  387. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
  388. package/out/src/storage/remoting/StorageClientBase.js +375 -0
  389. package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
  390. package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
  391. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
  392. package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
  393. package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
  394. package/out/src/storage/schema/StorageIdbSchema.d.ts +43 -2
  395. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  396. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  397. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  398. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  399. package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
  400. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  401. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  402. package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
  403. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  404. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  405. package/out/src/storage/schema/entities/EntityCommission.js +6 -8
  406. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  407. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  408. package/out/src/storage/schema/entities/EntityOutput.js +21 -24
  409. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  410. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  411. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  412. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  413. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  414. package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
  415. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  416. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  417. package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
  418. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  419. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
  420. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  421. package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
  422. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  423. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
  424. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  425. package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
  426. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  427. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  428. package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
  429. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  430. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  431. package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
  432. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  433. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  434. package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
  435. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  436. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  437. package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
  438. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  439. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  440. package/out/src/storage/schema/entities/EntityUser.js +3 -3
  441. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  442. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  443. package/out/src/storage/schema/entities/MergeEntity.js +6 -6
  444. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  445. package/out/src/storage/schema/monitorLease.d.ts +57 -0
  446. package/out/src/storage/schema/monitorLease.d.ts.map +1 -0
  447. package/out/src/storage/schema/monitorLease.js +101 -0
  448. package/out/src/storage/schema/monitorLease.js.map +1 -0
  449. package/out/src/storage/schema/processingFsm.d.ts +27 -0
  450. package/out/src/storage/schema/processingFsm.d.ts.map +1 -0
  451. package/out/src/storage/schema/processingFsm.js +132 -0
  452. package/out/src/storage/schema/processingFsm.js.map +1 -0
  453. package/out/src/storage/schema/tables/TableAction.d.ts +38 -0
  454. package/out/src/storage/schema/tables/TableAction.d.ts.map +1 -0
  455. package/out/src/storage/schema/tables/TableAction.js +3 -0
  456. package/out/src/storage/schema/tables/TableAction.js.map +1 -0
  457. package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -1
  458. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
  459. package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
  460. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
  461. package/out/src/storage/schema/tables/TableChainTip.d.ts +17 -0
  462. package/out/src/storage/schema/tables/TableChainTip.d.ts.map +1 -0
  463. package/out/src/storage/schema/tables/TableChainTip.js +3 -0
  464. package/out/src/storage/schema/tables/TableChainTip.js.map +1 -0
  465. package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
  466. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
  467. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
  468. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
  469. package/out/src/storage/schema/tables/TableMonitorLease.d.ts +23 -0
  470. package/out/src/storage/schema/tables/TableMonitorLease.d.ts.map +1 -0
  471. package/out/src/storage/schema/tables/TableMonitorLease.js +3 -0
  472. package/out/src/storage/schema/tables/TableMonitorLease.js.map +1 -0
  473. package/out/src/storage/schema/tables/TableOutput.d.ts +10 -2
  474. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
  475. package/out/src/storage/schema/tables/TableOutput.js +1 -1
  476. package/out/src/storage/schema/tables/TableOutput.js.map +1 -1
  477. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
  478. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
  479. package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
  480. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
  481. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
  482. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
  483. package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
  484. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
  485. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +24 -1
  486. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
  487. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  488. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  489. package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
  490. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
  491. package/out/src/storage/schema/tables/TableTransaction.d.ts +1 -1
  492. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  493. package/out/src/storage/schema/tables/TableTransactionNew.d.ts +50 -0
  494. package/out/src/storage/schema/tables/TableTransactionNew.d.ts.map +1 -0
  495. package/out/src/storage/schema/tables/TableTransactionNew.js +3 -0
  496. package/out/src/storage/schema/tables/TableTransactionNew.js.map +1 -0
  497. package/out/src/storage/schema/tables/TableTransactionV7.d.ts +50 -0
  498. package/out/src/storage/schema/tables/TableTransactionV7.d.ts.map +1 -0
  499. package/out/src/storage/schema/tables/TableTransactionV7.js +3 -0
  500. package/out/src/storage/schema/tables/TableTransactionV7.js.map +1 -0
  501. package/out/src/storage/schema/tables/TableTxAudit.d.ts +26 -0
  502. package/out/src/storage/schema/tables/TableTxAudit.d.ts.map +1 -0
  503. package/out/src/storage/schema/tables/TableTxAudit.js +3 -0
  504. package/out/src/storage/schema/tables/TableTxAudit.js.map +1 -0
  505. package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
  506. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
  507. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
  508. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
  509. package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
  510. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
  511. package/out/src/storage/schema/tables/index.d.ts +5 -0
  512. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  513. package/out/src/storage/schema/tables/index.js +5 -0
  514. package/out/src/storage/schema/tables/index.js.map +1 -1
  515. package/out/src/storage/schema/transactionCrud.d.ts +41 -0
  516. package/out/src/storage/schema/transactionCrud.d.ts.map +1 -0
  517. package/out/src/storage/schema/transactionCrud.js +205 -0
  518. package/out/src/storage/schema/transactionCrud.js.map +1 -0
  519. package/out/src/storage/schema/transactionService.d.ts +315 -0
  520. package/out/src/storage/schema/transactionService.d.ts.map +1 -0
  521. package/out/src/storage/schema/transactionService.js +783 -0
  522. package/out/src/storage/schema/transactionService.js.map +1 -0
  523. package/out/src/storage/schema/txAudit.d.ts +33 -0
  524. package/out/src/storage/schema/txAudit.d.ts.map +1 -0
  525. package/out/src/storage/schema/txAudit.js +64 -0
  526. package/out/src/storage/schema/txAudit.js.map +1 -0
  527. package/out/src/storage/schema/v7Crud.d.ts +41 -0
  528. package/out/src/storage/schema/v7Crud.d.ts.map +1 -0
  529. package/out/src/storage/schema/v7Crud.js +205 -0
  530. package/out/src/storage/schema/v7Crud.js.map +1 -0
  531. package/out/src/storage/schema/v7Fsm.d.ts +27 -0
  532. package/out/src/storage/schema/v7Fsm.d.ts.map +1 -0
  533. package/out/src/storage/schema/v7Fsm.js +124 -0
  534. package/out/src/storage/schema/v7Fsm.js.map +1 -0
  535. package/out/src/storage/schema/v7MonitorLease.d.ts +57 -0
  536. package/out/src/storage/schema/v7MonitorLease.d.ts.map +1 -0
  537. package/out/src/storage/schema/v7MonitorLease.js +101 -0
  538. package/out/src/storage/schema/v7MonitorLease.js.map +1 -0
  539. package/out/src/storage/schema/v7Service.d.ts +305 -0
  540. package/out/src/storage/schema/v7Service.d.ts.map +1 -0
  541. package/out/src/storage/schema/v7Service.js +757 -0
  542. package/out/src/storage/schema/v7Service.js.map +1 -0
  543. package/out/src/storage/schema/v7TxAudit.d.ts +33 -0
  544. package/out/src/storage/schema/v7TxAudit.d.ts.map +1 -0
  545. package/out/src/storage/schema/v7TxAudit.js +64 -0
  546. package/out/src/storage/schema/v7TxAudit.js.map +1 -0
  547. package/out/src/storage/storageProviderHelpers.d.ts +34 -0
  548. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
  549. package/out/src/storage/storageProviderHelpers.js +100 -0
  550. package/out/src/storage/storageProviderHelpers.js.map +1 -0
  551. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  552. package/out/src/utility/ScriptTemplateBRC29.js +2 -1
  553. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  554. package/out/src/utility/aggregateResults.d.ts +1 -1
  555. package/out/src/utility/aggregateResults.d.ts.map +1 -1
  556. package/out/src/utility/aggregateResults.js +2 -2
  557. package/out/src/utility/aggregateResults.js.map +1 -1
  558. package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
  559. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
  560. package/out/src/utility/brc114ActionTimeLabels.js +16 -9
  561. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  562. package/out/src/utility/identityUtils.js +1 -1
  563. package/out/src/utility/identityUtils.js.map +1 -1
  564. package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
  565. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
  566. package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
  567. package/out/src/utility/stampLog.d.ts.map +1 -1
  568. package/out/src/utility/stampLog.js +7 -5
  569. package/out/src/utility/stampLog.js.map +1 -1
  570. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  571. package/out/src/utility/tscProofToMerklePath.js +1 -1
  572. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  573. package/out/src/utility/utilityHelpers.d.ts +1 -2
  574. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  575. package/out/src/utility/utilityHelpers.js +10 -10
  576. package/out/src/utility/utilityHelpers.js.map +1 -1
  577. package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
  578. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  579. package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
  580. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  581. package/out/src/wab-client/WABClient.d.ts +1 -1
  582. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  583. package/out/src/wab-client/WABClient.js +12 -12
  584. package/out/src/wab-client/WABClient.js.map +1 -1
  585. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  586. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -3
  587. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  588. package/package.json +7 -6
@@ -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");
@@ -50,7 +51,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
50
51
  async findStaleMerkleRoots(args) {
51
52
  let provenTxs = await this.findProvenTxs({ partial: { height: args.height } });
52
53
  provenTxs = provenTxs.filter(ptx => ptx.merkleRoot !== args.merkleRoot);
53
- let roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
54
+ const roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
54
55
  return roots;
55
56
  }
56
57
  async findOutputsByOutpoints(userId, outpoints, trx) {
@@ -98,7 +99,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
98
99
  continue;
99
100
  const createdAt = this.validateDate(output.created_at);
100
101
  const prior = latestByUserId.get(output.userId);
101
- if (!prior || createdAt > prior) {
102
+ if ((prior == null) || createdAt > prior) {
102
103
  latestByUserId.set(output.userId, createdAt);
103
104
  }
104
105
  }
@@ -106,8 +107,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
106
107
  .sort((a, b) => b[1].getTime() - a[1].getTime())
107
108
  .slice(0, limit)
108
109
  .map(([userId]) => userId);
109
- const users = await Promise.all(sortedUserIds.map(userId => this.findUserById(userId, trx)));
110
- return users.filter((user) => !!user);
110
+ const users = await Promise.all(sortedUserIds.map(async (userId) => await this.findUserById(userId, trx)));
111
+ return users.filter((user) => user != null);
111
112
  }
112
113
  isStorageProvider() {
113
114
  return true;
@@ -116,39 +117,194 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
116
117
  this._services = v;
117
118
  }
118
119
  getServices() {
119
- if (!this._services)
120
+ if (this._services == null)
120
121
  throw new WERR_errors_1.WERR_INVALID_OPERATION('Must setServices first.');
121
122
  return this._services;
122
123
  }
124
+ /**
125
+ * Returns a TransactionService instance if this storage provider supports
126
+ * the the new schema (i.e. has a Knex handle). Returns undefined for providers
127
+ * that do not support the new schema layer (e.g. StorageIdb).
128
+ *
129
+ * StorageKnex overrides this to return `new TransactionService(this.knex)`.
130
+ */
131
+ getTransactionService() {
132
+ return undefined;
133
+ }
134
+ /**
135
+ * Insert a legacy-shaped transaction row.
136
+ *
137
+ * Post-cutover: writes into `transactions_legacy` (the renamed legacy table)
138
+ * so that `createAction` can still store unsigned rows before the real txid is
139
+ * known, without touching the new `transactions` table (which requires a non-null txid).
140
+ *
141
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
142
+ * to the standard `insertTransaction` which targets the `transactions` table.
143
+ *
144
+ * StorageKnex overrides this to route to `transactions_legacy` when the table
145
+ * exists, otherwise falls through to the standard `transactions` insert.
146
+ */
147
+ async insertLegacyTransaction(tx, trx) {
148
+ return await this.insertTransaction(tx, trx);
149
+ }
150
+ /**
151
+ * Insert a `tx_labels_map` row for a legacy transaction that does not yet
152
+ * have a `actions.actionId`.
153
+ *
154
+ * Post-cutover the `tx_labels_map.transactionId` column has a FK to
155
+ * `actions.actionId`. When `createAction` writes labels against a legacy
156
+ * transactionId (before processAction creates the actions row), the FK
157
+ * cannot be satisfied. This shim bypasses that constraint temporarily.
158
+ * `processAction` later rewrites the rows to the real actionId via
159
+ * `TransactionService.repointLabelsToActionId`.
160
+ *
161
+ * Pre-cutover: delegates to `insertTxLabelMap` with no FK bypass needed.
162
+ *
163
+ * StorageKnex overrides this to temporarily disable FK checks on SQLite
164
+ * when `transactions_legacy` is present (indicating post-cutover).
165
+ */
166
+ async insertLegacyTxLabelMap(labelMap, trx) {
167
+ return await this.insertTxLabelMap(labelMap, trx);
168
+ }
169
+ /**
170
+ * Find-or-insert a `tx_labels_map` row using `insertLegacyTxLabelMap` so
171
+ * that post-cutover FK constraints are bypassed for new unsigned transactions.
172
+ *
173
+ * Mirrors the logic of `findOrInsertTxLabelMap` (StorageReaderWriter) but
174
+ * delegates the insert step to `insertLegacyTxLabelMap`.
175
+ */
176
+ async findOrInsertLegacyTxLabelMap(transactionId, txLabelId, trx) {
177
+ const partial = { transactionId, txLabelId };
178
+ for (let retry = 0;; retry++) {
179
+ try {
180
+ const now = new Date();
181
+ let txLabelMap = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTxLabelMaps({ partial, trx }));
182
+ if (txLabelMap == null) {
183
+ txLabelMap = {
184
+ ...partial,
185
+ created_at: now,
186
+ updated_at: now,
187
+ isDeleted: false
188
+ };
189
+ await this.insertLegacyTxLabelMap(txLabelMap, trx);
190
+ }
191
+ if (txLabelMap.isDeleted) {
192
+ await this.updateTxLabelMap(transactionId, txLabelId, { isDeleted: false });
193
+ }
194
+ return txLabelMap;
195
+ }
196
+ catch (error_) {
197
+ if (retry > 0)
198
+ throw error_;
199
+ }
200
+ }
201
+ }
202
+ /**
203
+ * Find legacy-shaped transaction rows from the appropriate table.
204
+ *
205
+ * Post-cutover: queries `transactions_legacy` (the renamed legacy schema
206
+ * table that holds unsigned/unprocessed rows without a real txid).
207
+ * Pre-cutover (or on providers that do not support the the new schema): falls back
208
+ * to the standard `findTransactions` which targets the `transactions` table.
209
+ *
210
+ * Used by `processAction.validateCommitNewTxToStorageArgs` to locate the
211
+ * unsigned transaction row created by `createAction` via `insertLegacyTransaction`.
212
+ *
213
+ * StorageKnex overrides this to route to `transactions_legacy` when the
214
+ * table exists (post-cutover), otherwise falls through to `findTransactions`.
215
+ */
216
+ async findLegacyTransactions(args) {
217
+ return await this.findTransactions(args);
218
+ }
219
+ /**
220
+ * Update a legacy-shaped transaction row in the appropriate table.
221
+ *
222
+ * Post-cutover: updates `transactions_legacy` (where unsigned rows live).
223
+ * Pre-cutover: delegates to the standard `updateTransaction`.
224
+ *
225
+ * Used by `processAction.commitNewTxToStorage` to write back the final txid
226
+ * and status to the legacy row that was created by `createAction`.
227
+ *
228
+ * StorageKnex overrides this to route to `transactions_legacy` when the
229
+ * table exists (post-cutover), otherwise falls through to `updateTransaction`.
230
+ */
231
+ async updateLegacyTransaction(id, update, trx) {
232
+ return await this.updateTransaction(id, update, trx);
233
+ }
234
+ /**
235
+ * Mark an output as spent by a (potentially legacy) transaction.
236
+ *
237
+ * Post-cutover on SQLite: setting `outputs.spentBy = legacyTransactionId`
238
+ * violates the FK `outputs.spentBy → transactions.transactionId` because
239
+ * unsigned transactions created by `createAction` live in `transactions_legacy`.
240
+ * This method disables the FK constraint for the duration of the update.
241
+ * The constraint will be satisfied once `processAction` creates the new schema row and
242
+ * the bridge-period is complete.
243
+ *
244
+ * Pre-cutover: delegates to `updateOutput` with no FK bypass.
245
+ *
246
+ * StorageKnex overrides this to toggle `PRAGMA foreign_keys` around the UPDATE
247
+ * when `isPostCutover()` and the dbtype is `SQLite`.
248
+ *
249
+ * Mapping §2: bridge-period `outputs.spentBy` temporarily references
250
+ * `transactions_legacy.transactionId` during `createAction`; new-schema FK is bypassed.
251
+ */
252
+ async markOutputAsSpentBy(outputId, update, trx) {
253
+ await this.updateOutput(outputId, update, trx);
254
+ }
255
+ /**
256
+ * Disable FK enforcement on the underlying database connection.
257
+ *
258
+ * No-op on non-SQLite or pre-cutover databases. On post-cutover SQLite,
259
+ * `StorageKnex` overrides this to run `PRAGMA foreign_keys = OFF` on the
260
+ * bare knex connection BEFORE a transaction is opened (since PRAGMA changes
261
+ * inside SQLite transactions are silently ignored).
262
+ *
263
+ * Must be paired with a `enableForeignKeys()` call in a finally block.
264
+ */
265
+ async disableForeignKeys() {
266
+ // no-op by default (non-SQLite or pre-cutover)
267
+ }
268
+ /**
269
+ * Re-enable FK enforcement on the underlying database connection.
270
+ * Counterpart to `disableForeignKeys()`.
271
+ */
272
+ async enableForeignKeys() {
273
+ // no-op by default
274
+ }
123
275
  async abortAction(auth, args) {
124
276
  if (!auth.userId)
125
277
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
126
278
  const userId = auth.userId;
127
279
  let reference = args.reference;
128
- let txid = undefined;
280
+ let txid;
129
281
  const r = await this.transaction(async (trx) => {
130
- let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
282
+ // Post-cutover: unsigned/unprocessed rows live in transactions_legacy.
283
+ // findLegacyTransactions routes to the correct table.
284
+ // Mapping §2: legacy `unsigned` → no equivalent in new schema; must check transactions_legacy.
285
+ let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findLegacyTransactions({
131
286
  partial: { reference, userId },
132
287
  noRawTx: true,
133
288
  trx
134
289
  }));
135
- if (!tx && args.reference.length === 64) {
290
+ if ((tx == null) && args.reference.length === 64) {
136
291
  // reference may also be a txid
137
292
  txid = reference;
138
293
  reference = undefined;
139
- tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
294
+ tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findLegacyTransactions({
140
295
  partial: { txid, userId },
141
296
  noRawTx: true,
142
297
  trx
143
298
  }));
144
299
  }
145
300
  const unAbortableStatus = ['completed', 'failed', 'sending', 'unproven'];
146
- if (!tx || !tx.isOutgoing || -1 < unAbortableStatus.findIndex(s => s === tx.status))
301
+ if ((tx == null) || !tx.isOutgoing || unAbortableStatus.findIndex(s => s === tx.status) > -1) {
147
302
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
303
+ }
148
304
  await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
149
305
  if (tx.txid) {
150
306
  const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
151
- if (req) {
307
+ if (req != null) {
152
308
  req.addHistoryNote({ what: 'abortAction', reference: args.reference });
153
309
  req.status = 'invalid';
154
310
  await req.updateStorageDynamicProperties(this, trx);
@@ -190,43 +346,24 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
190
346
  r.details.push(d);
191
347
  try {
192
348
  d.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
193
- if (d.proven)
349
+ if (d.proven != null) {
194
350
  d.status = 'alreadySent';
351
+ continue;
352
+ }
353
+ d.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
354
+ if (d.req == null) {
355
+ d.status = 'error';
356
+ d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
357
+ }
195
358
  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
- }
359
+ (0, storageProviderHelpers_1.classifyReqStatus)(d, d.req);
360
+ }
361
+ if (d.status === 'readyToSend') {
362
+ await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
226
363
  }
227
364
  }
228
- catch (eu) {
229
- const e = WalletError_1.WalletError.fromUnknown(eu);
365
+ catch (error_) {
366
+ const e = WalletError_1.WalletError.fromUnknown(error_);
230
367
  d.error = `${e.name}: ${e.message}`;
231
368
  }
232
369
  }
@@ -234,23 +371,11 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
234
371
  }
235
372
  async mergeReqToBeefToShareExternally(req, mergeToBeef, knownTxids, trx) {
236
373
  const { rawTx, inputBEEF: beef } = req;
237
- if (!rawTx || !beef)
238
- throw new WERR_errors_1.WERR_INTERNAL(`req rawTx and beef must be valid.`);
374
+ if (!rawTx || (beef == null))
375
+ throw new WERR_errors_1.WERR_INTERNAL('req rawTx and beef must be valid.');
239
376
  mergeToBeef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
240
377
  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
- }
378
+ await (0, storageProviderHelpers_1.mergeInputsIntoBeef)((0, utilityHelpers_noBuffer_1.asArray)(rawTx), mergeToBeef, knownTxids, trx, async (txid, beef, _trust, knownTxids, trx) => { await this.getValidBeefForKnownTxid(txid, beef, undefined, knownTxids, trx); });
254
379
  }
255
380
  /**
256
381
  * Checks if txid is a known valid ProvenTx and returns it if found.
@@ -266,33 +391,37 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
266
391
  * @param trx
267
392
  * @returns
268
393
  */
394
+ async upsertProvenTxReq(txid, newReq, trx) {
395
+ const existing = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
396
+ if (existing == null && newReq == null)
397
+ return undefined;
398
+ if (existing == null) {
399
+ await this.insertProvenTxReq(newReq, trx);
400
+ return newReq;
401
+ }
402
+ if (newReq != null) {
403
+ const req1 = new entities_1.EntityProvenTxReq(existing);
404
+ req1.mergeHistory(newReq, undefined, true);
405
+ req1.mergeNotifyTransactionIds(newReq);
406
+ await req1.updateStorageDynamicProperties(this, trx);
407
+ }
408
+ return existing;
409
+ }
269
410
  async getProvenOrReq(txid, newReq, trx) {
270
- if (newReq && txid !== newReq.txid)
271
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', `same txid`);
411
+ if ((newReq != null) && txid !== newReq.txid)
412
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', 'same txid');
272
413
  const r = { proven: undefined, req: undefined };
273
414
  r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
274
- if (r.proven)
415
+ if (r.proven != null)
275
416
  return r;
276
417
  for (let retry = 0;; retry++) {
277
418
  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
- }
419
+ r.req = await this.upsertProvenTxReq(txid, newReq, trx);
291
420
  break;
292
421
  }
293
- catch (eu) {
422
+ catch (error_) {
294
423
  if (retry > 0)
295
- throw eu;
424
+ throw error_;
296
425
  }
297
426
  }
298
427
  return r;
@@ -316,8 +445,9 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
316
445
  * @param trx
317
446
  */
318
447
  async updateTransactionStatus(status, transactionId, userId, reference, trx) {
319
- if (!transactionId && !(userId && reference))
448
+ if (!transactionId && !(userId && reference)) {
320
449
  throw new WERR_errors_1.WERR_MISSING_PARAMETER('either transactionId or userId and reference');
450
+ }
321
451
  await this.transaction(async (trx) => {
322
452
  const where = {};
323
453
  if (transactionId)
@@ -326,16 +456,23 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
326
456
  where.userId = userId;
327
457
  if (reference)
328
458
  where.reference = reference;
329
- const tx = (0, utilityHelpers_1.verifyOne)(await this.findTransactions({ partial: where, noRawTx: true, trx }));
330
- //if (tx.status === status)
459
+ // Post-cutover: unsigned/unprocessed rows live in transactions_legacy.
460
+ // findLegacyTransactions routes to transactions_legacy when post-cutover,
461
+ // falls back to findTransactions pre-cutover.
462
+ // Mapping §2: legacy `unsigned`/`unprocessed` rows only exist in
463
+ // transactions_legacy post-cutover; new `transactions` has `processing`.
464
+ const tx = (0, utilityHelpers_1.verifyOne)(await this.findLegacyTransactions({ partial: where, noRawTx: true, trx }));
465
+ // if (tx.status === status)
331
466
  // no change required. Assume inputs and outputs spendable and spentBy are valid for status.
332
- //return
467
+ // return
333
468
  // Once completed, this method cannot be used to "uncomplete" transaction.
334
- if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId)
469
+ if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId) {
335
470
  throw new WERR_errors_1.WERR_INVALID_OPERATION('The status of a "completed" transaction cannot be changed.');
471
+ }
336
472
  // 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.`);
473
+ if (status !== 'failed' && tx.status === 'failed') {
474
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('A "failed" transaction may not be un-failed by this method.');
475
+ }
339
476
  switch (status) {
340
477
  case 'failed':
341
478
  {
@@ -360,7 +497,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
360
497
  default:
361
498
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('status', `not be ${status}`);
362
499
  }
363
- await this.updateTransaction(tx.transactionId, { status }, trx);
500
+ // Post-cutover: updateLegacyTransaction routes to transactions_legacy.
501
+ await this.updateLegacyTransaction(tx.transactionId, { status }, trx);
364
502
  }, trx);
365
503
  }
366
504
  async createAction(auth, args) {
@@ -399,64 +537,69 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
399
537
  */
400
538
  async getValidBeefForKnownTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
401
539
  const beef = await this.getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels);
402
- if (!beef)
540
+ if (beef == null)
403
541
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `known to storage. ${txid} is not known.`);
404
542
  return beef;
405
543
  }
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) {
544
+ /**
545
+ * Handles the proven-tx branch of getValidBeefForTxid.
546
+ *
547
+ * Returns the beef if the proof was merged and we can stop, or `undefined` to
548
+ * signal that the caller should fall through to the rawTx path. May also
549
+ * populate `r.rawTx` so the rawTx path can proceed without re-fetching.
550
+ */
551
+ async handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs) {
552
+ if (requiredLevels) {
553
+ // Need more levels — caller should proceed via rawTx path
554
+ r.rawTx = r.proven.rawTx;
555
+ return undefined;
556
+ }
557
+ if (trustSelf === 'known') {
558
+ beef.mergeTxidOnly(txid);
559
+ return beef;
560
+ }
561
+ const mp = new entities_1.EntityProvenTx(r.proven).getMerklePath();
562
+ if (chainTracker != null) {
563
+ const root = mp.computeRoot();
564
+ const isValid = await chainTracker.isValidRootForHeight(root, r.proven.height);
565
+ if (!isValid) {
566
+ if (!skipInvalidProofs)
567
+ throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(r.proven.blockHash, r.proven.height, root, txid);
568
+ // Proof is currently invalid — recurse deeper via rawTx path
411
569
  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
- }
570
+ r.proven = undefined;
571
+ return undefined;
437
572
  }
438
573
  }
439
- if (!r.rawTx)
574
+ // Proof is good — merge and return
575
+ beef.mergeRawTx(r.proven.rawTx);
576
+ beef.mergeBump(mp);
577
+ return beef;
578
+ }
579
+ async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
580
+ const beef = mergeToBeef !== null && mergeToBeef !== void 0 ? mergeToBeef : new sdk_1.Beef();
581
+ const r = await this.getProvenOrRawTx(txid, trx);
582
+ // --- proven-tx path ---
583
+ if (r.proven != null) {
584
+ const result = await this.handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs);
585
+ if (result != null || r.rawTx == null)
586
+ return result;
587
+ }
588
+ // --- rawTx path ---
589
+ if (r.rawTx == null)
440
590
  return undefined;
441
591
  if (trustSelf === 'known') {
442
592
  beef.mergeTxidOnly(txid);
443
593
  }
444
594
  else {
445
595
  beef.mergeRawTx(r.rawTx);
446
- if (r.inputBEEF)
596
+ if (r.inputBEEF != null)
447
597
  beef.mergeBeef(r.inputBEEF);
448
- const tx = sdk_1.Transaction.fromBinary(r.rawTx);
449
598
  if (requiredLevels)
450
599
  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
- }
600
+ await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
601
+ await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
602
+ });
460
603
  }
461
604
  return beef;
462
605
  }
@@ -511,6 +654,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
511
654
  * Alterations of "typically" to handle:
512
655
  */
513
656
  async updateProvenTxReqWithNewProvenTx(args) {
657
+ var _a;
514
658
  const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
515
659
  let proven;
516
660
  if (req.provenTxId) {
@@ -542,24 +686,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
542
686
  return { proven, isNew };
543
687
  }));
544
688
  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
- }
689
+ await (0, storageProviderHelpers_1.notifyTransactionsOfProof)((_a = req.notify.transactionIds) !== null && _a !== void 0 ? _a : [], proven.provenTxId, note => req.addHistoryNote(note), async () => { await req.updateStorageDynamicProperties(this); }, async (id, update) => { await this.updateTransaction(id, update); });
563
690
  }
564
691
  }
565
692
  const r = {
@@ -579,51 +706,53 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
579
706
  async confirmSpendableOutputs() {
580
707
  const invalidSpendableOutputs = [];
581
708
  const users = await this.findUsers({ partial: {} });
709
+ const services = this.getServices();
582
710
  for (const { userId } of users) {
583
711
  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
- }
712
+ const outputs = await this.findOutputs({
713
+ partial: { userId, basketId: defaultBasket.basketId, spendable: true }
714
+ });
715
+ for (const o of outputs) {
716
+ if (!o.spendable)
717
+ continue;
718
+ const isUtxo = await this.checkOutputIsUtxo(o, services);
719
+ if (!isUtxo)
720
+ invalidSpendableOutputs.push(o);
605
721
  }
606
722
  }
607
723
  return { invalidSpendableOutputs };
608
724
  }
725
+ async checkOutputIsUtxo(o, services) {
726
+ var _a, _b;
727
+ if ((o.lockingScript == null) || o.lockingScript.length === 0)
728
+ return false;
729
+ const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
730
+ const r = await services.getUtxoStatus(hash, undefined, `${(_a = o.txid) !== null && _a !== void 0 ? _a : ''}.${(_b = o.vout) !== null && _b !== void 0 ? _b : ''}`);
731
+ return r.isUtxo === true;
732
+ }
609
733
  async updateProvenTxReqDynamics(id, update, trx) {
734
+ var _a, _b;
610
735
  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'];
736
+ if (update.updated_at != null)
737
+ partial.updated_at = update.updated_at;
738
+ if (update.provenTxId)
739
+ partial.provenTxId = update.provenTxId;
740
+ if (update.status)
741
+ partial.status = update.status;
742
+ if (Number.isInteger(update.attempts))
743
+ partial.attempts = update.attempts;
744
+ if (update.notified !== undefined)
745
+ partial.notified = update.notified;
746
+ if (update.batch)
747
+ partial.batch = update.batch;
748
+ if (update.history)
749
+ partial.history = update.history;
750
+ if (update.notify)
751
+ partial.notify = update.notify;
752
+ if (update.wasBroadcast !== undefined)
753
+ partial.wasBroadcast = (_a = update.wasBroadcast) !== null && _a !== void 0 ? _a : false;
754
+ if (Number.isInteger(update.rebroadcastAttempts))
755
+ partial.rebroadcastAttempts = (_b = update.rebroadcastAttempts) !== null && _b !== void 0 ? _b : 0;
627
756
  return await this.updateProvenTxReq(id, partial, trx);
628
757
  }
629
758
  async extendOutput(o, includeBasket = false, includeTags = false, trx) {
@@ -636,15 +765,16 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
636
765
  return o;
637
766
  }
638
767
  async validateOutputScript(o, trx) {
768
+ var _a;
639
769
  // without offset and length values return what we have (make no changes)
640
770
  if (!o.scriptLength || !o.scriptOffset || !o.txid)
641
771
  return;
642
772
  // 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)
773
+ if (((_a = o.lockingScript) === null || _a === void 0 ? void 0 : _a.length) === o.scriptLength)
644
774
  return;
645
775
  // outputScript is missing or has incorrect length...
646
776
  const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
647
- if (!script)
777
+ if (script == null)
648
778
  return;
649
779
  o.lockingScript = script;
650
780
  }
@@ -657,7 +787,7 @@ function validateStorageFeeModel(v) {
657
787
  };
658
788
  if (typeof v === 'object') {
659
789
  if (v.model !== 'sat/kb')
660
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', `"sat/kb"`);
790
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', '"sat/kb"');
661
791
  if (typeof v.value === 'number') {
662
792
  r.value = v.value;
663
793
  }