@bsv/wallet-toolbox-mobile 1.5.21 → 1.6.1

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 (438) hide show
  1. package/out/src/CWIStyleWalletManager.js +1 -1
  2. package/out/src/CWIStyleWalletManager.js.map +1 -1
  3. package/out/src/Setup.d.ts +267 -0
  4. package/out/src/Setup.d.ts.map +1 -0
  5. package/out/src/Setup.js +408 -0
  6. package/out/src/Setup.js.map +1 -0
  7. package/out/src/SetupClient.d.ts +9 -5
  8. package/out/src/SetupClient.d.ts.map +1 -1
  9. package/out/src/SetupClient.js +21 -15
  10. package/out/src/SetupClient.js.map +1 -1
  11. package/out/src/SetupWallet.d.ts +9 -6
  12. package/out/src/SetupWallet.d.ts.map +1 -1
  13. package/out/src/Wallet.d.ts +19 -15
  14. package/out/src/Wallet.d.ts.map +1 -1
  15. package/out/src/Wallet.js +59 -90
  16. package/out/src/Wallet.js.map +1 -1
  17. package/out/src/index.client.d.ts +11 -10
  18. package/out/src/index.client.d.ts.map +1 -1
  19. package/out/src/index.client.js +11 -10
  20. package/out/src/index.client.js.map +1 -1
  21. package/out/src/index.mobile.d.ts +11 -10
  22. package/out/src/index.mobile.d.ts.map +1 -1
  23. package/out/src/index.mobile.js +11 -10
  24. package/out/src/index.mobile.js.map +1 -1
  25. package/out/src/monitor/Monitor.d.ts +14 -12
  26. package/out/src/monitor/Monitor.d.ts.map +1 -1
  27. package/out/src/monitor/Monitor.js +11 -43
  28. package/out/src/monitor/Monitor.js.map +1 -1
  29. package/out/src/monitor/tasks/TaskCheckForProofs.js +3 -2
  30. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  31. package/out/src/monitor/tasks/TaskNewHeader.d.ts +16 -1
  32. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  33. package/out/src/monitor/tasks/TaskNewHeader.js +22 -1
  34. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  35. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
  36. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  37. package/out/src/monitor/tasks/TaskSendWaiting.js +5 -5
  38. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  39. package/out/src/sdk/WalletServices.interfaces.d.ts +1 -1
  40. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  41. package/out/src/sdk/validationHelpers.d.ts +4 -5
  42. package/out/src/sdk/validationHelpers.d.ts.map +1 -1
  43. package/out/src/sdk/validationHelpers.js +47 -47
  44. package/out/src/sdk/validationHelpers.js.map +1 -1
  45. package/out/src/services/Services.d.ts +25 -24
  46. package/out/src/services/Services.d.ts.map +1 -1
  47. package/out/src/services/Services.js +38 -35
  48. package/out/src/services/Services.js.map +1 -1
  49. package/out/src/services/chaintracker/BHServiceClient.d.ts +11 -6
  50. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
  51. package/out/src/services/chaintracker/BHServiceClient.js +14 -3
  52. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
  53. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +2 -2
  54. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  55. package/out/src/services/chaintracker/ChaintracksChainTracker.js +6 -4
  56. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  57. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +2 -45
  58. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
  59. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
  60. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +75 -0
  61. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
  62. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
  63. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
  64. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
  65. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
  66. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
  67. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
  68. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
  69. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
  70. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
  71. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
  72. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
  73. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
  74. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
  75. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
  76. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +8 -0
  77. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
  78. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
  79. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
  80. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
  81. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
  82. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
  83. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
  84. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +317 -0
  85. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
  86. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
  87. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
  88. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
  89. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
  90. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
  91. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
  92. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +100 -0
  93. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
  94. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +515 -0
  95. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
  96. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +30 -0
  97. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -0
  98. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +149 -0
  99. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -0
  100. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +11 -9
  101. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  102. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +26 -15
  103. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  104. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
  105. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
  106. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
  107. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
  108. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
  109. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
  110. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +115 -0
  111. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
  112. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
  113. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
  114. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
  115. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
  116. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
  117. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
  118. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +60 -0
  119. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
  120. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +23 -0
  121. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -0
  122. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +57 -0
  123. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -0
  124. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +61 -0
  125. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
  126. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +40 -0
  127. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
  128. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
  129. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
  130. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +68 -0
  131. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
  132. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +16 -0
  133. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -0
  134. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +53 -0
  135. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -0
  136. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
  137. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
  138. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +502 -0
  139. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
  140. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +88 -0
  141. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
  142. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +119 -0
  143. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
  144. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +22 -0
  145. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
  146. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +67 -0
  147. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
  148. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
  149. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
  150. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +253 -0
  151. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
  152. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +41 -0
  153. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
  154. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +325 -0
  155. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
  156. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +4 -0
  157. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
  158. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +24 -0
  159. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
  160. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +31 -0
  161. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  162. package/out/src/services/chaintracker/chaintracks/index.client.js +69 -0
  163. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  164. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +142 -0
  165. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
  166. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +814 -0
  167. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
  168. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
  169. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
  170. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
  171. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
  172. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
  173. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
  174. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
  175. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
  176. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +10 -0
  177. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
  178. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +47 -0
  179. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
  180. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +72 -0
  181. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
  182. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +119 -0
  183. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
  184. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
  185. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
  186. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
  187. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
  188. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +41 -22
  189. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  190. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +125 -72
  191. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  192. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +5 -0
  193. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
  194. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +385 -0
  195. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
  196. package/out/src/services/chaintracker/index.client.d.ts +4 -0
  197. package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  198. package/out/src/services/chaintracker/{index.js → index.client.js} +2 -2
  199. package/out/src/services/chaintracker/index.client.js.map +1 -0
  200. package/out/src/services/createDefaultWalletServicesOptions.d.ts +5 -4
  201. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  202. package/out/src/services/createDefaultWalletServicesOptions.js +4 -4
  203. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  204. package/out/src/services/providers/ARC.d.ts +3 -3
  205. package/out/src/services/providers/ARC.d.ts.map +1 -1
  206. package/out/src/services/providers/ARC.js +4 -3
  207. package/out/src/services/providers/ARC.js.map +1 -1
  208. package/out/src/services/providers/Bitails.d.ts +7 -6
  209. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  210. package/out/src/services/providers/Bitails.js +7 -5
  211. package/out/src/services/providers/Bitails.js.map +1 -1
  212. package/out/src/services/providers/WhatsOnChain.d.ts +76 -17
  213. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  214. package/out/src/services/providers/WhatsOnChain.js +241 -143
  215. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  216. package/out/src/services/providers/{echangeRates.d.ts → exchangeRates.d.ts} +4 -4
  217. package/out/src/services/providers/exchangeRates.d.ts.map +1 -0
  218. package/out/src/services/providers/{echangeRates.js → exchangeRates.js} +9 -9
  219. package/out/src/services/providers/exchangeRates.js.map +1 -0
  220. package/out/src/signer/WalletSigner.d.ts +3 -3
  221. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  222. package/out/src/signer/WalletSigner.js.map +1 -1
  223. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -2
  224. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  225. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  226. package/out/src/signer/methods/buildSignableTransaction.d.ts +9 -3
  227. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  228. package/out/src/signer/methods/buildSignableTransaction.js +27 -11
  229. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  230. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  231. package/out/src/signer/methods/completeSignedTransaction.js +15 -13
  232. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  233. package/out/src/signer/methods/createAction.d.ts +5 -9
  234. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  235. package/out/src/signer/methods/createAction.js +6 -22
  236. package/out/src/signer/methods/createAction.js.map +1 -1
  237. package/out/src/signer/methods/internalizeAction.d.ts +3 -2
  238. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  239. package/out/src/signer/methods/internalizeAction.js +9 -8
  240. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  241. package/out/src/signer/methods/proveCertificate.d.ts +4 -2
  242. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  243. package/out/src/signer/methods/proveCertificate.js +2 -2
  244. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  245. package/out/src/signer/methods/signAction.d.ts +3 -3
  246. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  247. package/out/src/signer/methods/signAction.js +5 -5
  248. package/out/src/signer/methods/signAction.js.map +1 -1
  249. package/out/src/storage/StorageIdb.d.ts +106 -104
  250. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  251. package/out/src/storage/StorageIdb.js +27 -60
  252. package/out/src/storage/StorageIdb.js.map +1 -1
  253. package/out/src/storage/StorageKnex.d.ts +179 -0
  254. package/out/src/storage/StorageKnex.d.ts.map +1 -0
  255. package/out/src/storage/StorageKnex.js +1215 -0
  256. package/out/src/storage/StorageKnex.js.map +1 -0
  257. package/out/src/storage/StorageProvider.d.ts +56 -47
  258. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  259. package/out/src/storage/StorageProvider.js +44 -40
  260. package/out/src/storage/StorageProvider.js.map +1 -1
  261. package/out/src/storage/StorageReaderWriter.d.ts +78 -64
  262. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  263. package/out/src/storage/StorageReaderWriter.js +2 -2
  264. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  265. package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -4
  266. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  267. package/out/src/storage/methods/ListActionsSpecOp.js +3 -3
  268. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  269. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +6 -5
  270. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  271. package/out/src/storage/methods/ListOutputsSpecOp.js +11 -9
  272. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  273. package/out/src/storage/methods/createAction.d.ts +6 -4
  274. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  275. package/out/src/storage/methods/createAction.js +67 -43
  276. package/out/src/storage/methods/createAction.js.map +1 -1
  277. package/out/src/storage/methods/generateChange.d.ts +2 -2
  278. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  279. package/out/src/storage/methods/generateChange.js +27 -24
  280. package/out/src/storage/methods/generateChange.js.map +1 -1
  281. package/out/src/storage/methods/getBeefForTransaction.d.ts +3 -2
  282. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  283. package/out/src/storage/methods/getBeefForTransaction.js +10 -8
  284. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  285. package/out/src/storage/methods/getSyncChunk.d.ts +2 -2
  286. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  287. package/out/src/storage/methods/getSyncChunk.js +6 -5
  288. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  289. package/out/src/storage/methods/internalizeAction.d.ts +3 -2
  290. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  291. package/out/src/storage/methods/internalizeAction.js +21 -19
  292. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  293. package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
  294. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
  295. package/out/src/storage/methods/listActionsIdb.js +5 -5
  296. package/out/src/storage/methods/listActionsIdb.js.map +1 -1
  297. package/out/src/storage/methods/listActionsKnex.d.ts +6 -0
  298. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
  299. package/out/src/storage/methods/listActionsKnex.js +198 -0
  300. package/out/src/storage/methods/listActionsKnex.js.map +1 -0
  301. package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
  302. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
  303. package/out/src/storage/methods/listOutputsIdb.js +6 -5
  304. package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
  305. package/out/src/storage/methods/listOutputsKnex.d.ts +6 -0
  306. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
  307. package/out/src/storage/methods/listOutputsKnex.js +241 -0
  308. package/out/src/storage/methods/listOutputsKnex.js.map +1 -0
  309. package/out/src/storage/methods/processAction.d.ts +6 -3
  310. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  311. package/out/src/storage/methods/processAction.js +45 -40
  312. package/out/src/storage/methods/processAction.js.map +1 -1
  313. package/out/src/storage/methods/purgeData.d.ts +4 -0
  314. package/out/src/storage/methods/purgeData.d.ts.map +1 -0
  315. package/out/src/storage/methods/purgeData.js +207 -0
  316. package/out/src/storage/methods/purgeData.js.map +1 -0
  317. package/out/src/storage/methods/purgeDataIdb.d.ts +2 -2
  318. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
  319. package/out/src/storage/methods/purgeDataIdb.js.map +1 -1
  320. package/out/src/storage/methods/reviewStatus.d.ts +20 -0
  321. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
  322. package/out/src/storage/methods/reviewStatus.js +84 -0
  323. package/out/src/storage/methods/reviewStatus.js.map +1 -0
  324. package/out/src/storage/methods/utils.js +2 -2
  325. package/out/src/storage/methods/utils.js.map +1 -1
  326. package/out/src/storage/remoting/StorageClient.d.ts +35 -25
  327. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  328. package/out/src/storage/remoting/StorageClient.js +3 -3
  329. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  330. package/out/src/storage/remoting/StorageMobile.d.ts +35 -25
  331. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
  332. package/out/src/storage/remoting/StorageMobile.js +3 -3
  333. package/out/src/storage/remoting/StorageMobile.js.map +1 -1
  334. package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
  335. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
  336. package/out/src/storage/schema/KnexMigrations.js +410 -0
  337. package/out/src/storage/schema/KnexMigrations.js.map +1 -0
  338. package/out/src/storage/schema/entities/EntityBase.d.ts +4 -3
  339. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  340. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  341. package/out/src/storage/schema/entities/EntityCertificate.d.ts +6 -5
  342. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
  343. package/out/src/storage/schema/entities/EntityCertificate.js +5 -5
  344. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
  345. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +6 -5
  346. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
  347. package/out/src/storage/schema/entities/EntityCertificateField.js +6 -5
  348. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
  349. package/out/src/storage/schema/entities/EntityCommission.d.ts +6 -5
  350. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
  351. package/out/src/storage/schema/entities/EntityCommission.js +6 -6
  352. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
  353. package/out/src/storage/schema/entities/EntityOutput.d.ts +8 -7
  354. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  355. package/out/src/storage/schema/entities/EntityOutput.js +6 -6
  356. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  357. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +6 -5
  358. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
  359. package/out/src/storage/schema/entities/EntityOutputBasket.js +6 -6
  360. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  361. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +6 -5
  362. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
  363. package/out/src/storage/schema/entities/EntityOutputTag.js +5 -5
  364. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
  365. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +6 -5
  366. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
  367. package/out/src/storage/schema/entities/EntityOutputTagMap.js +8 -7
  368. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
  369. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +10 -7
  370. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  371. package/out/src/storage/schema/entities/EntityProvenTx.js +14 -12
  372. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  373. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +22 -18
  374. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
  375. package/out/src/storage/schema/entities/EntityProvenTxReq.js +17 -15
  376. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  377. package/out/src/storage/schema/entities/EntitySyncState.d.ts +13 -11
  378. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  379. package/out/src/storage/schema/entities/EntitySyncState.js +39 -24
  380. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  381. package/out/src/storage/schema/entities/EntityTransaction.d.ts +13 -9
  382. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  383. package/out/src/storage/schema/entities/EntityTransaction.js +13 -13
  384. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  385. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +6 -5
  386. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
  387. package/out/src/storage/schema/entities/EntityTxLabel.js +5 -5
  388. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
  389. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +6 -5
  390. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
  391. package/out/src/storage/schema/entities/EntityTxLabelMap.js +8 -7
  392. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
  393. package/out/src/storage/schema/entities/EntityUser.d.ts +6 -5
  394. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
  395. package/out/src/storage/schema/entities/EntityUser.js +8 -7
  396. package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
  397. package/out/src/storage/schema/entities/MergeEntity.d.ts +6 -5
  398. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  399. package/out/src/storage/schema/entities/MergeEntity.js +6 -5
  400. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  401. package/out/src/utility/ReaderUint8Array.d.ts +28 -0
  402. package/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
  403. package/out/src/utility/ReaderUint8Array.js +166 -0
  404. package/out/src/utility/ReaderUint8Array.js.map +1 -0
  405. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  406. package/out/src/utility/ScriptTemplateBRC29.js +4 -4
  407. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  408. package/out/src/utility/utilityHelpers.d.ts +11 -4
  409. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  410. package/out/src/utility/utilityHelpers.js +30 -9
  411. package/out/src/utility/utilityHelpers.js.map +1 -1
  412. package/out/src/utility/utilityHelpers.noBuffer.d.ts +22 -5
  413. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
  414. package/out/src/utility/utilityHelpers.noBuffer.js +50 -9
  415. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  416. package/out/test/utils/TestUtilsWalletStorage.d.ts +522 -0
  417. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
  418. package/out/test/utils/TestUtilsWalletStorage.js +1956 -0
  419. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
  420. package/out/tsconfig.mobile.tsbuildinfo +1 -1
  421. package/package.json +2 -2
  422. package/out/src/services/chaintracker/chaintracks/index.d.ts +0 -3
  423. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +0 -1
  424. package/out/src/services/chaintracker/chaintracks/index.js +0 -19
  425. package/out/src/services/chaintracker/chaintracks/index.js.map +0 -1
  426. package/out/src/services/chaintracker/index.d.ts +0 -4
  427. package/out/src/services/chaintracker/index.d.ts.map +0 -1
  428. package/out/src/services/chaintracker/index.js.map +0 -1
  429. package/out/src/services/index.d.ts +0 -2
  430. package/out/src/services/index.d.ts.map +0 -1
  431. package/out/src/services/index.js +0 -18
  432. package/out/src/services/index.js.map +0 -1
  433. package/out/src/services/providers/echangeRates.d.ts.map +0 -1
  434. package/out/src/services/providers/echangeRates.js.map +0 -1
  435. package/out/src/utility/utilityHelpers.buffer.d.ts +0 -18
  436. package/out/src/utility/utilityHelpers.buffer.d.ts.map +0 -1
  437. package/out/src/utility/utilityHelpers.buffer.js +0 -45
  438. package/out/src/utility/utilityHelpers.buffer.js.map +0 -1
