@bsv/wallet-toolbox-client 2.4.3 → 2.4.20

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 (789) hide show
  1. package/LICENSE.txt +58 -0
  2. package/README.md +43 -22
  3. package/out/index.client.cjs +33583 -0
  4. package/out/index.client.cjs.map +1 -0
  5. package/out/index.client.d.cts +10768 -0
  6. package/out/index.client.d.cts.map +1 -0
  7. package/out/index.client.d.mts +10767 -0
  8. package/out/index.client.d.mts.map +1 -0
  9. package/out/index.client.mjs +33377 -0
  10. package/out/index.client.mjs.map +1 -0
  11. package/out/rolldown-runtime-D7D4PA-g.mjs +13 -0
  12. package/package.json +59 -7
  13. package/out/src/CWIStyleWalletManager.d.ts +0 -517
  14. package/out/src/CWIStyleWalletManager.d.ts.map +0 -1
  15. package/out/src/CWIStyleWalletManager.js +0 -1594
  16. package/out/src/CWIStyleWalletManager.js.map +0 -1
  17. package/out/src/SetupClient.d.ts +0 -135
  18. package/out/src/SetupClient.d.ts.map +0 -1
  19. package/out/src/SetupClient.js +0 -226
  20. package/out/src/SetupClient.js.map +0 -1
  21. package/out/src/SetupWallet.d.ts +0 -103
  22. package/out/src/SetupWallet.d.ts.map +0 -1
  23. package/out/src/SetupWallet.js +0 -3
  24. package/out/src/SetupWallet.js.map +0 -1
  25. package/out/src/SimpleWalletManager.d.ts +0 -179
  26. package/out/src/SimpleWalletManager.d.ts.map +0 -1
  27. package/out/src/SimpleWalletManager.js +0 -360
  28. package/out/src/SimpleWalletManager.js.map +0 -1
  29. package/out/src/Wallet.d.ts +0 -254
  30. package/out/src/Wallet.d.ts.map +0 -1
  31. package/out/src/Wallet.js +0 -909
  32. package/out/src/Wallet.js.map +0 -1
  33. package/out/src/WalletAuthenticationManager.d.ts +0 -33
  34. package/out/src/WalletAuthenticationManager.d.ts.map +0 -1
  35. package/out/src/WalletAuthenticationManager.js +0 -126
  36. package/out/src/WalletAuthenticationManager.js.map +0 -1
  37. package/out/src/WalletLogger.d.ts +0 -65
  38. package/out/src/WalletLogger.d.ts.map +0 -1
  39. package/out/src/WalletLogger.js +0 -177
  40. package/out/src/WalletLogger.js.map +0 -1
  41. package/out/src/WalletPermissionsManager.d.ts +0 -981
  42. package/out/src/WalletPermissionsManager.d.ts.map +0 -1
  43. package/out/src/WalletPermissionsManager.js +0 -3744
  44. package/out/src/WalletPermissionsManager.js.map +0 -1
  45. package/out/src/WalletSettingsManager.d.ts +0 -53
  46. package/out/src/WalletSettingsManager.d.ts.map +0 -1
  47. package/out/src/WalletSettingsManager.js +0 -86
  48. package/out/src/WalletSettingsManager.js.map +0 -1
  49. package/out/src/fundWalletP2PKH.d.ts +0 -48
  50. package/out/src/fundWalletP2PKH.d.ts.map +0 -1
  51. package/out/src/fundWalletP2PKH.js +0 -239
  52. package/out/src/fundWalletP2PKH.js.map +0 -1
  53. package/out/src/index.client.d.ts +0 -23
  54. package/out/src/index.client.d.ts.map +0 -1
  55. package/out/src/index.client.js +0 -62
  56. package/out/src/index.client.js.map +0 -1
  57. package/out/src/mockchain/MockChainMigrations.d.ts +0 -20
  58. package/out/src/mockchain/MockChainMigrations.d.ts.map +0 -1
  59. package/out/src/mockchain/MockChainMigrations.js +0 -67
  60. package/out/src/mockchain/MockChainMigrations.js.map +0 -1
  61. package/out/src/mockchain/MockChainStorage.d.ts +0 -58
  62. package/out/src/mockchain/MockChainStorage.d.ts.map +0 -1
  63. package/out/src/mockchain/MockChainStorage.js +0 -102
  64. package/out/src/mockchain/MockChainStorage.js.map +0 -1
  65. package/out/src/mockchain/MockChainTracker.d.ts +0 -28
  66. package/out/src/mockchain/MockChainTracker.d.ts.map +0 -1
  67. package/out/src/mockchain/MockChainTracker.js +0 -97
  68. package/out/src/mockchain/MockChainTracker.js.map +0 -1
  69. package/out/src/mockchain/MockMiner.d.ts +0 -16
  70. package/out/src/mockchain/MockMiner.d.ts.map +0 -1
  71. package/out/src/mockchain/MockMiner.js +0 -137
  72. package/out/src/mockchain/MockMiner.js.map +0 -1
  73. package/out/src/mockchain/MockServices.d.ts +0 -53
  74. package/out/src/mockchain/MockServices.d.ts.map +0 -1
  75. package/out/src/mockchain/MockServices.js +0 -459
  76. package/out/src/mockchain/MockServices.js.map +0 -1
  77. package/out/src/mockchain/merkleTree.d.ts +0 -13
  78. package/out/src/mockchain/merkleTree.d.ts.map +0 -1
  79. package/out/src/mockchain/merkleTree.js +0 -122
  80. package/out/src/mockchain/merkleTree.js.map +0 -1
  81. package/out/src/monitor/Monitor.d.ts +0 -189
  82. package/out/src/monitor/Monitor.d.ts.map +0 -1
  83. package/out/src/monitor/Monitor.js +0 -386
  84. package/out/src/monitor/Monitor.js.map +0 -1
  85. package/out/src/monitor/tasks/TaskArcSSE.d.ts +0 -29
  86. package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +0 -1
  87. package/out/src/monitor/tasks/TaskArcSSE.js +0 -259
  88. package/out/src/monitor/tasks/TaskArcSSE.js.map +0 -1
  89. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +0 -53
  90. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +0 -1
  91. package/out/src/monitor/tasks/TaskCheckForProofs.js +0 -224
  92. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +0 -1
  93. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +0 -91
  94. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +0 -1
  95. package/out/src/monitor/tasks/TaskCheckNoSends.js +0 -159
  96. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +0 -1
  97. package/out/src/monitor/tasks/TaskClock.d.ts +0 -14
  98. package/out/src/monitor/tasks/TaskClock.d.ts.map +0 -1
  99. package/out/src/monitor/tasks/TaskClock.js +0 -29
  100. package/out/src/monitor/tasks/TaskClock.js.map +0 -1
  101. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +0 -20
  102. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +0 -1
  103. package/out/src/monitor/tasks/TaskFailAbandoned.js +0 -53
  104. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +0 -1
  105. package/out/src/monitor/tasks/TaskMineBlock.d.ts +0 -13
  106. package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +0 -1
  107. package/out/src/monitor/tasks/TaskMineBlock.js +0 -30
  108. package/out/src/monitor/tasks/TaskMineBlock.js.map +0 -1
  109. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +0 -12
  110. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +0 -1
  111. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +0 -25
  112. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +0 -1
  113. package/out/src/monitor/tasks/TaskNewHeader.d.ts +0 -50
  114. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +0 -1
  115. package/out/src/monitor/tasks/TaskNewHeader.js +0 -97
  116. package/out/src/monitor/tasks/TaskNewHeader.js.map +0 -1
  117. package/out/src/monitor/tasks/TaskPurge.d.ts +0 -45
  118. package/out/src/monitor/tasks/TaskPurge.d.ts.map +0 -1
  119. package/out/src/monitor/tasks/TaskPurge.js +0 -36
  120. package/out/src/monitor/tasks/TaskPurge.js.map +0 -1
  121. package/out/src/monitor/tasks/TaskReorg.d.ts +0 -43
  122. package/out/src/monitor/tasks/TaskReorg.d.ts.map +0 -1
  123. package/out/src/monitor/tasks/TaskReorg.js +0 -84
  124. package/out/src/monitor/tasks/TaskReorg.js.map +0 -1
  125. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +0 -26
  126. package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +0 -1
  127. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +0 -127
  128. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +0 -1
  129. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +0 -34
  130. package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +0 -1
  131. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +0 -136
  132. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +0 -1
  133. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +0 -26
  134. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +0 -1
  135. package/out/src/monitor/tasks/TaskReviewStatus.js +0 -50
  136. package/out/src/monitor/tasks/TaskReviewStatus.js.map +0 -1
  137. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +0 -23
  138. package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +0 -1
  139. package/out/src/monitor/tasks/TaskReviewUtxos.js +0 -75
  140. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +0 -1
  141. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +0 -48
  142. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +0 -1
  143. package/out/src/monitor/tasks/TaskSendWaiting.js +0 -202
  144. package/out/src/monitor/tasks/TaskSendWaiting.js.map +0 -1
  145. package/out/src/monitor/tasks/TaskUnFail.d.ts +0 -41
  146. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +0 -1
  147. package/out/src/monitor/tasks/TaskUnFail.js +0 -89
  148. package/out/src/monitor/tasks/TaskUnFail.js.map +0 -1
  149. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +0 -40
  150. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +0 -1
  151. package/out/src/monitor/tasks/WalletMonitorTask.js +0 -42
  152. package/out/src/monitor/tasks/WalletMonitorTask.js.map +0 -1
  153. package/out/src/sdk/CertOpsWallet.d.ts +0 -7
  154. package/out/src/sdk/CertOpsWallet.d.ts.map +0 -1
  155. package/out/src/sdk/CertOpsWallet.js +0 -3
  156. package/out/src/sdk/CertOpsWallet.js.map +0 -1
  157. package/out/src/sdk/PrivilegedKeyManager.d.ts +0 -125
  158. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +0 -1
  159. package/out/src/sdk/PrivilegedKeyManager.js +0 -320
  160. package/out/src/sdk/PrivilegedKeyManager.js.map +0 -1
  161. package/out/src/sdk/WERR_errors.d.ts +0 -136
  162. package/out/src/sdk/WERR_errors.d.ts.map +0 -1
  163. package/out/src/sdk/WERR_errors.js +0 -233
  164. package/out/src/sdk/WERR_errors.js.map +0 -1
  165. package/out/src/sdk/WalletError.d.ts +0 -63
  166. package/out/src/sdk/WalletError.d.ts.map +0 -1
  167. package/out/src/sdk/WalletError.js +0 -177
  168. package/out/src/sdk/WalletError.js.map +0 -1
  169. package/out/src/sdk/WalletErrorFromJson.d.ts +0 -12
  170. package/out/src/sdk/WalletErrorFromJson.d.ts.map +0 -1
  171. package/out/src/sdk/WalletErrorFromJson.js +0 -67
  172. package/out/src/sdk/WalletErrorFromJson.js.map +0 -1
  173. package/out/src/sdk/WalletServices.interfaces.d.ts +0 -643
  174. package/out/src/sdk/WalletServices.interfaces.d.ts.map +0 -1
  175. package/out/src/sdk/WalletServices.interfaces.js +0 -3
  176. package/out/src/sdk/WalletServices.interfaces.js.map +0 -1
  177. package/out/src/sdk/WalletSigner.interfaces.d.ts +0 -10
  178. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +0 -1
  179. package/out/src/sdk/WalletSigner.interfaces.js +0 -3
  180. package/out/src/sdk/WalletSigner.interfaces.js.map +0 -1
  181. package/out/src/sdk/WalletStorage.interfaces.d.ts +0 -539
  182. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +0 -1
  183. package/out/src/sdk/WalletStorage.interfaces.js +0 -3
  184. package/out/src/sdk/WalletStorage.interfaces.js.map +0 -1
  185. package/out/src/sdk/index.d.ts +0 -11
  186. package/out/src/sdk/index.d.ts.map +0 -1
  187. package/out/src/sdk/index.js +0 -29
  188. package/out/src/sdk/index.js.map +0 -1
  189. package/out/src/sdk/types.d.ts +0 -178
  190. package/out/src/sdk/types.d.ts.map +0 -1
  191. package/out/src/sdk/types.js +0 -104
  192. package/out/src/sdk/types.js.map +0 -1
  193. package/out/src/services/ServiceCollection.d.ts +0 -79
  194. package/out/src/services/ServiceCollection.d.ts.map +0 -1
  195. package/out/src/services/ServiceCollection.js +0 -197
  196. package/out/src/services/ServiceCollection.js.map +0 -1
  197. package/out/src/services/Services.d.ts +0 -97
  198. package/out/src/services/Services.d.ts.map +0 -1
  199. package/out/src/services/Services.js +0 -729
  200. package/out/src/services/Services.js.map +0 -1
  201. package/out/src/services/chaintracker/BHServiceClient.d.ts +0 -39
  202. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +0 -1
  203. package/out/src/services/chaintracker/BHServiceClient.js +0 -180
  204. package/out/src/services/chaintracker/BHServiceClient.js.map +0 -1
  205. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +0 -16
  206. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +0 -1
  207. package/out/src/services/chaintracker/ChaintracksChainTracker.js +0 -59
  208. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +0 -1
  209. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +0 -57
  210. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +0 -1
  211. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +0 -38
  212. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +0 -1
  213. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +0 -70
  214. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +0 -1
  215. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +0 -3
  216. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +0 -1
  217. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +0 -81
  218. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +0 -1
  219. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +0 -3
  220. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +0 -1
  221. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +0 -54
  222. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +0 -1
  223. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +0 -3
  224. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +0 -1
  225. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +0 -163
  226. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +0 -1
  227. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +0 -3
  228. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +0 -1
  229. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +0 -18
  230. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +0 -1
  231. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +0 -3
  232. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +0 -1
  233. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +0 -55
  234. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +0 -1
  235. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +0 -3
  236. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +0 -1
  237. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +0 -338
  238. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +0 -1
  239. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +0 -3
  240. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +0 -1
  241. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +0 -19
  242. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +0 -1
  243. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +0 -3
  244. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +0 -1
  245. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +0 -113
  246. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +0 -1
  247. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +0 -607
  248. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +0 -1
  249. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +0 -38
  250. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +0 -1
  251. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +0 -149
  252. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +0 -1
  253. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +0 -52
  254. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +0 -1
  255. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +0 -232
  256. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +0 -1
  257. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +0 -60
  258. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +0 -1
  259. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +0 -126
  260. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +0 -1
  261. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +0 -75
  262. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +0 -1
  263. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +0 -121
  264. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +0 -1
  265. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +0 -13
  266. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +0 -1
  267. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +0 -20
  268. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +0 -1
  269. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +0 -62
  270. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +0 -1
  271. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +0 -61
  272. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +0 -1
  273. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +0 -62
  274. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +0 -1
  275. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +0 -44
  276. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +0 -1
  277. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +0 -24
  278. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +0 -1
  279. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +0 -55
  280. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +0 -1
  281. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +0 -64
  282. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +0 -1
  283. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +0 -95
  284. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +0 -1
  285. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +0 -171
  286. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +0 -1
  287. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +0 -487
  288. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +0 -1
  289. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +0 -89
  290. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +0 -1
  291. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +0 -142
  292. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +0 -1
  293. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +0 -23
  294. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +0 -1
  295. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +0 -63
  296. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +0 -1
  297. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +0 -68
  298. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +0 -1
  299. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +0 -311
  300. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +0 -1
  301. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +0 -92
  302. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +0 -1
  303. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +0 -467
  304. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +0 -1
  305. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +0 -37
  306. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +0 -1
  307. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +0 -261
  308. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +0 -1
  309. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +0 -22
  310. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +0 -1
  311. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +0 -54
  312. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +0 -1
  313. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +0 -5
  314. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +0 -1
  315. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +0 -29
  316. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +0 -1
  317. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +0 -5
  318. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +0 -1
  319. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +0 -29
  320. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +0 -1
  321. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +0 -13
  322. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +0 -1
  323. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +0 -27
  324. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +0 -1
  325. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +0 -13
  326. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +0 -1
  327. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +0 -27
  328. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +0 -1
  329. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -4
  330. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +0 -1
  331. package/out/src/services/chaintracker/chaintracks/index.client.js +0 -20
  332. package/out/src/services/chaintracker/chaintracks/index.client.js.map +0 -1
  333. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +0 -32
  334. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +0 -1
  335. package/out/src/services/chaintracker/chaintracks/index.mobile.js +0 -70
  336. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +0 -1
  337. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +0 -142
  338. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +0 -1
  339. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +0 -821
  340. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +0 -1
  341. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts +0 -22
  342. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +0 -1
  343. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +0 -65
  344. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +0 -1
  345. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +0 -78
  346. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +0 -1
  347. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +0 -284
  348. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +0 -1
  349. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +0 -129
  350. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +0 -1
  351. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +0 -168
  352. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +0 -1
  353. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -21
  354. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +0 -1
  355. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +0 -108
  356. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +0 -1
  357. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +0 -90
  358. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +0 -1
  359. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +0 -150
  360. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +0 -1
  361. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +0 -14
  362. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +0 -1
  363. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +0 -86
  364. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +0 -1
  365. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +0 -159
  366. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +0 -1
  367. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +0 -530
  368. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +0 -1
  369. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +0 -20
  370. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +0 -1
  371. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +0 -31
  372. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +0 -1
  373. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +0 -37
  374. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +0 -1
  375. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +0 -429
  376. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +0 -1
  377. package/out/src/services/chaintracker/index.client.d.ts +0 -4
  378. package/out/src/services/chaintracker/index.client.d.ts.map +0 -1
  379. package/out/src/services/chaintracker/index.client.js +0 -20
  380. package/out/src/services/chaintracker/index.client.js.map +0 -1
  381. package/out/src/services/createDefaultWalletServicesOptions.d.ts +0 -25
  382. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +0 -1
  383. package/out/src/services/createDefaultWalletServicesOptions.js +0 -143
  384. package/out/src/services/createDefaultWalletServicesOptions.js.map +0 -1
  385. package/out/src/services/networkConfig.d.ts +0 -29
  386. package/out/src/services/networkConfig.d.ts.map +0 -1
  387. package/out/src/services/networkConfig.js +0 -54
  388. package/out/src/services/networkConfig.js.map +0 -1
  389. package/out/src/services/providers/ARC.d.ts +0 -96
  390. package/out/src/services/providers/ARC.d.ts.map +0 -1
  391. package/out/src/services/providers/ARC.js +0 -332
  392. package/out/src/services/providers/ARC.js.map +0 -1
  393. package/out/src/services/providers/ArcSSEClient.d.ts +0 -58
  394. package/out/src/services/providers/ArcSSEClient.d.ts.map +0 -1
  395. package/out/src/services/providers/ArcSSEClient.js +0 -115
  396. package/out/src/services/providers/ArcSSEClient.js.map +0 -1
  397. package/out/src/services/providers/Arcade.d.ts +0 -73
  398. package/out/src/services/providers/Arcade.d.ts.map +0 -1
  399. package/out/src/services/providers/Arcade.js +0 -330
  400. package/out/src/services/providers/Arcade.js.map +0 -1
  401. package/out/src/services/providers/Bitails.d.ts +0 -50
  402. package/out/src/services/providers/Bitails.d.ts.map +0 -1
  403. package/out/src/services/providers/Bitails.js +0 -237
  404. package/out/src/services/providers/Bitails.js.map +0 -1
  405. package/out/src/services/providers/SdkWhatsOnChain.d.ts +0 -21
  406. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +0 -1
  407. package/out/src/services/providers/SdkWhatsOnChain.js +0 -82
  408. package/out/src/services/providers/SdkWhatsOnChain.js.map +0 -1
  409. package/out/src/services/providers/WhatsOnChain.d.ts +0 -132
  410. package/out/src/services/providers/WhatsOnChain.d.ts.map +0 -1
  411. package/out/src/services/providers/WhatsOnChain.js +0 -558
  412. package/out/src/services/providers/WhatsOnChain.js.map +0 -1
  413. package/out/src/services/providers/exchangeRates.d.ts +0 -12
  414. package/out/src/services/providers/exchangeRates.d.ts.map +0 -1
  415. package/out/src/services/providers/exchangeRates.js +0 -244
  416. package/out/src/services/providers/exchangeRates.js.map +0 -1
  417. package/out/src/services/providers/getBeefForTxid.d.ts +0 -4
  418. package/out/src/services/providers/getBeefForTxid.d.ts.map +0 -1
  419. package/out/src/services/providers/getBeefForTxid.js +0 -287
  420. package/out/src/services/providers/getBeefForTxid.js.map +0 -1
  421. package/out/src/services/providers/whatsOnChainHelpers.d.ts +0 -68
  422. package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +0 -1
  423. package/out/src/services/providers/whatsOnChainHelpers.js +0 -147
  424. package/out/src/services/providers/whatsOnChainHelpers.js.map +0 -1
  425. package/out/src/signer/WalletSigner.d.ts +0 -11
  426. package/out/src/signer/WalletSigner.d.ts.map +0 -1
  427. package/out/src/signer/WalletSigner.js +0 -16
  428. package/out/src/signer/WalletSigner.js.map +0 -1
  429. package/out/src/signer/methods/acquireDirectCertificate.d.ts +0 -5
  430. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +0 -1
  431. package/out/src/signer/methods/acquireDirectCertificate.js +0 -44
  432. package/out/src/signer/methods/acquireDirectCertificate.js.map +0 -1
  433. package/out/src/signer/methods/buildSignableTransaction.d.ts +0 -69
  434. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +0 -1
  435. package/out/src/signer/methods/buildSignableTransaction.js +0 -267
  436. package/out/src/signer/methods/buildSignableTransaction.js.map +0 -1
  437. package/out/src/signer/methods/completeSignedTransaction.d.ts +0 -10
  438. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +0 -1
  439. package/out/src/signer/methods/completeSignedTransaction.js +0 -106
  440. package/out/src/signer/methods/completeSignedTransaction.js.map +0 -1
  441. package/out/src/signer/methods/createAction.d.ts +0 -14
  442. package/out/src/signer/methods/createAction.d.ts.map +0 -1
  443. package/out/src/signer/methods/createAction.js +0 -123
  444. package/out/src/signer/methods/createAction.js.map +0 -1
  445. package/out/src/signer/methods/internalizeAction.d.ts +0 -43
  446. package/out/src/signer/methods/internalizeAction.d.ts.map +0 -1
  447. package/out/src/signer/methods/internalizeAction.js +0 -109
  448. package/out/src/signer/methods/internalizeAction.js.map +0 -1
  449. package/out/src/signer/methods/proveCertificate.d.ts +0 -5
  450. package/out/src/signer/methods/proveCertificate.d.ts.map +0 -1
  451. package/out/src/signer/methods/proveCertificate.js +0 -29
  452. package/out/src/signer/methods/proveCertificate.js.map +0 -1
  453. package/out/src/signer/methods/resultBeef.d.ts +0 -4
  454. package/out/src/signer/methods/resultBeef.d.ts.map +0 -1
  455. package/out/src/signer/methods/resultBeef.js +0 -12
  456. package/out/src/signer/methods/resultBeef.js.map +0 -1
  457. package/out/src/signer/methods/signAction.d.ts +0 -11
  458. package/out/src/signer/methods/signAction.d.ts.map +0 -1
  459. package/out/src/signer/methods/signAction.js +0 -43
  460. package/out/src/signer/methods/signAction.js.map +0 -1
  461. package/out/src/storage/StorageIdb.d.ts +0 -234
  462. package/out/src/storage/StorageIdb.d.ts.map +0 -1
  463. package/out/src/storage/StorageIdb.js +0 -1701
  464. package/out/src/storage/StorageIdb.js.map +0 -1
  465. package/out/src/storage/StorageProvider.d.ts +0 -281
  466. package/out/src/storage/StorageProvider.d.ts.map +0 -1
  467. package/out/src/storage/StorageProvider.js +0 -924
  468. package/out/src/storage/StorageProvider.js.map +0 -1
  469. package/out/src/storage/StorageReader.d.ts +0 -77
  470. package/out/src/storage/StorageReader.d.ts.map +0 -1
  471. package/out/src/storage/StorageReader.js +0 -166
  472. package/out/src/storage/StorageReader.js.map +0 -1
  473. package/out/src/storage/StorageReaderWriter.d.ts +0 -102
  474. package/out/src/storage/StorageReaderWriter.d.ts.map +0 -1
  475. package/out/src/storage/StorageReaderWriter.js +0 -335
  476. package/out/src/storage/StorageReaderWriter.js.map +0 -1
  477. package/out/src/storage/StorageSyncReader.d.ts +0 -18
  478. package/out/src/storage/StorageSyncReader.d.ts.map +0 -1
  479. package/out/src/storage/StorageSyncReader.js +0 -73
  480. package/out/src/storage/StorageSyncReader.js.map +0 -1
  481. package/out/src/storage/WalletStorageManager.d.ts +0 -217
  482. package/out/src/storage/WalletStorageManager.d.ts.map +0 -1
  483. package/out/src/storage/WalletStorageManager.js +0 -830
  484. package/out/src/storage/WalletStorageManager.js.map +0 -1
  485. package/out/src/storage/idbHelpers.d.ts +0 -42
  486. package/out/src/storage/idbHelpers.d.ts.map +0 -1
  487. package/out/src/storage/idbHelpers.js +0 -374
  488. package/out/src/storage/idbHelpers.js.map +0 -1
  489. package/out/src/storage/index.client.d.ts +0 -12
  490. package/out/src/storage/index.client.d.ts.map +0 -1
  491. package/out/src/storage/index.client.js +0 -28
  492. package/out/src/storage/index.client.js.map +0 -1
  493. package/out/src/storage/methods/ListActionsSpecOp.d.ts +0 -23
  494. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +0 -1
  495. package/out/src/storage/methods/ListActionsSpecOp.js +0 -129
  496. package/out/src/storage/methods/ListActionsSpecOp.js.map +0 -1
  497. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +0 -42
  498. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +0 -1
  499. package/out/src/storage/methods/ListOutputsSpecOp.js +0 -154
  500. package/out/src/storage/methods/ListOutputsSpecOp.js.map +0 -1
  501. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +0 -124
  502. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +0 -1
  503. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +0 -490
  504. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +0 -1
  505. package/out/src/storage/methods/createAction.d.ts +0 -13
  506. package/out/src/storage/methods/createAction.d.ts.map +0 -1
  507. package/out/src/storage/methods/createAction.js +0 -793
  508. package/out/src/storage/methods/createAction.js.map +0 -1
  509. package/out/src/storage/methods/generateChange.d.ts +0 -121
  510. package/out/src/storage/methods/generateChange.d.ts.map +0 -1
  511. package/out/src/storage/methods/generateChange.js +0 -496
  512. package/out/src/storage/methods/generateChange.js.map +0 -1
  513. package/out/src/storage/methods/getBeefForTransaction.d.ts +0 -23
  514. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +0 -1
  515. package/out/src/storage/methods/getBeefForTransaction.js +0 -132
  516. package/out/src/storage/methods/getBeefForTransaction.js.map +0 -1
  517. package/out/src/storage/methods/getSyncChunk.d.ts +0 -10
  518. package/out/src/storage/methods/getSyncChunk.d.ts.map +0 -1
  519. package/out/src/storage/methods/getSyncChunk.js +0 -273
  520. package/out/src/storage/methods/getSyncChunk.js.map +0 -1
  521. package/out/src/storage/methods/internalizeAction.d.ts +0 -102
  522. package/out/src/storage/methods/internalizeAction.d.ts.map +0 -1
  523. package/out/src/storage/methods/internalizeAction.js +0 -670
  524. package/out/src/storage/methods/internalizeAction.js.map +0 -1
  525. package/out/src/storage/methods/listActionsIdb.d.ts +0 -5
  526. package/out/src/storage/methods/listActionsIdb.d.ts.map +0 -1
  527. package/out/src/storage/methods/listActionsIdb.js +0 -142
  528. package/out/src/storage/methods/listActionsIdb.js.map +0 -1
  529. package/out/src/storage/methods/listCertificates.d.ts +0 -5
  530. package/out/src/storage/methods/listCertificates.d.ts.map +0 -1
  531. package/out/src/storage/methods/listCertificates.js +0 -68
  532. package/out/src/storage/methods/listCertificates.js.map +0 -1
  533. package/out/src/storage/methods/listOutputsIdb.d.ts +0 -5
  534. package/out/src/storage/methods/listOutputsIdb.d.ts.map +0 -1
  535. package/out/src/storage/methods/listOutputsIdb.js +0 -195
  536. package/out/src/storage/methods/listOutputsIdb.js.map +0 -1
  537. package/out/src/storage/methods/managedChange.d.ts +0 -26
  538. package/out/src/storage/methods/managedChange.d.ts.map +0 -1
  539. package/out/src/storage/methods/managedChange.js +0 -43
  540. package/out/src/storage/methods/managedChange.js.map +0 -1
  541. package/out/src/storage/methods/offsetKey.d.ts +0 -24
  542. package/out/src/storage/methods/offsetKey.d.ts.map +0 -1
  543. package/out/src/storage/methods/offsetKey.js +0 -65
  544. package/out/src/storage/methods/offsetKey.js.map +0 -1
  545. package/out/src/storage/methods/processAction.d.ts +0 -43
  546. package/out/src/storage/methods/processAction.d.ts.map +0 -1
  547. package/out/src/storage/methods/processAction.js +0 -313
  548. package/out/src/storage/methods/processAction.js.map +0 -1
  549. package/out/src/storage/methods/purgeDataIdb.d.ts +0 -4
  550. package/out/src/storage/methods/purgeDataIdb.d.ts.map +0 -1
  551. package/out/src/storage/methods/purgeDataIdb.js +0 -9
  552. package/out/src/storage/methods/purgeDataIdb.js.map +0 -1
  553. package/out/src/storage/methods/reviewStatusIdb.d.ts +0 -20
  554. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +0 -1
  555. package/out/src/storage/methods/reviewStatusIdb.js +0 -76
  556. package/out/src/storage/methods/reviewStatusIdb.js.map +0 -1
  557. package/out/src/storage/methods/utils.d.ts +0 -25
  558. package/out/src/storage/methods/utils.d.ts.map +0 -1
  559. package/out/src/storage/methods/utils.js +0 -59
  560. package/out/src/storage/methods/utils.js.map +0 -1
  561. package/out/src/storage/portable/index.d.ts +0 -55
  562. package/out/src/storage/portable/index.d.ts.map +0 -1
  563. package/out/src/storage/portable/index.js +0 -872
  564. package/out/src/storage/portable/index.js.map +0 -1
  565. package/out/src/storage/remoting/BinaryJson.d.ts +0 -10
  566. package/out/src/storage/remoting/BinaryJson.d.ts.map +0 -1
  567. package/out/src/storage/remoting/BinaryJson.js +0 -172
  568. package/out/src/storage/remoting/BinaryJson.js.map +0 -1
  569. package/out/src/storage/remoting/StorageClient.d.ts +0 -26
  570. package/out/src/storage/remoting/StorageClient.d.ts.map +0 -1
  571. package/out/src/storage/remoting/StorageClient.js +0 -98
  572. package/out/src/storage/remoting/StorageClient.js.map +0 -1
  573. package/out/src/storage/remoting/StorageClientBase.d.ts +0 -299
  574. package/out/src/storage/remoting/StorageClientBase.d.ts.map +0 -1
  575. package/out/src/storage/remoting/StorageClientBase.js +0 -381
  576. package/out/src/storage/remoting/StorageClientBase.js.map +0 -1
  577. package/out/src/storage/remoting/entityValidationHelpers.d.ts +0 -29
  578. package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +0 -1
  579. package/out/src/storage/remoting/entityValidationHelpers.js +0 -91
  580. package/out/src/storage/remoting/entityValidationHelpers.js.map +0 -1
  581. package/out/src/storage/schema/StorageIdbSchema.d.ts +0 -133
  582. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +0 -1
  583. package/out/src/storage/schema/StorageIdbSchema.js +0 -3
  584. package/out/src/storage/schema/StorageIdbSchema.js.map +0 -1
  585. package/out/src/storage/schema/entities/EntityBase.d.ts +0 -106
  586. package/out/src/storage/schema/entities/EntityBase.d.ts.map +0 -1
  587. package/out/src/storage/schema/entities/EntityBase.js +0 -101
  588. package/out/src/storage/schema/entities/EntityBase.js.map +0 -1
  589. package/out/src/storage/schema/entities/EntityCertificate.d.ts +0 -44
  590. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +0 -1
  591. package/out/src/storage/schema/entities/EntityCertificate.js +0 -163
  592. package/out/src/storage/schema/entities/EntityCertificate.js.map +0 -1
  593. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +0 -33
  594. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +0 -1
  595. package/out/src/storage/schema/entities/EntityCertificateField.js +0 -110
  596. package/out/src/storage/schema/entities/EntityCertificateField.js.map +0 -1
  597. package/out/src/storage/schema/entities/EntityCommission.d.ts +0 -38
  598. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +0 -1
  599. package/out/src/storage/schema/entities/EntityCommission.js +0 -125
  600. package/out/src/storage/schema/entities/EntityCommission.js.map +0 -1
  601. package/out/src/storage/schema/entities/EntityOutput.d.ts +0 -68
  602. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +0 -1
  603. package/out/src/storage/schema/entities/EntityOutput.js +0 -261
  604. package/out/src/storage/schema/entities/EntityOutput.js.map +0 -1
  605. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +0 -36
  606. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +0 -1
  607. package/out/src/storage/schema/entities/EntityOutputBasket.js +0 -133
  608. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +0 -1
  609. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +0 -32
  610. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +0 -1
  611. package/out/src/storage/schema/entities/EntityOutputTag.js +0 -104
  612. package/out/src/storage/schema/entities/EntityOutputTag.js.map +0 -1
  613. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +0 -29
  614. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +0 -1
  615. package/out/src/storage/schema/entities/EntityOutputTagMap.js +0 -96
  616. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +0 -1
  617. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +0 -87
  618. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +0 -1
  619. package/out/src/storage/schema/entities/EntityProvenTx.js +0 -276
  620. package/out/src/storage/schema/entities/EntityProvenTx.js.map +0 -1
  621. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +0 -148
  622. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +0 -1
  623. package/out/src/storage/schema/entities/EntityProvenTxReq.js +0 -570
  624. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +0 -1
  625. package/out/src/storage/schema/entities/EntitySyncState.d.ts +0 -69
  626. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +0 -1
  627. package/out/src/storage/schema/entities/EntitySyncState.js +0 -338
  628. package/out/src/storage/schema/entities/EntitySyncState.js.map +0 -1
  629. package/out/src/storage/schema/entities/EntityTransaction.d.ts +0 -71
  630. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +0 -1
  631. package/out/src/storage/schema/entities/EntityTransaction.js +0 -265
  632. package/out/src/storage/schema/entities/EntityTransaction.js.map +0 -1
  633. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +0 -32
  634. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +0 -1
  635. package/out/src/storage/schema/entities/EntityTxLabel.js +0 -104
  636. package/out/src/storage/schema/entities/EntityTxLabel.js.map +0 -1
  637. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +0 -29
  638. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +0 -1
  639. package/out/src/storage/schema/entities/EntityTxLabelMap.js +0 -96
  640. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +0 -1
  641. package/out/src/storage/schema/entities/EntityUser.d.ts +0 -30
  642. package/out/src/storage/schema/entities/EntityUser.d.ts.map +0 -1
  643. package/out/src/storage/schema/entities/EntityUser.js +0 -99
  644. package/out/src/storage/schema/entities/EntityUser.js.map +0 -1
  645. package/out/src/storage/schema/entities/MergeEntity.d.ts +0 -34
  646. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +0 -1
  647. package/out/src/storage/schema/entities/MergeEntity.js +0 -67
  648. package/out/src/storage/schema/entities/MergeEntity.js.map +0 -1
  649. package/out/src/storage/schema/entities/index.d.ts +0 -17
  650. package/out/src/storage/schema/entities/index.d.ts.map +0 -1
  651. package/out/src/storage/schema/entities/index.js +0 -33
  652. package/out/src/storage/schema/entities/index.js.map +0 -1
  653. package/out/src/storage/schema/tables/TableAuthSession.d.ts +0 -20
  654. package/out/src/storage/schema/tables/TableAuthSession.d.ts.map +0 -1
  655. package/out/src/storage/schema/tables/TableAuthSession.js +0 -15
  656. package/out/src/storage/schema/tables/TableAuthSession.js.map +0 -1
  657. package/out/src/storage/schema/tables/TableCertificate.d.ts +0 -21
  658. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +0 -1
  659. package/out/src/storage/schema/tables/TableCertificate.js +0 -3
  660. package/out/src/storage/schema/tables/TableCertificate.js.map +0 -1
  661. package/out/src/storage/schema/tables/TableCertificateField.d.ts +0 -12
  662. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +0 -1
  663. package/out/src/storage/schema/tables/TableCertificateField.js +0 -3
  664. package/out/src/storage/schema/tables/TableCertificateField.js.map +0 -1
  665. package/out/src/storage/schema/tables/TableCommission.d.ts +0 -13
  666. package/out/src/storage/schema/tables/TableCommission.d.ts.map +0 -1
  667. package/out/src/storage/schema/tables/TableCommission.js +0 -3
  668. package/out/src/storage/schema/tables/TableCommission.js.map +0 -1
  669. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +0 -9
  670. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +0 -1
  671. package/out/src/storage/schema/tables/TableMonitorEvent.js +0 -3
  672. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +0 -1
  673. package/out/src/storage/schema/tables/TableOutput.d.ts +0 -37
  674. package/out/src/storage/schema/tables/TableOutput.d.ts.map +0 -1
  675. package/out/src/storage/schema/tables/TableOutput.js +0 -31
  676. package/out/src/storage/schema/tables/TableOutput.js.map +0 -1
  677. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +0 -12
  678. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +0 -1
  679. package/out/src/storage/schema/tables/TableOutputBasket.js +0 -3
  680. package/out/src/storage/schema/tables/TableOutputBasket.js.map +0 -1
  681. package/out/src/storage/schema/tables/TableOutputTag.d.ts +0 -10
  682. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +0 -1
  683. package/out/src/storage/schema/tables/TableOutputTag.js +0 -3
  684. package/out/src/storage/schema/tables/TableOutputTag.js.map +0 -1
  685. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +0 -9
  686. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +0 -1
  687. package/out/src/storage/schema/tables/TableOutputTagMap.js +0 -3
  688. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +0 -1
  689. package/out/src/storage/schema/tables/TableProvenTx.d.ts +0 -14
  690. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +0 -1
  691. package/out/src/storage/schema/tables/TableProvenTx.js +0 -3
  692. package/out/src/storage/schema/tables/TableProvenTx.js.map +0 -1
  693. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +0 -87
  694. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +0 -1
  695. package/out/src/storage/schema/tables/TableProvenTxReq.js +0 -3
  696. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +0 -1
  697. package/out/src/storage/schema/tables/TableSettings.d.ts +0 -17
  698. package/out/src/storage/schema/tables/TableSettings.d.ts.map +0 -1
  699. package/out/src/storage/schema/tables/TableSettings.js +0 -3
  700. package/out/src/storage/schema/tables/TableSettings.js.map +0 -1
  701. package/out/src/storage/schema/tables/TableSyncState.d.ts +0 -18
  702. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +0 -1
  703. package/out/src/storage/schema/tables/TableSyncState.js +0 -3
  704. package/out/src/storage/schema/tables/TableSyncState.js.map +0 -1
  705. package/out/src/storage/schema/tables/TableTransaction.d.ts +0 -37
  706. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +0 -1
  707. package/out/src/storage/schema/tables/TableTransaction.js +0 -21
  708. package/out/src/storage/schema/tables/TableTransaction.js.map +0 -1
  709. package/out/src/storage/schema/tables/TableTxLabel.d.ts +0 -10
  710. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +0 -1
  711. package/out/src/storage/schema/tables/TableTxLabel.js +0 -3
  712. package/out/src/storage/schema/tables/TableTxLabel.js.map +0 -1
  713. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +0 -9
  714. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +0 -1
  715. package/out/src/storage/schema/tables/TableTxLabelMap.js +0 -3
  716. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +0 -1
  717. package/out/src/storage/schema/tables/TableUser.d.ts +0 -16
  718. package/out/src/storage/schema/tables/TableUser.d.ts.map +0 -1
  719. package/out/src/storage/schema/tables/TableUser.js +0 -3
  720. package/out/src/storage/schema/tables/TableUser.js.map +0 -1
  721. package/out/src/storage/schema/tables/index.d.ts +0 -18
  722. package/out/src/storage/schema/tables/index.d.ts.map +0 -1
  723. package/out/src/storage/schema/tables/index.js +0 -34
  724. package/out/src/storage/schema/tables/index.js.map +0 -1
  725. package/out/src/storage/storageProviderHelpers.d.ts +0 -35
  726. package/out/src/storage/storageProviderHelpers.d.ts.map +0 -1
  727. package/out/src/storage/storageProviderHelpers.js +0 -100
  728. package/out/src/storage/storageProviderHelpers.js.map +0 -1
  729. package/out/src/utility/ScriptTemplateBRC29.d.ts +0 -25
  730. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +0 -1
  731. package/out/src/utility/ScriptTemplateBRC29.js +0 -51
  732. package/out/src/utility/ScriptTemplateBRC29.js.map +0 -1
  733. package/out/src/utility/aggregateResults.d.ts +0 -8
  734. package/out/src/utility/aggregateResults.d.ts.map +0 -1
  735. package/out/src/utility/aggregateResults.js +0 -59
  736. package/out/src/utility/aggregateResults.js.map +0 -1
  737. package/out/src/utility/brc114ActionTimeLabels.d.ts +0 -9
  738. package/out/src/utility/brc114ActionTimeLabels.d.ts.map +0 -1
  739. package/out/src/utility/brc114ActionTimeLabels.js +0 -58
  740. package/out/src/utility/brc114ActionTimeLabels.js.map +0 -1
  741. package/out/src/utility/identityUtils.d.ts +0 -37
  742. package/out/src/utility/identityUtils.d.ts.map +0 -1
  743. package/out/src/utility/identityUtils.js +0 -162
  744. package/out/src/utility/identityUtils.js.map +0 -1
  745. package/out/src/utility/index.client.d.ts +0 -8
  746. package/out/src/utility/index.client.d.ts.map +0 -1
  747. package/out/src/utility/index.client.js +0 -24
  748. package/out/src/utility/index.client.js.map +0 -1
  749. package/out/src/utility/parseTxScriptOffsets.d.ts +0 -14
  750. package/out/src/utility/parseTxScriptOffsets.d.ts.map +0 -1
  751. package/out/src/utility/parseTxScriptOffsets.js +0 -26
  752. package/out/src/utility/parseTxScriptOffsets.js.map +0 -1
  753. package/out/src/utility/stampLog.d.ts +0 -18
  754. package/out/src/utility/stampLog.d.ts.map +0 -1
  755. package/out/src/utility/stampLog.js +0 -74
  756. package/out/src/utility/stampLog.js.map +0 -1
  757. package/out/src/utility/tscProofToMerklePath.d.ts +0 -8
  758. package/out/src/utility/tscProofToMerklePath.d.ts.map +0 -1
  759. package/out/src/utility/tscProofToMerklePath.js +0 -41
  760. package/out/src/utility/tscProofToMerklePath.js.map +0 -1
  761. package/out/src/utility/utilityHelpers.d.ts +0 -142
  762. package/out/src/utility/utilityHelpers.d.ts.map +0 -1
  763. package/out/src/utility/utilityHelpers.js +0 -319
  764. package/out/src/utility/utilityHelpers.js.map +0 -1
  765. package/out/src/utility/utilityHelpers.noBuffer.d.ts +0 -30
  766. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +0 -1
  767. package/out/src/utility/utilityHelpers.noBuffer.js +0 -64
  768. package/out/src/utility/utilityHelpers.noBuffer.js.map +0 -1
  769. package/out/src/wab-client/WABClient.d.ts +0 -114
  770. package/out/src/wab-client/WABClient.d.ts.map +0 -1
  771. package/out/src/wab-client/WABClient.js +0 -188
  772. package/out/src/wab-client/WABClient.js.map +0 -1
  773. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +0 -41
  774. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +0 -1
  775. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +0 -49
  776. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +0 -1
  777. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts +0 -11
  778. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts.map +0 -1
  779. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +0 -15
  780. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +0 -1
  781. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +0 -5
  782. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +0 -1
  783. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +0 -9
  784. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +0 -1
  785. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +0 -10
  786. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +0 -1
  787. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +0 -14
  788. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +0 -1
  789. package/out/tsconfig.client.tsbuildinfo +0 -1
