@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
@@ -0,0 +1,632 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseWalletOutpoint = parseWalletOutpoint;
4
+ exports.validateSatoshis = validateSatoshis;
5
+ exports.validateOptionalInteger = validateOptionalInteger;
6
+ exports.validateInteger = validateInteger;
7
+ exports.validatePositiveIntegerOrZero = validatePositiveIntegerOrZero;
8
+ exports.validateStringLength = validateStringLength;
9
+ exports.isHexString = isHexString;
10
+ exports.validateCreateActionInput = validateCreateActionInput;
11
+ exports.validateCreateActionOutput = validateCreateActionOutput;
12
+ exports.validateCreateActionOptions = validateCreateActionOptions;
13
+ exports.validateCreateActionArgs = validateCreateActionArgs;
14
+ exports.validateSignActionOptions = validateSignActionOptions;
15
+ exports.validateSignActionArgs = validateSignActionArgs;
16
+ exports.validateAbortActionArgs = validateAbortActionArgs;
17
+ exports.validateWalletPayment = validateWalletPayment;
18
+ exports.validateBasketInsertion = validateBasketInsertion;
19
+ exports.validateInternalizeOutput = validateInternalizeOutput;
20
+ exports.validateOriginator = validateOriginator;
21
+ exports.validateInternalizeActionArgs = validateInternalizeActionArgs;
22
+ exports.validateOptionalOutpointString = validateOptionalOutpointString;
23
+ exports.validateOutpointString = validateOutpointString;
24
+ exports.validateRelinquishOutputArgs = validateRelinquishOutputArgs;
25
+ exports.validateRelinquishCertificateArgs = validateRelinquishCertificateArgs;
26
+ exports.validateListCertificatesArgs = validateListCertificatesArgs;
27
+ exports.validateAcquireCertificateArgs = validateAcquireCertificateArgs;
28
+ exports.validateAcquireIssuanceCertificateArgs = validateAcquireIssuanceCertificateArgs;
29
+ exports.validateAcquireDirectCertificateArgs = validateAcquireDirectCertificateArgs;
30
+ exports.validateProveCertificateArgs = validateProveCertificateArgs;
31
+ exports.validateDiscoverByIdentityKeyArgs = validateDiscoverByIdentityKeyArgs;
32
+ exports.validateDiscoverByAttributesArgs = validateDiscoverByAttributesArgs;
33
+ exports.validateListOutputsArgs = validateListOutputsArgs;
34
+ exports.validateListActionsArgs = validateListActionsArgs;
35
+ const sdk_1 = require("@bsv/sdk");
36
+ const WERR_errors_1 = require("./WERR_errors");
37
+ function parseWalletOutpoint(outpoint) {
38
+ const [txid, vout] = outpoint.split('.');
39
+ return { txid, vout: Number(vout) };
40
+ }
41
+ function defaultTrue(v) {
42
+ return v !== null && v !== void 0 ? v : true;
43
+ }
44
+ function defaultFalse(v) {
45
+ return v !== null && v !== void 0 ? v : false;
46
+ }
47
+ function defaultZero(v) {
48
+ return v !== null && v !== void 0 ? v : 0;
49
+ }
50
+ function default0xffffffff(v) {
51
+ return v !== null && v !== void 0 ? v : 0xffffffff;
52
+ }
53
+ function defaultOne(v) {
54
+ return v !== null && v !== void 0 ? v : 1;
55
+ }
56
+ function defaultEmpty(v) {
57
+ return v !== null && v !== void 0 ? v : [];
58
+ }
59
+ function validateOptionalStringLength(s, name, min, max) {
60
+ if (s === undefined)
61
+ return undefined;
62
+ return validateStringLength(s, name, min, max);
63
+ }
64
+ function validateSatoshis(v, name, min) {
65
+ if (v === undefined || !Number.isInteger(v) || v < 0 || v > 21e14)
66
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, 'a valid number of satoshis');
67
+ if (min !== undefined && v < min)
68
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} satoshis.`);
69
+ return v;
70
+ }
71
+ function validateOptionalInteger(v, name, min, max) {
72
+ if (v === undefined)
73
+ return undefined;
74
+ return validateInteger(v, name, undefined, min, max);
75
+ }
76
+ function validateInteger(v, name, defaultValue, min, max) {
77
+ if (v === undefined) {
78
+ if (defaultValue !== undefined)
79
+ return defaultValue;
80
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, 'a valid integer');
81
+ }
82
+ if (!Number.isInteger(v))
83
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, 'an integer');
84
+ v = Number(v);
85
+ if (min !== undefined && v < min)
86
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
87
+ if (max !== undefined && v > max)
88
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
89
+ return v;
90
+ }
91
+ function validatePositiveIntegerOrZero(v, name) {
92
+ return validateInteger(v, name, 0, 0);
93
+ }
94
+ function validateStringLength(s, name, min, max) {
95
+ const bytes = sdk_1.Utils.toArray(s, 'utf8').length;
96
+ if (min !== undefined && bytes < min)
97
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
98
+ if (max !== undefined && bytes > max)
99
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
100
+ return s;
101
+ }
102
+ function validateOptionalBasket(s) {
103
+ if (s === undefined)
104
+ return undefined;
105
+ return validateBasket(s);
106
+ }
107
+ function validateBasket(s) {
108
+ return validateIdentifier(s, 'basket', 1, 300);
109
+ }
110
+ function validateLabel(s) {
111
+ return validateIdentifier(s, 'label', 1, 300);
112
+ }
113
+ function validateTag(s) {
114
+ return validateIdentifier(s, 'tag', 1, 300);
115
+ }
116
+ function validateIdentifier(s, name, min, max) {
117
+ s = s.trim().toLowerCase();
118
+ const bytes = sdk_1.Utils.toArray(s, 'utf8').length;
119
+ if (min !== undefined && bytes < min)
120
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
121
+ if (max !== undefined && bytes > max)
122
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
123
+ return s;
124
+ }
125
+ function validateOptionalBase64String(s, name, min, max) {
126
+ if (s === undefined)
127
+ return undefined;
128
+ return validateBase64String(s, name, min, max);
129
+ }
130
+ function validateBase64String(s, name, min, max) {
131
+ // Remove any whitespace and check if the string length is valid for Base64
132
+ s = s.trim();
133
+ const base64Regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
134
+ const paddingMatch = /=+$/.exec(s);
135
+ const paddingCount = paddingMatch ? paddingMatch[0].length : 0;
136
+ if (paddingCount > 2 || (s.length % 4 !== 0 && paddingCount !== 0) || !base64Regex.test(s)) {
137
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `balid base64 string`);
138
+ }
139
+ const bytes = sdk_1.Utils.toArray(s, 'base64').length;
140
+ if (min !== undefined && bytes < min)
141
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
142
+ if (max !== undefined && bytes > max)
143
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
144
+ return s;
145
+ }
146
+ function validateOptionalHexString(s, name, min, max) {
147
+ if (s === undefined)
148
+ return undefined;
149
+ return validateHexString(s, name, min, max);
150
+ }
151
+ /**
152
+ * @param s
153
+ * @param name
154
+ * @param min if valid, string length minimum (not bytes)
155
+ * @param max if valid, string length maximum (not bytes)
156
+ * @returns
157
+ */
158
+ function validateHexString(s, name, min, max) {
159
+ s = s.trim().toLowerCase();
160
+ if (s.length % 2 === 1)
161
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `even length, not ${s.length}.`);
162
+ const hexRegex = /^[0-9A-Fa-f]+$/;
163
+ if (!hexRegex.test(s))
164
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `hexadecimal string.`);
165
+ if (min !== undefined && s.length < min)
166
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `at least ${min} length.`);
167
+ if (max !== undefined && s.length > max)
168
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `no more than ${max} length.`);
169
+ return s;
170
+ }
171
+ function isHexString(s) {
172
+ s = s.trim();
173
+ if (s.length % 2 === 1)
174
+ return false;
175
+ const hexRegex = /^[0-9A-Fa-f]+$/;
176
+ if (!hexRegex.test(s))
177
+ return false;
178
+ return true;
179
+ }
180
+ function validateCreateActionInput(i) {
181
+ var _a;
182
+ if (i.unlockingScript === undefined && i.unlockingScriptLength === undefined)
183
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('unlockingScript, unlockingScriptLength', `at least one valid value.`);
184
+ const unlockingScript = validateOptionalHexString(i.unlockingScript, 'unlockingScript');
185
+ const unlockingScriptLength = (_a = i.unlockingScriptLength) !== null && _a !== void 0 ? _a : unlockingScript.length / 2;
186
+ if (unlockingScript && unlockingScriptLength !== unlockingScript.length / 2)
187
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('unlockingScriptLength', `length unlockingScript if both valid.`);
188
+ const vi = {
189
+ outpoint: parseWalletOutpoint(i.outpoint),
190
+ inputDescription: validateStringLength(i.inputDescription, 'inputDescription', 5, 2000),
191
+ unlockingScript,
192
+ unlockingScriptLength,
193
+ sequenceNumber: default0xffffffff(i.sequenceNumber)
194
+ };
195
+ return vi;
196
+ }
197
+ function validateCreateActionOutput(o) {
198
+ const vo = {
199
+ lockingScript: validateHexString(o.lockingScript, 'lockingScript'),
200
+ satoshis: validateSatoshis(o.satoshis, 'satoshis'),
201
+ outputDescription: validateStringLength(o.outputDescription, 'outputDescription', 5, 2000),
202
+ basket: validateOptionalBasket(o.basket),
203
+ customInstructions: o.customInstructions,
204
+ tags: defaultEmpty(o.tags).map(t => validateTag(t))
205
+ };
206
+ return vo;
207
+ }
208
+ /**
209
+ * Set all default true/false booleans to true or false if undefined.
210
+ * Set all possibly undefined numbers to their default values.
211
+ * Set all possibly undefined arrays to empty arrays.
212
+ * Convert string outpoints to `{ txid: string, vout: number }`
213
+ */
214
+ function validateCreateActionOptions(options) {
215
+ const o = options || {};
216
+ const vo = {
217
+ signAndProcess: defaultTrue(o.signAndProcess),
218
+ acceptDelayedBroadcast: defaultTrue(o.acceptDelayedBroadcast),
219
+ knownTxids: defaultEmpty(o.knownTxids),
220
+ returnTXIDOnly: defaultFalse(o.returnTXIDOnly),
221
+ noSend: defaultFalse(o.noSend),
222
+ noSendChange: defaultEmpty(o.noSendChange).map(nsc => parseWalletOutpoint(nsc)),
223
+ sendWith: defaultEmpty(o.sendWith),
224
+ randomizeOutputs: defaultTrue(o.randomizeOutputs)
225
+ };
226
+ return vo;
227
+ }
228
+ function validateCreateActionArgs(args) {
229
+ var _a;
230
+ const vargs = {
231
+ description: validateStringLength(args.description, 'description', 5, 2000),
232
+ inputBEEF: args.inputBEEF,
233
+ inputs: defaultEmpty(args.inputs).map(i => validateCreateActionInput(i)),
234
+ outputs: defaultEmpty(args.outputs).map(o => validateCreateActionOutput(o)),
235
+ lockTime: defaultZero(args.lockTime),
236
+ version: defaultOne(args.version),
237
+ labels: defaultEmpty((_a = args.labels) === null || _a === void 0 ? void 0 : _a.map(l => validateLabel(l))),
238
+ options: validateCreateActionOptions(args.options),
239
+ isSendWith: false,
240
+ isDelayed: false,
241
+ isNoSend: false,
242
+ isNewTx: false,
243
+ isRemixChange: false,
244
+ isSignAction: false,
245
+ randomVals: undefined,
246
+ includeAllSourceTransactions: false
247
+ };
248
+ vargs.isSendWith = vargs.options.sendWith.length > 0;
249
+ vargs.isRemixChange = !vargs.isSendWith && vargs.inputs.length === 0 && vargs.outputs.length === 0;
250
+ vargs.isNewTx = vargs.isRemixChange || vargs.inputs.length > 0 || vargs.outputs.length > 0;
251
+ vargs.isSignAction =
252
+ vargs.isNewTx && (vargs.options.signAndProcess === false || vargs.inputs.some(i => i.unlockingScript === undefined));
253
+ vargs.isDelayed = vargs.options.acceptDelayedBroadcast;
254
+ vargs.isNoSend = vargs.options.noSend;
255
+ return vargs;
256
+ }
257
+ /**
258
+ * Set all default true/false booleans to true or false if undefined.
259
+ * Set all possibly undefined numbers to their default values.
260
+ * Set all possibly undefined arrays to empty arrays.
261
+ * Convert string outpoints to `{ txid: string, vout: number }`
262
+ */
263
+ function validateSignActionOptions(options) {
264
+ const o = options || {};
265
+ const vo = {
266
+ acceptDelayedBroadcast: defaultTrue(o.acceptDelayedBroadcast),
267
+ returnTXIDOnly: defaultFalse(o.returnTXIDOnly),
268
+ noSend: defaultFalse(o.noSend),
269
+ sendWith: defaultEmpty(o.sendWith)
270
+ };
271
+ return vo;
272
+ }
273
+ function validateSignActionArgs(args) {
274
+ const vargs = {
275
+ spends: args.spends,
276
+ reference: args.reference,
277
+ options: validateSignActionOptions(args.options),
278
+ isSendWith: false,
279
+ isDelayed: false,
280
+ isNoSend: false,
281
+ isNewTx: true,
282
+ isRemixChange: false
283
+ };
284
+ vargs.isSendWith = vargs.options.sendWith.length > 0;
285
+ vargs.isDelayed = vargs.options.acceptDelayedBroadcast;
286
+ vargs.isNoSend = vargs.options.noSend;
287
+ return vargs;
288
+ }
289
+ function validateAbortActionArgs(args) {
290
+ const vargs = {
291
+ reference: validateBase64String(args.reference, 'reference')
292
+ };
293
+ return vargs;
294
+ }
295
+ function validateWalletPayment(args) {
296
+ if (args === undefined)
297
+ return undefined;
298
+ const v = {
299
+ derivationPrefix: validateBase64String(args.derivationPrefix, 'derivationPrefix'),
300
+ derivationSuffix: validateBase64String(args.derivationSuffix, 'derivationSuffix'),
301
+ senderIdentityKey: validateHexString(args.senderIdentityKey, 'senderIdentityKey')
302
+ };
303
+ return v;
304
+ }
305
+ function validateBasketInsertion(args) {
306
+ if (args === undefined)
307
+ return undefined;
308
+ const v = {
309
+ basket: validateBasket(args.basket),
310
+ customInstructions: validateOptionalStringLength(args.customInstructions, 'customInstructions', 0, 1000), // TODO: real max??
311
+ tags: defaultEmpty(args.tags).map(t => validateTag(t))
312
+ };
313
+ return v;
314
+ }
315
+ function validateInternalizeOutput(args) {
316
+ if (args.protocol !== 'basket insertion' && args.protocol !== 'wallet payment')
317
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('protocol', `'basket insertion' or 'wallet payment'`);
318
+ const v = {
319
+ outputIndex: validatePositiveIntegerOrZero(args.outputIndex, 'outputIndex'),
320
+ protocol: args.protocol,
321
+ paymentRemittance: validateWalletPayment(args.paymentRemittance),
322
+ insertionRemittance: validateBasketInsertion(args.insertionRemittance)
323
+ };
324
+ return v;
325
+ }
326
+ function validateOriginator(s) {
327
+ if (s === undefined)
328
+ return undefined;
329
+ s = s.trim().toLowerCase();
330
+ validateStringLength(s, 'originator', 1, 250);
331
+ const sps = s.split('.');
332
+ for (const sp of sps) {
333
+ validateStringLength(sp, 'originator part', 1, 63);
334
+ }
335
+ }
336
+ function validateInternalizeActionArgs(args) {
337
+ const vargs = {
338
+ tx: args.tx,
339
+ outputs: args.outputs.map(o => validateInternalizeOutput(o)),
340
+ description: validateStringLength(args.description, 'description', 5, 2000),
341
+ labels: (args.labels || []).map(t => validateLabel(t)),
342
+ seekPermission: defaultTrue(args.seekPermission)
343
+ };
344
+ try {
345
+ const beef = sdk_1.Beef.fromBinary(vargs.tx);
346
+ if (beef.txs.length < 1)
347
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', `at least one transaction to internalize an output from`);
348
+ }
349
+ catch (_a) {
350
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', `valid with at least one transaction to internalize an output from`);
351
+ }
352
+ if (vargs.outputs.length < 1)
353
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', `at least one output to internalize from the transaction`);
354
+ return vargs;
355
+ }
356
+ function validateOptionalOutpointString(outpoint, name) {
357
+ if (outpoint === undefined)
358
+ return undefined;
359
+ return validateOutpointString(outpoint, name);
360
+ }
361
+ function validateOutpointString(outpoint, name) {
362
+ const s = outpoint.split('.');
363
+ if (s.length !== 2 || !Number.isInteger(Number(s[1])))
364
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(name, `txid as hex string and numeric output index joined with '.'`);
365
+ const txid = validateHexString(s[0], `${name} txid`, undefined, 64);
366
+ const vout = validatePositiveIntegerOrZero(Number(s[1]), `${name} vout`);
367
+ return `${txid}.${vout}`;
368
+ }
369
+ function validateRelinquishOutputArgs(args) {
370
+ const vargs = {
371
+ basket: validateBasket(args.basket),
372
+ output: validateOutpointString(args.output, 'output')
373
+ };
374
+ return vargs;
375
+ }
376
+ function validateRelinquishCertificateArgs(args) {
377
+ const vargs = {
378
+ type: validateBase64String(args.type, 'type'),
379
+ serialNumber: validateBase64String(args.serialNumber, 'serialNumber'),
380
+ certifier: validateHexString(args.certifier, 'certifier')
381
+ };
382
+ return vargs;
383
+ }
384
+ function validateListCertificatesArgs(args) {
385
+ const vargs = {
386
+ certifiers: defaultEmpty(args.certifiers.map(c => validateHexString(c.trim(), 'certifiers'))),
387
+ types: defaultEmpty(args.types.map(t => validateBase64String(t.trim(), 'types'))),
388
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
389
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
390
+ privileged: defaultFalse(args.privileged),
391
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
392
+ partial: undefined
393
+ };
394
+ return vargs;
395
+ }
396
+ function validateCertificateFields(fields) {
397
+ for (const fieldName of Object.keys(fields)) {
398
+ validateStringLength(fieldName, 'field name', 1, 50);
399
+ }
400
+ return fields;
401
+ }
402
+ function validateKeyringRevealer(kr, name) {
403
+ if (kr === 'certifier')
404
+ return kr;
405
+ return validateHexString(kr, name);
406
+ }
407
+ function validateOptionalKeyringRevealer(kr, name) {
408
+ if (kr === undefined)
409
+ return undefined;
410
+ return validateKeyringRevealer(kr, name);
411
+ }
412
+ function validateKeyringForSubject(kr, name) {
413
+ for (const fn of Object.keys(kr)) {
414
+ validateStringLength(fn, `${name} field name`, 1, 50);
415
+ validateBase64String(kr[fn], `${name} field value`);
416
+ }
417
+ return kr;
418
+ }
419
+ function validateOptionalKeyringForSubject(kr, name) {
420
+ if (kr === undefined)
421
+ return undefined;
422
+ return validateKeyringForSubject(kr, name);
423
+ }
424
+ /**
425
+ *
426
+ * @param args
427
+ * @param subject Must be valid for "direct" `acquisitionProtocol`. public key of the certificate subject.
428
+ * @returns
429
+ */
430
+ async function validateAcquireCertificateArgs(args) {
431
+ const vargs = {
432
+ acquisitionProtocol: args.acquisitionProtocol,
433
+ type: validateBase64String(args.type, 'type'),
434
+ serialNumber: validateOptionalBase64String(args.serialNumber, 'serialNumber'),
435
+ certifier: validateHexString(args.certifier, 'certifier'),
436
+ revocationOutpoint: validateOptionalOutpointString(args.revocationOutpoint, 'revocationOutpoint'),
437
+ fields: validateCertificateFields(args.fields),
438
+ signature: validateOptionalHexString(args.signature, 'signature'),
439
+ certifierUrl: args.certifierUrl,
440
+ keyringRevealer: validateOptionalKeyringRevealer(args.keyringRevealer, 'keyringRevealer'),
441
+ keyringForSubject: validateOptionalKeyringForSubject(args.keyringForSubject, 'keyringForSubject'),
442
+ privileged: defaultFalse(args.privileged),
443
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50)
444
+ };
445
+ if (vargs.privileged && !vargs.privilegedReason)
446
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
447
+ if (vargs.acquisitionProtocol === 'direct') {
448
+ if (!vargs.serialNumber)
449
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('serialNumber', 'valid when acquisitionProtocol is "direct"');
450
+ if (!vargs.signature)
451
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('signature', 'valid when acquisitionProtocol is "direct"');
452
+ if (!vargs.revocationOutpoint)
453
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('revocationOutpoint', 'valid when acquisitionProtocol is "direct"');
454
+ }
455
+ return vargs;
456
+ }
457
+ function validateAcquireIssuanceCertificateArgs(args) {
458
+ if (args.acquisitionProtocol !== 'issuance')
459
+ throw new WERR_errors_1.WERR_INTERNAL('Only acquire certificate via issuance requests allowed here.');
460
+ if (args.serialNumber)
461
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('serialNumber', 'valid when acquisitionProtocol is "direct"');
462
+ if (args.signature)
463
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('signature', 'valid when acquisitionProtocol is "direct"');
464
+ if (args.revocationOutpoint)
465
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('revocationOutpoint', 'valid when acquisitionProtocol is "direct"');
466
+ if (args.keyringRevealer)
467
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('keyringRevealer', 'valid when acquisitionProtocol is "direct"');
468
+ if (args.keyringForSubject)
469
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('keyringForSubject', 'valid when acquisitionProtocol is "direct"');
470
+ if (!args.certifierUrl)
471
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('certifierUrl', 'valid when acquisitionProtocol is "issuance"');
472
+ if (args.privileged && !args.privilegedReason)
473
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
474
+ const vargs = {
475
+ type: validateBase64String(args.type, 'type'),
476
+ certifier: validateHexString(args.certifier, 'certifier'),
477
+ certifierUrl: args.certifierUrl,
478
+ fields: validateCertificateFields(args.fields),
479
+ privileged: defaultFalse(args.privileged),
480
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
481
+ subject: ''
482
+ };
483
+ return vargs;
484
+ }
485
+ function validateAcquireDirectCertificateArgs(args) {
486
+ if (args.acquisitionProtocol !== 'direct')
487
+ throw new WERR_errors_1.WERR_INTERNAL('Only acquire direct certificate requests allowed here.');
488
+ if (!args.serialNumber)
489
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('serialNumber', 'valid when acquisitionProtocol is "direct"');
490
+ if (!args.signature)
491
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('signature', 'valid when acquisitionProtocol is "direct"');
492
+ if (!args.revocationOutpoint)
493
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('revocationOutpoint', 'valid when acquisitionProtocol is "direct"');
494
+ if (!args.keyringRevealer)
495
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('keyringRevealer', 'valid when acquisitionProtocol is "direct"');
496
+ if (!args.keyringForSubject)
497
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('keyringForSubject', 'valid when acquisitionProtocol is "direct"');
498
+ if (args.privileged && !args.privilegedReason)
499
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
500
+ const vargs = {
501
+ type: validateBase64String(args.type, 'type'),
502
+ serialNumber: validateBase64String(args.serialNumber, 'serialNumber'),
503
+ certifier: validateHexString(args.certifier, 'certifier'),
504
+ revocationOutpoint: validateOutpointString(args.revocationOutpoint, 'revocationOutpoint'),
505
+ fields: validateCertificateFields(args.fields),
506
+ signature: validateHexString(args.signature, 'signature'),
507
+ keyringRevealer: validateKeyringRevealer(args.keyringRevealer, 'keyringRevealer'),
508
+ keyringForSubject: validateKeyringForSubject(args.keyringForSubject, 'keyringForSubject'),
509
+ privileged: defaultFalse(args.privileged),
510
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50),
511
+ subject: ''
512
+ };
513
+ return vargs;
514
+ }
515
+ function validateProveCertificateArgs(args) {
516
+ if (args.privileged && !args.privilegedReason)
517
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('privilegedReason', `valid when 'privileged' is true `);
518
+ const vargs = {
519
+ type: validateOptionalBase64String(args.certificate.type, 'certificate.type'),
520
+ serialNumber: validateOptionalBase64String(args.certificate.serialNumber, 'certificate.serialNumber'),
521
+ certifier: validateOptionalHexString(args.certificate.certifier, 'certificate.certifier'),
522
+ subject: validateOptionalHexString(args.certificate.subject, 'certificate.subject'),
523
+ revocationOutpoint: validateOptionalOutpointString(args.certificate.revocationOutpoint, 'certificate.revocationOutpoint'),
524
+ signature: validateOptionalHexString(args.certificate.signature, 'certificate.signature'),
525
+ fieldsToReveal: defaultEmpty(args.fieldsToReveal).map(fieldName => validateStringLength(fieldName, `fieldsToReveal ${fieldName}`, 1, 50)),
526
+ verifier: validateHexString(args.verifier, 'verifier'),
527
+ privileged: defaultFalse(args.privileged),
528
+ privilegedReason: validateOptionalStringLength(args.privilegedReason, 'privilegedReason', 5, 50)
529
+ };
530
+ return vargs;
531
+ }
532
+ function validateDiscoverByIdentityKeyArgs(args) {
533
+ const vargs = {
534
+ identityKey: validateHexString(args.identityKey, 'identityKey', 66, 66),
535
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
536
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
537
+ seekPermission: defaultFalse(args.seekPermission)
538
+ };
539
+ return vargs;
540
+ }
541
+ function validateAttributes(attributes) {
542
+ for (const fieldName of Object.keys(attributes)) {
543
+ validateStringLength(fieldName, `field name ${fieldName}`, 1, 50);
544
+ }
545
+ return attributes;
546
+ }
547
+ function validateDiscoverByAttributesArgs(args) {
548
+ const vargs = {
549
+ attributes: validateAttributes(args.attributes),
550
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
551
+ offset: validatePositiveIntegerOrZero(defaultZero(args.offset), 'offset'),
552
+ seekPermission: defaultFalse(args.seekPermission)
553
+ };
554
+ return vargs;
555
+ }
556
+ /**
557
+ * @param {BasketStringUnder300Bytes} args.basket - Required. The associated basket name whose outputs should be listed.
558
+ * @param {OutputTagStringUnder300Bytes[]} [args.tags] - Optional. Filter outputs based on these tags.
559
+ * @param {'all' | 'any'} [args.tagQueryMode] - Optional. Filter mode, defining whether all or any of the tags must match. By default, any tag can match.
560
+ * @param {'locking scripts' | 'entire transactions'} [args.include] - Optional. Whether to include locking scripts (with each output) or entire transactions (as aggregated BEEF, at the top level) in the result. By default, unless specified, neither are returned.
561
+ * @param {BooleanDefaultFalse} [args.includeEntireTransactions] - Optional. Whether to include the entire transaction(s) in the result.
562
+ * @param {BooleanDefaultFalse} [args.includeCustomInstructions] - Optional. Whether custom instructions should be returned in the result.
563
+ * @param {BooleanDefaultFalse} [args.includeTags] - Optional. Whether the tags associated with the output should be returned.
564
+ * @param {BooleanDefaultFalse} [args.includeLabels] - Optional. Whether the labels associated with the transaction containing the output should be returned.
565
+ * @param {PositiveIntegerDefault10Max10000} [args.limit] - Optional limit on the number of outputs to return.
566
+ * @param {number} [args.offset] - If positive or zero: Number of outputs to skip before starting to return results, oldest first.
567
+ * If negative: Outputs are returned newest first and offset of -1 is the newest output.
568
+ * When using negative offsets, caution is required as new outputs may be added between calls,
569
+ * potentially causing outputs to be duplicated across calls.
570
+ * @param {BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
571
+ */
572
+ function validateListOutputsArgs(args) {
573
+ let tagQueryMode;
574
+ if (args.tagQueryMode === undefined || args.tagQueryMode === 'any')
575
+ tagQueryMode = 'any';
576
+ else if (args.tagQueryMode === 'all')
577
+ tagQueryMode = 'all';
578
+ else
579
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('tagQueryMode', `undefined, 'any', or 'all'`);
580
+ const vargs = {
581
+ basket: validateStringLength(args.basket, 'basket', 1, 300),
582
+ tags: (args.tags || []).map(t => validateStringLength(t, 'tag', 1, 300)),
583
+ tagQueryMode,
584
+ includeLockingScripts: args.include === 'locking scripts',
585
+ includeTransactions: args.include === 'entire transactions',
586
+ includeCustomInstructions: defaultFalse(args.includeCustomInstructions),
587
+ includeTags: defaultFalse(args.includeTags),
588
+ includeLabels: defaultFalse(args.includeLabels),
589
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
590
+ offset: validateInteger(args.offset, 'offset', 0, undefined, undefined),
591
+ seekPermission: defaultTrue(args.seekPermission),
592
+ knownTxids: []
593
+ };
594
+ return vargs;
595
+ }
596
+ /**
597
+ * @param {LabelStringUnder300Bytes[]} args.labels - An array of labels used to filter actions.
598
+ * @param {'any' | 'all'} [args.labelQueryMode] - Optional. Specifies how to match labels (default is any which matches any of the labels).
599
+ * @param {BooleanDefaultFalse} [args.includeLabels] - Optional. Whether to include transaction labels in the result set.
600
+ * @param {BooleanDefaultFalse} [args.includeInputs] - Optional. Whether to include input details in the result set.
601
+ * @param {BooleanDefaultFalse} [args.includeInputSourceLockingScripts] - Optional. Whether to include input source locking scripts in the result set.
602
+ * @param {BooleanDefaultFalse} [args.includeInputUnlockingScripts] - Optional. Whether to include input unlocking scripts in the result set.
603
+ * @param {BooleanDefaultFalse} [args.includeOutputs] - Optional. Whether to include output details in the result set.
604
+ * @param {BooleanDefaultFalse} [args.includeOutputLockingScripts] - Optional. Whether to include output locking scripts in the result set.
605
+ * @param {PositiveIntegerDefault10Max10000} [args.limit] - Optional. The maximum number of transactions to retrieve.
606
+ * @param {PositiveIntegerOrZero} [args.offset] - Optional. Number of transactions to skip before starting to return the results.
607
+ * @param {BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
608
+ */
609
+ function validateListActionsArgs(args) {
610
+ let labelQueryMode;
611
+ if (args.labelQueryMode === undefined || args.labelQueryMode === 'any')
612
+ labelQueryMode = 'any';
613
+ else if (args.labelQueryMode === 'all')
614
+ labelQueryMode = 'all';
615
+ else
616
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('labelQueryMode', `undefined, 'any', or 'all'`);
617
+ const vargs = {
618
+ labels: (args.labels || []).map(t => validateLabel(t)),
619
+ labelQueryMode,
620
+ includeLabels: defaultFalse(args.includeLabels),
621
+ includeInputs: defaultFalse(args.includeInputs),
622
+ includeInputSourceLockingScripts: defaultFalse(args.includeInputSourceLockingScripts),
623
+ includeInputUnlockingScripts: defaultFalse(args.includeInputUnlockingScripts),
624
+ includeOutputs: defaultFalse(args.includeOutputs),
625
+ includeOutputLockingScripts: defaultFalse(args.includeOutputLockingScripts),
626
+ limit: validateInteger(args.limit, 'limit', 10, 1, 10000),
627
+ offset: validateInteger(args.offset, 'offset', 0, 0),
628
+ seekPermission: defaultTrue(args.seekPermission)
629
+ };
630
+ return vargs;
631
+ }
632
+ //# sourceMappingURL=validationHelpers.js.map