@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
@@ -47,6 +47,8 @@ export class BulkFileDataManager {
47
47
  }
48
48
  }
49
49
 
50
+ private log: (...args: any[]) => void = () => {}
51
+
50
52
  private bfds: BulkFileData[] = []
51
53
  private fileHashToIndex: Record<string, number> = {}
52
54
  private lock: SingleWriterMultiReaderLock = new SingleWriterMultiReaderLock()
@@ -109,17 +111,26 @@ export class BulkFileDataManager {
109
111
  log += ` url: ${url}\n`
110
112
  log += ` bulk range before: ${rangeBefore}\n`
111
113
  log += ` bulk range after: ${rangeAfter}\n`
112
- console.log(log)
114
+ this.log(log)
113
115
  }
114
116
 
115
- async setStorage(storage: ChaintracksStorageBulkFileApi): Promise<void> {
116
- return this.lock.withWriteLock(async () => this.setStorageNoLock(storage))
117
+ async setStorage(storage: ChaintracksStorageBulkFileApi, log: (...args: any[]) => void): Promise<void> {
118
+ return this.lock.withWriteLock(async () => this.setStorageNoLock(storage, log))
117
119
  }
118
120
 
119
- private async setStorageNoLock(storage: ChaintracksStorageBulkFileApi): Promise<void> {
121
+ private async setStorageNoLock(storage: ChaintracksStorageBulkFileApi, log: (...args: any[]) => void): Promise<void> {
120
122
  this.storage = storage
123
+ this.log = log
121
124
  // Sync bfds with storage. Two scenarios supported:
122
- const sfs = await this.storage.getBulkFiles()
125
+ let sfs = await this.storage.getBulkFiles()
126
+ const lastCdnBfd = this.bfds.filter(f => isBdfCdn(f)).slice(-1)[0]
127
+ const lastCdnSfs = sfs.filter(f => isBdfCdn(f)).slice(-1)[0]
128
+ if (lastCdnBfd && lastCdnSfs && lastCdnBfd.firstHeight + lastCdnBfd.count > lastCdnSfs.firstHeight + lastCdnSfs.count) {
129
+ // Storage has fewer cdn headers than bfds, clear them and try again.
130
+ for (const s of sfs.reverse())
131
+ await this.storage.deleteBulkFile(s.fileId!);
132
+ sfs = []
133
+ }
123
134
  if (sfs.length === 0) {
124
135
  // 1. Storage has no files: Update storage to reflect bfds.
125
136
  for (const bfd of this.bfds) {
@@ -141,11 +152,9 @@ export class BulkFileDataManager {
141
152
  this.fileHashToIndex = {}
142
153
 
143
154
  if (this.fromKnownSourceUrl) {
144
- const files = selectBulkHeaderFiles(
145
- validBulkHeaderFiles.filter(f => f.sourceUrl === this.fromKnownSourceUrl),
146
- this.chain,
147
- this.maxPerFile
148
- )
155
+ const vbhfs = validBulkHeaderFiles
156
+ const filtered = vbhfs.filter(f => f.sourceUrl === this.fromKnownSourceUrl)
157
+ const files = selectBulkHeaderFiles(filtered, this.chain, this.maxPerFile)
149
158
  for (const file of files) {
150
159
  this.add({ ...file, fileHash: file.fileHash!, mru: Date.now() })
151
160
  }
@@ -187,7 +196,7 @@ export class BulkFileDataManager {
187
196
  }
188
197
  }
189
198
  }
190
- console.log(`BulkFileDataManager.merge:\n${this.toLogString(r)}\n`)
199
+ this.log(`BulkFileDataManager.merge:\n${this.toLogString(r)}\n`)
191
200
  return r
192
201
  }
193
202
 
@@ -325,7 +325,7 @@ export class BulkFilesReaderStorage extends BulkFilesReader {
325
325
 
326
326
  static async fromStorage(
327
327
  storage: ChaintracksStorageBase,
328
- fetch: ChaintracksFetchApi,
328
+ fetch?: ChaintracksFetchApi,
329
329
  range?: HeightRange,
330
330
  maxBufferSize?: number
331
331
  ): Promise<BulkFilesReaderStorage> {
@@ -189,7 +189,7 @@ export class BulkHeaderFileStorage extends BulkHeaderFile {
189
189
  constructor(
190
190
  info: BulkHeaderFileInfo,
191
191
  public storage: ChaintracksStorageBase,
192
- public fetch: ChaintracksFetchApi
192
+ public fetch?: ChaintracksFetchApi
193
193
  ) {
194
194
  super(info)
195
195
  }
@@ -200,8 +200,8 @@ export class BulkHeaderFileStorage extends BulkHeaderFile {
200
200
 
201
201
  override async ensureData(): Promise<Uint8Array> {
202
202
  if (this.data) return this.data
203
- if (!this.sourceUrl) {
204
- throw new WERR_INVALID_PARAMETER('sourceUrl', 'defined. Or data must be defined.')
203
+ if (!this.sourceUrl || !this.fetch) {
204
+ throw new WERR_INVALID_PARAMETER('sourceUrl and fetch', 'defined. Or data must be defined.')
205
205
  }
206
206
  const url = this.fetch.pathJoin(this.sourceUrl!, this.fileName)
207
207
  this.data = await this.fetch.download(url)
@@ -62,7 +62,10 @@ export class HeightRange implements HeightRangeApi {
62
62
  * @returns
63
63
  */
64
64
  intersect(range: HeightRange) {
65
- return new HeightRange(Math.max(this.minHeight, range.minHeight), Math.min(this.maxHeight, range.maxHeight))
65
+ //if (this.isEmpty || range.isEmpty) return HeightRange.empty
66
+ //if (this.maxHeight < range.minHeight || this.minHeight > range.maxHeight) return HeightRange.empty
67
+ const r = new HeightRange(Math.max(this.minHeight, range.minHeight), Math.min(this.maxHeight, range.maxHeight))
68
+ return r
66
69
  }
67
70
 
68
71
  /**
@@ -242,16 +242,16 @@ export const validBulkHeaderFiles: BulkHeaderFileInfo[] = [
242
242
  validated: true
243
243
  },
244
244
  {
245
- sourceUrl: 'https://cdn.projectbabbage.com/blockheaders',
246
- fileName: 'testNet_16.headers',
245
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
246
+ fileName: "testNet_16.headers",
247
247
  firstHeight: 1600000,
248
- prevHash: '00000000000005504bfd1a3ce4688c30c86740390102b6cd464a2fb5e0e3fed1',
249
- count: 77821,
250
- lastHash: '0000000065ef364929e71688b29320c5835fabd8a1c0b6d42b6726cb4afcc798',
251
- fileHash: 'AK1FlgOaPVFOeG2x+Tp7htOt15UaSpHXZjgx3F263x8=',
252
- lastChainWork: '00000000000000000000000000000000000000000000015814b641eb5d72e2ef',
253
- prevChainWork: '000000000000000000000000000000000000000000000156c3b84396da4e60b9',
254
- chain: 'test',
248
+ prevHash: "00000000000005504bfd1a3ce4688c30c86740390102b6cd464a2fb5e0e3fed1",
249
+ count: 89594,
250
+ lastHash: "0000000035ba2558f604ff73909944235b8094f07c0efa9c91f59b62b4920516",
251
+ fileHash: "jw+ItRm5zjngLuuClRZONclYWCC66wPovV3XPF585KU=",
252
+ lastChainWork: "00000000000000000000000000000000000000000000015814b79f747a43902a",
253
+ prevChainWork: "000000000000000000000000000000000000000000000156c3b84396da4e60b9",
254
+ chain: "test",
255
255
  validated: true
256
256
  },
257
257
  {
@@ -368,7 +368,8 @@ export const validBulkHeaderFiles: BulkHeaderFileInfo[] = [
368
368
  lastHash: '00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087',
369
369
  prevChainWork: '000000000000000000000000000000000000000001483b2995af390c20b58320',
370
370
  prevHash: '00000000000000000b6ae23bbe9f549844c20943d8c20b8ceedbae8aa1dde8e0',
371
- sourceUrl: 'https://cdn.projectbabbage.com/blockheaders'
371
+ sourceUrl: 'https://cdn.projectbabbage.com/blockheaders',
372
+ validated: true
372
373
  },
373
374
  {
374
375
  chain: 'main',
@@ -380,6 +381,20 @@ export const validBulkHeaderFiles: BulkHeaderFileInfo[] = [
380
381
  lastHash: '00000000000000000c119d65afcc66b640e98b839414c7e66d22b428ecb24a43',
381
382
  prevChainWork: '000000000000000000000000000000000000000001664db1f2d50327928007e0',
382
383
  prevHash: '00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087',
383
- sourceUrl: 'https://cdn.projectbabbage.com/blockheaders'
384
+ sourceUrl: 'https://cdn.projectbabbage.com/blockheaders',
385
+ validated: true
386
+ },
387
+ {
388
+ chain: "main",
389
+ count: 10376,
390
+ fileHash: "0CXeFvl+RHRb9kRKp6032vKCVnbs2K9A3Aa4cxg7iJU=",
391
+ fileName: "mainNet_9.headers",
392
+ firstHeight: 900000,
393
+ lastChainWork: "000000000000000000000000000000000000000001683907cdf89f89a1258f08",
394
+ lastHash: "00000000000000000413b1b30aa83898de436af0906bb178904900069ec26337",
395
+ prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
396
+ prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
397
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
398
+ validated: true
384
399
  }
385
400
  ]
@@ -1,60 +1,67 @@
1
1
  import { Chain } from '../sdk/types'
2
2
  import { WalletServicesOptions } from '../sdk/WalletServices.interfaces'
3
3
  import { randomBytesHex } from '../utility/utilityHelpers'
4
+ import { ChaintracksClientApi } from './chaintracker/chaintracks/Api/ChaintracksClientApi'
4
5
  import { ChaintracksServiceClient } from './chaintracker/chaintracks/ChaintracksServiceClient'
5
6
 
6
7
  export function createDefaultWalletServicesOptions(
7
8
  chain: Chain,
8
9
  arcCallbackUrl?: string,
9
10
  arcCallbackToken?: string,
10
- arcApiKey?: string
11
+ taalArcApiKey?: string,
12
+ gorillaPoolArcApiKey?: string,
13
+ bitailsApiKey?: string,
14
+ deploymentId?: string,
15
+ chaintracks?: ChaintracksClientApi
11
16
  ): WalletServicesOptions {
12
- const deploymentId = `wallet-toolbox-${randomBytesHex(16)}`
13
- const taalApiKey =
14
- arcApiKey || chain === 'main'
15
- ? 'mainnet_9596de07e92300c6287e4393594ae39c' // no plan
16
- : 'testnet_0e6cf72133b43ea2d7861da2a38684e3' // personal "starter" key
17
+ deploymentId ||= `wallet-toolbox-${randomBytesHex(16)}`
17
18
 
18
19
  //const chaintracksUrl = `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`
19
20
  const chaintracksUrl = `https://${chain}net-chaintracks.babbage.systems`
21
+ // The mainnet endpoint is always used since these are fiat exchange rates,
22
+ // independent of the chain being used.
23
+ const chaintracksFiatExchangeRatesUrl = `https://mainnet-chaintracks.babbage.systems/getFiatExchangeRates`
24
+
25
+ chaintracks ||= new ChaintracksServiceClient(chain, chaintracksUrl)
20
26
 
21
27
  const o: WalletServicesOptions = {
22
28
  chain,
23
- taalApiKey,
29
+ taalApiKey: undefined,
24
30
  bsvExchangeRate: {
25
- timestamp: new Date('2023-12-13'),
31
+ timestamp: new Date('2025-08-31'),
26
32
  base: 'USD',
27
- rate: 47.52
33
+ rate: 26.17
28
34
  },
29
35
  bsvUpdateMsecs: 1000 * 60 * 15, // 15 minutes
30
36
  fiatExchangeRates: {
31
- timestamp: new Date('2023-12-13'),
37
+ timestamp: new Date('2025-08-31'),
32
38
  base: 'USD',
33
39
  rates: {
34
40
  USD: 1,
35
- GBP: 0.8,
36
- EUR: 0.93
41
+ GBP: 0.7528,
42
+ EUR: 0.8558
37
43
  }
38
44
  },
39
45
  fiatUpdateMsecs: 1000 * 60 * 60 * 24, // 24 hours
40
- disableMapiCallback: true, // Rely on WalletMonitor by default.
46
+ disableMapiCallback: true, // MAPI callback's are deprecated. Rely on WalletMonitor by default.
41
47
  exchangeratesapiKey: 'bd539d2ff492bcb5619d5f27726a766f',
42
- chaintracksFiatExchangeRatesUrl: `${chaintracksUrl}/getFiatExchangeRates`,
43
- chaintracks: new ChaintracksServiceClient(chain, chaintracksUrl),
48
+ chaintracksFiatExchangeRatesUrl,
49
+ chaintracks,
44
50
  arcUrl: arcDefaultUrl(chain),
45
51
  arcConfig: {
46
- apiKey: arcApiKey ?? undefined,
52
+ apiKey: taalArcApiKey ?? undefined,
47
53
  deploymentId,
48
54
  callbackUrl: arcCallbackUrl ?? undefined,
49
55
  callbackToken: arcCallbackToken ?? undefined
50
56
  },
51
57
  arcGorillaPoolUrl: arcGorillaPoolUrl(chain),
52
58
  arcGorillaPoolConfig: {
53
- apiKey: arcApiKey ?? undefined,
59
+ apiKey: gorillaPoolArcApiKey ?? undefined,
54
60
  deploymentId,
55
61
  callbackUrl: arcCallbackUrl ?? undefined,
56
62
  callbackToken: arcCallbackToken ?? undefined
57
- }
63
+ },
64
+ bitailsApiKey
58
65
  }
59
66
  return o
60
67
  }
@@ -0,0 +1,18 @@
1
+ import { _tu } from '../../../../test/utils/TestUtilsWalletStorage'
2
+ import { WalletServicesOptions } from '../../../sdk/WalletServices.interfaces'
3
+ import { createDefaultWalletServicesOptions } from '../../createDefaultWalletServicesOptions'
4
+ import { updateExchangeratesapi } from '../exchangeRates'
5
+
6
+ describe('exchangeRates tests', () => {
7
+ jest.setTimeout(99999999)
8
+
9
+ test('0', async () => {
10
+ if (_tu.noEnv('main')) return
11
+ const o = createDefaultWalletServicesOptions('main')
12
+ // The default api key for this service is severely use limited,
13
+ // do not run this test aggressively. Without substituting your own key.
14
+ // o.exchangeratesapiKey = 'YOUR_API_KEY'
15
+ const r = await updateExchangeratesapi(['EUR', 'GBP', 'USD'], o)
16
+ expect(r).toBeDefined()
17
+ })
18
+ })
@@ -11,7 +11,7 @@ describe('operations.man tests', () => {
11
11
 
12
12
  test('0 review and release all production invalid change utxos', async () => {
13
13
  const { env, storage } = await _tu.createMainReviewSetup()
14
- const users = await storage.findUsers({ partial: { userId: 696 } })
14
+ const users = await storage.findUsers({ partial: {} })
15
15
  const withInvalid: Record<number, { user: TableUser; outputs: WalletOutput[]; total: number }> = {}
16
16
  const vargs: ValidListOutputsArgs = {
17
17
  basket: specOpInvalidChange,
@@ -1,30 +0,0 @@
1
- import { Chaintracks } from './Chaintracks';
2
- import { IncomingMessage, Server, ServerResponse } from 'http';
3
- import { Chain } from '../../../sdk/types';
4
- import { Services } from '../../Services';
5
- export interface ChaintracksServiceOptions {
6
- chain: Chain;
7
- /**
8
- * prepended to the path of each registered service endpoint
9
- */
10
- routingPrefix: string;
11
- /**
12
- * Defaults to default configured Chaintracks instance with NoDb storage.
13
- */
14
- chaintracks?: Chaintracks;
15
- services?: Services;
16
- port?: number;
17
- }
18
- export declare class ChaintracksService {
19
- static createChaintracksServiceOptions(chain: Chain): ChaintracksServiceOptions;
20
- chain: Chain;
21
- options: ChaintracksServiceOptions;
22
- port?: number;
23
- chaintracks: Chaintracks;
24
- services: Services;
25
- server?: Server<typeof IncomingMessage, typeof ServerResponse>;
26
- constructor(options: ChaintracksServiceOptions);
27
- stopJsonRpcServer(): Promise<void>;
28
- startJsonRpcServer(port?: number): Promise<void>;
29
- }
30
- //# sourceMappingURL=ChaintracksService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChaintracksService.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAMzC,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,+BAA+B,CAAC,KAAK,EAAE,KAAK,GAAG,yBAAyB;IAQ/E,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,yBAAyB,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,eAAe,EAAE,OAAO,cAAc,CAAC,CAAA;gBAElD,OAAO,EAAE,yBAAyB;IAgBxC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4HvD"}
@@ -1,149 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ChaintracksService = void 0;
7
- const Chaintracks_1 = require("./Chaintracks");
8
- const express_1 = __importDefault(require("express"));
9
- const body_parser_1 = __importDefault(require("body-parser"));
10
- const createDefaultNoDbChaintracksOptions_1 = require("./createDefaultNoDbChaintracksOptions");
11
- const Services_1 = require("../../Services");
12
- const sdk_1 = require("../../../sdk");
13
- const utilityHelpers_1 = require("../../../utility/utilityHelpers");
14
- class ChaintracksService {
15
- static createChaintracksServiceOptions(chain) {
16
- const options = {
17
- chain,
18
- routingPrefix: ''
19
- };
20
- return options;
21
- }
22
- constructor(options) {
23
- this.options = { ...options };
24
- this.port = options.port;
25
- this.chain = options.chain;
26
- this.chaintracks = options.chaintracks || new Chaintracks_1.Chaintracks((0, createDefaultNoDbChaintracksOptions_1.createNoDbChaintracksOptions)(this.chain));
27
- this.services = options.services || new Services_1.Services(this.chain);
28
- // Prevent recursion...
29
- this.services.updateFiatExchangeRateServices.remove('ChaintracksService');
30
- if (this.chaintracks.chain !== this.chain || this.services.chain !== this.chain) {
31
- throw new sdk_1.WERR_INVALID_PARAMETER('chain', `All components (chaintracks and services) must be on chain ${this.chain}`);
32
- }
33
- }
34
- async stopJsonRpcServer() {
35
- var _a, _b;
36
- (_a = this.server) === null || _a === void 0 ? void 0 : _a.close();
37
- await ((_b = this.chaintracks) === null || _b === void 0 ? void 0 : _b.destroy());
38
- }
39
- async startJsonRpcServer(port) {
40
- await this.chaintracks.makeAvailable();
41
- port || (port = this.port || 3011);
42
- this.port = port;
43
- const app = (0, express_1.default)();
44
- app.use(body_parser_1.default.json());
45
- // This allows the API to be used when CORS is enforced
46
- app.use((req, res, next) => {
47
- res.header('Access-Control-Allow-Origin', '*');
48
- res.header('Access-Control-Allow-Headers', '*');
49
- res.header('Access-Control-Allow-Methods', '*');
50
- res.header('Access-Control-Expose-Headers', '*');
51
- res.header('Access-Control-Allow-Private-Network', 'true');
52
- if (req.method === 'OPTIONS') {
53
- res.sendStatus(200);
54
- }
55
- else {
56
- next();
57
- }
58
- });
59
- const handleErr = (err, res) => {
60
- res.status(500).json({
61
- status: 'error',
62
- code: 'ERR_INTERNAL',
63
- description: (err === null || err === void 0 ? void 0 : err.message) || 'An internal error has occurred.'
64
- });
65
- };
66
- const appGetVoid = (path, action, noCache = false) => {
67
- app['get'](this.options.routingPrefix + path, async (req, res) => {
68
- if (noCache) {
69
- res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
70
- res.setHeader('Pragma', 'no-cache');
71
- res.setHeader('Expires', '0');
72
- }
73
- try {
74
- console.log(`request ${path}`);
75
- await action(req.query);
76
- res.status(200).json({ status: 'success' });
77
- }
78
- catch (err) {
79
- handleErr(err, res);
80
- }
81
- });
82
- };
83
- const appGet = (path, action, noCache = false) => {
84
- app['get'](this.options.routingPrefix + path, async (req, res) => {
85
- if (noCache) {
86
- res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
87
- res.setHeader('Pragma', 'no-cache');
88
- res.setHeader('Expires', '0');
89
- }
90
- try {
91
- const r = await action(req.query);
92
- console.log('request', path, JSON.stringify(req.query), '->', JSON.stringify(r));
93
- res.status(200).json({ status: 'success', value: r });
94
- }
95
- catch (err) {
96
- console.log(`request ${path} -> error`);
97
- handleErr(err, res);
98
- }
99
- });
100
- };
101
- const appPostVoid = (path, action) => {
102
- app['post'](this.options.routingPrefix + path, async (req, res) => {
103
- try {
104
- console.log(`request POST ${path}`);
105
- await action(req.body);
106
- res.status(200).json({ status: 'success' });
107
- }
108
- catch (err) {
109
- handleErr(err, res);
110
- }
111
- });
112
- };
113
- appGet('/getChain', async () => await this.chaintracks.getChain());
114
- appGet('/getInfo', async (q) => {
115
- if (q.wait)
116
- await (0, utilityHelpers_1.wait)(Number(q.wait));
117
- const r = await this.chaintracks.getInfo();
118
- if (q.wait)
119
- r['wait'] = q.wait;
120
- return r;
121
- }, true);
122
- appGet('/getFiatExchangeRates', async () => {
123
- // update if needed
124
- await this.services.getFiatExchangeRate('GBP');
125
- // return current values
126
- return this.services.options.fiatExchangeRates;
127
- }, true);
128
- appPostVoid('/addHeaderHex', async (header) => {
129
- await this.chaintracks.addHeader(header);
130
- });
131
- appGet('/getPresentHeight', async () => await this.chaintracks.getPresentHeight(), true);
132
- appGet('/findChainTipHashHex', async () => (await this.chaintracks.findChainTipHash()) || '', true);
133
- appGet('/findChainTipHeaderHex', async () => await this.chaintracks.findChainTipHeader(), true);
134
- appGet('/findHeaderHexForHeight', async (q) => {
135
- return await this.chaintracks.findHeaderForHeight(Number(q.height));
136
- });
137
- appGet('/findHeaderHexForBlockHash', async (q) => {
138
- return await this.chaintracks.findLiveHeaderForBlockHash(q.hash);
139
- });
140
- appGet('/getHeaders', async (q) => {
141
- return await this.chaintracks.getHeaders(Number(q.height), Number(q.count));
142
- });
143
- this.server = app.listen(this.port, () => {
144
- console.log(`ChaintracksService listening on port ${this.port}`);
145
- });
146
- }
147
- }
148
- exports.ChaintracksService = ChaintracksService;
149
- //# sourceMappingURL=ChaintracksService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChaintracksService.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksService.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { Chain } from '../../../../sdk';
2
- import { BlockHeader } from '../Api/BlockHeaderApi';
3
- import { BulkIngestorBase } from './BulkIngestorBase';
4
- import { HeightRange, HeightRanges } from '../util/HeightRange';
5
- import { BulkIngestorWhatsOnChainOptions } from './BulkIngestorWhatsOnChainCdn';
6
- import { StopListenerToken } from './WhatsOnChainIngestorWs';
7
- import { WhatsOnChainServices } from './WhatsOnChainServices';
8
- export declare class BulkIngestorWhatsOnChainWs extends BulkIngestorBase {
9
- /**
10
- *
11
- * @param chain
12
- * @param localCachePath defaults to './data/ingest_whatsonchain_headers'
13
- * @returns
14
- */
15
- static createBulkIngestorWhatsOnChainOptions(chain: Chain): BulkIngestorWhatsOnChainOptions;
16
- idleWait: number;
17
- woc: WhatsOnChainServices;
18
- stopOldListenersToken: StopListenerToken;
19
- constructor(options: BulkIngestorWhatsOnChainOptions);
20
- getPresentHeight(): Promise<number | undefined>;
21
- fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
22
- }
23
- //# sourceMappingURL=BulkIngestorWhatsOnChainWs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkIngestorWhatsOnChainWs.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAA0B,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAgC,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE3F,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,qCAAqC,CAAC,KAAK,EAAE,KAAK,GAAG,+BAA+B;IAS3F,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,oBAAoB,CAAA;IACzB,qBAAqB,EAAE,iBAAiB,CAAsB;gBAElD,OAAO,EAAE,+BAA+B;IAMrC,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMxD,YAAY,CAChB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;CAiC1B"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BulkIngestorWhatsOnChainWs = void 0;
4
- const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
5
- const BulkIngestorBase_1 = require("./BulkIngestorBase");
6
- const WhatsOnChainIngestorWs_1 = require("./WhatsOnChainIngestorWs");
7
- const WhatsOnChainServices_1 = require("./WhatsOnChainServices");
8
- class BulkIngestorWhatsOnChainWs extends BulkIngestorBase_1.BulkIngestorBase {
9
- /**
10
- *
11
- * @param chain
12
- * @param localCachePath defaults to './data/ingest_whatsonchain_headers'
13
- * @returns
14
- */
15
- static createBulkIngestorWhatsOnChainOptions(chain) {
16
- const options = {
17
- ...WhatsOnChainServices_1.WhatsOnChainServices.createWhatsOnChainServicesOptions(chain),
18
- ...BulkIngestorBase_1.BulkIngestorBase.createBulkIngestorBaseOptions(chain),
19
- idleWait: 5000
20
- };
21
- return options;
22
- }
23
- constructor(options) {
24
- super(options);
25
- this.stopOldListenersToken = { stop: undefined };
26
- this.idleWait = options.idleWait || 5000;
27
- this.woc = new WhatsOnChainServices_1.WhatsOnChainServices(options);
28
- }
29
- async getPresentHeight() {
30
- const presentHeight = await this.woc.getChainTipHeight();
31
- (0, utilityHelpers_1.logger)(`presentHeight=${presentHeight}`);
32
- return presentHeight;
33
- }
34
- async fetchHeaders(before, fetchRange, bulkRange, priorLiveHeaders) {
35
- const oldHeaders = [];
36
- const errors = [];
37
- const enqueue = header => {
38
- oldHeaders.push(header);
39
- };
40
- const error = (code, message) => {
41
- errors.push({ code, message, count: errors.length });
42
- return false;
43
- };
44
- const ok = await (0, WhatsOnChainIngestorWs_1.WocHeadersBulkListener)(fetchRange.minHeight, fetchRange.maxHeight, enqueue, error, this.stopOldListenersToken, this.chain, this.idleWait);
45
- let liveHeaders = [];
46
- if (ok) {
47
- liveHeaders = await this.storage().addBulkHeaders(oldHeaders, bulkRange, priorLiveHeaders);
48
- }
49
- if (errors.length > 0) {
50
- const errorMessages = errors.map(e => `(${e.code}) ${e.message} (${e.count})`).join('\n');
51
- (0, utilityHelpers_1.logger)(`Errors during WhatsOnChain ingestion:\n${errorMessages}`);
52
- }
53
- return liveHeaders;
54
- }
55
- }
56
- exports.BulkIngestorWhatsOnChainWs = BulkIngestorWhatsOnChainWs;
57
- //# sourceMappingURL=BulkIngestorWhatsOnChainWs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkIngestorWhatsOnChainWs.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts"],"names":[],"mappings":";;;AACA,uEAA2D;AAE3D,yDAAqD;AAGrD,qEAAoF;AACpF,iEAA2F;AAE3F,MAAa,0BAA2B,SAAQ,mCAAgB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,qCAAqC,CAAC,KAAY;QACvD,MAAM,OAAO,GAAoC;YAC/C,GAAG,2CAAoB,CAAC,iCAAiC,CAAC,KAAK,CAAC;YAChE,GAAG,mCAAgB,CAAC,6BAA6B,CAAC,KAAK,CAAC;YACxD,QAAQ,EAAE,IAAI;SACf,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAMD,YAAY,OAAwC;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QAHhB,0BAAqB,GAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAI5D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAA;QACxC,IAAI,CAAC,GAAG,GAAG,IAAI,2CAAoB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA;QACxD,IAAA,uBAAM,EAAC,iBAAiB,aAAa,EAAE,CAAC,CAAA;QACxC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAoB,EACpB,UAAuB,EACvB,SAAsB,EACtB,gBAA+B;QAE/B,MAAM,UAAU,GAAkB,EAAE,CAAA;QACpC,MAAM,MAAM,GAAuD,EAAE,CAAA;QACrE,MAAM,OAAO,GAAmB,MAAM,CAAC,EAAE;YACvC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAA;QACD,MAAM,KAAK,GAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,MAAM,EAAE,GAAG,MAAM,IAAA,+CAAsB,EACrC,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,SAAS,EACpB,OAAO,EACP,KAAK,EACL,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CACd,CAAA;QAED,IAAI,WAAW,GAAkB,EAAE,CAAA;QACnC,IAAI,EAAE,EAAE,CAAC;YACP,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;QAC5F,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzF,IAAA,uBAAM,EAAC,0CAA0C,aAAa,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAtED,gEAsEC"}
@@ -1,16 +0,0 @@
1
- import { BlockHeader, Chain } from '../../../../sdk';
2
- import { LiveIngestorBase } from './LiveIngestorBase';
3
- import { LiveIngestorWhatsOnChainOptions } from './LiveIngestorWhatsOnChainPoll';
4
- import { StopListenerToken } from './WhatsOnChainIngestorWs';
5
- import { WhatsOnChainServices } from './WhatsOnChainServices';
6
- export declare class LiveIngestorWhatsOnChainWs extends LiveIngestorBase {
7
- static createLiveIngestorWhatsOnChainOptions(chain: Chain): LiveIngestorWhatsOnChainOptions;
8
- idleWait: number;
9
- woc: WhatsOnChainServices;
10
- stopNewListenersToken: StopListenerToken;
11
- constructor(options: LiveIngestorWhatsOnChainOptions);
12
- getHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
13
- startListening(liveHeaders: BlockHeader[]): Promise<void>;
14
- stopListening(): void;
15
- }
16
- //# sourceMappingURL=LiveIngestorWhatsOnChainWs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiveIngestorWhatsOnChainWs.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAA0B,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAgC,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE3F,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,MAAM,CAAC,qCAAqC,CAAC,KAAK,EAAE,KAAK,GAAG,+BAA+B;IAS3F,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,oBAAoB,CAAA;IACzB,qBAAqB,EAAE,iBAAiB,CAAsB;gBAElD,OAAO,EAAE,+BAA+B;IAM9C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAK/D,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/D,aAAa,IAAI,IAAI;CAGtB"}