@@ -1,924 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StorageProvider = void 0;
4
- exports.validateStorageFeeModel = validateStorageFeeModel;
5
- const sdk_1 = require("@bsv/sdk");
6
- const storageProviderHelpers_1 = require("./storageProviderHelpers");
7
- const getBeefForTransaction_1 = require("./methods/getBeefForTransaction");
8
- const processAction_1 = require("./methods/processAction");
9
- const attemptToPostReqsToNetwork_1 = require("./methods/attemptToPostReqsToNetwork");
10
- const listCertificates_1 = require("./methods/listCertificates");
11
- const createAction_1 = require("./methods/createAction");
12
- const internalizeAction_1 = require("./methods/internalizeAction");
13
- const StorageReaderWriter_1 = require("./StorageReaderWriter");
14
- const entities_1 = require("./schema/entities");
15
- const WERR_errors_1 = require("../sdk/WERR_errors");
16
- const utilityHelpers_1 = require("../utility/utilityHelpers");
17
- const WalletError_1 = require("../sdk/WalletError");
18
- const utilityHelpers_noBuffer_1 = require("../utility/utilityHelpers.noBuffer");
19
- class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
20
- isDirty = false;
21
- _services;
22
- feeModel;
23
- commissionSatoshis;
24
- commissionPubKeyHex;
25
- maxRecursionDepth;
26
- static defaultOptions() {
27
- const opts = {
28
- feeModel: { model: 'sat/kb', value: 100 },
29
- commissionSatoshis: 0,
30
- commissionPubKeyHex: undefined
31
- };
32
- return opts;
33
- }
34
- static createStorageBaseOptions(chain) {
35
- const options = {
36
- ...StorageProvider.defaultOptions(),
37
- chain
38
- };
39
- return options;
40
- }
41
- constructor(options) {
42
- super(options);
43
- this.feeModel = options.feeModel;
44
- this.commissionPubKeyHex = options.commissionPubKeyHex;
45
- this.commissionSatoshis = options.commissionSatoshis;
46
- this.maxRecursionDepth = 12;
47
- }
48
- async findOutputsByIds(outputIds, trx) {
49
- const byId = {};
50
- for (const outputId of outputIds) {
51
- const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { outputId }, trx }));
52
- if (o?.outputId !== undefined)
53
- byId[o.outputId] = o;
54
- }
55
- return byId;
56
- }
57
- async findStaleMerkleRoots(args) {
58
- let provenTxs = await this.findProvenTxs({ partial: { height: args.height } });
59
- provenTxs = provenTxs.filter(ptx => ptx.merkleRoot !== args.merkleRoot);
60
- const roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
61
- return roots;
62
- }
63
- async findOutputsByOutpoints(userId, outpoints, trx) {
64
- const byOutpoint = {};
65
- for (const { txid, vout } of outpoints) {
66
- const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { userId, txid, vout }, trx }));
67
- if (o?.txid !== undefined && o.vout !== undefined)
68
- byOutpoint[`${o.txid}.${o.vout}`] = o;
69
- }
70
- return byOutpoint;
71
- }
72
- async findOrInsertOutputBasketsBulk(userId, names, trx) {
73
- const byName = {};
74
- for (const name of names)
75
- byName[name] = await this.findOrInsertOutputBasket(userId, name, trx);
76
- return byName;
77
- }
78
- async findOrInsertOutputTagsBulk(userId, tags, trx) {
79
- const byTag = {};
80
- for (const tag of tags)
81
- byTag[tag] = await this.findOrInsertOutputTag(userId, tag, trx);
82
- return byTag;
83
- }
84
- async sumSpendableSatoshisInBasket(userId, basketId, excludeSending, trx) {
85
- const status = ['completed', 'unproven'];
86
- if (!excludeSending)
87
- status.push('sending');
88
- const rows = await this.findOutputs({
89
- partial: { userId, spendable: true, basketId },
90
- txStatus: status,
91
- noScript: true,
92
- trx
93
- });
94
- return rows.filter(r => r.spentBy == null).reduce((a, r) => a + (r.satoshis ?? 0), 0);
95
- }
96
- async recentlyActiveUsers(limit = 50, trx) {
97
- const outputs = await this.findOutputs({
98
- partial: {},
99
- noScript: true,
100
- trx
101
- });
102
- const latestByUserId = new Map();
103
- for (const output of outputs) {
104
- if (output.userId === undefined)
105
- continue;
106
- const createdAt = this.validateDate(output.created_at);
107
- const prior = latestByUserId.get(output.userId);
108
- if ((prior == null) || createdAt > prior) {
109
- latestByUserId.set(output.userId, createdAt);
110
- }
111
- }
112
- const sortedUserIds = Array.from(latestByUserId.entries())
113
- .sort((a, b) => b[1].getTime() - a[1].getTime())
114
- .slice(0, limit)
115
- .map(([userId]) => userId);
116
- const users = await Promise.all(sortedUserIds.map(async (userId) => await this.findUserById(userId, trx)));
117
- return users.filter((user) => user != null);
118
- }
119
- isStorageProvider() {
120
- return true;
121
- }
122
- setServices(v) {
123
- this._services = v;
124
- }
125
- getServices() {
126
- if (this._services == null)
127
- throw new WERR_errors_1.WERR_INVALID_OPERATION('Must setServices first.');
128
- return this._services;
129
- }
130
- async abortAction(auth, args) {
131
- if (auth.userId == null)
132
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
133
- const userId = auth.userId;
134
- let reference = args.reference;
135
- let txid;
136
- const r = await this.transaction(async (trx) => {
137
- let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
138
- partial: { reference, userId },
139
- noRawTx: true,
140
- trx
141
- }));
142
- if ((tx == null) && args.reference.length === 64) {
143
- // reference may also be a txid
144
- txid = reference;
145
- reference = undefined;
146
- tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
147
- partial: { txid, userId },
148
- noRawTx: true,
149
- trx
150
- }));
151
- }
152
- const unAbortableStatus = ['completed', 'failed', 'sending', 'unproven'];
153
- if ((tx == null) || !tx.isOutgoing || unAbortableStatus.findIndex(s => s === tx.status) > -1) {
154
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
155
- }
156
- // Chain-status protection for signed nosend txs.
157
- //
158
- // Background: a nosend tx (created via createAction({noSend:true}))
159
- // can be externally broadcast by the caller and reach 'mined' or
160
- // mempool-'known' status before any internalizeAction or Monitor
161
- // cycle has retired its 'nosend' status in storage. If abortAction
162
- // is invoked on it in that window, the destructive transitions
163
- // below (transactions.status='failed' + proven_tx_reqs.status='invalid')
164
- // orphan every output the tx produced — including auto-fund change
165
- // outputs the wallet itself emitted — because listOutputs filters
166
- // them out of the spendable set on parent-tx 'failed' status.
167
- //
168
- // Protection: if the tx has a txid AND status is 'nosend', ask
169
- // the network whether it already knows about the tx before
170
- // invalidating. getStatusForTxids returns 'mined' | 'known' |
171
- // 'unknown' per StatusForTxidResult (WalletServices.interfaces.ts).
172
- // Refuse the abort for 'mined' OR 'known' — a tx that's broadcast
173
- // and propagating in mempool returns 'known' (depth===0) and
174
- // protecting it avoids orphaning during the propagation window.
175
- //
176
- // Service-unreachable handling: proceed with abort. Refusal is
177
- // reserved for positive on-chain confirmation. When the network
178
- // confirmation pathway is itself unavailable (services throw or
179
- // gracefully return r.status !== 'success'), confirmation is not
180
- // possible — and per the BRC-100 contract callers retain the
181
- // ability to abort offline. The fallback writes a forensic
182
- // history note ('abortAction-offline-fallback') so an operator
183
- // can grep for aborts that proceeded under uncertainty. This
184
- // hole can never be 100% closed against externally-broadcast
185
- // chain-confirmed txs while offline; the audit trail makes it
186
- // recoverable.
187
- let serviceUnreachable = false;
188
- if (tx.txid != null && tx.txid !== '' && tx.status === 'nosend') {
189
- const services = this.getServices();
190
- let chainStatus;
191
- try {
192
- const r = await services.getStatusForTxids([tx.txid]);
193
- if (r.status !== 'success') {
194
- serviceUnreachable = true;
195
- }
196
- else {
197
- chainStatus = r.results.find(x => x.txid === tx.txid)?.status;
198
- }
199
- }
200
- catch {
201
- serviceUnreachable = true;
202
- }
203
- if (chainStatus === 'mined' || chainStatus === 'known') {
204
- const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
205
- if (req != null) {
206
- req.addHistoryNote({
207
- what: 'abortAction-skipped-onchain',
208
- reference: args.reference,
209
- chainStatus
210
- });
211
- await req.updateStorageDynamicProperties(this, trx);
212
- }
213
- // Surface the refusal via a sentinel so the surrounding
214
- // transaction commits the history note BEFORE returning
215
- // the aborted:false result. Returning directly from inside
216
- // the transaction would still work, but the sentinel keeps
217
- // the audit-write / result-shape decision on the same
218
- // commit-then-return path that existed when this surface
219
- // threw, minimizing diff churn.
220
- return { __abortAction: 'skipped-onchain', chainStatus };
221
- }
222
- }
223
- await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
224
- if (tx.txid != null && tx.txid !== '') {
225
- const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
226
- if (req != null) {
227
- req.addHistoryNote(serviceUnreachable
228
- ? { what: 'abortAction-offline-fallback', reference: args.reference }
229
- : { what: 'abortAction', reference: args.reference });
230
- req.status = 'invalid';
231
- await req.updateStorageDynamicProperties(this, trx);
232
- }
233
- }
234
- const r = {
235
- aborted: true
236
- };
237
- return r;
238
- });
239
- if ('__abortAction' in r) {
240
- // Tone Engel review feedback (PR #122 comment 4444566147 item 3):
241
- // do not throw on chain-confirmed refusal — surface it via the
242
- // return value so callers can branch on it. Refusal is positive
243
- // chain confirmation only; service-unreachable proceeds with
244
- // abort and returns aborted:true with an audit-trail note.
245
- return { aborted: false };
246
- }
247
- return r;
248
- }
249
- async internalizeAction(auth, args) {
250
- return await (0, internalizeAction_1.internalizeAction)(this, auth, args);
251
- }
252
- /**
253
- * Given an array of transaction txids with current ProvenTxReq ready-to-share status,
254
- * lookup their ProvenTxReqApi req records.
255
- * For the txids with reqs and status still ready to send construct a single merged beef.
256
- *
257
- * @param txids
258
- * @param knownTxids
259
- * @param trx
260
- */
261
- async getReqsAndBeefToShareWithWorld(txids, knownTxids, trx) {
262
- const r = {
263
- beef: new sdk_1.Beef(),
264
- details: []
265
- };
266
- for (const txid of txids) {
267
- const d = {
268
- txid,
269
- // status: 'readyToSend' | 'alreadySent' | 'error' | 'unknown'
270
- status: 'unknown'
271
- // req?: TableProvenTxReq
272
- // proven?: TableProvenTx
273
- // error?: string
274
- };
275
- r.details.push(d);
276
- try {
277
- d.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
278
- if (d.proven != null) {
279
- d.status = 'alreadySent';
280
- continue;
281
- }
282
- d.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
283
- if (d.req == null) {
284
- d.status = 'error';
285
- d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
286
- }
287
- else {
288
- (0, storageProviderHelpers_1.classifyReqStatus)(d, d.req);
289
- }
290
- if (d.status === 'readyToSend') {
291
- await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
292
- }
293
- }
294
- catch (error_) {
295
- const e = WalletError_1.WalletError.fromUnknown(error_);
296
- d.error = `${e.name}: ${e.message}`;
297
- }
298
- }
299
- return r;
300
- }
301
- async mergeReqToBeefToShareExternally(req, mergeToBeef, knownTxids, trx) {
302
- const { rawTx, inputBEEF: beef } = req;
303
- if (rawTx == null || beef == null)
304
- throw new WERR_errors_1.WERR_INTERNAL('req rawTx and beef must be valid.');
305
- mergeToBeef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
306
- mergeToBeef.mergeBeef((0, utilityHelpers_noBuffer_1.asArray)(beef));
307
- 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); });
308
- }
309
- /**
310
- * Checks if txid is a known valid ProvenTx and returns it if found.
311
- * Next checks if txid is a current ProvenTxReq and returns that if found.
312
- * If `newReq` is provided and an existing ProvenTxReq isn't found,
313
- * use `newReq` to create a new ProvenTxReq.
314
- *
315
- * This is safe "findOrInsert" operation using retry if unique index constraint
316
- * is violated by a race condition insert.
317
- *
318
- * @param txid
319
- * @param newReq
320
- * @param trx
321
- * @returns
322
- */
323
- async upsertProvenTxReq(txid, newReq, trx) {
324
- const existing = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
325
- if (existing == null && newReq == null)
326
- return undefined;
327
- if (existing == null) {
328
- await this.insertProvenTxReq(newReq, trx);
329
- return newReq;
330
- }
331
- if (newReq != null) {
332
- const req1 = new entities_1.EntityProvenTxReq(existing);
333
- req1.mergeHistory(newReq, undefined, true);
334
- req1.mergeNotifyTransactionIds(newReq);
335
- await req1.updateStorageDynamicProperties(this, trx);
336
- }
337
- return existing;
338
- }
339
- async getProvenOrReq(txid, newReq, trx) {
340
- if ((newReq != null) && txid !== newReq.txid)
341
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', 'same txid');
342
- const r = { proven: undefined, req: undefined };
343
- r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
344
- if (r.proven != null)
345
- return r;
346
- for (let retry = 0;; retry++) {
347
- try {
348
- r.req = await this.upsertProvenTxReq(txid, newReq, trx);
349
- break;
350
- }
351
- catch (error_) {
352
- if (retry > 0)
353
- throw error_;
354
- }
355
- }
356
- return r;
357
- }
358
- async updateTransactionsStatus(transactionIds, status, trx) {
359
- await this.transaction(async (trx) => {
360
- for (const id of transactionIds) {
361
- await this.updateTransactionStatus(status, id, undefined, undefined, trx);
362
- }
363
- }, trx);
364
- }
365
- async releaseInputsAllocatedToFailedTransaction(tx, trx) {
366
- const t = new entities_1.EntityTransaction(tx);
367
- const inputs = await t.getInputs(this, trx);
368
- for (const input of inputs) {
369
- // input is a prior output belonging to userId that references this transaction either by `spentBy`
370
- // or by txid and vout.
371
- await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
372
- }
373
- }
374
- async markFailedTransactionOutputsNotSpendable(tx, trx) {
375
- const outputs = await this.findOutputs({
376
- partial: { transactionId: (0, utilityHelpers_1.verifyId)(tx.transactionId) },
377
- trx
378
- });
379
- for (const output of outputs) {
380
- if (!output.spendable && output.spentBy == null)
381
- continue;
382
- await this.updateOutput((0, utilityHelpers_1.verifyId)(output.outputId), { spendable: false, spentBy: undefined }, trx);
383
- }
384
- }
385
- /**
386
- * For all `status` values besides 'failed', just updates the transaction records status property.
387
- *
388
- * For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again
389
- * and makes outputs generated by this transaction non-spendable.
390
- *
391
- * @param status
392
- * @param transactionId
393
- * @param userId
394
- * @param reference
395
- * @param trx
396
- */
397
- async updateTransactionStatus(status, transactionId, userId, reference, trx) {
398
- if (transactionId == null && !(userId != null && reference != null && reference !== '')) {
399
- throw new WERR_errors_1.WERR_MISSING_PARAMETER('either transactionId or userId and reference');
400
- }
401
- await this.transaction(async (trx) => {
402
- const where = {};
403
- if (transactionId != null)
404
- where.transactionId = transactionId;
405
- if (userId != null)
406
- where.userId = userId;
407
- if (reference != null && reference !== '')
408
- where.reference = reference;
409
- const tx = (0, utilityHelpers_1.verifyOne)(await this.findTransactions({ partial: where, noRawTx: true, trx }));
410
- // if (tx.status === status)
411
- // no change required. Assume inputs and outputs spendable and spentBy are valid for status.
412
- // return
413
- // Once completed, this method cannot be used to "uncomplete" transaction.
414
- if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId != null) {
415
- throw new WERR_errors_1.WERR_INVALID_OPERATION('The status of a "completed" transaction cannot be changed.');
416
- }
417
- // It is not possible to un-fail a transaction. Information is lost and not recoverable.
418
- if (status !== 'failed' && tx.status === 'failed') {
419
- throw new WERR_errors_1.WERR_INVALID_OPERATION('A "failed" transaction may not be un-failed by this method.');
420
- }
421
- switch (status) {
422
- case 'failed':
423
- await this.releaseInputsAllocatedToFailedTransaction(tx, trx);
424
- await this.markFailedTransactionOutputsNotSpendable(tx, trx);
425
- break;
426
- case 'nosend':
427
- case 'unsigned':
428
- case 'unprocessed':
429
- case 'sending':
430
- case 'unproven':
431
- case 'completed':
432
- break;
433
- default:
434
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('status', `not be ${status}`);
435
- }
436
- await this.updateTransaction(tx.transactionId, { status }, trx);
437
- }, trx);
438
- }
439
- async createAction(auth, args) {
440
- if (auth.userId == null)
441
- throw new WERR_errors_1.WERR_UNAUTHORIZED();
442
- return await (0, createAction_1.createAction)(this, auth, args);
443
- }
444
- async processAction(auth, args) {
445
- if (auth.userId == null)
446
- throw new WERR_errors_1.WERR_UNAUTHORIZED();
447
- return await (0, processAction_1.processAction)(this, auth, args);
448
- }
449
- async attemptToPostReqsToNetwork(reqs, trx, logger) {
450
- return await (0, attemptToPostReqsToNetwork_1.attemptToPostReqsToNetwork)(this, reqs, trx, logger);
451
- }
452
- async listCertificates(auth, args) {
453
- return await (0, listCertificates_1.listCertificates)(this, auth, args);
454
- }
455
- async verifyKnownValidTransaction(txid, trx) {
456
- const { proven, rawTx } = await this.getProvenOrRawTx(txid, trx);
457
- return proven !== undefined || rawTx !== undefined;
458
- }
459
- /**
460
- * Pulls data from storage to build a valid beef for a txid.
461
- *
462
- * Optionally merges the data into an existing beef.
463
- * Optionally requires a minimum number of proof levels.
464
- *
465
- * @param txid
466
- * @param mergeToBeef
467
- * @param trustSelf
468
- * @param knownTxids
469
- * @param trx
470
- * @param requiredLevels
471
- * @returns
472
- */
473
- async getValidBeefForKnownTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
474
- const beef = await this.getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels);
475
- if (beef == null)
476
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `known to storage. ${txid} is not known.`);
477
- return beef;
478
- }
479
- /**
480
- * Handles the proven-tx branch of getValidBeefForTxid.
481
- *
482
- * Returns the beef if the proof was merged and we can stop, or `undefined` to
483
- * signal that the caller should fall through to the rawTx path. May also
484
- * populate `r.rawTx` so the rawTx path can proceed without re-fetching.
485
- */
486
- async handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs) {
487
- const proven = r.proven;
488
- if (proven == null)
489
- return undefined;
490
- if ((requiredLevels ?? 0) > 0) {
491
- // Need more levels — caller should proceed via rawTx path
492
- r.rawTx = proven.rawTx;
493
- return undefined;
494
- }
495
- if (trustSelf === 'known') {
496
- beef.mergeTxidOnly(txid);
497
- return beef;
498
- }
499
- const mp = new entities_1.EntityProvenTx(proven).getMerklePath();
500
- if (chainTracker != null) {
501
- const root = mp.computeRoot();
502
- const isValid = await chainTracker.isValidRootForHeight(root, proven.height);
503
- if (!isValid) {
504
- if (skipInvalidProofs !== true)
505
- throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(proven.blockHash, proven.height, root, txid);
506
- // Proof is currently invalid — recurse deeper via rawTx path
507
- r.rawTx = proven.rawTx;
508
- r.proven = undefined;
509
- return undefined;
510
- }
511
- }
512
- // Proof is good — merge and return
513
- beef.mergeRawTx(proven.rawTx);
514
- beef.mergeBump(mp);
515
- return beef;
516
- }
517
- async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
518
- const beef = mergeToBeef ?? new sdk_1.Beef();
519
- const r = await this.getProvenOrRawTx(txid, trx);
520
- // --- proven-tx path ---
521
- if (r.proven != null) {
522
- const result = await this.handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs);
523
- if (result != null || r.rawTx == null)
524
- return result;
525
- }
526
- // --- rawTx path ---
527
- if (r.rawTx == null)
528
- return undefined;
529
- if (trustSelf === 'known') {
530
- beef.mergeTxidOnly(txid);
531
- }
532
- else {
533
- beef.mergeRawTx(r.rawTx);
534
- if (r.inputBEEF != null)
535
- beef.mergeBeef(r.inputBEEF);
536
- if ((requiredLevels ?? 0) > 0)
537
- requiredLevels = requiredLevels - 1;
538
- await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
539
- await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
540
- });
541
- }
542
- return beef;
543
- }
544
- async getBeefForTransaction(txid, options) {
545
- const beef = await (0, getBeefForTransaction_1.getBeefForTransaction)(this, txid, options);
546
- return beef;
547
- }
548
- async findMonitorEventById(id, trx) {
549
- return (0, utilityHelpers_1.verifyOneOrNone)(await this.findMonitorEvents({ partial: { id }, trx }));
550
- }
551
- async relinquishCertificate(auth, args) {
552
- const vargs = sdk_1.Validation.validateRelinquishCertificateArgs(args);
553
- const cert = (0, utilityHelpers_1.verifyOne)(await this.findCertificates({
554
- partial: {
555
- certifier: vargs.certifier,
556
- serialNumber: vargs.serialNumber,
557
- type: vargs.type
558
- }
559
- }));
560
- return await this.updateCertificate(cert.certificateId, {
561
- isDeleted: true
562
- });
563
- }
564
- async relinquishOutput(auth, args) {
565
- const vargs = sdk_1.Validation.validateRelinquishOutputArgs(args);
566
- const { txid, vout } = sdk_1.Validation.parseWalletOutpoint(vargs.output);
567
- const output = (0, utilityHelpers_1.verifyOne)(await this.findOutputs({ partial: { userId: auth.userId, txid, vout } }));
568
- return await this.updateOutput(output.outputId, { basketId: undefined });
569
- }
570
- async processSyncChunk(args, chunk) {
571
- const user = (0, utilityHelpers_1.verifyTruthy)(await this.findUserByIdentityKey(args.identityKey));
572
- const ss = new entities_1.EntitySyncState((0, utilityHelpers_1.verifyOne)(await this.findSyncStates({
573
- partial: {
574
- storageIdentityKey: args.fromStorageIdentityKey,
575
- userId: user.userId
576
- }
577
- })));
578
- const r = await ss.processSyncChunk(this, args, chunk);
579
- return r;
580
- }
581
- /**
582
- * Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
583
- *
584
- * Performs the following storage updates (typically):
585
- * 1. Lookup the exising `ProvenTxReq` record for its rawTx
586
- * 2. Insert a new ProvenTx record using properties from `args` and rawTx, yielding a new provenTxId
587
- * 3. Update ProvenTxReq record with status 'completed' and new provenTxId value (and history of status changed)
588
- * 4. Unpack notify transactionIds from req and update each transaction's status to 'completed', provenTxId value.
589
- * 5. Update ProvenTxReq history again to record that transactions have been notified.
590
- * 6. Return results...
591
- *
592
- * Alterations of "typically" to handle:
593
- */
594
- async updateProvenTxReqWithNewProvenTx(args) {
595
- const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
596
- let proven;
597
- if (req.provenTxId != null && req.provenTxId > 0) {
598
- // Someone beat us to it, grab what we need for results...
599
- proven = new entities_1.EntityProvenTx((0, utilityHelpers_1.verifyOne)(await this.findProvenTxs({ partial: { txid: args.txid } })));
600
- if (req.status !== 'completed' || req.provenTxId !== proven.provenTxId) {
601
- req.status = 'completed';
602
- req.provenTxId = proven.provenTxId;
603
- await req.updateStorageDynamicProperties(this);
604
- }
605
- }
606
- else {
607
- proven = await this.transaction(async (trx) => {
608
- const { proven: api } = await this.findOrInsertProvenTx({
609
- created_at: new Date(),
610
- updated_at: new Date(),
611
- provenTxId: 0,
612
- txid: args.txid,
613
- height: args.height,
614
- index: args.index,
615
- merklePath: args.merklePath,
616
- rawTx: req.rawTx,
617
- blockHash: args.blockHash,
618
- merkleRoot: args.merkleRoot
619
- }, trx);
620
- const found = new entities_1.EntityProvenTx(api);
621
- if (req.status !== 'completed' || req.provenTxId !== found.provenTxId) {
622
- req.status = 'completed';
623
- req.provenTxId = found.provenTxId;
624
- await req.updateStorageDynamicProperties(this, trx);
625
- }
626
- return found;
627
- });
628
- }
629
- await this.reconcileProvenTxReqTransactions(req, proven);
630
- const r = {
631
- status: req.status,
632
- history: req.apiHistory,
633
- provenTxId: proven.provenTxId,
634
- notified: req.notified,
635
- notify: req.apiNotify
636
- };
637
- return r;
638
- }
639
- /**
640
- * Reconcile completed proof requests whose transaction fan-out previously
641
- * failed or whose durable notification state drifted.
642
- *
643
- * This is called by TaskReviewStatus so a completed request with
644
- * `notified = false` is retried and can become eligible for normal purge.
645
- */
646
- async reconcileCompletedProvenTxReqs() {
647
- let log = '';
648
- const reqs = await this.findProvenTxReqs({
649
- partial: { status: 'completed', notified: false }
650
- });
651
- for (const reqApi of reqs) {
652
- const req = new entities_1.EntityProvenTxReq(reqApi);
653
- if (req.provenTxId == null || req.provenTxId <= 0) {
654
- log += `completed req ${req.id} cannot reconcile without provenTxId\n`;
655
- continue;
656
- }
657
- const provenApi = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({
658
- partial: { provenTxId: req.provenTxId }
659
- }));
660
- if (provenApi == null) {
661
- log += `completed req ${req.id} cannot reconcile missing provenTx ${req.provenTxId}\n`;
662
- continue;
663
- }
664
- await this.reconcileProvenTxReqTransactions(req, new entities_1.EntityProvenTx(provenApi));
665
- if (req.notified)
666
- log += `completed req ${req.id} transaction notifications reconciled\n`;
667
- }
668
- return { log };
669
- }
670
- /**
671
- * Restore every failed local copy of a transaction before proof completion.
672
- * Also heals the request's notification set from the authoritative txid
673
- * lookup so TaskUnFail cannot omit a local copy after notification drift.
674
- */
675
- async unfailTransactionsForProof(req, indent = 0, requestUpdate) {
676
- const transactions = await this.findTransactions({
677
- partial: { txid: req.txid },
678
- noRawTx: true
679
- });
680
- const transactionsToRepair = transactions.filter(transaction => requestUpdate != null || transaction.status === 'failed');
681
- // Proof completion is the hot path. If no failed transaction needs repair,
682
- // notification reconciliation below will perform the required atomic work;
683
- // avoid an otherwise empty refresh/write transaction here.
684
- if (transactionsToRepair.length === 0 && requestUpdate == null)
685
- return '';
686
- // Refresh only after deciding recovery is required, while the caller has
687
- // not yet applied an intended request transition. TaskUnFail passes that
688
- // transition separately so it is persisted atomically with bookkeeping.
689
- await req.refreshFromStorage(this);
690
- const preparedTransactionIds = new Set(transactionsToRepair.map(transaction => transaction.transactionId));
691
- const outputVerdicts = new Map();
692
- const bsvtx = transactionsToRepair.length > 0 ? sdk_1.Transaction.fromBinary(req.rawTx) : undefined;
693
- // UTXO checks can call external services. Complete every check before
694
- // opening the write transaction so network latency never holds DB locks.
695
- if (transactionsToRepair.length > 0) {
696
- const services = this.getServices();
697
- for (const transaction of transactionsToRepair) {
698
- const outputs = await this.findOutputs({
699
- partial: { userId: transaction.userId, transactionId: transaction.transactionId }
700
- });
701
- for (const output of outputs) {
702
- const outputId = (0, utilityHelpers_1.verifyId)(output.outputId);
703
- await this.validateOutputScript(output);
704
- outputVerdicts.set(outputId, output.lockingScript == null ? undefined : await services.isUtxo(output));
705
- }
706
- }
707
- }
708
- return await this.transaction(async (trx) => {
709
- let log = '';
710
- await req.refreshFromStorage(this, trx);
711
- const currentTransactions = await this.findTransactions({
712
- partial: { txid: req.txid },
713
- noRawTx: true,
714
- trx
715
- });
716
- const knownNotificationIds = new Set(req.notify.transactionIds ?? []);
717
- if (requestUpdate != null) {
718
- req.status = requestUpdate.status;
719
- req.attempts = requestUpdate.attempts;
720
- }
721
- for (const tx of currentTransactions) {
722
- if (!knownNotificationIds.has(tx.transactionId)) {
723
- req.addNotifyTransactionId(tx.transactionId);
724
- knownNotificationIds.add(tx.transactionId);
725
- }
726
- const shouldRepair = requestUpdate != null || tx.status === 'failed';
727
- if (!shouldRepair)
728
- continue;
729
- if (bsvtx == null || !preparedTransactionIds.has(tx.transactionId)) {
730
- throw new WERR_errors_1.WERR_INTERNAL(`Transaction ${tx.transactionId} changed while preparing proof recovery.`);
731
- }
732
- await this.updateTransaction(tx.transactionId, { status: 'unproven' }, trx);
733
- log += ' '.repeat(indent) + `transaction ${tx.transactionId} status is now 'unproven'\n`;
734
- let vin = -1;
735
- for (const input of bsvtx.inputs) {
736
- vin++;
737
- const sourceTXID = input.sourceTXID;
738
- if (sourceTXID == null) {
739
- log += ' '.repeat(indent + 2) + `input ${vin} has no source transaction id\n`;
740
- continue;
741
- }
742
- const outputs = await this.findOutputs({
743
- partial: {
744
- userId: tx.userId,
745
- txid: sourceTXID,
746
- vout: input.sourceOutputIndex
747
- },
748
- trx
749
- });
750
- if (outputs.length === 1) {
751
- const output = outputs[0];
752
- log += ' '.repeat(indent + 2) +
753
- `input ${vin} matched to output ${output.outputId} updated spentBy ${tx.transactionId}\n`;
754
- await this.updateOutput((0, utilityHelpers_1.verifyId)(output.outputId), { spendable: false, spentBy: tx.transactionId }, trx);
755
- }
756
- else {
757
- log += ' '.repeat(indent + 2) + `input ${vin} not matched to user's outputs\n`;
758
- }
759
- }
760
- const outputs = await this.findOutputs({
761
- partial: { userId: tx.userId, transactionId: tx.transactionId },
762
- trx
763
- });
764
- for (const output of outputs) {
765
- const outputId = (0, utilityHelpers_1.verifyId)(output.outputId);
766
- if (!outputVerdicts.has(outputId)) {
767
- throw new WERR_errors_1.WERR_INTERNAL(`Output ${outputId} changed while preparing proof recovery.`);
768
- }
769
- const isUtxo = outputVerdicts.get(outputId);
770
- if (isUtxo == null) {
771
- log += ' '.repeat(indent + 2) + `output ${output.outputId} does not have a valid locking script\n`;
772
- }
773
- else if (isUtxo === output.spendable) {
774
- log += ' '.repeat(indent + 2) + `output ${output.outputId} unchanged\n`;
775
- }
776
- else {
777
- log += ' '.repeat(indent + 2) +
778
- `output ${output.outputId} set to ${isUtxo ? 'spendable' : 'spent'}\n`;
779
- await this.updateOutput(outputId, { spendable: isUtxo }, trx);
780
- }
781
- }
782
- }
783
- await req.updateStorageDynamicProperties(this, trx);
784
- return log;
785
- });
786
- }
787
- async reconcileProvenTxReqTransactions(req, proven) {
788
- // A transaction can be internalized concurrently by several users. Their
789
- // transaction rows share a txid but race while merging the JSON notify
790
- // list, so a last-writer-wins update can omit one local copy. A valid proof
791
- // is authoritative for every local transaction with this txid: discover
792
- // them from the indexed transaction table and atomically heal both the
793
- // durable notify set and any row that missed the original completion.
794
- // Keep the clean proof-completion path identical to the normal notification
795
- // transaction. Only leave it when failed rows require external UTXO checks,
796
- // which must run without an open transaction.
797
- let repairAttempts = 0;
798
- for (;;) {
799
- const needsRepair = await this.transaction(async (trx) => {
800
- await req.refreshFromStorage(this, trx);
801
- const transactions = await this.findTransactions({ partial: { txid: req.txid }, trx });
802
- if (transactions.some(transaction => transaction.status === 'failed'))
803
- return true;
804
- const knownNotificationIds = new Set(req.notify.transactionIds ?? []);
805
- for (const transaction of transactions) {
806
- if (!knownNotificationIds.has(transaction.transactionId)) {
807
- req.addNotifyTransactionId(transaction.transactionId);
808
- knownNotificationIds.add(transaction.transactionId);
809
- }
810
- }
811
- const transactionIdsNeedingProof = transactions
812
- .filter(transaction => transaction.status !== 'completed' || transaction.provenTxId !== proven.provenTxId)
813
- .map(transaction => transaction.transactionId);
814
- const updatesSucceeded = await (0, storageProviderHelpers_1.notifyTransactionsOfProof)(transactionIdsNeedingProof, proven.provenTxId, note => req.addHistoryNote(note), async (id, update) => { await this.updateTransaction(id, update, trx); });
815
- const completedTransactions = await this.findTransactions({ partial: { txid: req.txid }, trx });
816
- req.notified = updatesSucceeded && completedTransactions.every(transaction => transaction.status === 'completed' && transaction.provenTxId === proven.provenTxId);
817
- await req.updateStorageDynamicProperties(this, trx);
818
- return false;
819
- });
820
- if (!needsRepair)
821
- return;
822
- if (repairAttempts >= 2) {
823
- throw new WERR_errors_1.WERR_INTERNAL(`Transactions for ${req.txid} repeatedly changed to failed during proof recovery.`);
824
- }
825
- repairAttempts++;
826
- await this.unfailTransactionsForProof(req);
827
- }
828
- }
829
- /**
830
- * For each spendable output in the 'default' basket of the authenticated user,
831
- * verify that the output script, satoshis, vout and txid match that of an output
832
- * still in the mempool of at least one service provider.
833
- *
834
- * @returns object with invalidSpendableOutputs array. A good result is an empty array.
835
- */
836
- async confirmSpendableOutputs() {
837
- const invalidSpendableOutputs = [];
838
- const users = await this.findUsers({ partial: {} });
839
- const services = this.getServices();
840
- for (const { userId } of users) {
841
- const defaultBasket = (0, utilityHelpers_1.verifyOne)(await this.findOutputBaskets({ partial: { userId, name: 'default' } }));
842
- const outputs = await this.findOutputs({
843
- partial: { userId, basketId: defaultBasket.basketId, spendable: true }
844
- });
845
- for (const o of outputs) {
846
- if (!o.spendable)
847
- continue;
848
- const isUtxo = await this.checkOutputIsUtxo(o, services);
849
- if (!isUtxo)
850
- invalidSpendableOutputs.push(o);
851
- }
852
- }
853
- return { invalidSpendableOutputs };
854
- }
855
- async checkOutputIsUtxo(o, services) {
856
- if ((o.lockingScript == null) || o.lockingScript.length === 0)
857
- return false;
858
- const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
859
- const r = await services.getUtxoStatus(hash, undefined, `${o.txid ?? ''}.${o.vout ?? ''}`);
860
- return r.isUtxo === true;
861
- }
862
- async updateProvenTxReqDynamics(id, update, trx) {
863
- const partial = {};
864
- if (update.updated_at != null)
865
- partial.updated_at = update.updated_at;
866
- if (update.provenTxId != null && update.provenTxId > 0)
867
- partial.provenTxId = update.provenTxId;
868
- if (update.status != null)
869
- partial.status = update.status;
870
- if (Number.isInteger(update.attempts))
871
- partial.attempts = update.attempts;
872
- if (update.notified !== undefined)
873
- partial.notified = update.notified;
874
- if (update.batch != null && update.batch !== '')
875
- partial.batch = update.batch;
876
- if (update.history != null && update.history !== '')
877
- partial.history = update.history;
878
- if (update.notify != null && update.notify !== '')
879
- partial.notify = update.notify;
880
- if (update.wasBroadcast !== undefined)
881
- partial.wasBroadcast = update.wasBroadcast ?? false;
882
- if (Number.isInteger(update.rebroadcastAttempts))
883
- partial.rebroadcastAttempts = update.rebroadcastAttempts ?? 0;
884
- return await this.updateProvenTxReq(id, partial, trx);
885
- }
886
- async extendOutput(o, includeBasket = false, includeTags = false, trx) {
887
- const ox = o;
888
- if (includeBasket && ox.basketId != null && ox.basketId > 0)
889
- ox.basket = await this.findOutputBasketById(o.basketId, trx);
890
- if (includeTags) {
891
- ox.tags = await this.getTagsForOutputId(o.outputId);
892
- }
893
- return o;
894
- }
895
- async validateOutputScript(o, trx) {
896
- // without offset and length values return what we have (make no changes)
897
- if (o.scriptLength == null || o.scriptLength === 0 || o.scriptOffset == null || o.scriptOffset === 0 || o.txid == null || o.txid === '')
898
- return;
899
- // if there is an outputScript and its length is the expected length return what we have.
900
- if (o.lockingScript?.length === o.scriptLength)
901
- return;
902
- // outputScript is missing or has incorrect length...
903
- const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
904
- if (script == null)
905
- return;
906
- o.lockingScript = script;
907
- }
908
- }
909
- exports.StorageProvider = StorageProvider;
910
- function validateStorageFeeModel(v) {
911
- const r = {
912
- model: 'sat/kb',
913
- value: 100
914
- };
915
- if (typeof v === 'object') {
916
- if (v.model !== 'sat/kb')
917
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', '"sat/kb"');
918
- if (typeof v.value === 'number') {
919
- r.value = v.value;
920
- }
921
- }
922
- return r;
923
- }
924
- //# sourceMappingURL=StorageProvider.js.map