@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,793 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setDisableDoubleSpendCheckForTest = setDisableDoubleSpendCheckForTest;
4
- exports.createAction = createAction;
5
- const sdk_1 = require("@bsv/sdk");
6
- const generateChange_1 = require("./generateChange");
7
- const StorageProvider_1 = require("../StorageProvider");
8
- const WERR_errors_1 = require("../../sdk/WERR_errors");
9
- const utilityHelpers_1 = require("../../utility/utilityHelpers");
10
- const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
11
- const EntityProvenTx_1 = require("../schema/entities/EntityProvenTx");
12
- const Wallet_1 = require("../../Wallet");
13
- const offsetKey_1 = require("./offsetKey");
14
- const utils_1 = require("./utils");
15
- const sdk_2 = require("../../sdk");
16
- const managedChange_1 = require("./managedChange");
17
- let disableDoubleSpendCheckForTest = true;
18
- function setDisableDoubleSpendCheckForTest(v) {
19
- disableDoubleSpendCheckForTest = v;
20
- }
21
- async function createAction(storage, auth, vargs, originator) {
22
- const logger = vargs.logger;
23
- logger?.group('storage createAction');
24
- // stampLog(vargs, `start storage createTransactionSdk`)
25
- if (vargs.isTestWerrReviewActions)
26
- (0, Wallet_1.throwDummyReviewActions)();
27
- if (!vargs.isNewTx)
28
- // The purpose of this function is to create the initial storage records associated
29
- // with a new transaction. It's an error if we have no new inputs or outputs...
30
- {
31
- throw new WERR_errors_1.WERR_INTERNAL();
32
- }
33
- /**
34
- * Steps to create a transaction:
35
- * - Verify that all inputs either have proof in vargs.inputBEEF or that options.trustSelf === 'known' and input txid.vout are known valid to storage.
36
- * - Create a new transaction record with status 'unsigned' as the anchor for construction work and to new outputs.
37
- * - Create all transaction labels.
38
- * - Add new commission output
39
- * - Attempt to fund the transaction by allocating change outputs:
40
- * - As each change output is selected it is simultaneously locked.
41
- * - Create all new output, basket, tag records
42
- * - If requested, create result Beef with complete proofs for all inputs used
43
- * - Create result inputs with source locking scripts
44
- * - Create result outputs with new locking scripts.
45
- * - Create and return result.
46
- */
47
- const userId = auth.userId;
48
- const { storageBeef, beef, xinputs } = await validateRequiredInputs(storage, userId, vargs);
49
- logger?.log('validated required inputs');
50
- const xoutputs = validateRequiredOutputs(storage, userId, vargs);
51
- logger?.log('validated required outputs');
52
- const changeBasketName = 'default';
53
- const changeBasket = (0, utilityHelpers_1.verifyOne)(await storage.findOutputBaskets({
54
- partial: { userId, name: changeBasketName }
55
- }), `Invalid outputGeneration basket "${changeBasketName}"`);
56
- logger?.log('found change basket');
57
- const noSendChangeIn = await validateNoSendChange(storage, userId, vargs, changeBasket);
58
- logger?.log('validated noSendChange');
59
- const availableChangeCount = await storage.countChangeInputs(userId, changeBasket.basketId, !vargs.isDelayed);
60
- logger?.log(`counted change inputs ${availableChangeCount}`);
61
- const feeModel = (0, StorageProvider_1.validateStorageFeeModel)(storage.feeModel);
62
- logger?.log(`validated fee model ${JSON.stringify(feeModel)}`);
63
- await preflightInsufficientFundsFastPath(vargs, xinputs, xoutputs, noSendChangeIn, availableChangeCount, feeModel);
64
- logger?.log('passed insufficient-funds preflight');
65
- let newTx;
66
- try {
67
- newTx = await createNewTxRecord(storage, userId, vargs, storageBeef);
68
- logger?.log('created new transaction record');
69
- const ctx = {
70
- xinputs,
71
- xoutputs,
72
- changeBasket,
73
- noSendChangeIn,
74
- availableChangeCount,
75
- feeModel,
76
- transactionId: newTx.transactionId
77
- };
78
- const { allocatedChange, changeOutputs, derivationPrefix, maxPossibleSatoshisAdjustment } = await fundNewTransactionSdk(storage, userId, vargs, ctx);
79
- logger?.log('funded new transaction');
80
- if (maxPossibleSatoshisAdjustment != null) {
81
- const a = maxPossibleSatoshisAdjustment;
82
- if (ctx.xoutputs[a.fixedOutputIndex].satoshis !== generateChange_1.maxPossibleSatoshis)
83
- throw new WERR_errors_1.WERR_INTERNAL();
84
- ctx.xoutputs[a.fixedOutputIndex].satoshis = a.satoshis;
85
- logger?.log('adjusted change outputs to max possible');
86
- }
87
- // The satoshis of the transaction is the satoshis we get back in change minus the satoshis we spend.
88
- const satoshis = changeOutputs.reduce((a, e) => a + e.satoshis, 0) - allocatedChange.reduce((a, e) => a + e.satoshis, 0);
89
- await storage.updateTransaction(newTx.transactionId, { satoshis });
90
- const { outputs, changeVouts } = await createNewOutputs(storage, userId, vargs, ctx, changeOutputs);
91
- logger?.log('created new output records');
92
- const inputBeef = await mergeAllocatedChangeBeefs(storage, userId, vargs, allocatedChange, beef);
93
- logger?.log('merged allocated change beefs');
94
- const inputs = await createNewInputs(storage, userId, vargs, ctx, allocatedChange);
95
- logger?.log('created new inputs');
96
- const r = {
97
- reference: newTx.reference,
98
- version: newTx.version,
99
- lockTime: newTx.lockTime,
100
- inputs,
101
- outputs,
102
- derivationPrefix,
103
- inputBeef,
104
- noSendChangeOutputVouts: vargs.isNoSend ? changeVouts : undefined
105
- };
106
- logger?.groupEnd();
107
- return r;
108
- }
109
- catch (error) {
110
- if (newTx?.transactionId != null) {
111
- try {
112
- await storage.updateTransactionStatus('failed', newTx.transactionId);
113
- logger?.log(`marked failed createAction transaction ${newTx.transactionId} after construction error`);
114
- }
115
- catch (cleanupError) {
116
- logger?.log(`failed to clean up createAction transaction ${newTx.transactionId}: ${String(cleanupError)}`);
117
- }
118
- }
119
- logger?.groupEnd();
120
- throw error;
121
- }
122
- }
123
- function makeDefaultOutput(userId, transactionId, satoshis, vout) {
124
- const now = new Date();
125
- const output = {
126
- created_at: now,
127
- updated_at: now,
128
- outputId: 0,
129
- userId,
130
- transactionId,
131
- satoshis,
132
- vout,
133
- basketId: undefined,
134
- change: false,
135
- customInstructions: undefined,
136
- derivationPrefix: undefined,
137
- derivationSuffix: undefined,
138
- outputDescription: '',
139
- lockingScript: undefined,
140
- providedBy: 'you',
141
- purpose: '',
142
- senderIdentityKey: undefined,
143
- spendable: true,
144
- spendingDescription: undefined,
145
- spentBy: undefined,
146
- txid: undefined,
147
- type: ''
148
- };
149
- return output;
150
- }
151
- /** Check known outputs for double-spend, mark them spent, return competing txid if found. */
152
- async function markKnownInputsSpent(storage, knownInputRows, transactionId) {
153
- let doubleSpendTxid;
154
- await storage.transaction(async (trx) => {
155
- const outputIds = knownInputRows.map(ni => (0, utilityHelpers_1.verifyId)(ni.o.outputId));
156
- const knownOutputsById = await storage.findOutputsByIds(outputIds, trx);
157
- for (const ni of knownInputRows) {
158
- const { i, o } = ni;
159
- const o2 = knownOutputsById[(0, utilityHelpers_1.verifyId)(o.outputId)];
160
- if (!o2)
161
- throw new WERR_errors_1.WERR_INTERNAL(`missing outputId ${o.outputId}`);
162
- if (o2.spentBy !== undefined && o2.spentBy !== null) {
163
- const spendingTx = await storage.findTransactionById((0, utilityHelpers_1.verifyId)(o2.spentBy), trx);
164
- if (spendingTx?.txid) {
165
- doubleSpendTxid = spendingTx.txid;
166
- return;
167
- }
168
- }
169
- if (!o2.spendable) {
170
- throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${i.vin}]`, `spendable output. output ${o.txid}:${o.vout} appears to have been spent (spendable=${o2.spendable}).`);
171
- }
172
- await storage.updateOutput((0, utilityHelpers_1.verifyId)(o.outputId), { spendable: false, spentBy: transactionId, spendingDescription: i.inputDescription }, trx);
173
- o.spendable = false;
174
- o.spentBy = transactionId;
175
- o.spendingDescription = i.inputDescription;
176
- }
177
- });
178
- return doubleSpendTxid;
179
- }
180
- /** Build an SDK input record for a new-input row that has a backing output. */
181
- async function buildSdkInputFromOutput(storage, vargs, vin, i, o, unlockLen) {
182
- if ((i == null) && !unlockLen)
183
- throw new WERR_errors_1.WERR_INTERNAL(`vin ${vin} non-fixedInput without unlockLen`);
184
- const sourceTransaction = vargs.includeAllSourceTransactions && vargs.isSignAction
185
- ? await storage.getRawTxOfKnownValidTransaction(o.txid)
186
- : undefined;
187
- return {
188
- vin,
189
- sourceTxid: o.txid,
190
- sourceVout: o.vout,
191
- sourceSatoshis: o.satoshis,
192
- sourceLockingScript: (0, utilityHelpers_noBuffer_1.asString)(o.lockingScript),
193
- sourceTransaction,
194
- unlockingScriptLength: unlockLen || i.unlockingScriptLength,
195
- providedBy: (i != null) && o.providedBy === 'storage' ? 'you-and-storage' : o.providedBy,
196
- type: o.type,
197
- spendingDescription: o.spendingDescription || undefined,
198
- derivationPrefix: o.derivationPrefix || undefined,
199
- derivationSuffix: o.derivationSuffix || undefined,
200
- senderIdentityKey: o.senderIdentityKey || undefined
201
- };
202
- }
203
- /** Build an SDK input record for a user-specified input with no corresponding stored output. */
204
- function buildSdkInputFromXInput(vin, i) {
205
- return {
206
- vin,
207
- sourceTxid: i.outpoint.txid,
208
- sourceVout: i.outpoint.vout,
209
- sourceSatoshis: i.satoshis,
210
- sourceLockingScript: i.lockingScript.toHex(),
211
- unlockingScriptLength: i.unlockingScriptLength,
212
- providedBy: 'you',
213
- type: 'custom',
214
- spendingDescription: undefined,
215
- derivationPrefix: undefined,
216
- derivationSuffix: undefined,
217
- senderIdentityKey: undefined
218
- };
219
- }
220
- async function createNewInputs(storage, userId, vargs, ctx, allocatedChange) {
221
- const r = [];
222
- const newInputs = [];
223
- for (const i of ctx.xinputs)
224
- newInputs.push({ i, o: i.output });
225
- const knownInputRows = newInputs.filter((ni) => ni.i != null && ni.o != null);
226
- if (knownInputRows.length > 0) {
227
- const doubleSpendTxid = await markKnownInputsSpent(storage, knownInputRows, ctx.transactionId);
228
- if (doubleSpendTxid) {
229
- const beef = await getCompetingBeefForReview(storage, doubleSpendTxid);
230
- throw new WERR_errors_1.WERR_REVIEW_ACTIONS([{ txid: '', status: 'doubleSpend', competingTxs: [doubleSpendTxid], competingBeef: beef.toBinary() }], []);
231
- }
232
- }
233
- for (const o of allocatedChange)
234
- newInputs.push({ o, unlockLen: 107 });
235
- let vin = -1;
236
- for (const { i, o, unlockLen } of newInputs) {
237
- vin++;
238
- if (o != null) {
239
- r.push(await buildSdkInputFromOutput(storage, vargs, vin, i, o, unlockLen));
240
- }
241
- else {
242
- if (i == null)
243
- throw new WERR_errors_1.WERR_INTERNAL(`vin ${vin} without output or xinput`);
244
- r.push(buildSdkInputFromXInput(vin, i));
245
- }
246
- }
247
- return r;
248
- }
249
- async function getCompetingBeefForReview(storage, txid) {
250
- try {
251
- return await storage.getBeefForTransaction(txid, {});
252
- }
253
- catch (e) {
254
- const walletError = sdk_2.WalletError.fromUnknown(e);
255
- if (walletError instanceof WERR_errors_1.WERR_INVALID_PARAMETER || walletError.code === 'WERR_INVALID_PARAMETER') {
256
- const beef = new sdk_1.Beef();
257
- beef.mergeTxidOnly(txid);
258
- return beef;
259
- }
260
- throw e;
261
- }
262
- }
263
- /** Randomly reassign vout values across newOutputs using either the provided randomVals or crypto-random bytes. */
264
- function randomizeOutputVouts(newOutputs, randomVals) {
265
- const vals = [...(randomVals || [])];
266
- const nextRandom = () => {
267
- if (vals.length > 0) {
268
- const v = vals.shift();
269
- vals.push(v);
270
- return v;
271
- }
272
- const bytes = (0, sdk_1.Random)(4);
273
- return (((bytes[0] << 24) | (bytes[1] << 16) | (bytes[2] << 8) | bytes[3]) >>> 0) / 0x100000000;
274
- };
275
- const newVouts = Array.from({ length: newOutputs.length }, (_, i) => i);
276
- for (let cur = newVouts.length; cur > 0; cur--) {
277
- const rnd = Math.floor(nextRandom() * cur);
278
- [newVouts[cur - 1], newVouts[rnd]] = [newVouts[rnd], newVouts[cur - 1]];
279
- }
280
- let vout = -1;
281
- for (const no of newOutputs) {
282
- vout++;
283
- if (no.o.vout !== vout)
284
- throw new WERR_errors_1.WERR_INTERNAL(`new output ${vout} has out of order vout ${no.o.vout}`);
285
- no.o.vout = newVouts[vout];
286
- }
287
- }
288
- /** Insert the output and attach its tags; return the SDK output descriptor. */
289
- async function persistNewOutput(storage, o, tags, txTags, txBaskets) {
290
- o.outputId = await storage.insertOutput(o);
291
- const changeVout = (o.change && o.purpose === 'change' && o.providedBy === 'storage') ? o.vout : undefined;
292
- for (const tagName of new Set(tags)) {
293
- const tag = txTags[tagName];
294
- await storage.insertOutputTagMap({
295
- outputId: (0, utilityHelpers_1.verifyId)(o.outputId),
296
- outputTagId: (0, utilityHelpers_1.verifyId)(tag.outputTagId),
297
- created_at: new Date(),
298
- updated_at: new Date(),
299
- isDeleted: false
300
- });
301
- }
302
- const ro = {
303
- vout: (0, utilityHelpers_1.verifyInteger)(o.vout),
304
- satoshis: sdk_1.Validation.validateSatoshis(o.satoshis, 'o.satoshis'),
305
- lockingScript: (o.lockingScript == null) ? '' : (0, utilityHelpers_noBuffer_1.asString)(o.lockingScript),
306
- providedBy: (0, utilityHelpers_1.verifyTruthy)(o.providedBy),
307
- purpose: o.purpose || undefined,
308
- basket: Object.values(txBaskets).find(b => b.basketId === o.basketId)?.name,
309
- tags,
310
- outputDescription: o.outputDescription,
311
- derivationSuffix: o.derivationSuffix,
312
- customInstructions: o.customInstructions
313
- };
314
- return { changeVout, ro };
315
- }
316
- async function createNewOutputs(storage, userId, vargs, ctx, changeOutputs) {
317
- const txBaskets = {};
318
- const basketNames = [...new Set(ctx.xoutputs.map(x => x.basket).filter((v) => !!v))];
319
- Object.assign(txBaskets, await storage.findOrInsertOutputBasketsBulk(userId, basketNames));
320
- const txTags = {};
321
- const tagNames = [...new Set(ctx.xoutputs.flatMap(x => x.tags))];
322
- Object.assign(txTags, await storage.findOrInsertOutputTagsBulk(userId, tagNames));
323
- const newOutputs = [];
324
- for (const xo of ctx.xoutputs) {
325
- const lockingScript = (0, utilityHelpers_noBuffer_1.asArray)(xo.lockingScript);
326
- if (xo.purpose === 'service-charge') {
327
- const now = new Date();
328
- await storage.insertCommission({ userId, transactionId: ctx.transactionId, lockingScript, satoshis: xo.satoshis, isRedeemed: false, keyOffset: (0, utilityHelpers_1.verifyTruthy)(xo.keyOffset), created_at: now, updated_at: now, commissionId: 0 });
329
- const o = makeDefaultOutput(userId, ctx.transactionId, xo.satoshis, xo.vout);
330
- o.lockingScript = lockingScript;
331
- o.providedBy = 'storage';
332
- o.purpose = 'storage-commission';
333
- o.type = 'custom';
334
- o.spendable = false;
335
- newOutputs.push({ o, tags: [] });
336
- }
337
- else {
338
- const o = makeDefaultOutput(userId, ctx.transactionId, xo.satoshis, xo.vout);
339
- o.lockingScript = lockingScript;
340
- o.basketId = xo.basket ? txBaskets[xo.basket].basketId : undefined;
341
- o.customInstructions = xo.customInstructions;
342
- o.outputDescription = xo.outputDescription;
343
- o.providedBy = xo.providedBy;
344
- o.purpose = xo.purpose || '';
345
- o.type = 'custom';
346
- newOutputs.push({ o, tags: xo.tags });
347
- }
348
- }
349
- for (const o of changeOutputs) {
350
- o.spendable = true;
351
- newOutputs.push({ o, tags: [] });
352
- }
353
- if (vargs.options.randomizeOutputs)
354
- randomizeOutputVouts(newOutputs, vargs.randomVals);
355
- const outputs = [];
356
- const changeVouts = [];
357
- for (const { o, tags } of newOutputs) {
358
- const { changeVout, ro } = await persistNewOutput(storage, o, tags, txTags, txBaskets);
359
- if (changeVout !== undefined)
360
- changeVouts.push(changeVout);
361
- outputs.push(ro);
362
- }
363
- return { outputs, changeVouts };
364
- }
365
- async function createNewTxRecord(storage, userId, vargs, storageBeef) {
366
- const now = new Date();
367
- const newTx = {
368
- created_at: now,
369
- updated_at: now,
370
- transactionId: 0,
371
- version: vargs.version,
372
- lockTime: vargs.lockTime,
373
- status: 'unsigned',
374
- reference: (0, utilityHelpers_1.randomBytesBase64)(12),
375
- satoshis: 0, // updated after fundingTransaction
376
- userId,
377
- isOutgoing: true,
378
- inputBEEF: storageBeef.toBinary(),
379
- description: vargs.description,
380
- txid: undefined,
381
- rawTx: undefined
382
- };
383
- newTx.transactionId = await storage.insertTransaction(newTx);
384
- for (const label of vargs.labels) {
385
- const txLabel = await storage.findOrInsertTxLabel(userId, label);
386
- await storage.findOrInsertTxLabelMap((0, utilityHelpers_1.verifyId)(newTx.transactionId), (0, utilityHelpers_1.verifyId)(txLabel.txLabelId));
387
- }
388
- return newTx;
389
- }
390
- /**
391
- * Convert vargs.outputs:
392
- *
393
- * lockingScript: HexString
394
- * satoshis: SatoshiValue
395
- * outputDescription: DescriptionString5to50Bytes
396
- * basket?: BasketStringUnder300Bytes
397
- * customInstructions?: string
398
- * tags: BasketStringUnderBytes[]
399
- *
400
- * to XValidCreateActionOutput (which aims for StorageCreateTransactionSdkOutput)
401
- *
402
- * adds:
403
- * vout: number
404
- * providedBy: StorageProvidedBy
405
- * purpose?: string
406
- * derivationSuffix?: string
407
- * keyOffset?: string
408
- *
409
- * @param vargs
410
- * @returns xoutputs
411
- */
412
- function validateRequiredOutputs(storage, userId, vargs) {
413
- const xoutputs = [];
414
- let vout = -1;
415
- for (const output of vargs.outputs) {
416
- vout++;
417
- const xo = {
418
- ...output,
419
- vout,
420
- providedBy: 'you',
421
- purpose: undefined,
422
- derivationSuffix: undefined,
423
- keyOffset: undefined
424
- };
425
- xoutputs.push(xo);
426
- }
427
- if (storage.commissionSatoshis > 0 && storage.commissionPubKeyHex) {
428
- vout++;
429
- const { script, keyOffset } = (0, offsetKey_1.createStorageServiceChargeScript)(storage.commissionPubKeyHex);
430
- xoutputs.push({
431
- lockingScript: script,
432
- satoshis: storage.commissionSatoshis,
433
- outputDescription: 'Storage Service Charge',
434
- basket: undefined,
435
- tags: [],
436
- vout,
437
- providedBy: 'storage',
438
- purpose: 'service-charge',
439
- keyOffset
440
- });
441
- }
442
- return xoutputs;
443
- }
444
- /**
445
- * Verify that we are in posession of validity proof data for any inputs being proposed for a new transaction.
446
- *
447
- * `vargs.inputs` is the source of inputs.
448
- * `vargs.inputBEEF` may include new user supplied validity data.
449
- * 'vargs.options.trustSelf === 'known'` indicates whether we can rely on the storage database records.
450
- *
451
- * If there are no inputs, returns an empty `Beef`.
452
- *
453
- * Always pulls rawTx data into first level of validity chains so that parsed transaction data is available
454
- * and checks input sourceSatoshis as well as filling in input sourceLockingScript.
455
- *
456
- * This data may be pruned again before being returned to the user based on `vargs.options.knownTxids`.
457
- *
458
- * @param storage
459
- * @param userId
460
- * @param vargs
461
- * @returns {storageBeef} containing only validity proof data for only unknown required inputs.
462
- * @returns {beef} containing verified validity proof data for all required inputs.
463
- * @returns {xinputs} extended validated required inputs.
464
- */
465
- async function validateRequiredInputs(storage, userId, vargs) {
466
- // stampLog(vargs, `start storage verifyInputBeef`)
467
- const beef = new sdk_1.Beef();
468
- if (vargs.inputs.length === 0)
469
- return { storageBeef: beef, beef, xinputs: [] };
470
- if (vargs.inputBEEF != null)
471
- beef.mergeBeef(vargs.inputBEEF);
472
- const xinputs = vargs.inputs.map((input, vin) => ({
473
- ...input,
474
- vin,
475
- satoshis: -1,
476
- lockingScript: new sdk_1.Script(),
477
- output: undefined
478
- }));
479
- const trustSelf = vargs.options.trustSelf === 'known';
480
- const preloadedOutputsByOutpoint = await storage.findOutputsByOutpoints(userId, xinputs.map(i => ({ txid: i.outpoint.txid, vout: i.outpoint.vout })));
481
- const inputsByTxid = {};
482
- for (const input of xinputs) {
483
- inputsByTxid[input.outpoint.txid] ||= [];
484
- inputsByTxid[input.outpoint.txid].push(input);
485
- }
486
- const localKnownInputTxids = {};
487
- for (const [txid, txInputs] of Object.entries(inputsByTxid)) {
488
- localKnownInputTxids[txid] = txInputs.every(input => {
489
- const output = preloadedOutputsByOutpoint[`${input.outpoint.txid}.${input.outpoint.vout}`];
490
- return output?.lockingScript !== undefined && Number.isInteger(output?.satoshis);
491
- });
492
- }
493
- await validateBeefTxidOnlyEntries(beef, inputsByTxid, trustSelf, storage);
494
- await ensureBeefContainsAllInputTxids(beef, inputsByTxid, localKnownInputTxids, trustSelf, storage);
495
- if (!(await beef.verify(await storage.getServices().getChainTracker(), true))) {
496
- console.log(`verifyInputBeef failed, inputBEEF failed to verify.\n${beef.toLogString()}\n`);
497
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', 'valid Beef when factoring options.trustSelf');
498
- }
499
- const storageBeef = beef.clone();
500
- for (const input of xinputs) {
501
- await resolveInputScript(storage, userId, vargs, input, beef, preloadedOutputsByOutpoint);
502
- }
503
- return { beef, storageBeef, xinputs };
504
- }
505
- /** Check all txidOnly entries in beef: require either trustSelf vouch or throw. */
506
- async function validateBeefTxidOnlyEntries(beef, inputsByTxid, trustSelf, storage) {
507
- for (const btx of beef.txs) {
508
- if (!btx.isTxidOnly)
509
- continue;
510
- if (!trustSelf)
511
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain complete proof data for ${btx.txid}`);
512
- if (inputsByTxid[btx.txid] == null) {
513
- const isKnown = await storage.verifyKnownValidTransaction(btx.txid);
514
- if (!isKnown)
515
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain complete proof data for unknown ${btx.txid}`);
516
- }
517
- }
518
- }
519
- /** Ensure beef has an entry (or txidOnly) for every input txid. */
520
- async function ensureBeefContainsAllInputTxids(beef, inputsByTxid, localKnownInputTxids, trustSelf, storage) {
521
- for (const txid of Object.keys(inputsByTxid)) {
522
- let btx = beef.findTxid(txid);
523
- if (btx == null && localKnownInputTxids[txid])
524
- continue;
525
- if (btx == null && trustSelf) {
526
- if (await storage.verifyKnownValidTransaction(txid))
527
- btx = beef.mergeTxidOnly(txid);
528
- }
529
- if (btx == null) {
530
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain proof data for possibly known ${txid}, beef ${beef.toLogString()}`);
531
- }
532
- }
533
- }
534
- /** Resolve satoshis and lockingScript for one xinput from either storage or the beef. */
535
- async function resolveInputScript(storage, userId, vargs, input, beef, preloadedOutputsByOutpoint) {
536
- const { txid, vout } = input.outpoint;
537
- let output = preloadedOutputsByOutpoint[`${txid}.${vout}`];
538
- output ??= (0, utilityHelpers_1.verifyOneOrNone)(await storage.findOutputs({ partial: { userId, txid, vout } }));
539
- if (output != null) {
540
- if (output.change)
541
- throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${input.vin}]`, 'an unmanaged input. Change outputs are managed by your wallet.');
542
- input.output = output;
543
- if (output.lockingScript === undefined || !Number.isInteger(output.satoshis)) {
544
- throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'output with valid lockingScript and satoshis');
545
- }
546
- if (!disableDoubleSpendCheckForTest && !output.spendable && !vargs.isNoSend) {
547
- throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'spendable output unless noSend is true');
548
- }
549
- input.satoshis = sdk_1.Validation.validateSatoshis(output.satoshis, 'output.satoshis');
550
- input.lockingScript = sdk_1.Script.fromBinary((0, utilityHelpers_noBuffer_1.asArray)(output.lockingScript));
551
- }
552
- else {
553
- let btx = beef.findTxid(txid);
554
- if (btx.isTxidOnly) {
555
- const { rawTx, proven } = await storage.getProvenOrRawTx(txid);
556
- if (rawTx == null)
557
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain proof data for ${txid}`);
558
- btx = beef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
559
- if (proven != null)
560
- beef.mergeBump(new EntityProvenTx_1.EntityProvenTx(proven).getMerklePath());
561
- }
562
- if (vout >= btx.tx.outputs.length)
563
- throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'valid outpoint');
564
- const so = btx.tx.outputs[vout];
565
- input.satoshis = sdk_1.Validation.validateSatoshis(so.satoshis, 'so.satoshis');
566
- input.lockingScript = so.lockingScript;
567
- }
568
- }
569
- async function validateNoSendChange(storage, userId, vargs, changeBasket) {
570
- const r = [];
571
- if (!vargs.isNoSend)
572
- return [];
573
- const noSendChange = vargs.options.noSendChange;
574
- if (noSendChange && noSendChange.length > 0) {
575
- for (const op of noSendChange) {
576
- const output = (0, utilityHelpers_1.verifyOneOrNone)(await storage.findOutputs({
577
- partial: { userId, txid: op.txid, vout: op.vout }
578
- }));
579
- // noSendChange is signed through the same BRC-29 path as allocated change.
580
- // It must satisfy the full managed-change policy, not merely share the
581
- // default basket or have a P2PKH-shaped locking script.
582
- if (!(0, managedChange_1.isAutoSpendableChangeOutput)(output) ||
583
- !(0, utilityHelpers_1.verifyNumber)(output.satoshis) ||
584
- output.basketId !== changeBasket.basketId) {
585
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('noSendChange outpoint', 'wallet-managed BRC-29 change');
586
- }
587
- if (r.some(o => o.outputId === output.outputId))
588
- // noSendChange duplicate OutPoints are not allowed.
589
- {
590
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('noSendChange outpoint', 'unique. Duplicates are not allowed.');
591
- }
592
- r.push(output);
593
- }
594
- }
595
- return r;
596
- }
597
- async function preflightInsufficientFundsFastPath(vargs, xinputs, xoutputs, noSendChangeIn, availableChangeCount, feeModel) {
598
- if (feeModel.model !== 'sat/kb' || !feeModel.value)
599
- return;
600
- const fixedInputSatoshis = xinputs.reduce((a, e) => a + e.satoshis, 0);
601
- const noSendSatoshis = noSendChangeIn.reduce((a, e) => a + Number(e.satoshis || 0), 0);
602
- const spending = xoutputs.reduce((a, e) => a + e.satoshis, 0);
603
- const minSize = (0, utils_1.transactionSize)(xinputs.map(i => i.unlockingScriptLength || 0), xoutputs.map(o => Math.floor(o.lockingScript.length / 2)));
604
- const minFee = Math.ceil((minSize / 1000) * feeModel.value);
605
- const minRequired = spending + minFee;
606
- const fixedAvailable = fixedInputSatoshis + noSendSatoshis;
607
- if (fixedAvailable >= minRequired)
608
- return;
609
- // Keep common successful path cheap:
610
- // - If there are zero change candidates, failure is certain.
611
- // Otherwise, defer to the main funding allocator.
612
- const deficit = minRequired - fixedAvailable;
613
- if (availableChangeCount <= 0) {
614
- throw new WERR_errors_1.WERR_INSUFFICIENT_FUNDS(minRequired, deficit);
615
- }
616
- }
617
- async function fundNewTransactionSdk(storage, userId, vargs, ctx) {
618
- const params = {
619
- fixedInputs: ctx.xinputs.map(xi => ({
620
- satoshis: xi.satoshis,
621
- unlockingScriptLength: xi.unlockingScriptLength
622
- })),
623
- fixedOutputs: ctx.xoutputs.map(xo => ({
624
- satoshis: xo.satoshis,
625
- lockingScriptLength: xo.lockingScript.length / 2
626
- })),
627
- feeModel: ctx.feeModel,
628
- changeInitialSatoshis: Math.max(1, ctx.changeBasket.minimumDesiredUTXOValue),
629
- changeFirstSatoshis: Math.max(1, Math.round(ctx.changeBasket.minimumDesiredUTXOValue / 4)),
630
- changeLockingScriptLength: 25,
631
- changeUnlockingScriptLength: 107,
632
- targetNetCount: ctx.changeBasket.numberOfDesiredUTXOs - ctx.availableChangeCount,
633
- randomVals: vargs.randomVals
634
- };
635
- const noSendChange = [...ctx.noSendChangeIn];
636
- const outputs = {};
637
- const allocateChangeInput = async (targetSatoshis, exactSatoshis) => {
638
- // noSendChange gets allocated first...typically only one input...just allocate in order...
639
- if (noSendChange.length > 0) {
640
- const o = noSendChange.pop();
641
- outputs[o.outputId] = o;
642
- // allocate the output in storage, noSendChange is by definition spendable false and part of noSpend transaction batch.
643
- await storage.updateOutput(o.outputId, {
644
- spendable: false,
645
- spentBy: ctx.transactionId
646
- });
647
- o.spendable = false;
648
- o.spentBy = ctx.transactionId;
649
- const r = {
650
- outputId: o.outputId,
651
- satoshis: o.satoshis
652
- };
653
- return r;
654
- }
655
- const basketId = ctx.changeBasket.basketId;
656
- const o = await storage.allocateChangeInput(userId, basketId, targetSatoshis, exactSatoshis, !vargs.isDelayed, ctx.transactionId);
657
- if (o == null)
658
- return undefined;
659
- outputs[o.outputId] = o;
660
- const r = {
661
- outputId: o.outputId,
662
- satoshis: o.satoshis
663
- };
664
- return r;
665
- };
666
- const releaseChangeInput = async (outputId) => {
667
- const nsco = ctx.noSendChangeIn.find(o => o.outputId === outputId);
668
- if (nsco != null) {
669
- noSendChange.push(nsco);
670
- return;
671
- }
672
- await storage.updateOutput(outputId, {
673
- spendable: true,
674
- spentBy: undefined
675
- });
676
- };
677
- const gcr = await (0, generateChange_1.generateChangeSdk)(params, allocateChangeInput, releaseChangeInput, vargs.logger);
678
- const nextRandomVal = () => {
679
- let val = 0;
680
- if ((vargs.randomVals == null) || vargs.randomVals.length === 0) {
681
- const bytes = (0, sdk_1.Random)(4);
682
- val = (((bytes[0] << 24) | (bytes[1] << 16) | (bytes[2] << 8) | bytes[3]) >>> 0) / 0x100000000;
683
- }
684
- else {
685
- val = vargs.randomVals.shift() || 0;
686
- vargs.randomVals.push(val);
687
- }
688
- return val;
689
- };
690
- /**
691
- * @returns a random integer betweenn min and max, inclussive.
692
- */
693
- const rand = (min, max) => {
694
- if (max < min)
695
- throw new WERR_errors_1.WERR_INVALID_PARAMETER('max', `less than min (${min}). max is (${max})`);
696
- return Math.floor(nextRandomVal() * (max - min + 1) + min);
697
- };
698
- const randomDerivation = (count) => {
699
- let val = [];
700
- if ((vargs.randomVals == null) || vargs.randomVals.length === 0) {
701
- val = (0, sdk_1.Random)(count);
702
- }
703
- else {
704
- for (let i = 0; i < count; i++)
705
- val.push(rand(0, 255));
706
- }
707
- return sdk_1.Utils.toBase64(val);
708
- };
709
- // Generate a derivation prefix for the payment
710
- const derivationPrefix = randomDerivation(16);
711
- const r = {
712
- maxPossibleSatoshisAdjustment: gcr.maxPossibleSatoshisAdjustment,
713
- allocatedChange: gcr.allocatedChangeInputs.map(i => outputs[i.outputId]),
714
- changeOutputs: gcr.changeOutputs.map((o, i) => ({
715
- // what we knnow now and can insert into the database for this new transaction's change output
716
- created_at: new Date(),
717
- updated_at: new Date(),
718
- outputId: 0,
719
- userId,
720
- transactionId: ctx.transactionId,
721
- vout: params.fixedOutputs.length + i,
722
- satoshis: o.satoshis,
723
- basketId: ctx.changeBasket.basketId,
724
- spendable: false,
725
- change: true,
726
- type: 'P2PKH',
727
- derivationPrefix,
728
- derivationSuffix: randomDerivation(16),
729
- providedBy: 'storage',
730
- purpose: 'change',
731
- customInstructions: undefined,
732
- senderIdentityKey: undefined,
733
- outputDescription: '',
734
- // what will be known when transaction is signed
735
- txid: undefined,
736
- lockingScript: undefined,
737
- // when this output gets spent
738
- spentBy: undefined,
739
- spendingDescription: undefined
740
- })),
741
- derivationPrefix
742
- };
743
- return r;
744
- }
745
- /**
746
- * Avoid returning any known raw transaction data by converting any known transaction
747
- * in the `beef` to txidOnly.
748
- * @returns undefined if `vargs.options.returnTXIDOnly` or trimmed `Beef`
749
- */
750
- function trimInputBeef(beef, vargs) {
751
- if (vargs.options.returnTXIDOnly)
752
- return undefined;
753
- const knownTxids = {};
754
- for (const txid of vargs.options.knownTxids || [])
755
- knownTxids[txid] = true;
756
- for (const txid of beef.txs.map(btx => btx.txid))
757
- if (knownTxids[txid])
758
- beef.makeTxidOnly(txid);
759
- return beef.toUint8Array();
760
- }
761
- async function mergeAllocatedChangeBeefs(storage, userId, vargs, allocatedChange, beef) {
762
- const options = {
763
- trustSelf: undefined,
764
- knownTxids: vargs.options.knownTxids,
765
- mergeToBeef: beef,
766
- ignoreStorage: false,
767
- ignoreServices: true,
768
- ignoreNewProven: false,
769
- minProofLevel: undefined
770
- };
771
- if (vargs.options.returnTXIDOnly)
772
- return undefined;
773
- const known = new Set(vargs.options.knownTxids ?? []);
774
- const missing = Array.from(new Set(allocatedChange
775
- .map(o => o.txid)
776
- .filter(txid => beef.findTxid(txid) == null && !known.has(txid))));
777
- const fetched = new Array(missing.length);
778
- const concurrency = Math.min(8, Math.max(1, missing.length));
779
- let cursor = 0;
780
- await Promise.all(Array.from({ length: concurrency }, async () => {
781
- while (cursor < missing.length) {
782
- const index = cursor++;
783
- fetched[index] = await storage.getBeefForTransaction(missing[index], { ...options, mergeToBeef: undefined });
784
- }
785
- }));
786
- for (const fetchedBeef of fetched) {
787
- if (fetchedBeef == null)
788
- continue;
789
- beef.mergeBeef(fetchedBeef);
790
- }
791
- return trimInputBeef(beef, vargs);
792
- }
793
- //# sourceMappingURL=createAction.js.map