@bsv/wallet-toolbox 1.6.3 → 1.6.5

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 (266) 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/ChaintracksStorageNoDb.d.ts +3 -7
  58. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  59. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
  60. package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  61. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -3
  62. package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
  63. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js +0 -3
  64. package/mobile/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
  65. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
  66. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  67. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
  68. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  69. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
  70. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  71. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  72. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
  73. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  74. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  75. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  76. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  77. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
  78. package/mobile/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  79. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  80. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
  81. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  82. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
  83. package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  84. package/mobile/out/src/services/createDefaultWalletServicesOptions.js +19 -17
  85. package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  86. package/mobile/package-lock.json +2 -2
  87. package/mobile/package.json +1 -1
  88. package/out/src/monitor/Monitor.d.ts +3 -3
  89. package/out/src/monitor/Monitor.d.ts.map +1 -1
  90. package/out/src/monitor/Monitor.js.map +1 -1
  91. package/out/src/sdk/WalletServices.interfaces.d.ts +88 -2
  92. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  93. package/out/src/services/Services.js +1 -1
  94. package/out/src/services/Services.js.map +1 -1
  95. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +3 -3
  96. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  97. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  98. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -6
  99. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -1
  100. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +1 -1
  101. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
  102. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +2 -2
  103. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
  104. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +33 -16
  105. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
  106. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +1 -1
  107. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -1
  108. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +1 -1
  109. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  110. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +15 -11
  111. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  112. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +2 -2
  113. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
  114. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +4 -4
  115. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  116. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -1
  117. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  118. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  119. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +2 -3
  120. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  121. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
  122. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +1 -1
  123. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
  124. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +2 -1
  125. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
  126. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  127. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  128. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +1 -1
  129. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  130. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
  131. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +3 -3
  132. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
  133. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
  134. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  135. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +4 -5
  136. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  137. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +1 -1
  138. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -1
  139. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js +1 -1
  140. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js.map +1 -1
  141. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +2 -1
  142. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
  143. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +2 -1
  144. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  145. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
  146. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +4 -3
  147. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
  148. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +7 -7
  149. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  150. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +42 -5
  151. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  152. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +91 -0
  153. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
  154. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +448 -0
  155. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
  156. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -29
  157. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  158. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +61 -137
  159. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  160. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -7
  161. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  162. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +63 -130
  163. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  164. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +2 -0
  165. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +1 -0
  166. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +81 -0
  167. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -0
  168. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +12 -1
  169. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
  170. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +2 -0
  171. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +1 -0
  172. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +50 -0
  173. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -0
  174. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +12 -0
  175. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  176. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +83 -0
  177. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  178. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
  179. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  180. package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
  181. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  182. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -3
  183. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
  184. package/out/src/services/chaintracker/chaintracks/index.client.js +0 -3
  185. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
  186. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +2 -1
  187. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  188. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -7
  189. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +1 -1
  191. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  193. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -2
  194. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  195. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  196. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  197. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
  198. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +4 -1
  199. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  200. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  201. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +26 -11
  202. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  203. package/out/src/services/createDefaultWalletServicesOptions.d.ts +2 -1
  204. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  205. package/out/src/services/createDefaultWalletServicesOptions.js +19 -17
  206. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  207. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +2 -0
  208. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +1 -0
  209. package/out/src/services/providers/__tests/exchangeRates.test.js +19 -0
  210. package/out/src/services/providers/__tests/exchangeRates.test.js.map +1 -0
  211. package/out/test/Wallet/support/operations.man.test.js +1 -1
  212. package/out/test/Wallet/support/operations.man.test.js.map +1 -1
  213. package/out/tsconfig.all.tsbuildinfo +1 -1
  214. package/package.json +1 -1
  215. package/src/monitor/Monitor.ts +3 -3
  216. package/src/sdk/WalletServices.interfaces.ts +88 -1
  217. package/src/services/Services.ts +1 -1
  218. package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -2
  219. package/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.ts +1 -7
  220. package/src/services/chaintracker/chaintracks/Api/BulkStorageApi.ts +1 -1
  221. package/src/services/chaintracker/chaintracks/Api/ChaintracksApi.ts +2 -2
  222. package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +39 -14
  223. package/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts +1 -1
  224. package/src/services/chaintracker/chaintracks/Chaintracks.ts +16 -11
  225. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts +4 -5
  226. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +1 -1
  227. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +2 -3
  228. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts +1 -0
  229. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.ts +3 -1
  230. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts +1 -1
  231. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts +10 -3
  232. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.ts +6 -4
  233. package/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.ts +1 -1
  234. package/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.ts +1 -1
  235. package/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.ts +2 -1
  236. package/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.ts +4 -3
  237. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts +60 -11
  238. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts +557 -0
  239. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +80 -179
  240. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +63 -133
  241. package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.ts +102 -0
  242. package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +14 -1
  243. package/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.ts +61 -0
  244. package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +111 -0
  245. package/src/services/chaintracker/chaintracks/index.all.ts +4 -0
  246. package/src/services/chaintracker/chaintracks/index.client.ts +0 -3
  247. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +20 -11
  248. package/src/services/chaintracker/chaintracks/util/BulkFilesReader.ts +1 -1
  249. package/src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts +3 -3
  250. package/src/services/chaintracker/chaintracks/util/HeightRange.ts +4 -1
  251. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +26 -11
  252. package/src/services/createDefaultWalletServicesOptions.ts +25 -18
  253. package/src/services/providers/__tests/exchangeRates.test.ts +18 -0
  254. package/test/Wallet/support/operations.man.test.ts +1 -1
  255. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +0 -30
  256. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +0 -1
  257. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js +0 -149
  258. package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +0 -1
  259. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +0 -23
  260. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +0 -1
  261. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +0 -57
  262. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +0 -1
  263. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +0 -16
  264. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +0 -1
  265. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +0 -53
  266. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +0 -1
