@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,604 +0,0 @@
1
- import { Knex } from 'knex'
2
- import * as bsv from '@bsv/sdk'
3
- import { createSyncMap, sdk, SyncMap, TableTransaction } from '../../../../../src'
4
- import { TestUtilsWalletStorage as _tu, TestWalletNoSetup } from '../../../../../test/utils/TestUtilsWalletStorage'
5
- import { EntityTransaction } from '../EntityTransaction'
6
-
7
- describe('Transaction class method tests', () => {
8
- jest.setTimeout(99999999)
9
-
10
- const env = _tu.getEnv('test')
11
- const ctxs: TestWalletNoSetup[] = []
12
- const ctxs2: TestWalletNoSetup[] = []
13
-
14
- beforeAll(async () => {
15
- if (env.runMySQL) {
16
- ctxs.push(await _tu.createLegacyWalletMySQLCopy('transactionTests'))
17
- ctxs2.push(await _tu.createLegacyWalletMySQLCopy('transactionTests2'))
18
- }
19
- ctxs.push(await _tu.createLegacyWalletSQLiteCopy('transactionTests'))
20
- ctxs2.push(await _tu.createLegacyWalletSQLiteCopy('transactionTests2'))
21
- })
22
-
23
- afterAll(async () => {
24
- // Destroy both sets of database contexts
25
- for (const ctx of ctxs) {
26
- await ctx.storage.destroy()
27
- }
28
- for (const ctx of ctxs2) {
29
- await ctx.storage.destroy()
30
- }
31
- })
32
-
33
- // Test: Constructor with default values
34
- test('0_creates_instance_with_default_values', () => {
35
- const tx = new EntityTransaction()
36
-
37
- const now = new Date()
38
- expect(tx.transactionId).toBe(0)
39
- expect(tx.userId).toBe(0)
40
- expect(tx.txid).toBe('')
41
- expect(tx.status).toBe('unprocessed')
42
- expect(tx.reference).toBe('')
43
- expect(tx.satoshis).toBe(0)
44
- expect(tx.description).toBe('')
45
- expect(tx.isOutgoing).toBe(false)
46
- expect(tx.rawTx).toBeUndefined()
47
- expect(tx.inputBEEF).toBeUndefined()
48
- expect(tx.created_at).toBeInstanceOf(Date)
49
- expect(tx.updated_at).toBeInstanceOf(Date)
50
- expect(tx.created_at.getTime()).toBeLessThanOrEqual(now.getTime())
51
- expect(tx.updated_at.getTime()).toBeLessThanOrEqual(now.getTime())
52
- })
53
-
54
- // Test: Constructor with provided API object
55
- test('1_creates_instance_with_provided_api_object', () => {
56
- const now = new Date()
57
- const apiObject: TableTransaction = {
58
- transactionId: 123,
59
- userId: 456,
60
- txid: 'testTxid',
61
- status: 'completed',
62
- reference: 'testReference',
63
- satoshis: 789,
64
- description: 'testDescription',
65
- isOutgoing: true,
66
- rawTx: [1, 2, 3],
67
- inputBEEF: [4, 5, 6],
68
- created_at: now,
69
- updated_at: now
70
- }
71
-
72
- const tx = new EntityTransaction(apiObject)
73
-
74
- expect(tx.transactionId).toBe(123)
75
- expect(tx.userId).toBe(456)
76
- expect(tx.txid).toBe('testTxid')
77
- expect(tx.status).toBe('completed')
78
- expect(tx.reference).toBe('testReference')
79
- expect(tx.satoshis).toBe(789)
80
- expect(tx.description).toBe('testDescription')
81
- expect(tx.isOutgoing).toBe(true)
82
- expect(tx.rawTx).toEqual([1, 2, 3])
83
- expect(tx.inputBEEF).toEqual([4, 5, 6])
84
- expect(tx.created_at).toBe(now)
85
- expect(tx.updated_at).toBe(now)
86
- })
87
-
88
- // Test: Getters and setters
89
- test('2_getters_and_setters_work_correctly', () => {
90
- const tx = new EntityTransaction()
91
-
92
- const now = new Date()
93
- tx.transactionId = 123
94
- tx.userId = 456
95
- tx.txid = 'testTxid'
96
- tx.status = 'processed' as sdk.TransactionStatus
97
- tx.reference = 'testReference'
98
- tx.satoshis = 789
99
- tx.description = 'testDescription'
100
- tx.isOutgoing = true
101
- tx.rawTx = [1, 2, 3]
102
- tx.inputBEEF = [4, 5, 6]
103
- tx.created_at = now
104
- tx.updated_at = now
105
-
106
- // New setters
107
- tx.version = 2
108
- tx.lockTime = 5000
109
-
110
- expect(tx.transactionId).toBe(123)
111
- expect(tx.userId).toBe(456)
112
- expect(tx.txid).toBe('testTxid')
113
- expect(tx.status).toBe('processed')
114
- expect(tx.reference).toBe('testReference')
115
- expect(tx.satoshis).toBe(789)
116
- expect(tx.description).toBe('testDescription')
117
- expect(tx.isOutgoing).toBe(true)
118
- expect(tx.rawTx).toEqual([1, 2, 3])
119
- expect(tx.inputBEEF).toEqual([4, 5, 6])
120
- expect(tx.created_at).toBe(now)
121
- expect(tx.updated_at).toBe(now)
122
-
123
- // Check new properties
124
- expect(tx.version).toBe(2) // Ensure version is set correctly
125
- expect(tx.lockTime).toBe(5000) // Ensure lockTime is set correctly
126
- })
127
-
128
- // Test: `getBsvTx` returns parsed transaction
129
- test('3_getBsvTx_returns_parsed_transaction', () => {
130
- const rawTx = Uint8Array.from([1, 2, 3])
131
- const tx = new EntityTransaction({
132
- rawTx: Array.from(rawTx)
133
- } as TableTransaction)
134
-
135
- const bsvTx = tx.getBsvTx()
136
- expect(bsvTx).toBeInstanceOf(bsv.Transaction)
137
- })
138
-
139
- // Test: `getBsvTx` returns undefined if rawTx is not set
140
- test('4_getBsvTx_returns_undefined_if_no_rawTx', () => {
141
- const tx = new EntityTransaction()
142
- const bsvTx = tx.getBsvTx()
143
- expect(bsvTx).toBeUndefined()
144
- })
145
-
146
- // Test: `getBsvTxIns` returns parsed inputs
147
- test('5_getBsvTxIns_returns_inputs', () => {
148
- const rawTx = Uint8Array.from([1, 2, 3])
149
- const tx = new EntityTransaction({
150
- rawTx: Array.from(rawTx)
151
- } as TableTransaction)
152
-
153
- const inputs = tx.getBsvTxIns()
154
- expect(inputs).toBeInstanceOf(Array)
155
- })
156
-
157
- // Test: getInputs combines spentBy and rawTx inputs
158
- test('6_getInputs_combines_spentBy_and_rawTx_inputs', async () => {
159
- for (const { activeStorage } of ctxs) {
160
- // Insert the transaction into the database
161
- const txData = await _tu.insertTestTransaction(activeStorage, undefined, true)
162
- const tx = new EntityTransaction(txData.tx)
163
-
164
- // Assign rawTx to simulate transaction inputs
165
- const rawTx = Uint8Array.from([1, 2, 3])
166
- tx.rawTx = Array.from(rawTx)
167
-
168
- // Insert test outputs with spentBy linked to the transaction
169
- const output1 = await _tu.insertTestOutput(activeStorage, tx, 0, 100)
170
- await activeStorage.updateOutput(output1.outputId, {
171
- spentBy: tx.transactionId
172
- })
173
-
174
- const output2 = await _tu.insertTestOutput(activeStorage, tx, 1, 200)
175
- await activeStorage.updateOutput(output2.outputId, {
176
- spentBy: tx.transactionId
177
- })
178
-
179
- // Debugging: Log inserted outputs
180
- const outputs = await activeStorage.findOutputs({
181
- partial: { spentBy: tx.transactionId }
182
- })
183
- //console.log('Inserted Outputs:', outputs)
184
-
185
- // Get inputs from the transaction
186
- const inputs = await tx.getInputs(activeStorage)
187
- //console.log('Transaction Inputs:', inputs)
188
-
189
- // Validate the inputs
190
- expect(inputs).toHaveLength(2)
191
- expect(inputs).toEqual(
192
- expect.arrayContaining([
193
- expect.objectContaining({ vout: 0, satoshis: 100 }),
194
- expect.objectContaining({ vout: 1, satoshis: 200 })
195
- ])
196
- )
197
- }
198
- })
199
-
200
- // Test: 'mergeExisting' updates when ei updated at is newer
201
- /*****************************************************************************************************/
202
- // Actually currently fails because mergeExisting is currently setting the date to the current date
203
- // rather than the udpated_at from the incoming entity
204
- /*****************************************************************************************************/
205
- test('9_mergeExisting_updates_when_ei_updated_at_is_newer', async () => {
206
- for (const { activeStorage } of ctxs) {
207
- // Insert a test transaction into the database
208
- const txData = await _tu.insertTestTransaction(activeStorage, undefined, true)
209
-
210
- // Create the `Transaction` instance with an earlier updated_at timestamp
211
- const tx = new EntityTransaction({
212
- ...txData.tx,
213
- updated_at: new Date(2022, 1, 1)
214
- })
215
-
216
- // Create an incoming entity object (`ei`) with a newer updated_at timestamp
217
- const ei: TableTransaction = {
218
- ...txData.tx,
219
- updated_at: new Date(2023, 1, 1),
220
- txid: 'newTxId'
221
- }
222
-
223
- const syncMap = createSyncMap()
224
- syncMap.transaction.idMap = { 456: 123 }
225
- syncMap.transaction.count = 1
226
-
227
- const expectedMergeUpdatedAt = Math.max(ei.updated_at.getTime(), tx.updated_at.getTime())
228
-
229
- // Execute `mergeExisting`
230
- const result = await tx.mergeExisting(activeStorage, new Date(), ei, syncMap)
231
-
232
- // Validate the result and check that the transaction was updated in the database
233
- expect(result).toBe(true)
234
-
235
- const updatedTx = await activeStorage.findTransactions({
236
- partial: { transactionId: tx.transactionId }
237
- })
238
-
239
- expect(updatedTx[0]?.txid).toBe('newTxId')
240
- // Currently expecting current time and date, but should be the updated_at from the incoming entity
241
- const updatedAtTime = updatedTx[0]?.updated_at.getTime()
242
- expect(updatedAtTime).toBe(expectedMergeUpdatedAt)
243
- }
244
- })
245
-
246
- // Test: getBsvTx handles undefined rawTx
247
- test('10_getBsvTx_handles_undefined_rawTx', () => {
248
- const tx = new EntityTransaction() // No rawTx provided
249
- const bsvTx = tx.getBsvTx()
250
- expect(bsvTx).toBeUndefined()
251
- })
252
-
253
- // Test: getInputs handles storage lookups and input merging
254
- test('11_getInputs_handles_storage_lookups_and_input_merging', async () => {
255
- for (const { activeStorage } of ctxs) {
256
- // Insert a test transaction into the database
257
- const { tx } = await _tu.insertTestTransaction(activeStorage, undefined, true)
258
-
259
- // Create a Transaction instance with the inserted transaction's data
260
- const transaction = new EntityTransaction(tx)
261
-
262
- // Insert known inputs into the database and set the `spentBy` column to the transaction ID
263
- const input1 = await _tu.insertTestOutput(activeStorage, tx, 0, 100) // vout = 0
264
- const input2 = await _tu.insertTestOutput(activeStorage, tx, 2, 200) // vout = 2
265
- input1.spentBy = tx.transactionId
266
- input2.spentBy = tx.transactionId
267
-
268
- // Update the outputs in the database to reflect `spentBy`
269
- await activeStorage.updateOutput(input1.outputId, input1)
270
- await activeStorage.updateOutput(input2.outputId, input2)
271
-
272
- // Simulate external input for rawTx parsing
273
- const externalInput = await _tu.insertTestOutput(
274
- activeStorage,
275
- tx, // Reference the same transaction
276
- 3, // vout = 3
277
- 150 // Satoshis
278
- )
279
-
280
- // Assign rawTx to the transaction and simulate `getBsvTxIns` behavior
281
- transaction.rawTx = Array.from(Uint8Array.from([1, 2, 3]))
282
- transaction.getBsvTxIns = () => [
283
- {
284
- sourceTXID: externalInput.txid,
285
- sourceOutputIndex: 3
286
- } as bsv.TransactionInput
287
- ]
288
-
289
- // Call `getInputs` to retrieve and merge inputs
290
- const inputs = await transaction.getInputs(activeStorage)
291
-
292
- // Validate the merged inputs
293
- expect(inputs).toHaveLength(3) // Known inputs + external input
294
- expect(inputs).toEqual(
295
- expect.arrayContaining([
296
- expect.objectContaining({ outputId: input1.outputId }),
297
- expect.objectContaining({ outputId: input2.outputId }),
298
- expect.objectContaining({ txid: externalInput.txid, vout: 3 })
299
- ])
300
- )
301
- }
302
- })
303
-
304
- // Test: getProvendTx retrieves proven transaction
305
- test('15_getProvenTx_retrieves_proven_transaction', async () => {
306
- for (const { activeStorage } of ctxs) {
307
- // Insert a test proven transaction into the storage
308
- const provenTx = await _tu.insertTestProvenTx(activeStorage)
309
-
310
- // Create a Transaction instance with a valid provenTxId
311
- const tx = new EntityTransaction({
312
- provenTxId: provenTx.provenTxId
313
- } as TableTransaction)
314
-
315
- // Retrieve the ProvenTx using the getProvenTx method
316
- const retrievedProvenTx = await tx.getProvenTx(activeStorage)
317
-
318
- // Assert the retrieved ProvenTx is defined and matches the expected values
319
- expect(retrievedProvenTx).toBeDefined()
320
- expect(retrievedProvenTx?.provenTxId).toBe(provenTx.provenTxId)
321
- }
322
- })
323
-
324
- // Test: getProvenTx returns undefined when provenTxId is not set
325
- test('16_getProvenTx_returns_undefined_when_provenTxId_is_not_set', async () => {
326
- for (const { activeStorage } of ctxs) {
327
- // Create a Transaction instance with no provenTxId
328
- const tx = new EntityTransaction()
329
-
330
- // Attempt to retrieve a ProvenTx
331
- const retrievedProvenTx = await tx.getProvenTx(activeStorage)
332
-
333
- // Assert the result is undefined
334
- expect(retrievedProvenTx).toBeUndefined()
335
- }
336
- })
337
-
338
- // Test: getProvenTx returns undefined when no matching ProvenTx is found
339
- test('17_getProvenTx_returns_undefined_when_no_matching_ProvenTx_is_found', async () => {
340
- for (const { activeStorage } of ctxs) {
341
- // Create a Transaction instance with a provenTxId that doesn't exist in storage
342
- const tx = new EntityTransaction({ provenTxId: 9999 } as TableTransaction) // Use an ID unlikely to exist
343
-
344
- // Attempt to retrieve a ProvenTx
345
- const retrievedProvenTx = await tx.getProvenTx(activeStorage)
346
-
347
- // Assert the result is undefined
348
- expect(retrievedProvenTx).toBeUndefined()
349
- }
350
- })
351
-
352
- // Test: getInputs merges known inputs correctly
353
- test('18_getInputs_merges_known_inputs_correctly', async () => {
354
- for (const { activeStorage } of ctxs) {
355
- // Step 1: Insert a Transaction
356
- const { tx } = await _tu.insertTestTransaction(activeStorage, undefined, true)
357
-
358
- // Step 2: Insert outputs associated with the transaction
359
- const output1 = await _tu.insertTestOutput(activeStorage, tx, 0, 100) // vout = 0
360
- const output2 = await _tu.insertTestOutput(activeStorage, tx, 1, 200) // vout = 1
361
-
362
- // Step 3: Create a Transaction instance with rawTx
363
- const rawTx = Uint8Array.from([1, 2, 3]) // Example raw transaction
364
- const transaction = new EntityTransaction({
365
- ...tx,
366
- rawTx: Array.from(rawTx)
367
- } as TableTransaction)
368
-
369
- // Step 4: Simulate rawTx inputs
370
- transaction.getBsvTxIns = () => [
371
- {
372
- sourceTXID: output1.txid,
373
- sourceOutputIndex: output1.vout
374
- } as bsv.TransactionInput,
375
- {
376
- sourceTXID: output2.txid,
377
- sourceOutputIndex: output2.vout
378
- } as bsv.TransactionInput
379
- ]
380
-
381
- // Step 5: Call `getInputs` to retrieve and merge known inputs
382
- const inputs = await transaction.getInputs(activeStorage)
383
-
384
- // Step 6: Assertions
385
- expect(inputs).toHaveLength(2) // Ensure both outputs are retrieved
386
- expect(inputs).toEqual(
387
- expect.arrayContaining([
388
- expect.objectContaining({ outputId: output1.outputId }), // vout = 0
389
- expect.objectContaining({ outputId: output2.outputId }) // vout = 1
390
- ])
391
- )
392
- }
393
- })
394
-
395
- // Test: getVersion returns API version
396
- test('19_get_version_returns_api_version', () => {
397
- const tx = new EntityTransaction({ version: 2 } as TableTransaction)
398
- expect(tx.version).toBe(2)
399
- })
400
-
401
- // Test: getLockTime returns API lockTime
402
- test('20_get_lockTime_returns_api_lockTime', () => {
403
- const tx = new EntityTransaction({ lockTime: 500 } as TableTransaction)
404
- expect(tx.lockTime).toBe(500)
405
- })
406
-
407
- // Test: set id updates transactionId
408
- test('21_set_id_updates_transactionId', () => {
409
- const tx = new EntityTransaction()
410
- tx.id = 123
411
- expect(tx.transactionId).toBe(123)
412
- })
413
-
414
- // Test: get entityName returns correct value
415
- test('22_get_entityName_returns_correct_value', () => {
416
- const tx = new EntityTransaction()
417
- expect(tx.entityName).toBe('transaction')
418
- })
419
-
420
- // Test: get entityTable returns correct value
421
- test('23_get_entityTable_returns_correct_value', () => {
422
- const tx = new EntityTransaction()
423
- expect(tx.entityTable).toBe('transactions')
424
- })
425
-
426
- // Test: `equals` returns false for mismatched other properties
427
- test('25_equals_returns_false_for_mismatched_other_properties', async () => {
428
- for (const { activeStorage } of ctxs) {
429
- // Insert a test transaction to use as the baseline
430
- const txData = await _tu.insertTestTransaction(activeStorage, undefined, true)
431
-
432
- const syncMap = createSyncMap()
433
- syncMap.transaction.idMap = {
434
- [txData.tx.transactionId]: txData.tx.transactionId
435
- }
436
- syncMap.transaction.count = 1
437
-
438
- const tx = new EntityTransaction({
439
- ...txData.tx, // Base transaction
440
- version: 2,
441
- lockTime: 500,
442
- satoshis: 789,
443
- txid: 'txid1',
444
- rawTx: [1, 2, 3],
445
- inputBEEF: [4, 5, 6],
446
- description: 'desc1',
447
- status: 'completed',
448
- reference: 'ref1'
449
- } as TableTransaction)
450
-
451
- const other = {
452
- transactionId: txData.tx.transactionId, // Matching transactionId
453
- reference: 'ref1', // Matching reference
454
- version: 1, // Different version
455
- lockTime: 100, // Different lockTime
456
- status: 'unprocessed', // Different status
457
- satoshis: 100, // Different satoshis
458
- description: 'desc2', // Different description
459
- txid: 'txid2', // Different txid
460
- rawTx: [7, 8, 9], // Different rawTx
461
- inputBEEF: [10, 11, 12] // Different inputBEEF
462
- } as TableTransaction
463
-
464
- expect(tx.equals(other, syncMap)).toBe(false) // Should return false due to mismatched properties
465
- }
466
- })
467
-
468
- // Test: `getInputs` handles known and unknown inputs
469
- test('26_getInputs_handles_known_and_unknown_inputs', async () => {
470
- for (const { activeStorage } of ctxs) {
471
- // Step 1: Insert a Transaction into the database
472
- const { tx } = await _tu.insertTestTransaction(activeStorage, undefined, true)
473
-
474
- // Step 2: Insert test outputs associated with the transaction
475
- const output1 = await _tu.insertTestOutput(activeStorage, tx, 0, 100) // vout = 0, satoshis = 100
476
- const output2 = await _tu.insertTestOutput(activeStorage, tx, 1, 200) // vout = 1, satoshis = 200
477
-
478
- // Step 3: Simulate rawTx inputs directly without creating a Transaction instance
479
- const rawTxInputs = [
480
- { sourceTXID: tx.txid, sourceOutputIndex: 0 },
481
- { sourceTXID: tx.txid, sourceOutputIndex: 1 }
482
- ]
483
-
484
- // Step 4: Query the inputs from storage individually
485
- const inputs = await Promise.all(
486
- rawTxInputs.map(input =>
487
- activeStorage.findOutputs({
488
- partial: {
489
- transactionId: tx.transactionId,
490
- vout: input.sourceOutputIndex
491
- }
492
- })
493
- )
494
- )
495
-
496
- // Flatten the array of inputs (since `findOutputs` likely returns arrays for each query)
497
- const flattenedInputs = inputs.flat()
498
-
499
- // Step 5: Assertions
500
- expect(flattenedInputs).toHaveLength(2) // Ensure both outputs are retrieved
501
- expect(flattenedInputs).toEqual(
502
- expect.arrayContaining([
503
- expect.objectContaining({ outputId: output1.outputId }), // vout = 0
504
- expect.objectContaining({ outputId: output2.outputId }) // vout = 1
505
- ])
506
- )
507
- }
508
- })
509
-
510
- // Test: equals identifies matching entities
511
- test('27_equals_identifies_matching_entities', async () => {
512
- const ctx1 = ctxs[0]
513
- const ctx2 = ctxs2[0]
514
-
515
- // Insert a transaction into the first database
516
- const tx1 = new EntityTransaction({
517
- transactionId: 405,
518
- userId: 1,
519
- txid: 'txid1',
520
- created_at: new Date('2023-01-01'),
521
- updated_at: new Date('2023-01-02'),
522
- status: 'completed',
523
- reference: 'ref1',
524
- isOutgoing: true,
525
- satoshis: 789,
526
- description: 'desc1',
527
- version: 2,
528
- lockTime: 500,
529
- rawTx: [1, 2, 3],
530
- inputBEEF: [4, 5, 6]
531
- })
532
-
533
- await ctx1.activeStorage.insertTransaction(tx1.toApi())
534
-
535
- // Insert a matching transaction into the second database
536
- const tx2 = new EntityTransaction({
537
- transactionId: 405,
538
- userId: 1, // Matching userId
539
- txid: 'txid1', // Matching txid
540
- created_at: new Date('2023-01-01'),
541
- updated_at: new Date('2023-01-02'),
542
- status: 'completed', // Matching status
543
- reference: 'ref1', // Matching reference
544
- isOutgoing: true, // Matching isOutgoing
545
- satoshis: 789, // Matching satoshis
546
- description: 'desc1', // Matching description
547
- version: 2, // Matching version
548
- lockTime: 500, // Matching lockTime
549
- rawTx: [1, 2, 3], // Matching rawTx
550
- inputBEEF: [4, 5, 6] // Matching inputBEEF
551
- })
552
- await ctx2.activeStorage.insertTransaction(tx2.toApi())
553
-
554
- const syncMap = createSyncMap()
555
- syncMap.transaction.idMap = { [tx1.transactionId]: tx2.transactionId }
556
- syncMap.transaction.count = 1
557
-
558
- // Verify the transactions match
559
- expect(tx1.equals(tx2.toApi(), syncMap)).toBe(true)
560
- })
561
-
562
- // Test: `equals` identifies non-matching entities
563
- test('28_equals_identifies_non_matching_entities', async () => {
564
- const ctx1 = ctxs[0]
565
- const ctx2 = ctxs2[0]
566
-
567
- // Insert a transaction into the first database
568
- const tx1 = new EntityTransaction({
569
- transactionId: 303,
570
- userId: 1,
571
- txid: 'tx456',
572
- created_at: new Date('2023-01-01'),
573
- updated_at: new Date('2023-01-02'),
574
- status: 'unprocessed', // Default status
575
- reference: 'ref125',
576
- isOutgoing: false, // Default isOutgoing
577
- satoshis: 0, // Default satoshis
578
- description: '' // Default description
579
- })
580
- await ctx1.activeStorage.insertTransaction(tx1.toApi())
581
-
582
- // Insert a non-matching transaction into the second database
583
- const tx2 = new EntityTransaction({
584
- transactionId: 304,
585
- userId: 1,
586
- txid: 'tx789',
587
- created_at: new Date('2023-01-01'),
588
- updated_at: new Date('2023-01-02'),
589
- status: 'unprocessed', // Default status
590
- reference: 'ref126',
591
- isOutgoing: false, // Default isOutgoing
592
- satoshis: 0, // Default satoshis
593
- description: '' // Default description
594
- })
595
- await ctx2.activeStorage.insertTransaction(tx2.toApi())
596
-
597
- const syncMap = createSyncMap()
598
- syncMap.transaction.idMap = { [tx1.transactionId]: tx2.transactionId }
599
- syncMap.transaction.count = 1
600
-
601
- // Verify the transactions do not match
602
- expect(tx1.equals(tx2.toApi(), syncMap)).toBe(false)
603
- })
604
- })