@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
@@ -55,10 +55,7 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
55
55
  }
56
56
 
57
57
  getSettings(): TableSettings {
58
- if (!this._settings)
59
- throw new sdk.WERR_INVALID_OPERATION(
60
- 'must call "makeAvailable" before accessing "settings"'
61
- )
58
+ if (!this._settings) throw new sdk.WERR_INVALID_OPERATION('must call "makeAvailable" before accessing "settings"')
62
59
  return this._settings
63
60
  }
64
61
 
@@ -68,44 +65,23 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
68
65
 
69
66
  abstract destroy(): Promise<void>
70
67
 
71
- abstract transaction<T>(
72
- scope: (trx: sdk.TrxToken) => Promise<T>,
73
- trx?: sdk.TrxToken
74
- ): Promise<T>
68
+ abstract transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>
75
69
 
76
70
  abstract readSettings(trx?: sdk.TrxToken): Promise<TableSettings>
77
71
 
78
- abstract findCertificateFields(
79
- args: sdk.FindCertificateFieldsArgs
80
- ): Promise<TableCertificateField[]>
81
- abstract findCertificates(
82
- args: sdk.FindCertificatesArgs
83
- ): Promise<TableCertificateX[]>
84
- abstract findCommissions(
85
- args: sdk.FindCommissionsArgs
86
- ): Promise<TableCommission[]>
87
- abstract findMonitorEvents(
88
- args: sdk.FindMonitorEventsArgs
89
- ): Promise<TableMonitorEvent[]>
90
- abstract findOutputBaskets(
91
- args: sdk.FindOutputBasketsArgs
92
- ): Promise<TableOutputBasket[]>
72
+ abstract findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<TableCertificateField[]>
73
+ abstract findCertificates(args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]>
74
+ abstract findCommissions(args: sdk.FindCommissionsArgs): Promise<TableCommission[]>
75
+ abstract findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<TableMonitorEvent[]>
76
+ abstract findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]>
93
77
  abstract findOutputs(args: sdk.FindOutputsArgs): Promise<TableOutput[]>
94
- abstract findOutputTags(
95
- args: sdk.FindOutputTagsArgs
96
- ): Promise<TableOutputTag[]>
97
- abstract findSyncStates(
98
- args: sdk.FindSyncStatesArgs
99
- ): Promise<TableSyncState[]>
100
- abstract findTransactions(
101
- args: sdk.FindTransactionsArgs
102
- ): Promise<TableTransaction[]>
78
+ abstract findOutputTags(args: sdk.FindOutputTagsArgs): Promise<TableOutputTag[]>
79
+ abstract findSyncStates(args: sdk.FindSyncStatesArgs): Promise<TableSyncState[]>
80
+ abstract findTransactions(args: sdk.FindTransactionsArgs): Promise<TableTransaction[]>
103
81
  abstract findTxLabels(args: sdk.FindTxLabelsArgs): Promise<TableTxLabel[]>
104
82
  abstract findUsers(args: sdk.FindUsersArgs): Promise<TableUser[]>
105
83
 
106
- abstract countCertificateFields(
107
- args: sdk.FindCertificateFieldsArgs
108
- ): Promise<number>
84
+ abstract countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>
109
85
  abstract countCertificates(args: sdk.FindCertificatesArgs): Promise<number>
110
86
  abstract countCommissions(args: sdk.FindCommissionsArgs): Promise<number>
111
87
  abstract countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>
@@ -117,23 +93,13 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
117
93
  abstract countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>
118
94
  abstract countUsers(args: sdk.FindUsersArgs): Promise<number>
119
95
 