@@ -65,13 +65,14 @@ export class ChaintracksKnexMigrations implements MigrationSource<string> {
65
65
  table.integer('bits').unsigned().notNullable
66
66
  table.integer('nonce').unsigned().notNullable
67
67
 
68
- table.index(['hash'])
68
+ table.unique(['hash'])
69
+ table.index(['previousHeaderId'])
70
+ table.index(['height'])
69
71
  table.index(['previousHash'])
72
+ table.index(['merkleRoot'])
70
73
  table.index(['isChainTip'])
71
- table.index(['previousHeaderId'])
72
74
  table.index(['isActive'])
73
75
  table.index(['isActive', 'isChainTip'])
74
- table.index(['height'])
75
76
  })
76
77
 
77
78
  await knex.schema.createTable(bulkFilesTableName, table => {
@@ -5,10 +5,20 @@ import {
5
5
  ChaintracksStorageIngestApi,
6
6
  ChaintracksStorageQueryApi
7
7
  } from '../Api/ChaintracksStorageApi'
8
- import { BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi'
8
+ import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi'
9
9
  import { HeightRange } from '../util/HeightRange'
10
- import { addWork, convertBitsToWork, isMoreWork, subWork } from '../util/blockHeaderUtilities'
10
+ import {
11
+ addWork,
12
+ convertBitsToWork,
13
+ deserializeBaseBlockHeaders,
14
+ isMoreWork,
15
+ serializeBaseBlockHeaders,
16
+ subWork
17
+ } from '../util/blockHeaderUtilities'
11
18
  import { BulkFileDataManager } from '../util/BulkFileDataManager'
19
+ import { BulkFilesReaderStorage } from '../util/BulkFilesReader'
20
+ import { asArray } from '../../../../utility/utilityHelpers.noBuffer'
21
+ import { deserialize } from 'v8'
12
22
 
13
23
  /**
14
24
  * Required interface methods of a Chaintracks Storage Engine implementation.
@@ -26,6 +36,8 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
26
36
  return options
27
37
  }
28
38
 
39
+ log: (...args: any[]) => void = () => {}
40
+
29
41
  chain: Chain
30
42
  liveHeightThreshold: number
31
43
  reorgHeightThreshold: number
@@ -45,7 +57,6 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
45
57
  this.bulkManager =
46
58
  options.bulkFileDataManager || new BulkFileDataManager(BulkFileDataManager.createDefaultOptions(this.chain))
47
59
  }
48
-
49
60
  async shutdown(): Promise<void> {
50
61
  /* base class does notning */
51
62
  }
@@ -74,11 +85,11 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
74
85
  abstract findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
75
86
  abstract findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>
76
87
  abstract findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>
77
- abstract findLiveHeightRange(): Promise<{ minHeight: number; maxHeight: number }>
88
+ abstract findLiveHeightRange(): Promise<HeightRange>
78
89
  abstract findMaxHeaderId(): Promise<number>
79
- abstract getLiveHeightRange(): Promise<HeightRange>
80
90
  abstract liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>
81
- abstract getHeaders(height: number, count: number): Promise<number[]>
91
+ abstract getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
92
+
82
93
  /**
83
94
  * @param header Header to attempt to add to live storage.
84
95
  * @returns details of conditions found attempting to insert header
@@ -88,6 +99,44 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
88
99
 
89
100
  // BASE CLASS IMPLEMENTATIONS - MAY BE OVERRIDEN
90
101
 
102
+ async getBulkHeaders(range: HeightRange): Promise<Uint8Array> {
103
+ if (range.isEmpty) return new Uint8Array()
104
+
105
+ const fetch = this.bulkManager.fetch
106
+ const reader = await BulkFilesReaderStorage.fromStorage(this, fetch, range, range.length * 80)
107
+ const data = await reader.read()
108
+ if (!data) return new Uint8Array()
109
+ return data
110
+ }
111
+
112
+ async getHeadersUint8Array(height: number, count: number): Promise<Uint8Array> {
113
+ if (count <= 0) return new Uint8Array()
114
+ const ranges = await this.getAvailableHeightRanges()
115
+ const range = new HeightRange(height, height + count - 1)
116
+ const bulkRange = ranges.bulk.intersect(range)
117
+ const liveRange = ranges.live.intersect(range)
118
+
119
+ if (liveRange.isEmpty && bulkRange.isEmpty) return new Uint8Array()
120
+
121
+ const liveHeaders = await this.getLiveHeaders(liveRange)
122
+ const liveData = serializeBaseBlockHeaders(liveHeaders)
123
+ const bulkData = await this.getBulkHeaders(bulkRange)
124
+
125
+ const data = new Uint8Array(liveData.length + bulkData.length)
126
+
127
+ if (bulkData.length > 0) data.set(bulkData, 0)
128
+
129
+ if (liveData.length > 0) data.set(liveData, bulkData.length)
130
+
131
+ return data
132
+ }
133
+
134
+ async getHeaders(height: number, count: number): Promise<BaseBlockHeader[]> {
135
+ const data = await this.getHeadersUint8Array(height, count)
136
+ const headers = deserializeBaseBlockHeaders(data)
137
+ return headers
138
+ }
139
+
91
140
  async deleteBulkBlockHeaders(): Promise<void> {
92
141
  await this.bulkManager.deleteBulkFiles()
93
142
  }
@@ -95,13 +144,13 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
95
144
  async getAvailableHeightRanges(): Promise<{ bulk: HeightRange; live: HeightRange }> {
96
145
  await this.makeAvailable()
97
146
  const bulk = await this.bulkManager.getHeightRange()
98
- const live = await this.getLiveHeightRange()
147
+ const live = await this.findLiveHeightRange()
99
148
  if (bulk.isEmpty) {
100
149
  if (!live.isEmpty && live.minHeight !== 0)
101
150
  throw new Error('With empty bulk storage, live storage must start with genesis header.')
102
151
  } else {
103
- if (bulk.minHeight != 0) throw new Error("Bulk storage doesn't start with genesis header.")
104
- if (!live.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
152
+ if (!bulk.isEmpty && bulk.minHeight != 0) throw new Error("Bulk storage doesn't start with genesis header.")
153
+ if (!live.isEmpty && !bulk.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
105
154
  throw new Error('There is a gap or overlap between bulk and live header storage.')
106
155
  }
107
156
  return { bulk, live }
@@ -122,7 +171,7 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
122
171
  this.lastActiveMinHeight = undefined
123
172
  }
124
173
  } catch (err: unknown) {
125
- console.log(err)
174
+ this.log(err)
126
175
  throw err
127
176
  }
128
177
  }
@@ -201,7 +250,7 @@ export abstract class ChaintracksStorageBase implements ChaintracksStorageQueryA
201
250
  if (!ignoreLimits && count > this.bulkMigrationChunkSize) return
202
251
 
203
252
  if (this.nowMigratingLiveToBulk) {
204
- console.log('Already migrating live to bulk.')
253
+ this.log('Already migrating live to bulk.')
205
254
  return
206
255
  }
207
256