@bsv/wallet-toolbox-mobile 1.7.15 → 1.7.16

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 (678) hide show
  1. package/out/src/CWIStyleWalletManager.d.ts +439 -0
  2. package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  3. package/out/src/CWIStyleWalletManager.js +1317 -0
  4. package/out/src/CWIStyleWalletManager.js.map +1 -0
  5. package/out/src/SetupClient.d.ts +130 -0
  6. package/out/src/SetupClient.d.ts.map +1 -0
  7. package/out/src/SetupClient.js +226 -0
  8. package/out/src/SetupClient.js.map +1 -0
  9. package/out/src/SetupWallet.d.ts +103 -0
  10. package/out/src/SetupWallet.d.ts.map +1 -0
  11. package/out/src/SetupWallet.js +3 -0
  12. package/out/src/SetupWallet.js.map +1 -0
  13. package/out/src/SimpleWalletManager.d.ts +169 -0
  14. package/out/src/SimpleWalletManager.d.ts.map +1 -0
  15. package/out/src/SimpleWalletManager.js +315 -0
  16. package/out/src/SimpleWalletManager.js.map +1 -0
  17. package/out/src/Wallet.d.ts +206 -0
  18. package/out/src/Wallet.d.ts.map +1 -0
  19. package/out/src/Wallet.js +797 -0
  20. package/out/src/Wallet.js.map +1 -0
  21. package/out/src/WalletAuthenticationManager.d.ts +33 -0
  22. package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  23. package/out/src/WalletAuthenticationManager.js +113 -0
  24. package/out/src/WalletAuthenticationManager.js.map +1 -0
  25. package/out/src/WalletLogger.d.ts +65 -0
  26. package/out/src/WalletLogger.d.ts.map +1 -0
  27. package/out/src/WalletLogger.js +167 -0
  28. package/out/src/WalletLogger.js.map +1 -0
  29. package/out/src/WalletPermissionsManager.d.ts +760 -0
  30. package/out/src/WalletPermissionsManager.d.ts.map +1 -0
  31. package/out/src/WalletPermissionsManager.js +2679 -0
  32. package/out/src/WalletPermissionsManager.js.map +1 -0
  33. package/out/src/WalletSettingsManager.d.ts +53 -0
  34. package/out/src/WalletSettingsManager.d.ts.map +1 -0
  35. package/out/src/WalletSettingsManager.js +83 -0
  36. package/out/src/WalletSettingsManager.js.map +1 -0
  37. package/out/src/index.client.d.ts +23 -0
  38. package/out/src/index.client.d.ts.map +1 -0
  39. package/out/src/index.client.js +62 -0
  40. package/out/src/index.client.js.map +1 -0
  41. package/out/src/index.mobile.d.ts +20 -0
  42. package/out/src/index.mobile.d.ts.map +1 -0
  43. package/out/src/index.mobile.js +59 -0
  44. package/out/src/index.mobile.js.map +1 -0
  45. package/out/src/monitor/Monitor.d.ts +148 -0
  46. package/out/src/monitor/Monitor.d.ts.map +1 -0
  47. package/out/src/monitor/Monitor.js +317 -0
  48. package/out/src/monitor/Monitor.js.map +1 -0
  49. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  50. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  51. package/out/src/monitor/tasks/TaskCheckForProofs.js +213 -0
  52. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  53. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +33 -0
  54. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -0
  55. package/out/src/monitor/tasks/TaskCheckNoSends.js +71 -0
  56. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -0
  57. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  58. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  59. package/out/src/monitor/tasks/TaskClock.js +28 -0
  60. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  61. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  62. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  63. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  64. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  65. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +12 -0
  66. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -0
  67. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +24 -0
  68. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -0
  69. package/out/src/monitor/tasks/TaskNewHeader.d.ts +50 -0
  70. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  71. package/out/src/monitor/tasks/TaskNewHeader.js +84 -0
  72. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  73. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  74. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  75. package/out/src/monitor/tasks/TaskPurge.js +34 -0
  76. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  77. package/out/src/monitor/tasks/TaskReorg.d.ts +43 -0
  78. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -0
  79. package/out/src/monitor/tasks/TaskReorg.js +82 -0
  80. package/out/src/monitor/tasks/TaskReorg.js.map +1 -0
  81. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  82. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  83. package/out/src/monitor/tasks/TaskReviewStatus.js +43 -0
  84. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  85. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +35 -0
  86. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  87. package/out/src/monitor/tasks/TaskSendWaiting.js +117 -0
  88. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  89. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  90. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  91. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  92. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  93. package/out/src/monitor/tasks/TaskUnFail.d.ts +41 -0
  94. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
  95. package/out/src/monitor/tasks/TaskUnFail.js +145 -0
  96. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
  97. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  98. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  99. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  100. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  101. package/out/src/sdk/CertOpsWallet.d.ts +7 -0
  102. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
  103. package/out/src/sdk/CertOpsWallet.js +3 -0
  104. package/out/src/sdk/CertOpsWallet.js.map +1 -0
  105. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  106. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  107. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  108. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  109. package/out/src/sdk/WERR_errors.d.ts +136 -0
  110. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  111. package/out/src/sdk/WERR_errors.js +218 -0
  112. package/out/src/sdk/WERR_errors.js.map +1 -0
  113. package/out/src/sdk/WalletError.d.ts +63 -0
  114. package/out/src/sdk/WalletError.d.ts.map +1 -0
  115. package/out/src/sdk/WalletError.js +169 -0
  116. package/out/src/sdk/WalletError.js.map +1 -0
  117. package/out/src/sdk/WalletErrorFromJson.d.ts +12 -0
  118. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -0
  119. package/out/src/sdk/WalletErrorFromJson.js +69 -0
  120. package/out/src/sdk/WalletErrorFromJson.js.map +1 -0
  121. package/out/src/sdk/WalletServices.interfaces.d.ts +618 -0
  122. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  123. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  124. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  125. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  126. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  127. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  128. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  129. package/out/src/sdk/WalletStorage.interfaces.d.ts +522 -0
  130. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  131. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  132. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  133. package/out/src/sdk/index.d.ts +11 -0
  134. package/out/src/sdk/index.d.ts.map +1 -0
  135. package/out/src/sdk/index.js +29 -0
  136. package/out/src/sdk/index.js.map +1 -0
  137. package/out/src/sdk/types.d.ts +169 -0
  138. package/out/src/sdk/types.d.ts.map +1 -0
  139. package/out/src/sdk/types.js +90 -0
  140. package/out/src/sdk/types.js.map +1 -0
  141. package/out/src/services/ServiceCollection.d.ts +79 -0
  142. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  143. package/out/src/services/ServiceCollection.js +192 -0
  144. package/out/src/services/ServiceCollection.js.map +1 -0
  145. package/out/src/services/Services.d.ts +71 -0
  146. package/out/src/services/Services.d.ts.map +1 -0
  147. package/out/src/services/Services.js +532 -0
  148. package/out/src/services/Services.js.map +1 -0
  149. package/out/src/services/chaintracker/BHServiceClient.d.ts +39 -0
  150. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
  151. package/out/src/services/chaintracker/BHServiceClient.js +174 -0
  152. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
  153. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  154. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  155. package/out/src/services/chaintracker/ChaintracksChainTracker.js +53 -0
  156. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  157. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +55 -0
  158. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -0
  159. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +38 -0
  160. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -0
  161. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +70 -0
  162. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
  163. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
  164. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
  165. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
  166. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
  167. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
  168. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
  169. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
  170. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
  171. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
  172. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
  173. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
  174. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
  175. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
  176. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
  177. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +18 -0
  178. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
  179. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
  180. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
  181. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
  182. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
  183. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
  184. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
  185. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +338 -0
  186. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
  187. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
  188. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
  189. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
  190. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
  191. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
  192. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
  193. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +101 -0
  194. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
  195. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +550 -0
  196. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
  197. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +38 -0
  198. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  199. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +139 -0
  200. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  201. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
  202. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
  203. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
  204. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
  205. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
  206. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
  207. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +114 -0
  208. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
  209. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
  210. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
  211. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
  212. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
  213. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
  214. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
  215. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +59 -0
  216. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
  217. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +62 -0
  218. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
  219. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +42 -0
  220. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
  221. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
  222. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
  223. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +55 -0
  224. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
  225. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
  226. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
  227. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +501 -0
  228. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
  229. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +89 -0
  230. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
  231. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +137 -0
  232. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
  233. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +23 -0
  234. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
  235. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +68 -0
  236. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
  237. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
  238. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
  239. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +290 -0
  240. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
  241. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +92 -0
  242. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
  243. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +465 -0
  244. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
  245. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +37 -0
  246. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
  247. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +260 -0
  248. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
  249. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +5 -0
  250. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -0
  251. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +68 -0
  252. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -0
  253. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +5 -0
  254. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
  255. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +68 -0
  256. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
  257. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +13 -0
  258. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  259. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +27 -0
  260. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  261. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +13 -0
  262. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -0
  263. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +27 -0
  264. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -0
  265. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +4 -0
  266. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  267. package/out/src/services/chaintracker/chaintracks/index.client.js +20 -0
  268. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  269. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +30 -0
  270. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -0
  271. package/out/src/services/chaintracker/chaintracks/index.mobile.js +68 -0
  272. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -0
  273. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +155 -0
  274. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
  275. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +848 -0
  276. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
  277. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
  278. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
  279. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
  280. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
  281. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
  282. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
  283. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
  284. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
  285. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +14 -0
  286. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
  287. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +67 -0
  288. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
  289. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +90 -0
  290. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
  291. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +140 -0
  292. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
  293. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
  294. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
  295. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
  296. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
  297. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +159 -0
  298. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
  299. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +520 -0
  300. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
  301. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
  302. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
  303. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
  304. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
  305. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +37 -0
  306. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
  307. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +432 -0
  308. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
  309. package/out/src/services/chaintracker/index.client.d.ts +4 -0
  310. package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  311. package/out/src/services/chaintracker/index.client.js +20 -0
  312. package/out/src/services/chaintracker/index.client.js.map +1 -0
  313. package/out/src/services/createDefaultWalletServicesOptions.d.ts +7 -0
  314. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  315. package/out/src/services/createDefaultWalletServicesOptions.js +65 -0
  316. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  317. package/out/src/services/providers/ARC.d.ts +92 -0
  318. package/out/src/services/providers/ARC.d.ts.map +1 -0
  319. package/out/src/services/providers/ARC.js +270 -0
  320. package/out/src/services/providers/ARC.js.map +1 -0
  321. package/out/src/services/providers/Bitails.d.ts +50 -0
  322. package/out/src/services/providers/Bitails.d.ts.map +1 -0
  323. package/out/src/services/providers/Bitails.js +224 -0
  324. package/out/src/services/providers/Bitails.js.map +1 -0
  325. package/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
  326. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
  327. package/out/src/services/providers/SdkWhatsOnChain.js +67 -0
  328. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
  329. package/out/src/services/providers/WhatsOnChain.d.ts +130 -0
  330. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
  331. package/out/src/services/providers/WhatsOnChain.js +679 -0
  332. package/out/src/services/providers/WhatsOnChain.js.map +1 -0
  333. package/out/src/services/providers/exchangeRates.d.ts +12 -0
  334. package/out/src/services/providers/exchangeRates.d.ts.map +1 -0
  335. package/out/src/services/providers/exchangeRates.js +237 -0
  336. package/out/src/services/providers/exchangeRates.js.map +1 -0
  337. package/out/src/services/providers/getBeefForTxid.d.ts +4 -0
  338. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -0
  339. package/out/src/services/providers/getBeefForTxid.js +286 -0
  340. package/out/src/services/providers/getBeefForTxid.js.map +1 -0
  341. package/out/src/signer/WalletSigner.d.ts +11 -0
  342. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  343. package/out/src/signer/WalletSigner.js +13 -0
  344. package/out/src/signer/WalletSigner.js.map +1 -0
  345. package/out/src/signer/methods/acquireDirectCertificate.d.ts +5 -0
  346. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  347. package/out/src/signer/methods/acquireDirectCertificate.js +45 -0
  348. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  349. package/out/src/signer/methods/buildSignableTransaction.d.ts +15 -0
  350. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -0
  351. package/out/src/signer/methods/buildSignableTransaction.js +142 -0
  352. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -0
  353. package/out/src/signer/methods/completeSignedTransaction.d.ts +10 -0
  354. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -0
  355. package/out/src/signer/methods/completeSignedTransaction.js +106 -0
  356. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -0
  357. package/out/src/signer/methods/createAction.d.ts +14 -0
  358. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  359. package/out/src/signer/methods/createAction.js +117 -0
  360. package/out/src/signer/methods/createAction.js.map +1 -0
  361. package/out/src/signer/methods/internalizeAction.d.ts +32 -0
  362. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  363. package/out/src/signer/methods/internalizeAction.js +93 -0
  364. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  365. package/out/src/signer/methods/proveCertificate.d.ts +5 -0
  366. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  367. package/out/src/signer/methods/proveCertificate.js +29 -0
  368. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  369. package/out/src/signer/methods/signAction.d.ts +11 -0
  370. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  371. package/out/src/signer/methods/signAction.js +41 -0
  372. package/out/src/signer/methods/signAction.js.map +1 -0
  373. package/out/src/storage/StorageIdb.d.ts +210 -0
  374. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  375. package/out/src/storage/StorageIdb.js +2297 -0
  376. package/out/src/storage/StorageIdb.js.map +1 -0
  377. package/out/src/storage/StorageProvider.d.ts +222 -0
  378. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  379. package/out/src/storage/StorageProvider.js +567 -0
  380. package/out/src/storage/StorageProvider.js.map +1 -0
  381. package/out/src/storage/StorageReader.d.ts +77 -0
  382. package/out/src/storage/StorageReader.d.ts.map +1 -0
  383. package/out/src/storage/StorageReader.js +163 -0
  384. package/out/src/storage/StorageReader.js.map +1 -0
  385. package/out/src/storage/StorageReaderWriter.d.ts +102 -0
  386. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  387. package/out/src/storage/StorageReaderWriter.js +338 -0
  388. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  389. package/out/src/storage/StorageSyncReader.d.ts +18 -0
  390. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  391. package/out/src/storage/StorageSyncReader.js +71 -0
  392. package/out/src/storage/StorageSyncReader.js.map +1 -0
  393. package/out/src/storage/WalletStorageManager.d.ts +221 -0
  394. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  395. package/out/src/storage/WalletStorageManager.js +819 -0
  396. package/out/src/storage/WalletStorageManager.js.map +1 -0
  397. package/out/src/storage/index.client.d.ts +8 -0
  398. package/out/src/storage/index.client.d.ts.map +1 -0
  399. package/out/src/storage/index.client.js +24 -0
  400. package/out/src/storage/index.client.js.map +1 -0
  401. package/out/src/storage/index.mobile.d.ts +7 -0
  402. package/out/src/storage/index.mobile.d.ts.map +1 -0
  403. package/out/src/storage/index.mobile.js +23 -0
  404. package/out/src/storage/index.mobile.js.map +1 -0
  405. package/out/src/storage/methods/ListActionsSpecOp.d.ts +18 -0
  406. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  407. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  408. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  409. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  410. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  411. package/out/src/storage/methods/ListOutputsSpecOp.js +75 -0
  412. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  413. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +41 -0
  414. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  415. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +324 -0
  416. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  417. package/out/src/storage/methods/createAction.d.ts +13 -0
  418. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  419. package/out/src/storage/methods/createAction.js +732 -0
  420. package/out/src/storage/methods/createAction.js.map +1 -0
  421. package/out/src/storage/methods/generateChange.d.ts +96 -0
  422. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  423. package/out/src/storage/methods/generateChange.js +405 -0
  424. package/out/src/storage/methods/generateChange.js.map +1 -0
  425. package/out/src/storage/methods/getBeefForTransaction.d.ts +23 -0
  426. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  427. package/out/src/storage/methods/getBeefForTransaction.js +109 -0
  428. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  429. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  430. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  431. package/out/src/storage/methods/getSyncChunk.js +272 -0
  432. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  433. package/out/src/storage/methods/internalizeAction.d.ts +31 -0
  434. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  435. package/out/src/storage/methods/internalizeAction.js +462 -0
  436. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  437. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  438. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  439. package/out/src/storage/methods/listActionsIdb.js +155 -0
  440. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  441. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  442. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  443. package/out/src/storage/methods/listCertificates.js +68 -0
  444. package/out/src/storage/methods/listCertificates.js.map +1 -0
  445. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  446. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  447. package/out/src/storage/methods/listOutputsIdb.js +185 -0
  448. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  449. package/out/src/storage/methods/offsetKey.d.ts +24 -0
  450. package/out/src/storage/methods/offsetKey.d.ts.map +1 -0
  451. package/out/src/storage/methods/offsetKey.js +67 -0
  452. package/out/src/storage/methods/offsetKey.js.map +1 -0
  453. package/out/src/storage/methods/processAction.d.ts +54 -0
  454. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  455. package/out/src/storage/methods/processAction.js +267 -0
  456. package/out/src/storage/methods/processAction.js.map +1 -0
  457. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  458. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  459. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  460. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  461. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  462. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  463. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  464. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  465. package/out/src/storage/methods/utils.d.ts +25 -0
  466. package/out/src/storage/methods/utils.d.ts.map +1 -0
  467. package/out/src/storage/methods/utils.js +53 -0
  468. package/out/src/storage/methods/utils.js.map +1 -0
  469. package/out/src/storage/remoting/StorageClient.d.ts +292 -0
  470. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  471. package/out/src/storage/remoting/StorageClient.js +497 -0
  472. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  473. package/out/src/storage/remoting/StorageMobile.d.ts +292 -0
  474. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -0
  475. package/out/src/storage/remoting/StorageMobile.js +477 -0
  476. package/out/src/storage/remoting/StorageMobile.js.map +1 -0
  477. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  478. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  479. package/out/src/storage/schema/StorageIdbSchema.js +3 -0
  480. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  481. package/out/src/storage/schema/entities/EntityBase.d.ts +106 -0
  482. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  483. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  484. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  485. package/out/src/storage/schema/entities/EntityCertificate.d.ts +44 -0
  486. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -0
  487. package/out/src/storage/schema/entities/EntityCertificate.js +162 -0
  488. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -0
  489. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +33 -0
  490. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -0
  491. package/out/src/storage/schema/entities/EntityCertificateField.js +112 -0
  492. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -0
  493. package/out/src/storage/schema/entities/EntityCommission.d.ts +38 -0
  494. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -0
  495. package/out/src/storage/schema/entities/EntityCommission.js +127 -0
  496. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -0
  497. package/out/src/storage/schema/entities/EntityOutput.d.ts +68 -0
  498. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -0
  499. package/out/src/storage/schema/entities/EntityOutput.js +264 -0
  500. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -0
  501. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +36 -0
  502. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -0
  503. package/out/src/storage/schema/entities/EntityOutputBasket.js +133 -0
  504. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -0
  505. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +32 -0
  506. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -0
  507. package/out/src/storage/schema/entities/EntityOutputTag.js +104 -0
  508. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -0
  509. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +29 -0
  510. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -0
  511. package/out/src/storage/schema/entities/EntityOutputTagMap.js +98 -0
  512. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -0
  513. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +87 -0
  514. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -0
  515. package/out/src/storage/schema/entities/EntityProvenTx.js +278 -0
  516. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -0
  517. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +139 -0
  518. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -0
  519. package/out/src/storage/schema/entities/EntityProvenTxReq.js +524 -0
  520. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -0
  521. package/out/src/storage/schema/entities/EntitySyncState.d.ts +69 -0
  522. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -0
  523. package/out/src/storage/schema/entities/EntitySyncState.js +334 -0
  524. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -0
  525. package/out/src/storage/schema/entities/EntityTransaction.d.ts +71 -0
  526. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -0
  527. package/out/src/storage/schema/entities/EntityTransaction.js +255 -0
  528. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -0
  529. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +32 -0
  530. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -0
  531. package/out/src/storage/schema/entities/EntityTxLabel.js +104 -0
  532. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -0
  533. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +29 -0
  534. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -0
  535. package/out/src/storage/schema/entities/EntityTxLabelMap.js +98 -0
  536. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -0
  537. package/out/src/storage/schema/entities/EntityUser.d.ts +30 -0
  538. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -0
  539. package/out/src/storage/schema/entities/EntityUser.js +99 -0
  540. package/out/src/storage/schema/entities/EntityUser.js.map +1 -0
  541. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  542. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  543. package/out/src/storage/schema/entities/MergeEntity.js +63 -0
  544. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  545. package/out/src/storage/schema/entities/index.d.ts +17 -0
  546. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  547. package/out/src/storage/schema/entities/index.js +33 -0
  548. package/out/src/storage/schema/entities/index.js.map +1 -0
  549. package/out/src/storage/schema/tables/TableCertificate.d.ts +20 -0
  550. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  551. package/out/src/storage/schema/tables/TableCertificate.js +3 -0
  552. package/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  553. package/out/src/storage/schema/tables/TableCertificateField.d.ts +12 -0
  554. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  555. package/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  556. package/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  557. package/out/src/storage/schema/tables/TableCommission.d.ts +13 -0
  558. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  559. package/out/src/storage/schema/tables/TableCommission.js +3 -0
  560. package/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  561. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +9 -0
  562. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  563. package/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  564. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  565. package/out/src/storage/schema/tables/TableOutput.d.ts +36 -0
  566. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  567. package/out/src/storage/schema/tables/TableOutput.js +31 -0
  568. package/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  569. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +12 -0
  570. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  571. package/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  572. package/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  573. package/out/src/storage/schema/tables/TableOutputTag.d.ts +10 -0
  574. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  575. package/out/src/storage/schema/tables/TableOutputTag.js +3 -0
  576. package/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  577. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +9 -0
  578. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  579. package/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  580. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  581. package/out/src/storage/schema/tables/TableProvenTx.d.ts +14 -0
  582. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  583. package/out/src/storage/schema/tables/TableProvenTx.js +3 -0
  584. package/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  585. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +64 -0
  586. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  587. package/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  588. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  589. package/out/src/storage/schema/tables/TableSettings.d.ts +17 -0
  590. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -0
  591. package/out/src/storage/schema/tables/TableSettings.js +3 -0
  592. package/out/src/storage/schema/tables/TableSettings.js.map +1 -0
  593. package/out/src/storage/schema/tables/TableSyncState.d.ts +18 -0
  594. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  595. package/out/src/storage/schema/tables/TableSyncState.js +3 -0
  596. package/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  597. package/out/src/storage/schema/tables/TableTransaction.d.ts +37 -0
  598. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  599. package/out/src/storage/schema/tables/TableTransaction.js +21 -0
  600. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  601. package/out/src/storage/schema/tables/TableTxLabel.d.ts +10 -0
  602. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  603. package/out/src/storage/schema/tables/TableTxLabel.js +3 -0
  604. package/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  605. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +9 -0
  606. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  607. package/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  608. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  609. package/out/src/storage/schema/tables/TableUser.d.ts +16 -0
  610. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  611. package/out/src/storage/schema/tables/TableUser.js +3 -0
  612. package/out/src/storage/schema/tables/TableUser.js.map +1 -0
  613. package/out/src/storage/schema/tables/index.d.ts +17 -0
  614. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  615. package/out/src/storage/schema/tables/index.js +33 -0
  616. package/out/src/storage/schema/tables/index.js.map +1 -0
  617. package/out/src/utility/ReaderUint8Array.d.ts +28 -0
  618. package/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
  619. package/out/src/utility/ReaderUint8Array.js +166 -0
  620. package/out/src/utility/ReaderUint8Array.js.map +1 -0
  621. package/out/src/utility/ScriptTemplateBRC29.d.ts +25 -0
  622. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
  623. package/out/src/utility/ScriptTemplateBRC29.js +48 -0
  624. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
  625. package/out/src/utility/aggregateResults.d.ts +8 -0
  626. package/out/src/utility/aggregateResults.d.ts.map +1 -0
  627. package/out/src/utility/aggregateResults.js +59 -0
  628. package/out/src/utility/aggregateResults.js.map +1 -0
  629. package/out/src/utility/identityUtils.d.ts +31 -0
  630. package/out/src/utility/identityUtils.d.ts.map +1 -0
  631. package/out/src/utility/identityUtils.js +116 -0
  632. package/out/src/utility/identityUtils.js.map +1 -0
  633. package/out/src/utility/index.client.d.ts +7 -0
  634. package/out/src/utility/index.client.d.ts.map +1 -0
  635. package/out/src/utility/index.client.js +23 -0
  636. package/out/src/utility/index.client.js.map +1 -0
  637. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  638. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  639. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  640. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  641. package/out/src/utility/stampLog.d.ts +18 -0
  642. package/out/src/utility/stampLog.d.ts.map +1 -0
  643. package/out/src/utility/stampLog.js +72 -0
  644. package/out/src/utility/stampLog.js.map +1 -0
  645. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  646. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  647. package/out/src/utility/tscProofToMerklePath.js +41 -0
  648. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  649. package/out/src/utility/utilityHelpers.d.ts +138 -0
  650. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  651. package/out/src/utility/utilityHelpers.js +294 -0
  652. package/out/src/utility/utilityHelpers.js.map +1 -0
  653. package/out/src/utility/utilityHelpers.noBuffer.d.ts +26 -0
  654. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  655. package/out/src/utility/utilityHelpers.noBuffer.js +64 -0
  656. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  657. package/out/src/wab-client/WABClient.d.ts +49 -0
  658. package/out/src/wab-client/WABClient.d.ts.map +1 -0
  659. package/out/src/wab-client/WABClient.js +80 -0
  660. package/out/src/wab-client/WABClient.js.map +1 -0
  661. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  662. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  663. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  664. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  665. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts +29 -0
  666. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts.map +1 -0
  667. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +70 -0
  668. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -0
  669. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  670. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  671. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
  672. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  673. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  674. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  675. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
  676. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  677. package/out/tsconfig.mobile.tsbuildinfo +1 -0
  678. package/package.json +1 -1
