@bsv/wallet-toolbox-mobile 1.5.21 → 1.6.2

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 +44 -37
  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 +55 -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 +89 -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 +137 -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 +7 -5
  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 +45 -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 +13 -4
  409. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  410. package/out/src/utility/utilityHelpers.js +37 -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,317 @@
1
+ import { HeightRange } from '../util/HeightRange';
2
+ import { BlockHeader, LiveBlockHeader } from './BlockHeaderApi';
3
+ import { Chain } from '../../../../sdk/types';
4
+ import { BulkHeaderFileInfo } from '../util/BulkHeaderFile';
5
+ import { BulkFileDataManager } from '../util/BulkFileDataManager';
6
+ export interface ChaintracksStorageBaseOptions {
7
+ /**
8
+ * Which chain is being tracked: main, test, or stn.
9
+ */
10
+ chain: Chain;
11
+ /**
12
+ * How much of recent history is required to be kept in "live" block header storage.
13
+ *
14
+ * Headers with height less than active chain tip height minus `liveHeightThreshold`
15
+ * are not required to be kept in "live" storage and may be migrated to "bulk" storage.
16
+ *
17
+ * As no forks, orphans, or reorgs can affect "bulk" block header storage, an
18
+ * aggressively high number is recommended: At least an order of magnitude more than
19
+ * the deepest actual reorg you can imagine.
20
+ */
21
+ liveHeightThreshold: number;
22
+ /**
23
+ * How much of recent history must be processed with full validation and reorg support.
24
+ *
25
+ * Must be less than or equal to `liveHeightThreshold`.
26
+ *
27
+ * Headers with height older than active chain tip height minus `reorgHeightThreshold`
28
+ * may use batch processing when ingesting headers.
29
+ */
30
+ reorgHeightThreshold: number;
31
+ /**
32
+ * How many excess "live" headers to accumulate before migrating them as a chunk to the
33
+ * bulk header storage.
34
+ */
35
+ bulkMigrationChunkSize: number;
36
+ /**
37
+ * Maximum number of headers per call to batchInsert
38
+ */
39
+ batchInsertLimit: number;
40
+ /**
41
+ * Controls in memory caching and retrieval of missing bulk header data.
42
+ */
43
+ bulkFileDataManager: BulkFileDataManager | undefined;
44
+ }
45
+ export interface ChaintracksStorageQueryApi {
46
+ /**
47
+ * Returns the active chain tip header
48
+ * Throws an error if there is no tip.
49
+ */
50
+ findChainTipHeader(): Promise<LiveBlockHeader>;
51
+ /**
52
+ * Returns the block hash of the active chain tip.
53
+ */
54
+ findChainTipHash(): Promise<string>;
55
+ /**
56
+ * Returns the active chain tip header or undefined if there is no tip.
57
+ */
58
+ findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>;
59
+ /**
60
+ * Returns the chainWork value of the active chain tip
61
+ */
62
+ findChainTipWork(): Promise<string>;
63
+ /**
64
+ * Returns block header for a given block height on active chain.
65
+ * @param hash block hash
66
+ */
67
+ findHeaderForHeight(height: number): Promise<LiveBlockHeader | BlockHeader>;
68
+ /**
69
+ * Returns block header for a given block height on active chain.
70
+ * @param hash block hash
71
+ */
72
+ findHeaderForHeightOrUndefined(height: number): Promise<LiveBlockHeader | BlockHeader | undefined>;
73
+ /**
74
+ * Given two chain tip headers in a chain reorg scenario,
75
+ * return their common ancestor header.
76
+ * @param header1 First header in live part of the chain.
77
+ * @param header2 Second header in live part of the chain.
78
+ */
79
+ findCommonAncestor(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise<LiveBlockHeader>;
80
+ /**
81
+ * This is an original API. Proposed deprecation in favor of `findCommonAncestor`
82
+ * Given two headers that are both chain tips in a reorg scenario, returns
83
+ * the depth of the reorg (the greater of the heights of the two provided
84
+ * headers, minus the height of their last common ancestor)
85
+ */
86
+ findReorgDepth(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise<number>;
87
+ /**
88
+ * Returns true if the given merkleRoot is found in a block header on the active chain.
89
+ * @param merkleRoot of block header
90
+ */
91
+ isMerkleRootActive(merkleRoot: string): Promise<boolean>;
92
+ /**
93
+ * Adds headers in 80 byte serialized format to a buffer.
94
+ * Only adds active headers.
95
+ * Buffer length divided by 80 is the actual number returned.
96
+ *
97
+ * This function supports the ChaintracksClientApi
98
+ *
99
+ * @param height of first header, must be >= zero.
100
+ * @param count of headers, maximum
101
+ */
102
+ getHeaders(height: number, count: number): Promise<number[]>;
103
+ /**
104
+ * Returns block header for a given block height on active chain.
105
+ * @param hash block hash
106
+ */
107
+ findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
108
+ /**
109
+ * Returns block header for a given headerId.
110
+
111
+ * Only from the "live" portion of the chain.
112
+ * @param headerId
113
+ */
114
+ findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
115
+ /**
116
+ * Returns block header for a given block hash.
117
+ * Only from the "live" portion of the chain.
118
+ * Returns null if not found.
119
+ * @param hash block hash
120
+ */
121
+ findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>;
122
+ /**
123
+ * Returns block header for a given merkleRoot.
124
+ * Only from the "live" portion of the chain.
125
+ * @param merkleRoot
126
+ */
127
+ findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
128
+ /**
129
+ * Returns the height range of both bulk and live storage.
130
+ * Verifies that the ranges meet these requirements:
131
+ * - Both may be empty.
132
+ * - If bulk is empty, live must be empty or start with height zero.
133
+ * - If bulk is not empty it must start with height zero.
134
+ * - If bulk is not empty and live is not empty, live must start with the height after bulk.
135
+ */
136
+ getAvailableHeightRanges(): Promise<{
137
+ bulk: HeightRange;
138
+ live: HeightRange;
139
+ }>;
140
+ /**
141
+ * @returns The current minimum and maximum height active LiveBlockHeaders in the "live" database.
142
+ */
143
+ findLiveHeightRange(): Promise<{
144
+ minHeight: number;
145
+ maxHeight: number;
146
+ }>;
147
+ /**
148
+ * @returns The maximum headerId value used by existing records or -1 if there are none.
149
+ */
150
+ findMaxHeaderId(): Promise<number>;
151
+ /**
152
+ * Which chain is being tracked: "main" or "test".
153
+ */
154
+ chain: Chain;
155
+ /**
156
+ * How much of recent history is required to be kept in "live" block header storage.
157
+ *
158
+ * Headers with height older than active chain tip height minus `liveHeightThreshold`
159
+ * are not required to be kept in "live" storage and may be migrated to "bulk" storage.
160
+ */
161
+ liveHeightThreshold: number;
162
+ /**
163
+ * How much of recent history must be processed with full validation and reorg support.
164
+ *
165
+ * May be less than `liveHeightThreshold`.
166
+ *
167
+ * Headers with height older than active chain tip height minus ``
168
+ * may use batch processing when ingesting headers.
169
+ */
170
+ reorgHeightThreshold: number;
171
+ /**
172
+ * How many excess "live" headers to accumulate before migrating them as a chunk to the
173
+ * bulk header storage.
174
+ */
175
+ bulkMigrationChunkSize: number;
176
+ /**
177
+ * Maximum number of headers per call to batchInsert
178
+ */
179
+ batchInsertLimit: number;
180
+ }
181
+ export type InsertHeaderResult = {
182
+ /**
183
+ * true only if the new header was inserted
184
+ */
185
+ added: boolean;
186
+ /**
187
+ * true only if the header was not inserted because a matching hash already exists in the database.
188
+ */
189
+ dupe: boolean;
190
+ /**
191
+ * true only if the new header became the active chain tip.
192
+ */
193
+ isActiveTip: boolean;
194
+ /**
195
+ * zero if the insertion of the new header did not cause a reorg.
196
+ * If isActiveTip is true, and priorTip is not the new headers previous header,
197
+ * then the minimum height difference from the common active ancestor to this header (new tip) and priorTip.
198
+ */
199
+ reorgDepth: number;
200
+ /**
201
+ * If `added` is true, this header was the active chain tip before the insert. It may or may not still be the active chain tip after the insert.
202
+ */
203
+ priorTip: LiveBlockHeader | undefined;
204
+ /**
205
+ * header's previousHash was not found in database
206
+ */
207
+ noPrev: boolean;
208
+ /**
209
+ * header matching previousHash does not have height - 1
210
+ */
211
+ badPrev: boolean;
212
+ /**
213
+ * an active ancestor was not found in live storage or prev header.
214
+ */
215
+ noActiveAncestor: boolean;
216
+ /**
217
+ * a current chain tip was not found in live storage or prev header.
218
+ */
219
+ noTip: boolean;
220
+ };
221
+ export interface ChaintracksStorageBulkFileApi {
222
+ insertBulkFile(file: BulkHeaderFileInfo): Promise<number>;
223
+ updateBulkFile(fileId: number, file: BulkHeaderFileInfo): Promise<number>;
224
+ deleteBulkFile(fileId: number): Promise<number>;
225
+ getBulkFiles(): Promise<BulkHeaderFileInfo[]>;
226
+ getBulkFileData(fileId: number, offset?: number, length?: number): Promise<Uint8Array | undefined>;
227
+ }
228
+ export interface ChaintracksStorageIngestApi {
229
+ /**
230
+ * Attempts to insert a block header into the chain.
231
+ *
232
+ * Returns 'added' false and 'dupe' true if header's hash already exists in the live database
233
+ * Returns 'added' false and 'dupe' false if header's previousHash wasn't found in the live database, or height doesn't increment previous' height.
234
+ *
235
+ * Computes the header's chainWork from its bits and the previous header's chainWork.
236
+ *
237
+ * Returns 'added' true if the header was added to the live database.
238
+ * Returns 'isActiveTip' true if header's chainWork is greater than current active chain tip's chainWork.
239
+ *
240
+ * If the addition of this header caused a reorg (did not directly extend old active chain tip):
241
+ * Returns 'reorgDepth' the minimum height difference of the common ancestor to the two chain tips.
242
+ * Returns 'priorTip' the old active chain tip.
243
+ * If not a reorg:
244
+ * Returns 'reorgDepth' of zero.
245
+ * Returns 'priorTip' the active chain tip before this insert. May be unchanged.
246
+ *
247
+ * Implementation must call `pruneLiveBlockHeaders` after adding new header.
248
+ *
249
+ * @param header to insert
250
+ * @param prev if not undefined, the last bulk storage header with total bulk chainWork
251
+ */
252
+ insertHeader(header: BlockHeader, prev?: LiveBlockHeader): Promise<InsertHeaderResult>;
253
+ /**
254
+ * Must be called after the addition of new LiveBlockHeaders.
255
+ *
256
+ * Checks the `StorageEngine` configuration options to see
257
+ * if BulkStorage is configured and if there is at least one
258
+ * `bulkMigrationChunkSize` woth of headers in excess of
259
+ * `liveHeightThreshold` available.
260
+ *
261
+ * If yes, then calls `migrateLiveToBulk` one or more times.
262
+ * @param activeTipHeight height of active tip after adds
263
+ */
264
+ pruneLiveBlockHeaders(activeTipHeight: number): Promise<void>;
265
+ /**
266
+ * Migrates the oldest `count` LiveBlockHeaders to BulkStorage.
267
+ * BulkStorage must be configured.
268
+ * `count` must not exceed `bulkMigrationChunkSize`.
269
+ * `count` must leave at least `liveHeightThreshold` LiveBlockHeaders.
270
+ *
271
+ * @param count
272
+ *
273
+ * Steps:
274
+ * - Copy count oldest active LiveBlockHeaders from live database to buffer.
275
+ * - Append the buffer of headers to BulkStorage
276
+ * - Add the buffer's BlockHash, Height pairs to corresponding index table.
277
+ * - Add the buffer's MerkleRoot, Height pairs to corresponding index table.
278
+ * - Delete the records from the live database.
279
+ */
280
+ migrateLiveToBulk(count: number): Promise<void>;
281
+ /**
282
+ * Delete live headers with height less or equal to `maxHeight`
283
+ * after they have been migrated to bulk storage.
284
+ *
285
+ * @param maxHeight delete all records with less or equal `height`
286
+ */
287
+ deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>;
288
+ /**
289
+ * Async initialization method.
290
+ *
291
+ * May be called prior to other async methods to control when initialization occurs.
292
+ */
293
+ makeAvailable(): Promise<void>;
294
+ /**
295
+ * Migrate storage schema to latest schema changes.
296
+ *
297
+ * Typically invoked automatically by `makeAvailable`.
298
+ */
299
+ migrateLatest(): Promise<void>;
300
+ dropAllData(): Promise<void>;
301
+ /**
302
+ * Release all resources. Makes the instance unusable.
303
+ */
304
+ destroy(): Promise<void>;
305
+ /**
306
+ * @returns min, max height range in live database or empty (0, -1)
307
+ */
308
+ getLiveHeightRange(): Promise<HeightRange>;
309
+ }
310
+ export interface ChaintracksStorageApi extends ChaintracksStorageQueryApi, ChaintracksStorageIngestApi {
311
+ bulkManager: BulkFileDataManager;
312
+ /**
313
+ * Close and release all resources.
314
+ */
315
+ destroy(): Promise<void>;
316
+ }
317
+ //# sourceMappingURL=ChaintracksStorageApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChaintracksStorageApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ChaintracksStorageApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChaintracksStorageApi.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { BlockHeader } from './BlockHeaderApi';
2
+ import { ChaintracksStorageApi } from './ChaintracksStorageApi';
3
+ export interface LiveIngestorApi {
4
+ /**
5
+ * Close and release all resources.
6
+ */
7
+ shutdown(): Promise<void>;
8
+ getHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
9
+ /**
10
+ * Called before first Synchronize with reference to storage.
11
+ * Components requiring asynchronous setup can override base class implementation.
12
+ * @param storage
13
+ */
14
+ setStorage(storage: ChaintracksStorageApi): Promise<void>;
15
+ storage(): ChaintracksStorageApi;
16
+ startListening(liveHeaders: BlockHeader[]): Promise<void>;
17
+ stopListening(): void;
18
+ }
19
+ //# sourceMappingURL=LiveIngestorApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveIngestorApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;IAE/D;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD,OAAO,IAAI,qBAAqB,CAAA;IAEhC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD,aAAa,IAAI,IAAI,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LiveIngestorApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveIngestorApi.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ import { ChaintracksOptions, ChaintracksManagementApi } from './Api/ChaintracksApi';
2
+ import { Chain } from '../../../sdk/types';
3
+ import { ChaintracksInfoApi, HeaderListener, ReorgListener } from './Api/ChaintracksClientApi';
4
+ import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from './Api/BlockHeaderApi';
5
+ import { ChaintracksFsApi } from './Api/ChaintracksFsApi';
6
+ export declare class Chaintracks implements ChaintracksManagementApi {
7
+ options: ChaintracksOptions;
8
+ static createOptions(chain: Chain): ChaintracksOptions;
9
+ log: (...args: any[]) => void;
10
+ readonly chain: Chain;
11
+ readonly readonly: boolean;
12
+ private promises;
13
+ private callbacks;
14
+ private storage;
15
+ private bulkIngestors;
16
+ private liveIngestors;
17
+ private baseHeaders;
18
+ private liveHeaders;
19
+ private addLiveRecursionLimit;
20
+ private available;
21
+ private subscriberCallbacksEnabled;
22
+ private stopMainThread;
23
+ private lastPresentHeight;
24
+ private lastPresentHeightMsecs;
25
+ private lastPresentHeightMaxAge;
26
+ private lock;
27
+ constructor(options: ChaintracksOptions);
28
+ getChain(): Promise<Chain>;
29
+ /**
30
+ * Caches and returns most recently sourced value if less than one minute old.
31
+ * @returns the current externally available chain height (via bulk ingestors).
32
+ */
33
+ getPresentHeight(): Promise<number>;
34
+ currentHeight(): Promise<number>;
35
+ subscribeHeaders(listener: HeaderListener): Promise<string>;
36
+ subscribeReorgs(listener: ReorgListener): Promise<string>;
37
+ unsubscribe(subscriptionId: string): Promise<boolean>;
38
+ /**
39
+ * Queues a potentially new, unknown header for consideration as an addition to the chain.
40
+ * When the header is considered, if the prior header is unknown, recursive calls to the
41
+ * bulk ingestors will be attempted to resolve the linkage up to a depth of `addLiveRecursionLimit`.
42
+ *
43
+ * Headers are considered in the order they were added.
44
+ *
45
+ * @param header
46
+ */
47
+ addHeader(header: BaseBlockHeader): Promise<void>;
48
+ /**
49
+ * If not already available, takes a writer lock to queue calls until available.
50
+ * Becoming available starts by initializing ingestors and main thread,
51
+ * and ends when main thread sets `available`.
52
+ * Note that the main thread continues running and takes additional write locks
53
+ * itself when already available.
54
+ *
55
+ * @returns when available for client requests
56
+ */
57
+ makeAvailable(): Promise<void>;
58
+ startPromises(): Promise<void>;
59
+ destroy(): Promise<void>;
60
+ listening(): Promise<void>;
61
+ isListening(): Promise<boolean>;
62
+ isSynchronized(): Promise<boolean>;
63
+ findHeaderForHeight(height: number): Promise<BlockHeader | undefined>;
64
+ private findHeaderForHeightNoLock;
65
+ findHeaderForBlockHash(hash: string): Promise<BlockHeader | undefined>;
66
+ findHeaderForBlockHashNoLock(hash: string): Promise<BlockHeader | undefined>;
67
+ isValidRootForHeight(root: string, height: number): Promise<boolean>;
68
+ getInfo(): Promise<ChaintracksInfoApi>;
69
+ private getInfoNoLock;
70
+ getHeaders(height: number, count: number): Promise<string>;
71
+ findChainTipHeader(): Promise<BlockHeader>;
72
+ findChainTipHash(): Promise<string>;
73
+ findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | undefined>;
74
+ findChainWorkForBlockHash(hash: string): Promise<string | undefined>;
75
+ /**
76
+ * @returns true iff all headers from height zero through current chainTipHeader height can be retreived and form a valid chain.
77
+ */
78
+ validate(): Promise<boolean>;
79
+ exportBulkHeaders(toFolder: string, toFs: ChaintracksFsApi, sourceUrl?: string, toHeadersPerFile?: number, maxHeight?: number): Promise<void>;
80
+ startListening(): Promise<void>;
81
+ private syncBulkStorage;
82
+ private syncBulkStorageNoLock;
83
+ private getMissingBlockHeader;
84
+ private invalidInsertHeaderResult;
85
+ private addLiveHeader;
86
+ /**
87
+ * Long running method terminated by setting `stopMainThread` false.
88
+ *
89
+ * The promise returned by this method is held in the `promises` array.
90
+ *
91
+ * When synchronized (bulk and live storage is valid up to most recent presentHeight),
92
+ * this method will process headers from `baseHeaders` and `liveHeaders` arrays to extend the chain of headers.
93
+ *
94
+ * If a significant gap is detected between bulk+live and presentHeight, `syncBulkStorage` is called to re-establish sync.
95
+ *
96
+ * Periodically CDN bulk ingestor is invoked to check if incremental headers can be migrated to CDN backed files.
97
+ */
98
+ private mainThreadShiftLiveHeaders;
99
+ }
100
+ //# sourceMappingURL=Chaintracks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chaintracks.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}