120
- abstract getProvenTxsForUser(
121
- args: sdk.FindForUserSincePagedArgs
122
- ): Promise<TableProvenTx[]>
123
- abstract getProvenTxReqsForUser(
124
- args: sdk.FindForUserSincePagedArgs
125
- ): Promise<TableProvenTxReq[]>
126
- abstract getTxLabelMapsForUser(
127
- args: sdk.FindForUserSincePagedArgs
128
- ): Promise<TableTxLabelMap[]>
129
- abstract getOutputTagMapsForUser(
130
- args: sdk.FindForUserSincePagedArgs
131
- ): Promise<TableOutputTagMap[]>
96
+ abstract getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTx[]>
97
+ abstract getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>
98
+ abstract getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>
99
+ abstract getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>
132
100
 
133
101
  async findUserByIdentityKey(key: string): Promise<TableUser | undefined> {
134
- return verifyOneOrNone(
135
- await this.findUsers({ partial: { identityKey: key } })
136
- )
102
+ return verifyOneOrNone(await this.findUsers({ partial: { identityKey: key } }))
137
103
  }
138
104
 
139
105
  async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk> {
@@ -146,10 +112,7 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
146
112
  * @returns
147
113
  */
148
114
  validateEntityDate(date: Date | string | number): Date | string {
149
- if (!this.dbtype)
150
- throw new sdk.WERR_INTERNAL(
151
- 'must call verifyReadyForDatabaseAccess first'
152
- )
115
+ if (!this.dbtype) throw new sdk.WERR_INTERNAL('must call verifyReadyForDatabaseAccess first')
153
116
  let r: Date | string = this.validateDate(date)
154
117
  switch (this.dbtype) {
155
118
  case 'MySQL':
@@ -173,10 +136,7 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
173
136
  date: Date | string | number | null | undefined,
174
137
  useNowAsDefault?: boolean
175
138
  ): Date | string | undefined {
176
- if (!this.dbtype)
177
- throw new sdk.WERR_INTERNAL(
178
- 'must call verifyReadyForDatabaseAccess first'
179
- )
139
+ if (!this.dbtype) throw new sdk.WERR_INTERNAL('must call verifyReadyForDatabaseAccess first')
180
140
  let r: Date | string | undefined = this.validateOptionalDate(date)
181
141
  if (!r && useNowAsDefault) r = new Date()
182
142
  switch (this.dbtype) {
@@ -198,18 +158,13 @@ export abstract class StorageReader implements sdk.WalletStorageSyncReader {
198
158
  return r
199
159
  }
200
160
 
201
- validateOptionalDate(
202
- date: Date | string | number | null | undefined
203
- ): Date | undefined {
161
+ validateOptionalDate(date: Date | string | number | null | undefined): Date | undefined {
204
162
  if (date === null || date === undefined) return undefined
205
163
  return this.validateDate(date)
206
164
  }
207
165
 
208
166
  validateDateForWhere(date: Date | string | number): Date | string | number {
209
- if (!this.dbtype)
210
- throw new sdk.WERR_INTERNAL(
211
- 'must call verifyReadyForDatabaseAccess first'
212
- )
167
+ if (!this.dbtype) throw new sdk.WERR_INTERNAL('must call verifyReadyForDatabaseAccess first')
213
168
  if (typeof date === 'number') date = validateSecondsSinceEpoch(date)
214
169
  const vdate = verifyTruthy(this.validateDate(date))
215
170
  let r: Date | string | number
@@ -30,235 +30,101 @@ export abstract class StorageReaderWriter extends StorageReader {
30
30
  }
31
31
 
32
32
  abstract dropAllData(): Promise<void>
33
- abstract migrate(
34
- storageName: string,
35
- storageIdentityKey: string
36
- ): Promise<string>
33
+ abstract migrate(storageName: string, storageIdentityKey: string): Promise<string>
37
34
 
38
- abstract findOutputTagMaps(
39
- args: sdk.FindOutputTagMapsArgs
40
- ): Promise<TableOutputTagMap[]>
41
- abstract findProvenTxReqs(
42
- args: sdk.FindProvenTxReqsArgs
43
- ): Promise<TableProvenTxReq[]>
35
+ abstract findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>
36
+ abstract findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>
44
37
  abstract findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<TableProvenTx[]>
45
- abstract findTxLabelMaps(
46
- args: sdk.FindTxLabelMapsArgs
47
- ): Promise<TableTxLabelMap[]>
38
+ abstract findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>
48
39
 
49
40
  abstract countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>
50
41
  abstract countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>
51
42
  abstract countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>
52
43
  abstract countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>
53
44
 
54
- abstract insertCertificate(
55
- certificate: TableCertificate,
56
- trx?: sdk.TrxToken
57
- ): Promise<number>
58
- abstract insertCertificateField(
59
- certificateField: TableCertificateField,
60
- trx?: sdk.TrxToken
61
- ): Promise<void>
62
- abstract insertCommission(
63
- commission: TableCommission,
64
- trx?: sdk.TrxToken
65
- ): Promise<number>
66
- abstract insertMonitorEvent(
67
- event: TableMonitorEvent,
68
- trx?: sdk.TrxToken
69
- ): Promise<number>
70
- abstract insertOutput(
71
- output: TableOutput,
72
- trx?: sdk.TrxToken
73
- ): Promise<number>
74
- abstract insertOutputBasket(
75
- basket: TableOutputBasket,
76
- trx?: sdk.TrxToken
77
- ): Promise<number>
78
- abstract insertOutputTag(
79
- tag: TableOutputTag,
80
- trx?: sdk.TrxToken
81
- ): Promise<number>
82
- abstract insertOutputTagMap(
83
- tagMap: TableOutputTagMap,
84
- trx?: sdk.TrxToken
85
- ): Promise<void>
86
- abstract insertProvenTx(
87
- tx: TableProvenTx,
88
- trx?: sdk.TrxToken
89
- ): Promise<number>
90
- abstract insertProvenTxReq(
91
- tx: TableProvenTxReq,
92
- trx?: sdk.TrxToken
93
- ): Promise<number>
94
- abstract insertSyncState(
95
- syncState: TableSyncState,
96
- trx?: sdk.TrxToken
97
- ): Promise<number>
98
- abstract insertTransaction(
99
- tx: TableTransaction,
100
- trx?: sdk.TrxToken
101
- ): Promise<number>
102
- abstract insertTxLabel(
103
- label: TableTxLabel,
104
- trx?: sdk.TrxToken
105
- ): Promise<number>
106
- abstract insertTxLabelMap(
107
- labelMap: TableTxLabelMap,
108
- trx?: sdk.TrxToken
109
- ): Promise<void>
45
+ abstract insertCertificate(certificate: TableCertificate, trx?: sdk.TrxToken): Promise<number>
46
+ abstract insertCertificateField(certificateField: TableCertificateField, trx?: sdk.TrxToken): Promise<void>
47
+ abstract insertCommission(commission: TableCommission, trx?: sdk.TrxToken): Promise<number>
48
+ abstract insertMonitorEvent(event: TableMonitorEvent, trx?: sdk.TrxToken): Promise<number>
49
+ abstract insertOutput(output: TableOutput, trx?: sdk.TrxToken): Promise<number>
50
+ abstract insertOutputBasket(basket: TableOutputBasket, trx?: sdk.TrxToken): Promise<number>
51
+ abstract insertOutputTag(tag: TableOutputTag, trx?: sdk.TrxToken): Promise<number>
52
+ abstract insertOutputTagMap(tagMap: TableOutputTagMap, trx?: sdk.TrxToken): Promise<void>
53
+ abstract insertProvenTx(tx: TableProvenTx, trx?: sdk.TrxToken): Promise<number>
54
+ abstract insertProvenTxReq(tx: TableProvenTxReq, trx?: sdk.TrxToken): Promise<number>
55
+ abstract insertSyncState(syncState: TableSyncState, trx?: sdk.TrxToken): Promise<number>
56
+ abstract insertTransaction(tx: TableTransaction, trx?: sdk.TrxToken): Promise<number>
57
+ abstract insertTxLabel(label: TableTxLabel, trx?: sdk.TrxToken): Promise<number>
58
+ abstract insertTxLabelMap(labelMap: TableTxLabelMap, trx?: sdk.TrxToken): Promise<void>
110
59
  abstract insertUser(user: TableUser, trx?: sdk.TrxToken): Promise<number>
111
60
 
112
- abstract updateCertificate(
113
- id: number,
114
- update: Partial<TableCertificate>,
115
- trx?: sdk.TrxToken
116
- ): Promise<number>
61
+ abstract updateCertificate(id: number, update: Partial<TableCertificate>, trx?: sdk.TrxToken): Promise<number>
117
62
  abstract updateCertificateField(
118
63
  certificateId: number,
119
64
  fieldName: string,
120
65
  update: Partial<TableCertificateField>,
121
66
  trx?: sdk.TrxToken
122
67
  ): Promise<number>
123
- abstract updateCommission(
124
- id: number,
125
- update: Partial<TableCommission>,
126
- trx?: sdk.TrxToken
127
- ): Promise<number>
128
- abstract updateMonitorEvent(
129
- id: number,
130
- update: Partial<TableMonitorEvent>,
131
- trx?: sdk.TrxToken
132
- ): Promise<number>
133
- abstract updateOutput(
134
- id: number,
135
- update: Partial<TableOutput>,
136
- trx?: sdk.TrxToken
137
- ): Promise<number>
138
- abstract updateOutputBasket(
139
- id: number,
140
- update: Partial<TableOutputBasket>,
141
- trx?: sdk.TrxToken
142
- ): Promise<number>
143
- abstract updateOutputTag(
144
- id: number,
145
- update: Partial<TableOutputTag>,
146
- trx?: sdk.TrxToken
147
- ): Promise<number>
68
+ abstract updateCommission(id: number, update: Partial<TableCommission>, trx?: sdk.TrxToken): Promise<number>
69
+ abstract updateMonitorEvent(id: number, update: Partial<TableMonitorEvent>, trx?: sdk.TrxToken): Promise<number>
70
+ abstract updateOutput(id: number, update: Partial<TableOutput>, trx?: sdk.TrxToken): Promise<number>
71
+ abstract updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: sdk.TrxToken): Promise<number>
72
+ abstract updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: sdk.TrxToken): Promise<number>
148
73
  abstract updateOutputTagMap(
149
74
  outputId: number,
150
75
  tagId: number,
151
76
  update: Partial<TableOutputTagMap>,
152
77
  trx?: sdk.TrxToken
153
78
  ): Promise<number>
154
- abstract updateProvenTx(
155
- id: number,
156
- update: Partial<TableProvenTx>,
157
- trx?: sdk.TrxToken
158
- ): Promise<number>
79
+ abstract updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: sdk.TrxToken): Promise<number>
159
80
  abstract updateProvenTxReq(
160
81
  id: number | number[],
161
82
  update: Partial<TableProvenTxReq>,
162
83
  trx?: sdk.TrxToken
163
84
  ): Promise<number>
164
- abstract updateSyncState(
165
- id: number,
166
- update: Partial<TableSyncState>,
167
- trx?: sdk.TrxToken
168
- ): Promise<number>
85
+ abstract updateSyncState(id: number, update: Partial<TableSyncState>, trx?: sdk.TrxToken): Promise<number>
169
86
  abstract updateTransaction(
170
87
  id: number | number[],
171
88
  update: Partial<TableTransaction>,
172
89
  trx?: sdk.TrxToken
173
90
  ): Promise<number>
174
- abstract updateTxLabel(
175
- id: number,
176
- update: Partial<TableTxLabel>,
177
- trx?: sdk.TrxToken
178
- ): Promise<number>
91
+ abstract updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: sdk.TrxToken): Promise<number>
179
92
  abstract updateTxLabelMap(
180
93
  transactionId: number,
181
94
  txLabelId: number,
182
95
  update: Partial<TableTxLabelMap>,
183
96
  trx?: sdk.TrxToken
184
97
  ): Promise<number>
185
- abstract updateUser(
186
- id: number,
187
- update: Partial<TableUser>,
188
- trx?: sdk.TrxToken
189
- ): Promise<number>
98
+ abstract updateUser(id: number, update: Partial<TableUser>, trx?: sdk.TrxToken): Promise<number>
190
99
 
191
- async setActive(
192
- auth: sdk.AuthId,
193
- newActiveStorageIdentityKey: string
194
- ): Promise<number> {
100
+ async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number> {
195
101
  return await this.updateUser(verifyId(auth.userId), {
196
102
  activeStorage: newActiveStorageIdentityKey
197
103
  })
198
104
  }
199
105
 
200
- async findCertificateById(
201
- id: number,
202
- trx?: sdk.TrxToken
203
- ): Promise<TableCertificate | undefined> {
204
- return verifyOneOrNone(
205
- await this.findCertificates({ partial: { certificateId: id }, trx })
206
- )
106
+ async findCertificateById(id: number, trx?: sdk.TrxToken): Promise<TableCertificate | undefined> {
107
+ return verifyOneOrNone(await this.findCertificates({ partial: { certificateId: id }, trx }))
207
108
  }
208
- async findCommissionById(
209
- id: number,
210
- trx?: sdk.TrxToken
211
- ): Promise<TableCommission | undefined> {
212
- return verifyOneOrNone(
213
- await this.findCommissions({ partial: { commissionId: id }, trx })
214
- )
109
+ async findCommissionById(id: number, trx?: sdk.TrxToken): Promise<TableCommission | undefined> {
110
+ return verifyOneOrNone(await this.findCommissions({ partial: { commissionId: id }, trx }))
215
111
  }
216
- async findOutputById(
217
- id: number,
218
- trx?: sdk.TrxToken,
219
- noScript?: boolean
220
- ): Promise<TableOutput | undefined> {
221
- return verifyOneOrNone(
222
- await this.findOutputs({ partial: { outputId: id }, noScript, trx })
223
- )
112
+ async findOutputById(id: number, trx?: sdk.TrxToken, noScript?: boolean): Promise<TableOutput | undefined> {
113
+ return verifyOneOrNone(await this.findOutputs({ partial: { outputId: id }, noScript, trx }))
224
114
  }
225
- async findOutputBasketById(
226
- id: number,
227
- trx?: sdk.TrxToken
228
- ): Promise<TableOutputBasket | undefined> {
229
- return verifyOneOrNone(
230
- await this.findOutputBaskets({ partial: { basketId: id }, trx })
231
- )
115
+ async findOutputBasketById(id: number, trx?: sdk.TrxToken): Promise<TableOutputBasket | undefined> {
116
+ return verifyOneOrNone(await this.findOutputBaskets({ partial: { basketId: id }, trx }))
232
117
  }
233
- async findProvenTxById(
234
- id: number,
235
- trx?: sdk.TrxToken | undefined
236
- ): Promise<TableProvenTx | undefined> {
237
- return verifyOneOrNone(
238
- await this.findProvenTxs({ partial: { provenTxId: id }, trx })
239
- )
118
+ async findProvenTxById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTx | undefined> {
119
+ return verifyOneOrNone(await this.findProvenTxs({ partial: { provenTxId: id }, trx }))
240
120
  }
241
- async findProvenTxReqById(
242
- id: number,
243
- trx?: sdk.TrxToken | undefined
244
- ): Promise<TableProvenTxReq | undefined> {
245
- return verifyOneOrNone(
246
- await this.findProvenTxReqs({ partial: { provenTxReqId: id }, trx })
247
- )
121
+ async findProvenTxReqById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTxReq | undefined> {
122
+ return verifyOneOrNone(await this.findProvenTxReqs({ partial: { provenTxReqId: id }, trx }))
248
123
  }
249
- async findSyncStateById(
250
- id: number,
251
- trx?: sdk.TrxToken
252
- ): Promise<TableSyncState | undefined> {
253
- return verifyOneOrNone(
254
- await this.findSyncStates({ partial: { syncStateId: id }, trx })
255
- )
124
+ async findSyncStateById(id: number, trx?: sdk.TrxToken): Promise<TableSyncState | undefined> {
125
+ return verifyOneOrNone(await this.findSyncStates({ partial: { syncStateId: id }, trx }))
256
126
  }
257
- async findTransactionById(
258
- id: number,
259
- trx?: sdk.TrxToken,
260
- noRawTx?: boolean
261
- ): Promise<TableTransaction | undefined> {
127
+ async findTransactionById(id: number, trx?: sdk.TrxToken, noRawTx?: boolean): Promise<TableTransaction | undefined> {
262
128
  return verifyOneOrNone(
263
129
  await this.findTransactions({
264
130
  partial: { transactionId: id },
@@ -267,42 +133,22 @@ export abstract class StorageReaderWriter extends StorageReader {
267
133
  })
268
134
  )
269
135
  }
270
- async findTxLabelById(
271
- id: number,
272
- trx?: sdk.TrxToken
273
- ): Promise<TableTxLabel | undefined> {
274
- return verifyOneOrNone(
275
- await this.findTxLabels({ partial: { txLabelId: id }, trx })
276
- )
136
+ async findTxLabelById(id: number, trx?: sdk.TrxToken): Promise<TableTxLabel | undefined> {
137
+ return verifyOneOrNone(await this.findTxLabels({ partial: { txLabelId: id }, trx }))
277
138
  }
278
- async findOutputTagById(
279
- id: number,
280
- trx?: sdk.TrxToken
281
- ): Promise<TableOutputTag | undefined> {
282
- return verifyOneOrNone(
283
- await this.findOutputTags({ partial: { outputTagId: id }, trx })
284
- )
139
+ async findOutputTagById(id: number, trx?: sdk.TrxToken): Promise<TableOutputTag | undefined> {
140
+ return verifyOneOrNone(await this.findOutputTags({ partial: { outputTagId: id }, trx }))
285
141
  }
286
- async findUserById(
287
- id: number,
288
- trx?: sdk.TrxToken
289
- ): Promise<TableUser | undefined> {
290
- return verifyOneOrNone(
291
- await this.findUsers({ partial: { userId: id }, trx })
292
- )
142
+ async findUserById(id: number, trx?: sdk.TrxToken): Promise<TableUser | undefined> {
143
+ return verifyOneOrNone(await this.findUsers({ partial: { userId: id }, trx }))
293
144
  }
294
145
 
295
- async findOrInsertUser(
296
- identityKey: string,
297
- trx?: sdk.TrxToken
298
- ): Promise<{ user: TableUser; isNew: boolean }> {
146
+ async findOrInsertUser(identityKey: string, trx?: sdk.TrxToken): Promise<{ user: TableUser; isNew: boolean }> {
299
147
  let user: TableUser | undefined
300
148
  let isNew = false
301
149
  for (let retry = 0; ; retry++) {
302
150
  try {
303
- user = verifyOneOrNone(
304
- await this.findUsers({ partial: { identityKey }, trx })
305
- )
151
+ user = verifyOneOrNone(await this.findUsers({ partial: { identityKey }, trx }))
306
152
  //console.log(`findOrInsertUser oneOrNone: ${JSON.stringify(user || 'none').slice(0,512)}`)
307
153
  if (user) break
308
154
  const now = new Date()
@@ -328,9 +174,7 @@ export abstract class StorageReaderWriter extends StorageReader {
328
174
  })
329
175
  break
330
176
  } catch (eu: unknown) {
331
- console.log(
332
- `findOrInsertUser catch: ${JSON.stringify(eu).slice(0, 512)}`
333
- )
177
+ console.log(`findOrInsertUser catch: ${JSON.stringify(eu).slice(0, 512)}`)
334
178
  if (retry > 0) throw eu
335
179
  }
336
180
  }
@@ -363,18 +207,12 @@ export abstract class StorageReaderWriter extends StorageReader {
363
207
  return { tx, isNew }
364
208
  }
365
209
 
366
- async findOrInsertOutputBasket(
367
- userId: number,
368
- name: string,
369
- trx?: sdk.TrxToken
370
- ): Promise<TableOutputBasket> {
210
+ async findOrInsertOutputBasket(userId: number, name: string, trx?: sdk.TrxToken): Promise<TableOutputBasket> {
371
211
  const partial = { name, userId }
372
212
  for (let retry = 0; ; retry++) {
373
213
  try {
374
214
  const now = new Date()
375
- let basket = verifyOneOrNone(
376
- await this.findOutputBaskets({ partial, trx })
377
- )
215
+ let basket = verifyOneOrNone(await this.findOutputBaskets({ partial, trx }))
378
216
  if (!basket) {
379
217
  basket = {
380
218
  ...partial,
@@ -399,11 +237,7 @@ export abstract class StorageReaderWriter extends StorageReader {
399
237
  }
400
238
  }
401
239
 
402
- async findOrInsertTxLabel(
403
- userId: number,
404
- label: string,
405
- trx?: sdk.TrxToken
406
- ): Promise<TableTxLabel> {
240
+ async findOrInsertTxLabel(userId: number, label: string, trx?: sdk.TrxToken): Promise<TableTxLabel> {
407
241
  const partial = { label, userId }
408
242
  for (let retry = 0; ; retry++) {
409
243
  try {
@@ -431,18 +265,12 @@ export abstract class StorageReaderWriter extends StorageReader {
431
265
  }
432
266
  }
433
267
 
434
- async findOrInsertTxLabelMap(
435
- transactionId: number,
436
- txLabelId: number,
437
- trx?: sdk.TrxToken
438
- ): Promise<TableTxLabelMap> {
268
+ async findOrInsertTxLabelMap(transactionId: number, txLabelId: number, trx?: sdk.TrxToken): Promise<TableTxLabelMap> {
439
269
  const partial = { transactionId, txLabelId }
440
270
  for (let retry = 0; ; retry++) {
441
271
  try {
442
272
  const now = new Date()
443
- let txLabelMap = verifyOneOrNone(
444
- await this.findTxLabelMaps({ partial, trx })
445
- )
273
+ let txLabelMap = verifyOneOrNone(await this.findTxLabelMaps({ partial, trx }))
446
274
  if (!txLabelMap) {
447
275
  txLabelMap = {
448
276
  ...partial,
@@ -464,18 +292,12 @@ export abstract class StorageReaderWriter extends StorageReader {
464
292
  }
465
293
  }
466
294
 
467
- async findOrInsertOutputTag(
468
- userId: number,
469
- tag: string,
470
- trx?: sdk.TrxToken
471
- ): Promise<TableOutputTag> {
295
+ async findOrInsertOutputTag(userId: number, tag: string, trx?: sdk.TrxToken): Promise<TableOutputTag> {
472
296
  const partial = { tag, userId }
473
297
  for (let retry = 0; ; retry++) {
474
298
  try {
475
299
  const now = new Date()
476
- let outputTag = verifyOneOrNone(
477
- await this.findOutputTags({ partial, trx })
478
- )
300
+ let outputTag = verifyOneOrNone(await this.findOutputTags({ partial, trx }))
479
301
  if (!outputTag) {
480
302
  outputTag = {
481
303
  ...partial,
@@ -507,9 +329,7 @@ export abstract class StorageReaderWriter extends StorageReader {
507
329
  for (let retry = 0; ; retry++) {
508
330
  try {
509
331
  const now = new Date()
510
- let outputTagMap = verifyOneOrNone(
511
- await this.findOutputTagMaps({ partial, trx })
512
- )
332
+ let outputTagMap = verifyOneOrNone(await this.findOutputTagMaps({ partial, trx }))
513
333
  if (!outputTagMap) {
514
334
  outputTagMap = {
515
335
  ...partial,
@@ -570,9 +390,7 @@ export abstract class StorageReaderWriter extends StorageReader {
570
390
  let isNew = false
571
391
  for (let retry = 0; ; retry++) {
572
392
  try {
573
- req = verifyOneOrNone(
574
- await this.findProvenTxReqs({ partial: { txid: newReq.txid }, trx })
575
- )
393
+ req = verifyOneOrNone(await this.findProvenTxReqs({ partial: { txid: newReq.txid }, trx }))
576
394
  if (req) break
577
395
  newReq.provenTxReqId = await this.insertProvenTxReq(newReq, trx)
578
396
  isNew = true
@@ -593,9 +411,7 @@ export abstract class StorageReaderWriter extends StorageReader {
593
411
  let isNew = false
594
412
  for (let retry = 0; ; retry++) {
595
413
  try {
596
- proven = verifyOneOrNone(
597
- await this.findProvenTxs({ partial: { txid: newProven.txid }, trx })
598
- )
414
+ proven = verifyOneOrNone(await this.findProvenTxs({ partial: { txid: newProven.txid }, trx }))
599
415
  if (proven) break
600
416
  newProven.provenTxId = await this.insertProvenTx(newProven, trx)
601
417
  isNew = true
@@ -608,26 +424,13 @@ export abstract class StorageReaderWriter extends StorageReader {
608
424
  return { proven, isNew }
609
425
  }
610
426
 
611
- abstract processSyncChunk(
612
- args: sdk.RequestSyncChunkArgs,
613
- chunk: sdk.SyncChunk
614
- ): Promise<sdk.ProcessSyncChunkResult>
427
+ abstract processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>
615
428
 
616
- async tagOutput(
617
- partial: Partial<TableOutput>,
618
- tag: string,
619
- trx?: sdk.TrxToken
620
- ): Promise<void> {
429
+ async tagOutput(partial: Partial<TableOutput>, tag: string, trx?: sdk.TrxToken): Promise<void> {
621
430
  await this.transaction(async trx => {
622
- const o = verifyOne(
623
- await this.findOutputs({ partial, noScript: true, trx })
624
- )
431
+ const o = verifyOne(await this.findOutputs({ partial, noScript: true, trx }))
625
432
  const outputTag = await this.findOrInsertOutputTag(o.userId, tag, trx)
626
- await this.findOrInsertOutputTagMap(
627
- verifyId(o.outputId),
628
- verifyId(outputTag.outputTagId),
629
- trx
630
- )
433
+ await this.findOrInsertOutputTagMap(verifyId(o.outputId), verifyId(outputTag.outputTagId), trx)
631
434
  }, trx)
632
435
  }
633
436
  }
@@ -34,9 +34,7 @@ export class StorageSyncReader implements sdk.WalletStorageSyncReader {
34
34
  async makeAvailable(): Promise<TableSettings> {
35
35
  await this.storage.makeAvailable()
36
36
  if (this.auth.userId === undefined) {
37
- const user = await this.storage.findUserByIdentityKey(
38
- this.auth.identityKey
39
- )
37
+ const user = await this.storage.findUserByIdentityKey(this.auth.identityKey)
40
38
  if (!user) throw new sdk.WERR_UNAUTHORIZED()
41
39
  this.auth.userId = user.userId
42
40
  }
@@ -47,8 +45,7 @@ export class StorageSyncReader implements sdk.WalletStorageSyncReader {
47
45
  }
48
46
  async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk> {
49
47
  if (!this.auth.userId) await this.makeAvailable()
50
- if (args.identityKey !== this.auth.identityKey)
51
- throw new sdk.WERR_UNAUTHORIZED()
48
+ if (args.identityKey !== this.auth.identityKey) throw new sdk.WERR_UNAUTHORIZED()
52
49
  return await this.storage.getSyncChunk(args)
53
50
  }
54
51
  }