@bsv/wallet-toolbox 1.6.4 → 1.6.6

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 (264) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/docs/client.md +402 -313
  3. package/docs/monitor.md +4 -4
  4. package/docs/services.md +118 -133
  5. package/docs/wallet.md +402 -313
  6. package/mobile/out/src/monitor/Monitor.d.ts +3 -3
  7. package/mobile/out/src/monitor/Monitor.d.ts.map +1 -1
  8. package/mobile/out/src/monitor/Monitor.js.map +1 -1
  9. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts +88 -2
  10. package/mobile/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  11. package/mobile/out/src/services/Services.js +1 -1
  12. package/mobile/out/src/services/Services.js.map +1 -1
  13. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +3 -3
  14. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  15. package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  16. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -6
  17. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -1
  18. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +1 -1
  19. package/mobile/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  20. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +2 -2
  21. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  22. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +33 -16
  23. package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  24. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +1 -1
  25. package/mobile/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -1
  26. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +1 -1
  27. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  28. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -11
  29. package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  30. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +2 -2
  31. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  32. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +4 -4
  33. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  34. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -1
  35. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  36. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  37. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +2 -3
  38. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  39. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +2 -1
  40. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  41. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  42. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  43. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +1 -1
  44. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  45. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  46. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  47. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +4 -5
  48. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  49. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +2 -1
  50. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  51. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -1
  52. package/mobile/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  53. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +7 -7
  54. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  55. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +42 -5
  56. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  57. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +91 -0
  58. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
  59. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +448 -0
  60. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
  61. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -7
  62. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  63. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
  64. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  65. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +12 -0
  66. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  67. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +83 -0
  68. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  69. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts +2 -0
  70. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
  71. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js +2 -0
  72. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
  73. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
  74. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  75. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
  76. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  77. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
  78. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  79. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  80. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
  81. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  82. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  83. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  84. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  85. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
  86. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  87. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  88. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
  89. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  90. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
  91. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  92. package/mobile/out/src/services/createDefaultWalletServicesOptions.js +19 -17
  93. package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  94. package/mobile/package-lock.json +2 -2
  95. package/mobile/package.json +1 -1
  96. package/out/src/monitor/Monitor.d.ts +3 -3
  97. package/out/src/monitor/Monitor.d.ts.map +1 -1
  98. package/out/src/monitor/Monitor.js.map +1 -1
  99. package/out/src/sdk/WalletServices.interfaces.d.ts +88 -2
  100. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  101. package/out/src/services/Services.js +1 -1
  102. package/out/src/services/Services.js.map +1 -1
  103. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +3 -3
  104. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  105. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  106. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -6
  107. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -1
  108. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +1 -1
  109. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  110. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +2 -2
  111. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  112. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +33 -16
  113. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  114. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +1 -1
  115. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -1
  116. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +1 -1
  117. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  118. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -11
  119. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  120. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +2 -2
  121. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  122. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +4 -4
  123. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  124. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -1
  125. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  126. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  127. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +2 -3
  128. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  129. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  130. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +1 -1
  131. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  132. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +2 -1
  133. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  134. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  135. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  136. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +1 -1
  137. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  138. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  139. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +3 -3
  140. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  141. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  142. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  143. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +4 -5
  144. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  145. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +1 -1
  146. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -1
  147. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js +1 -1
  148. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js.map +1 -1
  149. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +2 -1
  150. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  151. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -1
  152. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  153. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  154. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +4 -3
  155. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  156. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +7 -7
  157. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +42 -5
  159. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +91 -0
  161. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
  162. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +448 -0
  163. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
  164. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -29
  165. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  166. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +61 -137
  167. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  168. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -7
  169. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
  171. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  172. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +2 -0
  173. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +1 -0
  174. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +81 -0
  175. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -0
  176. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +12 -1
  177. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
  178. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +1 -1
  179. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -1
  180. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +2 -0
  181. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +1 -0
  182. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +50 -0
  183. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -0
  184. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +12 -0
  185. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  186. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +83 -0
  187. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  188. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +2 -0
  189. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/index.client.js +2 -0
  191. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
  193. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  194. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
  195. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  196. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
  197. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  199. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
  200. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  202. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  203. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  204. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
  205. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  206. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  207. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
  208. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  209. package/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
  210. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  211. package/out/src/services/createDefaultWalletServicesOptions.js +19 -17
  212. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  213. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +2 -0
  214. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +1 -0
  215. package/out/src/services/providers/__tests/exchangeRates.test.js +19 -0
  216. package/out/src/services/providers/__tests/exchangeRates.test.js.map +1 -0
  217. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  218. package/out/src/storage/remoting/StorageServer.js +4 -0
  219. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  220. package/out/test/Wallet/support/operations.man.test.js +1 -1
  221. package/out/test/Wallet/support/operations.man.test.js.map +1 -1
  222. package/out/tsconfig.all.tsbuildinfo +1 -1
  223. package/package.json +1 -1
  224. package/src/monitor/Monitor.ts +3 -3
  225. package/src/sdk/WalletServices.interfaces.ts +88 -1
  226. package/src/services/Services.ts +1 -1
  227. package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -2
  228. package/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.ts +1 -7
  229. package/src/services/chaintracker/chaintracks/Api/BulkStorageApi.ts +1 -1
  230. package/src/services/chaintracker/chaintracks/Api/ChaintracksApi.ts +2 -2
  231. package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +39 -14
  232. package/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts +1 -1
  233. package/src/services/chaintracker/chaintracks/Chaintracks.ts +16 -11
  234. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts +4 -5
  235. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +1 -1
  236. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +2 -3
  237. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts +1 -0
  238. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.ts +3 -1
  239. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts +1 -1
  240. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts +10 -3
  241. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.ts +6 -4
  242. package/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.ts +1 -1
  243. package/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.ts +1 -1
  244. package/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.ts +2 -1
  245. package/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.ts +4 -3
  246. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts +60 -11
  247. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts +557 -0
  248. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +80 -179
  249. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +63 -133
  250. package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.ts +102 -0
  251. package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +14 -1
  252. package/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.ts +1 -1
  253. package/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.ts +61 -0
  254. package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +111 -0
  255. package/src/services/chaintracker/chaintracks/index.client.ts +2 -0
  256. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +20 -11
  257. package/src/services/chaintracker/chaintracks/util/BulkFilesReader.ts +1 -1
  258. package/src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts +3 -3
  259. package/src/services/chaintracker/chaintracks/util/HeightRange.ts +4 -1
  260. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +26 -11
  261. package/src/services/createDefaultWalletServicesOptions.ts +25 -18
  262. package/src/services/providers/__tests/exchangeRates.test.ts +18 -0
  263. package/src/storage/remoting/StorageServer.ts +5 -0
  264. package/test/Wallet/support/operations.man.test.ts +1 -1
