@bsv/wallet-toolbox 1.1.60 → 1.1.61

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 (467) hide show
  1. package/.prettierrc +1 -1
  2. package/docs/client.md +39 -5
  3. package/docs/services.md +1 -0
  4. package/docs/setup.md +9 -26
  5. package/docs/storage.md +35 -0
  6. package/docs/wallet.md +39 -5
  7. package/out/src/Setup.d.ts.map +1 -1
  8. package/out/src/Setup.js +6 -16
  9. package/out/src/Setup.js.map +1 -1
  10. package/out/src/Wallet.d.ts.map +1 -1
  11. package/out/src/Wallet.js +4 -11
  12. package/out/src/Wallet.js.map +1 -1
  13. package/out/src/monitor/Monitor.d.ts.map +1 -1
  14. package/out/src/monitor/Monitor.js.map +1 -1
  15. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  16. package/out/src/monitor/MonitorDaemon.js +1 -3
  17. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  18. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  19. package/out/src/monitor/tasks/TaskCheckForProofs.js +2 -10
  20. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  21. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
  22. package/out/src/monitor/tasks/TaskClock.js +1 -1
  23. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  24. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
  25. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  26. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  27. package/out/src/monitor/tasks/TaskNewHeader.js +1 -2
  28. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  29. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  30. package/out/src/monitor/tasks/TaskPurge.js +1 -2
  31. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  33. package/out/src/monitor/tasks/TaskReviewStatus.js +1 -2
  34. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  35. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
  36. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  37. package/out/src/sdk/CertOps.d.ts.map +1 -1
  38. package/out/src/sdk/CertOps.js +4 -12
  39. package/out/src/sdk/CertOps.js.map +1 -1
  40. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
  41. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  42. package/out/src/sdk/WERR_errors.d.ts.map +1 -1
  43. package/out/src/sdk/WERR_errors.js.map +1 -1
  44. package/out/src/sdk/WalletError.d.ts.map +1 -1
  45. package/out/src/sdk/WalletError.js +1 -4
  46. package/out/src/sdk/WalletError.js.map +1 -1
  47. package/out/src/sdk/WalletServices.interfaces.d.ts +2 -0
  48. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  49. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  50. package/out/src/sdk/__test/CertificateLifeCycle.test.js +1 -3
  51. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
  52. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +13 -26
  53. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +1 -1
  54. package/out/src/sdk/types.d.ts.map +1 -1
  55. package/out/src/sdk/types.js +2 -10
  56. package/out/src/sdk/types.js.map +1 -1
  57. package/out/src/sdk/validationHelpers.d.ts.map +1 -1
  58. package/out/src/sdk/validationHelpers.js +5 -12
  59. package/out/src/sdk/validationHelpers.js.map +1 -1
  60. package/out/src/services/Services.d.ts +1 -0
  61. package/out/src/services/Services.d.ts.map +1 -1
  62. package/out/src/services/Services.js +29 -38
  63. package/out/src/services/Services.js.map +1 -1
  64. package/out/src/services/__tests/bitrails.test.js.map +1 -1
  65. package/out/src/services/__tests/getMerklePath.test.js.map +1 -1
  66. package/out/src/services/__tests/getRawTx.test.js.map +1 -1
  67. package/out/src/services/__tests/verifyBeef.test.js +2 -1
  68. package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
  69. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  70. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  71. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -1
  72. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -1
  73. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  74. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +1 -3
  75. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  76. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  77. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  78. package/out/src/services/providers/ARC.d.ts.map +1 -1
  79. package/out/src/services/providers/ARC.js +1 -2
  80. package/out/src/services/providers/ARC.js.map +1 -1
  81. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  82. package/out/src/services/providers/Bitails.js +62 -134
  83. package/out/src/services/providers/Bitails.js.map +1 -1
  84. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  85. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  86. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  87. package/out/src/services/providers/WhatsOnChain.js +6 -21
  88. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  89. package/out/src/services/providers/__tests/WhatsOnChain.test.js +1 -2
  90. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
  91. package/out/src/services/providers/echangeRates.d.ts.map +1 -1
  92. package/out/src/services/providers/echangeRates.js.map +1 -1
  93. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  94. package/out/src/signer/WalletSigner.js.map +1 -1
  95. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  96. package/out/src/signer/methods/acquireDirectCertificate.js +1 -3
  97. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  98. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  99. package/out/src/signer/methods/buildSignableTransaction.js +3 -11
  100. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  101. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  102. package/out/src/signer/methods/createAction.js +3 -10
  103. package/out/src/signer/methods/createAction.js.map +1 -1
  104. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  105. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  106. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  107. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  108. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  109. package/out/src/signer/methods/signAction.js +2 -7
  110. package/out/src/signer/methods/signAction.js.map +1 -1
  111. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  112. package/out/src/storage/StorageKnex.js +15 -44
  113. package/out/src/storage/StorageKnex.js.map +1 -1
  114. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  115. package/out/src/storage/StorageProvider.js +9 -34
  116. package/out/src/storage/StorageProvider.js.map +1 -1
  117. package/out/src/storage/StorageReader.d.ts.map +1 -1
  118. package/out/src/storage/StorageReader.js.map +1 -1
  119. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  120. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  121. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  122. package/out/src/storage/StorageSyncReader.js.map +1 -1
  123. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  124. package/out/src/storage/WalletStorageManager.js +5 -10
  125. package/out/src/storage/WalletStorageManager.js.map +1 -1
  126. package/out/src/storage/__test/WalletStorageManager.test.js +2 -8
  127. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
  128. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +10 -30
  129. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -1
  130. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -1
  131. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +17 -28
  132. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -1
  133. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  134. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +6 -20
  135. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  136. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  137. package/out/src/storage/methods/createAction.js +4 -9
  138. package/out/src/storage/methods/createAction.js.map +1 -1
  139. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  140. package/out/src/storage/methods/generateChange.js +7 -18
  141. package/out/src/storage/methods/generateChange.js.map +1 -1
  142. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  143. package/out/src/storage/methods/getBeefForTransaction.js +1 -3
  144. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  145. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  146. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  147. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  148. package/out/src/storage/methods/internalizeAction.js +2 -9
  149. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  150. package/out/src/storage/methods/listActions.d.ts.map +1 -1
  151. package/out/src/storage/methods/listActions.js +3 -15
  152. package/out/src/storage/methods/listActions.js.map +1 -1
  153. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  154. package/out/src/storage/methods/listCertificates.js.map +1 -1
  155. package/out/src/storage/methods/listOutputs.d.ts.map +1 -1
  156. package/out/src/storage/methods/listOutputs.js +4 -11
  157. package/out/src/storage/methods/listOutputs.js.map +1 -1
  158. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  159. package/out/src/storage/methods/processAction.js +4 -10
  160. package/out/src/storage/methods/processAction.js.map +1 -1
  161. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  162. package/out/src/storage/methods/purgeData.js +8 -32
  163. package/out/src/storage/methods/purgeData.js.map +1 -1
  164. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  165. package/out/src/storage/methods/reviewStatus.js +1 -3
  166. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  167. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  168. package/out/src/storage/remoting/StorageClient.js +15 -41
  169. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  170. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  171. package/out/src/storage/remoting/StorageServer.js +2 -5
  172. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  173. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  174. package/out/src/storage/schema/KnexMigrations.js +24 -130
  175. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  176. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -1
  177. package/out/src/storage/schema/entities/Certificate.js +1 -1
  178. package/out/src/storage/schema/entities/Certificate.js.map +1 -1
  179. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -1
  180. package/out/src/storage/schema/entities/CertificateField.js +2 -5
  181. package/out/src/storage/schema/entities/CertificateField.js.map +1 -1
  182. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -1
  183. package/out/src/storage/schema/entities/Commission.js +2 -5
  184. package/out/src/storage/schema/entities/Commission.js.map +1 -1
  185. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  186. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  187. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  188. package/out/src/storage/schema/entities/MergeEntity.js +14 -9
  189. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  190. package/out/src/storage/schema/entities/Output.d.ts.map +1 -1
  191. package/out/src/storage/schema/entities/Output.js +8 -25
  192. package/out/src/storage/schema/entities/Output.js.map +1 -1
  193. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -1
  194. package/out/src/storage/schema/entities/OutputBasket.js +1 -1
  195. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -1
  196. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -1
  197. package/out/src/storage/schema/entities/OutputTag.js +1 -1
  198. package/out/src/storage/schema/entities/OutputTag.js.map +1 -1
  199. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -1
  200. package/out/src/storage/schema/entities/OutputTagMap.js +3 -7
  201. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -1
  202. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -1
  203. package/out/src/storage/schema/entities/ProvenTx.js +10 -20
  204. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -1
  205. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -1
  206. package/out/src/storage/schema/entities/ProvenTxReq.js +8 -18
  207. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -1
  208. package/out/src/storage/schema/entities/SyncState.d.ts +1 -0
  209. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -1
  210. package/out/src/storage/schema/entities/SyncState.js +41 -6
  211. package/out/src/storage/schema/entities/SyncState.js.map +1 -1
  212. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -1
  213. package/out/src/storage/schema/entities/Transaction.js +4 -13
  214. package/out/src/storage/schema/entities/Transaction.js.map +1 -1
  215. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -1
  216. package/out/src/storage/schema/entities/TxLabel.js +1 -1
  217. package/out/src/storage/schema/entities/TxLabel.js.map +1 -1
  218. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -1
  219. package/out/src/storage/schema/entities/TxLabelMap.js +3 -9
  220. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -1
  221. package/out/src/storage/schema/entities/User.d.ts.map +1 -1
  222. package/out/src/storage/schema/entities/User.js +3 -5
  223. package/out/src/storage/schema/entities/User.js.map +1 -1
  224. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -1
  225. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -1
  226. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -1
  227. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -1
  228. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -1
  229. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -1
  230. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -1
  231. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -1
  232. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +1 -2
  233. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  234. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -1
  235. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +2 -2
  236. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -1
  237. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -1
  238. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -1
  239. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -1
  240. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -1
  241. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  242. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  243. package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -3
  244. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  245. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  246. package/out/src/utility/ScriptTemplateBRC29.js +1 -2
  247. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  248. package/out/src/utility/stampLog.d.ts.map +1 -1
  249. package/out/src/utility/stampLog.js.map +1 -1
  250. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  251. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  252. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
  253. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  254. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  255. package/out/src/utility/utilityHelpers.js +1 -3
  256. package/out/src/utility/utilityHelpers.js.map +1 -1
  257. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
  258. package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -1
  259. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -1
  260. package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -1
  261. package/out/test/Wallet/get/getHeaderForHeight.test.js +2 -6
  262. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -1
  263. package/out/test/Wallet/get/getHeight.test.js.map +1 -1
  264. package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -1
  265. package/out/test/Wallet/get/getNetwork.test.js.map +1 -1
  266. package/out/test/Wallet/get/getVersion.test.js.map +1 -1
  267. package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -1
  268. package/out/test/Wallet/live/walletLive.man.test.js +3 -9
  269. package/out/test/Wallet/live/walletLive.man.test.js.map +1 -1
  270. package/out/test/Wallet/local/localWallet.man.test.d.ts.map +1 -1
  271. package/out/test/Wallet/local/localWallet.man.test.js +15 -22
  272. package/out/test/Wallet/local/localWallet.man.test.js.map +1 -1
  273. package/out/test/Wallet/specOps/specOps.man.test.js +1 -4
  274. package/out/test/Wallet/specOps/specOps.man.test.js.map +1 -1
  275. package/out/test/Wallet/support/janitor.man.test.js.map +1 -1
  276. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
  277. package/out/test/Wallet/sync/setActive.test.js +73 -50
  278. package/out/test/Wallet/sync/setActive.test.js.map +1 -1
  279. package/out/test/checkDB.d.ts.map +1 -1
  280. package/out/test/checkDB.js.map +1 -1
  281. package/out/test/examples/backup.man.test.d.ts.map +1 -1
  282. package/out/test/examples/backup.man.test.js.map +1 -1
  283. package/out/test/examples/pushdrop.test.d.ts.map +1 -1
  284. package/out/test/examples/pushdrop.test.js +5 -4
  285. package/out/test/examples/pushdrop.test.js.map +1 -1
  286. package/out/test/monitor/Monitor.test.js.map +1 -1
  287. package/out/test/services/Services.test.js.map +1 -1
  288. package/out/test/storage/KnexMigrations.test.js.map +1 -1
  289. package/out/test/storage/StorageMySQLDojoReader.man.test.js +1 -3
  290. package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -1
  291. package/out/test/storage/count.test.js.map +1 -1
  292. package/out/test/storage/find.test.js +5 -10
  293. package/out/test/storage/find.test.js.map +1 -1
  294. package/out/test/storage/findLegacy.test.js.map +1 -1
  295. package/out/test/storage/insert.test.js.map +1 -1
  296. package/out/test/storage/update.test.js +7 -19
  297. package/out/test/storage/update.test.js.map +1 -1
  298. package/out/test/storage/update2.test.js +22 -24
  299. package/out/test/storage/update2.test.js.map +1 -1
  300. package/out/test/utils/TestUtilsWalletStorage.d.ts +3 -1
  301. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  302. package/out/test/utils/TestUtilsWalletStorage.js +52 -76
  303. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  304. package/out/test/wallet/action/abortAction.test.js.map +1 -1
  305. package/out/test/wallet/action/createAction.test.js +1 -2
  306. package/out/test/wallet/action/createAction.test.js.map +1 -1
  307. package/out/test/wallet/action/createAction2.test.d.ts.map +1 -1
  308. package/out/test/wallet/action/createAction2.test.js +6 -16
  309. package/out/test/wallet/action/createAction2.test.js.map +1 -1
  310. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  311. package/out/test/wallet/action/internalizeAction.test.js.map +1 -1
  312. package/out/test/wallet/action/relinquishOutput.test.js.map +1 -1
  313. package/out/test/wallet/list/listActions.test.js.map +1 -1
  314. package/out/test/wallet/list/listActions2.test.js.map +1 -1
  315. package/out/test/wallet/list/listCertificates.test.js +2 -6
  316. package/out/test/wallet/list/listCertificates.test.js.map +1 -1
  317. package/out/test/wallet/list/listOutputs.test.js +2 -10
  318. package/out/test/wallet/list/listOutputs.test.js.map +1 -1
  319. package/out/test/wallet/sync/Wallet.sync.test.js +4 -6
  320. package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -1
  321. package/out/tsconfig.all.tsbuildinfo +1 -1
  322. package/package.json +3 -3
  323. package/src/Setup.ts +15 -52
  324. package/src/Wallet.ts +58 -161
  325. package/src/monitor/Monitor.ts +7 -22
  326. package/src/monitor/MonitorDaemon.ts +6 -23
  327. package/src/monitor/tasks/TaskCheckForProofs.ts +4 -23
  328. package/src/monitor/tasks/TaskClock.ts +1 -3
  329. package/src/monitor/tasks/TaskFailAbandoned.ts +1 -3
  330. package/src/monitor/tasks/TaskNewHeader.ts +1 -4
  331. package/src/monitor/tasks/TaskPurge.ts +1 -2
  332. package/src/monitor/tasks/TaskReviewStatus.ts +1 -3
  333. package/src/monitor/tasks/TaskSendWaiting.ts +3 -10
  334. package/src/sdk/CertOps.ts +31 -103
  335. package/src/sdk/PrivilegedKeyManager.ts +18 -48
  336. package/src/sdk/WERR_errors.ts +6 -25
  337. package/src/sdk/WalletError.ts +5 -21
  338. package/src/sdk/WalletServices.interfaces.ts +11 -33
  339. package/src/sdk/WalletStorage.interfaces.ts +25 -91
  340. package/src/sdk/__test/CertificateLifeCycle.test.ts +9 -27
  341. package/src/sdk/__test/PrivilegedKeyManager.test.ts +29 -66
  342. package/src/sdk/types.ts +6 -26
  343. package/src/sdk/validationHelpers.ts +111 -402
  344. package/src/services/Services.ts +51 -114
  345. package/src/services/__tests/bitrails.test.ts +4 -15
  346. package/src/services/__tests/getMerklePath.test.ts +1 -2
  347. package/src/services/__tests/getRawTx.test.ts +1 -3
  348. package/src/services/__tests/verifyBeef.test.ts +2 -1
  349. package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -13
  350. package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +4 -12
  351. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +9 -27
  352. package/src/services/createDefaultWalletServicesOptions.ts +2 -5
  353. package/src/services/providers/ARC.ts +5 -24
  354. package/src/services/providers/Bitails.ts +61 -159
  355. package/src/services/providers/SdkWhatsOnChain.ts +4 -17
  356. package/src/services/providers/WhatsOnChain.ts +31 -100
  357. package/src/services/providers/__tests/WhatsOnChain.test.ts +5 -15
  358. package/src/services/providers/echangeRates.ts +7 -22
  359. package/src/signer/WalletSigner.ts +1 -5
  360. package/src/signer/methods/acquireDirectCertificate.ts +1 -4
  361. package/src/signer/methods/buildSignableTransaction.ts +5 -20
  362. package/src/signer/methods/createAction.ts +15 -54
  363. package/src/signer/methods/internalizeAction.ts +10 -39
  364. package/src/signer/methods/proveCertificate.ts +2 -5
  365. package/src/signer/methods/signAction.ts +9 -39
  366. package/src/storage/StorageKnex.ts +166 -499
  367. package/src/storage/StorageProvider.ts +75 -291
  368. package/src/storage/StorageReader.ts +20 -65
  369. package/src/storage/StorageReaderWriter.ts +67 -264
  370. package/src/storage/StorageSyncReader.ts +2 -5
  371. package/src/storage/WalletStorageManager.ts +33 -108
  372. package/src/storage/__test/WalletStorageManager.test.ts +6 -23
  373. package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +53 -171
  374. package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +17 -28
  375. package/src/storage/methods/attemptToPostReqsToNetwork.ts +9 -37
  376. package/src/storage/methods/createAction.ts +45 -181
  377. package/src/storage/methods/generateChange.ts +33 -114
  378. package/src/storage/methods/getBeefForTransaction.ts +7 -37
  379. package/src/storage/methods/getSyncChunk.ts +18 -69
  380. package/src/storage/methods/internalizeAction.ts +18 -70
  381. package/src/storage/methods/listActions.ts +6 -23
  382. package/src/storage/methods/listCertificates.ts +5 -14
  383. package/src/storage/methods/listOutputs.ts +14 -68
  384. package/src/storage/methods/processAction.ts +29 -104
  385. package/src/storage/methods/purgeData.ts +11 -45
  386. package/src/storage/methods/reviewStatus.ts +3 -9
  387. package/src/storage/remoting/StorageClient.ts +43 -146
  388. package/src/storage/remoting/StorageServer.ts +21 -59
  389. package/src/storage/schema/KnexMigrations.ts +34 -165
  390. package/src/storage/schema/entities/Certificate.ts +3 -14
  391. package/src/storage/schema/entities/CertificateField.ts +6 -28
  392. package/src/storage/schema/entities/Commission.ts +6 -23
  393. package/src/storage/schema/entities/EntityBase.ts +1 -6
  394. package/src/storage/schema/entities/MergeEntity.ts +14 -21
  395. package/src/storage/schema/entities/Output.ts +10 -39
  396. package/src/storage/schema/entities/OutputBasket.ts +4 -16
  397. package/src/storage/schema/entities/OutputTag.ts +4 -17
  398. package/src/storage/schema/entities/OutputTagMap.ts +7 -30
  399. package/src/storage/schema/entities/ProvenTx.ts +16 -57
  400. package/src/storage/schema/entities/ProvenTxReq.ts +29 -93
  401. package/src/storage/schema/entities/SyncState.ts +64 -116
  402. package/src/storage/schema/entities/Transaction.ts +10 -35
  403. package/src/storage/schema/entities/TxLabel.ts +4 -17
  404. package/src/storage/schema/entities/TxLabelMap.ts +6 -28
  405. package/src/storage/schema/entities/User.ts +8 -31
  406. package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +23 -54
  407. package/src/storage/schema/entities/__tests/CertificateTests.test.ts +26 -59
  408. package/src/storage/schema/entities/__tests/CommissionTests.test.ts +2 -11
  409. package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +2 -10
  410. package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +2 -10
  411. package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +1 -4
  412. package/src/storage/schema/entities/__tests/OutputTests.test.ts +3 -14
  413. package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +4 -16
  414. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +5 -18
  415. package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +5 -26
  416. package/src/storage/schema/entities/__tests/TransactionTests.test.ts +12 -48
  417. package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +4 -22
  418. package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +2 -10
  419. package/src/storage/schema/entities/__tests/stampLogTests.test.ts +3 -10
  420. package/src/storage/schema/entities/__tests/usersTests.test.ts +4 -7
  421. package/src/storage/schema/tables/TableSettings.ts +1 -3
  422. package/src/storage/sync/StorageMySQLDojoReader.ts +47 -148
  423. package/src/utility/ScriptTemplateBRC29.ts +2 -11
  424. package/src/utility/stampLog.ts +2 -6
  425. package/src/utility/tscProofToMerklePath.ts +1 -4
  426. package/src/utility/utilityHelpers.buffer.ts +3 -12
  427. package/src/utility/utilityHelpers.ts +14 -49
  428. package/test/Wallet/StorageClient/storageClient.man.test.ts +2 -8
  429. package/test/Wallet/action/internalizeAction.a.test.ts +8 -23
  430. package/test/Wallet/certificate/acquireCertificate.test.ts +10 -24
  431. package/test/Wallet/certificate/listCertificates.test.ts +8 -18
  432. package/test/Wallet/get/getHeaderForHeight.test.ts +4 -15
  433. package/test/Wallet/get/getHeight.test.ts +2 -6
  434. package/test/Wallet/get/getKnownTxids.test.ts +1 -5
  435. package/test/Wallet/get/getNetwork.test.ts +1 -2
  436. package/test/Wallet/get/getVersion.test.ts +1 -2
  437. package/test/Wallet/live/walletLive.man.test.ts +14 -41
  438. package/test/Wallet/local/localWallet.man.test.ts +26 -99
  439. package/test/Wallet/specOps/specOps.man.test.ts +4 -13
  440. package/test/Wallet/support/janitor.man.test.ts +2 -7
  441. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +11 -34
  442. package/test/Wallet/sync/setActive.test.ts +75 -61
  443. package/test/checkDB.ts +2 -8
  444. package/test/examples/backup.man.test.ts +2 -9
  445. package/test/examples/pushdrop.test.ts +7 -20
  446. package/test/monitor/Monitor.test.ts +33 -87
  447. package/test/services/Services.test.ts +8 -19
  448. package/test/storage/KnexMigrations.test.ts +3 -18
  449. package/test/storage/StorageMySQLDojoReader.man.test.ts +4 -15
  450. package/test/storage/count.test.ts +7 -24
  451. package/test/storage/find.test.ts +7 -29
  452. package/test/storage/findLegacy.test.ts +2 -5
  453. package/test/storage/insert.test.ts +3 -19
  454. package/test/storage/update.test.ts +47 -179
  455. package/test/storage/update2.test.ts +54 -176
  456. package/test/utils/TestUtilsWalletStorage.ts +139 -372
  457. package/test/wallet/action/abortAction.test.ts +4 -12
  458. package/test/wallet/action/createAction.test.ts +4 -14
  459. package/test/wallet/action/createAction2.test.ts +74 -208
  460. package/test/wallet/action/createActionToGenerateBeefs.man.test.ts +8 -11
  461. package/test/wallet/action/internalizeAction.test.ts +20 -72
  462. package/test/wallet/action/relinquishOutput.test.ts +3 -9
  463. package/test/wallet/list/listActions.test.ts +2 -9
  464. package/test/wallet/list/listActions2.test.ts +8 -34
  465. package/test/wallet/list/listCertificates.test.ts +5 -16
  466. package/test/wallet/list/listOutputs.test.ts +15 -54
  467. package/test/wallet/sync/Wallet.sync.test.ts +18 -49
