@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
@@ -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
+ })
@@ -61,6 +61,11 @@ export class StorageServer {
61
61
  }
62
62
  })
63
63
 
64
+ this.app.get(`/robots.txt`, (req: Request, res: Response) => {
65
+ res.type('text/plain')
66
+ res.send(`User-agent: *\nDisallow: /`)
67
+ })
68
+
64
69
  const options: AuthMiddlewareOptions = {
65
70
  wallet: this.wallet as WalletInterface
66
71
  }
@@ -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,