@bsv/wallet-toolbox 1.5.21 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1196) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/docs/README.md +3 -3
  3. package/docs/client.md +14599 -7519
  4. package/docs/monitor.md +41 -21
  5. package/docs/services.md +5516 -521
  6. package/docs/setup.md +31 -31
  7. package/docs/storage.md +531 -549
  8. package/docs/wallet.md +14598 -7518
  9. package/mobile/out/src/CWIStyleWalletManager.js +1 -1
  10. package/mobile/out/src/CWIStyleWalletManager.js.map +1 -1
  11. package/mobile/out/src/Setup.d.ts +267 -0
  12. package/mobile/out/src/Setup.d.ts.map +1 -0
  13. package/mobile/out/src/Setup.js +408 -0
  14. package/mobile/out/src/Setup.js.map +1 -0
  15. package/mobile/out/src/SetupClient.d.ts +9 -5
  16. package/mobile/out/src/SetupClient.d.ts.map +1 -1
  17. package/mobile/out/src/SetupClient.js +21 -15
  18. package/mobile/out/src/SetupClient.js.map +1 -1
  19. package/mobile/out/src/SetupWallet.d.ts +9 -6
  20. package/mobile/out/src/SetupWallet.d.ts.map +1 -1
  21. package/mobile/out/src/Wallet.d.ts +19 -15
  22. package/mobile/out/src/Wallet.d.ts.map +1 -1
  23. package/mobile/out/src/Wallet.js +59 -90
  24. package/mobile/out/src/Wallet.js.map +1 -1
  25. package/mobile/out/src/index.client.d.ts +11 -10
  26. package/mobile/out/src/index.client.d.ts.map +1 -1
  27. package/mobile/out/src/index.client.js +11 -10
  28. package/mobile/out/src/index.client.js.map +1 -1
  29. package/mobile/out/src/index.mobile.d.ts +11 -10
  30. package/mobile/out/src/index.mobile.d.ts.map +1 -1
  31. package/mobile/out/src/index.mobile.js +11 -10
  32. package/mobile/out/src/index.mobile.js.map +1 -1
  33. package/mobile/out/src/monitor/Monitor.d.ts +14 -12
  34. package/mobile/out/src/monitor/Monitor.d.ts.map +1 -1
  35. package/mobile/out/src/monitor/Monitor.js +11 -43
  36. package/mobile/out/src/monitor/Monitor.js.map +1 -1
  37. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js +3 -2
  38. package/mobile/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  39. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts +16 -1
  40. package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  41. package/mobile/out/src/monitor/tasks/TaskNewHeader.js +22 -1
  42. package/mobile/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  43. package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  44. package/mobile/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  45. package/mobile/out/src/monitor/tasks/TaskSendWaiting.js +5 -5
  46. package/mobile/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  47. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts +1 -1
  48. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  49. package/mobile/out/src/sdk/validationHelpers.d.ts +4 -5
  50. package/mobile/out/src/sdk/validationHelpers.d.ts.map +1 -1
  51. package/mobile/out/src/sdk/validationHelpers.js +47 -47
  52. package/mobile/out/src/sdk/validationHelpers.js.map +1 -1
  53. package/mobile/out/src/services/Services.d.ts +25 -24
  54. package/mobile/out/src/services/Services.d.ts.map +1 -1
  55. package/mobile/out/src/services/Services.js +44 -37
  56. package/mobile/out/src/services/Services.js.map +1 -1
  57. package/mobile/out/src/services/chaintracker/BHServiceClient.d.ts +11 -6
  58. package/mobile/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  59. package/mobile/out/src/services/chaintracker/BHServiceClient.js +14 -3
  60. package/mobile/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  61. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +2 -2
  62. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  63. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js +6 -4
  64. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  65. package/mobile/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +2 -45
  66. package/mobile/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  67. package/mobile/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  68. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +75 -0
  69. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
  70. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
  71. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
  72. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
  73. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
  74. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
  75. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
  76. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
  77. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
  78. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
  79. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
  80. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
  81. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
  82. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
  83. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
  84. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +8 -0
  85. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
  86. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
  87. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
  88. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
  89. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
  90. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
  91. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
  92. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +317 -0
  93. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
  94. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
  95. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
  96. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
  97. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
  98. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
  99. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
  100. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +100 -0
  101. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
  102. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js +515 -0
  103. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
  104. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +30 -0
  105. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -0
  106. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js +149 -0
  107. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -0
  108. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +11 -9
  109. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  110. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +26 -15
  111. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  112. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
  113. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
  114. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
  115. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
  116. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
  117. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
  118. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +115 -0
  119. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
  120. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
  121. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
  122. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
  123. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
  124. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
  125. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
  126. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +60 -0
  127. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
  128. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +23 -0
  129. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -0
  130. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +57 -0
  131. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -0
  132. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +61 -0
  133. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
  134. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +40 -0
  135. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
  136. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
  137. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
  138. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +55 -0
  139. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
  140. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +16 -0
  141. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -0
  142. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +53 -0
  143. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -0
  144. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
  145. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
  146. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +502 -0
  147. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
  148. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +89 -0
  149. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
  150. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +137 -0
  151. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
  152. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +22 -0
  153. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
  154. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +67 -0
  155. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
  156. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
  157. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
  158. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +253 -0
  159. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
  160. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +41 -0
  161. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
  162. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +325 -0
  163. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
  164. package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +4 -0
  165. package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
  166. package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +24 -0
  167. package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
  168. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts +31 -0
  169. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  170. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js +69 -0
  171. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  172. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +142 -0
  173. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
  174. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +814 -0
  175. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
  176. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
  177. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
  178. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
  179. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
  180. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
  181. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
  182. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
  183. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
  184. package/mobile/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +10 -0
  185. package/mobile/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
  186. package/mobile/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +47 -0
  187. package/mobile/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
  188. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +72 -0
  189. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
  190. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js +119 -0
  191. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
  192. package/mobile/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
  193. package/mobile/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
  194. package/mobile/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
  195. package/mobile/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
  196. package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +41 -22
  197. package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  198. package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +125 -72
  199. package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  200. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +5 -0
  201. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
  202. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +385 -0
  203. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
  204. package/mobile/out/src/services/chaintracker/index.client.d.ts +4 -0
  205. package/mobile/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  206. package/{out/src/services/chaintracker/index.js → mobile/out/src/services/chaintracker/index.client.js} +2 -2
  207. package/mobile/out/src/services/chaintracker/index.client.js.map +1 -0
  208. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +5 -4
  209. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  210. package/mobile/out/src/services/createDefaultWalletServicesOptions.js +7 -5
  211. package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  212. package/mobile/out/src/services/providers/ARC.d.ts +3 -3
  213. package/mobile/out/src/services/providers/ARC.d.ts.map +1 -1
  214. package/mobile/out/src/services/providers/ARC.js +4 -3
  215. package/mobile/out/src/services/providers/ARC.js.map +1 -1
  216. package/mobile/out/src/services/providers/Bitails.d.ts +7 -6
  217. package/mobile/out/src/services/providers/Bitails.d.ts.map +1 -1
  218. package/mobile/out/src/services/providers/Bitails.js +7 -5
  219. package/mobile/out/src/services/providers/Bitails.js.map +1 -1
  220. package/mobile/out/src/services/providers/WhatsOnChain.d.ts +76 -17
  221. package/mobile/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  222. package/mobile/out/src/services/providers/WhatsOnChain.js +241 -143
  223. package/mobile/out/src/services/providers/WhatsOnChain.js.map +1 -1
  224. package/mobile/out/src/services/providers/{echangeRates.d.ts → exchangeRates.d.ts} +4 -4
  225. package/mobile/out/src/services/providers/exchangeRates.d.ts.map +1 -0
  226. package/mobile/out/src/services/providers/{echangeRates.js → exchangeRates.js} +9 -9
  227. package/mobile/out/src/services/providers/exchangeRates.js.map +1 -0
  228. package/mobile/out/src/signer/WalletSigner.d.ts +3 -3
  229. package/mobile/out/src/signer/WalletSigner.d.ts.map +1 -1
  230. package/mobile/out/src/signer/WalletSigner.js.map +1 -1
  231. package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -2
  232. package/mobile/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  233. package/mobile/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  234. package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts +9 -3
  235. package/mobile/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  236. package/mobile/out/src/signer/methods/buildSignableTransaction.js +27 -11
  237. package/mobile/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  238. package/mobile/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  239. package/mobile/out/src/signer/methods/completeSignedTransaction.js +15 -13
  240. package/mobile/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  241. package/mobile/out/src/signer/methods/createAction.d.ts +5 -9
  242. package/mobile/out/src/signer/methods/createAction.d.ts.map +1 -1
  243. package/mobile/out/src/signer/methods/createAction.js +6 -22
  244. package/mobile/out/src/signer/methods/createAction.js.map +1 -1
  245. package/mobile/out/src/signer/methods/internalizeAction.d.ts +3 -2
  246. package/mobile/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  247. package/mobile/out/src/signer/methods/internalizeAction.js +9 -8
  248. package/mobile/out/src/signer/methods/internalizeAction.js.map +1 -1
  249. package/mobile/out/src/signer/methods/proveCertificate.d.ts +4 -2
  250. package/mobile/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  251. package/mobile/out/src/signer/methods/proveCertificate.js +2 -2
  252. package/mobile/out/src/signer/methods/proveCertificate.js.map +1 -1
  253. package/mobile/out/src/signer/methods/signAction.d.ts +3 -3
  254. package/mobile/out/src/signer/methods/signAction.d.ts.map +1 -1
  255. package/mobile/out/src/signer/methods/signAction.js +5 -5
  256. package/mobile/out/src/signer/methods/signAction.js.map +1 -1
  257. package/mobile/out/src/storage/StorageIdb.d.ts +106 -104
  258. package/mobile/out/src/storage/StorageIdb.d.ts.map +1 -1
  259. package/mobile/out/src/storage/StorageIdb.js +27 -60
  260. package/mobile/out/src/storage/StorageIdb.js.map +1 -1
  261. package/mobile/out/src/storage/StorageKnex.d.ts +179 -0
  262. package/mobile/out/src/storage/StorageKnex.d.ts.map +1 -0
  263. package/mobile/out/src/storage/StorageKnex.js +1215 -0
  264. package/mobile/out/src/storage/StorageKnex.js.map +1 -0
  265. package/mobile/out/src/storage/StorageProvider.d.ts +56 -47
  266. package/mobile/out/src/storage/StorageProvider.d.ts.map +1 -1
  267. package/mobile/out/src/storage/StorageProvider.js +45 -40
  268. package/mobile/out/src/storage/StorageProvider.js.map +1 -1
  269. package/mobile/out/src/storage/StorageReaderWriter.d.ts +78 -64
  270. package/mobile/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  271. package/mobile/out/src/storage/StorageReaderWriter.js +2 -2
  272. package/mobile/out/src/storage/StorageReaderWriter.js.map +1 -1
  273. package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -4
  274. package/mobile/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  275. package/mobile/out/src/storage/methods/ListActionsSpecOp.js +3 -3
  276. package/mobile/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  277. package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts +6 -5
  278. package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  279. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js +11 -9
  280. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  281. package/mobile/out/src/storage/methods/createAction.d.ts +6 -4
  282. package/mobile/out/src/storage/methods/createAction.d.ts.map +1 -1
  283. package/mobile/out/src/storage/methods/createAction.js +67 -43
  284. package/mobile/out/src/storage/methods/createAction.js.map +1 -1
  285. package/mobile/out/src/storage/methods/generateChange.d.ts +2 -2
  286. package/mobile/out/src/storage/methods/generateChange.d.ts.map +1 -1
  287. package/mobile/out/src/storage/methods/generateChange.js +27 -24
  288. package/mobile/out/src/storage/methods/generateChange.js.map +1 -1
  289. package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts +3 -2
  290. package/mobile/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  291. package/mobile/out/src/storage/methods/getBeefForTransaction.js +10 -8
  292. package/mobile/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  293. package/mobile/out/src/storage/methods/getSyncChunk.d.ts +2 -2
  294. package/mobile/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  295. package/mobile/out/src/storage/methods/getSyncChunk.js +6 -5
  296. package/mobile/out/src/storage/methods/getSyncChunk.js.map +1 -1
  297. package/mobile/out/src/storage/methods/internalizeAction.d.ts +3 -2
  298. package/mobile/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  299. package/mobile/out/src/storage/methods/internalizeAction.js +21 -19
  300. package/mobile/out/src/storage/methods/internalizeAction.js.map +1 -1
  301. package/mobile/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  302. package/mobile/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  303. package/mobile/out/src/storage/methods/listActionsIdb.js +5 -5
  304. package/mobile/out/src/storage/methods/listActionsIdb.js.map +1 -1
  305. package/mobile/out/src/storage/methods/listActionsKnex.d.ts +6 -0
  306. package/mobile/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
  307. package/mobile/out/src/storage/methods/listActionsKnex.js +198 -0
  308. package/mobile/out/src/storage/methods/listActionsKnex.js.map +1 -0
  309. package/mobile/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  310. package/mobile/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  311. package/mobile/out/src/storage/methods/listOutputsIdb.js +6 -5
  312. package/mobile/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  313. package/mobile/out/src/storage/methods/listOutputsKnex.d.ts +6 -0
  314. package/mobile/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
  315. package/mobile/out/src/storage/methods/listOutputsKnex.js +241 -0
  316. package/mobile/out/src/storage/methods/listOutputsKnex.js.map +1 -0
  317. package/mobile/out/src/storage/methods/processAction.d.ts +6 -3
  318. package/mobile/out/src/storage/methods/processAction.d.ts.map +1 -1
  319. package/mobile/out/src/storage/methods/processAction.js +45 -40
  320. package/mobile/out/src/storage/methods/processAction.js.map +1 -1
  321. package/mobile/out/src/storage/methods/purgeData.d.ts +4 -0
  322. package/mobile/out/src/storage/methods/purgeData.d.ts.map +1 -0
  323. package/mobile/out/src/storage/methods/purgeData.js +207 -0
  324. package/mobile/out/src/storage/methods/purgeData.js.map +1 -0
  325. package/mobile/out/src/storage/methods/purgeDataIdb.d.ts +2 -2
  326. package/mobile/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  327. package/mobile/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  328. package/mobile/out/src/storage/methods/reviewStatus.d.ts +20 -0
  329. package/mobile/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
  330. package/mobile/out/src/storage/methods/reviewStatus.js +84 -0
  331. package/mobile/out/src/storage/methods/reviewStatus.js.map +1 -0
  332. package/mobile/out/src/storage/methods/utils.js +2 -2
  333. package/mobile/out/src/storage/methods/utils.js.map +1 -1
  334. package/mobile/out/src/storage/remoting/StorageClient.d.ts +35 -25
  335. package/mobile/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  336. package/mobile/out/src/storage/remoting/StorageClient.js +3 -3
  337. package/mobile/out/src/storage/remoting/StorageClient.js.map +1 -1
  338. package/mobile/out/src/storage/remoting/StorageMobile.d.ts +35 -25
  339. package/mobile/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  340. package/mobile/out/src/storage/remoting/StorageMobile.js +3 -3
  341. package/mobile/out/src/storage/remoting/StorageMobile.js.map +1 -1
  342. package/mobile/out/src/storage/schema/KnexMigrations.d.ts +39 -0
  343. package/mobile/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
  344. package/mobile/out/src/storage/schema/KnexMigrations.js +410 -0
  345. package/mobile/out/src/storage/schema/KnexMigrations.js.map +1 -0
  346. package/mobile/out/src/storage/schema/entities/EntityBase.d.ts +4 -3
  347. package/mobile/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  348. package/mobile/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  349. package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts +6 -5
  350. package/mobile/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  351. package/mobile/out/src/storage/schema/entities/EntityCertificate.js +5 -5
  352. package/mobile/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  353. package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts +6 -5
  354. package/mobile/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  355. package/mobile/out/src/storage/schema/entities/EntityCertificateField.js +6 -5
  356. package/mobile/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  357. package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts +6 -5
  358. package/mobile/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  359. package/mobile/out/src/storage/schema/entities/EntityCommission.js +6 -6
  360. package/mobile/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  361. package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts +8 -7
  362. package/mobile/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  363. package/mobile/out/src/storage/schema/entities/EntityOutput.js +6 -6
  364. package/mobile/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  365. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts +6 -5
  366. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  367. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  368. package/mobile/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  369. package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts +6 -5
  370. package/mobile/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  371. package/mobile/out/src/storage/schema/entities/EntityOutputTag.js +5 -5
  372. package/mobile/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  373. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +6 -5
  374. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  375. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js +8 -7
  376. package/mobile/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  377. package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts +10 -7
  378. package/mobile/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  379. package/mobile/out/src/storage/schema/entities/EntityProvenTx.js +14 -12
  380. package/mobile/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  381. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +22 -18
  382. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  383. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js +17 -15
  384. package/mobile/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  385. package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts +13 -11
  386. package/mobile/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  387. package/mobile/out/src/storage/schema/entities/EntitySyncState.js +39 -24
  388. package/mobile/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  389. package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts +13 -9
  390. package/mobile/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  391. package/mobile/out/src/storage/schema/entities/EntityTransaction.js +13 -13
  392. package/mobile/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  393. package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts +6 -5
  394. package/mobile/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  395. package/mobile/out/src/storage/schema/entities/EntityTxLabel.js +5 -5
  396. package/mobile/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  397. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +6 -5
  398. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  399. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js +8 -7
  400. package/mobile/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  401. package/mobile/out/src/storage/schema/entities/EntityUser.d.ts +6 -5
  402. package/mobile/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  403. package/mobile/out/src/storage/schema/entities/EntityUser.js +8 -7
  404. package/mobile/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  405. package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts +6 -5
  406. package/mobile/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  407. package/mobile/out/src/storage/schema/entities/MergeEntity.js +6 -5
  408. package/mobile/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  409. package/mobile/out/src/utility/ReaderUint8Array.d.ts +28 -0
  410. package/mobile/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
  411. package/mobile/out/src/utility/ReaderUint8Array.js +166 -0
  412. package/mobile/out/src/utility/ReaderUint8Array.js.map +1 -0
  413. package/mobile/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  414. package/mobile/out/src/utility/ScriptTemplateBRC29.js +4 -4
  415. package/mobile/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  416. package/mobile/out/src/utility/utilityHelpers.d.ts +13 -4
  417. package/mobile/out/src/utility/utilityHelpers.d.ts.map +1 -1
  418. package/mobile/out/src/utility/utilityHelpers.js +37 -9
  419. package/mobile/out/src/utility/utilityHelpers.js.map +1 -1
  420. package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts +22 -5
  421. package/mobile/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  422. package/mobile/out/src/utility/utilityHelpers.noBuffer.js +50 -9
  423. package/mobile/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  424. package/mobile/out/test/utils/TestUtilsWalletStorage.d.ts +522 -0
  425. package/mobile/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
  426. package/mobile/out/test/utils/TestUtilsWalletStorage.js +1956 -0
  427. package/mobile/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
  428. package/mobile/out/tsconfig.mobile.tsbuildinfo +1 -1
  429. package/mobile/package-lock.json +6 -6
  430. package/mobile/package.json +2 -2
  431. package/out/src/CWIStyleWalletManager.js +1 -1
  432. package/out/src/CWIStyleWalletManager.js.map +1 -1
  433. package/out/src/Setup.d.ts +17 -11
  434. package/out/src/Setup.d.ts.map +1 -1
  435. package/out/src/Setup.js +31 -20
  436. package/out/src/Setup.js.map +1 -1
  437. package/out/src/SetupClient.d.ts +9 -5
  438. package/out/src/SetupClient.d.ts.map +1 -1
  439. package/out/src/SetupClient.js +21 -15
  440. package/out/src/SetupClient.js.map +1 -1
  441. package/out/src/SetupWallet.d.ts +9 -6
  442. package/out/src/SetupWallet.d.ts.map +1 -1
  443. package/out/src/Wallet.d.ts +19 -15
  444. package/out/src/Wallet.d.ts.map +1 -1
  445. package/out/src/Wallet.js +59 -90
  446. package/out/src/Wallet.js.map +1 -1
  447. package/out/src/index.all.d.ts +12 -11
  448. package/out/src/index.all.d.ts.map +1 -1
  449. package/out/src/index.all.js +12 -11
  450. package/out/src/index.all.js.map +1 -1
  451. package/out/src/index.client.d.ts +11 -10
  452. package/out/src/index.client.d.ts.map +1 -1
  453. package/out/src/index.client.js +11 -10
  454. package/out/src/index.client.js.map +1 -1
  455. package/out/src/index.mobile.d.ts +11 -10
  456. package/out/src/index.mobile.d.ts.map +1 -1
  457. package/out/src/index.mobile.js +11 -10
  458. package/out/src/index.mobile.js.map +1 -1
  459. package/out/src/monitor/Monitor.d.ts +14 -12
  460. package/out/src/monitor/Monitor.d.ts.map +1 -1
  461. package/out/src/monitor/Monitor.js +11 -43
  462. package/out/src/monitor/Monitor.js.map +1 -1
  463. package/out/src/monitor/MonitorDaemon.d.ts +9 -3
  464. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  465. package/out/src/monitor/MonitorDaemon.js +19 -13
  466. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  467. package/out/src/monitor/tasks/TaskCheckForProofs.js +3 -2
  468. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  469. package/out/src/monitor/tasks/TaskNewHeader.d.ts +16 -1
  470. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  471. package/out/src/monitor/tasks/TaskNewHeader.js +22 -1
  472. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  473. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  474. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  475. package/out/src/monitor/tasks/TaskSendWaiting.js +5 -5
  476. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  477. package/out/src/sdk/WalletServices.interfaces.d.ts +1 -1
  478. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  479. package/out/src/sdk/validationHelpers.d.ts +4 -5
  480. package/out/src/sdk/validationHelpers.d.ts.map +1 -1
  481. package/out/src/sdk/validationHelpers.js +47 -47
  482. package/out/src/sdk/validationHelpers.js.map +1 -1
  483. package/out/src/services/Services.d.ts +25 -24
  484. package/out/src/services/Services.d.ts.map +1 -1
  485. package/out/src/services/Services.js +44 -37
  486. package/out/src/services/Services.js.map +1 -1
  487. package/out/src/services/__tests/postBeef.test.js +1 -1
  488. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  489. package/out/src/services/chaintracker/BHServiceClient.d.ts +11 -6
  490. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  491. package/out/src/services/chaintracker/BHServiceClient.js +14 -3
  492. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  493. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +2 -2
  494. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  495. package/out/src/services/chaintracker/ChaintracksChainTracker.js +6 -4
  496. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  497. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +5 -2
  498. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -1
  499. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +20 -22
  500. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -1
  501. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +2 -45
  502. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  503. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  504. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +75 -0
  505. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
  506. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
  507. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
  508. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
  509. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
  510. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
  511. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
  512. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
  513. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
  514. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
  515. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
  516. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
  517. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
  518. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
  519. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
  520. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +8 -0
  521. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
  522. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
  523. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
  524. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
  525. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
  526. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
  527. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
  528. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +317 -0
  529. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
  530. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
  531. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
  532. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
  533. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
  534. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
  535. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
  536. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +100 -0
  537. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
  538. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +515 -0
  539. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
  540. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +30 -0
  541. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -0
  542. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +149 -0
  543. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -0
  544. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +11 -9
  545. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  546. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +26 -15
  547. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  548. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
  549. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
  550. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
  551. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
  552. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
  553. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
  554. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +115 -0
  555. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
  556. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
  557. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
  558. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
  559. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
  560. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
  561. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
  562. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +60 -0
  563. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
  564. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +23 -0
  565. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -0
  566. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +57 -0
  567. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -0
  568. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +61 -0
  569. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
  570. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +40 -0
  571. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
  572. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts +20 -0
  573. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -0
  574. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +44 -0
  575. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -0
  576. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
  577. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
  578. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +55 -0
  579. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
  580. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +16 -0
  581. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -0
  582. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +53 -0
  583. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -0
  584. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
  585. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
  586. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +502 -0
  587. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
  588. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +89 -0
  589. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
  590. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +137 -0
  591. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
  592. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts +2 -0
  593. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts.map +1 -0
  594. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +50 -0
  595. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -0
  596. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts +2 -0
  597. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts.map +1 -0
  598. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +34 -0
  599. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +1 -0
  600. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.d.ts +2 -0
  601. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.d.ts.map +1 -0
  602. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js +102 -0
  603. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js.map +1 -0
  604. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +22 -0
  605. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
  606. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +67 -0
  607. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
  608. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +24 -0
  609. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -0
  610. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +81 -0
  611. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -0
  612. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
  613. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
  614. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +253 -0
  615. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
  616. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +88 -0
  617. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -0
  618. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +452 -0
  619. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -0
  620. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts +5 -0
  621. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts.map +1 -0
  622. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js +24 -0
  623. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js.map +1 -0
  624. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +41 -0
  625. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
  626. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +325 -0
  627. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
  628. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts +2 -0
  629. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts.map +1 -0
  630. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js +39 -0
  631. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js.map +1 -0
  632. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts +2 -0
  633. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts.map +1 -0
  634. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +40 -0
  635. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -0
  636. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts +2 -0
  637. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts.map +1 -0
  638. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +160 -0
  639. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -0
  640. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +12 -0
  641. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +1 -0
  642. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +69 -0
  643. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +1 -0
  644. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts +11 -0
  645. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -0
  646. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +41 -0
  647. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -0
  648. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +4 -0
  649. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
  650. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +24 -0
  651. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
  652. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +6 -0
  653. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -0
  654. package/{mobile/out/src/services/index.js → out/src/services/chaintracker/chaintracks/index.all.js} +6 -2
  655. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -0
  656. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +31 -0
  657. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  658. package/out/src/services/chaintracker/chaintracks/index.client.js +69 -0
  659. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  660. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +142 -0
  661. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
  662. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +814 -0
  663. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
  664. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts +22 -0
  665. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -0
  666. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +60 -0
  667. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -0
  668. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
  669. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
  670. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
  671. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
  672. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
  673. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
  674. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
  675. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
  676. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +10 -0
  677. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
  678. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +47 -0
  679. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
  680. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +43 -0
  681. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -0
  682. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +116 -0
  683. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -0
  684. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +72 -0
  685. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
  686. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +119 -0
  687. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
  688. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
  689. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
  690. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
  691. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
  692. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts +2 -0
  693. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts.map +1 -0
  694. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +255 -0
  695. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +1 -0
  696. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts +2 -0
  697. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts.map +1 -0
  698. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +56 -0
  699. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +1 -0
  700. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts +2 -0
  701. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts.map +1 -0
  702. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js +69 -0
  703. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js.map +1 -0
  704. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts +2 -0
  705. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts.map +1 -0
  706. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +51 -0
  707. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +1 -0
  708. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +41 -22
  709. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  710. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +125 -72
  711. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  712. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +5 -0
  713. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
  714. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +385 -0
  715. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
  716. package/out/src/services/chaintracker/index.all.d.ts +4 -0
  717. package/out/src/services/chaintracker/index.all.d.ts.map +1 -0
  718. package/{mobile/out/src/services/chaintracker/index.js → out/src/services/chaintracker/index.all.js} +2 -2
  719. package/out/src/services/chaintracker/index.all.js.map +1 -0
  720. package/out/src/services/chaintracker/index.client.d.ts +4 -0
  721. package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  722. package/{mobile/out/src/services/chaintracker/chaintracks/index.js → out/src/services/chaintracker/index.client.js} +4 -3
  723. package/out/src/services/chaintracker/index.client.js.map +1 -0
  724. package/out/src/services/createDefaultWalletServicesOptions.d.ts +5 -4
  725. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  726. package/out/src/services/createDefaultWalletServicesOptions.js +7 -5
  727. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  728. package/out/src/services/providers/ARC.d.ts +3 -3
  729. package/out/src/services/providers/ARC.d.ts.map +1 -1
  730. package/out/src/services/providers/ARC.js +4 -3
  731. package/out/src/services/providers/ARC.js.map +1 -1
  732. package/out/src/services/providers/Bitails.d.ts +7 -6
  733. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  734. package/out/src/services/providers/Bitails.js +7 -5
  735. package/out/src/services/providers/Bitails.js.map +1 -1
  736. package/out/src/services/providers/WhatsOnChain.d.ts +76 -17
  737. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  738. package/out/src/services/providers/WhatsOnChain.js +241 -143
  739. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  740. package/out/src/services/providers/__tests/WhatsOnChain.test.js +17 -15
  741. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
  742. package/out/src/services/providers/{echangeRates.d.ts → exchangeRates.d.ts} +4 -4
  743. package/out/src/services/providers/exchangeRates.d.ts.map +1 -0
  744. package/out/src/services/providers/{echangeRates.js → exchangeRates.js} +9 -9
  745. package/out/src/services/providers/exchangeRates.js.map +1 -0
  746. package/out/src/signer/WalletSigner.d.ts +3 -3
  747. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  748. package/out/src/signer/WalletSigner.js.map +1 -1
  749. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -2
  750. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  751. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  752. package/out/src/signer/methods/buildSignableTransaction.d.ts +9 -3
  753. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  754. package/out/src/signer/methods/buildSignableTransaction.js +27 -11
  755. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  756. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  757. package/out/src/signer/methods/completeSignedTransaction.js +15 -13
  758. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  759. package/out/src/signer/methods/createAction.d.ts +5 -9
  760. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  761. package/out/src/signer/methods/createAction.js +6 -22
  762. package/out/src/signer/methods/createAction.js.map +1 -1
  763. package/out/src/signer/methods/internalizeAction.d.ts +3 -2
  764. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  765. package/out/src/signer/methods/internalizeAction.js +9 -8
  766. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  767. package/out/src/signer/methods/proveCertificate.d.ts +4 -2
  768. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  769. package/out/src/signer/methods/proveCertificate.js +2 -2
  770. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  771. package/out/src/signer/methods/signAction.d.ts +3 -3
  772. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  773. package/out/src/signer/methods/signAction.js +5 -5
  774. package/out/src/signer/methods/signAction.js.map +1 -1
  775. package/out/src/storage/StorageIdb.d.ts +106 -104
  776. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  777. package/out/src/storage/StorageIdb.js +27 -60
  778. package/out/src/storage/StorageIdb.js.map +1 -1
  779. package/out/src/storage/StorageKnex.d.ts +108 -106
  780. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  781. package/out/src/storage/StorageKnex.js +28 -27
  782. package/out/src/storage/StorageKnex.js.map +1 -1
  783. package/out/src/storage/StorageProvider.d.ts +56 -47
  784. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  785. package/out/src/storage/StorageProvider.js +45 -40
  786. package/out/src/storage/StorageProvider.js.map +1 -1
  787. package/out/src/storage/StorageReaderWriter.d.ts +78 -64
  788. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  789. package/out/src/storage/StorageReaderWriter.js +2 -2
  790. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  791. package/out/src/storage/__test/StorageIdb.test.js +1 -1
  792. package/out/src/storage/__test/StorageIdb.test.js.map +1 -1
  793. package/out/src/storage/__test/adminStats.man.test.js +2 -0
  794. package/out/src/storage/__test/adminStats.man.test.js.map +1 -1
  795. package/out/src/storage/__test/getBeefForTransaction.test.js +8 -6
  796. package/out/src/storage/__test/getBeefForTransaction.test.js.map +1 -1
  797. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -4
  798. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  799. package/out/src/storage/methods/ListActionsSpecOp.js +3 -3
  800. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  801. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +6 -5
  802. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  803. package/out/src/storage/methods/ListOutputsSpecOp.js +11 -9
  804. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  805. package/out/src/storage/methods/createAction.d.ts +6 -4
  806. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  807. package/out/src/storage/methods/createAction.js +67 -43
  808. package/out/src/storage/methods/createAction.js.map +1 -1
  809. package/out/src/storage/methods/generateChange.d.ts +2 -2
  810. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  811. package/out/src/storage/methods/generateChange.js +27 -24
  812. package/out/src/storage/methods/generateChange.js.map +1 -1
  813. package/out/src/storage/methods/getBeefForTransaction.d.ts +3 -2
  814. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  815. package/out/src/storage/methods/getBeefForTransaction.js +10 -8
  816. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  817. package/out/src/storage/methods/getSyncChunk.d.ts +2 -2
  818. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  819. package/out/src/storage/methods/getSyncChunk.js +6 -5
  820. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  821. package/out/src/storage/methods/internalizeAction.d.ts +3 -2
  822. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  823. package/out/src/storage/methods/internalizeAction.js +21 -19
  824. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  825. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  826. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  827. package/out/src/storage/methods/listActionsIdb.js +5 -5
  828. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  829. package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
  830. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
  831. package/out/src/storage/methods/listActionsKnex.js +7 -6
  832. package/out/src/storage/methods/listActionsKnex.js.map +1 -1
  833. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  834. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  835. package/out/src/storage/methods/listOutputsIdb.js +6 -5
  836. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  837. package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
  838. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
  839. package/out/src/storage/methods/listOutputsKnex.js +5 -4
  840. package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
  841. package/out/src/storage/methods/processAction.d.ts +6 -3
  842. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  843. package/out/src/storage/methods/processAction.js +45 -40
  844. package/out/src/storage/methods/processAction.js.map +1 -1
  845. package/out/src/storage/methods/purgeData.d.ts +2 -2
  846. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  847. package/out/src/storage/methods/purgeData.js +2 -2
  848. package/out/src/storage/methods/purgeData.js.map +1 -1
  849. package/out/src/storage/methods/purgeDataIdb.d.ts +2 -2
  850. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  851. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  852. package/out/src/storage/methods/reviewStatus.d.ts +2 -2
  853. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  854. package/out/src/storage/methods/reviewStatus.js +2 -2
  855. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  856. package/out/src/storage/methods/utils.js +2 -2
  857. package/out/src/storage/methods/utils.js.map +1 -1
  858. package/out/src/storage/remoting/StorageClient.d.ts +35 -25
  859. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  860. package/out/src/storage/remoting/StorageClient.js +3 -3
  861. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  862. package/out/src/storage/remoting/StorageMobile.d.ts +35 -25
  863. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  864. package/out/src/storage/remoting/StorageMobile.js +3 -3
  865. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  866. package/out/src/storage/remoting/StorageServer.d.ts +5 -3
  867. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  868. package/out/src/storage/remoting/StorageServer.js +6 -6
  869. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  870. package/out/src/storage/schema/KnexMigrations.d.ts +8 -8
  871. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  872. package/out/src/storage/schema/KnexMigrations.js +38 -35
  873. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  874. package/out/src/storage/schema/entities/EntityBase.d.ts +4 -3
  875. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  876. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  877. package/out/src/storage/schema/entities/EntityCertificate.d.ts +6 -5
  878. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  879. package/out/src/storage/schema/entities/EntityCertificate.js +5 -5
  880. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  881. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +6 -5
  882. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  883. package/out/src/storage/schema/entities/EntityCertificateField.js +6 -5
  884. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  885. package/out/src/storage/schema/entities/EntityCommission.d.ts +6 -5
  886. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  887. package/out/src/storage/schema/entities/EntityCommission.js +6 -6
  888. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  889. package/out/src/storage/schema/entities/EntityOutput.d.ts +8 -7
  890. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  891. package/out/src/storage/schema/entities/EntityOutput.js +6 -6
  892. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  893. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +6 -5
  894. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  895. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  896. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  897. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +6 -5
  898. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  899. package/out/src/storage/schema/entities/EntityOutputTag.js +5 -5
  900. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  901. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +6 -5
  902. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  903. package/out/src/storage/schema/entities/EntityOutputTagMap.js +8 -7
  904. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  905. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +10 -7
  906. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  907. package/out/src/storage/schema/entities/EntityProvenTx.js +14 -12
  908. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  909. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +22 -18
  910. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  911. package/out/src/storage/schema/entities/EntityProvenTxReq.js +17 -15
  912. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  913. package/out/src/storage/schema/entities/EntitySyncState.d.ts +13 -11
  914. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  915. package/out/src/storage/schema/entities/EntitySyncState.js +39 -24
  916. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  917. package/out/src/storage/schema/entities/EntityTransaction.d.ts +13 -9
  918. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  919. package/out/src/storage/schema/entities/EntityTransaction.js +13 -13
  920. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  921. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +6 -5
  922. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  923. package/out/src/storage/schema/entities/EntityTxLabel.js +5 -5
  924. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  925. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +6 -5
  926. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  927. package/out/src/storage/schema/entities/EntityTxLabelMap.js +8 -7
  928. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  929. package/out/src/storage/schema/entities/EntityUser.d.ts +6 -5
  930. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  931. package/out/src/storage/schema/entities/EntityUser.js +8 -7
  932. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  933. package/out/src/storage/schema/entities/MergeEntity.d.ts +6 -5
  934. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  935. package/out/src/storage/schema/entities/MergeEntity.js +6 -5
  936. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  937. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +65 -48
  938. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  939. package/out/src/storage/sync/StorageMySQLDojoReader.js +125 -121
  940. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  941. package/out/src/utility/Format.js +2 -2
  942. package/out/src/utility/ReaderUint8Array.d.ts +28 -0
  943. package/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
  944. package/out/src/utility/ReaderUint8Array.js +166 -0
  945. package/out/src/utility/ReaderUint8Array.js.map +1 -0
  946. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  947. package/out/src/utility/ScriptTemplateBRC29.js +4 -4
  948. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  949. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts +2 -0
  950. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts.map +1 -0
  951. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js +107 -0
  952. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js.map +1 -0
  953. package/out/src/utility/utilityHelpers.d.ts +13 -4
  954. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  955. package/out/src/utility/utilityHelpers.js +37 -9
  956. package/out/src/utility/utilityHelpers.js.map +1 -1
  957. package/out/src/utility/utilityHelpers.noBuffer.d.ts +22 -5
  958. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  959. package/out/src/utility/utilityHelpers.noBuffer.js +50 -9
  960. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  961. package/out/test/Wallet/get/getHeaderForHeight.test.js +6 -3
  962. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -1
  963. package/out/test/Wallet/get/getHeight.test.js +6 -3
  964. package/out/test/Wallet/get/getHeight.test.js.map +1 -1
  965. package/out/test/Wallet/local/localWallet2.man.test.js +2 -3
  966. package/out/test/Wallet/local/localWallet2.man.test.js.map +1 -1
  967. package/out/test/Wallet/support/operations.man.test.js +27 -1
  968. package/out/test/Wallet/support/operations.man.test.js.map +1 -1
  969. package/out/test/bsv-ts-sdk/LocalKVStore.test.js +7 -0
  970. package/out/test/bsv-ts-sdk/LocalKVStore.test.js.map +1 -1
  971. package/out/test/services/Services.test.js +8 -5
  972. package/out/test/services/Services.test.js.map +1 -1
  973. package/out/test/utils/TestUtilsWalletStorage.d.ts +55 -32
  974. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  975. package/out/test/utils/TestUtilsWalletStorage.js +99 -85
  976. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  977. package/out/test/wallet/action/createAction.test.js +3 -0
  978. package/out/test/wallet/action/createAction.test.js.map +1 -1
  979. package/out/test/wallet/action/createAction2.test.d.ts.map +1 -1
  980. package/out/test/wallet/action/createAction2.test.js +3 -0
  981. package/out/test/wallet/action/createAction2.test.js.map +1 -1
  982. package/out/test/wallet/action/internalizeAction.test.js +8 -3
  983. package/out/test/wallet/action/internalizeAction.test.js.map +1 -1
  984. package/out/test/wallet/list/listActions.test.d.ts.map +1 -1
  985. package/out/test/wallet/list/listActions.test.js.map +1 -1
  986. package/out/test/wallet/list/listOutputs.test.js +31 -1
  987. package/out/test/wallet/list/listOutputs.test.js.map +1 -1
  988. package/out/tsconfig.all.tsbuildinfo +1 -1
  989. package/package.json +8 -5
  990. package/src/CWIStyleWalletManager.ts +1 -1
  991. package/src/Setup.ts +29 -25
  992. package/src/SetupClient.ts +14 -6
  993. package/src/SetupWallet.ts +9 -6
  994. package/src/Wallet.ts +103 -76
  995. package/src/index.all.ts +16 -11
  996. package/src/index.client.ts +14 -10
  997. package/src/index.mobile.ts +13 -10
  998. package/src/monitor/Monitor.ts +23 -23
  999. package/src/monitor/MonitorDaemon.ts +17 -21
  1000. package/src/monitor/tasks/TaskCheckForProofs.ts +3 -3
  1001. package/src/monitor/tasks/TaskNewHeader.ts +24 -2
  1002. package/src/monitor/tasks/TaskSendWaiting.ts +5 -4
  1003. package/src/sdk/WalletServices.interfaces.ts +1 -1
  1004. package/src/sdk/validationHelpers.ts +51 -54
  1005. package/src/services/Services.ts +94 -68
  1006. package/src/services/__tests/postBeef.test.ts +1 -1
  1007. package/src/services/chaintracker/BHServiceClient.ts +22 -9
  1008. package/src/services/chaintracker/ChaintracksChainTracker.ts +9 -6
  1009. package/src/services/chaintracker/__tests/ChaintracksChainTracker.test.ts +4 -1
  1010. package/src/services/chaintracker/__tests/ChaintracksServiceClient.test.ts +22 -25
  1011. package/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.ts +2 -45
  1012. package/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.ts +89 -0
  1013. package/src/services/chaintracker/chaintracks/Api/BulkStorageApi.ts +92 -0
  1014. package/src/services/chaintracker/chaintracks/Api/ChaintracksApi.ts +64 -0
  1015. package/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.ts +184 -0
  1016. package/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.ts +8 -0
  1017. package/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.ts +58 -0
  1018. package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +357 -0
  1019. package/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts +25 -0
  1020. package/src/services/chaintracker/chaintracks/Chaintracks.ts +574 -0
  1021. package/src/services/chaintracker/chaintracks/ChaintracksService.ts +189 -0
  1022. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +35 -23
  1023. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts +177 -0
  1024. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +175 -0
  1025. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.ts +18 -0
  1026. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +114 -0
  1027. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts +80 -0
  1028. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.ts +84 -0
  1029. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.ts +59 -0
  1030. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts +104 -0
  1031. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts +59 -0
  1032. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.ts +564 -0
  1033. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.ts +219 -0
  1034. package/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.ts +54 -0
  1035. package/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.ts +33 -0
  1036. package/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.ts +124 -0
  1037. package/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.ts +91 -0
  1038. package/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.ts +103 -0
  1039. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts +333 -0
  1040. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +545 -0
  1041. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.ts +29 -0
  1042. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +372 -0
  1043. package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.ts +45 -0
  1044. package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +49 -0
  1045. package/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.ts +193 -0
  1046. package/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.ts +75 -0
  1047. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNetBlockHeaders.json +1 -0
  1048. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_0.headers +0 -0
  1049. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_1.headers +0 -0
  1050. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_2.headers +0 -0
  1051. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_3.headers +0 -0
  1052. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNetBlockHeaders.json +1 -0
  1053. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_0.headers +0 -0
  1054. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_1.headers +0 -0
  1055. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_2.headers +0 -0
  1056. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_3.headers +0 -0
  1057. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNetBlockHeaders.json +1 -0
  1058. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_0.headers +0 -0
  1059. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_1.headers +0 -0
  1060. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_2.headers +0 -0
  1061. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_3.headers +0 -0
  1062. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNetBlockHeaders.json +1 -0
  1063. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_0.headers +0 -0
  1064. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_1.headers +0 -0
  1065. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_2.headers +0 -0
  1066. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_3.headers +0 -0
  1067. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_4.headers +0 -0
  1068. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNetBlockHeaders.json +1 -0
  1069. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_0.headers +0 -0
  1070. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_1.headers +0 -0
  1071. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_2.headers +0 -0
  1072. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_3.headers +0 -0
  1073. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_4.headers +0 -0
  1074. package/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.ts +52 -0
  1075. package/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.ts +29 -0
  1076. package/src/services/chaintracker/chaintracks/index.all.ts +7 -0
  1077. package/src/services/chaintracker/chaintracks/index.client.ts +38 -0
  1078. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +938 -0
  1079. package/src/services/chaintracker/chaintracks/util/BulkFileDataReader.ts +60 -0
  1080. package/src/services/chaintracker/chaintracks/util/BulkFilesReader.ts +336 -0
  1081. package/src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts +247 -0
  1082. package/src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts +49 -0
  1083. package/src/services/chaintracker/chaintracks/util/ChaintracksFs.ts +137 -0
  1084. package/src/services/chaintracker/chaintracks/util/HeightRange.ts +132 -0
  1085. package/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.ts +76 -0
  1086. package/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.ts +304 -0
  1087. package/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.ts +60 -0
  1088. package/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.ts +67 -0
  1089. package/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.ts +49 -0
  1090. package/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts +148 -65
  1091. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +385 -0
  1092. package/src/services/chaintracker/{index.ts → index.all.ts} +2 -1
  1093. package/src/services/chaintracker/index.client.ts +4 -0
  1094. package/src/services/createDefaultWalletServicesOptions.ts +14 -12
  1095. package/src/services/providers/ARC.ts +11 -9
  1096. package/src/services/providers/Bitails.ts +14 -11
  1097. package/src/services/providers/WhatsOnChain.ts +323 -163
  1098. package/src/services/providers/__tests/WhatsOnChain.test.ts +9 -6
  1099. package/src/services/providers/{echangeRates.ts → exchangeRates.ts} +15 -14
  1100. package/src/signer/WalletSigner.ts +4 -4
  1101. package/src/signer/methods/acquireDirectCertificate.ts +6 -3
  1102. package/src/signer/methods/buildSignableTransaction.ts +38 -9
  1103. package/src/signer/methods/completeSignedTransaction.ts +6 -4
  1104. package/src/signer/methods/createAction.ts +30 -38
  1105. package/src/signer/methods/internalizeAction.ts +17 -21
  1106. package/src/signer/methods/proveCertificate.ts +8 -5
  1107. package/src/signer/methods/signAction.ts +8 -8
  1108. package/src/storage/StorageIdb.ts +166 -166
  1109. package/src/storage/StorageKnex.ts +158 -150
  1110. package/src/storage/StorageProvider.ts +124 -95
  1111. package/src/storage/StorageReaderWriter.ts +89 -93
  1112. package/src/storage/__test/StorageIdb.test.ts +1 -1
  1113. package/src/storage/__test/adminStats.man.test.ts +2 -0
  1114. package/src/storage/__test/getBeefForTransaction.test.ts +37 -35
  1115. package/src/storage/methods/ListActionsSpecOp.ts +13 -11
  1116. package/src/storage/methods/ListOutputsSpecOp.ts +16 -12
  1117. package/src/storage/methods/createAction.ts +92 -68
  1118. package/src/storage/methods/generateChange.ts +28 -24
  1119. package/src/storage/methods/getBeefForTransaction.ts +12 -8
  1120. package/src/storage/methods/getSyncChunk.ts +33 -34
  1121. package/src/storage/methods/internalizeAction.ts +28 -41
  1122. package/src/storage/methods/listActionsIdb.ts +7 -5
  1123. package/src/storage/methods/listActionsKnex.ts +10 -5
  1124. package/src/storage/methods/listOutputsIdb.ts +10 -6
  1125. package/src/storage/methods/listOutputsKnex.ts +10 -5
  1126. package/src/storage/methods/processAction.ts +41 -37
  1127. package/src/storage/methods/purgeData.ts +12 -11
  1128. package/src/storage/methods/purgeDataIdb.ts +3 -8
  1129. package/src/storage/methods/reviewStatus.ts +6 -5
  1130. package/src/storage/methods/utils.ts +2 -2
  1131. package/src/storage/remoting/StorageClient.ts +65 -42
  1132. package/src/storage/remoting/StorageMobile.ts +65 -42
  1133. package/src/storage/remoting/StorageServer.ts +13 -9
  1134. package/src/storage/schema/KnexMigrations.ts +31 -29
  1135. package/src/storage/schema/entities/EntityBase.ts +4 -3
  1136. package/src/storage/schema/entities/EntityCertificate.ts +7 -6
  1137. package/src/storage/schema/entities/EntityCertificateField.ts +9 -7
  1138. package/src/storage/schema/entities/EntityCommission.ts +7 -7
  1139. package/src/storage/schema/entities/EntityOutput.ts +8 -8
  1140. package/src/storage/schema/entities/EntityOutputBasket.ts +7 -6
  1141. package/src/storage/schema/entities/EntityOutputTag.ts +7 -7
  1142. package/src/storage/schema/entities/EntityOutputTagMap.ts +9 -8
  1143. package/src/storage/schema/entities/EntityProvenTx.ts +18 -12
  1144. package/src/storage/schema/entities/EntityProvenTxReq.ts +30 -39
  1145. package/src/storage/schema/entities/EntitySyncState.ts +37 -48
  1146. package/src/storage/schema/entities/EntityTransaction.ts +13 -16
  1147. package/src/storage/schema/entities/EntityTxLabel.ts +7 -7
  1148. package/src/storage/schema/entities/EntityTxLabelMap.ts +9 -8
  1149. package/src/storage/schema/entities/EntityUser.ts +10 -9
  1150. package/src/storage/schema/entities/MergeEntity.ts +8 -7
  1151. package/src/storage/sync/StorageMySQLDojoReader.ts +99 -92
  1152. package/src/utility/Format.ts +2 -2
  1153. package/src/utility/ReaderUint8Array.ts +187 -0
  1154. package/src/utility/ScriptTemplateBRC29.ts +1 -2
  1155. package/src/utility/__tests/utilityHelpers.noBuffer.test.ts +109 -0
  1156. package/src/utility/utilityHelpers.noBuffer.ts +50 -8
  1157. package/src/utility/utilityHelpers.ts +41 -14
  1158. package/test/Wallet/get/getHeaderForHeight.test.ts +6 -2
  1159. package/test/Wallet/get/getHeight.test.ts +7 -3
  1160. package/test/Wallet/local/localWallet2.man.test.ts +2 -2
  1161. package/test/Wallet/support/operations.man.test.ts +33 -2
  1162. package/test/bsv-ts-sdk/LocalKVStore.test.ts +5 -0
  1163. package/test/services/Services.test.ts +11 -7
  1164. package/test/utils/TestUtilsWalletStorage.ts +87 -89
  1165. package/test/wallet/action/createAction.test.ts +2 -0
  1166. package/test/wallet/action/createAction2.test.ts +2 -0
  1167. package/test/wallet/action/internalizeAction.test.ts +7 -2
  1168. package/test/wallet/list/listActions.test.ts +1 -7
  1169. package/test/wallet/list/listOutputs.test.ts +33 -1
  1170. package/tsconfig.all.json +1 -0
  1171. package/tsconfig.client.json +2 -1
  1172. package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts +0 -3
  1173. package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts.map +0 -1
  1174. package/mobile/out/src/services/chaintracker/chaintracks/index.js.map +0 -1
  1175. package/mobile/out/src/services/chaintracker/index.d.ts +0 -4
  1176. package/mobile/out/src/services/chaintracker/index.d.ts.map +0 -1
  1177. package/mobile/out/src/services/chaintracker/index.js.map +0 -1
  1178. package/mobile/out/src/services/index.d.ts +0 -2
  1179. package/mobile/out/src/services/index.d.ts.map +0 -1
  1180. package/mobile/out/src/services/index.js.map +0 -1
  1181. package/mobile/out/src/services/providers/echangeRates.d.ts.map +0 -1
  1182. package/mobile/out/src/services/providers/echangeRates.js.map +0 -1
  1183. package/mobile/out/src/utility/utilityHelpers.buffer.d.ts +0 -18
  1184. package/mobile/out/src/utility/utilityHelpers.buffer.d.ts.map +0 -1
  1185. package/mobile/out/src/utility/utilityHelpers.buffer.js +0 -45
  1186. package/mobile/out/src/utility/utilityHelpers.buffer.js.map +0 -1
  1187. package/out/src/services/chaintracker/chaintracks/index.d.ts +0 -3
  1188. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +0 -1
  1189. package/out/src/services/chaintracker/chaintracks/index.js +0 -19
  1190. package/out/src/services/chaintracker/chaintracks/index.js.map +0 -1
  1191. package/out/src/services/chaintracker/index.d.ts +0 -4
  1192. package/out/src/services/chaintracker/index.d.ts.map +0 -1
  1193. package/out/src/services/chaintracker/index.js.map +0 -1
  1194. package/out/src/services/providers/echangeRates.d.ts.map +0 -1
  1195. package/out/src/services/providers/echangeRates.js.map +0 -1
  1196. package/src/services/chaintracker/chaintracks/index.ts +0 -2
