@bsv/wallet-toolbox 1.1.59 → 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 (527) 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.d.ts.map +1 -0
  305. package/out/test/wallet/action/abortAction.test.js.map +1 -0
  306. package/out/test/wallet/action/createAction.test.d.ts.map +1 -0
  307. package/out/test/{Wallet → wallet}/action/createAction.test.js +1 -2
  308. package/out/test/wallet/action/createAction.test.js.map +1 -0
  309. package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts.map +1 -1
  310. package/out/test/{Wallet → wallet}/action/createAction2.test.js +6 -16
  311. package/out/test/wallet/action/createAction2.test.js.map +1 -0
  312. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  313. package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  314. package/out/test/wallet/action/internalizeAction.test.d.ts.map +1 -0
  315. package/out/test/wallet/action/internalizeAction.test.js.map +1 -0
  316. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +1 -0
  317. package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js.map +1 -1
  318. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  319. package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js.map +1 -1
  320. package/out/test/wallet/list/listActions.test.d.ts.map +1 -0
  321. package/out/test/wallet/list/listActions.test.js.map +1 -0
  322. package/out/test/wallet/list/listActions2.test.d.ts.map +1 -0
  323. package/out/test/wallet/list/listActions2.test.js.map +1 -0
  324. package/out/test/wallet/list/listCertificates.test.d.ts.map +1 -0
  325. package/out/test/{Wallet → wallet}/list/listCertificates.test.js +2 -6
  326. package/out/test/wallet/list/listCertificates.test.js.map +1 -0
  327. package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -0
  328. package/out/test/{Wallet → wallet}/list/listOutputs.test.js +2 -10
  329. package/out/test/wallet/list/listOutputs.test.js.map +1 -0
  330. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  331. package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.js +4 -6
  332. package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -0
  333. package/out/tsconfig.all.tsbuildinfo +1 -1
  334. package/package.json +3 -3
  335. package/src/Setup.ts +15 -52
  336. package/src/Wallet.ts +58 -161
  337. package/src/monitor/Monitor.ts +7 -22
  338. package/src/monitor/MonitorDaemon.ts +6 -23
  339. package/src/monitor/tasks/TaskCheckForProofs.ts +4 -23
  340. package/src/monitor/tasks/TaskClock.ts +1 -3
  341. package/src/monitor/tasks/TaskFailAbandoned.ts +1 -3
  342. package/src/monitor/tasks/TaskNewHeader.ts +1 -4
  343. package/src/monitor/tasks/TaskPurge.ts +1 -2
  344. package/src/monitor/tasks/TaskReviewStatus.ts +1 -3
  345. package/src/monitor/tasks/TaskSendWaiting.ts +3 -10
  346. package/src/sdk/CertOps.ts +31 -103
  347. package/src/sdk/PrivilegedKeyManager.ts +18 -48
  348. package/src/sdk/WERR_errors.ts +6 -25
  349. package/src/sdk/WalletError.ts +5 -21
  350. package/src/sdk/WalletServices.interfaces.ts +11 -33
  351. package/src/sdk/WalletStorage.interfaces.ts +25 -91
  352. package/src/sdk/__test/CertificateLifeCycle.test.ts +9 -27
  353. package/src/sdk/__test/PrivilegedKeyManager.test.ts +29 -66
  354. package/src/sdk/types.ts +6 -26
  355. package/src/sdk/validationHelpers.ts +111 -402
  356. package/src/services/Services.ts +51 -114
  357. package/src/services/__tests/bitrails.test.ts +4 -15
  358. package/src/services/__tests/getMerklePath.test.ts +1 -2
  359. package/src/services/__tests/getRawTx.test.ts +1 -3
  360. package/src/services/__tests/verifyBeef.test.ts +2 -1
  361. package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -13
  362. package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +4 -12
  363. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +9 -27
  364. package/src/services/createDefaultWalletServicesOptions.ts +2 -5
  365. package/src/services/providers/ARC.ts +5 -24
  366. package/src/services/providers/Bitails.ts +61 -159
  367. package/src/services/providers/SdkWhatsOnChain.ts +4 -17
  368. package/src/services/providers/WhatsOnChain.ts +31 -100
  369. package/src/services/providers/__tests/WhatsOnChain.test.ts +5 -15
  370. package/src/services/providers/echangeRates.ts +7 -22
  371. package/src/signer/WalletSigner.ts +1 -5
  372. package/src/signer/methods/acquireDirectCertificate.ts +1 -4
  373. package/src/signer/methods/buildSignableTransaction.ts +5 -20
  374. package/src/signer/methods/createAction.ts +15 -54
  375. package/src/signer/methods/internalizeAction.ts +10 -39
  376. package/src/signer/methods/proveCertificate.ts +2 -5
  377. package/src/signer/methods/signAction.ts +9 -39
  378. package/src/storage/StorageKnex.ts +166 -499
  379. package/src/storage/StorageProvider.ts +75 -291
  380. package/src/storage/StorageReader.ts +20 -65
  381. package/src/storage/StorageReaderWriter.ts +67 -264
  382. package/src/storage/StorageSyncReader.ts +2 -5
  383. package/src/storage/WalletStorageManager.ts +33 -108
  384. package/src/storage/__test/WalletStorageManager.test.ts +6 -23
  385. package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +53 -171
  386. package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +17 -28
  387. package/src/storage/methods/attemptToPostReqsToNetwork.ts +9 -37
  388. package/src/storage/methods/createAction.ts +45 -181
  389. package/src/storage/methods/generateChange.ts +33 -114
  390. package/src/storage/methods/getBeefForTransaction.ts +7 -37
  391. package/src/storage/methods/getSyncChunk.ts +18 -69
  392. package/src/storage/methods/internalizeAction.ts +18 -70
  393. package/src/storage/methods/listActions.ts +6 -23
  394. package/src/storage/methods/listCertificates.ts +5 -14
  395. package/src/storage/methods/listOutputs.ts +14 -68
  396. package/src/storage/methods/processAction.ts +29 -104
  397. package/src/storage/methods/purgeData.ts +11 -45
  398. package/src/storage/methods/reviewStatus.ts +3 -9
  399. package/src/storage/remoting/StorageClient.ts +43 -146
  400. package/src/storage/remoting/StorageServer.ts +21 -59
  401. package/src/storage/schema/KnexMigrations.ts +34 -165
  402. package/src/storage/schema/entities/Certificate.ts +3 -14
  403. package/src/storage/schema/entities/CertificateField.ts +6 -28
  404. package/src/storage/schema/entities/Commission.ts +6 -23
  405. package/src/storage/schema/entities/EntityBase.ts +1 -6
  406. package/src/storage/schema/entities/MergeEntity.ts +14 -21
  407. package/src/storage/schema/entities/Output.ts +10 -39
  408. package/src/storage/schema/entities/OutputBasket.ts +4 -16
  409. package/src/storage/schema/entities/OutputTag.ts +4 -17
  410. package/src/storage/schema/entities/OutputTagMap.ts +7 -30
  411. package/src/storage/schema/entities/ProvenTx.ts +16 -57
  412. package/src/storage/schema/entities/ProvenTxReq.ts +29 -93
  413. package/src/storage/schema/entities/SyncState.ts +64 -116
  414. package/src/storage/schema/entities/Transaction.ts +10 -35
  415. package/src/storage/schema/entities/TxLabel.ts +4 -17
  416. package/src/storage/schema/entities/TxLabelMap.ts +6 -28
  417. package/src/storage/schema/entities/User.ts +8 -31
  418. package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +23 -54
  419. package/src/storage/schema/entities/__tests/CertificateTests.test.ts +26 -59
  420. package/src/storage/schema/entities/__tests/CommissionTests.test.ts +2 -11
  421. package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +2 -10
  422. package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +2 -10
  423. package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +1 -4
  424. package/src/storage/schema/entities/__tests/OutputTests.test.ts +3 -14
  425. package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +4 -16
  426. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +5 -18
  427. package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +5 -26
  428. package/src/storage/schema/entities/__tests/TransactionTests.test.ts +12 -48
  429. package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +4 -22
  430. package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +2 -10
  431. package/src/storage/schema/entities/__tests/stampLogTests.test.ts +3 -10
  432. package/src/storage/schema/entities/__tests/usersTests.test.ts +4 -7
  433. package/src/storage/schema/tables/TableSettings.ts +1 -3
  434. package/src/storage/sync/StorageMySQLDojoReader.ts +47 -148
  435. package/src/utility/ScriptTemplateBRC29.ts +2 -11
  436. package/src/utility/stampLog.ts +2 -6
  437. package/src/utility/tscProofToMerklePath.ts +1 -4
  438. package/src/utility/utilityHelpers.buffer.ts +3 -12
  439. package/src/utility/utilityHelpers.ts +14 -49
  440. package/test/Wallet/StorageClient/storageClient.man.test.ts +2 -8
  441. package/test/Wallet/action/internalizeAction.a.test.ts +8 -23
  442. package/test/Wallet/certificate/acquireCertificate.test.ts +10 -24
  443. package/test/Wallet/certificate/listCertificates.test.ts +8 -18
  444. package/test/Wallet/get/getHeaderForHeight.test.ts +4 -15
  445. package/test/Wallet/get/getHeight.test.ts +2 -6
  446. package/test/Wallet/get/getKnownTxids.test.ts +1 -5
  447. package/test/Wallet/get/getNetwork.test.ts +1 -2
  448. package/test/Wallet/get/getVersion.test.ts +1 -2
  449. package/test/Wallet/live/walletLive.man.test.ts +14 -41
  450. package/test/Wallet/local/localWallet.man.test.ts +26 -99
  451. package/test/Wallet/specOps/specOps.man.test.ts +4 -13
  452. package/test/Wallet/support/janitor.man.test.ts +2 -7
  453. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +11 -34
  454. package/test/Wallet/sync/setActive.test.ts +75 -61
  455. package/test/checkDB.ts +2 -8
  456. package/test/examples/backup.man.test.ts +2 -9
  457. package/test/examples/pushdrop.test.ts +7 -20
  458. package/test/monitor/Monitor.test.ts +33 -87
  459. package/test/services/Services.test.ts +8 -19
  460. package/test/storage/KnexMigrations.test.ts +3 -18
  461. package/test/storage/StorageMySQLDojoReader.man.test.ts +4 -15
  462. package/test/storage/count.test.ts +7 -24
  463. package/test/storage/find.test.ts +7 -29
  464. package/test/storage/findLegacy.test.ts +2 -5
  465. package/test/storage/insert.test.ts +3 -19
  466. package/test/storage/update.test.ts +47 -179
  467. package/test/storage/update2.test.ts +54 -176
  468. package/test/utils/TestUtilsWalletStorage.ts +139 -372
  469. package/test/{Wallet → wallet}/action/abortAction.test.ts +4 -12
  470. package/test/{Wallet → wallet}/action/createAction.test.ts +4 -14
  471. package/test/{Wallet → wallet}/action/createAction2.test.ts +74 -208
  472. package/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.ts +8 -11
  473. package/test/{Wallet → wallet}/action/internalizeAction.test.ts +20 -72
  474. package/test/{Wallet → wallet}/action/relinquishOutput.test.ts +3 -9
  475. package/test/{Wallet → wallet}/list/listActions.test.ts +2 -9
  476. package/test/{Wallet → wallet}/list/listActions2.test.ts +8 -34
  477. package/test/{Wallet → wallet}/list/listCertificates.test.ts +5 -16
  478. package/test/{Wallet → wallet}/list/listOutputs.test.ts +15 -54
  479. package/test/{Wallet → wallet}/sync/Wallet.sync.test.ts +18 -49
  480. package/out/src/sdk/StorageSyncReader.d.ts +0 -121
  481. package/out/src/sdk/StorageSyncReader.d.ts.map +0 -1
  482. package/out/src/sdk/StorageSyncReader.js +0 -3
  483. package/out/src/sdk/StorageSyncReader.js.map +0 -1
  484. package/out/src/sdk/StorageSyncReaderWriter.d.ts +0 -89
  485. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +0 -1
  486. package/out/src/sdk/StorageSyncReaderWriter.js +0 -3
  487. package/out/src/sdk/StorageSyncReaderWriter.js.map +0 -1
  488. package/out/test/Wallet/action/abortAction.test.d.ts.map +0 -1
  489. package/out/test/Wallet/action/abortAction.test.js.map +0 -1
  490. package/out/test/Wallet/action/createAction.test.d.ts.map +0 -1
  491. package/out/test/Wallet/action/createAction.test.js.map +0 -1
  492. package/out/test/Wallet/action/createAction2.test.js.map +0 -1
  493. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
  494. package/out/test/Wallet/action/internalizeAction.test.d.ts.map +0 -1
  495. package/out/test/Wallet/action/internalizeAction.test.js.map +0 -1
  496. package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +0 -1
  497. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
  498. package/out/test/Wallet/list/listActions.test.d.ts.map +0 -1
  499. package/out/test/Wallet/list/listActions.test.js.map +0 -1
  500. package/out/test/Wallet/list/listActions2.test.d.ts.map +0 -1
  501. package/out/test/Wallet/list/listActions2.test.js.map +0 -1
  502. package/out/test/Wallet/list/listCertificates.test.d.ts.map +0 -1
  503. package/out/test/Wallet/list/listCertificates.test.js.map +0 -1
  504. package/out/test/Wallet/list/listOutputs.test.d.ts.map +0 -1
  505. package/out/test/Wallet/list/listOutputs.test.js.map +0 -1
  506. package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +0 -1
  507. package/out/test/Wallet/sync/Wallet.sync.test.js.map +0 -1
  508. /package/out/test/{Wallet → wallet}/action/abortAction.test.d.ts +0 -0
  509. /package/out/test/{Wallet → wallet}/action/abortAction.test.js +0 -0
  510. /package/out/test/{Wallet → wallet}/action/createAction.test.d.ts +0 -0
  511. /package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts +0 -0
  512. /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
  513. /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
  514. /package/out/test/{Wallet → wallet}/action/internalizeAction.test.d.ts +0 -0
  515. /package/out/test/{Wallet → wallet}/action/internalizeAction.test.js +0 -0
  516. /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.d.ts +0 -0
  517. /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js +0 -0
  518. /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.d.ts +0 -0
  519. /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js +0 -0
  520. /package/out/test/{Wallet → wallet}/list/listActions.test.d.ts +0 -0
  521. /package/out/test/{Wallet → wallet}/list/listActions.test.js +0 -0
  522. /package/out/test/{Wallet → wallet}/list/listActions2.test.d.ts +0 -0
  523. /package/out/test/{Wallet → wallet}/list/listActions2.test.js +0 -0
  524. /package/out/test/{Wallet → wallet}/list/listCertificates.test.d.ts +0 -0
  525. /package/out/test/{Wallet → wallet}/list/listOutputs.test.d.ts +0 -0
  526. /package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.d.ts +0 -0
  527. /package/test/{Wallet → wallet}/construct/Wallet.constructor.test.ts +0 -0