@@ -46,16 +46,12 @@ export interface StorageMySQLDojoReaderOptions extends StorageReaderOptions {
46
46
  knex: Knex
47
47
  }
48
48
 
49
- export class StorageMySQLDojoReader
50
- extends StorageReader
51
- implements sdk.WalletStorageSyncReader
52
- {
49
+ export class StorageMySQLDojoReader extends StorageReader implements sdk.WalletStorageSyncReader {
53
50
  knex: Knex
54
51
 
55
52
  constructor(options: StorageMySQLDojoReaderOptions) {
56
53
  super(options)
57
- if (!options.knex)
58
- throw new sdk.WERR_INVALID_PARAMETER('options.knex', `valid`)
54
+ if (!options.knex) throw new sdk.WERR_INVALID_PARAMETER('options.knex', `valid`)
59
55
  this.knex = options.knex
60
56
  }
61
57
 
@@ -63,10 +59,7 @@ export class StorageMySQLDojoReader
63
59
  await this.knex?.destroy()
64
60
  }
65
61
 
66
- override async transaction<T>(
67
- scope: (trx: sdk.TrxToken) => Promise<T>,
68
- trx?: sdk.TrxToken
69
- ): Promise<T> {
62
+ override async transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T> {
70
63
  if (trx) return await scope(trx)
71
64
 
72
65
  return await this.knex.transaction<T>(async knextrx => {
@@ -94,23 +87,15 @@ export class StorageMySQLDojoReader
94
87
  maxOutputScript: 256
95
88
  }
96
89
  if (r.storageName.startsWith('staging') && this.chain !== 'test')
97
- throw new sdk.WERR_INVALID_PARAMETER(
98
- 'chain',
99
- `in aggreement with storage chain ${r.storageName}`
100
- )
90
+ throw new sdk.WERR_INVALID_PARAMETER('chain', `in aggreement with storage chain ${r.storageName}`)
101
91
  this._settings = r
102
92
  return r
103
93
  }
104
94
 
105
- setupQuery<T extends object>(
106
- table: string,
107
- args: sdk.FindPartialSincePagedArgs<T>
108
- ): Knex.QueryBuilder {
95
+ setupQuery<T extends object>(table: string, args: sdk.FindPartialSincePagedArgs<T>): Knex.QueryBuilder {
109
96
  let q = this.toDb(args.trx)<T>(table)
110
- if (args.partial && Object.keys(args.partial).length > 0)
111
- q.where(args.partial)
112
- if (args.since)
113
- q.where('updated_at', '>=', this.validateDateForWhere(args.since))
97
+ if (args.partial && Object.keys(args.partial).length > 0) q.where(args.partial)
98
+ if (args.since) q.where('updated_at', '>=', this.validateDateForWhere(args.since))
114
99
  if (args.paged) {
115
100
  q.limit(args.paged.limit)
116
101
  q.offset(args.paged.offset || 0)
@@ -121,9 +106,7 @@ export class StorageMySQLDojoReader
121
106
  findOutputBasketsQuery(args: sdk.FindOutputBasketsArgs): Knex.QueryBuilder {
122
107
  return this.setupQuery('output_baskets', args)
123
108
  }
124
- async findOutputBaskets(
125
- args: sdk.FindOutputBasketsArgs
126
- ): Promise<TableOutputBasket[]> {
109
+ async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]> {
127
110
  const q = this.findOutputBasketsQuery(args)
128
111
  const ds = await q
129
112
  const rs: TableOutputBasket[] = []
@@ -165,9 +148,7 @@ export class StorageMySQLDojoReader
165
148
  findOutputTagsQuery(args: sdk.FindOutputTagsArgs): Knex.QueryBuilder {
166
149
  return this.setupQuery('output_tags', args)
167
150
  }
168
- async findOutputTags(
169
- args: sdk.FindOutputTagsArgs
170
- ): Promise<TableOutputTag[]> {
151
+ async findOutputTags(args: sdk.FindOutputTagsArgs): Promise<TableOutputTag[]> {
171
152
  const q = this.findOutputTagsQuery(args)
172
153
  const ds = await q
173
154
  const rs: TableOutputTag[] = []
@@ -184,10 +165,7 @@ export class StorageMySQLDojoReader
184
165
  }
185
166
  return this.validateEntities(rs, undefined, ['isDeleted'])
186
167
  }
187
- findTransactionsQuery(
188
- args: sdk.FindTransactionsArgs,
189
- count?: boolean
190
- ): Knex.QueryBuilder {
168
+ findTransactionsQuery(args: sdk.FindTransactionsArgs, count?: boolean): Knex.QueryBuilder {
191
169
  if (args.partial.rawTx)
192
170
  throw new sdk.WERR_INVALID_PARAMETER(
193
171
  'args.partial.rawTx',
@@ -201,16 +179,12 @@ export class StorageMySQLDojoReader
201
179
  const q = this.setupQuery('transactions', args)
202
180
  if (args.status && args.status.length > 0) q.whereIn('status', args.status)
203
181
  if (args.noRawTx && !count) {
204
- const columns = transactionColumnsWithoutRawTx.map(
205
- c => `transactions.${c}`
206
- )
182
+ const columns = transactionColumnsWithoutRawTx.map(c => `transactions.${c}`)
207
183
  q.select(columns)
208
184
  }
209
185
  return q
210
186
  }
211
- async findTransactions(
212
- args: sdk.FindTransactionsArgs
213
- ): Promise<TableTransaction[]> {
187
+ async findTransactions(args: sdk.FindTransactionsArgs): Promise<TableTransaction[]> {
214
188
  const q = this.findTransactionsQuery(args)
215
189
  const ds = await q
216
190
  const rs: TableTransaction[] = []
@@ -244,9 +218,7 @@ export class StorageMySQLDojoReader
244
218
  )
245
219
  return this.setupQuery('commissions', args)
246
220
  }
247
- async findCommissions(
248
- args: sdk.FindCommissionsArgs
249
- ): Promise<TableCommission[]> {
221
+ async findCommissions(args: sdk.FindCommissionsArgs): Promise<TableCommission[]> {
250
222
  const q = this.findCommissionsQuery(args)
251
223
  const ds = await q
252
224
  const rs: TableCommission[] = []
@@ -270,10 +242,7 @@ export class StorageMySQLDojoReader
270
242
  if (s.length > maxLen) s = s.slice(0, maxLen)
271
243
  return s
272
244
  }
273
- findOutputsQuery(
274
- args: sdk.FindOutputsArgs,
275
- count?: boolean
276
- ): Knex.QueryBuilder {
245
+ findOutputsQuery(args: sdk.FindOutputsArgs, count?: boolean): Knex.QueryBuilder {
277
246
  if (args.partial.lockingScript)
278
247
  throw new sdk.WERR_INVALID_PARAMETER(
279
248
  'args.partial.lockingScript',
@@ -327,14 +296,11 @@ export class StorageMySQLDojoReader
327
296
  }
328
297
  findCertificatesQuery(args: sdk.FindCertificatesArgs): Knex.QueryBuilder {
329
298
  const q = this.setupQuery('certificates', args)
330
- if (args.certifiers && args.certifiers.length > 0)
331
- q.whereIn('certifier', args.certifiers)
299
+ if (args.certifiers && args.certifiers.length > 0) q.whereIn('certifier', args.certifiers)
332
300
  if (args.types && args.types.length > 0) q.whereIn('type', args.types)
333
301
  return q
334
302
  }
335
- async findCertificates(
336
- args: sdk.FindCertificatesArgs
337
- ): Promise<TableCertificateX[]> {
303
+ async findCertificates(args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]> {
338
304
  const q = this.findCertificatesQuery(args)
339
305
  const ds = await q
340
306
  const rs: TableCertificate[] = []
@@ -348,9 +314,7 @@ export class StorageMySQLDojoReader
348
314
  serialNumber: verifyTruthy(d.serialNumber).trim(), // base64
349
315
  certifier: verifyHexString(d.certifier),
350
316
  subject: verifyHexString(d.subject),
351
- revocationOutpoint: verifyTruthy(d.revocationOutpoint)
352
- .trim()
353
- .toLowerCase(),
317
+ revocationOutpoint: verifyTruthy(d.revocationOutpoint).trim().toLowerCase(),
354
318
  signature: verifyHexString(d.signature),
355
319
  verifier: verifyOptionalHexString(d.validationKey),
356
320
  isDeleted: !!d.isDeleted
@@ -359,14 +323,10 @@ export class StorageMySQLDojoReader
359
323
  }
360
324
  return this.validateEntities(rs, undefined, ['isDeleted'])
361
325
  }
362
- findCertificateFieldsQuery(
363
- args: sdk.FindCertificateFieldsArgs
364
- ): Knex.QueryBuilder {
326
+ findCertificateFieldsQuery(args: sdk.FindCertificateFieldsArgs): Knex.QueryBuilder {
365
327
  return this.setupQuery('certificate_fields', args)
366
328
  }
367
- async findCertificateFields(
368
- args: sdk.FindCertificateFieldsArgs
369
- ): Promise<TableCertificateField[]> {
329
+ async findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<TableCertificateField[]> {
370
330
  const q = this.findCertificateFieldsQuery(args)
371
331
  const ds = await q
372
332
  const rs: TableCertificateField[] = []
@@ -384,9 +344,7 @@ export class StorageMySQLDojoReader
384
344
  }
385
345
  return this.validateEntities(rs)
386
346
  }
387
- override async findSyncStates(
388
- args: sdk.FindSyncStatesArgs
389
- ): Promise<TableSyncState[]> {
347
+ override async findSyncStates(args: sdk.FindSyncStatesArgs): Promise<TableSyncState[]> {
390
348
  const q = this.setupQuery('sync_state', args)
391
349
  const ds = await q
392
350
  const rs: TableSyncState[] = []
@@ -430,18 +388,14 @@ export class StorageMySQLDojoReader
430
388
  return this.validateEntities(rs)
431
389
  }
432
390
 
433
- getProvenTxsForUserQuery(
434
- args: sdk.FindForUserSincePagedArgs
435
- ): Knex.QueryBuilder {
391
+ getProvenTxsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder {
436
392
  const k = this.toDb(args.trx)
437
393
  let q = k('proven_txs').where(function () {
438
394
  this.whereExists(
439
395
  k
440
396
  .select('*')
441
397
  .from('transactions')
442
- .whereRaw(
443
- `proven_txs.provenTxId = transactions.provenTxId and transactions.userId = ${args.userId}`
444
- )
398
+ .whereRaw(`proven_txs.provenTxId = transactions.provenTxId and transactions.userId = ${args.userId}`)
445
399
  )
446
400
  })
447
401
  if (args.paged) {
@@ -451,9 +405,7 @@ export class StorageMySQLDojoReader
451
405
  if (args.since) q = q.where('updated_at', '>=', args.since)
452
406
  return q
453
407
  }
454
- async getProvenTxsForUser(
455
- args: sdk.FindForUserSincePagedArgs
456
- ): Promise<TableProvenTx[]> {
408
+ async getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTx[]> {
457
409
  const q = this.getProvenTxsForUserQuery(args)
458
410
  const ds = await q
459
411
  const rs: TableProvenTx[] = []
@@ -482,18 +434,14 @@ export class StorageMySQLDojoReader
482
434
  return this.validateEntities(rs)
483
435
  }
484
436
 
485
- getProvenTxReqsForUserQuery(
486
- args: sdk.FindForUserSincePagedArgs
487
- ): Knex.QueryBuilder {
437
+ getProvenTxReqsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder {
488
438
  const k = this.toDb(args.trx)
489
439
  let q = k('proven_tx_reqs').where(function () {
490
440
  this.whereExists(
491
441
  k
492
442
  .select('*')
493
443
  .from('transactions')
494
- .whereRaw(
495
- `proven_tx_reqs.txid = transactions.txid and transactions.userId = ${args.userId}`
496
- )
444
+ .whereRaw(`proven_tx_reqs.txid = transactions.txid and transactions.userId = ${args.userId}`)
497
445
  )
498
446
  })
499
447
  if (args.paged) {
@@ -504,9 +452,7 @@ export class StorageMySQLDojoReader
504
452
  return q
505
453
  }
506
454
 
507
- async getProvenTxReqsForUser(
508
- args: sdk.FindForUserSincePagedArgs
509
- ): Promise<TableProvenTxReq[]> {
455
+ async getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTxReq[]> {
510
456
  const q = this.getProvenTxReqsForUserQuery(args)
511
457
  const ds = await q
512
458
  const rs: TableProvenTxReq[] = []
@@ -531,20 +477,15 @@ export class StorageMySQLDojoReader
531
477
  return this.validateEntities(rs, undefined, ['notified'])
532
478
  }
533
479
 
534
- getTxLabelMapsForUserQuery(
535
- args: sdk.FindForUserSincePagedArgs
536
- ): Knex.QueryBuilder {
480
+ getTxLabelMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder {
537
481
  const k = this.toDb(args.trx)
538
482
  let q = k('tx_labels_map').whereExists(
539
483
  k
540
484
  .select('*')
541
485
  .from('tx_labels')
542
- .whereRaw(
543
- `tx_labels.txLabelId = tx_labels_map.txLabelId and tx_labels.userId = ${args.userId}`
544
- )
486
+ .whereRaw(`tx_labels.txLabelId = tx_labels_map.txLabelId and tx_labels.userId = ${args.userId}`)
545
487
  )
546
- if (args.since)
547
- q = q.where('updated_at', '>=', this.validateDateForWhere(args.since))
488
+ if (args.since) q = q.where('updated_at', '>=', this.validateDateForWhere(args.since))
548
489
  if (args.paged) {
549
490
  q = q.limit(args.paged.limit)
550
491
  q = q.offset(args.paged.offset || 0)
@@ -552,9 +493,7 @@ export class StorageMySQLDojoReader
552
493
  return q
553
494
  }
554
495
 
555
- async getTxLabelMapsForUser(
556
- args: sdk.FindForUserSincePagedArgs
557
- ): Promise<TableTxLabelMap[]> {
496
+ async getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableTxLabelMap[]> {
558
497
  const q = this.getTxLabelMapsForUserQuery(args)
559
498
  const ds = await q
560
499
  const rs: TableTxLabelMap[] = []
@@ -571,20 +510,15 @@ export class StorageMySQLDojoReader
571
510
  return this.validateEntities(rs, undefined, ['isDeleted'])
572
511
  }
573
512
 
574
- getOutputTagMapsForUserQuery(
575
- args: sdk.FindForUserSincePagedArgs
576
- ): Knex.QueryBuilder {
513
+ getOutputTagMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder {
577
514
  const k = this.toDb(args.trx)
578
515
  let q = k('output_tags_map').whereExists(
579
516
  k
580
517
  .select('*')
581
518
  .from('output_tags')
582
- .whereRaw(
583
- `output_tags.outputTagId = output_tags_map.outputTagId and output_tags.userId = ${args.userId}`
584
- )
519
+ .whereRaw(`output_tags.outputTagId = output_tags_map.outputTagId and output_tags.userId = ${args.userId}`)
585
520
  )
586
- if (args.since)
587
- q = q.where('updated_at', '>=', this.validateDateForWhere(args.since))
521
+ if (args.since) q = q.where('updated_at', '>=', this.validateDateForWhere(args.since))
588
522
  if (args.paged) {
589
523
  q = q.limit(args.paged.limit)
590
524
  q = q.offset(args.paged.offset || 0)
@@ -592,9 +526,7 @@ export class StorageMySQLDojoReader
592
526
  return q
593
527
  }
594
528
 
595
- async getOutputTagMapsForUser(
596
- args: sdk.FindForUserSincePagedArgs
597
- ): Promise<TableOutputTagMap[]> {
529
+ async getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableOutputTagMap[]> {
598
530
  const q = this.getOutputTagMapsForUserQuery(args)
599
531
  const ds = await q
600
532
  const rs: TableOutputTagMap[] = []
@@ -611,9 +543,7 @@ export class StorageMySQLDojoReader
611
543
  return this.validateEntities(rs, undefined, ['isDeleted'])
612
544
  }
613
545
 
614
- override countCertificateFields(
615
- args: sdk.FindCertificateFieldsArgs
616
- ): Promise<number> {
546
+ override countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number> {
617
547
  throw new Error('Method not implemented.')
618
548
  }
619
549
  override countCertificates(args: sdk.FindCertificatesArgs): Promise<number> {
@@ -622,9 +552,7 @@ export class StorageMySQLDojoReader
622
552
  override countCommissions(args: sdk.FindCommissionsArgs): Promise<number> {
623
553
  throw new Error('Method not implemented.')
624
554
  }
625
- override countOutputBaskets(
626
- args: sdk.FindOutputBasketsArgs
627
- ): Promise<number> {
555
+ override countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number> {
628
556
  throw new Error('Method not implemented.')
629
557
  }
630
558
  override countOutputs(args: sdk.FindOutputsArgs): Promise<number> {
@@ -645,14 +573,10 @@ export class StorageMySQLDojoReader
645
573
  override countUsers(args: sdk.FindUsersArgs): Promise<number> {
646
574
  throw new Error('Method not implemented.')
647
575
  }
648
- override findMonitorEvents(
649
- args: sdk.FindMonitorEventsArgs
650
- ): Promise<TableMonitorEvent[]> {
576
+ override findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<TableMonitorEvent[]> {
651
577
  throw new Error('Method not implemented.')
652
578
  }
653
- override countMonitorEvents(
654
- args: sdk.FindMonitorEventsArgs
655
- ): Promise<number> {
579
+ override countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number> {
656
580
  throw new Error('Method not implemented.')
657
581
  }
658
582
 
@@ -660,11 +584,7 @@ export class StorageMySQLDojoReader
660
584
  * Helper to force uniform behavior across database engines.
661
585
  * Use to process all individual records with time stamps retreived from database.
662
586
  */
663
- validateEntity<T extends sdk.EntityTimeStamp>(
664
- entity: T,
665
- dateFields?: string[],
666
- booleanFields?: string[]
667
- ): T {
587
+ validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T {
668
588
  entity.created_at = this.validateDate(entity.created_at)
669
589
  entity.updated_at = this.validateDate(entity.updated_at)
670
590
  if (dateFields) {
@@ -693,11 +613,7 @@ export class StorageMySQLDojoReader
693
613
  * Use to process all arrays of records with time stamps retreived from database.
694
614
  * @returns input `entities` array with contained values validated.
695
615
  */
696
- validateEntities<T extends sdk.EntityTimeStamp>(
697
- entities: T[],
698
- dateFields?: string[],
699
- booleanFields?: string[]
700
- ): T[] {
616
+ validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[] {
701
617
  for (let i = 0; i < entities.length; i++) {
702
618
  entities[i] = this.validateEntity(entities[i], dateFields, booleanFields)
703
619
  }
@@ -706,8 +622,7 @@ export class StorageMySQLDojoReader
706
622
  }
707
623
 
708
624
  function deserializeTscMerkleProofNodes(nodes: Buffer): string[] {
709
- if (!Buffer.isBuffer(nodes))
710
- throw new sdk.WERR_INTERNAL('Buffer or string expected.')
625
+ if (!Buffer.isBuffer(nodes)) throw new sdk.WERR_INTERNAL('Buffer or string expected.')
711
626
  const buffer = nodes
712
627
  const ns: string[] = []
713
628
  for (let offset = 0; offset < buffer.length; ) {
@@ -717,9 +632,7 @@ function deserializeTscMerkleProofNodes(nodes: Buffer): string[] {
717
632
  ns.push(asString(buffer.subarray(offset, offset + 32)))
718
633
  offset += 32
719
634
  } else {
720
- throw new sdk.WERR_BAD_REQUEST(
721
- `node type byte ${flag} is not supported here.`
722
- )
635
+ throw new sdk.WERR_BAD_REQUEST(`node type byte ${flag} is not supported here.`)
723
636
  }
724
637
  }
725
638
  return ns
@@ -739,27 +652,16 @@ type DojoProvenTxReqStatusApi =
739
652
  | 'invalid'
740
653
  | 'doubleSpend'
741
654
 
742
- function convertReqStatus(
743
- status: DojoProvenTxReqStatusApi
744
- ): sdk.ProvenTxReqStatus {
655
+ function convertReqStatus(status: DojoProvenTxReqStatusApi): sdk.ProvenTxReqStatus {
745
656
  return status
746
657
  }
747
658
 
748
- type DojoTransactionStatusApi =
749
- | 'completed'
750
- | 'failed'
751
- | 'unprocessed'
752
- | 'sending'
753
- | 'unproven'
754
- | 'unsigned'
755
- | 'nosend'
659
+ type DojoTransactionStatusApi = 'completed' | 'failed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend'
756
660
 
757
661
  //type TransactionStatus =
758
662
  // 'completed' | 'failed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend'
759
663
 
760
- function convertTxStatus(
761
- status: DojoTransactionStatusApi
762
- ): sdk.TransactionStatus {
664
+ function convertTxStatus(status: DojoTransactionStatusApi): sdk.TransactionStatus {
763
665
  return status
764
666
  }
765
667
 
@@ -769,12 +671,9 @@ function nullToUndefined<T>(v: T): T | undefined {
769
671
  return v
770
672
  }
771
673
 
772
- function verifyOptionalInteger(
773
- v: number | null | undefined
774
- ): number | undefined {
674
+ function verifyOptionalInteger(v: number | null | undefined): number | undefined {
775
675
  if (v === undefined || v === null) return undefined
776
- if (typeof v !== 'number' || !Number.isInteger(v))
777
- throw new sdk.WERR_INTERNAL('An integer is required.')
676
+ if (typeof v !== 'number' || !Number.isInteger(v)) throw new sdk.WERR_INTERNAL('An integer is required.')
778
677
  return v
779
678
  }
780
679
 
@@ -40,10 +40,7 @@ export class ScriptTemplateBRC29 implements ScriptTemplate {
40
40
 
41
41
  getKeyDeriver(privKey: PrivateKey | HexString): KeyDeriverApi {
42
42
  if (typeof privKey === 'string') privKey = PrivateKey.fromHex(privKey)
43
- if (
44
- !this.params.keyDeriver ||
45
- this.params.keyDeriver.rootKey.toHex() !== privKey.toHex()
46
- )
43
+ if (!this.params.keyDeriver || this.params.keyDeriver.rootKey.toHex() !== privKey.toHex())
47
44
  return new KeyDeriver(privKey)
48
45
  return this.params.keyDeriver
49
46
  }
@@ -65,13 +62,7 @@ export class ScriptTemplateBRC29 implements ScriptTemplate {
65
62
  const derivedPrivateKey = this.getKeyDeriver(unlockerPrivKey)
66
63
  .derivePrivateKey(brc29ProtocolID, this.getKeyID(), lockerPubKey)
67
64
  .toHex()
68
- const r = this.p2pkh.unlock(
69
- asBsvSdkPrivateKey(derivedPrivateKey),
70
- 'all',
71
- false,
72
- sourceSatoshis,
73
- lockingScript
74
- )
65
+ const r = this.p2pkh.unlock(asBsvSdkPrivateKey(derivedPrivateKey), 'all', false, sourceSatoshis, lockingScript)
75
66
  return r
76
67
  }
77
68
 
@@ -4,13 +4,9 @@
4
4
  * @param lineToAdd Content to add to line.
5
5
  * @returns undefined or log extended by time stamped `lineToAdd` and new line.
6
6
  */
7
- export function stampLog(
8
- log: string | undefined | { log?: string },
9
- lineToAdd: string
10
- ): string | undefined {
7
+ export function stampLog(log: string | undefined | { log?: string }, lineToAdd: string): string | undefined {
11
8
  const add = `${new Date().toISOString()} ${lineToAdd}\n`
12
- if (typeof log === 'object' && typeof log.log === 'string')
13
- return (log.log = log.log + add)
9
+ if (typeof log === 'object' && typeof log.log === 'string') return (log.log = log.log + add)
14
10
  if (typeof log === 'string') return log + add
15
11
  return undefined
16
12
  }
@@ -6,10 +6,7 @@ export interface TscMerkleProofApi {
6
6
  nodes: string[]
7
7
  }
8
8
 
9
- export function convertProofToMerklePath(
10
- txid: string,
11
- proof: TscMerkleProofApi
12
- ): MerklePath {
9
+ export function convertProofToMerklePath(txid: string, proof: TscMerkleProofApi): MerklePath {
13
10
  const blockHeight = proof.height
14
11
  const treeHeight = proof.nodes.length
15
12
  type Leaf = {
@@ -5,10 +5,7 @@
5
5
  * @returns input val if it is a Buffer or new Buffer from string val
6
6
  * @publicbody
7
7
  */
8
- export function asBuffer(
9
- val: Buffer | string | number[],
10
- encoding?: BufferEncoding
11
- ): Buffer {
8
+ export function asBuffer(val: Buffer | string | number[], encoding?: BufferEncoding): Buffer {
12
9
  let b: Buffer
13
10
  if (Buffer.isBuffer(val)) b = val
14
11
  else if (typeof val === 'string') b = Buffer.from(val, encoding ?? 'hex')
@@ -23,18 +20,12 @@ export function asBuffer(
23
20
  * @returns input val if it is a string; or if number[], first converted to Buffer then as Buffer; if Buffer encoded using `encoding`
24
21
  * @publicbody
25
22
  */
26
- export function asString(
27
- val: Buffer | string | number[],
28
- encoding?: BufferEncoding
29
- ): string {
23
+ export function asString(val: Buffer | string | number[], encoding?: BufferEncoding): string {
30
24
  if (Array.isArray(val)) val = Buffer.from(val)
31
25
  return Buffer.isBuffer(val) ? val.toString(encoding ?? 'hex') : val
32
26
  }
33
27
 
34
- export function asArray(
35
- val: Buffer | string | number[],
36
- encoding?: BufferEncoding
37
- ): number[] {
28
+ export function asArray(val: Buffer | string | number[], encoding?: BufferEncoding): number[] {
38
29
  let a: number[]
39
30
  if (Array.isArray(val)) a = val
40
31
  else if (Buffer.isBuffer(val)) a = Array.from(val)
@@ -1,21 +1,10 @@
1
1
  import { HexString, PubKeyHex, WalletInterface, WalletNetwork } from '@bsv/sdk'
2
- import {
3
- Beef,
4
- Hash,
5
- PrivateKey,
6
- PublicKey,
7
- Random,
8
- Script,
9
- Transaction,
10
- Utils
11
- } from '@bsv/sdk'
2
+ import { Beef, Hash, PrivateKey, PublicKey, Random, Script, Transaction, Utils } from '@bsv/sdk'
12
3
  import { sdk } from '../index.client'
13
4
  import { Chain } from '../sdk/types'
14
5
  import { CertOpsWallet } from '../sdk'
15
6
 
16
- export async function getIdentityKey(
17
- wallet: CertOpsWallet
18
- ): Promise<PubKeyHex> {
7
+ export async function getIdentityKey(wallet: CertOpsWallet): Promise<PubKeyHex> {
19
8
  return (await wallet.getPublicKey({ identityKey: true })).publicKey
20
9
  }
21
10
 
@@ -23,10 +12,7 @@ export function toWalletNetwork(chain: Chain): WalletNetwork {
23
12
  return chain === 'main' ? 'mainnet' : 'testnet'
24
13
  }
25
14
 
26
- export function makeAtomicBeef(
27
- tx: Transaction,
28
- beef: number[] | Beef
29
- ): number[] {
15
+ export function makeAtomicBeef(tx: Transaction, beef: number[] | Beef): number[] {
30
16
  if (Array.isArray(beef)) beef = Beef.fromBinary(beef)
31
17
  beef.mergeTransaction(tx)
32
18
  return beef.toBinaryAtomic(tx.id('hex'))
@@ -37,9 +23,7 @@ export function makeAtomicBeef(
37
23
  * If tx is already a Transaction, just return it.
38
24
  * @publicbody
39
25
  */
40
- export function asBsvSdkTx(
41
- tx: HexString | number[] | Transaction
42
- ): Transaction {
26
+ export function asBsvSdkTx(tx: HexString | number[] | Transaction): Transaction {
43
27
  if (Array.isArray(tx)) {
44
28
  tx = Transaction.fromBinary(tx)
45
29
  } else if (typeof tx === 'string') {
@@ -83,12 +67,8 @@ export function asBsvSdkPublickKey(pubKey: string): PublicKey {
83
67
  *
84
68
  * Verifies that a possibly optional value has a value.
85
69
  */
86
- export function verifyTruthy<T>(
87
- v: T | null | undefined,
88
- description?: string
89
- ): T {
90
- if (!v)
91
- throw new sdk.WERR_INTERNAL(description ?? 'A truthy value is required.')
70
+ export function verifyTruthy<T>(v: T | null | undefined, description?: string): T {
71
+ if (!v) throw new sdk.WERR_INTERNAL(description ?? 'A truthy value is required.')
92
72
  return v
93
73
  }
94
74
 
@@ -98,8 +78,7 @@ export function verifyTruthy<T>(
98
78
  * Verifies that a hex string is trimmed and lower case.
99
79
  */
100
80
  export function verifyHexString(v: string): string {
101
- if (typeof v !== 'string')
102
- throw new sdk.WERR_INTERNAL('A string is required.')
81
+ if (typeof v !== 'string') throw new sdk.WERR_INTERNAL('A string is required.')
103
82
  v = v.trim().toLowerCase()
104
83
  return v
105
84
  }
@@ -120,8 +99,7 @@ export function verifyOptionalHexString(v?: string | null): string | undefined {
120
99
  * Verifies that an optional or null number has a numeric value.
121
100
  */
122
101
  export function verifyNumber(v: number | null | undefined): number {
123
- if (typeof v !== 'number')
124
- throw new sdk.WERR_INTERNAL('A number is required.')
102
+ if (typeof v !== 'number') throw new sdk.WERR_INTERNAL('A number is required.')
125
103
  return v
126
104
  }
127
105
 
@@ -131,8 +109,7 @@ export function verifyNumber(v: number | null | undefined): number {
131
109
  * Verifies that an optional or null number has a numeric value.
132
110
  */
133
111
  export function verifyInteger(v: number | null | undefined): number {
134
- if (typeof v !== 'number' || !Number.isInteger(v))
135
- throw new sdk.WERR_INTERNAL('An integer is required.')
112
+ if (typeof v !== 'number' || !Number.isInteger(v)) throw new sdk.WERR_INTERNAL('An integer is required.')
136
113
  return v
137
114
  }
138
115
 
@@ -143,8 +120,7 @@ export function verifyInteger(v: number | null | undefined): number {
143
120
  */
144
121
  export function verifyId(id: number | undefined | null): number {
145
122
  id = verifyInteger(id)
146
- if (id < 1)
147
- throw new sdk.WERR_INTERNAL(`id must be valid integer greater than zero.`)
123
+ if (id < 1) throw new sdk.WERR_INTERNAL(`id must be valid integer greater than zero.`)
148
124
  return id
149
125
  }
150
126
 
@@ -156,8 +132,7 @@ export function verifyId(id: number | undefined | null): number {
156
132
  * @returns results[0] or undefined if length is zero.
157
133
  */
158
134
  export function verifyOneOrNone<T>(results: T[]): T | undefined {
159
- if (results.length > 1)
160
- throw new sdk.WERR_BAD_REQUEST('Result must be unique.')
135
+ if (results.length > 1) throw new sdk.WERR_BAD_REQUEST('Result must be unique.')
161
136
  return results[0]
162
137
  }
163
138
 
@@ -169,10 +144,7 @@ export function verifyOneOrNone<T>(results: T[]): T | undefined {
169
144
  * @returns results[0].
170
145
  */
171
146
  export function verifyOne<T>(results: T[], errorDescrition?: string): T {
172
- if (results.length !== 1)
173
- throw new sdk.WERR_BAD_REQUEST(
174
- errorDescrition ?? 'Result must exist and be unique.'
175
- )
147
+ if (results.length !== 1) throw new sdk.WERR_BAD_REQUEST(errorDescrition ?? 'Result must exist and be unique.')
176
148
  return results[0]
177
149
  }
178
150
 
@@ -207,15 +179,8 @@ export function randomBytesBase64(count: number): string {
207
179
 
208
180
  export function validateSecondsSinceEpoch(time: number): Date {
209
181
  const date = new Date(time * 1000)
210
- if (
211
- date.getTime() / 1000 !== time ||
212
- time < 1600000000 ||
213
- time > 100000000000
214
- ) {
215
- throw new sdk.WERR_INVALID_PARAMETER(
216
- 'time',
217
- `valid "since epoch" unix time`
218
- )
182
+ if (date.getTime() / 1000 !== time || time < 1600000000 || time > 100000000000) {
183
+ throw new sdk.WERR_INVALID_PARAMETER('time', `valid "since epoch" unix time`)
219
184
  }
220
185
  return date
221
186
  }