@bsv/wallet-toolbox 1.7.18 → 2.0.0-beta.0

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 (606) hide show
  1. package/out/src/sdk/validationHelpers.d.ts +303 -0
  2. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  3. package/out/src/sdk/validationHelpers.js +632 -0
  4. package/out/src/sdk/validationHelpers.js.map +1 -0
  5. package/package.json +9 -2
  6. package/.env.template +0 -22
  7. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  8. package/.github/ISSUE_TEMPLATE/discussion.md +0 -24
  9. package/.github/pull_request_template.md +0 -22
  10. package/.github/workflows/push.yaml +0 -145
  11. package/.prettierrc +0 -10
  12. package/CONTRIBUTING.md +0 -89
  13. package/jest.config.ts +0 -25
  14. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts +0 -2
  15. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts.map +0 -1
  16. package/out/test/Wallet/StorageClient/storageClient.man.test.js +0 -64
  17. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +0 -1
  18. package/out/test/Wallet/action/internalizeAction.a.test.d.ts +0 -2
  19. package/out/test/Wallet/action/internalizeAction.a.test.d.ts.map +0 -1
  20. package/out/test/Wallet/action/internalizeAction.a.test.js +0 -243
  21. package/out/test/Wallet/action/internalizeAction.a.test.js.map +0 -1
  22. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts +0 -2
  23. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts.map +0 -1
  24. package/out/test/Wallet/certificate/acquireCertificate.test.js +0 -210
  25. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +0 -1
  26. package/out/test/Wallet/certificate/listCertificates.test.d.ts +0 -2
  27. package/out/test/Wallet/certificate/listCertificates.test.d.ts.map +0 -1
  28. package/out/test/Wallet/certificate/listCertificates.test.js +0 -305
  29. package/out/test/Wallet/certificate/listCertificates.test.js.map +0 -1
  30. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts +0 -2
  31. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts.map +0 -1
  32. package/out/test/Wallet/get/getHeaderForHeight.test.js +0 -74
  33. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +0 -1
  34. package/out/test/Wallet/get/getHeight.test.d.ts +0 -2
  35. package/out/test/Wallet/get/getHeight.test.d.ts.map +0 -1
  36. package/out/test/Wallet/get/getHeight.test.js +0 -48
  37. package/out/test/Wallet/get/getHeight.test.js.map +0 -1
  38. package/out/test/Wallet/get/getKnownTxids.test.d.ts +0 -2
  39. package/out/test/Wallet/get/getKnownTxids.test.d.ts.map +0 -1
  40. package/out/test/Wallet/get/getKnownTxids.test.js +0 -73
  41. package/out/test/Wallet/get/getKnownTxids.test.js.map +0 -1
  42. package/out/test/Wallet/get/getNetwork.test.d.ts +0 -2
  43. package/out/test/Wallet/get/getNetwork.test.d.ts.map +0 -1
  44. package/out/test/Wallet/get/getNetwork.test.js +0 -26
  45. package/out/test/Wallet/get/getNetwork.test.js.map +0 -1
  46. package/out/test/Wallet/get/getVersion.test.d.ts +0 -2
  47. package/out/test/Wallet/get/getVersion.test.d.ts.map +0 -1
  48. package/out/test/Wallet/get/getVersion.test.js +0 -25
  49. package/out/test/Wallet/get/getVersion.test.js.map +0 -1
  50. package/out/test/Wallet/live/walletLive.man.test.d.ts +0 -26
  51. package/out/test/Wallet/live/walletLive.man.test.d.ts.map +0 -1
  52. package/out/test/Wallet/live/walletLive.man.test.js +0 -417
  53. package/out/test/Wallet/live/walletLive.man.test.js.map +0 -1
  54. package/out/test/Wallet/local/localWallet.man.test.d.ts +0 -2
  55. package/out/test/Wallet/local/localWallet.man.test.d.ts.map +0 -1
  56. package/out/test/Wallet/local/localWallet.man.test.js +0 -83
  57. package/out/test/Wallet/local/localWallet.man.test.js.map +0 -1
  58. package/out/test/Wallet/local/localWallet2.man.test.d.ts +0 -2
  59. package/out/test/Wallet/local/localWallet2.man.test.d.ts.map +0 -1
  60. package/out/test/Wallet/local/localWallet2.man.test.js +0 -284
  61. package/out/test/Wallet/local/localWallet2.man.test.js.map +0 -1
  62. package/out/test/Wallet/signAction/mountaintop.man.test.d.ts +0 -2
  63. package/out/test/Wallet/signAction/mountaintop.man.test.d.ts.map +0 -1
  64. package/out/test/Wallet/signAction/mountaintop.man.test.js +0 -109
  65. package/out/test/Wallet/signAction/mountaintop.man.test.js.map +0 -1
  66. package/out/test/Wallet/specOps/specOps.man.test.d.ts +0 -2
  67. package/out/test/Wallet/specOps/specOps.man.test.d.ts.map +0 -1
  68. package/out/test/Wallet/specOps/specOps.man.test.js +0 -163
  69. package/out/test/Wallet/specOps/specOps.man.test.js.map +0 -1
  70. package/out/test/Wallet/support/janitor.man.test.d.ts +0 -2
  71. package/out/test/Wallet/support/janitor.man.test.d.ts.map +0 -1
  72. package/out/test/Wallet/support/janitor.man.test.js +0 -38
  73. package/out/test/Wallet/support/janitor.man.test.js.map +0 -1
  74. package/out/test/Wallet/support/operations.man.test.d.ts +0 -2
  75. package/out/test/Wallet/support/operations.man.test.d.ts.map +0 -1
  76. package/out/test/Wallet/support/operations.man.test.js +0 -370
  77. package/out/test/Wallet/support/operations.man.test.js.map +0 -1
  78. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts +0 -2
  79. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts.map +0 -1
  80. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js +0 -385
  81. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js.map +0 -1
  82. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts +0 -2
  83. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts.map +0 -1
  84. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +0 -206
  85. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +0 -1
  86. package/out/test/Wallet/sync/setActive.test.d.ts +0 -2
  87. package/out/test/Wallet/sync/setActive.test.d.ts.map +0 -1
  88. package/out/test/Wallet/sync/setActive.test.js +0 -161
  89. package/out/test/Wallet/sync/setActive.test.js.map +0 -1
  90. package/out/test/WalletClient/LocalKVStore.man.test.d.ts +0 -2
  91. package/out/test/WalletClient/LocalKVStore.man.test.d.ts.map +0 -1
  92. package/out/test/WalletClient/LocalKVStore.man.test.js +0 -99
  93. package/out/test/WalletClient/LocalKVStore.man.test.js.map +0 -1
  94. package/out/test/WalletClient/WERR.man.test.d.ts +0 -2
  95. package/out/test/WalletClient/WERR.man.test.d.ts.map +0 -1
  96. package/out/test/WalletClient/WERR.man.test.js +0 -34
  97. package/out/test/WalletClient/WERR.man.test.js.map +0 -1
  98. package/out/test/bsv-ts-sdk/LocalKVStore.test.d.ts +0 -2
  99. package/out/test/bsv-ts-sdk/LocalKVStore.test.d.ts.map +0 -1
  100. package/out/test/bsv-ts-sdk/LocalKVStore.test.js +0 -98
  101. package/out/test/bsv-ts-sdk/LocalKVStore.test.js.map +0 -1
  102. package/out/test/checkDB.d.ts +0 -4
  103. package/out/test/checkDB.d.ts.map +0 -1
  104. package/out/test/checkDB.js +0 -55
  105. package/out/test/checkDB.js.map +0 -1
  106. package/out/test/examples/backup.man.test.d.ts +0 -14
  107. package/out/test/examples/backup.man.test.d.ts.map +0 -1
  108. package/out/test/examples/backup.man.test.js +0 -59
  109. package/out/test/examples/backup.man.test.js.map +0 -1
  110. package/out/test/examples/pushdrop.test.d.ts +0 -56
  111. package/out/test/examples/pushdrop.test.d.ts.map +0 -1
  112. package/out/test/examples/pushdrop.test.js +0 -232
  113. package/out/test/examples/pushdrop.test.js.map +0 -1
  114. package/out/test/monitor/Monitor.test.d.ts +0 -2
  115. package/out/test/monitor/Monitor.test.d.ts.map +0 -1
  116. package/out/test/monitor/Monitor.test.js +0 -560
  117. package/out/test/monitor/Monitor.test.js.map +0 -1
  118. package/out/test/services/Services.test.d.ts +0 -2
  119. package/out/test/services/Services.test.d.ts.map +0 -1
  120. package/out/test/services/Services.test.js +0 -246
  121. package/out/test/services/Services.test.js.map +0 -1
  122. package/out/test/storage/KnexMigrations.test.d.ts +0 -2
  123. package/out/test/storage/KnexMigrations.test.d.ts.map +0 -1
  124. package/out/test/storage/KnexMigrations.test.js +0 -81
  125. package/out/test/storage/KnexMigrations.test.js.map +0 -1
  126. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts +0 -2
  127. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts.map +0 -1
  128. package/out/test/storage/StorageMySQLDojoReader.man.test.js +0 -86
  129. package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +0 -1
  130. package/out/test/storage/count.test.d.ts +0 -2
  131. package/out/test/storage/count.test.d.ts.map +0 -1
  132. package/out/test/storage/count.test.js +0 -142
  133. package/out/test/storage/count.test.js.map +0 -1
  134. package/out/test/storage/find.test.d.ts +0 -2
  135. package/out/test/storage/find.test.d.ts.map +0 -1
  136. package/out/test/storage/find.test.js +0 -144
  137. package/out/test/storage/find.test.js.map +0 -1
  138. package/out/test/storage/findLegacy.test.d.ts +0 -2
  139. package/out/test/storage/findLegacy.test.d.ts.map +0 -1
  140. package/out/test/storage/findLegacy.test.js +0 -52
  141. package/out/test/storage/findLegacy.test.js.map +0 -1
  142. package/out/test/storage/idb/allocateChange.test.d.ts +0 -2
  143. package/out/test/storage/idb/allocateChange.test.d.ts.map +0 -1
  144. package/out/test/storage/idb/allocateChange.test.js +0 -110
  145. package/out/test/storage/idb/allocateChange.test.js.map +0 -1
  146. package/out/test/storage/idb/count.test.d.ts +0 -2
  147. package/out/test/storage/idb/count.test.d.ts.map +0 -1
  148. package/out/test/storage/idb/count.test.js +0 -129
  149. package/out/test/storage/idb/count.test.js.map +0 -1
  150. package/out/test/storage/idb/find.test.d.ts +0 -2
  151. package/out/test/storage/idb/find.test.d.ts.map +0 -1
  152. package/out/test/storage/idb/find.test.js +0 -131
  153. package/out/test/storage/idb/find.test.js.map +0 -1
  154. package/out/test/storage/idb/idbSpeed.test.d.ts +0 -2
  155. package/out/test/storage/idb/idbSpeed.test.d.ts.map +0 -1
  156. package/out/test/storage/idb/idbSpeed.test.js +0 -30
  157. package/out/test/storage/idb/idbSpeed.test.js.map +0 -1
  158. package/out/test/storage/idb/insert.test.d.ts +0 -2
  159. package/out/test/storage/idb/insert.test.d.ts.map +0 -1
  160. package/out/test/storage/idb/insert.test.js +0 -242
  161. package/out/test/storage/idb/insert.test.js.map +0 -1
  162. package/out/test/storage/idb/transactionAbort.test.d.ts +0 -2
  163. package/out/test/storage/idb/transactionAbort.test.d.ts.map +0 -1
  164. package/out/test/storage/idb/transactionAbort.test.js +0 -97
  165. package/out/test/storage/idb/transactionAbort.test.js.map +0 -1
  166. package/out/test/storage/idb/update.test.d.ts +0 -2
  167. package/out/test/storage/idb/update.test.d.ts.map +0 -1
  168. package/out/test/storage/idb/update.test.js +0 -902
  169. package/out/test/storage/idb/update.test.js.map +0 -1
  170. package/out/test/storage/insert.test.d.ts +0 -2
  171. package/out/test/storage/insert.test.d.ts.map +0 -1
  172. package/out/test/storage/insert.test.js +0 -256
  173. package/out/test/storage/insert.test.js.map +0 -1
  174. package/out/test/storage/update.test.d.ts +0 -2
  175. package/out/test/storage/update.test.d.ts.map +0 -1
  176. package/out/test/storage/update.test.js +0 -919
  177. package/out/test/storage/update.test.js.map +0 -1
  178. package/out/test/storage/update2.test.d.ts +0 -2
  179. package/out/test/storage/update2.test.d.ts.map +0 -1
  180. package/out/test/storage/update2.test.js +0 -767
  181. package/out/test/storage/update2.test.js.map +0 -1
  182. package/out/test/utils/TestUtilsWalletStorage.d.ts +0 -523
  183. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +0 -1
  184. package/out/test/utils/TestUtilsWalletStorage.js +0 -1958
  185. package/out/test/utils/TestUtilsWalletStorage.js.map +0 -1
  186. package/out/test/utils/localWalletMethods.d.ts +0 -33
  187. package/out/test/utils/localWalletMethods.d.ts.map +0 -1
  188. package/out/test/utils/localWalletMethods.js +0 -304
  189. package/out/test/utils/localWalletMethods.js.map +0 -1
  190. package/out/test/wallet/action/abortAction.test.d.ts +0 -2
  191. package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
  192. package/out/test/wallet/action/abortAction.test.js +0 -44
  193. package/out/test/wallet/action/abortAction.test.js.map +0 -1
  194. package/out/test/wallet/action/createAction.test.d.ts +0 -2
  195. package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
  196. package/out/test/wallet/action/createAction.test.js +0 -272
  197. package/out/test/wallet/action/createAction.test.js.map +0 -1
  198. package/out/test/wallet/action/createAction2.test.d.ts +0 -37
  199. package/out/test/wallet/action/createAction2.test.d.ts.map +0 -1
  200. package/out/test/wallet/action/createAction2.test.js +0 -1143
  201. package/out/test/wallet/action/createAction2.test.js.map +0 -1
  202. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts +0 -2
  203. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
  204. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js +0 -273
  205. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js.map +0 -1
  206. package/out/test/wallet/action/internalizeAction.test.d.ts +0 -2
  207. package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
  208. package/out/test/wallet/action/internalizeAction.test.js +0 -608
  209. package/out/test/wallet/action/internalizeAction.test.js.map +0 -1
  210. package/out/test/wallet/action/relinquishOutput.test.d.ts +0 -2
  211. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
  212. package/out/test/wallet/action/relinquishOutput.test.js +0 -31
  213. package/out/test/wallet/action/relinquishOutput.test.js.map +0 -1
  214. package/out/test/wallet/construct/Wallet.constructor.test.d.ts +0 -2
  215. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
  216. package/out/test/wallet/construct/Wallet.constructor.test.js +0 -49
  217. package/out/test/wallet/construct/Wallet.constructor.test.js.map +0 -1
  218. package/out/test/wallet/list/listActions.test.d.ts +0 -2
  219. package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
  220. package/out/test/wallet/list/listActions.test.js +0 -271
  221. package/out/test/wallet/list/listActions.test.js.map +0 -1
  222. package/out/test/wallet/list/listActions2.test.d.ts +0 -2
  223. package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
  224. package/out/test/wallet/list/listActions2.test.js +0 -1141
  225. package/out/test/wallet/list/listActions2.test.js.map +0 -1
  226. package/out/test/wallet/list/listCertificates.test.d.ts +0 -2
  227. package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
  228. package/out/test/wallet/list/listCertificates.test.js +0 -111
  229. package/out/test/wallet/list/listCertificates.test.js.map +0 -1
  230. package/out/test/wallet/list/listOutputs.test.d.ts +0 -2
  231. package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
  232. package/out/test/wallet/list/listOutputs.test.js +0 -424
  233. package/out/test/wallet/list/listOutputs.test.js.map +0 -1
  234. package/out/test/wallet/sync/Wallet.sync.test.d.ts +0 -2
  235. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
  236. package/out/test/wallet/sync/Wallet.sync.test.js +0 -155
  237. package/out/test/wallet/sync/Wallet.sync.test.js.map +0 -1
  238. package/out/tsconfig.all.tsbuildinfo +0 -1
  239. package/src/CWIStyleWalletManager.ts +0 -1999
  240. package/src/Setup.ts +0 -579
  241. package/src/SetupClient.ts +0 -322
  242. package/src/SetupWallet.ts +0 -108
  243. package/src/SimpleWalletManager.ts +0 -526
  244. package/src/Wallet.ts +0 -1169
  245. package/src/WalletAuthenticationManager.ts +0 -153
  246. package/src/WalletLogger.ts +0 -213
  247. package/src/WalletPermissionsManager.ts +0 -3660
  248. package/src/WalletSettingsManager.ts +0 -114
  249. package/src/__tests/CWIStyleWalletManager.test.d.ts.map +0 -1
  250. package/src/__tests/CWIStyleWalletManager.test.js.map +0 -1
  251. package/src/__tests/CWIStyleWalletManager.test.ts +0 -675
  252. package/src/__tests/WalletPermissionsManager.callbacks.test.ts +0 -323
  253. package/src/__tests/WalletPermissionsManager.checks.test.ts +0 -844
  254. package/src/__tests/WalletPermissionsManager.encryption.test.ts +0 -412
  255. package/src/__tests/WalletPermissionsManager.fixtures.ts +0 -307
  256. package/src/__tests/WalletPermissionsManager.flows.test.ts +0 -462
  257. package/src/__tests/WalletPermissionsManager.initialization.test.ts +0 -300
  258. package/src/__tests/WalletPermissionsManager.pmodules.test.ts +0 -798
  259. package/src/__tests/WalletPermissionsManager.proxying.test.ts +0 -724
  260. package/src/__tests/WalletPermissionsManager.tokens.test.ts +0 -503
  261. package/src/index.all.ts +0 -27
  262. package/src/index.client.ts +0 -25
  263. package/src/index.mobile.ts +0 -21
  264. package/src/index.ts +0 -1
  265. package/src/monitor/Monitor.ts +0 -412
  266. package/src/monitor/MonitorDaemon.ts +0 -188
  267. package/src/monitor/README.md +0 -3
  268. package/src/monitor/__test/MonitorDaemon.man.test.ts +0 -45
  269. package/src/monitor/tasks/TaskCheckForProofs.ts +0 -243
  270. package/src/monitor/tasks/TaskCheckNoSends.ts +0 -73
  271. package/src/monitor/tasks/TaskClock.ts +0 -33
  272. package/src/monitor/tasks/TaskFailAbandoned.ts +0 -54
  273. package/src/monitor/tasks/TaskMonitorCallHistory.ts +0 -26
  274. package/src/monitor/tasks/TaskNewHeader.ts +0 -93
  275. package/src/monitor/tasks/TaskPurge.ts +0 -68
  276. package/src/monitor/tasks/TaskReorg.ts +0 -89
  277. package/src/monitor/tasks/TaskReviewStatus.ts +0 -48
  278. package/src/monitor/tasks/TaskSendWaiting.ts +0 -122
  279. package/src/monitor/tasks/TaskSyncWhenIdle.ts +0 -26
  280. package/src/monitor/tasks/TaskUnFail.ts +0 -151
  281. package/src/monitor/tasks/WalletMonitorTask.ts +0 -47
  282. package/src/sdk/CertOpsWallet.ts +0 -18
  283. package/src/sdk/PrivilegedKeyManager.ts +0 -372
  284. package/src/sdk/README.md +0 -13
  285. package/src/sdk/WERR_errors.ts +0 -234
  286. package/src/sdk/WalletError.ts +0 -170
  287. package/src/sdk/WalletErrorFromJson.ts +0 -80
  288. package/src/sdk/WalletServices.interfaces.ts +0 -700
  289. package/src/sdk/WalletSigner.interfaces.ts +0 -11
  290. package/src/sdk/WalletStorage.interfaces.ts +0 -606
  291. package/src/sdk/__test/CertificateLifeCycle.test.ts +0 -131
  292. package/src/sdk/__test/PrivilegedKeyManager.test.ts +0 -738
  293. package/src/sdk/__test/WalletError.test.ts +0 -318
  294. package/src/sdk/__test/validationHelpers.test.ts +0 -21
  295. package/src/sdk/index.ts +0 -10
  296. package/src/sdk/types.ts +0 -226
  297. package/src/services/README.md +0 -11
  298. package/src/services/ServiceCollection.ts +0 -248
  299. package/src/services/Services.ts +0 -603
  300. package/src/services/__tests/ARC.man.test.ts +0 -123
  301. package/src/services/__tests/ARC.timeout.man.test.ts +0 -79
  302. package/src/services/__tests/ArcGorillaPool.man.test.ts +0 -108
  303. package/src/services/__tests/arcServices.test.ts +0 -8
  304. package/src/services/__tests/bitrails.test.ts +0 -56
  305. package/src/services/__tests/getMerklePath.test.ts +0 -15
  306. package/src/services/__tests/getRawTx.test.ts +0 -13
  307. package/src/services/__tests/postBeef.test.ts +0 -104
  308. package/src/services/__tests/verifyBeef.test.ts +0 -50
  309. package/src/services/chaintracker/BHServiceClient.ts +0 -212
  310. package/src/services/chaintracker/ChaintracksChainTracker.ts +0 -71
  311. package/src/services/chaintracker/__tests/ChaintracksChainTracker.test.ts +0 -33
  312. package/src/services/chaintracker/__tests/ChaintracksServiceClient.test.ts +0 -29
  313. package/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.ts +0 -72
  314. package/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.ts +0 -83
  315. package/src/services/chaintracker/chaintracks/Api/BulkStorageApi.ts +0 -92
  316. package/src/services/chaintracker/chaintracks/Api/ChaintracksApi.ts +0 -64
  317. package/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.ts +0 -189
  318. package/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.ts +0 -18
  319. package/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.ts +0 -58
  320. package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +0 -386
  321. package/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.ts +0 -25
  322. package/src/services/chaintracker/chaintracks/Chaintracks.ts +0 -609
  323. package/src/services/chaintracker/chaintracks/ChaintracksService.ts +0 -199
  324. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +0 -154
  325. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.ts +0 -176
  326. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +0 -174
  327. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.ts +0 -18
  328. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +0 -113
  329. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.ts +0 -81
  330. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.ts +0 -86
  331. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.ts +0 -59
  332. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.ts +0 -104
  333. package/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.ts +0 -66
  334. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.ts +0 -566
  335. package/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.ts +0 -219
  336. package/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.ts +0 -54
  337. package/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.ts +0 -33
  338. package/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.ts +0 -124
  339. package/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.ts +0 -92
  340. package/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.ts +0 -104
  341. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.ts +0 -382
  342. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts +0 -574
  343. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +0 -438
  344. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.ts +0 -29
  345. package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +0 -304
  346. package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.ts +0 -102
  347. package/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.ts +0 -45
  348. package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +0 -77
  349. package/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.ts +0 -192
  350. package/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.ts +0 -75
  351. package/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.ts +0 -62
  352. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNetBlockHeaders.json +0 -1
  353. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_0.headers +0 -0
  354. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_1.headers +0 -0
  355. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_2.headers +0 -0
  356. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest349/mainNet_3.headers +0 -0
  357. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNetBlockHeaders.json +0 -1
  358. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_0.headers +0 -0
  359. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_1.headers +0 -0
  360. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_2.headers +0 -0
  361. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest379/mainNet_3.headers +0 -0
  362. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNetBlockHeaders.json +0 -1
  363. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_0.headers +0 -0
  364. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_1.headers +0 -0
  365. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_2.headers +0 -0
  366. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest399/mainNet_3.headers +0 -0
  367. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNetBlockHeaders.json +0 -1
  368. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_0.headers +0 -0
  369. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_1.headers +0 -0
  370. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_2.headers +0 -0
  371. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_3.headers +0 -0
  372. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest402/mainNet_4.headers +0 -0
  373. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNetBlockHeaders.json +0 -1
  374. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_0.headers +0 -0
  375. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_1.headers +0 -0
  376. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_2.headers +0 -0
  377. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_3.headers +0 -0
  378. package/src/services/chaintracker/chaintracks/__tests/data/cdnTest499/mainNet_4.headers +0 -0
  379. package/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.ts +0 -92
  380. package/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.ts +0 -111
  381. package/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.ts +0 -91
  382. package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +0 -60
  383. package/src/services/chaintracker/chaintracks/createKnexChaintracks.ts +0 -65
  384. package/src/services/chaintracker/chaintracks/createNoDbChaintracks.ts +0 -60
  385. package/src/services/chaintracker/chaintracks/index.all.ts +0 -12
  386. package/src/services/chaintracker/chaintracks/index.client.ts +0 -4
  387. package/src/services/chaintracker/chaintracks/index.mobile.ts +0 -37
  388. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +0 -975
  389. package/src/services/chaintracker/chaintracks/util/BulkFileDataReader.ts +0 -60
  390. package/src/services/chaintracker/chaintracks/util/BulkFilesReader.ts +0 -336
  391. package/src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts +0 -247
  392. package/src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts +0 -69
  393. package/src/services/chaintracker/chaintracks/util/ChaintracksFs.ts +0 -141
  394. package/src/services/chaintracker/chaintracks/util/HeightRange.ts +0 -153
  395. package/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.ts +0 -76
  396. package/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.ts +0 -304
  397. package/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.ts +0 -60
  398. package/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.ts +0 -67
  399. package/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.ts +0 -49
  400. package/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts +0 -573
  401. package/src/services/chaintracker/chaintracks/util/dirtyHashes.ts +0 -29
  402. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +0 -432
  403. package/src/services/chaintracker/index.all.ts +0 -4
  404. package/src/services/chaintracker/index.client.ts +0 -4
  405. package/src/services/chaintracker/index.mobile.ts +0 -4
  406. package/src/services/createDefaultWalletServicesOptions.ts +0 -77
  407. package/src/services/index.ts +0 -1
  408. package/src/services/processingErrors/arcSuccessError.json +0 -76
  409. package/src/services/providers/ARC.ts +0 -350
  410. package/src/services/providers/Bitails.ts +0 -256
  411. package/src/services/providers/SdkWhatsOnChain.ts +0 -83
  412. package/src/services/providers/WhatsOnChain.ts +0 -883
  413. package/src/services/providers/__tests/WhatsOnChain.test.ts +0 -242
  414. package/src/services/providers/__tests/exchangeRates.test.ts +0 -18
  415. package/src/services/providers/exchangeRates.ts +0 -265
  416. package/src/services/providers/getBeefForTxid.ts +0 -369
  417. package/src/signer/README.md +0 -5
  418. package/src/signer/WalletSigner.ts +0 -17
  419. package/src/signer/methods/acquireDirectCertificate.ts +0 -52
  420. package/src/signer/methods/buildSignableTransaction.ts +0 -183
  421. package/src/signer/methods/completeSignedTransaction.ts +0 -117
  422. package/src/signer/methods/createAction.ts +0 -172
  423. package/src/signer/methods/internalizeAction.ts +0 -106
  424. package/src/signer/methods/proveCertificate.ts +0 -43
  425. package/src/signer/methods/signAction.ts +0 -54
  426. package/src/storage/README.md +0 -14
  427. package/src/storage/StorageIdb.ts +0 -2304
  428. package/src/storage/StorageKnex.ts +0 -1425
  429. package/src/storage/StorageProvider.ts +0 -810
  430. package/src/storage/StorageReader.ts +0 -194
  431. package/src/storage/StorageReaderWriter.ts +0 -432
  432. package/src/storage/StorageSyncReader.ts +0 -34
  433. package/src/storage/WalletStorageManager.ts +0 -943
  434. package/src/storage/__test/StorageIdb.test.ts +0 -43
  435. package/src/storage/__test/WalletStorageManager.test.ts +0 -275
  436. package/src/storage/__test/adminStats.man.test.ts +0 -89
  437. package/src/storage/__test/getBeefForTransaction.test.ts +0 -385
  438. package/src/storage/index.all.ts +0 -11
  439. package/src/storage/index.client.ts +0 -7
  440. package/src/storage/index.mobile.ts +0 -6
  441. package/src/storage/methods/ListActionsSpecOp.ts +0 -70
  442. package/src/storage/methods/ListOutputsSpecOp.ts +0 -129
  443. package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +0 -1057
  444. package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +0 -20
  445. package/src/storage/methods/__test/offsetKey.test.ts +0 -274
  446. package/src/storage/methods/attemptToPostReqsToNetwork.ts +0 -389
  447. package/src/storage/methods/createAction.ts +0 -947
  448. package/src/storage/methods/generateChange.ts +0 -556
  449. package/src/storage/methods/getBeefForTransaction.ts +0 -139
  450. package/src/storage/methods/getSyncChunk.ts +0 -293
  451. package/src/storage/methods/internalizeAction.ts +0 -562
  452. package/src/storage/methods/listActionsIdb.ts +0 -183
  453. package/src/storage/methods/listActionsKnex.ts +0 -226
  454. package/src/storage/methods/listCertificates.ts +0 -73
  455. package/src/storage/methods/listOutputsIdb.ts +0 -203
  456. package/src/storage/methods/listOutputsKnex.ts +0 -263
  457. package/src/storage/methods/offsetKey.ts +0 -89
  458. package/src/storage/methods/processAction.ts +0 -420
  459. package/src/storage/methods/purgeData.ts +0 -251
  460. package/src/storage/methods/purgeDataIdb.ts +0 -10
  461. package/src/storage/methods/reviewStatus.ts +0 -101
  462. package/src/storage/methods/reviewStatusIdb.ts +0 -43
  463. package/src/storage/methods/utils.Buffer.ts +0 -33
  464. package/src/storage/methods/utils.ts +0 -56
  465. package/src/storage/remoting/StorageClient.ts +0 -567
  466. package/src/storage/remoting/StorageMobile.ts +0 -544
  467. package/src/storage/remoting/StorageServer.ts +0 -291
  468. package/src/storage/remoting/__test/StorageClient.test.ts +0 -113
  469. package/src/storage/schema/KnexMigrations.ts +0 -489
  470. package/src/storage/schema/StorageIdbSchema.ts +0 -150
  471. package/src/storage/schema/entities/EntityBase.ts +0 -210
  472. package/src/storage/schema/entities/EntityCertificate.ts +0 -188
  473. package/src/storage/schema/entities/EntityCertificateField.ts +0 -136
  474. package/src/storage/schema/entities/EntityCommission.ts +0 -148
  475. package/src/storage/schema/entities/EntityOutput.ts +0 -290
  476. package/src/storage/schema/entities/EntityOutputBasket.ts +0 -153
  477. package/src/storage/schema/entities/EntityOutputTag.ts +0 -121
  478. package/src/storage/schema/entities/EntityOutputTagMap.ts +0 -123
  479. package/src/storage/schema/entities/EntityProvenTx.ts +0 -319
  480. package/src/storage/schema/entities/EntityProvenTxReq.ts +0 -580
  481. package/src/storage/schema/entities/EntitySyncState.ts +0 -389
  482. package/src/storage/schema/entities/EntityTransaction.ts +0 -306
  483. package/src/storage/schema/entities/EntityTxLabel.ts +0 -121
  484. package/src/storage/schema/entities/EntityTxLabelMap.ts +0 -123
  485. package/src/storage/schema/entities/EntityUser.ts +0 -112
  486. package/src/storage/schema/entities/MergeEntity.ts +0 -73
  487. package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +0 -353
  488. package/src/storage/schema/entities/__tests/CertificateTests.test.ts +0 -354
  489. package/src/storage/schema/entities/__tests/CommissionTests.test.ts +0 -371
  490. package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +0 -278
  491. package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +0 -242
  492. package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +0 -288
  493. package/src/storage/schema/entities/__tests/OutputTests.test.ts +0 -464
  494. package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +0 -340
  495. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +0 -504
  496. package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +0 -288
  497. package/src/storage/schema/entities/__tests/TransactionTests.test.ts +0 -604
  498. package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +0 -361
  499. package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +0 -198
  500. package/src/storage/schema/entities/__tests/stampLogTests.test.ts +0 -90
  501. package/src/storage/schema/entities/__tests/usersTests.test.ts +0 -340
  502. package/src/storage/schema/entities/index.ts +0 -16
  503. package/src/storage/schema/tables/TableCertificate.ts +0 -21
  504. package/src/storage/schema/tables/TableCertificateField.ts +0 -12
  505. package/src/storage/schema/tables/TableCommission.ts +0 -13
  506. package/src/storage/schema/tables/TableMonitorEvent.ts +0 -9
  507. package/src/storage/schema/tables/TableOutput.ts +0 -64
  508. package/src/storage/schema/tables/TableOutputBasket.ts +0 -12
  509. package/src/storage/schema/tables/TableOutputTag.ts +0 -10
  510. package/src/storage/schema/tables/TableOutputTagMap.ts +0 -9
  511. package/src/storage/schema/tables/TableProvenTx.ts +0 -14
  512. package/src/storage/schema/tables/TableProvenTxReq.ts +0 -65
  513. package/src/storage/schema/tables/TableSettings.ts +0 -17
  514. package/src/storage/schema/tables/TableSyncState.ts +0 -18
  515. package/src/storage/schema/tables/TableTransaction.ts +0 -54
  516. package/src/storage/schema/tables/TableTxLabel.ts +0 -10
  517. package/src/storage/schema/tables/TableTxLabelMap.ts +0 -9
  518. package/src/storage/schema/tables/TableUser.ts +0 -16
  519. package/src/storage/schema/tables/index.ts +0 -16
  520. package/src/storage/sync/StorageMySQLDojoReader.ts +0 -696
  521. package/src/storage/sync/index.ts +0 -1
  522. package/src/utility/Format.ts +0 -133
  523. package/src/utility/README.md +0 -3
  524. package/src/utility/ReaderUint8Array.ts +0 -187
  525. package/src/utility/ScriptTemplateBRC29.ts +0 -73
  526. package/src/utility/__tests/utilityHelpers.noBuffer.test.ts +0 -109
  527. package/src/utility/aggregateResults.ts +0 -68
  528. package/src/utility/identityUtils.ts +0 -159
  529. package/src/utility/index.all.ts +0 -7
  530. package/src/utility/index.client.ts +0 -7
  531. package/src/utility/parseTxScriptOffsets.ts +0 -29
  532. package/src/utility/stampLog.ts +0 -69
  533. package/src/utility/tscProofToMerklePath.ts +0 -48
  534. package/src/utility/utilityHelpers.buffer.ts +0 -34
  535. package/src/utility/utilityHelpers.noBuffer.ts +0 -60
  536. package/src/utility/utilityHelpers.ts +0 -275
  537. package/src/wab-client/WABClient.ts +0 -94
  538. package/src/wab-client/__tests/WABClient.man.test.ts +0 -59
  539. package/src/wab-client/auth-method-interactors/AuthMethodInteractor.ts +0 -47
  540. package/src/wab-client/auth-method-interactors/DevConsoleInteractor.ts +0 -73
  541. package/src/wab-client/auth-method-interactors/PersonaIDInteractor.ts +0 -35
  542. package/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.ts +0 -72
  543. package/syncVersions.js +0 -71
  544. package/test/Wallet/StorageClient/storageClient.man.test.ts +0 -75
  545. package/test/Wallet/action/internalizeAction.a.test.ts +0 -286
  546. package/test/Wallet/certificate/acquireCertificate.test.ts +0 -298
  547. package/test/Wallet/certificate/listCertificates.test.ts +0 -346
  548. package/test/Wallet/get/getHeaderForHeight.test.ts +0 -82
  549. package/test/Wallet/get/getHeight.test.ts +0 -52
  550. package/test/Wallet/get/getKnownTxids.test.ts +0 -86
  551. package/test/Wallet/get/getNetwork.test.ts +0 -27
  552. package/test/Wallet/get/getVersion.test.ts +0 -27
  553. package/test/Wallet/live/walletLive.man.test.ts +0 -521
  554. package/test/Wallet/local/localWallet.man.test.ts +0 -93
  555. package/test/Wallet/local/localWallet2.man.test.ts +0 -277
  556. package/test/Wallet/signAction/mountaintop.man.test.ts +0 -130
  557. package/test/Wallet/specOps/specOps.man.test.ts +0 -220
  558. package/test/Wallet/support/janitor.man.test.ts +0 -40
  559. package/test/Wallet/support/operations.man.test.ts +0 -407
  560. package/test/Wallet/support/reqErrorReview.2025.05.06.man.test.ts +0 -347
  561. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +0 -203
  562. package/test/Wallet/sync/setActive.test.ts +0 -170
  563. package/test/WalletClient/LocalKVStore.man.test.ts +0 -114
  564. package/test/WalletClient/WERR.man.test.ts +0 -35
  565. package/test/bsv-ts-sdk/LocalKVStore.test.ts +0 -102
  566. package/test/checkDB.ts +0 -57
  567. package/test/checkdb +0 -0
  568. package/test/examples/backup.man.test.ts +0 -59
  569. package/test/examples/pushdrop.test.ts +0 -282
  570. package/test/monitor/Monitor.test.ts +0 -620
  571. package/test/services/Services.test.ts +0 -263
  572. package/test/storage/KnexMigrations.test.ts +0 -86
  573. package/test/storage/StorageMySQLDojoReader.man.test.ts +0 -60
  574. package/test/storage/count.test.ts +0 -177
  575. package/test/storage/find.test.ts +0 -195
  576. package/test/storage/findLegacy.test.ts +0 -67
  577. package/test/storage/idb/allocateChange.test.ts +0 -251
  578. package/test/storage/idb/count.test.ts +0 -158
  579. package/test/storage/idb/find.test.ts +0 -177
  580. package/test/storage/idb/idbSpeed.test.ts +0 -36
  581. package/test/storage/idb/insert.test.ts +0 -268
  582. package/test/storage/idb/transactionAbort.test.ts +0 -108
  583. package/test/storage/idb/update.test.ts +0 -999
  584. package/test/storage/insert.test.ts +0 -278
  585. package/test/storage/update.test.ts +0 -1021
  586. package/test/storage/update2.test.ts +0 -897
  587. package/test/utils/TestUtilsWalletStorage.ts +0 -2526
  588. package/test/utils/localWalletMethods.ts +0 -363
  589. package/test/utils/removeFailedFromDatabase.sql +0 -17
  590. package/test/wallet/action/abortAction.test.ts +0 -47
  591. package/test/wallet/action/createAction.test.ts +0 -299
  592. package/test/wallet/action/createAction2.test.ts +0 -1273
  593. package/test/wallet/action/createActionToGenerateBeefs.man.test.ts +0 -293
  594. package/test/wallet/action/internalizeAction.test.ts +0 -682
  595. package/test/wallet/action/relinquishOutput.test.ts +0 -37
  596. package/test/wallet/construct/Wallet.constructor.test.ts +0 -57
  597. package/test/wallet/list/listActions.test.ts +0 -279
  598. package/test/wallet/list/listActions2.test.ts +0 -1381
  599. package/test/wallet/list/listCertificates.test.ts +0 -118
  600. package/test/wallet/list/listOutputs.test.ts +0 -447
  601. package/test/wallet/sync/Wallet.sync.test.ts +0 -215
  602. package/ts2md.json +0 -44
  603. package/tsconfig.all.json +0 -31
  604. package/tsconfig.client.json +0 -29
  605. package/tsconfig.json +0 -17
  606. package/tsconfig.mobile.json +0 -28