@@ -0,0 +1,732 @@
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
+ let disableDoubleSpendCheckForTest = true;
15
+ function setDisableDoubleSpendCheckForTest(v) {
16
+ disableDoubleSpendCheckForTest = v;
17
+ }
18
+ async function createAction(storage, auth, vargs, originator) {
19
+ const logger = vargs.logger;
20
+ logger === null || logger === void 0 ? void 0 : logger.group(`storage createAction`);
21
+ //stampLog(vargs, `start storage createTransactionSdk`)
22
+ if (vargs.isTestWerrReviewActions)
23
+ (0, Wallet_1.throwDummyReviewActions)();
24
+ if (!vargs.isNewTx)
25
+ // The purpose of this function is to create the initial storage records associated
26
+ // with a new transaction. It's an error if we have no new inputs or outputs...
27
+ throw new WERR_errors_1.WERR_INTERNAL();
28
+ /**
29
+ * Steps to create a transaction:
30
+ * - Verify that all inputs either have proof in vargs.inputBEEF or that options.trustSelf === 'known' and input txid.vout are known valid to storage.
31
+ * - Create a new transaction record with status 'unsigned' as the anchor for construction work and to new outputs.
32
+ * - Create all transaction labels.
33
+ * - Add new commission output
34
+ * - Attempt to fund the transaction by allocating change outputs:
35
+ * - As each change output is selected it is simultaneously locked.
36
+ * - Create all new output, basket, tag records
37
+ * - If requested, create result Beef with complete proofs for all inputs used
38
+ * - Create result inputs with source locking scripts
39
+ * - Create result outputs with new locking scripts.
40
+ * - Create and return result.
41
+ */
42
+ const userId = auth.userId;
43
+ const { storageBeef, beef, xinputs } = await validateRequiredInputs(storage, userId, vargs);
44
+ logger === null || logger === void 0 ? void 0 : logger.log('validated required inputs');
45
+ const xoutputs = validateRequiredOutputs(storage, userId, vargs);
46
+ logger === null || logger === void 0 ? void 0 : logger.log('validated required outputs');
47
+ const changeBasketName = 'default';
48
+ const changeBasket = (0, utilityHelpers_1.verifyOne)(await storage.findOutputBaskets({
49
+ partial: { userId, name: changeBasketName }
50
+ }), `Invalid outputGeneration basket "${changeBasketName}"`);
51
+ logger === null || logger === void 0 ? void 0 : logger.log('found change basket');
52
+ const noSendChangeIn = await validateNoSendChange(storage, userId, vargs, changeBasket);
53
+ logger === null || logger === void 0 ? void 0 : logger.log('validated noSendChange');
54
+ const availableChangeCount = await storage.countChangeInputs(userId, changeBasket.basketId, !vargs.isDelayed);
55
+ logger === null || logger === void 0 ? void 0 : logger.log(`counted change inputs ${availableChangeCount}`);
56
+ const feeModel = (0, StorageProvider_1.validateStorageFeeModel)(storage.feeModel);
57
+ logger === null || logger === void 0 ? void 0 : logger.log(`validated fee model ${JSON.stringify(feeModel)}`);
58
+ const newTx = await createNewTxRecord(storage, userId, vargs, storageBeef);
59
+ logger === null || logger === void 0 ? void 0 : logger.log(`created new transaction record`);
60
+ const ctx = {
61
+ xinputs,
62
+ xoutputs,
63
+ changeBasket,
64
+ noSendChangeIn,
65
+ availableChangeCount,
66
+ feeModel,
67
+ transactionId: newTx.transactionId
68
+ };
69
+ const { allocatedChange, changeOutputs, derivationPrefix, maxPossibleSatoshisAdjustment } = await fundNewTransactionSdk(storage, userId, vargs, ctx);
70
+ logger === null || logger === void 0 ? void 0 : logger.log(`funded new transaction`);
71
+ if (maxPossibleSatoshisAdjustment) {
72
+ const a = maxPossibleSatoshisAdjustment;
73
+ if (ctx.xoutputs[a.fixedOutputIndex].satoshis !== generateChange_1.maxPossibleSatoshis)
74
+ throw new WERR_errors_1.WERR_INTERNAL();
75
+ ctx.xoutputs[a.fixedOutputIndex].satoshis = a.satoshis;
76
+ logger === null || logger === void 0 ? void 0 : logger.log(`adjusted change outputs to max possible`);
77
+ }
78
+ // The satoshis of the transaction is the satoshis we get back in change minus the satoshis we spend.
79
+ const satoshis = changeOutputs.reduce((a, e) => a + e.satoshis, 0) - allocatedChange.reduce((a, e) => a + e.satoshis, 0);
80
+ await storage.updateTransaction(newTx.transactionId, { satoshis });
81
+ const { outputs, changeVouts } = await createNewOutputs(storage, userId, vargs, ctx, changeOutputs);
82
+ logger === null || logger === void 0 ? void 0 : logger.log(`created new output records`);
83
+ const inputBeef = await mergeAllocatedChangeBeefs(storage, userId, vargs, allocatedChange, beef);
84
+ logger === null || logger === void 0 ? void 0 : logger.log(`merged allocated change beefs`);
85
+ const inputs = await createNewInputs(storage, userId, vargs, ctx, allocatedChange);
86
+ logger === null || logger === void 0 ? void 0 : logger.log(`created new inputs`);
87
+ const r = {
88
+ reference: newTx.reference,
89
+ version: newTx.version,
90
+ lockTime: newTx.lockTime,
91
+ inputs,
92
+ outputs,
93
+ derivationPrefix,
94
+ inputBeef,
95
+ noSendChangeOutputVouts: vargs.isNoSend ? changeVouts : undefined
96
+ };
97
+ logger === null || logger === void 0 ? void 0 : logger.groupEnd();
98
+ return r;
99
+ }
100
+ function makeDefaultOutput(userId, transactionId, satoshis, vout) {
101
+ const now = new Date();
102
+ const output = {
103
+ created_at: now,
104
+ updated_at: now,
105
+ outputId: 0,
106
+ userId,
107
+ transactionId,
108
+ satoshis: satoshis,
109
+ vout,
110
+ basketId: undefined,
111
+ change: false,
112
+ customInstructions: undefined,
113
+ derivationPrefix: undefined,
114
+ derivationSuffix: undefined,
115
+ outputDescription: '',
116
+ lockingScript: undefined,
117
+ providedBy: 'you',
118
+ purpose: '',
119
+ senderIdentityKey: undefined,
120
+ spendable: true,
121
+ spendingDescription: undefined,
122
+ spentBy: undefined,
123
+ txid: undefined,
124
+ type: ''
125
+ };
126
+ return output;
127
+ }
128
+ async function createNewInputs(storage, userId, vargs, ctx, allocatedChange) {
129
+ const r = [];
130
+ const newInputs = [];
131
+ for (const i of ctx.xinputs) {
132
+ const o = i.output;
133
+ newInputs.push({ i, o });
134
+ if (o) {
135
+ await storage.transaction(async (trx) => {
136
+ const o2 = (0, utilityHelpers_1.verifyOne)(await storage.findOutputs({ partial: { outputId: o.outputId }, trx }));
137
+ if (o2.spentBy !== undefined) {
138
+ const spendingTx = await storage.findTransactionById((0, utilityHelpers_1.verifyId)(o2.spentBy), trx);
139
+ if (spendingTx && spendingTx.txid) {
140
+ const beef = await storage.getBeefForTransaction(spendingTx.txid, {});
141
+ const rar = {
142
+ txid: '',
143
+ status: 'doubleSpend',
144
+ competingTxs: [spendingTx.txid],
145
+ competingBeef: beef.toBinary()
146
+ };
147
+ throw new WERR_errors_1.WERR_REVIEW_ACTIONS([rar], []);
148
+ }
149
+ }
150
+ if (o2.spendable != true) {
151
+ 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}).`);
152
+ }
153
+ await storage.updateOutput(o.outputId, {
154
+ spendable: false,
155
+ spentBy: ctx.transactionId,
156
+ spendingDescription: i.inputDescription
157
+ }, trx);
158
+ });
159
+ }
160
+ }
161
+ for (const o of allocatedChange) {
162
+ newInputs.push({ o, unlockLen: 107 });
163
+ }
164
+ let vin = -1;
165
+ for (const { i, o, unlockLen } of newInputs) {
166
+ vin++;
167
+ if (o) {
168
+ if (!i && !unlockLen)
169
+ throw new WERR_errors_1.WERR_INTERNAL(`vin ${vin} non-fixedInput without unlockLen`);
170
+ const sourceTransaction = vargs.includeAllSourceTransactions && vargs.isSignAction
171
+ ? await storage.getRawTxOfKnownValidTransaction(o.txid)
172
+ : undefined;
173
+ const ri = {
174
+ vin,
175
+ sourceTxid: o.txid,
176
+ sourceVout: o.vout,
177
+ sourceSatoshis: o.satoshis,
178
+ sourceLockingScript: (0, utilityHelpers_noBuffer_1.asString)(o.lockingScript),
179
+ sourceTransaction,
180
+ unlockingScriptLength: unlockLen ? unlockLen : i.unlockingScriptLength,
181
+ providedBy: i && o.providedBy === 'storage' ? 'you-and-storage' : o.providedBy,
182
+ type: o.type,
183
+ spendingDescription: o.spendingDescription || undefined,
184
+ derivationPrefix: o.derivationPrefix || undefined,
185
+ derivationSuffix: o.derivationSuffix || undefined,
186
+ senderIdentityKey: o.senderIdentityKey || undefined
187
+ };
188
+ r.push(ri);
189
+ }
190
+ else {
191
+ if (!i)
192
+ throw new WERR_errors_1.WERR_INTERNAL(`vin ${vin} without output or xinput`);
193
+ // user specified input with no corresponding output being spent.
194
+ const ri = {
195
+ vin,
196
+ sourceTxid: i.outpoint.txid,
197
+ sourceVout: i.outpoint.vout,
198
+ sourceSatoshis: i.satoshis,
199
+ sourceLockingScript: i.lockingScript.toHex(),
200
+ unlockingScriptLength: i.unlockingScriptLength,
201
+ providedBy: 'you',
202
+ type: 'custom',
203
+ spendingDescription: undefined,
204
+ derivationPrefix: undefined,
205
+ derivationSuffix: undefined,
206
+ senderIdentityKey: undefined
207
+ };
208
+ r.push(ri);
209
+ }
210
+ }
211
+ return r;
212
+ }
213
+ async function createNewOutputs(storage, userId, vargs, ctx, changeOutputs) {
214
+ var _a;
215
+ const outputs = [];
216
+ // Lookup output baskets
217
+ const txBaskets = {};
218
+ for (const xo of ctx.xoutputs) {
219
+ if (xo.basket !== undefined && !txBaskets[xo.basket])
220
+ txBaskets[xo.basket] = await storage.findOrInsertOutputBasket(userId, xo.basket);
221
+ }
222
+ // Lookup output tags
223
+ const txTags = {};
224
+ for (const xo of ctx.xoutputs) {
225
+ for (const tag of xo.tags) {
226
+ txTags[tag] = await storage.findOrInsertOutputTag(userId, tag);
227
+ }
228
+ }
229
+ const newOutputs = [];
230
+ for (const xo of ctx.xoutputs) {
231
+ const lockingScript = (0, utilityHelpers_noBuffer_1.asArray)(xo.lockingScript);
232
+ if (xo.purpose === 'service-charge') {
233
+ const now = new Date();
234
+ await storage.insertCommission({
235
+ userId,
236
+ transactionId: ctx.transactionId,
237
+ lockingScript,
238
+ satoshis: xo.satoshis,
239
+ isRedeemed: false,
240
+ keyOffset: (0, utilityHelpers_1.verifyTruthy)(xo.keyOffset),
241
+ created_at: now,
242
+ updated_at: now,
243
+ commissionId: 0
244
+ });
245
+ const o = makeDefaultOutput(userId, ctx.transactionId, xo.satoshis, xo.vout);
246
+ o.lockingScript = lockingScript;
247
+ o.providedBy = 'storage';
248
+ o.purpose = 'storage-commission';
249
+ o.type = 'custom';
250
+ o.spendable = false;
251
+ newOutputs.push({ o, tags: [] });
252
+ }
253
+ else {
254
+ // The user wants tracking if they put their output in a basket
255
+ const basketId = !xo.basket ? undefined : txBaskets[xo.basket].basketId;
256
+ const o = makeDefaultOutput(userId, ctx.transactionId, xo.satoshis, xo.vout);
257
+ o.lockingScript = lockingScript;
258
+ o.basketId = basketId;
259
+ o.customInstructions = xo.customInstructions;
260
+ o.outputDescription = xo.outputDescription;
261
+ o.providedBy = xo.providedBy;
262
+ o.purpose = xo.purpose || '';
263
+ o.type = 'custom';
264
+ newOutputs.push({ o, tags: xo.tags });
265
+ }
266
+ }
267
+ for (const o of changeOutputs) {
268
+ o.spendable = true;
269
+ newOutputs.push({ o, tags: [] });
270
+ }
271
+ if (vargs.options.randomizeOutputs) {
272
+ const randomVals = [];
273
+ const nextRandomVal = () => {
274
+ let val = 0;
275
+ if (!randomVals || randomVals.length === 0) {
276
+ val = Math.random();
277
+ }
278
+ else {
279
+ val = randomVals.shift() || 0;
280
+ randomVals.push(val);
281
+ }
282
+ return val;
283
+ };
284
+ /** In-place array shuffle */
285
+ const shuffleArray = (array) => {
286
+ let currentIndex = array.length;
287
+ let temporaryValue;
288
+ let randomIndex;
289
+ while (currentIndex !== 0) {
290
+ randomIndex = Math.floor(nextRandomVal() * currentIndex);
291
+ currentIndex -= 1;
292
+ temporaryValue = array[currentIndex];
293
+ array[currentIndex] = array[randomIndex];
294
+ array[randomIndex] = temporaryValue;
295
+ }
296
+ return array;
297
+ };
298
+ let vout = -1;
299
+ const newVouts = Array(newOutputs.length);
300
+ for (let i = 0; i < newVouts.length; i++)
301
+ newVouts[i] = i;
302
+ shuffleArray(newVouts);
303
+ for (const no of newOutputs) {
304
+ vout++;
305
+ if (no.o.vout !== vout)
306
+ throw new WERR_errors_1.WERR_INTERNAL(`new output ${vout} has out of order vout ${no.o.vout}`);
307
+ no.o.vout = newVouts[vout];
308
+ }
309
+ }
310
+ const changeVouts = [];
311
+ for (const { o, tags } of newOutputs) {
312
+ o.outputId = await storage.insertOutput(o);
313
+ if (o.change && o.purpose === 'change' && o.providedBy === 'storage')
314
+ changeVouts.push(o.vout);
315
+ // Add tags to the output
316
+ for (const tagName of tags) {
317
+ const tag = txTags[tagName];
318
+ await storage.findOrInsertOutputTagMap((0, utilityHelpers_1.verifyId)(o.outputId), (0, utilityHelpers_1.verifyId)(tag.outputTagId));
319
+ }
320
+ const ro = {
321
+ vout: (0, utilityHelpers_1.verifyInteger)(o.vout),
322
+ satoshis: sdk_1.Validation.validateSatoshis(o.satoshis, 'o.satoshis'),
323
+ lockingScript: !o.lockingScript ? '' : (0, utilityHelpers_noBuffer_1.asString)(o.lockingScript),
324
+ providedBy: (0, utilityHelpers_1.verifyTruthy)(o.providedBy),
325
+ purpose: o.purpose || undefined,
326
+ basket: (_a = Object.values(txBaskets).find(b => b.basketId === o.basketId)) === null || _a === void 0 ? void 0 : _a.name,
327
+ tags: tags,
328
+ outputDescription: o.outputDescription,
329
+ derivationSuffix: o.derivationSuffix,
330
+ customInstructions: o.customInstructions
331
+ };
332
+ outputs.push(ro);
333
+ }
334
+ return { outputs, changeVouts };
335
+ }
336
+ async function createNewTxRecord(storage, userId, vargs, storageBeef) {
337
+ const now = new Date();
338
+ const newTx = {
339
+ created_at: now,
340
+ updated_at: now,
341
+ transactionId: 0,
342
+ version: vargs.version,
343
+ lockTime: vargs.lockTime,
344
+ status: 'unsigned',
345
+ reference: (0, utilityHelpers_1.randomBytesBase64)(12),
346
+ satoshis: 0, // updated after fundingTransaction
347
+ userId,
348
+ isOutgoing: true,
349
+ inputBEEF: storageBeef.toBinary(),
350
+ description: vargs.description,
351
+ txid: undefined,
352
+ rawTx: undefined
353
+ };
354
+ newTx.transactionId = await storage.insertTransaction(newTx);
355
+ for (const label of vargs.labels) {
356
+ const txLabel = await storage.findOrInsertTxLabel(userId, label);
357
+ await storage.findOrInsertTxLabelMap((0, utilityHelpers_1.verifyId)(newTx.transactionId), (0, utilityHelpers_1.verifyId)(txLabel.txLabelId));
358
+ }
359
+ return newTx;
360
+ }
361
+ /**
362
+ * Convert vargs.outputs:
363
+ *
364
+ * lockingScript: HexString
365
+ * satoshis: SatoshiValue
366
+ * outputDescription: DescriptionString5to50Bytes
367
+ * basket?: BasketStringUnder300Bytes
368
+ * customInstructions?: string
369
+ * tags: BasketStringUnderBytes[]
370
+ *
371
+ * to XValidCreateActionOutput (which aims for StorageCreateTransactionSdkOutput)
372
+ *
373
+ * adds:
374
+ * vout: number
375
+ * providedBy: StorageProvidedBy
376
+ * purpose?: string
377
+ * derivationSuffix?: string
378
+ * keyOffset?: string
379
+ *
380
+ * @param vargs
381
+ * @returns xoutputs
382
+ */
383
+ function validateRequiredOutputs(storage, userId, vargs) {
384
+ const xoutputs = [];
385
+ let vout = -1;
386
+ for (const output of vargs.outputs) {
387
+ vout++;
388
+ const xo = {
389
+ ...output,
390
+ vout,
391
+ providedBy: 'you',
392
+ purpose: undefined,
393
+ derivationSuffix: undefined,
394
+ keyOffset: undefined
395
+ };
396
+ xoutputs.push(xo);
397
+ }
398
+ if (storage.commissionSatoshis > 0 && storage.commissionPubKeyHex) {
399
+ vout++;
400
+ const { script, keyOffset } = (0, offsetKey_1.createStorageServiceChargeScript)(storage.commissionPubKeyHex);
401
+ xoutputs.push({
402
+ lockingScript: script,
403
+ satoshis: storage.commissionSatoshis,
404
+ outputDescription: 'Storage Service Charge',
405
+ basket: undefined,
406
+ tags: [],
407
+ vout,
408
+ providedBy: 'storage',
409
+ purpose: 'service-charge',
410
+ keyOffset
411
+ });
412
+ }
413
+ return xoutputs;
414
+ }
415
+ /**
416
+ * Verify that we are in posession of validity proof data for any inputs being proposed for a new transaction.
417
+ *
418
+ * `vargs.inputs` is the source of inputs.
419
+ * `vargs.inputBEEF` may include new user supplied validity data.
420
+ * 'vargs.options.trustSelf === 'known'` indicates whether we can rely on the storage database records.
421
+ *
422
+ * If there are no inputs, returns an empty `Beef`.
423
+ *
424
+ * Always pulls rawTx data into first level of validity chains so that parsed transaction data is available
425
+ * and checks input sourceSatoshis as well as filling in input sourceLockingScript.
426
+ *
427
+ * This data may be pruned again before being returned to the user based on `vargs.options.knownTxids`.
428
+ *
429
+ * @param storage
430
+ * @param userId
431
+ * @param vargs
432
+ * @returns {storageBeef} containing only validity proof data for only unknown required inputs.
433
+ * @returns {beef} containing verified validity proof data for all required inputs.
434
+ * @returns {xinputs} extended validated required inputs.
435
+ */
436
+ async function validateRequiredInputs(storage, userId, vargs) {
437
+ //stampLog(vargs, `start storage verifyInputBeef`)
438
+ const beef = new sdk_1.Beef();
439
+ if (vargs.inputs.length === 0)
440
+ return { storageBeef: beef, beef, xinputs: [] };
441
+ if (vargs.inputBEEF)
442
+ beef.mergeBeef(vargs.inputBEEF);
443
+ const xinputs = vargs.inputs.map((input, vin) => ({
444
+ ...input,
445
+ vin,
446
+ satoshis: -1,
447
+ lockingScript: new sdk_1.Script(),
448
+ output: undefined
449
+ }));
450
+ const trustSelf = vargs.options.trustSelf === 'known';
451
+ const inputTxids = {};
452
+ for (const input of xinputs)
453
+ inputTxids[input.outpoint.txid] = true;
454
+ // Check beef from user that either there are no txidOnly entries,
455
+ // or that we can trust storage data and it does indeed vouch
456
+ // for any txidOnly entries
457
+ for (const btx of beef.txs) {
458
+ if (btx.isTxidOnly) {
459
+ if (!trustSelf)
460
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain complete proof data for ${btx.txid}`);
461
+ if (!inputTxids[btx.txid]) {
462
+ // inputTxids are checked next
463
+ const isKnown = await storage.verifyKnownValidTransaction(btx.txid);
464
+ if (!isKnown)
465
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain complete proof data for unknown ${btx.txid}`);
466
+ }
467
+ }
468
+ }
469
+ // Make sure that there's an entry for all inputs txid values:
470
+ for (const txid of Object.keys(inputTxids)) {
471
+ let btx = beef.findTxid(txid);
472
+ if (!btx && trustSelf) {
473
+ if (await storage.verifyKnownValidTransaction(txid))
474
+ btx = beef.mergeTxidOnly(txid);
475
+ }
476
+ if (!btx)
477
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain proof data for possibly known ${txid}`);
478
+ }
479
+ if (!(await beef.verify(await storage.getServices().getChainTracker(), true))) {
480
+ console.log(`verifyInputBeef failed, inputBEEF failed to verify.\n${beef.toLogString()}\n`);
481
+ //console.log(`verifyInputBeef failed, inputBEEF failed to verify.\n${stampLogFormat(vargs.log)}\n${beef.toLogString()}\n`)
482
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', 'valid Beef when factoring options.trustSelf');
483
+ }
484
+ // beef may now be trusted and has a BeefTx for every input txid.
485
+ const storageBeef = beef.clone();
486
+ for (const input of xinputs) {
487
+ const { txid, vout } = input.outpoint;
488
+ const output = (0, utilityHelpers_1.verifyOneOrNone)(await storage.findOutputs({ partial: { userId, txid, vout } }));
489
+ if (output) {
490
+ if (output.change) {
491
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${input.vin}]`, 'an unmanaged input. Change outputs are managed by your wallet.');
492
+ }
493
+ input.output = output;
494
+ if (!Array.isArray(output.lockingScript) || !Number.isInteger(output.satoshis))
495
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'output with valid lockingScript and satoshis');
496
+ if (!disableDoubleSpendCheckForTest && !output.spendable && !vargs.isNoSend)
497
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'spendable output unless noSend is true');
498
+ // input is spending an existing user output which has an lockingScript
499
+ input.satoshis = sdk_1.Validation.validateSatoshis(output.satoshis, 'output.satoshis');
500
+ input.lockingScript = sdk_1.Script.fromBinary((0, utilityHelpers_noBuffer_1.asArray)(output.lockingScript));
501
+ }
502
+ else {
503
+ let btx = beef.findTxid(txid);
504
+ if (btx.isTxidOnly) {
505
+ const { rawTx, proven } = await storage.getProvenOrRawTx(txid);
506
+ //stampLog(vargs, `... storage verifyInputBeef getProvenOrRawTx ${txid} ${proven ? 'proven' : rawTx ? 'rawTx' : 'unknown'}`)
507
+ if (!rawTx)
508
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('inputBEEF', `valid and contain proof data for ${txid}`);
509
+ btx = beef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
510
+ if (proven)
511
+ beef.mergeBump(new EntityProvenTx_1.EntityProvenTx(proven).getMerklePath());
512
+ }
513
+ // btx is valid has parsed transaction data.
514
+ if (vout >= btx.tx.outputs.length)
515
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`${txid}.${vout}`, 'valid outpoint');
516
+ const so = btx.tx.outputs[vout];
517
+ input.satoshis = sdk_1.Validation.validateSatoshis(so.satoshis, 'so.satoshis');
518
+ input.lockingScript = so.lockingScript;
519
+ }
520
+ }
521
+ return { beef, storageBeef, xinputs };
522
+ }
523
+ async function verifyBeefFixOrhpans(beef, storage) {
524
+ const r = beef.verifyValid();
525
+ if (!r.valid) {
526
+ // Beef is structurally invalid.
527
+ return false;
528
+ }
529
+ const heights = Object.keys(r.roots);
530
+ const services = storage.getServices();
531
+ const chainTracker = await services.getChainTracker();
532
+ let rootsAreValid = true;
533
+ for (const height of heights) {
534
+ const isValid = await chainTracker.isValidRootForHeight(r.roots[height], Number(height));
535
+ if (isValid)
536
+ continue;
537
+ // The original block may have been orphaned, check for a new proof.
538
+ const mp = beef.bumps.find(b => b.blockHeight === Number(height));
539
+ //const p = await services.getMerklePath()
540
+ }
541
+ return false;
542
+ }
543
+ async function validateNoSendChange(storage, userId, vargs, changeBasket) {
544
+ const r = [];
545
+ if (!vargs.isNoSend)
546
+ return [];
547
+ const noSendChange = vargs.options.noSendChange;
548
+ if (noSendChange && noSendChange.length > 0) {
549
+ for (const op of noSendChange) {
550
+ const output = (0, utilityHelpers_1.verifyOneOrNone)(await storage.findOutputs({
551
+ partial: { userId, txid: op.txid, vout: op.vout }
552
+ }));
553
+ // noSendChange is not marked spendable until sent, may not already be spent, and must have a valid greater than zero satoshis
554
+ if (!output ||
555
+ output.providedBy !== 'storage' ||
556
+ output.purpose !== 'change' ||
557
+ output.spendable === false ||
558
+ Number.isInteger(output.spentBy) ||
559
+ !(0, utilityHelpers_1.verifyNumber)(output.satoshis) ||
560
+ output.basketId !== changeBasket.basketId)
561
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('noSendChange outpoint', 'valid');
562
+ if (-1 < r.findIndex(o => o.outputId === output.outputId))
563
+ // noSendChange duplicate OutPoints are not allowed.
564
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('noSendChange outpoint', 'unique. Duplicates are not allowed.');
565
+ r.push(output);
566
+ }
567
+ }
568
+ return r;
569
+ }
570
+ async function fundNewTransactionSdk(storage, userId, vargs, ctx) {
571
+ const params = {
572
+ fixedInputs: ctx.xinputs.map(xi => ({
573
+ satoshis: xi.satoshis,
574
+ unlockingScriptLength: xi.unlockingScriptLength
575
+ })),
576
+ fixedOutputs: ctx.xoutputs.map(xo => ({
577
+ satoshis: xo.satoshis,
578
+ lockingScriptLength: xo.lockingScript.length / 2
579
+ })),
580
+ feeModel: ctx.feeModel,
581
+ changeInitialSatoshis: ctx.changeBasket.minimumDesiredUTXOValue,
582
+ changeFirstSatoshis: Math.max(1, Math.round(ctx.changeBasket.minimumDesiredUTXOValue / 4)),
583
+ changeLockingScriptLength: 25,
584
+ changeUnlockingScriptLength: 107,
585
+ targetNetCount: ctx.changeBasket.numberOfDesiredUTXOs - ctx.availableChangeCount,
586
+ randomVals: vargs.randomVals
587
+ };
588
+ const noSendChange = [...ctx.noSendChangeIn];
589
+ const outputs = {};
590
+ const allocateChangeInput = async (targetSatoshis, exactSatoshis) => {
591
+ // noSendChange gets allocated first...typically only one input...just allocate in order...
592
+ if (noSendChange.length > 0) {
593
+ const o = noSendChange.pop();
594
+ outputs[o.outputId] = o;
595
+ // allocate the output in storage, noSendChange is by definition spendable false and part of noSpend transaction batch.
596
+ await storage.updateOutput(o.outputId, {
597
+ spendable: false,
598
+ spentBy: ctx.transactionId
599
+ });
600
+ o.spendable = false;
601
+ o.spentBy = ctx.transactionId;
602
+ const r = {
603
+ outputId: o.outputId,
604
+ satoshis: o.satoshis
605
+ };
606
+ return r;
607
+ }
608
+ const basketId = ctx.changeBasket.basketId;
609
+ const o = await storage.allocateChangeInput(userId, basketId, targetSatoshis, exactSatoshis, !vargs.isDelayed, ctx.transactionId);
610
+ if (!o)
611
+ return undefined;
612
+ outputs[o.outputId] = o;
613
+ const r = {
614
+ outputId: o.outputId,
615
+ satoshis: o.satoshis
616
+ };
617
+ return r;
618
+ };
619
+ const releaseChangeInput = async (outputId) => {
620
+ const nsco = ctx.noSendChangeIn.find(o => o.outputId === outputId);
621
+ if (nsco) {
622
+ noSendChange.push(nsco);
623
+ return;
624
+ }
625
+ await storage.updateOutput(outputId, {
626
+ spendable: true,
627
+ spentBy: undefined
628
+ });
629
+ };
630
+ const gcr = await (0, generateChange_1.generateChangeSdk)(params, allocateChangeInput, releaseChangeInput, vargs.logger);
631
+ const nextRandomVal = () => {
632
+ let val = 0;
633
+ if (!vargs.randomVals || vargs.randomVals.length === 0) {
634
+ val = Math.random();
635
+ }
636
+ else {
637
+ val = vargs.randomVals.shift() || 0;
638
+ vargs.randomVals.push(val);
639
+ }
640
+ return val;
641
+ };
642
+ /**
643
+ * @returns a random integer betweenn min and max, inclussive.
644
+ */
645
+ const rand = (min, max) => {
646
+ if (max < min)
647
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('max', `less than min (${min}). max is (${max})`);
648
+ return Math.floor(nextRandomVal() * (max - min + 1) + min);
649
+ };
650
+ const randomDerivation = (count) => {
651
+ let val = [];
652
+ if (!vargs.randomVals || vargs.randomVals.length === 0) {
653
+ val = (0, sdk_1.Random)(count);
654
+ }
655
+ else {
656
+ for (let i = 0; i < count; i++)
657
+ val.push(rand(0, 255));
658
+ }
659
+ return sdk_1.Utils.toBase64(val);
660
+ };
661
+ // Generate a derivation prefix for the payment
662
+ const derivationPrefix = randomDerivation(16);
663
+ const r = {
664
+ maxPossibleSatoshisAdjustment: gcr.maxPossibleSatoshisAdjustment,
665
+ allocatedChange: gcr.allocatedChangeInputs.map(i => outputs[i.outputId]),
666
+ changeOutputs: gcr.changeOutputs.map((o, i) => ({
667
+ // what we knnow now and can insert into the database for this new transaction's change output
668
+ created_at: new Date(),
669
+ updated_at: new Date(),
670
+ outputId: 0,
671
+ userId,
672
+ transactionId: ctx.transactionId,
673
+ vout: params.fixedOutputs.length + i,
674
+ satoshis: o.satoshis,
675
+ basketId: ctx.changeBasket.basketId,
676
+ spendable: false,
677
+ change: true,
678
+ type: 'P2PKH',
679
+ derivationPrefix,
680
+ derivationSuffix: randomDerivation(16),
681
+ providedBy: 'storage',
682
+ purpose: 'change',
683
+ customInstructions: undefined,
684
+ senderIdentityKey: undefined,
685
+ outputDescription: '',
686
+ // what will be known when transaction is signed
687
+ txid: undefined,
688
+ lockingScript: undefined,
689
+ // when this output gets spent
690
+ spentBy: undefined,
691
+ spendingDescription: undefined
692
+ })),
693
+ derivationPrefix
694
+ };
695
+ return r;
696
+ }
697
+ /**
698
+ * Avoid returning any known raw transaction data by converting any known transaction
699
+ * in the `beef` to txidOnly.
700
+ * @returns undefined if `vargs.options.returnTXIDOnly` or trimmed `Beef`
701
+ */
702
+ function trimInputBeef(beef, vargs) {
703
+ if (vargs.options.returnTXIDOnly)
704
+ return undefined;
705
+ const knownTxids = {};
706
+ for (const txid of vargs.options.knownTxids)
707
+ knownTxids[txid] = true;
708
+ for (const txid of beef.txs.map(btx => btx.txid))
709
+ if (knownTxids[txid])
710
+ beef.makeTxidOnly(txid);
711
+ return beef.toBinary();
712
+ }
713
+ async function mergeAllocatedChangeBeefs(storage, userId, vargs, allocatedChange, beef) {
714
+ const options = {
715
+ trustSelf: undefined,
716
+ knownTxids: vargs.options.knownTxids,
717
+ mergeToBeef: beef,
718
+ ignoreStorage: false,
719
+ ignoreServices: true,
720
+ ignoreNewProven: false,
721
+ minProofLevel: undefined
722
+ };
723
+ if (vargs.options.returnTXIDOnly)
724
+ return undefined;
725
+ for (const o of allocatedChange) {
726
+ if (!beef.findTxid(o.txid) && !vargs.options.knownTxids.find(txid => txid === o.txid)) {
727
+ await storage.getBeefForTransaction(o.txid, options);
728
+ }
729
+ }
730
+ return trimInputBeef(beef, vargs);
731
+ }
732
+ //# sourceMappingURL=createAction.js.map