@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
@@ -1,6 +1,6 @@
1
1
  import { Chain } from '../../../../sdk';
2
2
  import { InsertHeaderResult, ChaintracksStorageBaseOptions, ChaintracksStorageIngestApi, ChaintracksStorageQueryApi } from '../Api/ChaintracksStorageApi';
3
- import { BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi';
3
+ import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi';
4
4
  import { HeightRange } from '../util/HeightRange';
5
5
  import { BulkFileDataManager } from '../util/BulkFileDataManager';
6
6
  /**
@@ -8,6 +8,7 @@ import { BulkFileDataManager } from '../util/BulkFileDataManager';
8
8
  */
9
9
  export declare abstract class ChaintracksStorageBase implements ChaintracksStorageQueryApi, ChaintracksStorageIngestApi {
10
10
  static createStorageBaseOptions(chain: Chain): ChaintracksStorageBaseOptions;
11
+ log: (...args: any[]) => void;
11
12
  chain: Chain;
12
13
  liveHeightThreshold: number;
13
14
  reorgHeightThreshold: number;
@@ -29,20 +30,19 @@ export declare abstract class ChaintracksStorageBase implements ChaintracksStora
29
30
  abstract findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
30
31
  abstract findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
31
32
  abstract findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
32
- abstract findLiveHeightRange(): Promise<{
33
- minHeight: number;
34
- maxHeight: number;
35
- }>;
33
+ abstract findLiveHeightRange(): Promise<HeightRange>;
36
34
  abstract findMaxHeaderId(): Promise<number>;
37
- abstract getLiveHeightRange(): Promise<HeightRange>;
38
35
  abstract liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>;
39
- abstract getHeaders(height: number, count: number): Promise<number[]>;
36
+ abstract getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>;
40
37
  /**
41
38
  * @param header Header to attempt to add to live storage.
42
39
  * @returns details of conditions found attempting to insert header
43
40
  */
44
41
  abstract insertHeader(header: BlockHeader): Promise<InsertHeaderResult>;
45
42
  abstract destroy(): Promise<void>;
43
+ getBulkHeaders(range: HeightRange): Promise<Uint8Array>;
44
+ getHeadersUint8Array(height: number, count: number): Promise<Uint8Array>;
45
+ getHeaders(height: number, count: number): Promise<BaseBlockHeader[]>;
46
46
  deleteBulkBlockHeaders(): Promise<void>;
47
47
  getAvailableHeightRanges(): Promise<{
48
48
  bulk: HeightRange;
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksStorageBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChaintracksStorageBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AASjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAKjE;;GAEG;AACH,8BAAsB,sBAAuB,YAAW,0BAA0B,EAAE,2BAA2B;IAC7G,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,6BAA6B;IAY5E,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAW;IAExC,KAAK,EAAE,KAAK,CAAA;IACZ,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IAExB,WAAW,EAAE,OAAO,CAAQ;IAC5B,WAAW,EAAE,OAAO,CAAQ;IAC5B,WAAW,EAAE,mBAAmB,CAAA;gBAEpB,OAAO,EAAE,6BAA6B;IAS5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAChD,QAAQ,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxE,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IACvD,QAAQ,CAAC,6BAA6B,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAC9E,QAAQ,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAClF,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAC9E,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IACjF,QAAQ,CAAC,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IACzF,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IACpD,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACtE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEvE;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACvE,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAUvD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBxE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMrE,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC,wBAAwB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAenF,OAAO,CAAC,mBAAmB,CAAoB;IAEzC,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxD,uCAAuC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAKzF,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAUlG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,WAAW,CAAC;IAO3E,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAchG,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzF,OAAO,CAAC,sBAAsB,CAAQ;IAEhC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrE,cAAc,CAClB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;YAkFX,2BAA2B;YAS3B,oBAAoB;CAKnC"}
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChaintracksStorageBase = void 0;
4
4
  const sdk_1 = require("../../../../sdk");
5
+ const HeightRange_1 = require("../util/HeightRange");
5
6
  const blockHeaderUtilities_1 = require("../util/blockHeaderUtilities");
6
7
  const BulkFileDataManager_1 = require("../util/BulkFileDataManager");
8
+ const BulkFilesReader_1 = require("../util/BulkFilesReader");
7
9
  /**
8
10
  * Required interface methods of a Chaintracks Storage Engine implementation.
9
11
  */
@@ -20,6 +22,7 @@ class ChaintracksStorageBase {
20
22
  return options;
21
23
  }
22
24
  constructor(options) {
25
+ this.log = () => { };
23
26
  this.isAvailable = false;
24
27
  this.hasMigrated = false;
25
28
  this.nowMigratingLiveToBulk = false;
@@ -47,21 +50,55 @@ class ChaintracksStorageBase {
47
50
  await this.makeAvailable();
48
51
  }
49
52
  // BASE CLASS IMPLEMENTATIONS - MAY BE OVERRIDEN
53
+ async getBulkHeaders(range) {
54
+ if (range.isEmpty)
55
+ return new Uint8Array();
56
+ const fetch = this.bulkManager.fetch;
57
+ const reader = await BulkFilesReader_1.BulkFilesReaderStorage.fromStorage(this, fetch, range, range.length * 80);
58
+ const data = await reader.read();
59
+ if (!data)
60
+ return new Uint8Array();
61
+ return data;
62
+ }
63
+ async getHeadersUint8Array(height, count) {
64
+ if (count <= 0)
65
+ return new Uint8Array();
66
+ const ranges = await this.getAvailableHeightRanges();
67
+ const range = new HeightRange_1.HeightRange(height, height + count - 1);
68
+ const bulkRange = ranges.bulk.intersect(range);
69
+ const liveRange = ranges.live.intersect(range);
70
+ if (liveRange.isEmpty && bulkRange.isEmpty)
71
+ return new Uint8Array();
72
+ const liveHeaders = await this.getLiveHeaders(liveRange);
73
+ const liveData = (0, blockHeaderUtilities_1.serializeBaseBlockHeaders)(liveHeaders);
74
+ const bulkData = await this.getBulkHeaders(bulkRange);
75
+ const data = new Uint8Array(liveData.length + bulkData.length);
76
+ if (bulkData.length > 0)
77
+ data.set(bulkData, 0);
78
+ if (liveData.length > 0)
79
+ data.set(liveData, bulkData.length);
80
+ return data;
81
+ }
82
+ async getHeaders(height, count) {
83
+ const data = await this.getHeadersUint8Array(height, count);
84
+ const headers = (0, blockHeaderUtilities_1.deserializeBaseBlockHeaders)(data);
85
+ return headers;
86
+ }
50
87
  async deleteBulkBlockHeaders() {
51
88
  await this.bulkManager.deleteBulkFiles();
52
89
  }
53
90
  async getAvailableHeightRanges() {
54
91
  await this.makeAvailable();
55
92
  const bulk = await this.bulkManager.getHeightRange();
56
- const live = await this.getLiveHeightRange();
93
+ const live = await this.findLiveHeightRange();
57
94
  if (bulk.isEmpty) {
58
95
  if (!live.isEmpty && live.minHeight !== 0)
59
96
  throw new Error('With empty bulk storage, live storage must start with genesis header.');
60
97
  }
61
98
  else {
62
- if (bulk.minHeight != 0)
99
+ if (!bulk.isEmpty && bulk.minHeight != 0)
63
100
  throw new Error("Bulk storage doesn't start with genesis header.");
64
- if (!live.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
101
+ if (!live.isEmpty && !bulk.isEmpty && bulk.maxHeight + 1 !== live.minHeight)
65
102
  throw new Error('There is a gap or overlap between bulk and live header storage.');
66
103
  }
67
104
  return { bulk, live };
@@ -79,7 +116,7 @@ class ChaintracksStorageBase {
79
116
  }
80
117
  }
81
118
  catch (err) {
82
- console.log(err);
119
+ this.log(err);
83
120
  throw err;
84
121
  }
85
122
  }
@@ -151,7 +188,7 @@ class ChaintracksStorageBase {
151
188
  if (!ignoreLimits && count > this.bulkMigrationChunkSize)
152
189
  return;
153
190
  if (this.nowMigratingLiveToBulk) {
154
- console.log('Already migrating live to bulk.');
191
+ this.log('Already migrating live to bulk.');
155
192
  return;
156
193
  }
157
194
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksStorageBase.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChaintracksStorageBase.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { ChaintracksStorageBaseOptions, ChaintracksStorageBulkFileApi, InsertHeaderResult } from '../Api/ChaintracksStorageApi';
2
+ import { ChaintracksStorageBase } from './ChaintracksStorageBase';
3
+ import { LiveBlockHeader } from '../Api/BlockHeaderApi';
4
+ import { HeightRange } from '../util/HeightRange';
5
+ import { BlockHeader } from '../../../../sdk/WalletServices.interfaces';
6
+ import { IDBPDatabase, IDBPTransaction } from 'idb';
7
+ import { BulkHeaderFileInfo } from '../util/BulkHeaderFile';
8
+ export interface ChaintracksStorageIdbOptions extends ChaintracksStorageBaseOptions {
9
+ }
10
+ export declare class ChaintracksStorageIdb extends ChaintracksStorageBase implements ChaintracksStorageBulkFileApi {
11
+ dbName: string;
12
+ db?: IDBPDatabase<ChaintracksStorageIdbSchema>;
13
+ whenLastAccess?: Date;
14
+ allStores: string[];
15
+ constructor(options: ChaintracksStorageIdbOptions);
16
+ migrateLatest(): Promise<void>;
17
+ destroy(): Promise<void>;
18
+ deleteLiveBlockHeaders(): Promise<void>;
19
+ /**
20
+ * Delete live headers with height less or equal to `maxHeight`
21
+ *
22
+ * Set existing headers with previousHeaderId value set to the headerId value of
23
+ * a header which is to be deleted to null.
24
+ *
25
+ * @param maxHeight delete all records with less or equal `height`
26
+ * @returns number of deleted records
27
+ */
28
+ deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>;
29
+ /**
30
+ * @returns the active chain tip header
31
+ * @throws an error if there is no tip.
32
+ */
33
+ findChainTipHeader(): Promise<LiveBlockHeader>;
34
+ /**
35
+ *
36
+ * @returns the active chain tip header
37
+ * @throws an error if there is no tip.
38
+ */
39
+ findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>;
40
+ findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>;
41
+ findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
42
+ findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
43
+ findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
44
+ findLiveHeightRange(): Promise<HeightRange>;
45
+ findMaxHeaderId(): Promise<number>;
46
+ liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>;
47
+ getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>;
48
+ insertHeader(header: BlockHeader): Promise<InsertHeaderResult>;
49
+ deleteBulkFile(fileId: number): Promise<number>;
50
+ insertBulkFile(file: BulkHeaderFileInfo): Promise<number>;
51
+ updateBulkFile(fileId: number, file: BulkHeaderFileInfo): Promise<number>;
52
+ getBulkFiles(): Promise<BulkHeaderFileInfo[]>;
53
+ getBulkFileData(fileId: number, offset?: number, length?: number): Promise<Uint8Array | undefined>;
54
+ /**
55
+ * IndexedDB does not do indices of boolean properties.
56
+ * So true is stored as a 1, and false is stored as no property value (delete v['property'])
57
+ *
58
+ * This function restores these property values to true and false.
59
+ *
60
+ * @param header
61
+ * @returns copy of header with updated properties
62
+ */
63
+ private repairStoredLiveHeader;
64
+ private prepareStoredLiveHeader;
65
+ insertLiveHeader(header: LiveBlockHeader): Promise<LiveBlockHeader>;
66
+ initDB(): Promise<IDBPDatabase<ChaintracksStorageIdbSchema>>;
67
+ toDbTrxReadOnly(stores: string[]): IDBPTransaction<ChaintracksStorageIdbSchema, string[], 'readonly'>;
68
+ toDbTrxReadWrite(stores: string[]): IDBPTransaction<ChaintracksStorageIdbSchema, string[], 'readwrite'>;
69
+ }
70
+ export interface ChaintracksStorageIdbSchema {
71
+ liveHeaders: {
72
+ key: number;
73
+ value: LiveBlockHeader;
74
+ indexes: {
75
+ hash: string;
76
+ previousHash: string;
77
+ previousHeaderId: number | null;
78
+ isActive: boolean;
79
+ activeTip: [boolean, boolean];
80
+ height: number;
81
+ };
82
+ };
83
+ bulkHeaders: {
84
+ key: number;
85
+ value: BulkHeaderFileInfo;
86
+ indexes: {
87
+ firstHeight: number;
88
+ };
89
+ };
90
+ }
91
+ //# sourceMappingURL=ChaintracksStorageIdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChaintracksStorageIdb.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts"],"names":[],"mappings":"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"}