package/docs/monitor.md CHANGED
@@ -59,7 +59,7 @@ export interface MonitorOptions {
59
59
  chain: Chain;
60
60
  services: Services;
61
61
  storage: MonitorStorage;
62
- chaintracks: ChaintracksServiceClient;
62
+ chaintracks: ChaintracksClientApi;
63
63
  msecsWaitPerMerkleProofServiceReq: number;
64
64
  taskRunWaitMsecs: number;
65
65
  abandonedMsecs: number;
@@ -70,7 +70,7 @@ export interface MonitorOptions {
70
70
  }
71
71
  ```
72
72
 
73
- See also: [Chain](./client.md#type-chain), [ChaintracksServiceClient](./services.md#class-chaintracksserviceclient), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services)
73
+ See also: [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services)
74
74
 
75
75
  ###### Property msecsWaitPerMerkleProofServiceReq
76
76
 
@@ -156,7 +156,7 @@ export class Monitor {
156
156
  services: Services;
157
157
  chain: Chain;
158
158
  storage: MonitorStorage;
159
- chaintracks: ChaintracksServiceClient;
159
+ chaintracks: ChaintracksClientApi;
160
160
  onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
161
161
  onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
162
162
  constructor(options: MonitorOptions)
@@ -197,7 +197,7 @@ export class Monitor {
197
197
  }
198
198
  ```
199
199
 
200
- See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [ChaintracksServiceClient](./services.md#class-chaintracksserviceclient), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
200
+ See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
201
201
 
202
202
  ###### Property _otherTasks
203
203
 
package/docs/services.md CHANGED
@@ -392,7 +392,7 @@ export interface BulkIngestorApi {
392
392
  getPresentHeight(): Promise<number | undefined>;
393
393
  fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
394
394
  synchronize(presentHeight: number, before: HeightRanges, priorLiveHeaders: BlockHeader[]): Promise<BulkSyncResult>;
395
- setStorage(storage: ChaintracksStorageApi): Promise<void>;
395
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>;
396
396
  storage(): ChaintracksStorageApi;
397
397
  }
398
398
  ```
@@ -445,7 +445,7 @@ Called before first Synchronize with reference to storage.
445
445
  Components requiring asynchronous setup can override base class implementation.
446
446
 
447
447
  ```ts
448
- setStorage(storage: ChaintracksStorageApi): Promise<void>
448
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
449
449
  ```
450
450
  See also: [ChaintracksStorageApi](./services.md#interface-chaintracksstorageapi)
451
451
 
@@ -490,21 +490,11 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
490
490
  export interface BulkIngestorBaseOptions {
491
491
  chain: Chain;
492
492
  jsonResource: string | undefined;
493
- bypassLiveEnabled: boolean;
494
493
  }
495
494
  ```
496
495
 
497
496
  See also: [Chain](./client.md#type-chain)
498
497
 
499
- ###### Property bypassLiveEnabled
500
-
501
- If true, and the bulk ingestor supports it, bypass the live database
502
- up to `liveHeightThreshold` of available headers remaining.
503
-
504
- ```ts
505
- bypassLiveEnabled: boolean
506
- ```
507
-
508
498
  ###### Property chain
509
499
 
510
500
  The target chain: "main" or "test"
@@ -661,7 +651,7 @@ export interface BulkStorageApi {
661
651
  findHeaderForHeight(height: number): Promise<BlockHeader>;
662
652
  headersToBuffer(height: number, count: number): Promise<Uint8Array>;
663
653
  exportBulkHeaders(rootFolder: string, jsonFilename: string, maxPerFile: number): Promise<void>;
664
- setStorage(storage: ChaintracksStorageApi): Promise<void>;
654
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>;
665
655
  }
666
656
  ```
667
657
 
@@ -782,7 +772,7 @@ Called before first Synchronize with reference to storage.
782
772
  Components requiring asynchronous setup can override base class implementation.
783
773
 
784
774
  ```ts
785
- setStorage(storage: ChaintracksStorageApi): Promise<void>
775
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
786
776
  ```
787
777
  See also: [ChaintracksStorageApi](./services.md#interface-chaintracksstorageapi)
788
778
 
@@ -1273,7 +1263,7 @@ export interface ChaintracksOptions {
1273
1263
  bulkIngestors: BulkIngestorApi[];
1274
1264
  liveIngestors: LiveIngestorApi[];
1275
1265
  addLiveRecursionLimit: number;
1276
- logging: undefined | "all";
1266
+ logging?: (...args: any[]) => void;
1277
1267
  readonly: boolean;
1278
1268
  }
1279
1269
  ```
@@ -1291,10 +1281,10 @@ addLiveRecursionLimit: number
1291
1281
 
1292
1282
  ###### Property logging
1293
1283
 
1294
- Event logging level
1284
+ Optional logging method
1295
1285
 
1296
1286
  ```ts
1297
- logging: undefined | "all"
1287
+ logging?: (...args: any[]) => void
1298
1288
  ```
1299
1289
 
1300
1290
  ###### Property readonly
@@ -1406,6 +1396,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1406
1396
 
1407
1397
  ```ts
1408
1398
  export interface ChaintracksStorageApi extends ChaintracksStorageQueryApi, ChaintracksStorageIngestApi {
1399
+ log: (...args: any[]) => void;
1409
1400
  bulkManager: BulkFileDataManager;
1410
1401
  destroy(): Promise<void>;
1411
1402
  }
@@ -1526,6 +1517,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1526
1517
 
1527
1518
  ```ts
1528
1519
  export interface ChaintracksStorageIngestApi {
1520
+ log: (...args: any[]) => void;
1529
1521
  insertHeader(header: BlockHeader, prev?: LiveBlockHeader): Promise<InsertHeaderResult>;
1530
1522
  pruneLiveBlockHeaders(activeTipHeight: number): Promise<void>;
1531
1523
  migrateLiveToBulk(count: number): Promise<void>;
@@ -1534,11 +1526,10 @@ export interface ChaintracksStorageIngestApi {
1534
1526
  migrateLatest(): Promise<void>;
1535
1527
  dropAllData(): Promise<void>;
1536
1528
  destroy(): Promise<void>;
1537
- getLiveHeightRange(): Promise<HeightRange>;
1538
1529
  }
1539
1530
  ```
1540
1531
 
1541
- See also: [BlockHeader](./client.md#interface-blockheader), [HeightRange](./services.md#class-heightrange), [InsertHeaderResult](./services.md#type-insertheaderresult), [LiveBlockHeader](./services.md#interface-liveblockheader)
1532
+ See also: [BlockHeader](./client.md#interface-blockheader), [InsertHeaderResult](./services.md#type-insertheaderresult), [LiveBlockHeader](./services.md#interface-liveblockheader)
1542
1533
 
1543
1534
  ###### Method deleteOlderLiveBlockHeaders
1544
1535
 
@@ -1562,17 +1553,6 @@ Release all resources. Makes the instance unusable.
1562
1553
  destroy(): Promise<void>
1563
1554
  ```
1564
1555
 
1565
- ###### Method getLiveHeightRange
1566
-
1567
- ```ts
1568
- getLiveHeightRange(): Promise<HeightRange>
1569
- ```
1570
- See also: [HeightRange](./services.md#class-heightrange)
1571
-
1572
- Returns
1573
-
1574
- min, max height range in live database or empty (0, -1)
1575
-
1576
1556
  ###### Method insertHeader
1577
1557
 
1578
1558
  Attempts to insert a block header into the chain.
@@ -1675,44 +1655,11 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1675
1655
  ```ts
1676
1656
  export interface ChaintracksStorageKnexOptions extends ChaintracksStorageBaseOptions {
1677
1657
  knex: Knex | undefined;
1678
- headerTableName: string;
1679
- bulkBlockHashTableName: string;
1680
- bulkMerkleRootTableName: string;
1681
1658
  }
1682
1659
  ```
1683
1660
 
1684
1661
  See also: [ChaintracksStorageBaseOptions](./services.md#interface-chaintracksstoragebaseoptions)
1685
1662
 
1686
- ###### Property bulkBlockHashTableName
1687
-
1688
- Required.
1689
-
1690
- The table name for the block header hash to height index.
1691
-
1692
- ```ts
1693
- bulkBlockHashTableName: string
1694
- ```
1695
-
1696
- ###### Property bulkMerkleRootTableName
1697
-
1698
- Required.
1699
-
1700
- The table name for the block header merkleRoot to height index.
1701
-
1702
- ```ts
1703
- bulkMerkleRootTableName: string
1704
- ```
1705
-
1706
- ###### Property headerTableName
1707
-
1708
- Required.
1709
-
1710
- The table name for live block headers.
1711
-
1712
- ```ts
1713
- headerTableName: string
1714
- ```
1715
-
1716
1663
  ###### Property knex
1717
1664
 
1718
1665
  Required.
@@ -1755,6 +1702,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1755
1702
 
1756
1703
  ```ts
1757
1704
  export interface ChaintracksStorageQueryApi {
1705
+ log: (...args: any[]) => void;
1758
1706
  findChainTipHeader(): Promise<LiveBlockHeader>;
1759
1707
  findChainTipHash(): Promise<string>;
1760
1708
  findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>;
@@ -1764,7 +1712,10 @@ export interface ChaintracksStorageQueryApi {
1764
1712
  findCommonAncestor(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise<LiveBlockHeader>;
1765
1713
  findReorgDepth(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise<number>;
1766
1714
  isMerkleRootActive(merkleRoot: string): Promise<boolean>;
1767
- getHeaders(height: number, count: number): Promise<number[]>;
1715
+ getHeadersUint8Array(height: number, count: number): Promise<Uint8Array>;
1716
+ getHeaders(height: number, count: number): Promise<BaseBlockHeader[]>;
1717
+ getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>;
1718
+ getBulkHeaders(range: HeightRange): Promise<Uint8Array>;
1768
1719
  findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
1769
1720
  findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
1770
1721
  findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>;
@@ -1773,10 +1724,7 @@ export interface ChaintracksStorageQueryApi {
1773
1724
  bulk: HeightRange;
1774
1725
  live: HeightRange;
1775
1726
  }>;
1776
- findLiveHeightRange(): Promise<{
1777
- minHeight: number;
1778
- maxHeight: number;
1779
- }>;
1727
+ findLiveHeightRange(): Promise<HeightRange>;
1780
1728
  findMaxHeaderId(): Promise<number>;
1781
1729
  chain: Chain;
1782
1730
  liveHeightThreshold: number;
@@ -1786,7 +1734,7 @@ export interface ChaintracksStorageQueryApi {
1786
1734
  }
1787
1735
  ```
1788
1736
 
1789
- See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [HeightRange](./services.md#class-heightrange), [LiveBlockHeader](./services.md#interface-liveblockheader)
1737
+ See also: [BaseBlockHeader](./client.md#interface-baseblockheader), [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [HeightRange](./services.md#class-heightrange), [LiveBlockHeader](./services.md#interface-liveblockheader)
1790
1738
 
1791
1739
  ###### Property batchInsertLimit
1792
1740
 
@@ -1972,11 +1920,9 @@ See also: [LiveBlockHeader](./services.md#interface-liveblockheader)
1972
1920
  ###### Method findLiveHeightRange
1973
1921
 
1974
1922
  ```ts
1975
- findLiveHeightRange(): Promise<{
1976
- minHeight: number;
1977
- maxHeight: number;
1978
- }>
1923
+ findLiveHeightRange(): Promise<HeightRange>
1979
1924
  ```
1925
+ See also: [HeightRange](./services.md#class-heightrange)
1980
1926
 
1981
1927
  Returns
1982
1928
 
@@ -2021,24 +1967,72 @@ getAvailableHeightRanges(): Promise<{
2021
1967
  ```
2022
1968
  See also: [HeightRange](./services.md#class-heightrange)
2023
1969
 
1970
+ ###### Method getBulkHeaders
1971
+
1972
+ Returns serialized bulk headers in the given range.
1973
+
1974
+ ```ts
1975
+ getBulkHeaders(range: HeightRange): Promise<Uint8Array>
1976
+ ```
1977
+ See also: [HeightRange](./services.md#class-heightrange)
1978
+
1979
+ Returns
1980
+
1981
+ serialized headers as a Uint8Array.
1982
+
2024
1983
  ###### Method getHeaders
2025
1984
 
2026
- Adds headers in 80 byte serialized format to a buffer.
2027
- Only adds active headers.
2028
- Buffer length divided by 80 is the actual number returned.
1985
+ Returns an array of deserialized headers.
1986
+ Only adds bulk and active live headers.
1987
+
1988
+ ```ts
1989
+ getHeaders(height: number, count: number): Promise<BaseBlockHeader[]>
1990
+ ```
1991
+ See also: [BaseBlockHeader](./client.md#interface-baseblockheader)
1992
+
1993
+ Returns
2029
1994
 
2030
- This function supports the ChaintracksClientApi
1995
+ array of deserialized headers
1996
+
1997
+ Argument Details
1998
+
1999
+ + **height**
2000
+ + is the minimum header height to return, must be >= zero.
2001
+ + **count**
2002
+ + height + count - 1 is the maximum header height to return.
2003
+
2004
+ ###### Method getHeadersUint8Array
2005
+
2006
+ Returns serialized headers as a Uint8Array.
2007
+ Only adds bulk and active live headers.
2031
2008
 
2032
2009
  ```ts
2033
- getHeaders(height: number, count: number): Promise<number[]>
2010
+ getHeadersUint8Array(height: number, count: number): Promise<Uint8Array>
2034
2011
  ```
2035
2012
 
2013
+ Returns
2014
+
2015
+ serialized headers as a Uint8Array.
2016
+
2036
2017
  Argument Details
2037
2018
 
2038
2019
  + **height**
2039
- + of first header, must be >= zero.
2020
+ + is the minimum header height to return, must be >= zero.
2040
2021
  + **count**
2041
- + of headers, maximum
2022
+ + height + count - 1 is the maximum header height to return.
2023
+
2024
+ ###### Method getLiveHeaders
2025
+
2026
+ Returns active `LiveBlockHeaders` with height in the given range.
2027
+
2028
+ ```ts
2029
+ getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
2030
+ ```
2031
+ See also: [HeightRange](./services.md#class-heightrange), [LiveBlockHeader](./services.md#interface-liveblockheader)
2032
+
2033
+ Returns
2034
+
2035
+ array of active `LiveBlockHeaders`
2042
2036
 
2043
2037
  ###### Method isMerkleRootActive
2044
2038
 
@@ -2213,7 +2207,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
2213
2207
  export interface LiveIngestorApi {
2214
2208
  shutdown(): Promise<void>;
2215
2209
  getHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
2216
- setStorage(storage: ChaintracksStorageApi): Promise<void>;
2210
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>;
2217
2211
  storage(): ChaintracksStorageApi;
2218
2212
  startListening(liveHeaders: BlockHeader[]): Promise<void>;
2219
2213
  stopListening(): void;
@@ -2228,7 +2222,7 @@ Called before first Synchronize with reference to storage.
2228
2222
  Components requiring asynchronous setup can override base class implementation.
2229
2223
 
2230
2224
  ```ts
2231
- setStorage(storage: ChaintracksStorageApi): Promise<void>
2225
+ setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
2232
2226
  ```
2233
2227
  See also: [ChaintracksStorageApi](./services.md#interface-chaintracksstorageapi)
2234
2228
 
@@ -2794,7 +2788,7 @@ export class BulkFileDataManager {
2794
2788
  constructor(options: BulkFileDataManagerOptions | Chain)
2795
2789
  async createReader(range?: HeightRange, maxBufferSize?: number): Promise<BulkFileDataReader>
2796
2790
  async updateFromUrl(cdnUrl: string): Promise<void>
2797
- async setStorage(storage: ChaintracksStorageBulkFileApi): Promise<void>
2791
+ async setStorage(storage: ChaintracksStorageBulkFileApi, log: (...args: any[]) => void): Promise<void>
2798
2792
  async deleteBulkFiles(): Promise<void>
2799
2793
  async merge(files: BulkHeaderFileInfo[]): Promise<BulkFileDataManagerMergeResult>
2800
2794
  toLogString(what?: BulkFileDataManagerMergeResult | BulkFileData[] | BulkHeaderFileInfo[]): string
@@ -2964,7 +2958,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
2964
2958
  ```ts
2965
2959
  export class BulkFilesReaderStorage extends BulkFilesReader {
2966
2960
  constructor(storage: ChaintracksStorageBase, files: BulkHeaderFileStorage[], range?: HeightRange, maxBufferSize?: number)
2967
- static async fromStorage(storage: ChaintracksStorageBase, fetch: ChaintracksFetchApi, range?: HeightRange, maxBufferSize?: number): Promise<BulkFilesReaderStorage>
2961
+ static async fromStorage(storage: ChaintracksStorageBase, fetch?: ChaintracksFetchApi, range?: HeightRange, maxBufferSize?: number): Promise<BulkFilesReaderStorage>
2968
2962
  }
2969
2963
  ```
2970
2964
 
@@ -3037,7 +3031,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
3037
3031
 
3038
3032
  ```ts
3039
3033
  export class BulkHeaderFileStorage extends BulkHeaderFile {
3040
- constructor(info: BulkHeaderFileInfo, public storage: ChaintracksStorageBase, public fetch: ChaintracksFetchApi)
3034
+ constructor(info: BulkHeaderFileInfo, public storage: ChaintracksStorageBase, public fetch?: ChaintracksFetchApi)
3041
3035
  override async readDataFromFile(length: number, offset: number): Promise<Uint8Array | undefined>
3042
3036
  override async ensureData(): Promise<Uint8Array>
3043
3037
  }
@@ -3068,10 +3062,10 @@ export abstract class BulkIngestorBase implements BulkIngestorApi {
3068
3062
  static createBulkIngestorBaseOptions(chain: Chain)
3069
3063
  chain: Chain;
3070
3064
  jsonFilename: string;
3071
- bypassLiveEnabled: boolean;
3065
+ log: (...args: any[]) => void = () => ;
3072
3066
  constructor(options: BulkIngestorBaseOptions)
3073
- async setStorage(storage: ChaintracksStorageBase): Promise<void>
3074
- async shutdown(): Promise<void>
3067
+ async setStorage(storage: ChaintracksStorageBase, log: (...args: any[]) => void): Promise<void>
3068
+ async shutdown(): Promise<void> { }
3075
3069
  storageOrUndefined(): ChaintracksStorageApi | undefined
3076
3070
  storage(): ChaintracksStorageBase
3077
3071
  filesInfo: BulkHeaderFilesInfo | undefined;
@@ -3341,6 +3335,7 @@ export abstract class BulkStorageBase implements BulkStorageApi {
3341
3335
  static createBulkStorageBaseOptions(chain: Chain, fs: ChaintracksFsApi): BulkStorageBaseOptions
3342
3336
  chain: Chain;
3343
3337
  fs: ChaintracksFsApi;
3338
+ log: (...args: any[]) => void = () => ;
3344
3339
  constructor(options: BulkStorageBaseOptions)
3345
3340
  async shutdown(): Promise<void>
3346
3341
  abstract appendHeaders(minHeight: number, count: number, newBulkHeaders: Uint8Array): Promise<void>;
@@ -3349,7 +3344,7 @@ export abstract class BulkStorageBase implements BulkStorageApi {
3349
3344
  abstract findHeaderForHeightOrUndefined(height: number): Promise<BlockHeader | undefined>;
3350
3345
  async findHeaderForHeight(height: number): Promise<BlockHeader>
3351
3346
  async getHeightRange(): Promise<HeightRange>
3352
- async setStorage(storage: ChaintracksStorageBase): Promise<void>
3347
+ async setStorage(storage: ChaintracksStorageBase, log: (...args: any[]) => void): Promise<void> { }
3353
3348
  async exportBulkHeaders(rootFolder: string, jsonFilename: string, maxPerFile: number): Promise<void>
3354
3349
  }
3355
3350
  ```
@@ -3383,7 +3378,6 @@ export class Chaintracks implements ChaintracksManagementApi {
3383
3378
  async isSynchronized(): Promise<boolean>
3384
3379
  async findHeaderForHeight(height: number): Promise<BlockHeader | undefined>
3385
3380
  async findHeaderForBlockHash(hash: string): Promise<BlockHeader | undefined>
3386
- async findHeaderForBlockHashNoLock(hash: string): Promise<BlockHeader | undefined>
3387
3381
  async isValidRootForHeight(root: string, height: number): Promise<boolean>
3388
3382
  async getInfo(): Promise<ChaintracksInfoApi>
3389
3383
  async getHeaders(height: number, count: number): Promise<string>
@@ -3416,7 +3410,7 @@ export class Chaintracks implements ChaintracksManagementApi {
3416
3410
  }
3417
3411
  }
3418
3412
  catch (uerr: unknown) {
3419
- console.log(uerr);
3413
+ console.error(uerr);
3420
3414
  }
3421
3415
  }
3422
3416
  if (bulkDone)
@@ -3535,11 +3529,13 @@ export class Chaintracks implements ChaintracksManagementApi {
3535
3529
  liveHeaderDupes = 0;
3536
3530
  }
3537
3531
  const updated = await this.storage.getAvailableHeightRanges();
3538
- this.log(`${count} live headers added: bulk ${updated.bulk}, live ${updated.live}`);
3532
+ this.log(`After adding ${count} live headers
3533
+ After live: bulk ${updated.bulk}, live ${updated.live}
3534
+ `);
3539
3535
  count = 0;
3540
3536
  }
3541
3537
  if (!this.subscriberCallbacksEnabled) {
3542
- const live = await this.storage.getLiveHeightRange();
3538
+ const live = await this.storage.findLiveHeightRange();
3543
3539
  if (!live.isEmpty) {
3544
3540
  this.subscriberCallbacksEnabled = true;
3545
3541
  this.log(`listening at height of ${live.maxHeight}`);
@@ -3635,16 +3631,16 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
3635
3631
 
3636
3632
  ```ts
3637
3633
  export class ChaintracksChainTracker implements ChainTracker {
3638
- chaintracks: ChaintracksServiceClient;
3634
+ chaintracks: ChaintracksClientApi;
3639
3635
  cache: Record<number, string>;
3640
3636
  options: ChaintracksChainTrackerOptions;
3641
- constructor(chain?: Chain, chaintracks?: ChaintracksServiceClient, options?: ChaintracksChainTrackerOptions)
3637
+ constructor(chain?: Chain, chaintracks?: ChaintracksClientApi, options?: ChaintracksChainTrackerOptions)
3642
3638
  async currentHeight(): Promise<number>
3643
3639
  async isValidRootForHeight(root: string, height: number): Promise<boolean>
3644
3640
  }
3645
3641
  ```
3646
3642
 
3647
- See also: [Chain](./client.md#type-chain), [ChaintracksChainTrackerOptions](./services.md#interface-chaintrackschaintrackeroptions), [ChaintracksServiceClient](./services.md#class-chaintracksserviceclient)
3643
+ See also: [Chain](./client.md#type-chain), [ChaintracksChainTrackerOptions](./services.md#interface-chaintrackschaintrackeroptions), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi)
3648
3644
 
3649
3645
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
3650
3646
 
@@ -3793,6 +3789,7 @@ Required interface methods of a Chaintracks Storage Engine implementation.
3793
3789
  ```ts
3794
3790
  export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryApi, ChaintracksStorageIngestApi {
3795
3791
  static createStorageBaseOptions(chain: Chain): ChaintracksStorageBaseOptions
3792
+ log: (...args: any[]) => void = () => { };
3796
3793
  chain: Chain;
3797
3794
  liveHeightThreshold: number;
3798
3795
  reorgHeightThreshold: number;
@@ -3814,16 +3811,15 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
3814
3811
  abstract findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
3815
3812
  abstract findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
3816
3813
  abstract findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
3817
- abstract findLiveHeightRange(): Promise<{
3818
- minHeight: number;
3819
- maxHeight: number;
3820
- }>;
3814
+ abstract findLiveHeightRange(): Promise<HeightRange>;
3821
3815
  abstract findMaxHeaderId(): Promise<number>;
3822
- abstract getLiveHeightRange(): Promise<HeightRange>;
3823
3816
  abstract liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>;
3824
- abstract getHeaders(height: number, count: number): Promise<number[]>;
3817
+ abstract getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>;
3825
3818
  abstract insertHeader(header: BlockHeader): Promise<InsertHeaderResult>;
3826
3819
  abstract destroy(): Promise<void>;
3820
+ async getBulkHeaders(range: HeightRange): Promise<Uint8Array>
3821
+ async getHeadersUint8Array(height: number, count: number): Promise<Uint8Array>
3822
+ async getHeaders(height: number, count: number): Promise<BaseBlockHeader[]>
3827
3823
  async deleteBulkBlockHeaders(): Promise<void>
3828
3824
  async getAvailableHeightRanges(): Promise<{
3829
3825
  bulk: HeightRange;
@@ -3844,7 +3840,7 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
3844
3840
  }
3845
3841
  ```
3846
3842
 
3847
- See also: [BlockHeader](./client.md#interface-blockheader), [BulkFileDataManager](./services.md#class-bulkfiledatamanager), [Chain](./client.md#type-chain), [ChaintracksStorageBaseOptions](./services.md#interface-chaintracksstoragebaseoptions), [ChaintracksStorageIngestApi](./services.md#interface-chaintracksstorageingestapi), [ChaintracksStorageQueryApi](./services.md#interface-chaintracksstoragequeryapi), [HeightRange](./services.md#class-heightrange), [InsertHeaderResult](./services.md#type-insertheaderresult), [LiveBlockHeader](./services.md#interface-liveblockheader)
3843
+ See also: [BaseBlockHeader](./client.md#interface-baseblockheader), [BlockHeader](./client.md#interface-blockheader), [BulkFileDataManager](./services.md#class-bulkfiledatamanager), [Chain](./client.md#type-chain), [ChaintracksStorageBaseOptions](./services.md#interface-chaintracksstoragebaseoptions), [ChaintracksStorageIngestApi](./services.md#interface-chaintracksstorageingestapi), [ChaintracksStorageQueryApi](./services.md#interface-chaintracksstoragequeryapi), [HeightRange](./services.md#class-heightrange), [InsertHeaderResult](./services.md#type-insertheaderresult), [LiveBlockHeader](./services.md#interface-liveblockheader)
3848
3844
 
3849
3845
  ###### Method insertHeader
3850
3846
 
@@ -3875,10 +3871,8 @@ export class ChaintracksStorageKnex extends ChaintracksStorageBase implements Ch
3875
3871
  static createStorageKnexOptions(chain: Chain, knex?: Knex): ChaintracksStorageKnexOptions
3876
3872
  knex: Knex;
3877
3873
  _dbtype?: DBType;
3878
- headerTableName: string;
3879
3874
  bulkFilesTableName: string = "bulk_files";
3880
- bulkBlockHashTableName: string;
3881
- bulkMerkleRootTableName: string;
3875
+ headerTableName: string = `live_headers`;
3882
3876
  constructor(options: ChaintracksStorageKnexOptions)
3883
3877
  get dbtype(): DBType
3884
3878
  override async shutdown(): Promise<void>
@@ -3886,13 +3880,10 @@ export class ChaintracksStorageKnex extends ChaintracksStorageBase implements Ch
3886
3880
  override async migrateLatest(): Promise<void>
3887
3881
  override async dropAllData(): Promise<void>
3888
3882
  override async destroy(): Promise<void>
3889
- async findLiveHeightRange(): Promise<{
3890
- minHeight: number;
3891
- maxHeight: number;
3892
- }>
3893
- async findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
3894
- async findChainTipHeader(): Promise<LiveBlockHeader>
3895
- async findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>
3883
+ override async findLiveHeightRange(): Promise<HeightRange>
3884
+ override async findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
3885
+ override async findChainTipHeader(): Promise<LiveBlockHeader>
3886
+ override async findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>
3896
3887
  async findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>
3897
3888
  async findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>
3898
3889
  async findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>
@@ -3904,13 +3895,10 @@ export class ChaintracksStorageKnex extends ChaintracksStorageBase implements Ch
3904
3895
  async getBulkFileData(fileId: number, offset?: number, length?: number): Promise<Uint8Array | undefined>
3905
3896
  async insertHeader(header: BlockHeader): Promise<InsertHeaderResult>
3906
3897
  async findMaxHeaderId(): Promise<number>
3907
- async getLiveHeightRange(): Promise<HeightRange>
3908
- async appendToIndexTable(table: string, index: string, buffers: string[], minHeight: number): Promise<void>
3909
- async appendToIndexTableChunked(table: string, index: string, buffers: string[], minHeight: number, chunkSize: number): Promise<void>
3910
3898
  override async deleteLiveBlockHeaders(): Promise<void>
3911
3899
  override async deleteBulkBlockHeaders(): Promise<void>
3912
3900
  async deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>
3913
- async getHeaders(height: number, count: number): Promise<number[]>
3901
+ async getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
3914
3902
  concatSerializedHeaders(bufs: number[][]): number[]
3915
3903
  async liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>
3916
3904
  }
@@ -3966,15 +3954,11 @@ export class ChaintracksStorageNoDb extends ChaintracksStorageBase {
3966
3954
  override async findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
3967
3955
  override async findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>
3968
3956
  override async findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>
3969
- override async findLiveHeightRange(): Promise<{
3970
- minHeight: number;
3971
- maxHeight: number;
3972
- }>
3957
+ override async findLiveHeightRange(): Promise<HeightRange>
3973
3958
  override async findMaxHeaderId(): Promise<number>
3974
- override async getLiveHeightRange(): Promise<HeightRange>
3975
3959
  override async liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>
3976
- override async getHeaders(height: number, count: number): Promise<number[]>
3977
- override async insertHeader(header: BlockHeader, prev?: LiveBlockHeader): Promise<InsertHeaderResult>
3960
+ override async getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
3961
+ override async insertHeader(header: BlockHeader): Promise<InsertHeaderResult>
3978
3962
  }
3979
3963
  ```
3980
3964
 
@@ -4128,9 +4112,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4128
4112
  export abstract class LiveIngestorBase implements LiveIngestorApi {
4129
4113
  static createLiveIngestorBaseOptions(chain: Chain)
4130
4114
  chain: Chain;
4115
+ log: (...args: any[]) => void = () => ;
4131
4116
  constructor(options: LiveIngestorBaseOptions)
4132
- async shutdown(): Promise<void>
4133
- async setStorage(storage: ChaintracksStorageApi): Promise<void>
4117
+ async shutdown(): Promise<void> { }
4118
+ async setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
4134
4119
  storage(): ChaintracksStorageApi
4135
4120
  abstract getHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
4136
4121
  abstract startListening(liveHeaders: BlockHeader[]): Promise<void>;
@@ -4160,7 +4145,7 @@ Argument Details
4160
4145
  Allocate resources.
4161
4146
 
4162
4147
  ```ts
4163
- async setStorage(storage: ChaintracksStorageApi): Promise<void>
4148
+ async setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
4164
4149
  ```
4165
4150
  See also: [ChaintracksStorageApi](./services.md#interface-chaintracksstorageapi)
4166
4151
 
@@ -4662,10 +4647,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4662
4647
  High speed WebSocket based based old block header listener
4663
4648
 
4664
4649
  ```ts
4665
- export async function WocHeadersBulkListener(fromHeight: number, toHeight: number, enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain: Chain = "main", idleWait = 5000): Promise<boolean>
4650
+ export async function WocHeadersBulkListener(fromHeight: number, toHeight: number, enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain: Chain, logger: (...args: any[]) => void = () => { }, idleWait = 5000): Promise<boolean>
4666
4651
  ```
4667
4652
 
4668
- See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [StopListenerToken](./services.md#type-stoplistenertoken)
4653
+ See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [StopListenerToken](./services.md#type-stoplistenertoken), [logger](./client.md#variable-logger)
4669
4654
 
4670
4655
  Returns
4671
4656
 
@@ -4717,10 +4702,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4717
4702
  High speed WebSocket based based new block header listener
4718
4703
 
4719
4704
  ```ts
4720
- export async function WocHeadersLiveListener(enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain: Chain = "main", idleWait = 100000): Promise<boolean>
4705
+ export async function WocHeadersLiveListener(enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain: Chain, logger: (...args: any[]) => void, idleWait = 100000): Promise<boolean>
4721
4706
  ```
4722
4707
 
4723
- See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [StopListenerToken](./services.md#type-stoplistenertoken)
4708
+ See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [StopListenerToken](./services.md#type-stoplistenertoken), [logger](./client.md#variable-logger)
4724
4709
 
4725
4710
  Returns
4726
4711
 
@@ -4936,10 +4921,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4936
4921
  ##### Function: createDefaultWalletServicesOptions
4937
4922
 
4938
4923
  ```ts
4939
- export function createDefaultWalletServicesOptions(chain: Chain, arcCallbackUrl?: string, arcCallbackToken?: string, arcApiKey?: string): WalletServicesOptions
4924
+ export function createDefaultWalletServicesOptions(chain: Chain, arcCallbackUrl?: string, arcCallbackToken?: string, taalArcApiKey?: string, gorillaPoolArcApiKey?: string, bitailsApiKey?: string, deploymentId?: string, chaintracks?: ChaintracksClientApi): WalletServicesOptions
4940
4925
  ```
4941
4926
 
4942
- See also: [Chain](./client.md#type-chain), [WalletServicesOptions](./client.md#interface-walletservicesoptions)
4927
+ See also: [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [WalletServicesOptions](./client.md#interface-walletservicesoptions)
4943
4928
 
4944
4929
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4945
4930