@@ -0,0 +1,149 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChaintracksService.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksService.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
- import { sdk } from '../../../index.client';
1
+ import { Chain } from '../../../sdk/types';
2
2
  import { BaseBlockHeader, BlockHeader } from './Api/BlockHeaderApi';
3
+ import { ChaintracksClientApi, ChaintracksInfoApi, HeaderListener, ReorgListener } from './Api/ChaintracksClientApi';
3
4
  export interface ChaintracksServiceClientOptions {
4
- useAuthrite: boolean;
5
5
  }
6
6
  /**
7
7
  * Connects to a ChaintracksService to implement 'ChaintracksClientApi'
8
8
  *
9
9
  */
10
- export declare class ChaintracksServiceClient {
11
- chain: sdk.Chain;
10
+ export declare class ChaintracksServiceClient implements ChaintracksClientApi {
11
+ chain: Chain;
12
12
  serviceUrl: string;
13
13
  static createChaintracksServiceClientOptions(): ChaintracksServiceClientOptions;
14
14
  options: ChaintracksServiceClientOptions;
15
- constructor(chain: sdk.Chain, serviceUrl: string, options?: ChaintracksServiceClientOptions);
15
+ constructor(chain: Chain, serviceUrl: string, options?: ChaintracksServiceClientOptions);
16
+ subscribeHeaders(listener: HeaderListener): Promise<string>;
17
+ subscribeReorgs(listener: ReorgListener): Promise<string>;
18
+ unsubscribe(subscriptionId: string): Promise<boolean>;
16
19
  currentHeight(): Promise<number>;
17
20
  isValidRootForHeight(root: string, height: number): Promise<boolean>;
18
21
  getJsonOrUndefined<T>(path: string): Promise<T | undefined>;
@@ -21,16 +24,15 @@ export declare class ChaintracksServiceClient {
21
24
  addHeader(header: BaseBlockHeader): Promise<void>;
22
25
  startListening(): Promise<void>;
23
26
  listening(): Promise<void>;
24
- getChain(): Promise<sdk.Chain>;
27
+ getChain(): Promise<Chain>;
25
28
  isListening(): Promise<boolean>;
26
29
  isSynchronized(): Promise<boolean>;
27
30
  getPresentHeight(): Promise<number>;
31
+ getInfo(): Promise<ChaintracksInfoApi>;
28
32
  findChainTipHeader(): Promise<BlockHeader>;
29
- findChainTipHashHex(): Promise<string>;
33
+ findChainTipHash(): Promise<string>;
30
34
  getHeaders(height: number, count: number): Promise<string>;
31
35
  findHeaderForHeight(height: number): Promise<BlockHeader | undefined>;
32
- findChainWorkForBlockHash(hash: string): Promise<string | undefined>;
33
36
  findHeaderForBlockHash(hash: string): Promise<BlockHeader | undefined>;
34
- findHeaderForMerkleRoot(merkleRoot: string, height?: number): Promise<BlockHeader | undefined>;
35
37
  }
36
38
  //# sourceMappingURL=ChaintracksServiceClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAqB,MAAM,sBAAsB,CAAA;AAStF,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,qBAAa,wBAAwB;IAW1B,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,UAAU,EAAE,MAAM;IAX3B,MAAM,CAAC,qCAAqC,IAAI,+BAA+B;IAO/E,OAAO,EAAE,+BAA+B,CAAA;gBAG/B,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,UAAU,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,+BAA+B;IAKrC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpE,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3D,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMpC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAG/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAG1B,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAK9B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAG/B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAGlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAGnC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAG1C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAG1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAGrE,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAGpE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAGtE,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAGrG"}
1
+ {"version":3,"file":"ChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AASpH,MAAM,WAAW,+BAA+B;CAAG;AAEnD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IAW1D,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,MAAM;IAX3B,MAAM,CAAC,qCAAqC,IAAI,+BAA+B;IAO/E,OAAO,EAAE,+BAA+B,CAAA;gBAG/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,+BAA+B;IAK3C,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAG3D,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAGzD,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpE,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3D,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMpC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAG/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAG1B,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAK1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAGlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAGnC,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAGtC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAG1C,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIrE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAG7E"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChaintracksServiceClient = void 0;
4
- /* eslint-disable @typescript-eslint/no-unused-vars */
5
- const index_client_1 = require("../../../index.client");
4
+ const utilityHelpers_noBuffer_1 = require("../../../utility/utilityHelpers.noBuffer");
6
5
  /**
7
6
  * Connects to a ChaintracksService to implement 'ChaintracksClientApi'
8
7
  *
@@ -19,6 +18,15 @@ class ChaintracksServiceClient {
19
18
  this.serviceUrl = serviceUrl;
20
19
  this.options = options || ChaintracksServiceClient.createChaintracksServiceClientOptions();
21
20
  }
21
+ subscribeHeaders(listener) {
22
+ throw new Error('Method not implemented.');
23
+ }
24
+ subscribeReorgs(listener) {
25
+ throw new Error('Method not implemented.');
26
+ }
27
+ unsubscribe(subscriptionId) {
28
+ throw new Error('Method not implemented.');
29
+ }
22
30
  async currentHeight() {
23
31
  return await this.getPresentHeight();
24
32
  }
@@ -26,7 +34,7 @@ class ChaintracksServiceClient {
26
34
  const r = await this.findHeaderForHeight(height);
27
35
  if (!r)
28
36
  return false;
29
- const isValid = root === (0, index_client_1.asString)(r.merkleRoot);
37
+ const isValid = root === (0, utilityHelpers_noBuffer_1.asString)(r.merkleRoot);
30
38
  return isValid;
31
39
  }
32
40
  async getJsonOrUndefined(path) {
@@ -84,28 +92,37 @@ class ChaintracksServiceClient {
84
92
  throw new Error(r);
85
93
  }
86
94
  async startListening() {
87
- return await this.getJsonOrUndefined('/startListening');
95
+ await this.getPresentHeight();
88
96
  }
89
97
  async listening() {
90
- return await this.getJsonOrUndefined('/listening');
98
+ await this.getPresentHeight();
91
99
  }
92
100
  async getChain() {
93
101
  return this.chain;
94
102
  //return await this.getJson('/getChain')
95
103
  }
96
104
  async isListening() {
97
- return await this.getJson('/isListening');
105
+ try {
106
+ await this.getPresentHeight();
107
+ return true;
108
+ }
109
+ catch (_a) {
110
+ return false;
111
+ }
98
112
  }
99
113
  async isSynchronized() {
100
- return await this.getJson('/isSynchronized');
114
+ return await this.isListening();
101
115
  }
102
116
  async getPresentHeight() {
103
117
  return await this.getJson('/getPresentHeight');
104
118
  }
119
+ async getInfo() {
120
+ return await this.getJson('/getInfo');
121
+ }
105
122
  async findChainTipHeader() {
106
123
  return await this.getJson('/findChainTipHeaderHex');
107
124
  }
108
- async findChainTipHashHex() {
125
+ async findChainTipHash() {
109
126
  return await this.getJson('/findChainTipHashHex');
110
127
  }
111
128
  async getHeaders(height, count) {
@@ -114,14 +131,8 @@ class ChaintracksServiceClient {
114
131
  async findHeaderForHeight(height) {
115
132
  return await this.getJsonOrUndefined(`/findHeaderHexForHeight?height=${height}`);
116
133
  }
117
- async findChainWorkForBlockHash(hash) {
118
- return await this.getJsonOrUndefined(`/findChainWorkHexForBlockHash?hash=${(0, index_client_1.asString)(hash)}`);
119
- }
120
134
  async findHeaderForBlockHash(hash) {
121
- return await this.getJsonOrUndefined(`/findHeaderHexForBlockHash?hash=${(0, index_client_1.asString)(hash)}`);
122
- }
123
- async findHeaderForMerkleRoot(merkleRoot, height) {
124
- return await this.getJsonOrUndefined(`/findHeaderHexForMerkleRoot?root=${(0, index_client_1.asString)(merkleRoot)}&height=${height}`);
135
+ return await this.getJsonOrUndefined(`/findHeaderHexForBlockHash?hash=${hash}`);
125
136
  }
126
137
  }
127
138
  exports.ChaintracksServiceClient = ChaintracksServiceClient;
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksServiceClient.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChaintracksServiceClient.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { BulkIngestorApi, BulkIngestorBaseOptions, BulkSyncResult } from '../Api/BulkIngestorApi';
2
+ import { ChaintracksStorageApi } from '../Api/ChaintracksStorageApi';
3
+ import { BulkHeaderFilesInfo } from '../util/BulkHeaderFile';
4
+ import { HeightRange, HeightRanges } from '../util/HeightRange';
5
+ import { Chain } from '../../../../sdk/types';
6
+ import { BlockHeader } from '../Api/BlockHeaderApi';
7
+ import { ChaintracksStorageBase } from '../Storage/ChaintracksStorageBase';
8
+ export declare abstract class BulkIngestorBase implements BulkIngestorApi {
9
+ /**
10
+ *
11
+ * @param chain
12
+ * @param localCachePath defaults to './data/ingest_headers/'
13
+ * @returns
14
+ */
15
+ static createBulkIngestorBaseOptions(chain: Chain): BulkIngestorBaseOptions;
16
+ chain: Chain;
17
+ jsonFilename: string;
18
+ bypassLiveEnabled: boolean;
19
+ constructor(options: BulkIngestorBaseOptions);
20
+ private storageEngine;
21
+ setStorage(storage: ChaintracksStorageBase): Promise<void>;
22
+ shutdown(): Promise<void>;
23
+ storageOrUndefined(): ChaintracksStorageApi | undefined;
24
+ storage(): ChaintracksStorageBase;
25
+ /**
26
+ * information about locally cached bulk header files managed by this bulk ingestor
27
+ */
28
+ filesInfo: BulkHeaderFilesInfo | undefined;
29
+ /**
30
+ * At least one derived BulkIngestor must override this method to provide the current height of the active chain tip.
31
+ * @returns undefined unless overridden
32
+ */
33
+ getPresentHeight(): Promise<number | undefined>;
34
+ /**
35
+ * A BulkIngestor fetches and updates storage with bulk headers in bulkRange.
36
+ *
37
+ * If it can, it must also fetch live headers in fetch range that are not in bulkRange and return them as an array.
38
+ *
39
+ * The storage methods `insertBulkFile`, `updateBulkFile`, and `addBulkHeaders` should be used to add bulk headers to storage.
40
+ *
41
+ * @param before bulk and live range of headers before ingesting any new headers.
42
+ * @param fetchRange range of headers still needed, includes both missing bulk and live headers.
43
+ * @param bulkRange range of bulk headers still needed
44
+ * @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
45
+ * @returns new live headers: headers in fetchRange but not in bulkRange
46
+ */
47
+ abstract fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
48
+ /**
49
+ * A BulkIngestor has two potential goals:
50
+ * 1. To source missing bulk headers and include them in bulk storage.
51
+ * 2. To source missing live headers to be forwarded to live storage.
52
+ *
53
+ * @param presentHeight current height of the active chain tip, may lag the true value.
54
+ * @param before current bulk and live storage height ranges, either may be empty.
55
+ * @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
56
+ * @returns updated priorLiveHeaders including any accumulated by this ingestor
57
+ */
58
+ synchronize(presentHeight: number, before: HeightRanges, priorLiveHeaders: BlockHeader[]): Promise<BulkSyncResult>;
59
+ }
60
+ //# sourceMappingURL=BulkIngestorBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkIngestorBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,8BAAsB,gBAAiB,YAAW,eAAe;IAC/D;;;;;OAKG;IACH,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK;IASjD,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,OAAO,CAAA;gBAEd,OAAO,EAAE,uBAAuB;IAO5C,OAAO,CAAC,aAAa,CAAoC;IAEnD,UAAU,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,kBAAkB,IAAI,qBAAqB,GAAG,SAAS;IAIvD,OAAO,IAAI,sBAAsB;IAKjC;;OAEG;IACH,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAE1C;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,CACnB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzB;;;;;;;;;OASG;IACG,WAAW,CACf,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,cAAc,CAAC;CA4E3B"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BulkIngestorBase = void 0;
4
+ const HeightRange_1 = require("../util/HeightRange");
5
+ class BulkIngestorBase {
6
+ /**
7
+ *
8
+ * @param chain
9
+ * @param localCachePath defaults to './data/ingest_headers/'
10
+ * @returns
11
+ */
12
+ static createBulkIngestorBaseOptions(chain) {
13
+ const options = {
14
+ chain,
15
+ jsonResource: `${chain}NetBlockHeaders.json`,
16
+ bypassLiveEnabled: true
17
+ };
18
+ return options;
19
+ }
20
+ constructor(options) {
21
+ if (!options.jsonResource)
22
+ throw new Error('The jsonFilename options property is required.');
23
+ this.chain = options.chain;
24
+ this.jsonFilename = options.jsonResource;
25
+ this.bypassLiveEnabled = options.bypassLiveEnabled;
26
+ }
27
+ async setStorage(storage) {
28
+ this.storageEngine = storage;
29
+ }
30
+ async shutdown() { }
31
+ storageOrUndefined() {
32
+ return this.storageEngine;
33
+ }
34
+ storage() {
35
+ if (!this.storageEngine)
36
+ throw new Error('storageEngine must be set.');
37
+ return this.storageEngine;
38
+ }
39
+ /**
40
+ * At least one derived BulkIngestor must override this method to provide the current height of the active chain tip.
41
+ * @returns undefined unless overridden
42
+ */
43
+ async getPresentHeight() {
44
+ return undefined;
45
+ }
46
+ /**
47
+ * A BulkIngestor has two potential goals:
48
+ * 1. To source missing bulk headers and include them in bulk storage.
49
+ * 2. To source missing live headers to be forwarded to live storage.
50
+ *
51
+ * @param presentHeight current height of the active chain tip, may lag the true value.
52
+ * @param before current bulk and live storage height ranges, either may be empty.
53
+ * @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
54
+ * @returns updated priorLiveHeaders including any accumulated by this ingestor
55
+ */
56
+ async synchronize(presentHeight, before, priorLiveHeaders) {
57
+ const storage = this.storage();
58
+ const r = {
59
+ liveHeaders: priorLiveHeaders,
60
+ liveRange: HeightRange_1.HeightRange.from(priorLiveHeaders),
61
+ done: false,
62
+ log: ''
63
+ };
64
+ // Decisions to be made:
65
+ // Q1. Are we already done?
66
+ // Q2. Are there live headers that should be migrated to bulk?
67
+ // Q3. What range of headers do we still need to retrieve?
68
+ // Q1: We are done if we have enough live headers and they include presentHeight.
69
+ const currentFullRange = before.bulk.union(before.live);
70
+ if (currentFullRange.maxHeight >= presentHeight) {
71
+ r.done = true;
72
+ return r;
73
+ }
74
+ const targetBulkRange = new HeightRange_1.HeightRange(0, Math.max(0, presentHeight - storage.liveHeightThreshold));
75
+ let missingBulkRange = targetBulkRange.subtract(before.bulk);
76
+ const updateMissingBulkRange = async () => {
77
+ before = await storage.getAvailableHeightRanges();
78
+ missingBulkRange = targetBulkRange.subtract(before.bulk);
79
+ };
80
+ // Q2: If missingBulkRange isn't empty and there are live headers in storage,
81
+ // migrate from existing live headers in excess of reorgHeightThreshold.
82
+ if (!missingBulkRange.isEmpty && !before.live.isEmpty) {
83
+ const countToMigrate = Math.min(missingBulkRange.length, Math.max(0, before.live.length - storage.reorgHeightThreshold));
84
+ r.log += `Migrating ${countToMigrate} live headers to bulk storage.\n`;
85
+ await storage.migrateLiveToBulk(countToMigrate);
86
+ await updateMissingBulkRange();
87
+ if (!missingBulkRange.isEmpty) {
88
+ // If there are still missing bulk headers, MUST flush live storage.
89
+ const countToFlush = before.live.length;
90
+ r.log += `Flushing ${countToFlush} live headers from live storage.\n`;
91
+ await storage.deleteLiveBlockHeaders();
92
+ await updateMissingBulkRange();
93
+ }
94
+ }
95
+ const targetFullRange = new HeightRange_1.HeightRange(0, presentHeight);
96
+ // Q3: What to fetch...
97
+ let rangeToFetch;
98
+ if (missingBulkRange.isEmpty) {
99
+ // If there are no missing bulk headers, we don't need existing bulk range.
100
+ rangeToFetch = targetFullRange.subtract(before.bulk);
101
+ // And if there are live headers in excess of reorgHeightThreshold, they can be skipped as well.
102
+ if (before.live.length > storage.reorgHeightThreshold) {
103
+ rangeToFetch = rangeToFetch.subtract(new HeightRange_1.HeightRange(before.live.minHeight, before.live.maxHeight - storage.reorgHeightThreshold));
104
+ }
105
+ }
106
+ else {
107
+ // If there are missing bulk headers, ingest from start of missing through present height.
108
+ rangeToFetch = new HeightRange_1.HeightRange(missingBulkRange.minHeight, presentHeight);
109
+ }
110
+ const newLiveHeaders = await this.fetchHeaders(before, rangeToFetch, missingBulkRange, priorLiveHeaders);
111
+ await updateMissingBulkRange();
112
+ r.liveHeaders = newLiveHeaders;
113
+ r.liveRange = HeightRange_1.HeightRange.from(r.liveHeaders);
114
+ r.done = missingBulkRange.isEmpty && r.liveRange.maxHeight >= presentHeight;
115
+ return r;
116
+ }
117
+ }
118
+ exports.BulkIngestorBase = BulkIngestorBase;
119
+ //# sourceMappingURL=BulkIngestorBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkIngestorBase.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { Chain } from '../../../../sdk/types';
2
+ import { BlockHeader } from '../Api/BlockHeaderApi';
3
+ import { BulkIngestorBaseOptions } from '../Api/BulkIngestorApi';
4
+ import { BulkIngestorBase } from './BulkIngestorBase';
5
+ import { BulkHeaderFileInfo } from '../util/BulkHeaderFile';
6
+ import { BulkHeaderFilesInfo } from '../util/BulkHeaderFile';
7
+ import { HeightRange, HeightRanges } from '../util/HeightRange';
8
+ import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
9
+ export interface BulkIngestorCDNOptions extends BulkIngestorBaseOptions {
10
+ /**
11
+ * Required.
12
+ *
13
+ * The name of the JSON resource to request from CDN which describes currently
14
+ * available bulk block header resources.
15
+ */
16
+ jsonResource: string | undefined;
17
+ /**
18
+ * Required.
19
+ *
20
+ * URL to CDN implementing the bulk ingestor CDN service protocol
21
+ */
22
+ cdnUrl: string | undefined;
23
+ maxPerFile: number | undefined;
24
+ fetch: ChaintracksFetchApi;
25
+ }
26
+ export declare class BulkIngestorCDN extends BulkIngestorBase {
27
+ /**
28
+ *
29
+ * @param chain
30
+ * @param localCachePath defaults to './data/bulk_cdn_headers/'
31
+ * @returns
32
+ */
33
+ static createBulkIngestorCDNOptions(chain: Chain, cdnUrl: string, fetch: ChaintracksFetchApi, maxPerFile?: number): BulkIngestorCDNOptions;
34
+ fetch: ChaintracksFetchApi;
35
+ jsonResource: string;
36
+ cdnUrl: string;
37
+ maxPerFile: number | undefined;
38
+ availableBulkFiles: BulkHeaderFilesInfo | undefined;
39
+ selectedFiles: BulkHeaderFileInfo[] | undefined;
40
+ currentRange: HeightRange | undefined;
41
+ constructor(options: BulkIngestorCDNOptions);
42
+ getPresentHeight(): Promise<number | undefined>;
43
+ getJsonHttpHeaders(): Record<string, string>;
44
+ /**
45
+ * A BulkFile CDN serves a JSON BulkHeaderFilesInfo resource which lists all the available binary bulk header files available and associated metadata.
46
+ *
47
+ * The term "CDN file" is used for a local bulk file that has a sourceUrl. (Not undefined)
48
+ * The term "incremental file" is used for the local bulk file that holds all the non-CDN bulk headers and must chain to the live headers if there are any.
49
+ *
50
+ * Bulk ingesting from a CDN happens in one of three contexts:
51
+ *
52
+ * 1. Cold Start: No local bulk or live headers.
53
+ * 2. Incremental: Available CDN files extend into an existing incremental file but not into the live headers.
54
+ * 3. Replace: Available CDN files extend into live headers.
55
+ *
56
+ * Context Cold Start:
57
+ * - The CDN files are selected in height order, starting at zero, always choosing the largest count less than the local maximum (maxPerFile).
58
+ *
59
+ * Context Incremental:
60
+ * - Last existing CDN file is updated if CDN now has a higher count.
61
+ * - Additional CDN files are added as in Cold Start.
62
+ * - The existing incremental file is truncated or deleted.
63
+ *
64
+ * Context Replace:
65
+ * - Existing live headers are truncated or deleted.
66
+ * - Proceed as context Incremental.
67
+ *
68
+ * @param before bulk and live range of headers before ingesting any new headers.
69
+ * @param fetchRange total range of header heights needed including live headers
70
+ * @param bulkRange range of missing bulk header heights required.
71
+ * @param priorLiveHeaders
72
+ * @returns
73
+ */
74
+ fetchHeaders(before: HeightRanges, fetchRange: HeightRange, bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise<BlockHeader[]>;
75
+ }
76
+ //# sourceMappingURL=BulkIngestorCDN.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkIngestorCDN.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAMhE,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAEhC;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,sBAAsB;IAWzB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B,kBAAkB,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACnD,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAA;IAC/C,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;gBAEzB,OAAO,EAAE,sBAAsB;IAW5B,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI9D,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAO5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,YAAY,CAChB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,WAAW,EACtB,gBAAgB,EAAE,WAAW,EAAE,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC;CAmD1B"}