@@ -1,212 +0,0 @@
1
- import { BlockHeadersService, Utils } from '@bsv/sdk'
2
- import { ChaintracksServiceClient, ChaintracksServiceClientOptions } from './chaintracks/ChaintracksServiceClient'
3
- import { serializeBaseBlockHeader } from './chaintracks/util/blockHeaderUtilities'
4
- import { HeaderListener, ReorgListener, ChaintracksInfoApi } from './chaintracks/Api/ChaintracksClientApi'
5
- import { Chain } from '../../sdk/types'
6
- import { BaseBlockHeader, BlockHeader } from '../../sdk/WalletServices.interfaces'
7
-
8
- interface BHSHeader {
9
- hash: string
10
- version: number
11
- prevBlockHash: string
12
- merkleRoot: string
13
- creationTimestamp: number
14
- difficultyTarget: number
15
- nonce: number
16
- work: string
17
- }
18
-
19
- interface BHSHeaderState {
20
- header: BHSHeader
21
- state: string
22
- chainWork: string
23
- height: number
24
- }
25
-
26
- export class BHServiceClient implements ChaintracksServiceClient {
27
- bhs: BlockHeadersService
28
- cache: Record<number, string>
29
- chain: Chain
30
- serviceUrl: string
31
- options: ChaintracksServiceClientOptions
32
- apiKey: string
33
-
34
- constructor(chain: Chain, url: string, apiKey: string) {
35
- this.bhs = new BlockHeadersService(url, { apiKey })
36
- this.cache = {}
37
- this.chain = chain
38
- this.serviceUrl = url
39
- this.options = ChaintracksServiceClient.createChaintracksServiceClientOptions()
40
- this.apiKey = apiKey
41
- }
42
-
43
- async currentHeight(): Promise<number> {
44
- return await this.bhs.currentHeight()
45
- }
46
-
47
- async isValidRootForHeight(root: string, height: number): Promise<boolean> {
48
- const cachedRoot = this.cache[height]
49
- if (cachedRoot) {
50
- return cachedRoot === root
51
- }
52
- const isValid = await this.bhs.isValidRootForHeight(root, height)
53
- this.cache[height] = root
54
- return isValid
55
- }
56
-
57
- async getPresentHeight(): Promise<number> {
58
- return await this.bhs.currentHeight()
59
- }
60
-
61
- async findHeaderForHeight(height: number): Promise<BlockHeader | undefined> {
62
- const response = await this.getJsonOrUndefined<BHSHeader[]>(`/api/v1/chain/header/byHeight?height=${height}`)
63
- const header = response?.[0]
64
- if (!header) return undefined
65
- const formatted: BlockHeader = {
66
- version: header.version,
67
- previousHash: header.prevBlockHash,
68
- merkleRoot: header.merkleRoot,
69
- time: header.creationTimestamp,
70
- bits: header.difficultyTarget,
71
- nonce: header.nonce,
72
- height,
73
- hash: header.hash
74
- }
75
- return formatted
76
- }
77
-
78
- async findHeaderForBlockHash(hash: string): Promise<BlockHeader | undefined> {
79
- const response = await this.getJsonOrUndefined<BHSHeaderState>(`/api/v1/chain/header/state/${hash}`)
80
- if (!response?.header) return undefined
81
- const formatted: BlockHeader = {
82
- version: response.header.version,
83
- previousHash: response.header.prevBlockHash,
84
- merkleRoot: response.header.merkleRoot,
85
- time: response.header.creationTimestamp,
86
- bits: response.header.difficultyTarget,
87
- nonce: response.header.nonce,
88
- height: response.height,
89
- hash: response.header.hash
90
- }
91
- return formatted
92
- }
93
-
94
- async getHeaders(height: number, count: number): Promise<string> {
95
- const response = await this.getJsonOrUndefined<BHSHeader[]>(
96
- `/api/v1/chain/header/byHeight?height=${height}&count=${count}`
97
- )
98
- if (!response) return ''
99
- if (response.length < count) throw new Error('Cannot retrieve enough headers')
100
- const headers = response.map(response => {
101
- const header: BaseBlockHeader = {
102
- version: response.version,
103
- previousHash: response.prevBlockHash,
104
- merkleRoot: response.merkleRoot,
105
- time: response.creationTimestamp,
106
- bits: response.difficultyTarget,
107
- nonce: response.nonce
108
- }
109
- return serializeBaseBlockHeader(header)
110
- })
111
- return headers.reduce((str: string, arr: number[]) => str + Utils.toHex(arr), '')
112
- }
113
-
114
- async findChainWorkForBlockHash(hash: string): Promise<string | undefined> {
115
- throw new Error('Not implemented')
116
- }
117
-
118
- async findChainTipHeader(): Promise<BlockHeader> {
119
- const response = await this.getJson<BHSHeaderState>('/api/v1/chain/tip/longest')
120
- const formatted: BlockHeader = {
121
- version: response.header.version,
122
- previousHash: response.header.prevBlockHash,
123
- merkleRoot: response.header.merkleRoot,
124
- time: response.header.creationTimestamp,
125
- bits: response.header.difficultyTarget,
126
- nonce: response.header.nonce,
127
- height: response.height,
128
- hash: response.header.hash
129
- }
130
- return formatted
131
- }
132
-
133
- async getJsonOrUndefined<T>(path: string): Promise<T | undefined> {
134
- let e: Error | undefined = undefined
135
- for (let retry = 0; retry < 3; retry++) {
136
- try {
137
- const r = await fetch(`${this.serviceUrl}${path}`, { headers: { Authorization: `Bearer ${this.apiKey}` } })
138
- if (r.status !== 200) throw new Error(JSON.stringify(r))
139
- const v = <T>await r.json()
140
- if (!v) return undefined
141
- return v
142
- } catch (eu: unknown) {
143
- e = eu as Error
144
- }
145
- if (e && e.name !== 'ECONNRESET') break
146
- }
147
- if (e) throw e
148
- }
149
-
150
- async getJson<T>(path: string): Promise<T> {
151
- const r = await this.getJsonOrUndefined<T>(path)
152
- if (r === undefined) throw new Error('Value was undefined. Requested object may not exist.')
153
- return r
154
- }
155
-
156
- /*
157
- Please note that all methods hereafter are included only to match the interface of ChaintracksServiceClient.
158
- */
159
-
160
- async postJsonVoid<T>(path: string, params: T): Promise<void> {
161
- throw new Error('Not implemented')
162
- }
163
-
164
- async addHeader(header: any): Promise<void> {
165
- throw new Error('Not implemented')
166
- }
167
-
168
- async findHeaderForMerkleRoot(merkleRoot: string, height?: number): Promise<undefined> {
169
- throw new Error('Not implemented')
170
- }
171
-
172
- async startListening(): Promise<void> {
173
- throw new Error('Not implemented')
174
- }
175
-
176
- async listening(): Promise<void> {
177
- throw new Error('Not implemented')
178
- }
179
-
180
- async isSynchronized(): Promise<boolean> {
181
- throw new Error('Not implemented')
182
- }
183
-
184
- async getChain(): Promise<Chain> {
185
- return this.chain
186
- }
187
-
188
- async isListening(): Promise<boolean> {
189
- throw new Error('Not implemented')
190
- }
191
-
192
- async getChainTipHeader(): Promise<BlockHeader> {
193
- throw new Error('Not implemented')
194
- }
195
-
196
- async findChainTipHash(): Promise<string> {
197
- throw new Error('Not implemented')
198
- }
199
-
200
- async subscribeHeaders(listener: HeaderListener): Promise<string> {
201
- throw new Error('Method not implemented.')
202
- }
203
- async subscribeReorgs(listener: ReorgListener): Promise<string> {
204
- throw new Error('Method not implemented.')
205
- }
206
- async unsubscribe(subscriptionId: string): Promise<boolean> {
207
- throw new Error('Method not implemented.')
208
- }
209
- async getInfo(): Promise<ChaintracksInfoApi> {
210
- throw new Error('Method not implemented.')
211
- }
212
- }
@@ -1,71 +0,0 @@
1
- import { ChainTracker } from '@bsv/sdk'
2
- import { ChaintracksServiceClient } from './chaintracks/ChaintracksServiceClient'
3
- import { Chain } from '../../sdk/types'
4
- import { WalletError } from '../../sdk/WalletError'
5
- import { wait } from '../../utility/utilityHelpers'
6
- import { WERR_INTERNAL } from '../../sdk/WERR_errors'
7
- import { BlockHeader } from '../../sdk/WalletServices.interfaces'
8
- import { ChaintracksClientApi } from './chaintracks/Api/ChaintracksClientApi'
9
-
10
- export interface ChaintracksChainTrackerOptions {
11
- maxRetries?: number
12
- }
13
-
14
- export class ChaintracksChainTracker implements ChainTracker {
15
- chaintracks: ChaintracksClientApi
16
- cache: Record<number, string>
17
- options: ChaintracksChainTrackerOptions
18
-
19
- constructor(chain?: Chain, chaintracks?: ChaintracksClientApi, options?: ChaintracksChainTrackerOptions) {
20
- chain ||= 'main'
21
- this.chaintracks =
22
- chaintracks ?? new ChaintracksServiceClient(chain, `https://${chain}net-chaintracks.babbage.systems`)
23
- this.cache = {}
24
- this.options = options || {}
25
- }
26
-
27
- async currentHeight(): Promise<number> {
28
- return await this.chaintracks.getPresentHeight()
29
- }
30
-
31
- async isValidRootForHeight(root: string, height: number): Promise<boolean> {
32
- const cachedRoot = this.cache[height]
33
- if (cachedRoot) {
34
- return cachedRoot === root
35
- }
36
-
37
- let header: BlockHeader | undefined
38
-
39
- const retries = this.options.maxRetries || 3
40
-
41
- let error: WalletError | undefined = undefined
42
-
43
- for (let tryCount = 1; tryCount <= retries; tryCount++) {
44
- try {
45
- header = await this.chaintracks.findHeaderForHeight(height)
46
-
47
- if (!header) {
48
- return false
49
- }
50
-
51
- break
52
- } catch (eu: unknown) {
53
- error = WalletError.fromUnknown(eu)
54
- if (tryCount > retries) {
55
- throw error
56
- }
57
- await wait(1000)
58
- }
59
- }
60
-
61
- if (!header) throw new WERR_INTERNAL('no header should have returned false or thrown an error.')
62
-
63
- this.cache[height] = header.merkleRoot
64
-
65
- if (header.merkleRoot !== root) {
66
- return false
67
- }
68
-
69
- return true
70
- }
71
- }
@@ -1,33 +0,0 @@
1
- import { ChaintracksChainTracker } from '../index.all'
2
- import { sdk } from '../../../index.client'
3
-
4
- const includeTestChaintracks = false
5
-
6
- describe('ChaintracksChaintracker tests', () => {
7
- jest.setTimeout(99999999)
8
-
9
- test(`0 test`, async () => {
10
- if (!includeTestChaintracks) return
11
- await testChaintracksChaintracker('test')
12
- })
13
-
14
- test(`1 main`, async () => {
15
- await testChaintracksChaintracker('main')
16
- })
17
- })
18
-
19
- async function testChaintracksChaintracker(chain: sdk.Chain) {
20
- const tracker = new ChaintracksChainTracker(chain)
21
- const height = await tracker.currentHeight()
22
- expect(height).toBeGreaterThan(877598)
23
- const okMain = await tracker.isValidRootForHeight(
24
- '2bf2edb5fa42aa773c6c13bc90e097b4e7de7ca1df2227f433be75ceace339e9',
25
- 877599
26
- )
27
- expect(okMain).toBe(chain === 'main')
28
- const okTest = await tracker.isValidRootForHeight(
29
- '5513f13554442588dd9acf395072bf1d2e7d5d360fbc42d3ab1fa2026b17c200',
30
- 1654265
31
- )
32
- expect(okTest).toBe(chain === 'test')
33
- }
@@ -1,29 +0,0 @@
1
- import { sdk } from '../../../index.client'
2
- import { ChaintracksServiceClient } from '../chaintracks/index.client'
3
-
4
- const includeTestChaintracks = false
5
-
6
- describe('ChaintracksServiceClient tests', () => {
7
- jest.setTimeout(99999999)
8
-
9
- test('0 mainNet findHeaderForHeight', async () => {
10
- const client = makeClient('main')
11
- const r = await client.findHeaderForHeight(877595)
12
- expect(r?.hash).toBe('00000000000000000b010edee7422c59ec9131742e35f3e0d5837d710b961406')
13
- expect(await client.findHeaderForHeight(999999999)).toBe(undefined)
14
- })
15
-
16
- test('1 testNet findHeaderForHeight', async () => {
17
- if (!includeTestChaintracks) return
18
- const client = makeClient('test')
19
- const r = await client.findHeaderForHeight(1651723)
20
- expect(r?.hash).toBe('0000000049686fe721f70614c89df146e410240f838b8f3ef8e6471c6dfdd153')
21
- expect(await client.findHeaderForHeight(999999999)).toBe(undefined)
22
- })
23
- })
24
-
25
- function makeClient(chain: sdk.Chain) {
26
- //const chaintracksUrl = `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`
27
- const chaintracksUrl = `https://${chain}net-chaintracks.babbage.systems`
28
- return new ChaintracksServiceClient(chain, chaintracksUrl)
29
- }
@@ -1,72 +0,0 @@
1
- import { BaseBlockHeader, BlockHeader } from '../../../../sdk/WalletServices.interfaces'
2
-
3
- export { BaseBlockHeader, BlockHeader } from '../../../../sdk/WalletServices.interfaces'
4
-
5
- /**
6
- * The "live" portion of the block chain is recent history that can conceivably be subject to reorganizations.
7
- * The additional fields support tracking orphan blocks, chain forks, and chain reorgs.
8
- */
9
- export interface LiveBlockHeader extends BlockHeader {
10
- /**
11
- * The cummulative chainwork achieved by the addition of this block to the chain.
12
- * Chainwork only matters in selecting the active chain.
13
- */
14
- chainWork: string
15
- /**
16
- * True only if this header is currently a chain tip. e.g. There is no header that follows it by previousHash or previousHeaderId.
17
- */
18
- isChainTip: boolean
19
- /**
20
- * True only if this header is currently on the active chain.
21
- */
22
- isActive: boolean
23
- /**
24
- * As there may be more than one header with identical height values due to orphan tracking,
25
- * headers are assigned a unique headerId while part of the "live" portion of the block chain.
26
- */
27
- headerId: number
28
- /**
29
- * Every header in the "live" portion of the block chain is linked to an ancestor header through
30
- * both its previousHash and previousHeaderId properties.
31
- *
32
- * Due to forks, there may be multiple headers with identical `previousHash` and `previousHeaderId` values.
33
- * Of these, only one (the header on the active chain) will have `isActive` === true.
34
- */
35
- previousHeaderId: number | null
36
- }
37
-
38
- //
39
- // TYPE GUARDS
40
- //
41
-
42
- /**
43
- * Type guard function.
44
- * @publicbody
45
- */
46
- export function isLive(header: BlockHeader | LiveBlockHeader): header is LiveBlockHeader {
47
- return (header as LiveBlockHeader).headerId !== undefined
48
- }
49
-
50
- /**
51
- * Type guard function.
52
- * @publicbody
53
- */
54
- export function isBaseBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is BaseBlockHeader {
55
- return typeof header.previousHash === 'string'
56
- }
57
-
58
- /**
59
- * Type guard function.
60
- * @publicbody
61
- */
62
- export function isBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader {
63
- return 'height' in header && typeof header.previousHash === 'string'
64
- }
65
-
66
- /**
67
- * Type guard function.
68
- * @publicbody
69
- */
70
- export function isLiveBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader {
71
- return 'chainwork' in header && typeof header.previousHash === 'string'
72
- }
@@ -1,83 +0,0 @@
1
- import { Chain } from '../../../../sdk/types'
2
- import { HeightRange, HeightRanges } from '../util/HeightRange'
3
- import { BlockHeader } from './BlockHeaderApi'
4
- import { ChaintracksStorageApi } from './ChaintracksStorageApi'
5
-
6
- export interface BulkIngestorBaseOptions {
7
- /**
8
- * The target chain: "main" or "test"
9
- */
10
- chain: Chain
11
-
12
- /**
13
- * Required.
14
- *
15
- * The name of the JSON resource to request from CDN which describes currently
16
- * available bulk block header resources.
17
- */
18
- jsonResource: string | undefined
19
- }
20
-
21
- export interface BulkIngestorApi {
22
- /**
23
- * Close and release all resources.
24
- */
25
- shutdown(): Promise<void>
26
-
27
- /**
28
- * If the bulk ingestor is capable, return the approximate
29
- * present height of the actual chain being tracked.
30
- * Otherwise, return undefined.
31
- *
32
- * May not assume that setStorage has been called.
33
- */
34
- getPresentHeight(): Promise<number | undefined>
35
-
36
- /**
37
- * A BulkIngestor fetches and updates storage with bulk headers in bulkRange.
38
- *
39
- * If it can, it must also fetch live headers in fetch range that are not in bulkRange and return them as an array.
40
- *
41
- * The storage methods `insertBulkFile`, `updateBulkFile`, and `addBulkHeaders` should be used to add bulk headers to storage.
42
- *
43
- * @param before bulk and live range of headers before ingesting any new headers.
44
- * @param fetchRange range of headers still needed, includes both missing bulk and live headers.
45
- * @param bulkRange range of bulk headers still needed
46
- * @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
47
- * @returns new live headers: headers in fetchRange but not in bulkRange
48
- */
49
- fetchHeaders(
50
- before: HeightRanges,
51
- fetchRange: HeightRange,
52
- bulkRange: HeightRange,
53
- priorLiveHeaders: BlockHeader[]
54
- ): Promise<BlockHeader[]>
55
-
56
- /**
57
- * A BulkIngestor has two potential goals:
58
- * 1. To source missing bulk headers and include them in bulk storage.
59
- * 2. To source missing live headers to be forwarded to live storage.
60
- *
61
- * @param presentHeight current height of the active chain tip, may lag the true value.
62
- * @param before current bulk and live storage height ranges, either may be empty.
63
- * @param priorLiveHeaders any headers accumulated by prior bulk ingestor(s) that are too recent for bulk storage.
64
- * @returns updated priorLiveHeaders including any accumulated by this ingestor
65
- */
66
- synchronize(presentHeight: number, before: HeightRanges, priorLiveHeaders: BlockHeader[]): Promise<BulkSyncResult>
67
-
68
- /**
69
- * Called before first Synchronize with reference to storage.
70
- * Components requiring asynchronous setup can override base class implementation.
71
- * @param storage
72
- */
73
- setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
74
-
75
- storage(): ChaintracksStorageApi
76
- }
77
-
78
- export interface BulkSyncResult {
79
- liveHeaders: BlockHeader[]
80
- liveRange: HeightRange
81
- done: boolean
82
- log: string
83
- }
@@ -1,92 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import { Chain } from '../../../../sdk/types'
3
- import { BlockHeader, LiveBlockHeader } from './BlockHeaderApi'
4
- import { HeightRange } from '../util/HeightRange'
5
- import { ChaintracksStorageApi } from './ChaintracksStorageApi'
6
- import { ChaintracksFsApi } from './ChaintracksFsApi'
7
-
8
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
9
- export interface BulkStorageBaseOptions {
10
- /**
11
- * The target chain: "main" or "test"
12
- */
13
- chain: Chain
14
- fs: ChaintracksFsApi
15
- }
16
-
17
- /**
18
- * Handles block header storage and retrieval older than the "live" portion of the chain.
19
- * Height is the primary and only indexing field required.
20
- * Only stores headers on the active chain; no orphans, no forks, no reorgs.
21
- */
22
- export interface BulkStorageApi {
23
- /**
24
- * Close and release all resources.
25
- */
26
- shutdown(): Promise<void>
27
-
28
- /**
29
- * @returns the height of the most recent header in bulk storage or -1 if empty.
30
- */
31
- getMaxHeight(): Promise<number>
32
-
33
- /**
34
- * @returns available bulk block header height range: `(0, getMaxHeight())`
35
- */
36
- getHeightRange(): Promise<HeightRange>
37
-
38
- /**
39
- * Append new Block Headers to BulkStorage.
40
- * Requires that these headers directly extend existing headers.
41
- * maxHeight of existing plus one equals minHeight of `headers`.
42
- * hash of last existing equals previousHash of first in `headers`.
43
- * Checks that all `headers` are valid (hash, previousHash)
44
- *
45
- * Duplicate headers must be ignored.
46
- *
47
- * @param minHeight must match height of first header in buffer
48
- * @param count times 80 must equal headers.length
49
- * @param headers encoded as packed array of 80 byte serialized block headers
50
- */
51
- appendHeaders(minHeight: number, count: number, headers: Uint8Array): Promise<void>
52
-
53
- /**
54
- * Returns block header for a given block height on active chain.
55
- * @param hash block hash
56
- */
57
- findHeaderForHeightOrUndefined(height: number): Promise<BlockHeader | undefined>
58
-
59
- /**
60
- * Returns block header for a given block height on active chain.
61
- * Throws if not found.
62
- * @param hash block hash
63
- */
64
- findHeaderForHeight(height: number): Promise<BlockHeader>
65
-
66
- /**
67
- * Adds headers in 80 byte serialized format to a buffer.
68
- * Only adds active headers.
69
- * returned array length divided by 80 is the actual number returned.
70
- *
71
- * Returns the buffer.
72
- *
73
- * @param height of first header
74
- * @param count of headers
75
- */
76
- headersToBuffer(height: number, count: number): Promise<Uint8Array>
77
-
78
- /**
79
- * Exports current bulk headers, including all ingests, excluding live headers to static header files.
80
- * @param rootFolder Where the json and headers files will be written
81
- * @param jsonFilename The name of the json file.
82
- * @param maxPerFile The maximum headers per file.
83
- */
84
- exportBulkHeaders(rootFolder: string, jsonFilename: string, maxPerFile: number): Promise<void>
85
-
86
- /**
87
- * Called before first Synchronize with reference to storage.
88
- * Components requiring asynchronous setup can override base class implementation.
89
- * @param storage
90
- */
91
- setStorage(storage: ChaintracksStorageApi, log: (...args: any[]) => void): Promise<void>
92
- }
@@ -1,64 +0,0 @@
1
- import { Chain } from '../../../../sdk/types'
2
- import { BulkIngestorApi } from './BulkIngestorApi'
3
- import { ChaintracksApi } from './ChaintracksClientApi'
4
- import { LiveIngestorApi } from './LiveIngestorApi'
5
- import { ChaintracksFsApi } from './ChaintracksFsApi'
6
- import { ChaintracksStorageApi } from './ChaintracksStorageApi'
7
-
8
- export interface ChaintracksOptions {
9
- chain: Chain
10
- storage?: ChaintracksStorageApi
11
- bulkIngestors: BulkIngestorApi[]
12
- liveIngestors: LiveIngestorApi[]
13
-
14
- /**
15
- * Maximum number of missing headers to pursue when listening for new headers.
16
- * Normally, large numbers of missing headers are handled by bulk ingestors.
17
- */
18
- addLiveRecursionLimit: number
19
- /**
20
- * Optional logging method
21
- */
22
- logging?: (...args: any[]) => void
23
- /**
24
- * If true, this chaintracks instance will only service read requests for existing data.
25
- * Shared storage only requires one readonly false instance to manage and update storage.
26
- */
27
- readonly: boolean
28
- }
29
-
30
- export interface ChaintracksManagementApi extends ChaintracksApi {
31
- /**
32
- * close and release all resources
33
- */
34
- destroy(): Promise<void>
35
-
36
- /**
37
- * Verifies that all headers from the tip back to genesis can be retrieved, in order,
38
- * by height, and that they obey previousHash constraint.
39
- *
40
- * Additional validations may be addeded.
41
- *
42
- * This is a slow operation.
43
- */
44
- validate(): Promise<boolean>
45
-
46
- /**
47
- * Exports current bulk headers, including all ingests, excluding live headers to static header files.
48
- *
49
- * Useful for bulk ingestors such as those derived from BulkIngestorCDN.
50
- *
51
- * @param toFolder Where the json and headers files will be written
52
- * @param toFs The ChaintracksFsApi to use for writing files. If not provided, the default file system will be used.
53
- * @param sourceUrl Optional source URL to include in the exported files. Set if exported files will be transferred to a CDN.
54
- * @param toHeadersPerFile The maximum headers per file. Default is 100,000 (8MB)
55
- * @param maxHeight The maximum height to export. Default is the current bulk storage max height.
56
- */
57
- exportBulkHeaders(
58
- toFolder: string,
59
- toFs: ChaintracksFsApi,
60
- sourceUrl?: string,
61
- toHeadersPerFile?: number,
62
- maxHeight?: number
63
- ): Promise<void>
64
- }