@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,159 +0,0 @@
1
- import {
2
- LookupAnswer,
3
- Transaction,
4
- PushDrop,
5
- VerifiableCertificate,
6
- Utils,
7
- ProtoWallet,
8
- LookupResolver,
9
- DiscoverCertificatesResult,
10
- IdentityCertificate,
11
- IdentityCertifier,
12
- Base64String
13
- } from '@bsv/sdk'
14
- import { Certifier, TrustSettings } from '../WalletSettingsManager'
15
-
16
- const OUTPUT_INDEX = 0
17
-
18
- // Our extended certificate includes certifierInfo.
19
- export interface ExtendedVerifiableCertificate extends IdentityCertificate {
20
- certifierInfo: IdentityCertifier
21
- publiclyRevealedKeyring: Record<string, Base64String>
22
- }
23
-
24
- // --- Helper Types for Grouping ---
25
-
26
- interface IdentityGroup {
27
- totalTrust: number
28
- members: ExtendedVerifiableCertificate[]
29
- }
30
-
31
- /**
32
- * Transforms an array of VerifiableCertificate instances according to the trust settings.
33
- * Only certificates whose grouped total trust meets the threshold are returned,
34
- * and each certificate is augmented with a certifierInfo property.
35
- *
36
- * @param trustSettings - the user's trust settings including trustLevel and trusted certifiers.
37
- * @param certificates - an array of VerifiableCertificate objects.
38
- * @returns a DiscoverCertificatesResult with totalCertificates and ordered certificates.
39
- */
40
- export const transformVerifiableCertificatesWithTrust = (
41
- trustSettings: TrustSettings,
42
- certificates: VerifiableCertificate[]
43
- ): DiscoverCertificatesResult => {
44
- // Group certificates by subject while accumulating trust.
45
- const identityGroups: Record<string, IdentityGroup> = {}
46
- // Cache certifier lookups.
47
- const certifierCache: Record<string, Certifier> = {}
48
-
49
- certificates.forEach(cert => {
50
- const { subject, certifier } = cert
51
- if (!subject || !certifier) return
52
-
53
- // Lookup and cache certifier details from trustSettings.
54
- if (!certifierCache[certifier]) {
55
- const found = trustSettings.trustedCertifiers.find(x => x.identityKey === certifier)
56
- if (!found) return // Skip this certificate if its certifier is not trusted.
57
- certifierCache[certifier] = found
58
- }
59
-
60
- // Create the IdentityCertifier object that we want to attach.
61
- const certifierInfo: IdentityCertifier = {
62
- name: certifierCache[certifier].name,
63
- iconUrl: certifierCache[certifier].iconUrl || '',
64
- description: certifierCache[certifier].description,
65
- trust: certifierCache[certifier].trust
66
- }
67
-
68
- // Create an extended certificate that includes certifierInfo.
69
- // Note: We use object spread to copy over all properties from the original certificate.
70
- const extendedCert: IdentityCertificate = {
71
- ...cert,
72
- signature: cert.signature!, // We know it exists at this point
73
- decryptedFields: cert.decryptedFields as Record<string, string>,
74
- publiclyRevealedKeyring: cert.keyring,
75
- certifierInfo
76
- }
77
-
78
- // Group certificates by subject.
79
- if (!identityGroups[subject]) {
80
- identityGroups[subject] = { totalTrust: 0, members: [] }
81
- }
82
- identityGroups[subject].totalTrust += certifierInfo.trust
83
- identityGroups[subject].members.push(extendedCert)
84
- })
85
-
86
- // Filter out groups that do not meet the trust threshold and flatten the results.
87
- const finalResults: ExtendedVerifiableCertificate[] = []
88
- Object.values(identityGroups).forEach(group => {
89
- if (group.totalTrust >= trustSettings.trustLevel) {
90
- finalResults.push(...group.members)
91
- }
92
- })
93
-
94
- // Sort the certificates by their certifier trust in descending order.
95
- finalResults.sort((a, b) => b.certifierInfo.trust - a.certifierInfo.trust)
96
-
97
- return {
98
- totalCertificates: finalResults.length,
99
- certificates: finalResults
100
- }
101
- }
102
-
103
- /**
104
- * Performs an identity overlay service lookup query and returns the parsed results
105
- *
106
- * @param query
107
- * @returns
108
- */
109
- export const queryOverlay = async (query: unknown, resolver: LookupResolver): Promise<VerifiableCertificate[]> => {
110
- const results = await resolver.query({
111
- service: 'ls_identity',
112
- query
113
- })
114
-
115
- return await parseResults(results)
116
- }
117
-
118
- /**
119
- * Internal func: Parse the returned UTXOs Decrypt and verify the certificates and signatures Return the set of identity keys, certificates and decrypted certificate fields
120
- *
121
- * @param {Output[]} outputs
122
- * @returns {Promise<VerifiableCertificate[]>}
123
- */
124
- export const parseResults = async (lookupResult: LookupAnswer): Promise<VerifiableCertificate[]> => {
125
- if (lookupResult.type === 'output-list') {
126
- const parsedResults: VerifiableCertificate[] = []
127
-
128
- for (const output of lookupResult.outputs) {
129
- try {
130
- const tx = Transaction.fromBEEF(output.beef)
131
- // Decode the Identity token fields from the Bitcoin outputScript
132
- const decodedOutput = PushDrop.decode(tx.outputs[output.outputIndex].lockingScript)
133
-
134
- // Parse out the certificate and relevant data
135
- const certificate: VerifiableCertificate = JSON.parse(Utils.toUTF8(decodedOutput.fields[0])) // TEST
136
- const verifiableCert = new VerifiableCertificate(
137
- certificate.type,
138
- certificate.serialNumber,
139
- certificate.subject,
140
- certificate.certifier,
141
- certificate.revocationOutpoint,
142
- certificate.fields,
143
- certificate.keyring,
144
- certificate.signature
145
- )
146
- const decryptedFields = await verifiableCert.decryptFields(new ProtoWallet('anyone'))
147
- // Verify the certificate signature is correct
148
- await verifiableCert.verify()
149
- verifiableCert.decryptedFields = decryptedFields
150
- parsedResults.push(verifiableCert)
151
- } catch (error) {
152
- console.error(error)
153
- // do nothing
154
- }
155
- }
156
- return parsedResults
157
- }
158
- return []
159
- }
@@ -1,7 +0,0 @@
1
- export * from './stampLog'
2
- export * from './ScriptTemplateBRC29'
3
- export * from './parseTxScriptOffsets'
4
- export * from './tscProofToMerklePath'
5
- export * from './utilityHelpers'
6
-
7
- export * from './utilityHelpers.buffer'
@@ -1,7 +0,0 @@
1
- export * from './stampLog'
2
- export * from './ScriptTemplateBRC29'
3
- export * from './parseTxScriptOffsets'
4
- export * from './tscProofToMerklePath'
5
- export * from './utilityHelpers'
6
-
7
- export * from './utilityHelpers.noBuffer'
@@ -1,29 +0,0 @@
1
- import { Utils as SdkUtils } from '@bsv/sdk'
2
-
3
- export interface TxScriptOffsets {
4
- inputs: { vin: number; offset: number; length: number }[]
5
- outputs: { vout: number; offset: number; length: number }[]
6
- }
7
-
8
- export function parseTxScriptOffsets(rawTx: number[]): TxScriptOffsets {
9
- const br = new SdkUtils.Reader(rawTx)
10
- const inputs: { vin: number; offset: number; length: number }[] = []
11
- const outputs: { vout: number; offset: number; length: number }[] = []
12
-
13
- br.pos += 4 // version
14
- const inputsLength = br.readVarIntNum()
15
- for (let i = 0; i < inputsLength; i++) {
16
- br.pos += 36 // txid and vout
17
- const scriptLength = br.readVarIntNum()
18
- inputs.push({ vin: i, offset: br.pos, length: scriptLength })
19
- br.pos += scriptLength + 4 // script and sequence
20
- }
21
- const outputsLength = br.readVarIntNum()
22
- for (let i = 0; i < outputsLength; i++) {
23
- br.pos += 8 // satoshis
24
- const scriptLength = br.readVarIntNum()
25
- outputs.push({ vout: i, offset: br.pos, length: scriptLength })
26
- br.pos += scriptLength
27
- }
28
- return { inputs, outputs }
29
- }
@@ -1,69 +0,0 @@
1
- /**
2
- * If a log is being kept, add a time stamped line.
3
- * @param log Optional time stamped log to extend, or an object with a log property to update
4
- * @param lineToAdd Content to add to line.
5
- * @returns undefined or log extended by time stamped `lineToAdd` and new line.
6
- */
7
- export function stampLog(log: string | undefined | { log?: string }, lineToAdd: string): string | undefined {
8
- const add = `${new Date().toISOString()} ${lineToAdd}\n`
9
- if (typeof log === 'object' && typeof log.log === 'string') return (log.log = log.log + add)
10
- if (typeof log === 'string') return log + add
11
- return undefined
12
- }
13
-
14
- /**
15
- * Replaces individual timestamps with delta msecs.
16
- * Looks for two network crossings and adjusts clock for clock skew if found.
17
- * Assumes log built by repeated calls to `stampLog`
18
- * @param log Each logged event starts with ISO time stamp, space, rest of line, terminated by `\n`.
19
- * @returns reformated multi-line event log
20
- */
21
- export function stampLogFormat(log?: string): string {
22
- if (typeof log !== 'string') return ''
23
- const logLines = log.split('\n')
24
- const data: {
25
- when: number
26
- rest: string
27
- delta: number
28
- newClock: boolean
29
- }[] = []
30
- let last = 0
31
- const newClocks: number[] = []
32
- for (const line of logLines) {
33
- const spaceAt = line.indexOf(' ')
34
- if (spaceAt > -1) {
35
- const when = new Date(line.substring(0, spaceAt)).getTime()
36
- const rest = line.substring(spaceAt + 1)
37
- const delta = when - (last || when)
38
- const newClock = rest.indexOf('**NETWORK**') > -1
39
- if (newClock) newClocks.push(data.length)
40
- data.push({ when, rest, delta, newClock })
41
- last = when
42
- }
43
- }
44
- const total = data[data.length - 1].when - data[0].when
45
- if (newClocks.length % 2 === 0) {
46
- // Adjust for paired network crossing times and clock skew between clocks.
47
- let network = total
48
- let lastNewClock = 0
49
- for (const newClock of newClocks) {
50
- network -= data[newClock - 1].when - data[lastNewClock].when
51
- lastNewClock = newClock
52
- }
53
- network -= data[data.length - 1].when - data[lastNewClock].when
54
- let networks = newClocks.length
55
- for (const newClock of newClocks) {
56
- const n = networks > 1 ? Math.floor(network / networks) : network
57
- data[newClock].delta = n
58
- network -= n
59
- networks--
60
- }
61
- }
62
- let log2 = `${new Date(data[0].when).toISOString()} Total = ${total} msecs\n`
63
- for (const d of data) {
64
- let df = d.delta.toString()
65
- df = `${' '.repeat(8 - df.length)}${df}`
66
- log2 += `${df} ${d.rest}\n`
67
- }
68
- return log2
69
- }
@@ -1,48 +0,0 @@
1
- import { MerklePath } from '@bsv/sdk'
2
-
3
- export interface TscMerkleProofApi {
4
- height: number
5
- index: number
6
- nodes: string[]
7
- }
8
-
9
- export function convertProofToMerklePath(txid: string, proof: TscMerkleProofApi): MerklePath {
10
- const blockHeight = proof.height
11
- const treeHeight = proof.nodes.length
12
- type Leaf = {
13
- offset: number
14
- hash?: string
15
- txid?: boolean
16
- duplicate?: boolean
17
- }
18
- const path: Leaf[][] = Array(treeHeight)
19
- .fill(0)
20
- .map(() => [])
21
- let index = proof.index
22
- for (let level = 0; level < treeHeight; level++) {
23
- const node = proof.nodes[level]
24
- const isOdd = index % 2 === 1
25
- const offset = isOdd ? index - 1 : index + 1
26
- const leaf: Leaf = { offset }
27
- if (node === '*' || (level === 0 && node === txid)) {
28
- leaf.duplicate = true
29
- } else {
30
- leaf.hash = node
31
- }
32
- path[level].push(leaf)
33
- if (level === 0) {
34
- const txidLeaf: Leaf = {
35
- offset: proof.index,
36
- hash: txid,
37
- txid: true
38
- }
39
- if (isOdd) {
40
- path[0].push(txidLeaf)
41
- } else {
42
- path[0].unshift(txidLeaf)
43
- }
44
- }
45
- index = index >> 1
46
- }
47
- return new MerklePath(blockHeight, path)
48
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Coerce a value to Buffer if currently encoded as a string or
3
- * @param val Buffer or string or number[]. If string, encoding param applies. If number[], Buffer.from constructor is used.
4
- * @param encoding defaults to 'hex'. Only applies to val of type string
5
- * @returns input val if it is a Buffer or new Buffer from string val
6
- * @publicbody
7
- */
8
- export function asBuffer(val: Buffer | string | number[], encoding?: BufferEncoding): Buffer {
9
- let b: Buffer
10
- if (Buffer.isBuffer(val)) b = val
11
- else if (typeof val === 'string') b = Buffer.from(val, encoding ?? 'hex')
12
- else b = Buffer.from(val)
13
- return b
14
- }
15
-
16
- /**
17
- * Coerce a value to an encoded string if currently a Buffer or number[]
18
- * @param val Buffer or string or number[]. If string, encoding param applies. If number[], Buffer.from constructor is used.
19
- * @param encoding defaults to 'hex'
20
- * @returns input val if it is a string; or if number[], first converted to Buffer then as Buffer; if Buffer encoded using `encoding`
21
- * @publicbody
22
- */
23
- export function asString(val: Buffer | string | number[], encoding?: BufferEncoding): string {
24
- if (Array.isArray(val)) val = Buffer.from(val)
25
- return Buffer.isBuffer(val) ? val.toString(encoding ?? 'hex') : val
26
- }
27
-
28
- export function asArray(val: Buffer | string | number[], encoding?: BufferEncoding): number[] {
29
- let a: number[]
30
- if (Array.isArray(val)) a = val
31
- else if (Buffer.isBuffer(val)) a = Array.from(val)
32
- else a = Array.from(Buffer.from(val, encoding || 'hex'))
33
- return a
34
- }
@@ -1,60 +0,0 @@
1
- import { Utils } from '@bsv/sdk'
2
-
3
- /**
4
- * Convert a value to an encoded string if currently an encoded string or number[] or Uint8Array.
5
- * @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
6
- * @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
7
- * @param returnEnc optional encoding type for returned string if different from `enc`, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
8
- * @returns hex encoded string representation of val.
9
- * @publicbody
10
- */
11
- export function asString(
12
- val: string | number[] | Uint8Array,
13
- enc?: 'hex' | 'utf8' | 'base64',
14
- returnEnc?: 'hex' | 'utf8' | 'base64'
15
- ): string {
16
- enc ||= 'hex'
17
- returnEnc ||= enc
18
- if (typeof val === 'string') {
19
- if (enc === returnEnc) return val
20
- val = asUint8Array(val, enc)
21
- }
22
- let v = Array.isArray(val) ? val : Array.from(val)
23
- switch (returnEnc) {
24
- case 'utf8':
25
- return Utils.toUTF8(v)
26
- case 'base64':
27
- return Utils.toBase64(v)
28
- }
29
- return Utils.toHex(v)
30
- }
31
-
32
- /**
33
- * Convert a value to number[] if currently an encoded string or number[] or Uint8Array.
34
- * @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
35
- * @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
36
- * @returns number[] array of byte values representation of val.
37
- * @publicbody
38
- */
39
- export function asArray(val: string | number[] | Uint8Array, enc?: 'hex' | 'utf8' | 'base64'): number[] {
40
- if (Array.isArray(val)) return val
41
- if (typeof val !== 'string') return Array.from(val)
42
- enc ||= 'hex'
43
- let a: number[] = Utils.toArray(val, enc)
44
- return a
45
- }
46
-
47
- /**
48
- * Convert a value to Uint8Array if currently an encoded string or number[] or Uint8Array.
49
- * @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
50
- * @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
51
- * @returns Uint8Array representation of val.
52
- * @publicbody
53
- */
54
- export function asUint8Array(val: string | number[] | Uint8Array, enc?: 'hex' | 'utf8' | 'base64'): Uint8Array {
55
- if (Array.isArray(val)) return Uint8Array.from(val)
56
- if (typeof val !== 'string') return val
57
- enc ||= 'hex'
58
- let a: number[] = Utils.toArray(val, enc)
59
- return Uint8Array.from(a)
60
- }
@@ -1,275 +0,0 @@
1
- import { HexString, PubKeyHex, WalletNetwork } from '@bsv/sdk'
2
- import { Beef, Hash, PrivateKey, PublicKey, Random, Script, Transaction, Utils } from '@bsv/sdk'
3
- import { Chain } from '../sdk/types'
4
- import { asArray } from './utilityHelpers.noBuffer'
5
- import { CertOpsWallet } from '../sdk/CertOpsWallet'
6
- import { WERR_BAD_REQUEST, WERR_INTERNAL, WERR_INVALID_PARAMETER } from '../sdk/WERR_errors'
7
-
8
- export async function getIdentityKey(wallet: CertOpsWallet): Promise<PubKeyHex> {
9
- return (await wallet.getPublicKey({ identityKey: true })).publicKey
10
- }
11
-
12
- export function toWalletNetwork(chain: Chain): WalletNetwork {
13
- return chain === 'main' ? 'mainnet' : 'testnet'
14
- }
15
-
16
- export function makeAtomicBeef(tx: Transaction, beef: number[] | Beef): number[] {
17
- if (Array.isArray(beef)) beef = Beef.fromBinary(beef)
18
- beef.mergeTransaction(tx)
19
- return beef.toBinaryAtomic(tx.id('hex'))
20
- }
21
-
22
- /**
23
- * Coerce a bsv transaction encoded as a hex string, serialized array, or Transaction to Transaction
24
- * If tx is already a Transaction, just return it.
25
- * @publicbody
26
- */
27
- export function asBsvSdkTx(tx: HexString | number[] | Transaction): Transaction {
28
- if (Array.isArray(tx)) {
29
- tx = Transaction.fromBinary(tx)
30
- } else if (typeof tx === 'string') {
31
- tx = Transaction.fromHex(tx)
32
- }
33
- return tx
34
- }
35
-
36
- /**
37
- * Coerce a bsv script encoded as a hex string, serialized array, or Script to Script
38
- * If script is already a Script, just return it.
39
- * @publicbody
40
- */
41
- export function asBsvSdkScript(script: HexString | number[] | Script): Script {
42
- if (Array.isArray(script)) {
43
- script = Script.fromBinary(script)
44
- } else if (typeof script === 'string') {
45
- script = Script.fromHex(script)
46
- }
47
- return script
48
- }
49
-
50
- /**
51
- * @param privKey bitcoin private key in 32 byte hex string form
52
- * @returns @bsv/sdk PrivateKey
53
- */
54
- export function asBsvSdkPrivateKey(privKey: string): PrivateKey {
55
- return PrivateKey.fromString(privKey, 'hex')
56
- }
57
-
58
- /**
59
- * @param pubKey bitcoin public key in standard compressed key hex string form
60
- * @returns @bsv/sdk PublicKey
61
- */
62
- export function asBsvSdkPublickKey(pubKey: string): PublicKey {
63
- return PublicKey.fromString(pubKey)
64
- }
65
-
66
- /**
67
- * Helper function.
68
- *
69
- * Verifies that a possibly optional value has a value.
70
- */
71
- export function verifyTruthy<T>(v: T | null | undefined, description?: string): T {
72
- if (!v) throw new WERR_INTERNAL(description ?? 'A truthy value is required.')
73
- return v
74
- }
75
-
76
- /**
77
- * Helper function.
78
- *
79
- * Verifies that a hex string is trimmed and lower case.
80
- */
81
- export function verifyHexString(v: string): string {
82
- if (typeof v !== 'string') throw new WERR_INTERNAL('A string is required.')
83
- v = v.trim().toLowerCase()
84
- return v
85
- }
86
-
87
- /**
88
- * Helper function.
89
- *
90
- * Verifies that an optional or null hex string is undefined or a trimmed lowercase string.
91
- */
92
- export function verifyOptionalHexString(v?: string | null): string | undefined {
93
- if (!v) return undefined
94
- return verifyHexString(v)
95
- }
96
-
97
- /**
98
- * Helper function.
99
- *
100
- * Verifies that an optional or null number has a numeric value.
101
- */
102
- export function verifyNumber(v: number | null | undefined): number {
103
- if (typeof v !== 'number') throw new WERR_INTERNAL('A number is required.')
104
- return v
105
- }
106
-
107
- /**
108
- * Helper function.
109
- *
110
- * Verifies that an optional or null number has a numeric value.
111
- */
112
- export function verifyInteger(v: number | null | undefined): number {
113
- if (typeof v !== 'number' || !Number.isInteger(v)) throw new WERR_INTERNAL('An integer is required.')
114
- return v
115
- }
116
-
117
- /**
118
- * Helper function.
119
- *
120
- * Verifies that a database record identifier is an integer greater than zero.
121
- */
122
- export function verifyId(id: number | undefined | null): number {
123
- id = verifyInteger(id)
124
- if (id < 1) throw new WERR_INTERNAL(`id must be valid integer greater than zero.`)
125
- return id
126
- }
127
-
128
- /**
129
- * Helper function.
130
- *
131
- * @throws WERR_BAD_REQUEST if results has length greater than one.
132
- *
133
- * @returns results[0] or undefined if length is zero.
134
- */
135
- export function verifyOneOrNone<T>(results: T[]): T | undefined {
136
- if (results.length > 1) throw new WERR_BAD_REQUEST('Result must be unique.')
137
- return results[0]
138
- }
139
-
140
- /**
141
- * Helper function.
142
- *
143
- * @throws WERR_BAD_REQUEST if results has length other than one.
144
- *
145
- * @returns results[0].
146
- */
147
- export function verifyOne<T>(results: T[], errorDescrition?: string): T {
148
- if (results.length !== 1) throw new WERR_BAD_REQUEST(errorDescrition ?? 'Result must exist and be unique.')
149
- return results[0]
150
- }
151
-
152
- /**
153
- * Returns an await'able Promise that resolves in the given number of msecs.
154
- * @param msecs number of milliseconds to wait before resolving the promise.
155
- * Must be greater than zero and less than 2 minutes (120,000 msecs)
156
- * @publicbody
157
- */
158
- export function wait(msecs: number): Promise<void> {
159
- const MIN_WAIT = 0
160
- const MAX_WAIT = 2 * 60 * 1000 // maximum allowed wait in ms (2 minutes)
161
- if (typeof msecs !== 'number' || !Number.isFinite(msecs) || isNaN(msecs) || msecs < MIN_WAIT || msecs > MAX_WAIT) {
162
- throw new WERR_INVALID_PARAMETER('msecs', `a number between ${MIN_WAIT} and ${MAX_WAIT} msecs, not ${msecs}.`)
163
- }
164
- return new Promise(resolve => setTimeout(resolve, msecs))
165
- }
166
-
167
- /**
168
- * @returns count cryptographically secure random bytes as array of bytes
169
- */
170
- export function randomBytes(count: number): number[] {
171
- return Random(count)
172
- }
173
-
174
- /**
175
- * @returns count cryptographically secure random bytes as hex encoded string
176
- */
177
- export function randomBytesHex(count: number): string {
178
- return Utils.toHex(Random(count))
179
- }
180
-
181
- /**
182
- * @returns count cryptographically secure random bytes as base64 encoded string
183
- */
184
- export function randomBytesBase64(count: number): string {
185
- return Utils.toBase64(Random(count))
186
- }
187
-
188
- export function validateSecondsSinceEpoch(time: number): Date {
189
- const date = new Date(time * 1000)
190
- if (date.getTime() / 1000 !== time || time < 1600000000 || time > 100000000000) {
191
- throw new WERR_INVALID_PARAMETER('time', `valid "since epoch" unix time`)
192
- }
193
- return date
194
- }
195
-
196
- /**
197
- * Compares lengths and direct equality of values.
198
- * @param arr1
199
- * @param arr2
200
- * @returns
201
- */
202
- export function arraysEqual(arr1: Number[], arr2: Number[]) {
203
- if (arr1.length !== arr2.length) return false
204
- for (let i = 0; i < arr1.length; i++) {
205
- if (arr1[i] !== arr2[i]) return false
206
- }
207
- return true
208
- }
209
-
210
- export function optionalArraysEqual(arr1?: Number[], arr2?: Number[]) {
211
- if (!arr1 && !arr2) return true
212
- if (!arr1 || !arr2) return false
213
- return arraysEqual(arr1, arr2)
214
- }
215
-
216
- export function maxDate(d1?: Date, d2?: Date): Date | undefined {
217
- if (d1 && d2) {
218
- if (d1 > d2) return d1
219
- return d2
220
- }
221
- if (d1) return d1
222
- if (d2) return d2
223
- return undefined
224
- }
225
-
226
- /**
227
- * Calculate the SHA256 hash of an array of bytes
228
- * @returns sha256 hash of buffer contents.
229
- * @publicbody
230
- */
231
- export function sha256Hash(data: number[] | Uint8Array): number[] {
232
- if (!Array.isArray(data)) {
233
- data = asArray(data)
234
- }
235
- const first = new Hash.SHA256().update(data).digest()
236
- return first
237
- }
238
-
239
- /**
240
- * Calculate the SHA256 hash of the SHA256 hash of an array of bytes.
241
- * @param data an array of bytes
242
- * @returns double sha256 hash of data, byte 0 of hash first.
243
- * @publicbody
244
- */
245
- export function doubleSha256LE(data: number[] | Uint8Array): number[] {
246
- if (!Array.isArray(data)) {
247
- data = asArray(data)
248
- }
249
- const first = new Hash.SHA256().update(data).digest()
250
- const second = new Hash.SHA256().update(first).digest()
251
- return second
252
- }
253
-
254
- /**
255
- * Calculate the SHA256 hash of the SHA256 hash of an array of bytes.
256
- * @param data is an array of bytes.
257
- * @returns reversed (big-endian) double sha256 hash of data, byte 31 of hash first.
258
- * @publicbody
259
- */
260
- export function doubleSha256BE(data: number[] | Uint8Array): number[] {
261
- return doubleSha256LE(data).reverse()
262
- }
263
-
264
- /**
265
- * Logging function to handle logging based on running in jest "single test" mode,
266
- *
267
- * @param {string} message - The main message to log.
268
- * @param {...any} optionalParams - Additional parameters to log (optional).
269
- */
270
- export const logger = (message: string, ...optionalParams: any[]): void => {
271
- const isSingleTest = process.argv.some(arg => arg === '--testNamePattern' || arg === '-t')
272
- if (isSingleTest) {
273
- console.log(message, ...optionalParams)
274
- }
275
- }