@@ -0,0 +1,1215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageKnex = void 0;
4
+ const tables_1 = require("./schema/tables");
5
+ const KnexMigrations_1 = require("./schema/KnexMigrations");
6
+ const StorageProvider_1 = require("./StorageProvider");
7
+ const purgeData_1 = require("./methods/purgeData");
8
+ const listActionsKnex_1 = require("./methods/listActionsKnex");
9
+ const listOutputsKnex_1 = require("./methods/listOutputsKnex");
10
+ const reviewStatus_1 = require("./methods/reviewStatus");
11
+ const WERR_errors_1 = require("../sdk/WERR_errors");
12
+ const utilityHelpers_1 = require("../utility/utilityHelpers");
13
+ class StorageKnex extends StorageProvider_1.StorageProvider {
14
+ constructor(options) {
15
+ super(options);
16
+ this._verifiedReadyForDatabaseAccess = false;
17
+ if (!options.knex)
18
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('options.knex', `valid`);
19
+ this.knex = options.knex;
20
+ }
21
+ async readSettings() {
22
+ return this.validateEntity((0, utilityHelpers_1.verifyOne)(await this.toDb(undefined)('settings')));
23
+ }
24
+ async getProvenOrRawTx(txid, trx) {
25
+ const k = this.toDb(trx);
26
+ const r = {
27
+ proven: undefined,
28
+ rawTx: undefined,
29
+ inputBEEF: undefined
30
+ };
31
+ r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid: txid } }));
32
+ if (!r.proven) {
33
+ const reqRawTx = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_tx_reqs')
34
+ .where('txid', txid)
35
+ .whereIn('status', ['unsent', 'unmined', 'unconfirmed', 'sending', 'nosend', 'completed'])
36
+ .select('rawTx', 'inputBEEF'));
37
+ if (reqRawTx) {
38
+ r.rawTx = Array.from(reqRawTx.rawTx);
39
+ r.inputBEEF = Array.from(reqRawTx.inputBEEF);
40
+ }
41
+ }
42
+ return r;
43
+ }
44
+ dbTypeSubstring(source, fromOffset, forLength) {
45
+ if (this.dbtype === 'MySQL')
46
+ return `substring(${source} from ${fromOffset} for ${forLength})`;
47
+ return `substr(${source}, ${fromOffset}, ${forLength})`;
48
+ }
49
+ async getRawTxOfKnownValidTransaction(txid, offset, length, trx) {
50
+ if (!txid)
51
+ return undefined;
52
+ if (!this.isAvailable())
53
+ await this.makeAvailable();
54
+ let rawTx = undefined;
55
+ if (Number.isInteger(offset) && Number.isInteger(length)) {
56
+ let rs = await this.toDb(trx).raw(`select ${this.dbTypeSubstring('rawTx', offset + 1, length)} as rawTx from proven_txs where txid = '${txid}'`);
57
+ if (this.dbtype === 'MySQL')
58
+ rs = rs[0];
59
+ const r = (0, utilityHelpers_1.verifyOneOrNone)(rs);
60
+ if (r && r.rawTx) {
61
+ rawTx = Array.from(r.rawTx);
62
+ }
63
+ else {
64
+ let rs = await this.toDb(trx).raw(`select ${this.dbTypeSubstring('rawTx', offset + 1, length)} as rawTx from proven_tx_reqs where txid = '${txid}' and status in ('unsent', 'nosend', 'sending', 'unmined', 'completed', 'unfail')`);
65
+ if (this.dbtype === 'MySQL')
66
+ rs = rs[0];
67
+ const r = (0, utilityHelpers_1.verifyOneOrNone)(rs);
68
+ if (r && r.rawTx) {
69
+ rawTx = Array.from(r.rawTx);
70
+ }
71
+ }
72
+ }
73
+ else {
74
+ const r = await this.getProvenOrRawTx(txid, trx);
75
+ if (r.proven)
76
+ rawTx = r.proven.rawTx;
77
+ else
78
+ rawTx = r.rawTx;
79
+ }
80
+ return rawTx;
81
+ }
82
+ getProvenTxsForUserQuery(args) {
83
+ const k = this.toDb(args.trx);
84
+ let q = k('proven_txs').where(function () {
85
+ this.whereExists(k
86
+ .select('*')
87
+ .from('transactions')
88
+ .whereRaw(`proven_txs.provenTxId = transactions.provenTxId and transactions.userId = ${args.userId}`));
89
+ });
90
+ if (args.paged) {
91
+ q = q.limit(args.paged.limit);
92
+ q = q.offset(args.paged.offset || 0);
93
+ }
94
+ if (args.since)
95
+ q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
96
+ return q;
97
+ }
98
+ async getProvenTxsForUser(args) {
99
+ const q = this.getProvenTxsForUserQuery(args);
100
+ const rs = await q;
101
+ return this.validateEntities(rs);
102
+ }
103
+ getProvenTxReqsForUserQuery(args) {
104
+ const k = this.toDb(args.trx);
105
+ let q = k('proven_tx_reqs').where(function () {
106
+ this.whereExists(k
107
+ .select('*')
108
+ .from('transactions')
109
+ .whereRaw(`proven_tx_reqs.txid = transactions.txid and transactions.userId = ${args.userId}`));
110
+ });
111
+ if (args.paged) {
112
+ q = q.limit(args.paged.limit);
113
+ q = q.offset(args.paged.offset || 0);
114
+ }
115
+ if (args.since)
116
+ q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
117
+ return q;
118
+ }
119
+ async getProvenTxReqsForUser(args) {
120
+ const q = this.getProvenTxReqsForUserQuery(args);
121
+ const rs = await q;
122
+ return this.validateEntities(rs, undefined, ['notified']);
123
+ }
124
+ getTxLabelMapsForUserQuery(args) {
125
+ const k = this.toDb(args.trx);
126
+ let q = k('tx_labels_map').whereExists(k
127
+ .select('*')
128
+ .from('tx_labels')
129
+ .whereRaw(`tx_labels.txLabelId = tx_labels_map.txLabelId and tx_labels.userId = ${args.userId}`));
130
+ if (args.since)
131
+ q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
132
+ if (args.paged) {
133
+ q = q.limit(args.paged.limit);
134
+ q = q.offset(args.paged.offset || 0);
135
+ }
136
+ return q;
137
+ }
138
+ async getTxLabelMapsForUser(args) {
139
+ const q = this.getTxLabelMapsForUserQuery(args);
140
+ const rs = await q;
141
+ return this.validateEntities(rs, undefined, ['isDeleted']);
142
+ }
143
+ getOutputTagMapsForUserQuery(args) {
144
+ const k = this.toDb(args.trx);
145
+ let q = k('output_tags_map').whereExists(k
146
+ .select('*')
147
+ .from('output_tags')
148
+ .whereRaw(`output_tags.outputTagId = output_tags_map.outputTagId and output_tags.userId = ${args.userId}`));
149
+ if (args.since)
150
+ q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
151
+ if (args.paged) {
152
+ q = q.limit(args.paged.limit);
153
+ q = q.offset(args.paged.offset || 0);
154
+ }
155
+ return q;
156
+ }
157
+ async getOutputTagMapsForUser(args) {
158
+ const q = this.getOutputTagMapsForUserQuery(args);
159
+ const rs = await q;
160
+ return this.validateEntities(rs, undefined, ['isDeleted']);
161
+ }
162
+ async listActions(auth, vargs) {
163
+ if (!auth.userId)
164
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
165
+ return await (0, listActionsKnex_1.listActions)(this, auth, vargs);
166
+ }
167
+ async listOutputs(auth, vargs) {
168
+ if (!auth.userId)
169
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
170
+ return await (0, listOutputsKnex_1.listOutputs)(this, auth, vargs);
171
+ }
172
+ async insertProvenTx(tx, trx) {
173
+ const e = await this.validateEntityForInsert(tx, trx);
174
+ if (e.provenTxId === 0)
175
+ delete e.provenTxId;
176
+ const [id] = await this.toDb(trx)('proven_txs').insert(e);
177
+ tx.provenTxId = id;
178
+ return tx.provenTxId;
179
+ }
180
+ async insertProvenTxReq(tx, trx) {
181
+ const e = await this.validateEntityForInsert(tx, trx);
182
+ if (e.provenTxReqId === 0)
183
+ delete e.provenTxReqId;
184
+ const [id] = await this.toDb(trx)('proven_tx_reqs').insert(e);
185
+ tx.provenTxReqId = id;
186
+ return tx.provenTxReqId;
187
+ }
188
+ async insertUser(user, trx) {
189
+ const e = await this.validateEntityForInsert(user, trx);
190
+ if (e.userId === 0)
191
+ delete e.userId;
192
+ const [id] = await this.toDb(trx)('users').insert(e);
193
+ user.userId = id;
194
+ return user.userId;
195
+ }
196
+ async insertCertificateAuth(auth, certificate) {
197
+ if (!auth.userId || (certificate.userId && certificate.userId !== auth.userId))
198
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
199
+ certificate.userId = auth.userId;
200
+ return await this.insertCertificate(certificate);
201
+ }
202
+ async insertCertificate(certificate, trx) {
203
+ const e = await this.validateEntityForInsert(certificate, trx, undefined, ['isDeleted']);
204
+ const fields = e.fields;
205
+ if (e.fields)
206
+ delete e.fields;
207
+ if (e.certificateId === 0)
208
+ delete e.certificateId;
209
+ const [id] = await this.toDb(trx)('certificates').insert(e);
210
+ certificate.certificateId = id;
211
+ if (fields) {
212
+ for (const field of fields) {
213
+ field.certificateId = id;
214
+ field.userId = certificate.userId;
215
+ await this.insertCertificateField(field, trx);
216
+ }
217
+ }
218
+ return certificate.certificateId;
219
+ }
220
+ async insertCertificateField(certificateField, trx) {
221
+ const e = await this.validateEntityForInsert(certificateField, trx);
222
+ await this.toDb(trx)('certificate_fields').insert(e);
223
+ }
224
+ async insertOutputBasket(basket, trx) {
225
+ const e = await this.validateEntityForInsert(basket, trx, undefined, ['isDeleted']);
226
+ if (e.basketId === 0)
227
+ delete e.basketId;
228
+ const [id] = await this.toDb(trx)('output_baskets').insert(e);
229
+ basket.basketId = id;
230
+ return basket.basketId;
231
+ }
232
+ async insertTransaction(tx, trx) {
233
+ const e = await this.validateEntityForInsert(tx, trx);
234
+ if (e.transactionId === 0)
235
+ delete e.transactionId;
236
+ const [id] = await this.toDb(trx)('transactions').insert(e);
237
+ tx.transactionId = id;
238
+ return tx.transactionId;
239
+ }
240
+ async insertCommission(commission, trx) {
241
+ const e = await this.validateEntityForInsert(commission, trx);
242
+ if (e.commissionId === 0)
243
+ delete e.commissionId;
244
+ const [id] = await this.toDb(trx)('commissions').insert(e);
245
+ commission.commissionId = id;
246
+ return commission.commissionId;
247
+ }
248
+ async insertOutput(output, trx) {
249
+ try {
250
+ const e = await this.validateEntityForInsert(output, trx);
251
+ if (e.outputId === 0)
252
+ delete e.outputId;
253
+ const [id] = await this.toDb(trx)('outputs').insert(e);
254
+ output.outputId = id;
255
+ return output.outputId;
256
+ }
257
+ catch (e) {
258
+ throw e;
259
+ }
260
+ }
261
+ async insertOutputTag(tag, trx) {
262
+ const e = await this.validateEntityForInsert(tag, trx, undefined, ['isDeleted']);
263
+ if (e.outputTagId === 0)
264
+ delete e.outputTagId;
265
+ const [id] = await this.toDb(trx)('output_tags').insert(e);
266
+ tag.outputTagId = id;
267
+ return tag.outputTagId;
268
+ }
269
+ async insertOutputTagMap(tagMap, trx) {
270
+ const e = await this.validateEntityForInsert(tagMap, trx, undefined, ['isDeleted']);
271
+ const [id] = await this.toDb(trx)('output_tags_map').insert(e);
272
+ }
273
+ async insertTxLabel(label, trx) {
274
+ const e = await this.validateEntityForInsert(label, trx, undefined, ['isDeleted']);
275
+ if (e.txLabelId === 0)
276
+ delete e.txLabelId;
277
+ const [id] = await this.toDb(trx)('tx_labels').insert(e);
278
+ label.txLabelId = id;
279
+ return label.txLabelId;
280
+ }
281
+ async insertTxLabelMap(labelMap, trx) {
282
+ const e = await this.validateEntityForInsert(labelMap, trx, undefined, ['isDeleted']);
283
+ const [id] = await this.toDb(trx)('tx_labels_map').insert(e);
284
+ }
285
+ async insertMonitorEvent(event, trx) {
286
+ const e = await this.validateEntityForInsert(event, trx);
287
+ if (e.id === 0)
288
+ delete e.id;
289
+ const [id] = await this.toDb(trx)('monitor_events').insert(e);
290
+ event.id = id;
291
+ return event.id;
292
+ }
293
+ async insertSyncState(syncState, trx) {
294
+ const e = await this.validateEntityForInsert(syncState, trx, ['when'], ['init']);
295
+ if (e.syncStateId === 0)
296
+ delete e.syncStateId;
297
+ const [id] = await this.toDb(trx)('sync_states').insert(e);
298
+ syncState.syncStateId = id;
299
+ return syncState.syncStateId;
300
+ }
301
+ async updateCertificateField(certificateId, fieldName, update, trx) {
302
+ await this.verifyReadyForDatabaseAccess(trx);
303
+ return await this.toDb(trx)('certificate_fields')
304
+ .where({ certificateId, fieldName })
305
+ .update(this.validatePartialForUpdate(update));
306
+ }
307
+ async updateCertificate(id, update, trx) {
308
+ await this.verifyReadyForDatabaseAccess(trx);
309
+ return await this.toDb(trx)('certificates')
310
+ .where({ certificateId: id })
311
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
312
+ }
313
+ async updateCommission(id, update, trx) {
314
+ await this.verifyReadyForDatabaseAccess(trx);
315
+ return await this.toDb(trx)('commissions')
316
+ .where({ commissionId: id })
317
+ .update(this.validatePartialForUpdate(update));
318
+ }
319
+ async updateOutputBasket(id, update, trx) {
320
+ await this.verifyReadyForDatabaseAccess(trx);
321
+ return await this.toDb(trx)('output_baskets')
322
+ .where({ basketId: id })
323
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
324
+ }
325
+ async updateOutput(id, update, trx) {
326
+ await this.verifyReadyForDatabaseAccess(trx);
327
+ return await this.toDb(trx)('outputs')
328
+ .where({ outputId: id })
329
+ .update(this.validatePartialForUpdate(update));
330
+ }
331
+ async updateOutputTagMap(outputId, tagId, update, trx) {
332
+ await this.verifyReadyForDatabaseAccess(trx);
333
+ return await this.toDb(trx)('output_tags_map')
334
+ .where({ outputId, outputTagId: tagId })
335
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
336
+ }
337
+ async updateOutputTag(id, update, trx) {
338
+ await this.verifyReadyForDatabaseAccess(trx);
339
+ return await this.toDb(trx)('output_tags')
340
+ .where({ outputTagId: id })
341
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
342
+ }
343
+ async updateProvenTxReq(id, update, trx) {
344
+ await this.verifyReadyForDatabaseAccess(trx);
345
+ let r;
346
+ if (Array.isArray(id)) {
347
+ r = await this.toDb(trx)('proven_tx_reqs')
348
+ .whereIn('provenTxReqId', id)
349
+ .update(this.validatePartialForUpdate(update));
350
+ }
351
+ else if (Number.isInteger(id)) {
352
+ r = await this.toDb(trx)('proven_tx_reqs')
353
+ .where({ provenTxReqId: id })
354
+ .update(this.validatePartialForUpdate(update));
355
+ }
356
+ else {
357
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('id', 'transactionId or array of transactionId');
358
+ }
359
+ return r;
360
+ }
361
+ async updateProvenTx(id, update, trx) {
362
+ await this.verifyReadyForDatabaseAccess(trx);
363
+ return await this.toDb(trx)('proven_txs')
364
+ .where({ provenTxId: id })
365
+ .update(this.validatePartialForUpdate(update));
366
+ }
367
+ async updateSyncState(id, update, trx) {
368
+ await this.verifyReadyForDatabaseAccess(trx);
369
+ return await this.toDb(trx)('sync_states')
370
+ .where({ syncStateId: id })
371
+ .update(this.validatePartialForUpdate(update, ['when'], ['init']));
372
+ }
373
+ async updateTransaction(id, update, trx) {
374
+ await this.verifyReadyForDatabaseAccess(trx);
375
+ let r;
376
+ if (Array.isArray(id)) {
377
+ r = await this.toDb(trx)('transactions')
378
+ .whereIn('transactionId', id)
379
+ .update(await this.validatePartialForUpdate(update));
380
+ }
381
+ else if (Number.isInteger(id)) {
382
+ r = await this.toDb(trx)('transactions')
383
+ .where({ transactionId: id })
384
+ .update(await this.validatePartialForUpdate(update));
385
+ }
386
+ else {
387
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('id', 'transactionId or array of transactionId');
388
+ }
389
+ return r;
390
+ }
391
+ async updateTxLabelMap(transactionId, txLabelId, update, trx) {
392
+ await this.verifyReadyForDatabaseAccess(trx);
393
+ return await this.toDb(trx)('tx_labels_map')
394
+ .where({ transactionId, txLabelId })
395
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
396
+ }
397
+ async updateTxLabel(id, update, trx) {
398
+ await this.verifyReadyForDatabaseAccess(trx);
399
+ return await this.toDb(trx)('tx_labels')
400
+ .where({ txLabelId: id })
401
+ .update(this.validatePartialForUpdate(update, undefined, ['isDeleted']));
402
+ }
403
+ async updateUser(id, update, trx) {
404
+ await this.verifyReadyForDatabaseAccess(trx);
405
+ return await this.toDb(trx)('users').where({ userId: id }).update(this.validatePartialForUpdate(update));
406
+ }
407
+ async updateMonitorEvent(id, update, trx) {
408
+ await this.verifyReadyForDatabaseAccess(trx);
409
+ return await this.toDb(trx)('monitor_events')
410
+ .where({ id })
411
+ .update(this.validatePartialForUpdate(update));
412
+ }
413
+ setupQuery(table, args) {
414
+ let q = this.toDb(args.trx)(table);
415
+ if (args.partial && Object.keys(args.partial).length > 0)
416
+ q.where(args.partial);
417
+ if (args.since)
418
+ q.where('updated_at', '>=', this.validateDateForWhere(args.since));
419
+ if (args.orderDescending) {
420
+ let sortColumn = '';
421
+ switch (table) {
422
+ case 'certificates':
423
+ sortColumn = 'certificateId';
424
+ break;
425
+ case 'commissions':
426
+ sortColumn = 'commissionId';
427
+ break;
428
+ case 'output_baskets':
429
+ sortColumn = 'basketId';
430
+ break;
431
+ case 'outputs':
432
+ sortColumn = 'outputId';
433
+ break;
434
+ case 'output_tags':
435
+ sortColumn = 'outputTagId';
436
+ break;
437
+ case 'proven_tx_reqs':
438
+ sortColumn = 'provenTxReqId';
439
+ break;
440
+ case 'proven_txs':
441
+ sortColumn = 'provenTxId';
442
+ break;
443
+ case 'sync_states':
444
+ sortColumn = 'syncStateId';
445
+ break;
446
+ case 'transactions':
447
+ sortColumn = 'transactionId';
448
+ break;
449
+ case 'tx_labels':
450
+ sortColumn = 'txLabelId';
451
+ break;
452
+ case 'users':
453
+ sortColumn = 'userId';
454
+ break;
455
+ case 'monitor_events':
456
+ sortColumn = 'id';
457
+ break;
458
+ default:
459
+ break;
460
+ }
461
+ if (sortColumn !== '') {
462
+ q.orderBy(sortColumn, 'desc');
463
+ }
464
+ }
465
+ if (args.paged) {
466
+ q.limit(args.paged.limit);
467
+ q.offset(args.paged.offset || 0);
468
+ }
469
+ return q;
470
+ }
471
+ findCertificateFieldsQuery(args) {
472
+ return this.setupQuery('certificate_fields', args);
473
+ }
474
+ findCertificatesQuery(args) {
475
+ const q = this.setupQuery('certificates', args);
476
+ if (args.certifiers && args.certifiers.length > 0)
477
+ q.whereIn('certifier', args.certifiers);
478
+ if (args.types && args.types.length > 0)
479
+ q.whereIn('type', args.types);
480
+ return q;
481
+ }
482
+ findCommissionsQuery(args) {
483
+ if (args.partial.lockingScript)
484
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('partial.lockingScript', `undefined. Commissions may not be found by lockingScript value.`);
485
+ return this.setupQuery('commissions', args);
486
+ }
487
+ findOutputBasketsQuery(args) {
488
+ return this.setupQuery('output_baskets', args);
489
+ }
490
+ findOutputsQuery(args, count) {
491
+ if (args.partial.lockingScript)
492
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.lockingScript', `undefined. Outputs may not be found by lockingScript value.`);
493
+ const q = this.setupQuery('outputs', args);
494
+ if (args.txStatus && args.txStatus.length > 0) {
495
+ q.whereRaw(`(select status from transactions where transactions.transactionId = outputs.transactionId) in (${args.txStatus.map(s => `'${s}'`).join(',')})`);
496
+ }
497
+ if (args.noScript && !count) {
498
+ const columns = tables_1.outputColumnsWithoutLockingScript.map(c => `outputs.${c}`);
499
+ q.select(columns);
500
+ }
501
+ return q;
502
+ }
503
+ findOutputTagMapsQuery(args) {
504
+ const q = this.setupQuery('output_tags_map', args);
505
+ if (args.tagIds && args.tagIds.length > 0)
506
+ q.whereIn('outputTagId', args.tagIds);
507
+ return q;
508
+ }
509
+ findOutputTagsQuery(args) {
510
+ return this.setupQuery('output_tags', args);
511
+ }
512
+ findProvenTxReqsQuery(args) {
513
+ if (args.partial.rawTx)
514
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. ProvenTxReqs may not be found by rawTx value.`);
515
+ if (args.partial.inputBEEF)
516
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', `undefined. ProvenTxReqs may not be found by inputBEEF value.`);
517
+ const q = this.setupQuery('proven_tx_reqs', args);
518
+ if (args.status && args.status.length > 0)
519
+ q.whereIn('status', args.status);
520
+ if (args.txids) {
521
+ const txids = args.txids.filter(txid => txid !== undefined);
522
+ if (txids.length > 0)
523
+ q.whereIn('txid', txids);
524
+ }
525
+ return q;
526
+ }
527
+ findProvenTxsQuery(args) {
528
+ if (args.partial.rawTx)
529
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. ProvenTxs may not be found by rawTx value.`);
530
+ if (args.partial.merklePath)
531
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.merklePath', `undefined. ProvenTxs may not be found by merklePath value.`);
532
+ return this.setupQuery('proven_txs', args);
533
+ }
534
+ findSyncStatesQuery(args) {
535
+ return this.setupQuery('sync_states', args);
536
+ }
537
+ findTransactionsQuery(args, count) {
538
+ if (args.partial.rawTx)
539
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. Transactions may not be found by rawTx value.`);
540
+ if (args.partial.inputBEEF)
541
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', `undefined. Transactions may not be found by inputBEEF value.`);
542
+ const q = this.setupQuery('transactions', args);
543
+ if (args.status && args.status.length > 0)
544
+ q.whereIn('status', args.status);
545
+ if (args.noRawTx && !count) {
546
+ const columns = tables_1.transactionColumnsWithoutRawTx.map(c => `transactions.${c}`);
547
+ q.select(columns);
548
+ }
549
+ return q;
550
+ }
551
+ findTxLabelMapsQuery(args) {
552
+ const q = this.setupQuery('tx_labels_map', args);
553
+ if (args.labelIds && args.labelIds.length > 0)
554
+ q.whereIn('txLabelId', args.labelIds);
555
+ return q;
556
+ }
557
+ findTxLabelsQuery(args) {
558
+ return this.setupQuery('tx_labels', args);
559
+ }
560
+ findUsersQuery(args) {
561
+ return this.setupQuery('users', args);
562
+ }
563
+ findMonitorEventsQuery(args) {
564
+ return this.setupQuery('monitor_events', args);
565
+ }
566
+ async findCertificatesAuth(auth, args) {
567
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
568
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
569
+ args.partial.userId = auth.userId;
570
+ return await this.findCertificates(args);
571
+ }
572
+ async findOutputBasketsAuth(auth, args) {
573
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
574
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
575
+ args.partial.userId = auth.userId;
576
+ return await this.findOutputBaskets(args);
577
+ }
578
+ async findOutputsAuth(auth, args) {
579
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
580
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
581
+ args.partial.userId = auth.userId;
582
+ return await this.findOutputs(args);
583
+ }
584
+ async findCertificateFields(args) {
585
+ return this.validateEntities(await this.findCertificateFieldsQuery(args));
586
+ }
587
+ async findCertificates(args) {
588
+ const q = this.findCertificatesQuery(args);
589
+ let r = await q;
590
+ r = this.validateEntities(r, undefined, ['isDeleted']);
591
+ if (args.includeFields) {
592
+ for (const c of r) {
593
+ c.fields = this.validateEntities(await this.findCertificateFields({
594
+ partial: { certificateId: c.certificateId, userId: c.userId },
595
+ trx: args.trx
596
+ }));
597
+ }
598
+ }
599
+ return r;
600
+ }
601
+ async findCommissions(args) {
602
+ const q = this.findCommissionsQuery(args);
603
+ const r = await q;
604
+ return this.validateEntities(r, undefined, ['isRedeemed']);
605
+ }
606
+ async findOutputBaskets(args) {
607
+ const q = this.findOutputBasketsQuery(args);
608
+ const r = await q;
609
+ return this.validateEntities(r, undefined, ['isDeleted']);
610
+ }
611
+ async findOutputs(args) {
612
+ const q = this.findOutputsQuery(args);
613
+ const r = await q;
614
+ if (!args.noScript) {
615
+ for (const o of r) {
616
+ await this.validateOutputScript(o, args.trx);
617
+ }
618
+ }
619
+ return this.validateEntities(r, undefined, ['spendable', 'change']);
620
+ }
621
+ async findOutputTagMaps(args) {
622
+ const q = this.findOutputTagMapsQuery(args);
623
+ const r = await q;
624
+ return this.validateEntities(r, undefined, ['isDeleted']);
625
+ }
626
+ async findOutputTags(args) {
627
+ const q = this.findOutputTagsQuery(args);
628
+ const r = await q;
629
+ return this.validateEntities(r, undefined, ['isDeleted']);
630
+ }
631
+ async findProvenTxReqs(args) {
632
+ const q = this.findProvenTxReqsQuery(args);
633
+ const r = await q;
634
+ return this.validateEntities(r, undefined, ['notified']);
635
+ }
636
+ async findProvenTxs(args) {
637
+ const q = this.findProvenTxsQuery(args);
638
+ const r = await q;
639
+ return this.validateEntities(r);
640
+ }
641
+ async findSyncStates(args) {
642
+ const q = this.findSyncStatesQuery(args);
643
+ const r = await q;
644
+ return this.validateEntities(r, ['when'], ['init']);
645
+ }
646
+ async findTransactions(args) {
647
+ const q = this.findTransactionsQuery(args);
648
+ const r = await q;
649
+ if (!args.noRawTx) {
650
+ for (const t of r) {
651
+ await this.validateRawTransaction(t, args.trx);
652
+ }
653
+ }
654
+ return this.validateEntities(r, undefined, ['isOutgoing']);
655
+ }
656
+ async findTxLabelMaps(args) {
657
+ const q = this.findTxLabelMapsQuery(args);
658
+ const r = await q;
659
+ return this.validateEntities(r, undefined, ['isDeleted']);
660
+ }
661
+ async findTxLabels(args) {
662
+ const q = this.findTxLabelsQuery(args);
663
+ const r = await q;
664
+ return this.validateEntities(r, undefined, ['isDeleted']);
665
+ }
666
+ async findUsers(args) {
667
+ const q = this.findUsersQuery(args);
668
+ const r = await q;
669
+ return this.validateEntities(r);
670
+ }
671
+ async findMonitorEvents(args) {
672
+ const q = this.findMonitorEventsQuery(args);
673
+ const r = await q;
674
+ return this.validateEntities(r, ['when'], undefined);
675
+ }
676
+ async getCount(q) {
677
+ q.count();
678
+ const r = await q;
679
+ return r[0]['count(*)'];
680
+ }
681
+ async countCertificateFields(args) {
682
+ return await this.getCount(this.findCertificateFieldsQuery(args));
683
+ }
684
+ async countCertificates(args) {
685
+ return await this.getCount(this.findCertificatesQuery(args));
686
+ }
687
+ async countCommissions(args) {
688
+ return await this.getCount(this.findCommissionsQuery(args));
689
+ }
690
+ async countOutputBaskets(args) {
691
+ return await this.getCount(this.findOutputBasketsQuery(args));
692
+ }
693
+ async countOutputs(args) {
694
+ return await this.getCount(this.findOutputsQuery(args, true));
695
+ }
696
+ async countOutputTagMaps(args) {
697
+ return await this.getCount(this.findOutputTagMapsQuery(args));
698
+ }
699
+ async countOutputTags(args) {
700
+ return await this.getCount(this.findOutputTagsQuery(args));
701
+ }
702
+ async countProvenTxReqs(args) {
703
+ return await this.getCount(this.findProvenTxReqsQuery(args));
704
+ }
705
+ async countProvenTxs(args) {
706
+ return await this.getCount(this.findProvenTxsQuery(args));
707
+ }
708
+ async countSyncStates(args) {
709
+ return await this.getCount(this.findSyncStatesQuery(args));
710
+ }
711
+ async countTransactions(args) {
712
+ return await this.getCount(this.findTransactionsQuery(args, true));
713
+ }
714
+ async countTxLabelMaps(args) {
715
+ return await this.getCount(this.findTxLabelMapsQuery(args));
716
+ }
717
+ async countTxLabels(args) {
718
+ return await this.getCount(this.findTxLabelsQuery(args));
719
+ }
720
+ async countUsers(args) {
721
+ return await this.getCount(this.findUsersQuery(args));
722
+ }
723
+ async countMonitorEvents(args) {
724
+ return await this.getCount(this.findMonitorEventsQuery(args));
725
+ }
726
+ async destroy() {
727
+ var _a;
728
+ await ((_a = this.knex) === null || _a === void 0 ? void 0 : _a.destroy());
729
+ }
730
+ async migrate(storageName, storageIdentityKey) {
731
+ const config = {
732
+ migrationSource: new KnexMigrations_1.KnexMigrations(this.chain, storageName, storageIdentityKey, 1024)
733
+ };
734
+ await this.knex.migrate.latest(config);
735
+ const version = await this.knex.migrate.currentVersion(config);
736
+ return version;
737
+ }
738
+ async dropAllData() {
739
+ // Only using migrations to migrate down, don't need valid properties for settings table.
740
+ const config = {
741
+ migrationSource: new KnexMigrations_1.KnexMigrations('test', '', '', 1024)
742
+ };
743
+ const count = Object.keys(config.migrationSource.migrations).length;
744
+ for (let i = 0; i < count; i++) {
745
+ try {
746
+ const r = await this.knex.migrate.down(config);
747
+ if (!r) {
748
+ console.error(`Migration returned falsy result await this.knex.migrate.down(config)`);
749
+ break;
750
+ }
751
+ }
752
+ catch (eu) {
753
+ break;
754
+ }
755
+ }
756
+ }
757
+ async transaction(scope, trx) {
758
+ if (trx)
759
+ return await scope(trx);
760
+ return await this.knex.transaction(async (knextrx) => {
761
+ const trx = knextrx;
762
+ return await scope(trx);
763
+ });
764
+ }
765
+ /**
766
+ * Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
767
+ * or a Knex.Transaction as appropriate.
768
+ */
769
+ toDb(trx) {
770
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
771
+ const db = !trx ? this.knex : trx;
772
+ this.whenLastAccess = new Date();
773
+ return db;
774
+ }
775
+ async validateRawTransaction(t, trx) {
776
+ // if there is no txid or there is a rawTransaction return what we have.
777
+ if (t.rawTx || !t.txid)
778
+ return;
779
+ // rawTransaction is missing, see if we moved it ...
780
+ const rawTx = await this.getRawTxOfKnownValidTransaction(t.txid, undefined, undefined, trx);
781
+ if (!rawTx)
782
+ return;
783
+ t.rawTx = rawTx;
784
+ }
785
+ /**
786
+ * Make sure database is ready for access:
787
+ *
788
+ * - dateScheme is known
789
+ * - foreign key constraints are enabled
790
+ *
791
+ * @param trx
792
+ */
793
+ async verifyReadyForDatabaseAccess(trx) {
794
+ if (!this._settings) {
795
+ this._settings = await this.readSettings();
796
+ }
797
+ if (!this._verifiedReadyForDatabaseAccess) {
798
+ // Make sure foreign key constraint checking is turned on in SQLite.
799
+ if (this._settings.dbtype === 'SQLite') {
800
+ await this.toDb(trx).raw('PRAGMA foreign_keys = ON;');
801
+ }
802
+ this._verifiedReadyForDatabaseAccess = true;
803
+ }
804
+ return this._settings.dbtype;
805
+ }
806
+ /**
807
+ * Helper to force uniform behavior across database engines.
808
+ * Use to process the update template for entities being updated.
809
+ */
810
+ validatePartialForUpdate(update, dateFields, booleanFields) {
811
+ if (!this.dbtype)
812
+ throw new WERR_errors_1.WERR_INTERNAL('must call verifyReadyForDatabaseAccess first');
813
+ const v = update;
814
+ if (v.created_at)
815
+ v.created_at = this.validateEntityDate(v.created_at);
816
+ if (v.updated_at)
817
+ v.updated_at = this.validateEntityDate(v.updated_at);
818
+ if (!v.created_at)
819
+ delete v.created_at;
820
+ if (!v.updated_at)
821
+ v.updated_at = this.validateEntityDate(new Date());
822
+ if (dateFields) {
823
+ for (const df of dateFields) {
824
+ if (v[df])
825
+ v[df] = this.validateOptionalEntityDate(v[df]);
826
+ }
827
+ }
828
+ if (booleanFields) {
829
+ for (const df of booleanFields) {
830
+ if (update[df] !== undefined)
831
+ update[df] = !!update[df] ? 1 : 0;
832
+ }
833
+ }
834
+ for (const key of Object.keys(v)) {
835
+ const val = v[key];
836
+ if (Array.isArray(val) && (val.length === 0 || typeof val[0] === 'number')) {
837
+ v[key] = Buffer.from(val);
838
+ }
839
+ else if (val === undefined) {
840
+ v[key] = null;
841
+ }
842
+ }
843
+ this.isDirty = true;
844
+ return v;
845
+ }
846
+ /**
847
+ * Helper to force uniform behavior across database engines.
848
+ * Use to process new entities being inserted into the database.
849
+ */
850
+ async validateEntityForInsert(entity, trx, dateFields, booleanFields) {
851
+ await this.verifyReadyForDatabaseAccess(trx);
852
+ const v = { ...entity };
853
+ v.created_at = this.validateOptionalEntityDate(v.created_at, true);
854
+ v.updated_at = this.validateOptionalEntityDate(v.updated_at, true);
855
+ if (!v.created_at)
856
+ delete v.created_at;
857
+ if (!v.updated_at)
858
+ delete v.updated_at;
859
+ if (dateFields) {
860
+ for (const df of dateFields) {
861
+ if (v[df])
862
+ v[df] = this.validateOptionalEntityDate(v[df]);
863
+ }
864
+ }
865
+ if (booleanFields) {
866
+ for (const df of booleanFields) {
867
+ if (entity[df] !== undefined)
868
+ entity[df] = !!entity[df] ? 1 : 0;
869
+ }
870
+ }
871
+ for (const key of Object.keys(v)) {
872
+ const val = v[key];
873
+ if (Array.isArray(val) && (val.length === 0 || typeof val[0] === 'number')) {
874
+ v[key] = Buffer.from(val);
875
+ }
876
+ else if (val === undefined) {
877
+ v[key] = null;
878
+ }
879
+ }
880
+ this.isDirty = true;
881
+ return v;
882
+ }
883
+ async getLabelsForTransactionId(transactionId, trx) {
884
+ if (transactionId === undefined)
885
+ return [];
886
+ const labels = await this.toDb(trx)('tx_labels')
887
+ .join('tx_labels_map', 'tx_labels_map.txLabelId', 'tx_labels.txLabelId')
888
+ .where('tx_labels_map.transactionId', transactionId)
889
+ .whereNot('tx_labels_map.isDeleted', true)
890
+ .whereNot('tx_labels.isDeleted', true);
891
+ return this.validateEntities(labels, undefined, ['isDeleted']);
892
+ }
893
+ async getTagsForOutputId(outputId, trx) {
894
+ const tags = await this.toDb(trx)('output_tags')
895
+ .join('output_tags_map', 'output_tags_map.outputTagId', 'output_tags.outputTagId')
896
+ .where('output_tags_map.outputId', outputId)
897
+ .whereNot('output_tags_map.isDeleted', true)
898
+ .whereNot('output_tags.isDeleted', true);
899
+ return this.validateEntities(tags, undefined, ['isDeleted']);
900
+ }
901
+ async purgeData(params, trx) {
902
+ return await (0, purgeData_1.purgeData)(this, params, trx);
903
+ }
904
+ async reviewStatus(args) {
905
+ return await (0, reviewStatus_1.reviewStatus)(this, args);
906
+ }
907
+ /**
908
+ * Counts the outputs for userId in basketId that are spendable: true
909
+ * AND whose transaction status is one of:
910
+ * - completed
911
+ * - unproven
912
+ * - sending (if excludeSending is false)
913
+ */
914
+ async countChangeInputs(userId, basketId, excludeSending) {
915
+ const status = ['completed', 'unproven'];
916
+ if (!excludeSending)
917
+ status.push('sending');
918
+ const statusText = status.map(s => `'${s}'`).join(',');
919
+ const txStatusCondition = `(SELECT status FROM transactions WHERE outputs.transactionId = transactions.transactionId) in (${statusText})`;
920
+ let q = this.knex('outputs').where({ userId, spendable: true, basketId }).whereRaw(txStatusCondition);
921
+ const count = await this.getCount(q);
922
+ return count;
923
+ }
924
+ /**
925
+ * Finds closest matching available change output to use as input for new transaction.
926
+ *
927
+ * Transactionally allocate the output such that
928
+ */
929
+ async allocateChangeInput(userId, basketId, targetSatoshis, exactSatoshis, excludeSending, transactionId) {
930
+ const status = ['completed', 'unproven'];
931
+ if (!excludeSending)
932
+ status.push('sending');
933
+ const statusText = status.map(s => `'${s}'`).join(',');
934
+ const r = await this.knex.transaction(async (trx) => {
935
+ const txStatusCondition = `AND (SELECT status FROM transactions WHERE outputs.transactionId = transactions.transactionId) in (${statusText})`;
936
+ let outputId;
937
+ const setOutputId = async (rawQuery) => {
938
+ let oidr = await trx.raw(rawQuery);
939
+ outputId = undefined;
940
+ if (!oidr['outputId'] && oidr.length > 0)
941
+ oidr = oidr[0];
942
+ if (!oidr['outputId'] && oidr.length > 0)
943
+ oidr = oidr[0];
944
+ if (oidr['outputId'])
945
+ outputId = Number(oidr['outputId']);
946
+ };
947
+ if (exactSatoshis !== undefined) {
948
+ // Find outputId of output that with exactSatoshis
949
+ await setOutputId(`
950
+ SELECT outputId
951
+ FROM outputs
952
+ WHERE userId = ${userId}
953
+ AND spendable = 1
954
+ AND basketId = ${basketId}
955
+ ${txStatusCondition}
956
+ AND satoshis = ${exactSatoshis}
957
+ LIMIT 1;
958
+ `);
959
+ }
960
+ if (outputId === undefined) {
961
+ // Find outputId of output that would at least fund targetSatoshis
962
+ await setOutputId(`
963
+ SELECT outputId
964
+ FROM outputs
965
+ WHERE userId = ${userId}
966
+ AND spendable = 1
967
+ AND basketId = ${basketId}
968
+ ${txStatusCondition}
969
+ AND satoshis - ${targetSatoshis} = (
970
+ SELECT MIN(satoshis - ${targetSatoshis})
971
+ FROM outputs
972
+ WHERE userId = ${userId}
973
+ AND spendable = 1
974
+ AND basketId = ${basketId}
975
+ ${txStatusCondition}
976
+ AND satoshis - ${targetSatoshis} >= 0
977
+ )
978
+ LIMIT 1;
979
+ `);
980
+ }
981
+ if (outputId === undefined) {
982
+ // Find outputId of output that would add the most fund targetSatoshis
983
+ await setOutputId(`
984
+ SELECT outputId
985
+ FROM outputs
986
+ WHERE userId = ${userId}
987
+ AND spendable = 1
988
+ AND basketId = ${basketId}
989
+ ${txStatusCondition}
990
+ AND satoshis - ${targetSatoshis} = (
991
+ SELECT MAX(satoshis - ${targetSatoshis})
992
+ FROM outputs
993
+ WHERE userId = ${userId}
994
+ AND spendable = 1
995
+ AND basketId = ${basketId}
996
+ ${txStatusCondition}
997
+ AND satoshis - ${targetSatoshis} < 0
998
+ )
999
+ LIMIT 1;
1000
+ `);
1001
+ }
1002
+ if (outputId === undefined)
1003
+ return undefined;
1004
+ await this.updateOutput(outputId, {
1005
+ spendable: false,
1006
+ spentBy: transactionId
1007
+ }, trx);
1008
+ const r = (0, utilityHelpers_1.verifyTruthy)(await this.findOutputById(outputId, trx));
1009
+ return r;
1010
+ });
1011
+ return r;
1012
+ }
1013
+ /**
1014
+ * Helper to force uniform behavior across database engines.
1015
+ * Use to process all individual records with time stamps retreived from database.
1016
+ */
1017
+ validateEntity(entity, dateFields, booleanFields) {
1018
+ entity.created_at = this.validateDate(entity.created_at);
1019
+ entity.updated_at = this.validateDate(entity.updated_at);
1020
+ if (dateFields) {
1021
+ for (const df of dateFields) {
1022
+ if (entity[df])
1023
+ entity[df] = this.validateDate(entity[df]);
1024
+ }
1025
+ }
1026
+ if (booleanFields) {
1027
+ for (const df of booleanFields) {
1028
+ if (entity[df] !== undefined)
1029
+ entity[df] = !!entity[df];
1030
+ }
1031
+ }
1032
+ for (const key of Object.keys(entity)) {
1033
+ const val = entity[key];
1034
+ if (val === null) {
1035
+ entity[key] = undefined;
1036
+ }
1037
+ else if (Buffer.isBuffer(val)) {
1038
+ entity[key] = Array.from(val);
1039
+ }
1040
+ }
1041
+ return entity;
1042
+ }
1043
+ /**
1044
+ * Helper to force uniform behavior across database engines.
1045
+ * Use to process all arrays of records with time stamps retreived from database.
1046
+ * @returns input `entities` array with contained values validated.
1047
+ */
1048
+ validateEntities(entities, dateFields, booleanFields) {
1049
+ for (let i = 0; i < entities.length; i++) {
1050
+ entities[i] = this.validateEntity(entities[i], dateFields, booleanFields);
1051
+ }
1052
+ return entities;
1053
+ }
1054
+ async adminStats(adminIdentityKey) {
1055
+ if (this.dbtype !== 'MySQL')
1056
+ throw new WERR_errors_1.WERR_NOT_IMPLEMENTED('adminStats, only MySQL is supported');
1057
+ const monitorEvent = (0, utilityHelpers_1.verifyOneOrNone)(await this.findMonitorEvents({
1058
+ partial: { event: 'MonitorCallHistory' },
1059
+ orderDescending: true,
1060
+ paged: { limit: 1 }
1061
+ }));
1062
+ const monitorStats = monitorEvent ? JSON.parse(monitorEvent.details) : undefined;
1063
+ const servicesStats = this.getServices().getServicesCallHistory(true);
1064
+ await this.insertMonitorEvent({
1065
+ event: 'ServicesCallHistory',
1066
+ details: JSON.stringify(servicesStats),
1067
+ created_at: new Date(),
1068
+ updated_at: new Date(),
1069
+ id: 0
1070
+ });
1071
+ const one_day_ago = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
1072
+ const one_week_ago = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
1073
+ const one_month_ago = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString();
1074
+ const [[{ usersDay, usersMonth, usersWeek, usersTotal, transactionsDay, transactionsMonth, transactionsWeek, transactionsTotal, txCompletedDay, txCompletedMonth, txCompletedWeek, txCompletedTotal, txFailedDay, txFailedMonth, txFailedWeek, txFailedTotal, txUnprocessedDay, txUnprocessedMonth, txUnprocessedWeek, txUnprocessedTotal, txSendingDay, txSendingMonth, txSendingWeek, txSendingTotal, txUnprovenDay, txUnprovenMonth, txUnprovenWeek, txUnprovenTotal, txUnsignedDay, txUnsignedMonth, txUnsignedWeek, txUnsignedTotal, txNosendDay, txNosendMonth, txNosendWeek, txNosendTotal, txNonfinalDay, txNonfinalMonth, txNonfinalWeek, txNonfinalTotal, txUnfailDay, txUnfailMonth, txUnfailWeek, txUnfailTotal, satoshisDefaultDay, satoshisDefaultMonth, satoshisDefaultWeek, satoshisDefaultTotal, satoshisOtherDay, satoshisOtherMonth, satoshisOtherWeek, satoshisOtherTotal, basketsDay, basketsMonth, basketsWeek, basketsTotal, labelsDay, labelsMonth, labelsWeek, labelsTotal, tagsDay, tagsMonth, tagsWeek, tagsTotal }]] = await this.knex.raw(`
1075
+ select
1076
+ (select count(*) from users where created_at > '${one_day_ago}') as usersDay,
1077
+ (select count(*) from users where created_at > '${one_week_ago}') as usersWeek,
1078
+ (select count(*) from users where created_at > '${one_month_ago}') as usersMonth,
1079
+ (select count(*) from users) as usersTotal,
1080
+ (select count(*) from transactions where created_at > '${one_day_ago}') as transactionsDay,
1081
+ (select count(*) from transactions where created_at > '${one_week_ago}') as transactionsWeek,
1082
+ (select count(*) from transactions where created_at > '${one_month_ago}') as transactionsMonth,
1083
+ (select count(*) from transactions) as transactionsTotal,
1084
+ (select count(*) from transactions where status = 'completed' and created_at > '${one_day_ago}') as txCompletedDay,
1085
+ (select count(*) from transactions where status = 'completed' and created_at > '${one_week_ago}') as txCompletedWeek,
1086
+ (select count(*) from transactions where status = 'completed' and created_at > '${one_month_ago}') as txCompletedMonth,
1087
+ (select count(*) from transactions where status = 'completed') as txCompletedTotal,
1088
+ (select count(*) from transactions where status = 'failed' and created_at > '${one_day_ago}') as txFailedDay,
1089
+ (select count(*) from transactions where status = 'failed' and created_at > '${one_week_ago}') as txFailedWeek,
1090
+ (select count(*) from transactions where status = 'failed' and created_at > '${one_month_ago}') as txFailedMonth,
1091
+ (select count(*) from transactions where status = 'failed') as txFailedTotal,
1092
+ (select count(*) from transactions where status = 'unprocessed' and created_at > '${one_day_ago}') as txUnprocessedDay,
1093
+ (select count(*) from transactions where status = 'unprocessed' and created_at > '${one_week_ago}') as txUnprocessedWeek,
1094
+ (select count(*) from transactions where status = 'unprocessed' and created_at > '${one_month_ago}') as txUnprocessedMonth,
1095
+ (select count(*) from transactions where status = 'unprocessed') as txUnprocessedTotal,
1096
+ (select count(*) from transactions where status = 'sending' and created_at > '${one_day_ago}') as txSendingDay,
1097
+ (select count(*) from transactions where status = 'sending' and created_at > '${one_week_ago}') as txSendingWeek,
1098
+ (select count(*) from transactions where status = 'sending' and created_at > '${one_month_ago}') as txSendingMonth,
1099
+ (select count(*) from transactions where status = 'sending') as txSendingTotal,
1100
+ (select count(*) from transactions where status = 'unproven' and created_at > '${one_day_ago}') as txUnprovenDay,
1101
+ (select count(*) from transactions where status = 'unproven' and created_at > '${one_week_ago}') as txUnprovenWeek,
1102
+ (select count(*) from transactions where status = 'unproven' and created_at > '${one_month_ago}') as txUnprovenMonth,
1103
+ (select count(*) from transactions where status = 'unproven') as txUnprovenTotal,
1104
+ (select count(*) from transactions where status = 'unsigned' and created_at > '${one_day_ago}') as txUnsignedDay,
1105
+ (select count(*) from transactions where status = 'unsigned' and created_at > '${one_week_ago}') as txUnsignedWeek,
1106
+ (select count(*) from transactions where status = 'unsigned' and created_at > '${one_month_ago}') as txUnsignedMonth,
1107
+ (select count(*) from transactions where status = 'unsigned') as txUnsignedTotal,
1108
+ (select count(*) from transactions where status = 'nosend' and created_at > '${one_day_ago}') as txNosendDay,
1109
+ (select count(*) from transactions where status = 'nosend' and created_at > '${one_week_ago}') as txNosendWeek,
1110
+ (select count(*) from transactions where status = 'nosend' and created_at > '${one_month_ago}') as txNosendMonth,
1111
+ (select count(*) from transactions where status = 'nosend') as txNosendTotal,
1112
+ (select count(*) from transactions where status = 'nonfinal' and created_at > '${one_day_ago}') as txNonfinalDay,
1113
+ (select count(*) from transactions where status = 'nonfinal' and created_at > '${one_week_ago}') as txNonfinalWeek,
1114
+ (select count(*) from transactions where status = 'nonfinal' and created_at > '${one_month_ago}') as txNonfinalMonth,
1115
+ (select count(*) from transactions where status = 'nonfinal') as txNonfinalTotal,
1116
+ (select count(*) from transactions where status = 'unfail' and created_at > '${one_day_ago}') as txUnfailDay,
1117
+ (select count(*) from transactions where status = 'unfail' and created_at > '${one_week_ago}') as txUnfailWeek,
1118
+ (select count(*) from transactions where status = 'unfail' and created_at > '${one_month_ago}') as txUnfailMonth,
1119
+ (select count(*) from transactions where status = 'unfail') as txUnfailTotal,
1120
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 1 and created_at > '${one_day_ago}') as satoshisDefaultDay,
1121
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 1 and created_at > '${one_week_ago}') as satoshisDefaultWeek,
1122
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 1 and created_at > '${one_month_ago}') as satoshisDefaultMonth,
1123
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 1) as satoshisDefaultTotal,
1124
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 0 and not basketId is null and created_at > '${one_day_ago}') as satoshisOtherDay,
1125
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 0 and not basketId is null and created_at > '${one_week_ago}') as satoshisOtherWeek,
1126
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 0 and not basketId is null and created_at > '${one_month_ago}') as satoshisOtherMonth,
1127
+ (select sum(satoshis) from outputs where spendable = 1 and \`change\` = 0 and not basketId is null) as satoshisOtherTotal,
1128
+ (select count(*) from output_baskets where created_at > '${one_day_ago}') as basketsDay,
1129
+ (select count(*) from output_baskets where created_at > '${one_week_ago}') as basketsWeek,
1130
+ (select count(*) from output_baskets where created_at > '${one_month_ago}') as basketsMonth,
1131
+ (select count(*) from output_baskets) as basketsTotal,
1132
+ (select count(*) from tx_labels where created_at > '${one_day_ago}') as labelsDay,
1133
+ (select count(*) from tx_labels where created_at > '${one_week_ago}') as labelsWeek,
1134
+ (select count(*) from tx_labels where created_at > '${one_month_ago}') as labelsMonth,
1135
+ (select count(*) from tx_labels) as labelsTotal,
1136
+ (select count(*) from output_tags where created_at > '${one_day_ago}') as tagsDay,
1137
+ (select count(*) from output_tags where created_at > '${one_week_ago}') as tagsWeek,
1138
+ (select count(*) from output_tags where created_at > '${one_month_ago}') as tagsMonth,
1139
+ (select count(*) from output_tags) as tagsTotal
1140
+ `);
1141
+ const r = {
1142
+ monitorStats,
1143
+ servicesStats,
1144
+ requestedBy: adminIdentityKey,
1145
+ when: new Date().toISOString(),
1146
+ usersDay,
1147
+ usersWeek,
1148
+ usersMonth,
1149
+ usersTotal,
1150
+ transactionsDay,
1151
+ transactionsWeek,
1152
+ transactionsMonth,
1153
+ transactionsTotal,
1154
+ txCompletedDay,
1155
+ txCompletedWeek,
1156
+ txCompletedMonth,
1157
+ txCompletedTotal,
1158
+ txFailedDay,
1159
+ txFailedWeek,
1160
+ txFailedMonth,
1161
+ txFailedTotal,
1162
+ txUnprocessedDay,
1163
+ txUnprocessedWeek,
1164
+ txUnprocessedMonth,
1165
+ txUnprocessedTotal,
1166
+ txSendingDay,
1167
+ txSendingWeek,
1168
+ txSendingMonth,
1169
+ txSendingTotal,
1170
+ txUnprovenDay,
1171
+ txUnprovenWeek,
1172
+ txUnprovenMonth,
1173
+ txUnprovenTotal,
1174
+ txUnsignedDay,
1175
+ txUnsignedWeek,
1176
+ txUnsignedMonth,
1177
+ txUnsignedTotal,
1178
+ txNosendDay,
1179
+ txNosendWeek,
1180
+ txNosendMonth,
1181
+ txNosendTotal,
1182
+ txNonfinalDay,
1183
+ txNonfinalWeek,
1184
+ txNonfinalMonth,
1185
+ txNonfinalTotal,
1186
+ txUnfailDay,
1187
+ txUnfailWeek,
1188
+ txUnfailMonth,
1189
+ txUnfailTotal,
1190
+ satoshisDefaultDay: Number(satoshisDefaultDay),
1191
+ satoshisDefaultWeek: Number(satoshisDefaultWeek),
1192
+ satoshisDefaultMonth: Number(satoshisDefaultMonth),
1193
+ satoshisDefaultTotal: Number(satoshisDefaultTotal),
1194
+ satoshisOtherDay: Number(satoshisOtherDay),
1195
+ satoshisOtherWeek: Number(satoshisOtherWeek),
1196
+ satoshisOtherMonth: Number(satoshisOtherMonth),
1197
+ satoshisOtherTotal: Number(satoshisOtherTotal),
1198
+ basketsDay,
1199
+ basketsWeek,
1200
+ basketsMonth,
1201
+ basketsTotal,
1202
+ labelsDay,
1203
+ labelsWeek,
1204
+ labelsMonth,
1205
+ labelsTotal,
1206
+ tagsDay,
1207
+ tagsWeek,
1208
+ tagsMonth,
1209
+ tagsTotal
1210
+ };
1211
+ return r;
1212
+ }
1213
+ }
1214
+ exports.StorageKnex = StorageKnex;
1215
+ //# sourceMappingURL=StorageKnex.js.map