@bsv/wallet-toolbox 1.1.60 → 1.1.62

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 (471) 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/ARC.test.js +9 -0
  65. package/out/src/services/__tests/ARC.test.js.map +1 -1
  66. package/out/src/services/__tests/bitrails.test.js.map +1 -1
  67. package/out/src/services/__tests/getMerklePath.test.js.map +1 -1
  68. package/out/src/services/__tests/getRawTx.test.js.map +1 -1
  69. package/out/src/services/__tests/verifyBeef.test.js +2 -1
  70. package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
  71. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
  72. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  73. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -1
  74. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -1
  75. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
  76. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +1 -3
  77. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  78. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  79. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  80. package/out/src/services/providers/ARC.d.ts.map +1 -1
  81. package/out/src/services/providers/ARC.js +2 -3
  82. package/out/src/services/providers/ARC.js.map +1 -1
  83. package/out/src/services/providers/Bitails.d.ts.map +1 -1
  84. package/out/src/services/providers/Bitails.js +62 -134
  85. package/out/src/services/providers/Bitails.js.map +1 -1
  86. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
  87. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  88. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  89. package/out/src/services/providers/WhatsOnChain.js +6 -21
  90. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  91. package/out/src/services/providers/__tests/WhatsOnChain.test.js +1 -2
  92. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
  93. package/out/src/services/providers/echangeRates.d.ts.map +1 -1
  94. package/out/src/services/providers/echangeRates.js.map +1 -1
  95. package/out/src/signer/WalletSigner.d.ts.map +1 -1
  96. package/out/src/signer/WalletSigner.js.map +1 -1
  97. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
  98. package/out/src/signer/methods/acquireDirectCertificate.js +1 -3
  99. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  100. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  101. package/out/src/signer/methods/buildSignableTransaction.js +3 -11
  102. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  103. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  104. package/out/src/signer/methods/createAction.js +3 -10
  105. package/out/src/signer/methods/createAction.js.map +1 -1
  106. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  107. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  108. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  109. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  110. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  111. package/out/src/signer/methods/signAction.js +2 -7
  112. package/out/src/signer/methods/signAction.js.map +1 -1
  113. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  114. package/out/src/storage/StorageKnex.js +15 -44
  115. package/out/src/storage/StorageKnex.js.map +1 -1
  116. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  117. package/out/src/storage/StorageProvider.js +9 -34
  118. package/out/src/storage/StorageProvider.js.map +1 -1
  119. package/out/src/storage/StorageReader.d.ts.map +1 -1
  120. package/out/src/storage/StorageReader.js.map +1 -1
  121. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  122. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  123. package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
  124. package/out/src/storage/StorageSyncReader.js.map +1 -1
  125. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  126. package/out/src/storage/WalletStorageManager.js +5 -10
  127. package/out/src/storage/WalletStorageManager.js.map +1 -1
  128. package/out/src/storage/__test/WalletStorageManager.test.js +2 -8
  129. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
  130. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +10 -30
  131. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -1
  132. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -1
  133. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +17 -28
  134. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -1
  135. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  136. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +6 -20
  137. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  138. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  139. package/out/src/storage/methods/createAction.js +4 -9
  140. package/out/src/storage/methods/createAction.js.map +1 -1
  141. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  142. package/out/src/storage/methods/generateChange.js +7 -18
  143. package/out/src/storage/methods/generateChange.js.map +1 -1
  144. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  145. package/out/src/storage/methods/getBeefForTransaction.js +1 -3
  146. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  147. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
  148. package/out/src/storage/methods/getSyncChunk.js.map +1 -1
  149. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  150. package/out/src/storage/methods/internalizeAction.js +2 -9
  151. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  152. package/out/src/storage/methods/listActions.d.ts.map +1 -1
  153. package/out/src/storage/methods/listActions.js +3 -15
  154. package/out/src/storage/methods/listActions.js.map +1 -1
  155. package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
  156. package/out/src/storage/methods/listCertificates.js.map +1 -1
  157. package/out/src/storage/methods/listOutputs.d.ts.map +1 -1
  158. package/out/src/storage/methods/listOutputs.js +5 -12
  159. package/out/src/storage/methods/listOutputs.js.map +1 -1
  160. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  161. package/out/src/storage/methods/processAction.js +4 -10
  162. package/out/src/storage/methods/processAction.js.map +1 -1
  163. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  164. package/out/src/storage/methods/purgeData.js +8 -32
  165. package/out/src/storage/methods/purgeData.js.map +1 -1
  166. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  167. package/out/src/storage/methods/reviewStatus.js +1 -3
  168. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  169. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  170. package/out/src/storage/remoting/StorageClient.js +15 -41
  171. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  172. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  173. package/out/src/storage/remoting/StorageServer.js +2 -5
  174. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  175. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  176. package/out/src/storage/schema/KnexMigrations.js +24 -130
  177. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  178. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -1
  179. package/out/src/storage/schema/entities/Certificate.js +1 -1
  180. package/out/src/storage/schema/entities/Certificate.js.map +1 -1
  181. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -1
  182. package/out/src/storage/schema/entities/CertificateField.js +2 -5
  183. package/out/src/storage/schema/entities/CertificateField.js.map +1 -1
  184. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -1
  185. package/out/src/storage/schema/entities/Commission.js +2 -5
  186. package/out/src/storage/schema/entities/Commission.js.map +1 -1
  187. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
  188. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  189. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
  190. package/out/src/storage/schema/entities/MergeEntity.js +14 -9
  191. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  192. package/out/src/storage/schema/entities/Output.d.ts.map +1 -1
  193. package/out/src/storage/schema/entities/Output.js +8 -25
  194. package/out/src/storage/schema/entities/Output.js.map +1 -1
  195. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -1
  196. package/out/src/storage/schema/entities/OutputBasket.js +1 -1
  197. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -1
  198. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -1
  199. package/out/src/storage/schema/entities/OutputTag.js +1 -1
  200. package/out/src/storage/schema/entities/OutputTag.js.map +1 -1
  201. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -1
  202. package/out/src/storage/schema/entities/OutputTagMap.js +3 -7
  203. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -1
  204. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -1
  205. package/out/src/storage/schema/entities/ProvenTx.js +10 -20
  206. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -1
  207. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -1
  208. package/out/src/storage/schema/entities/ProvenTxReq.js +8 -18
  209. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -1
  210. package/out/src/storage/schema/entities/SyncState.d.ts +1 -0
  211. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -1
  212. package/out/src/storage/schema/entities/SyncState.js +41 -6
  213. package/out/src/storage/schema/entities/SyncState.js.map +1 -1
  214. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -1
  215. package/out/src/storage/schema/entities/Transaction.js +4 -13
  216. package/out/src/storage/schema/entities/Transaction.js.map +1 -1
  217. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -1
  218. package/out/src/storage/schema/entities/TxLabel.js +1 -1
  219. package/out/src/storage/schema/entities/TxLabel.js.map +1 -1
  220. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -1
  221. package/out/src/storage/schema/entities/TxLabelMap.js +3 -9
  222. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -1
  223. package/out/src/storage/schema/entities/User.d.ts.map +1 -1
  224. package/out/src/storage/schema/entities/User.js +3 -5
  225. package/out/src/storage/schema/entities/User.js.map +1 -1
  226. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -1
  227. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -1
  228. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -1
  229. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -1
  230. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -1
  231. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -1
  232. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -1
  233. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -1
  234. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +1 -2
  235. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  236. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -1
  237. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +2 -2
  238. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -1
  239. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -1
  240. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -1
  241. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -1
  242. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -1
  243. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  244. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
  245. package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -3
  246. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
  247. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  248. package/out/src/utility/ScriptTemplateBRC29.js +1 -2
  249. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  250. package/out/src/utility/stampLog.d.ts.map +1 -1
  251. package/out/src/utility/stampLog.js.map +1 -1
  252. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
  253. package/out/src/utility/tscProofToMerklePath.js.map +1 -1
  254. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
  255. package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
  256. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  257. package/out/src/utility/utilityHelpers.js +1 -3
  258. package/out/src/utility/utilityHelpers.js.map +1 -1
  259. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
  260. package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -1
  261. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -1
  262. package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -1
  263. package/out/test/Wallet/get/getHeaderForHeight.test.js +2 -6
  264. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -1
  265. package/out/test/Wallet/get/getHeight.test.js.map +1 -1
  266. package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -1
  267. package/out/test/Wallet/get/getNetwork.test.js.map +1 -1
  268. package/out/test/Wallet/get/getVersion.test.js.map +1 -1
  269. package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -1
  270. package/out/test/Wallet/live/walletLive.man.test.js +3 -9
  271. package/out/test/Wallet/live/walletLive.man.test.js.map +1 -1
  272. package/out/test/Wallet/local/localWallet.man.test.d.ts.map +1 -1
  273. package/out/test/Wallet/local/localWallet.man.test.js +39 -31
  274. package/out/test/Wallet/local/localWallet.man.test.js.map +1 -1
  275. package/out/test/Wallet/specOps/specOps.man.test.js +1 -4
  276. package/out/test/Wallet/specOps/specOps.man.test.js.map +1 -1
  277. package/out/test/Wallet/support/janitor.man.test.js.map +1 -1
  278. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
  279. package/out/test/Wallet/sync/setActive.test.js +73 -50
  280. package/out/test/Wallet/sync/setActive.test.js.map +1 -1
  281. package/out/test/checkDB.d.ts.map +1 -1
  282. package/out/test/checkDB.js.map +1 -1
  283. package/out/test/examples/backup.man.test.d.ts.map +1 -1
  284. package/out/test/examples/backup.man.test.js.map +1 -1
  285. package/out/test/examples/pushdrop.test.d.ts.map +1 -1
  286. package/out/test/examples/pushdrop.test.js +5 -4
  287. package/out/test/examples/pushdrop.test.js.map +1 -1
  288. package/out/test/monitor/Monitor.test.js.map +1 -1
  289. package/out/test/services/Services.test.js.map +1 -1
  290. package/out/test/storage/KnexMigrations.test.js.map +1 -1
  291. package/out/test/storage/StorageMySQLDojoReader.man.test.js +1 -3
  292. package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -1
  293. package/out/test/storage/count.test.js.map +1 -1
  294. package/out/test/storage/find.test.js +5 -10
  295. package/out/test/storage/find.test.js.map +1 -1
  296. package/out/test/storage/findLegacy.test.js.map +1 -1
  297. package/out/test/storage/insert.test.js.map +1 -1
  298. package/out/test/storage/update.test.js +7 -19
  299. package/out/test/storage/update.test.js.map +1 -1
  300. package/out/test/storage/update2.test.js +22 -24
  301. package/out/test/storage/update2.test.js.map +1 -1
  302. package/out/test/utils/TestUtilsWalletStorage.d.ts +3 -1
  303. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  304. package/out/test/utils/TestUtilsWalletStorage.js +52 -76
  305. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  306. package/out/test/wallet/action/abortAction.test.js.map +1 -1
  307. package/out/test/wallet/action/createAction.test.js +1 -2
  308. package/out/test/wallet/action/createAction.test.js.map +1 -1
  309. package/out/test/wallet/action/createAction2.test.d.ts.map +1 -1
  310. package/out/test/wallet/action/createAction2.test.js +6 -16
  311. package/out/test/wallet/action/createAction2.test.js.map +1 -1
  312. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  313. package/out/test/wallet/action/internalizeAction.test.js.map +1 -1
  314. package/out/test/wallet/action/relinquishOutput.test.js.map +1 -1
  315. package/out/test/wallet/list/listActions.test.js.map +1 -1
  316. package/out/test/wallet/list/listActions2.test.js.map +1 -1
  317. package/out/test/wallet/list/listCertificates.test.js +2 -6
  318. package/out/test/wallet/list/listCertificates.test.js.map +1 -1
  319. package/out/test/wallet/list/listOutputs.test.js +2 -10
  320. package/out/test/wallet/list/listOutputs.test.js.map +1 -1
  321. package/out/test/wallet/sync/Wallet.sync.test.js +4 -6
  322. package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -1
  323. package/out/tsconfig.all.tsbuildinfo +1 -1
  324. package/package.json +3 -3
  325. package/src/Setup.ts +15 -52
  326. package/src/Wallet.ts +58 -161
  327. package/src/monitor/Monitor.ts +7 -22
  328. package/src/monitor/MonitorDaemon.ts +6 -23
  329. package/src/monitor/tasks/TaskCheckForProofs.ts +4 -23
  330. package/src/monitor/tasks/TaskClock.ts +1 -3
  331. package/src/monitor/tasks/TaskFailAbandoned.ts +1 -3
  332. package/src/monitor/tasks/TaskNewHeader.ts +1 -4
  333. package/src/monitor/tasks/TaskPurge.ts +1 -2
  334. package/src/monitor/tasks/TaskReviewStatus.ts +1 -3
  335. package/src/monitor/tasks/TaskSendWaiting.ts +3 -10
  336. package/src/sdk/CertOps.ts +31 -103
  337. package/src/sdk/PrivilegedKeyManager.ts +18 -48
  338. package/src/sdk/WERR_errors.ts +6 -25
  339. package/src/sdk/WalletError.ts +5 -21
  340. package/src/sdk/WalletServices.interfaces.ts +11 -33
  341. package/src/sdk/WalletStorage.interfaces.ts +25 -91
  342. package/src/sdk/__test/CertificateLifeCycle.test.ts +9 -27
  343. package/src/sdk/__test/PrivilegedKeyManager.test.ts +29 -66
  344. package/src/sdk/types.ts +6 -26
  345. package/src/sdk/validationHelpers.ts +111 -402
  346. package/src/services/Services.ts +51 -114
  347. package/src/services/__tests/ARC.test.ts +14 -1
  348. package/src/services/__tests/bitrails.test.ts +4 -15
  349. package/src/services/__tests/getMerklePath.test.ts +1 -2
  350. package/src/services/__tests/getRawTx.test.ts +1 -3
  351. package/src/services/__tests/verifyBeef.test.ts +2 -1
  352. package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -13
  353. package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +4 -12
  354. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +9 -27
  355. package/src/services/createDefaultWalletServicesOptions.ts +2 -5
  356. package/src/services/processingErrors/arcSuccessError.json +76 -0
  357. package/src/services/providers/ARC.ts +6 -25
  358. package/src/services/providers/Bitails.ts +61 -159
  359. package/src/services/providers/SdkWhatsOnChain.ts +4 -17
  360. package/src/services/providers/WhatsOnChain.ts +31 -100
  361. package/src/services/providers/__tests/WhatsOnChain.test.ts +5 -15
  362. package/src/services/providers/echangeRates.ts +7 -22
  363. package/src/signer/WalletSigner.ts +1 -5
  364. package/src/signer/methods/acquireDirectCertificate.ts +1 -4
  365. package/src/signer/methods/buildSignableTransaction.ts +5 -20
  366. package/src/signer/methods/createAction.ts +15 -54
  367. package/src/signer/methods/internalizeAction.ts +10 -39
  368. package/src/signer/methods/proveCertificate.ts +2 -5
  369. package/src/signer/methods/signAction.ts +9 -39
  370. package/src/storage/StorageKnex.ts +166 -499
  371. package/src/storage/StorageProvider.ts +75 -291
  372. package/src/storage/StorageReader.ts +20 -65
  373. package/src/storage/StorageReaderWriter.ts +67 -264
  374. package/src/storage/StorageSyncReader.ts +2 -5
  375. package/src/storage/WalletStorageManager.ts +33 -108
  376. package/src/storage/__test/WalletStorageManager.test.ts +6 -23
  377. package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +53 -171
  378. package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +17 -28
  379. package/src/storage/methods/attemptToPostReqsToNetwork.ts +9 -37
  380. package/src/storage/methods/createAction.ts +45 -181
  381. package/src/storage/methods/generateChange.ts +33 -114
  382. package/src/storage/methods/getBeefForTransaction.ts +7 -37
  383. package/src/storage/methods/getSyncChunk.ts +18 -69
  384. package/src/storage/methods/internalizeAction.ts +18 -70
  385. package/src/storage/methods/listActions.ts +6 -23
  386. package/src/storage/methods/listCertificates.ts +5 -14
  387. package/src/storage/methods/listOutputs.ts +15 -69
  388. package/src/storage/methods/processAction.ts +29 -104
  389. package/src/storage/methods/purgeData.ts +11 -45
  390. package/src/storage/methods/reviewStatus.ts +3 -9
  391. package/src/storage/remoting/StorageClient.ts +43 -146
  392. package/src/storage/remoting/StorageServer.ts +21 -59
  393. package/src/storage/schema/KnexMigrations.ts +34 -165
  394. package/src/storage/schema/entities/Certificate.ts +3 -14
  395. package/src/storage/schema/entities/CertificateField.ts +6 -28
  396. package/src/storage/schema/entities/Commission.ts +6 -23
  397. package/src/storage/schema/entities/EntityBase.ts +1 -6
  398. package/src/storage/schema/entities/MergeEntity.ts +14 -21
  399. package/src/storage/schema/entities/Output.ts +10 -39
  400. package/src/storage/schema/entities/OutputBasket.ts +4 -16
  401. package/src/storage/schema/entities/OutputTag.ts +4 -17
  402. package/src/storage/schema/entities/OutputTagMap.ts +7 -30
  403. package/src/storage/schema/entities/ProvenTx.ts +16 -57
  404. package/src/storage/schema/entities/ProvenTxReq.ts +29 -93
  405. package/src/storage/schema/entities/SyncState.ts +64 -116
  406. package/src/storage/schema/entities/Transaction.ts +10 -35
  407. package/src/storage/schema/entities/TxLabel.ts +4 -17
  408. package/src/storage/schema/entities/TxLabelMap.ts +6 -28
  409. package/src/storage/schema/entities/User.ts +8 -31
  410. package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +23 -54
  411. package/src/storage/schema/entities/__tests/CertificateTests.test.ts +26 -59
  412. package/src/storage/schema/entities/__tests/CommissionTests.test.ts +2 -11
  413. package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +2 -10
  414. package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +2 -10
  415. package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +1 -4
  416. package/src/storage/schema/entities/__tests/OutputTests.test.ts +3 -14
  417. package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +4 -16
  418. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +5 -18
  419. package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +5 -26
  420. package/src/storage/schema/entities/__tests/TransactionTests.test.ts +12 -48
  421. package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +4 -22
  422. package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +2 -10
  423. package/src/storage/schema/entities/__tests/stampLogTests.test.ts +3 -10
  424. package/src/storage/schema/entities/__tests/usersTests.test.ts +4 -7
  425. package/src/storage/schema/tables/TableSettings.ts +1 -3
  426. package/src/storage/sync/StorageMySQLDojoReader.ts +47 -148
  427. package/src/utility/ScriptTemplateBRC29.ts +2 -11
  428. package/src/utility/stampLog.ts +2 -6
  429. package/src/utility/tscProofToMerklePath.ts +1 -4
  430. package/src/utility/utilityHelpers.buffer.ts +3 -12
  431. package/src/utility/utilityHelpers.ts +14 -49
  432. package/test/Wallet/StorageClient/storageClient.man.test.ts +2 -8
  433. package/test/Wallet/action/internalizeAction.a.test.ts +8 -23
  434. package/test/Wallet/certificate/acquireCertificate.test.ts +10 -24
  435. package/test/Wallet/certificate/listCertificates.test.ts +8 -18
  436. package/test/Wallet/get/getHeaderForHeight.test.ts +4 -15
  437. package/test/Wallet/get/getHeight.test.ts +2 -6
  438. package/test/Wallet/get/getKnownTxids.test.ts +1 -5
  439. package/test/Wallet/get/getNetwork.test.ts +1 -2
  440. package/test/Wallet/get/getVersion.test.ts +1 -2
  441. package/test/Wallet/live/walletLive.man.test.ts +14 -41
  442. package/test/Wallet/local/localWallet.man.test.ts +45 -102
  443. package/test/Wallet/specOps/specOps.man.test.ts +4 -13
  444. package/test/Wallet/support/janitor.man.test.ts +2 -7
  445. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +11 -34
  446. package/test/Wallet/sync/setActive.test.ts +75 -61
  447. package/test/checkDB.ts +2 -8
  448. package/test/examples/backup.man.test.ts +2 -9
  449. package/test/examples/pushdrop.test.ts +7 -20
  450. package/test/monitor/Monitor.test.ts +33 -87
  451. package/test/services/Services.test.ts +8 -19
  452. package/test/storage/KnexMigrations.test.ts +3 -18
  453. package/test/storage/StorageMySQLDojoReader.man.test.ts +4 -15
  454. package/test/storage/count.test.ts +7 -24
  455. package/test/storage/find.test.ts +7 -29
  456. package/test/storage/findLegacy.test.ts +2 -5
  457. package/test/storage/insert.test.ts +3 -19
  458. package/test/storage/update.test.ts +47 -179
  459. package/test/storage/update2.test.ts +54 -176
  460. package/test/utils/TestUtilsWalletStorage.ts +139 -372
  461. package/test/wallet/action/abortAction.test.ts +4 -12
  462. package/test/wallet/action/createAction.test.ts +4 -14
  463. package/test/wallet/action/createAction2.test.ts +74 -208
  464. package/test/wallet/action/createActionToGenerateBeefs.man.test.ts +8 -11
  465. package/test/wallet/action/internalizeAction.test.ts +20 -72
  466. package/test/wallet/action/relinquishOutput.test.ts +3 -9
  467. package/test/wallet/list/listActions.test.ts +2 -9
  468. package/test/wallet/list/listActions2.test.ts +8 -34
  469. package/test/wallet/list/listCertificates.test.ts +5 -16
  470. package/test/wallet/list/listOutputs.test.ts +15 -54
  471. package/test/wallet/sync/Wallet.sync.test.ts +18 -49