@@ -27,10 +27,7 @@ import {
27
27
  } from '../../../src'
28
28
  import { _tu, TestWalletNoSetup } from '../../utils/TestUtilsWalletStorage'
29
29
  import { monitorEventLoopDelay } from 'perf_hooks'
30
- import {
31
- validateCreateActionArgs,
32
- ValidCreateActionArgs
33
- } from '../../../src/sdk'
30
+ import { validateCreateActionArgs, ValidCreateActionArgs } from '../../../src/sdk'
34
31
 
35
32
  describe('localWallet tests', () => {
36
33
  jest.setTimeout(99999999)
@@ -39,140 +36,90 @@ describe('localWallet tests', () => {
39
36
  if (_tu.noTestEnv('test')) return
40
37
  if (_tu.noTestEnv('main')) return
41
38
 
42
- test('0 create 1 sat delayed', async () => {
39
+ test('0 monitor runOnce', async () => {
43
40
  const setup = await createSetup('test')
44
-
45
- const car = await createOneSatTestOutput(setup, {}, 1)
46
-
47
- //await trackReqByTxid(setup, car.txid!)
48
-
41
+ await setup.monitor.runOnce()
49
42
  await setup.wallet.destroy()
50
43
  })
51
44
 
52
- test('0a create 1 sat immediate', async () => {
45
+ test('1 recover 1 sat outputs', async () => {
53
46
  const setup = await createSetup('test')
54
-
55
- const car = await createOneSatTestOutput(
56
- setup,
57
- { acceptDelayedBroadcast: false },
58
- 1
59
- )
60
-
61
- await trackReqByTxid(setup, car.txid!)
62
-
47
+ await recoverOneSatTestOutputs(setup)
63
48
  await setup.wallet.destroy()
64
49
  })
65
50
 
66
- test('0b create 2 nosend and sendWith', async () => {
51
+ test('2 create 1 sat delayed', async () => {
67
52
  const setup = await createSetup('test')
68
-
69
- const car = await createOneSatTestOutput(setup, { noSend: true }, 2)
70
-
53
+ const car = await createOneSatTestOutput(setup, {}, 1)
71
54
  //await trackReqByTxid(setup, car.txid!)
72
-
73
55
  await setup.wallet.destroy()
74
56
  })
75
57
 
76
- test('1 recover 1 sat outputs', async () => {
58
+ test('2a create 1 sat immediate', async () => {
77
59
  const setup = await createSetup('test')
78
-
79
- await recoverOneSatTestOutputs(setup)
80
-
60
+ const car = await createOneSatTestOutput(setup, { acceptDelayedBroadcast: false }, 1)
61
+ // await trackReqByTxid(setup, car.txid!)
81
62
  await setup.wallet.destroy()
82
63
  })
83
64
 
84
- test('2 monitor runOnce', async () => {
65
+ test('2b create 2 nosend and sendWith', async () => {
85
66
  const setup = await createSetup('test')
86
-
87
- await setup.monitor.runOnce()
88
-
67
+ const car = await createOneSatTestOutput(setup, { noSend: true }, 2)
68
+ //await trackReqByTxid(setup, car.txid!)
89
69
  await setup.wallet.destroy()
90
70
  })
91
71
 
92
72
  test('3 return active to cloud client', async () => {
93
73
  const setup = await createSetup('test')
94
-
95
74
  const localBalance = await setup.wallet.balance()
96
-
97
75
  const log = await setup.storage.setActive(setup.clientStorageIdentityKey!)
98
76
  console.log(log)
99
-
100
77
  console.log(`ACTIVE STORAGE: ${setup.storage.getActiveStoreName()}`)
101
-
102
78
  const clientBalance = await setup.wallet.balance()
103
-
104
79
  expect(localBalance.total).toBe(clientBalance.total)
105
-
106
80
  await setup.wallet.destroy()
107
81
  })
108
82
 
109
83
  test('4 review change utxos', async () => {
110
84
  const setup = await createSetup('test')
111
-
112
85
  const storage = setup.activeStorage
113
86
  const services = setup.services
114
-
115
- const { invalidSpendableOutputs: notUtxos } = await confirmSpendableOutputs(
116
- storage,
117
- services
118
- )
119
- const outputsToUpdate = notUtxos.map(o => ({
120
- id: o.outputId,
121
- satoshis: o.satoshis
122
- }))
123
-
87
+ const { invalidSpendableOutputs: notUtxos } = await confirmSpendableOutputs(storage, services)
88
+ const outputsToUpdate = notUtxos.map(o => ({ id: o.outputId, satoshis: o.satoshis }))
124
89
  const total: number = outputsToUpdate.reduce((t, o) => t + o.satoshis, 0)
125
-
126
90
  debugger
127
91
  // *** About set spendable = false for outputs ***/
128
92
  for (const o of outputsToUpdate) {
129
93
  await storage.updateOutput(o.id, { spendable: false })
130
94
  }
131
-
132
95
  await setup.wallet.destroy()
133
96
  })
134
97
 
135
98
  test('5 review synchunk', async () => {
136
99
  const setup = await createSetup('test')
137
-
138
100
  const identityKey = setup.identityKey
139
101
  const reader = setup.activeStorage
140
102
  const readerSettings = reader.getSettings()
141
103
  const writer = setup.storage._backups![0].storage
142
104
  const writerSettings = writer.getSettings()
143
-
144
- const ss = await EntitySyncState.fromStorage(
145
- writer,
146
- identityKey,
147
- readerSettings
148
- )
149
-
150
- const args = ss.makeRequestSyncChunkArgs(
151
- identityKey,
152
- writerSettings.storageIdentityKey
153
- )
154
-
105
+ const ss = await EntitySyncState.fromStorage(writer, identityKey, readerSettings)
106
+ const args = ss.makeRequestSyncChunkArgs(identityKey, writerSettings.storageIdentityKey)
155
107
  const chunk = await reader.getSyncChunk(args)
156
-
157
108
  await setup.wallet.destroy()
158
109
  })
159
110
 
160
111
  test('6 backup', async () => {
161
112
  const setup = await createSetup('test')
162
-
163
113
  const log = await setup.storage.updateBackups()
164
114
  console.log(log)
165
-
166
115
  await setup.wallet.destroy()
167
116
  })
168
117
  })
169
118
 
170
119
  async function createSetup(chain: sdk.Chain): Promise<TestWalletNoSetup> {
171
120
  const env = _tu.getEnv(chain)
172
- if (!env.testIdentityKey)
173
- throw new sdk.WERR_INVALID_PARAMETER('env.testIdentityKey', 'valid')
174
- if (!env.testFilePath)
175
- throw new sdk.WERR_INVALID_PARAMETER('env.testFilePath', 'valid')
121
+ if (!env.testIdentityKey) throw new sdk.WERR_INVALID_PARAMETER('env.testIdentityKey', 'valid')
122
+ if (!env.testFilePath) throw new sdk.WERR_INVALID_PARAMETER('env.testFilePath', 'valid')
176
123
 
177
124
  const setup = await _tu.createTestWallet({
178
125
  chain,
@@ -205,9 +152,7 @@ async function createOneSatTestOutput(
205
152
  const args: CreateActionArgs = {
206
153
  outputs: [
207
154
  {
208
- lockingScript: new P2PKH()
209
- .lock(PublicKey.fromString(setup.identityKey).toAddress())
210
- .toHex(),
155
+ lockingScript: new P2PKH().lock(PublicKey.fromString(setup.identityKey).toAddress()).toHex(),
211
156
  satoshis: 1,
212
157
  outputDescription: 'test output',
213
158
  customInstructions: JSON.stringify({
@@ -229,10 +174,7 @@ async function createOneSatTestOutput(
229
174
  txids.push(car.txid!)
230
175
  noSendChange = car.noSendChange
231
176
 
232
- const req = await EntityProvenTxReq.fromStorageTxid(
233
- setup.activeStorage,
234
- car.txid!
235
- )
177
+ const req = await EntityProvenTxReq.fromStorageTxid(setup.activeStorage, car.txid!)
236
178
  expect(req !== undefined && req.history.notes !== undefined)
237
179
  if (req && req.history.notes) {
238
180
  if (vargs.isNoSend) {
@@ -265,9 +207,7 @@ async function createOneSatTestOutput(
265
207
  return car
266
208
  }
267
209
 
268
- async function recoverOneSatTestOutputs(
269
- setup: TestWalletNoSetup
270
- ): Promise<void> {
210
+ async function recoverOneSatTestOutputs(setup: TestWalletNoSetup): Promise<void> {
271
211
  const outputs = await setup.wallet.listOutputs({
272
212
  basket: 'test-output',
273
213
  include: 'entire transactions',
@@ -309,10 +249,7 @@ async function recoverOneSatTestOutputs(
309
249
  }
310
250
  }
311
251
 
312
- async function trackReqByTxid(
313
- setup: TestWalletNoSetup,
314
- txid: string
315
- ): Promise<void> {
252
+ async function trackReqByTxid(setup: TestWalletNoSetup, txid: string): Promise<void> {
316
253
  const req = await EntityProvenTxReq.fromStorageTxid(setup.activeStorage, txid)
317
254
 
318
255
  expect(req !== undefined && req.history.notes !== undefined)
@@ -356,9 +293,7 @@ export async function confirmSpendableOutputs(
356
293
  const users = await storage.findUsers({ partial })
357
294
 
358
295
  for (const { userId } of users) {
359
- const defaultBasket = verifyOne(
360
- await storage.findOutputBaskets({ partial: { userId, name: 'default' } })
361
- )
296
+ const defaultBasket = verifyOne(await storage.findOutputBaskets({ partial: { userId, name: 'default' } }))
362
297
  const where: Partial<TableOutput> = {
363
298
  userId,
364
299
  basketId: defaultBasket.basketId,
@@ -375,10 +310,7 @@ export async function confirmSpendableOutputs(
375
310
  let ok = false
376
311
 
377
312
  if (o.lockingScript && o.lockingScript.length > 0) {
378
- const r = await services.getUtxoStatus(
379
- asString(o.lockingScript),
380
- 'script'
381
- )
313
+ const r = await services.getUtxoStatus(asString(o.lockingScript), 'script')
382
314
 
383
315
  if (r.status === 'success' && r.isUtxo && r.details?.length > 0) {
384
316
  const tx = await storage.findTransactionById(o.transactionId)
@@ -386,12 +318,7 @@ export async function confirmSpendableOutputs(
386
318
  if (
387
319
  tx &&
388
320
  tx.txid &&
389
- r.details.some(
390
- d =>
391
- d.txid === tx.txid &&
392
- d.satoshis === o.satoshis &&
393
- d.index === o.vout
394
- )
321
+ r.details.some(d => d.txid === tx.txid && d.satoshis === o.satoshis && d.index === o.vout)
395
322
  ) {
396
323
  ok = true
397
324
  }
@@ -1,9 +1,5 @@
1
1
  import { sdk, verifyOne } from '../../../src'
2
- import {
3
- specOpInvalidChange,
4
- specOpSetWalletChangeParams,
5
- specOpWalletBalance
6
- } from '../../../src/sdk'
2
+ import { specOpInvalidChange, specOpSetWalletChangeParams, specOpWalletBalance } from '../../../src/sdk'
7
3
  import { _tu, TestWalletNoSetup } from '../../utils/TestUtilsWalletStorage'
8
4
 
9
5
  describe('specOps tests', () => {
@@ -66,10 +62,7 @@ describe('specOps tests', () => {
66
62
  // Restore original values...
67
63
  await setup.wallet.listOutputs({
68
64
  basket: specOpSetWalletChangeParams,
69
- tags: [
70
- before.numberOfDesiredUTXOs.toString(),
71
- before.minimumDesiredUTXOValue.toString()
72
- ]
65
+ tags: [before.numberOfDesiredUTXOs.toString(), before.minimumDesiredUTXOValue.toString()]
73
66
  })
74
67
 
75
68
  await setup.wallet.destroy()
@@ -78,10 +71,8 @@ describe('specOps tests', () => {
78
71
 
79
72
  async function createSetup(chain: sdk.Chain): Promise<TestWalletNoSetup> {
80
73
  const env = _tu.getEnv(chain)
81
- if (!env.testIdentityKey)
82
- throw new sdk.WERR_INVALID_PARAMETER('env.testIdentityKey', 'valid')
83
- if (!env.testFilePath)
84
- throw new sdk.WERR_INVALID_PARAMETER('env.testFilePath', 'valid')
74
+ if (!env.testIdentityKey) throw new sdk.WERR_INVALID_PARAMETER('env.testIdentityKey', 'valid')
75
+ if (!env.testFilePath) throw new sdk.WERR_INVALID_PARAMETER('env.testFilePath', 'valid')
85
76
 
86
77
  const setup = await _tu.createTestWallet({
87
78
  chain,
@@ -19,13 +19,8 @@ describe('janitor tests', () => {
19
19
 
20
20
  const services = new Services(env.chain)
21
21
 
22
- const identityKey =
23
- '0304985aa632dde471d3bf1ffb030d0af253fe65f5d186bb4cf878ca0fbee54c1c'
24
- const { invalidSpendableOutputs: notUtxos } = await confirmSpendableOutputs(
25
- storage,
26
- services,
27
- identityKey
28
- )
22
+ const identityKey = '0304985aa632dde471d3bf1ffb030d0af253fe65f5d186bb4cf878ca0fbee54c1c'
23
+ const { invalidSpendableOutputs: notUtxos } = await confirmSpendableOutputs(storage, services, identityKey)
29
24
  const outputsToUpdate = notUtxos.map(o => ({
30
25
  id: o.outputId,
31
26
  satoshis: o.satoshis
@@ -39,8 +39,7 @@ describe('Wallet sync tests', () => {
39
39
  }
40
40
 
41
41
  const env = _tu.getEnv('test')
42
- const identityKeyTone =
43
- '03ac2d10bdb0023f4145cc2eba2fcd2ad3070cb2107b0b48170c46a9440e4cc3fe'
42
+ const identityKeyTone = '03ac2d10bdb0023f4145cc2eba2fcd2ad3070cb2107b0b48170c46a9440e4cc3fe'
44
43
  const rootKeyHex = env.devKeys[identityKeyTone]
45
44
 
46
45
  test('0 sync staging dojo to local MySQL', async () => {
@@ -57,10 +56,7 @@ describe('Wallet sync tests', () => {
57
56
  })
58
57
 
59
58
  const identityKey = writer.identityKey
60
- await writer.storage.syncFromReader(
61
- identityKey,
62
- new StorageSyncReader({ identityKey }, reader)
63
- )
59
+ await writer.storage.syncFromReader(identityKey, new StorageSyncReader({ identityKey }, reader))
64
60
 
65
61
  await reader.destroy()
66
62
  await writer.activeStorage.destroy()
@@ -68,12 +64,9 @@ describe('Wallet sync tests', () => {
68
64
  })
69
65
 
70
66
  test.skip('0a sync production dojo to local MySQL', async () => {
71
- console.log(
72
- 'Importing from production dojo to local MySQL productiondojotone'
73
- )
67
+ console.log('Importing from production dojo to local MySQL productiondojotone')
74
68
  // production faucet key
75
- const identityKey =
76
- '030b78da8101cd8929ec355c694c275fbaf4f73d4eaa104873463779cac69a2a01' // process.env.MY_MAIN_IDENTITY || ''
69
+ const identityKey = '030b78da8101cd8929ec355c694c275fbaf4f73d4eaa104873463779cac69a2a01' // process.env.MY_MAIN_IDENTITY || ''
77
70
  const rootKeyHex = env.devKeys[identityKey]
78
71
  const chain: sdk.Chain = 'main'
79
72
  const connection = JSON.parse(process.env.MAIN_DOJO_CONNECTION || '')
@@ -86,10 +79,7 @@ describe('Wallet sync tests', () => {
86
79
  dropAll: true
87
80
  })
88
81
 
89
- await writer.storage.syncFromReader(
90
- identityKey,
91
- new StorageSyncReader({ identityKey }, reader)
92
- )
82
+ await writer.storage.syncFromReader(identityKey, new StorageSyncReader({ identityKey }, reader))
93
83
 
94
84
  await reader.destroy()
95
85
  await writer.activeStorage.destroy()
@@ -97,8 +87,7 @@ describe('Wallet sync tests', () => {
97
87
 
98
88
  test.skip('0b sweep mysql dojo sync to new sqlite', async () => {
99
89
  const chain: sdk.Chain = 'main'
100
- const identityKey =
101
- '030b78da8101cd8929ec355c694c275fbaf4f73d4eaa104873463779cac69a2a01' // prod faucet
90
+ const identityKey = '030b78da8101cd8929ec355c694c275fbaf4f73d4eaa104873463779cac69a2a01' // prod faucet
102
91
  //const identityKeyTone = process.env.MY_MAIN_IDENTITY || ''
103
92
  const rootKeyHex = env.devKeys[identityKey]
104
93
 
@@ -154,9 +143,7 @@ describe('Wallet sync tests', () => {
154
143
 
155
144
  test.skip('2 sync pruned MySQL stagingdojotone to SQLite walletLegacyTestData', async () => {
156
145
  await waitFor1()
157
- console.log(
158
- 'syncing local MySQL stagingdojotone to local SQLite walletLegacyTestData in tmp folder'
159
- )
146
+ console.log('syncing local MySQL stagingdojotone to local SQLite walletLegacyTestData in tmp folder')
160
147
  const reader = await _tu.createMySQLTestWallet({
161
148
  databaseName: 'stagingdojotone',
162
149
  chain: 'test',
@@ -170,25 +157,18 @@ describe('Wallet sync tests', () => {
170
157
  })
171
158
 
172
159
  const identityKey = writer.identityKey
173
- await writer.storage.syncFromReader(
174
- identityKey,
175
- new StorageSyncReader({ identityKey }, reader.activeStorage)
176
- )
160
+ await writer.storage.syncFromReader(identityKey, new StorageSyncReader({ identityKey }, reader.activeStorage))
177
161
 
178
162
  await reader.activeStorage.destroy()
179
163
  await writer.activeStorage.destroy()
180
164
 
181
- console.log(
182
- 'REMEMBER: copy walletLegacyTestData.sqlite from tmp up to data!'
183
- )
165
+ console.log('REMEMBER: copy walletLegacyTestData.sqlite from tmp up to data!')
184
166
  done2 = true
185
167
  })
186
168
 
187
169
  test.skip('3 sync pruned MySQL stagingdojotone to MySQL walletLegacyTestData', async () => {
188
170
  await waitFor2()
189
- console.log(
190
- 'syncing local MySQL stagingdojotone to local SQLite walletLegacyTestData in tmp folder'
191
- )
171
+ console.log('syncing local MySQL stagingdojotone to local SQLite walletLegacyTestData in tmp folder')
192
172
  const reader = await _tu.createMySQLTestWallet({
193
173
  databaseName: 'stagingdojotone',
194
174
  chain: 'test',
@@ -202,10 +182,7 @@ describe('Wallet sync tests', () => {
202
182
  })
203
183
 
204
184
  const identityKey = writer.identityKey
205
- await writer.storage.syncFromReader(
206
- identityKey,
207
- new StorageSyncReader({ identityKey }, reader.activeStorage)
208
- )
185
+ await writer.storage.syncFromReader(identityKey, new StorageSyncReader({ identityKey }, reader.activeStorage))
209
186
 
210
187
  await reader.activeStorage.destroy()
211
188
  await writer.activeStorage.destroy()
@@ -1,7 +1,19 @@
1
1
  import knex from 'knex'
2
- import { sdk, Setup, StorageKnex } from '../../../src'
3
- import { _tu, TestWalletNoSetup } from '../../utils/TestUtilsWalletStorage'
4
- import { Database } from 'sqlite3'
2
+ import { sdk, Setup, StorageKnex, wait } from '../../../src'
3
+ import { _tu, logger, TestWalletNoSetup } from '../../utils/TestUtilsWalletStorage'
4
+
5
+ let done0 = false
6
+ const waitFor0 = async () => {
7
+ while (!done0) await wait(100)
8
+ }
9
+ let done1 = false
10
+ const waitFor1 = async () => {
11
+ while (!done1) await wait(100)
12
+ }
13
+ let done2 = false
14
+ const waitFor2 = async () => {
15
+ while (!done2) await wait(100)
16
+ }
5
17
 
6
18
  describe('setActive tests', () => {
7
19
  jest.setTimeout(99999999)
@@ -64,24 +76,61 @@ describe('setActive tests', () => {
64
76
  expect(s.storage.isAvailable() === true)
65
77
  expect(s.storage.isActiveEnabled === !first)
66
78
  const log = await s.storage.setActive(active)
67
- console.log(log)
79
+ logger(log)
68
80
  expect(s.storage.getActiveStore()).toBe(active)
69
81
  expect(s.storage.isActiveEnabled === true)
70
82
  first = false
71
83
  }
72
84
  })
73
85
 
74
- test('1 setActive on main storage wallet with local backup', async () => {
75
- if (Setup.noEnv('main')) return
76
- const env = _tu.getEnv('main')
77
- const s = await _tu.createTestWalletWithStorageClient({
78
- chain: env.chain,
79
- rootKeyHex: env.devKeys[env.identityKey]
80
- })
81
- const cloudStorageIdentityKey = s.storage.getActiveStore()
82
- //const filePath = '/Users/tone/Kz/tone42_backup.sqlite' // env.filePath
83
- const filePath = env.filePath
84
- if (filePath) {
86
+ test.skip('1 setActive on main storage wallet with local backup', async () => {
87
+ const chain: sdk.Chain = 'main'
88
+ if (Setup.noEnv(chain)) return
89
+ const env = _tu.getEnv(chain)
90
+ if (!env.filePath) return
91
+
92
+ try {
93
+ const s = await _tu.createTestWallet({
94
+ chain,
95
+ rootKeyHex: env.devKeys[env.identityKey],
96
+ filePath: env.filePath,
97
+ setActiveClient: true,
98
+ addLocalBackup: false,
99
+ useMySQLConnectionForClient: true
100
+ })
101
+
102
+ {
103
+ const log = await s.storage.setActive(s.clientStorageIdentityKey!)
104
+ logger(log)
105
+ }
106
+ {
107
+ const log = await s.storage.setActive(s.localStorageIdentityKey!)
108
+ logger(log)
109
+ }
110
+ {
111
+ const log = await s.storage.setActive(s.clientStorageIdentityKey!)
112
+ logger(log)
113
+ }
114
+ expect(s.storage.isActiveEnabled)
115
+
116
+ await s.wallet.destroy()
117
+ } finally {
118
+ done1 = true
119
+ }
120
+ })
121
+
122
+ test.skip('2 setActive between two local backups', async () => {
123
+ await waitFor1()
124
+ try {
125
+ if (Setup.noEnv('main')) return
126
+ const env = _tu.getEnv('main')
127
+ const s = await _tu.createKnexTestWallet({
128
+ knex: _tu.createLocalSQLite(env.filePath!),
129
+ databaseName: `envFilePath for ${env.identityKey}`,
130
+ chain: env.chain
131
+ })
132
+ const envStorageIdentityKey = s.storage.getActiveStore()
133
+ const filePath = '/Users/tone/Kz/tone42_backup.sqlite'
85
134
  const localStore = (
86
135
  await _tu.createKnexTestWallet({
87
136
  knex: _tu.createLocalSQLite(filePath),
@@ -91,61 +140,26 @@ describe('setActive tests', () => {
91
140
  ).activeStorage
92
141
  await s.storage.addWalletStorageProvider(localStore)
93
142
  {
94
- const log = await s.storage.setActive(cloudStorageIdentityKey)
95
- console.log(log)
143
+ const log = await s.storage.setActive(envStorageIdentityKey)
144
+ logger(log)
96
145
  }
97
146
  {
98
- const log = await s.storage.setActive(
99
- localStore._settings!.storageIdentityKey
100
- )
101
- console.log(log)
147
+ const log = await s.storage.setActive(localStore._settings!.storageIdentityKey)
148
+ logger(log)
102
149
  }
103
150
  {
104
- const log = await s.storage.setActive(cloudStorageIdentityKey)
105
- console.log(log)
151
+ const log = await s.storage.setActive(envStorageIdentityKey)
152
+ logger(log)
106
153
  }
107
154
  expect(s.storage.isActiveEnabled)
155
+ await s.wallet.destroy()
156
+ } finally {
157
+ done2 = true
108
158
  }
109
- await s.wallet.destroy()
110
- })
111
-
112
- test('2 setActive between two local backups', async () => {
113
- if (Setup.noEnv('main')) return
114
- const env = _tu.getEnv('main')
115
- const s = await _tu.createKnexTestWallet({
116
- knex: _tu.createLocalSQLite(env.filePath!),
117
- databaseName: `envFilePath for ${env.identityKey}`,
118
- chain: env.chain
119
- })
120
- const envStorageIdentityKey = s.storage.getActiveStore()
121
- const filePath = '/Users/tone/Kz/tone42_backup.sqlite'
122
- const localStore = (
123
- await _tu.createKnexTestWallet({
124
- knex: _tu.createLocalSQLite(filePath),
125
- databaseName: `sqlite for ${env.identityKey}`,
126
- chain: env.chain
127
- })
128
- ).activeStorage
129
- await s.storage.addWalletStorageProvider(localStore)
130
- {
131
- const log = await s.storage.setActive(envStorageIdentityKey)
132
- console.log(log)
133
- }
134
- {
135
- const log = await s.storage.setActive(
136
- localStore._settings!.storageIdentityKey
137
- )
138
- console.log(log)
139
- }
140
- {
141
- const log = await s.storage.setActive(envStorageIdentityKey)
142
- console.log(log)
143
- }
144
- expect(s.storage.isActiveEnabled)
145
- await s.wallet.destroy()
146
159
  })
147
160
 
148
- test('3 compare wallet balances', async () => {
161
+ test.skip('3 compare wallet balances', async () => {
162
+ await waitFor2()
149
163
  const chain: sdk.Chain = 'test'
150
164
  if (Setup.noEnv(chain)) return
151
165
 
package/test/checkDB.ts CHANGED
@@ -17,10 +17,7 @@ const runTest = async () => {
17
17
  if (err) {
18
18
  console.error('Error running PRAGMA foreign_keys:', err.message)
19
19
  } else {
20
- console.log(
21
- 'Foreign key enforcement:',
22
- row.foreign_keys === 1 ? 'Enabled' : 'Disabled'
23
- )
20
+ console.log('Foreign key enforcement:', row.foreign_keys === 1 ? 'Enabled' : 'Disabled')
24
21
  }
25
22
  })
26
23
 
@@ -29,10 +26,7 @@ const runTest = async () => {
29
26
  for (const table of tables) {
30
27
  db.all(`PRAGMA foreign_key_list('${table}');`, (err, rows) => {
31
28
  if (err) {
32
- console.error(
33
- `Error querying foreign key list for table '${table}':`,
34
- err.message
35
- )
29
+ console.error(`Error querying foreign key list for table '${table}':`, err.message)
36
30
  } else {
37
31
  console.log(`Foreign key constraints for table '${table}':`)
38
32
  if (rows.length === 0) {
@@ -29,10 +29,7 @@ export async function backup(): Promise<void> {
29
29
  /**
30
30
  * @publicbody
31
31
  */
32
- export async function backupWalletClient(
33
- env: SetupEnv,
34
- identityKey: string
35
- ): Promise<void> {
32
+ export async function backupWalletClient(env: SetupEnv, identityKey: string): Promise<void> {
36
33
  const setup = await Setup.createWalletClient({
37
34
  env,
38
35
  rootKeyHex: env.devKeys[identityKey]
@@ -44,11 +41,7 @@ export async function backupWalletClient(
44
41
  /**
45
42
  * @publicbody
46
43
  */
47
- export async function backupToSQLite(
48
- setup: SetupWallet,
49
- filePath?: string,
50
- databaseName?: string
51
- ): Promise<void> {
44
+ export async function backupToSQLite(setup: SetupWallet, filePath?: string, databaseName?: string): Promise<void> {
52
45
  const env = Setup.getEnv(setup.chain)
53
46
  filePath ||= `backup_${setup.identityKey}.sqlite`
54
47
  databaseName ||= `${setup.identityKey} backup`