@@ -1,12 +1,7 @@
1
1
  /* Additional update tests for setting edge cases and exercising contraints (unique/foreign) */
2
2
  /* Requires a new DB for each test */
3
3
  import { _tu, TestSetup1 } from '../utils/TestUtilsWalletStorage'
4
- import {
5
- sdk,
6
- StorageProvider,
7
- StorageKnex,
8
- verifyOne
9
- } from '../../src/index.all'
4
+ import { sdk, StorageProvider, StorageKnex, verifyOne } from '../../src/index.all'
10
5
  import {
11
6
  normalizeDate,
12
7
  setLogging,
@@ -44,12 +39,7 @@ describe('update2 tests', () => {
44
39
  const chain: sdk.Chain = 'test'
45
40
 
46
41
  const createDB = async (databaseName: string): Promise<void> => {
47
- const localSQLiteFile = await _tu.newTmpFile(
48
- `${databaseName}.sqlite`,
49
- false,
50
- false,
51
- true
52
- )
42
+ const localSQLiteFile = await _tu.newTmpFile(`${databaseName}.sqlite`, false, false, true)
53
43
 
54
44
  // Need to pool connections
55
45
  const knexSQLite: Knex = knex({
@@ -132,11 +122,7 @@ describe('update2 tests', () => {
132
122
  merkleRoot: '1234',
133
123
  rawTx: [4, 3, 2, 1]
134
124
  }
135
- await updateTable(
136
- storage.updateProvenTx.bind(storage),
137
- record[primaryKey],
138
- testValues
139
- )
125
+ await updateTable(storage.updateProvenTx.bind(storage), record[primaryKey], testValues)
140
126
  const updatedTx = verifyOne(
141
127
  await storage.findProvenTxs({
142
128
  partial: { [primaryKey]: record[primaryKey] }
@@ -184,9 +170,7 @@ describe('update2 tests', () => {
184
170
  partial: { [primaryKey]: record[primaryKey] }
185
171
  })
186
172
  )
187
- expect(new Date(updatedRow[key]).toISOString()).toBe(
188
- validDate.toISOString()
189
- )
173
+ expect(new Date(updatedRow[key]).toISOString()).toBe(validDate.toISOString())
190
174
  }
191
175
  if (Array.isArray(value)) {
192
176
  const validArray = value.map(v => v + 1)
@@ -254,24 +238,8 @@ describe('update2 tests', () => {
254
238
  partial: { provenTxId: record.provenTxId }
255
239
  })
256
240
  )
257
- expect(
258
- validateUpdateTime(
259
- t.created_at,
260
- updates.created_at,
261
- referenceTime,
262
- 10,
263
- false
264
- )
265
- ).toBe(true)
266
- expect(
267
- validateUpdateTime(
268
- t.updated_at,
269
- updates.updated_at,
270
- referenceTime,
271
- 10,
272
- false
273
- )
274
- ).toBe(true)
241
+ expect(validateUpdateTime(t.created_at, updates.created_at, referenceTime, 10, false)).toBe(true)
242
+ expect(validateUpdateTime(t.updated_at, updates.updated_at, referenceTime, 10, false)).toBe(true)
275
243
  }
276
244
  }
277
245
  }
@@ -297,21 +265,14 @@ describe('update2 tests', () => {
297
265
  expect(r).toBeGreaterThan(0)
298
266
  const insertedRecords = await storage.findProvenTxs({ partial: {} })
299
267
  expect(insertedRecords.length).toBeGreaterThan(0)
300
- const foundRecord = insertedRecords.find(
301
- record => record.provenTxId === 3
302
- )
268
+ const foundRecord = insertedRecords.find(record => record.provenTxId === 3)
303
269
  expect(foundRecord).toBeDefined()
304
270
  expect(foundRecord?.txid).toBe('mockTxid')
305
271
  } catch (error: any) {
306
- console.error(
307
- 'Error inserting initial record:',
308
- (error as Error).message
309
- )
272
+ console.error('Error inserting initial record:', (error as Error).message)
310
273
  return
311
274
  }
312
- await expect(
313
- storage.updateProvenTx(1, { provenTxId: 0 })
314
- ).rejects.toThrow(/FOREIGN KEY constraint failed/)
275
+ await expect(storage.updateProvenTx(1, { provenTxId: 0 })).rejects.toThrow(/FOREIGN KEY constraint failed/)
315
276
  const r1 = await storage.updateProvenTx(3, { provenTxId: 0 })
316
277
  await expect(Promise.resolve(r1)).resolves.toBe(1)
317
278
  const r2 = await storage.findProvenTxs({ partial: {} })
@@ -334,14 +295,16 @@ describe('update2 tests', () => {
334
295
  const primaryKey = 'provenTxReqId'
335
296
  for (const { storage } of setups) {
336
297
  const records = await storage.findProvenTxReqs({ partial: {} })
298
+ let i = -1
337
299
  for (const record of records) {
300
+ i++
338
301
  try {
339
302
  const testValues: TableProvenTxReq = {
340
303
  provenTxReqId: record.provenTxReqId,
341
304
  provenTxId: 1,
342
305
  batch: `batch-001`,
343
306
  status: 'completed',
344
- txid: `mockTxid-${Date.now()}`,
307
+ txid: `mockTxid-${i}`,
345
308
  created_at: new Date('2024-12-30T23:00:00Z'),
346
309
  updated_at: new Date('2024-12-30T23:05:00Z'),
347
310
  attempts: 3,
@@ -351,10 +314,7 @@ describe('update2 tests', () => {
351
314
  notify: JSON.stringify({ email: 'test@example.com', sent: true }),
352
315
  rawTx: [1, 2, 3, 4]
353
316
  }
354
- const r1 = await storage.updateProvenTxReq(
355
- record[primaryKey],
356
- testValues
357
- )
317
+ const r1 = await storage.updateProvenTxReq(record[primaryKey], testValues)
358
318
  expect(r1).toBe(1)
359
319
  const updatedRow = verifyOne(
360
320
  await storage.findProvenTxReqs({
@@ -369,37 +329,22 @@ describe('update2 tests', () => {
369
329
  expect(normalizedActual).toBe(normalizedExpected)
370
330
  continue
371
331
  }
372
- if (
373
- typeof value === 'string' &&
374
- value.startsWith('{') &&
375
- value.endsWith('}')
376
- ) {
332
+ if (typeof value === 'string' && value.startsWith('{') && value.endsWith('}')) {
377
333
  expect(JSON.parse(actualValue)).toStrictEqual(JSON.parse(value))
378
334
  continue
379
335
  }
380
- if (
381
- typeof value === 'string' ||
382
- typeof value === 'number' ||
383
- typeof value === 'boolean'
384
- ) {
336
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
385
337
  expect(actualValue).toBe(value)
386
338
  continue
387
339
  }
388
- if (
389
- typeof actualValue === 'object' &&
390
- actualValue?.type === 'Buffer'
391
- ) {
340
+ if (typeof actualValue === 'object' && actualValue?.type === 'Buffer') {
392
341
  const actualArray = actualValue.data || actualValue
393
342
  const expectedArray =
394
- Buffer.isBuffer(value) || Array.isArray(value)
395
- ? Array.from(value as ArrayLike<number>)
396
- : value
343
+ Buffer.isBuffer(value) || Array.isArray(value) ? Array.from(value as ArrayLike<number>) : value
397
344
  expect(actualArray).toStrictEqual(expectedArray)
398
345
  continue
399
346
  }
400
- expect(
401
- JSON.stringify({ type: 'Buffer', data: actualValue })
402
- ).toStrictEqual(JSON.stringify(value))
347
+ expect(JSON.stringify({ type: 'Buffer', data: actualValue })).toStrictEqual(JSON.stringify(value))
403
348
  }
404
349
  } catch (error: any) {
405
350
  console.error(
@@ -453,12 +398,8 @@ describe('update2 tests', () => {
453
398
  partial: { provenTxReqId: record.provenTxReqId }
454
399
  })
455
400
  )
456
- expect(
457
- validateUpdateTime(t.created_at, updates.created_at, referenceTime)
458
- ).toBe(true)
459
- expect(
460
- validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)
461
- ).toBe(true)
401
+ expect(validateUpdateTime(t.created_at, updates.created_at, referenceTime)).toBe(true)
402
+ expect(validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)).toBe(true)
462
403
  }
463
404
  }
464
405
  }
@@ -501,16 +442,12 @@ describe('update2 tests', () => {
501
442
  const r3 = await storage.updateProvenTxReq(3, { batch: 'updatedBatch' })
502
443
  await expect(Promise.resolve(r3)).resolves.toBe(1)
503
444
  const updatedRecords = await storage.findProvenTxReqs({ partial: {} })
504
- const updatedBatch = updatedRecords.find(
505
- r => r.provenTxReqId === 3
506
- )?.batch
445
+ const updatedBatch = updatedRecords.find(r => r.provenTxReqId === 3)?.batch
507
446
  expect(updatedBatch).toBe('updatedBatch')
508
447
  try {
509
448
  const r4 = await storage.updateProvenTxReq(4, { batch: 'updatedBatch' })
510
449
  if (r4 === 0) {
511
- console.warn(
512
- 'No rows updated. Ensure UNIQUE constraint exists on the batch column if rejection is expected.'
513
- )
450
+ console.warn('No rows updated. Ensure UNIQUE constraint exists on the batch column if rejection is expected.')
514
451
  } else {
515
452
  await expect(Promise.resolve(r4)).resolves.toBe(1)
516
453
  }
@@ -519,13 +456,9 @@ describe('update2 tests', () => {
519
456
  }
520
457
  const r5 = await storage.updateProvenTxReq(3, { txid: 'newValidTxid' })
521
458
  await expect(Promise.resolve(r5)).resolves.toBe(1)
522
- await expect(
523
- storage.updateProvenTxReq(4, { txid: 'newValidTxid' })
524
- ).rejects.toThrow(/UNIQUE constraint failed/)
459
+ await expect(storage.updateProvenTxReq(4, { txid: 'newValidTxid' })).rejects.toThrow(/UNIQUE constraint failed/)
525
460
  const finalRecords = await storage.findProvenTxReqs({ partial: {} })
526
- expect(finalRecords.find(r => r.provenTxReqId === 4)?.txid).toBe(
527
- 'mockTxid2'
528
- )
461
+ expect(finalRecords.find(r => r.provenTxReqId === 4)?.txid).toBe('mockTxid2')
529
462
  await storage.updateProvenTxReq(3, { batch: 'batch', txid: 'mockTxid1' })
530
463
  }
531
464
  })
@@ -544,10 +477,7 @@ describe('update2 tests', () => {
544
477
  updated_at: new Date('2024-12-30T23:05:00Z'),
545
478
  activeStorage: storage.getSettings().storageIdentityKey
546
479
  }
547
- const updateResult = await storage.updateUser(
548
- record[primaryKey],
549
- testValues
550
- )
480
+ const updateResult = await storage.updateUser(record[primaryKey], testValues)
551
481
  expect(updateResult).toBe(1)
552
482
  const updatedRow = verifyOne(
553
483
  await storage.findUsers({
@@ -611,15 +541,9 @@ describe('update2 tests', () => {
611
541
  await storage.updateUser(record.userId, {
612
542
  updated_at: updates.updated_at
613
543
  })
614
- const t = verifyOne(
615
- await storage.findUsers({ partial: { userId: record.userId } })
616
- )
617
- expect(
618
- validateUpdateTime(t.created_at, updates.created_at, referenceTime)
619
- ).toBe(true)
620
- expect(
621
- validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)
622
- ).toBe(true)
544
+ const t = verifyOne(await storage.findUsers({ partial: { userId: record.userId } }))
545
+ expect(validateUpdateTime(t.created_at, updates.created_at, referenceTime)).toBe(true)
546
+ expect(validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)).toBe(true)
623
547
  }
624
548
  }
625
549
  }
@@ -637,32 +561,17 @@ describe('update2 tests', () => {
637
561
  console.error('Error updating second record:', error.message)
638
562
  return
639
563
  }
640
- const r1 = await triggerUniqueConstraintError(
641
- storage,
642
- 'findUsers',
643
- 'updateUser',
644
- 'users',
645
- 'userId',
646
- { userId: 2 }
647
- )
564
+ const r1 = await triggerUniqueConstraintError(storage, 'findUsers', 'updateUser', 'users', 'userId', {
565
+ userId: 2
566
+ })
648
567
  await expect(Promise.resolve(r1)).resolves.toBe(true)
649
- const r2 = await triggerUniqueConstraintError(
650
- storage,
651
- 'findUsers',
652
- 'updateUser',
653
- 'users',
654
- 'userId',
655
- { identityKey: 'mockDupIdentityKey' }
656
- )
568
+ const r2 = await triggerUniqueConstraintError(storage, 'findUsers', 'updateUser', 'users', 'userId', {
569
+ identityKey: 'mockDupIdentityKey'
570
+ })
657
571
  await expect(Promise.resolve(r2)).resolves.toBe(true)
658
- const r3 = await triggerUniqueConstraintError(
659
- storage,
660
- 'findUsers',
661
- 'updateUser',
662
- 'users',
663
- 'userId',
664
- { identityKey: 'mockUniqueIdentityKey' }
665
- )
572
+ const r3 = await triggerUniqueConstraintError(storage, 'findUsers', 'updateUser', 'users', 'userId', {
573
+ identityKey: 'mockUniqueIdentityKey'
574
+ })
666
575
  await expect(Promise.resolve(r3)).resolves.toBe(false)
667
576
  }
668
577
  })
@@ -670,14 +579,9 @@ describe('update2 tests', () => {
670
579
  test('11_update User trigger DB foreign key constraint errors', async () => {
671
580
  await createDB('User11')
672
581
  for (const { storage } of setups) {
673
- const r1 = await triggerForeignKeyConstraintError(
674
- storage,
675
- 'findUsers',
676
- 'updateUser',
677
- 'users',
678
- 'userId',
679
- { userId: 0 }
680
- )
582
+ const r1 = await triggerForeignKeyConstraintError(storage, 'findUsers', 'updateUser', 'users', 'userId', {
583
+ userId: 0
584
+ })
681
585
  await expect(Promise.resolve(r1)).resolves.toBe(true)
682
586
  const r2 = await triggerForeignKeyConstraintError(
683
587
  storage,
@@ -709,12 +613,8 @@ describe('update2 tests', () => {
709
613
  console.error('Error inserting initial record:', error.message)
710
614
  return
711
615
  }
712
- await expect(storage.updateUser(1, { userId: 0 })).rejects.toThrow(
713
- /FOREIGN KEY constraint failed/
714
- )
715
- await expect(storage.updateUser(2, { userId: 0 })).rejects.toThrow(
716
- /FOREIGN KEY constraint failed/
717
- )
616
+ await expect(storage.updateUser(1, { userId: 0 })).rejects.toThrow(/FOREIGN KEY constraint failed/)
617
+ await expect(storage.updateUser(2, { userId: 0 })).rejects.toThrow(/FOREIGN KEY constraint failed/)
718
618
  const r1 = await storage.updateUser(3, { userId: 0 })
719
619
  await expect(Promise.resolve(r1)).resolves.toBe(1)
720
620
  const r2 = await storage.findUsers({ partial: {} })
@@ -733,9 +633,7 @@ describe('update2 tests', () => {
733
633
  expect(r6[0].userId).toBe(1)
734
634
  expect(r6[1].userId).toBe(2)
735
635
  expect(r6[2].userId).toBe(9999)
736
- await expect(storage.updateUser(1, { userId: 9999 })).rejects.toThrow(
737
- /UNIQUE constraint failed/
738
- )
636
+ await expect(storage.updateUser(1, { userId: 9999 })).rejects.toThrow(/UNIQUE constraint failed/)
739
637
  const r7 = await storage.findUsers({ partial: {} })
740
638
  expect(r7[0].userId).toBe(1)
741
639
  expect(r7[1].userId).toBe(2)
@@ -748,9 +646,9 @@ describe('update2 tests', () => {
748
646
  expect(r9[0].identityKey).not.toBe('mockValidIdentityKey')
749
647
  expect(r9[1].identityKey).not.toBe('mockValidIdentityKey')
750
648
  expect(r9[2].identityKey).toBe('mockValidIdentityKey')
751
- await expect(
752
- storage.updateUser(2, { identityKey: 'mockValidIdentityKey' })
753
- ).rejects.toThrow(/UNIQUE constraint failed/)
649
+ await expect(storage.updateUser(2, { identityKey: 'mockValidIdentityKey' })).rejects.toThrow(
650
+ /UNIQUE constraint failed/
651
+ )
754
652
  const r10 = await storage.findUsers({ partial: {} })
755
653
  expect(r10[0].identityKey).not.toBe('mockValidIdentityKey')
756
654
  expect(r10[1].identityKey).not.toBe('mockValidIdentityKey')
@@ -795,10 +693,7 @@ describe('update2 tests', () => {
795
693
  signature: 'mockSignature',
796
694
  subject: 'mockSubject'
797
695
  }
798
- const r1 = await storage.updateCertificate(
799
- record[primaryKey],
800
- testValues
801
- )
696
+ const r1 = await storage.updateCertificate(record[primaryKey], testValues)
802
697
  expect(r1).toBe(1)
803
698
  const updatedRow = verifyOne(
804
699
  await storage.findCertificates({
@@ -813,11 +708,7 @@ describe('update2 tests', () => {
813
708
  expect(normalizedActual).toBe(normalizedExpected)
814
709
  continue
815
710
  }
816
- if (
817
- typeof value === 'string' &&
818
- value.startsWith('{') &&
819
- value.endsWith('}')
820
- ) {
711
+ if (typeof value === 'string' && value.startsWith('{') && value.endsWith('}')) {
821
712
  expect(JSON.parse(actualValue)).toStrictEqual(JSON.parse(value))
822
713
  continue
823
714
  }
@@ -827,9 +718,7 @@ describe('update2 tests', () => {
827
718
  } else if (value === 0) {
828
719
  expect(actualValue).toBe(false)
829
720
  } else {
830
- throw new Error(
831
- `Unexpected value for expectedValue: ${value}. Must be 0 or 1.`
832
- )
721
+ throw new Error(`Unexpected value for expectedValue: ${value}. Must be 0 or 1.`)
833
722
  }
834
723
  continue
835
724
  }
@@ -837,21 +726,14 @@ describe('update2 tests', () => {
837
726
  expect(actualValue).toBe(value)
838
727
  continue
839
728
  }
840
- if (
841
- typeof actualValue === 'object' &&
842
- actualValue?.type === 'Buffer'
843
- ) {
729
+ if (typeof actualValue === 'object' && actualValue?.type === 'Buffer') {
844
730
  const actualArray = actualValue.data || actualValue
845
731
  const expectedArray =
846
- Buffer.isBuffer(value) || Array.isArray(value)
847
- ? Array.from(value as ArrayLike<number>)
848
- : value
732
+ Buffer.isBuffer(value) || Array.isArray(value) ? Array.from(value as ArrayLike<number>) : value
849
733
  expect(actualArray).toStrictEqual(expectedArray)
850
734
  continue
851
735
  }
852
- expect(
853
- JSON.stringify({ type: 'Buffer', data: actualValue })
854
- ).toStrictEqual(JSON.stringify(value))
736
+ expect(JSON.stringify({ type: 'Buffer', data: actualValue })).toStrictEqual(JSON.stringify(value))
855
737
  }
856
738
  } catch (error: any) {
857
739
  console.error(
@@ -905,12 +787,8 @@ describe('update2 tests', () => {
905
787
  partial: { certificateId: record.certificateId }
906
788
  })
907
789
  )
908
- expect(
909
- validateUpdateTime(t.created_at, updates.created_at, referenceTime)
910
- ).toBe(true)
911
- expect(
912
- validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)
913
- ).toBe(true)
790
+ expect(validateUpdateTime(t.created_at, updates.created_at, referenceTime)).toBe(true)
791
+ expect(validateUpdateTime(t.updated_at, updates.updated_at, referenceTime)).toBe(true)
914
792
  }
915
793
  }
916
794
  }