@bsv/wallet-toolbox 1.3.3 → 1.3.4

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 (320) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/docs/client.md +97 -28
  3. package/docs/services.md +2 -1
  4. package/docs/setup.md +404 -14
  5. package/docs/storage.md +720 -42
  6. package/docs/wallet.md +97 -28
  7. package/out/src/Setup.d.ts +2 -69
  8. package/out/src/Setup.d.ts.map +1 -1
  9. package/out/src/Setup.js.map +1 -1
  10. package/out/src/SetupClient.d.ts +126 -0
  11. package/out/src/SetupClient.d.ts.map +1 -0
  12. package/out/src/SetupClient.js +220 -0
  13. package/out/src/SetupClient.js.map +1 -0
  14. package/out/src/SetupWallet.d.ts +100 -0
  15. package/out/src/SetupWallet.d.ts.map +1 -0
  16. package/out/src/{storage/schema/tables/Certificate.js → SetupWallet.js} +1 -1
  17. package/out/src/SetupWallet.js.map +1 -0
  18. package/out/src/index.all.d.ts +2 -0
  19. package/out/src/index.all.d.ts.map +1 -1
  20. package/out/src/index.all.js +2 -0
  21. package/out/src/index.all.js.map +1 -1
  22. package/out/src/index.client.d.ts +1 -0
  23. package/out/src/index.client.d.ts.map +1 -1
  24. package/out/src/index.client.js +1 -0
  25. package/out/src/index.client.js.map +1 -1
  26. package/out/src/monitor/Monitor.d.ts.map +1 -1
  27. package/out/src/monitor/Monitor.js +4 -0
  28. package/out/src/monitor/Monitor.js.map +1 -1
  29. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  30. package/out/src/monitor/MonitorDaemon.js +0 -3
  31. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  33. package/out/src/monitor/tasks/TaskUnFail.js +1 -2
  34. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  35. package/out/src/sdk/WalletServices.interfaces.d.ts +1 -1
  36. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  37. package/out/src/services/__tests/postBeef.test.js +1 -1
  38. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  39. package/out/src/storage/StorageIdb.d.ts +203 -0
  40. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  41. package/out/src/storage/StorageIdb.js +2289 -0
  42. package/out/src/storage/StorageIdb.js.map +1 -0
  43. package/out/src/storage/StorageKnex.d.ts +6 -6
  44. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  45. package/out/src/storage/StorageKnex.js +9 -29
  46. package/out/src/storage/StorageKnex.js.map +1 -1
  47. package/out/src/storage/StorageProvider.d.ts +3 -1
  48. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  49. package/out/src/storage/StorageProvider.js +22 -0
  50. package/out/src/storage/StorageProvider.js.map +1 -1
  51. package/out/src/storage/StorageReader.d.ts +1 -1
  52. package/out/src/storage/StorageReader.d.ts.map +1 -1
  53. package/out/src/storage/StorageReader.js +5 -0
  54. package/out/src/storage/StorageReader.js.map +1 -1
  55. package/out/src/storage/__test/StorageIdb.test.d.ts +2 -0
  56. package/out/src/storage/__test/StorageIdb.test.d.ts.map +1 -0
  57. package/out/src/storage/__test/StorageIdb.test.js +16 -0
  58. package/out/src/storage/__test/StorageIdb.test.js.map +1 -0
  59. package/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
  60. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  61. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  62. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  63. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  64. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  65. package/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
  66. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  67. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  68. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  69. package/out/src/storage/methods/listActionsIdb.js +155 -0
  70. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  71. package/out/src/storage/methods/{listActions.d.ts → listActionsKnex.d.ts} +1 -1
  72. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
  73. package/out/src/storage/methods/{listActions.js → listActionsKnex.js} +3 -34
  74. package/out/src/storage/methods/listActionsKnex.js.map +1 -0
  75. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  76. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  77. package/out/src/storage/methods/listOutputsIdb.js +181 -0
  78. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  79. package/out/src/storage/methods/{listOutputs.d.ts → listOutputsKnex.d.ts} +1 -1
  80. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
  81. package/out/src/storage/methods/{listOutputs.js → listOutputsKnex.js} +7 -76
  82. package/out/src/storage/methods/listOutputsKnex.js.map +1 -0
  83. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  84. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  85. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  86. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  87. package/out/src/storage/methods/reviewStatus.d.ts +11 -0
  88. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  89. package/out/src/storage/methods/reviewStatus.js +11 -0
  90. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  91. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  92. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  93. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  94. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  95. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  96. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  97. package/out/src/storage/schema/{tables/CertificateField.js → StorageIdbSchema.js} +1 -1
  98. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  99. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +1 -1
  100. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  101. package/out/src/storage/schema/tables/{Certificate.d.ts → TableCertificate.d.ts} +1 -1
  102. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  103. package/out/src/storage/schema/tables/TableCertificate.js +3 -0
  104. package/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  105. package/out/src/storage/schema/tables/{CertificateField.d.ts → TableCertificateField.d.ts} +1 -1
  106. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  107. package/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  108. package/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  109. package/out/src/storage/schema/tables/{Commission.d.ts → TableCommission.d.ts} +1 -1
  110. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  111. package/out/src/storage/schema/tables/TableCommission.js +3 -0
  112. package/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  113. package/out/src/storage/schema/tables/{MonitorEvent.d.ts → TableMonitorEvent.d.ts} +1 -1
  114. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  115. package/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  116. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  117. package/out/src/storage/schema/tables/{Output.d.ts → TableOutput.d.ts} +1 -1
  118. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  119. package/out/src/storage/schema/tables/{Output.js → TableOutput.js} +1 -1
  120. package/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  121. package/out/src/storage/schema/tables/{OutputBasket.d.ts → TableOutputBasket.d.ts} +1 -1
  122. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  123. package/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  124. package/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  125. package/out/src/storage/schema/tables/{OutputTag.d.ts → TableOutputTag.d.ts} +1 -1
  126. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  127. package/out/src/storage/schema/tables/{MonitorEvent.js → TableOutputTag.js} +1 -1
  128. package/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  129. package/out/src/storage/schema/tables/{OutputTagMap.d.ts → TableOutputTagMap.d.ts} +1 -1
  130. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  131. package/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  132. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  133. package/out/src/storage/schema/tables/{ProvenTx.d.ts → TableProvenTx.d.ts} +1 -1
  134. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  135. package/out/src/storage/schema/tables/{Commission.js → TableProvenTx.js} +1 -1
  136. package/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  137. package/out/src/storage/schema/tables/{ProvenTxReq.d.ts → TableProvenTxReq.d.ts} +1 -1
  138. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  139. package/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  140. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  141. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  142. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  143. package/out/src/storage/schema/tables/{SyncState.d.ts → TableSyncState.d.ts} +1 -1
  144. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  145. package/out/src/storage/schema/tables/TableSyncState.js +3 -0
  146. package/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  147. package/out/src/storage/schema/tables/{Transaction.d.ts → TableTransaction.d.ts} +1 -1
  148. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  149. package/out/src/storage/schema/tables/{Transaction.js → TableTransaction.js} +1 -1
  150. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  151. package/out/src/storage/schema/tables/{TxLabel.d.ts → TableTxLabel.d.ts} +1 -1
  152. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  153. package/out/src/storage/schema/tables/{OutputBasket.js → TableTxLabel.js} +1 -1
  154. package/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  155. package/out/src/storage/schema/tables/{TxLabelMap.d.ts → TableTxLabelMap.d.ts} +1 -1
  156. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  157. package/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  158. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  159. package/out/src/storage/schema/tables/{User.d.ts → TableUser.d.ts} +1 -1
  160. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  161. package/out/src/storage/schema/tables/{SyncState.js → TableUser.js} +1 -1
  162. package/out/src/storage/schema/tables/TableUser.js.map +1 -0
  163. package/out/src/storage/schema/tables/index.d.ts +15 -15
  164. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  165. package/out/src/storage/schema/tables/index.js +15 -15
  166. package/out/src/storage/schema/tables/index.js.map +1 -1
  167. package/out/test/Wallet/local/localWallet2.man.test.js +4 -0
  168. package/out/test/Wallet/local/localWallet2.man.test.js.map +1 -1
  169. package/out/test/Wallet/support/operations.man.test.d.ts +2 -0
  170. package/out/test/Wallet/support/operations.man.test.d.ts.map +1 -0
  171. package/out/test/Wallet/support/{opers1.man.test.js → operations.man.test.js} +39 -4
  172. package/out/test/Wallet/support/operations.man.test.js.map +1 -0
  173. package/out/test/storage/find.test.js +1 -1
  174. package/out/test/storage/find.test.js.map +1 -1
  175. package/out/test/storage/idb/allocateChange.test.d.ts +2 -0
  176. package/out/test/storage/idb/allocateChange.test.d.ts.map +1 -0
  177. package/out/test/storage/idb/allocateChange.test.js +110 -0
  178. package/out/test/storage/idb/allocateChange.test.js.map +1 -0
  179. package/out/test/storage/idb/count.test.d.ts +2 -0
  180. package/out/test/storage/idb/count.test.d.ts.map +1 -0
  181. package/out/test/storage/idb/count.test.js +129 -0
  182. package/out/test/storage/idb/count.test.js.map +1 -0
  183. package/out/test/storage/idb/find.test.d.ts +2 -0
  184. package/out/test/storage/idb/find.test.d.ts.map +1 -0
  185. package/out/test/storage/idb/find.test.js +131 -0
  186. package/out/test/storage/idb/find.test.js.map +1 -0
  187. package/out/test/storage/idb/idbSpeed.test.d.ts +2 -0
  188. package/out/test/storage/idb/idbSpeed.test.d.ts.map +1 -0
  189. package/out/test/storage/idb/idbSpeed.test.js +29 -0
  190. package/out/test/storage/idb/idbSpeed.test.js.map +1 -0
  191. package/out/test/storage/idb/insert.test.d.ts +2 -0
  192. package/out/test/storage/idb/insert.test.d.ts.map +1 -0
  193. package/out/test/storage/idb/insert.test.js +242 -0
  194. package/out/test/storage/idb/insert.test.js.map +1 -0
  195. package/out/test/storage/idb/transactionAbort.test.d.ts +2 -0
  196. package/out/test/storage/idb/transactionAbort.test.d.ts.map +1 -0
  197. package/out/test/storage/idb/transactionAbort.test.js +97 -0
  198. package/out/test/storage/idb/transactionAbort.test.js.map +1 -0
  199. package/out/test/storage/idb/update.test.d.ts +2 -0
  200. package/out/test/storage/idb/update.test.d.ts.map +1 -0
  201. package/out/test/storage/idb/update.test.js +902 -0
  202. package/out/test/storage/idb/update.test.js.map +1 -0
  203. package/out/test/storage/update.test.js +2 -2
  204. package/out/test/storage/update.test.js.map +1 -1
  205. package/out/test/utils/TestUtilsWalletStorage.d.ts +24 -1
  206. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  207. package/out/test/utils/TestUtilsWalletStorage.js +147 -3
  208. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  209. package/out/test/wallet/list/listActions.test.d.ts +1 -1
  210. package/out/test/wallet/list/listActions.test.d.ts.map +1 -1
  211. package/out/test/wallet/list/listActions.test.js +9 -3
  212. package/out/test/wallet/list/listActions.test.js.map +1 -1
  213. package/out/test/wallet/list/listOutputs.test.d.ts +1 -1
  214. package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -1
  215. package/out/test/wallet/list/listOutputs.test.js +34 -219
  216. package/out/test/wallet/list/listOutputs.test.js.map +1 -1
  217. package/out/tsconfig.all.tsbuildinfo +1 -1
  218. package/package.json +3 -1
  219. package/src/Setup.ts +1 -71
  220. package/src/SetupClient.ts +312 -0
  221. package/src/SetupWallet.ts +105 -0
  222. package/src/index.all.ts +2 -0
  223. package/src/index.client.ts +1 -0
  224. package/src/monitor/Monitor.ts +4 -0
  225. package/src/monitor/MonitorDaemon.ts +0 -1
  226. package/src/monitor/tasks/TaskUnFail.ts +3 -4
  227. package/src/sdk/WalletServices.interfaces.ts +1 -2
  228. package/src/services/__tests/postBeef.test.ts +1 -1
  229. package/src/storage/StorageIdb.ts +2298 -0
  230. package/src/storage/StorageKnex.ts +7 -32
  231. package/src/storage/StorageProvider.ts +28 -0
  232. package/src/storage/StorageReader.ts +5 -1
  233. package/src/storage/__test/StorageIdb.test.ts +15 -0
  234. package/src/storage/methods/ListActionsSpecOp.ts +68 -0
  235. package/src/storage/methods/ListOutputsSpecOp.ts +125 -0
  236. package/src/storage/methods/listActionsIdb.ts +181 -0
  237. package/src/storage/methods/{listActions.ts → listActionsKnex.ts} +2 -64
  238. package/src/storage/methods/listOutputsIdb.ts +199 -0
  239. package/src/storage/methods/{listOutputs.ts → listOutputsKnex.ts} +9 -133
  240. package/src/storage/methods/purgeDataIdb.ts +15 -0
  241. package/src/storage/methods/reviewStatus.ts +11 -0
  242. package/src/storage/methods/reviewStatusIdb.ts +43 -0
  243. package/src/storage/schema/StorageIdbSchema.ts +150 -0
  244. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +1 -1
  245. package/src/storage/schema/tables/TableSettings.ts +1 -1
  246. package/src/storage/schema/tables/index.ts +15 -15
  247. package/test/Wallet/local/localWallet2.man.test.ts +5 -0
  248. package/test/Wallet/support/{opers1.man.test.ts → operations.man.test.ts} +41 -12
  249. package/test/storage/find.test.ts +1 -1
  250. package/test/storage/idb/allocateChange.test.ts +251 -0
  251. package/test/storage/idb/count.test.ts +158 -0
  252. package/test/storage/idb/find.test.ts +177 -0
  253. package/test/storage/idb/idbSpeed.test.ts +34 -0
  254. package/test/storage/idb/insert.test.ts +268 -0
  255. package/test/storage/idb/transactionAbort.test.ts +108 -0
  256. package/test/storage/idb/update.test.ts +1000 -0
  257. package/test/storage/update.test.ts +2 -2
  258. package/test/utils/TestUtilsWalletStorage.ts +188 -4
  259. package/test/wallet/list/listActions.test.ts +15 -5
  260. package/test/wallet/list/listOutputs.test.ts +29 -214
  261. package/out/src/storage/methods/listActions.d.ts.map +0 -1
  262. package/out/src/storage/methods/listActions.js.map +0 -1
  263. package/out/src/storage/methods/listOutputs.d.ts.map +0 -1
  264. package/out/src/storage/methods/listOutputs.js.map +0 -1
  265. package/out/src/storage/schema/tables/Certificate.d.ts.map +0 -1
  266. package/out/src/storage/schema/tables/Certificate.js.map +0 -1
  267. package/out/src/storage/schema/tables/CertificateField.d.ts.map +0 -1
  268. package/out/src/storage/schema/tables/CertificateField.js.map +0 -1
  269. package/out/src/storage/schema/tables/Commission.d.ts.map +0 -1
  270. package/out/src/storage/schema/tables/Commission.js.map +0 -1
  271. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +0 -1
  272. package/out/src/storage/schema/tables/MonitorEvent.js.map +0 -1
  273. package/out/src/storage/schema/tables/Output.d.ts.map +0 -1
  274. package/out/src/storage/schema/tables/Output.js.map +0 -1
  275. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +0 -1
  276. package/out/src/storage/schema/tables/OutputBasket.js.map +0 -1
  277. package/out/src/storage/schema/tables/OutputTag.d.ts.map +0 -1
  278. package/out/src/storage/schema/tables/OutputTag.js +0 -3
  279. package/out/src/storage/schema/tables/OutputTag.js.map +0 -1
  280. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +0 -1
  281. package/out/src/storage/schema/tables/OutputTagMap.js +0 -3
  282. package/out/src/storage/schema/tables/OutputTagMap.js.map +0 -1
  283. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +0 -1
  284. package/out/src/storage/schema/tables/ProvenTx.js +0 -3
  285. package/out/src/storage/schema/tables/ProvenTx.js.map +0 -1
  286. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +0 -1
  287. package/out/src/storage/schema/tables/ProvenTxReq.js +0 -3
  288. package/out/src/storage/schema/tables/ProvenTxReq.js.map +0 -1
  289. package/out/src/storage/schema/tables/SyncState.d.ts.map +0 -1
  290. package/out/src/storage/schema/tables/SyncState.js.map +0 -1
  291. package/out/src/storage/schema/tables/Transaction.d.ts.map +0 -1
  292. package/out/src/storage/schema/tables/Transaction.js.map +0 -1
  293. package/out/src/storage/schema/tables/TxLabel.d.ts.map +0 -1
  294. package/out/src/storage/schema/tables/TxLabel.js +0 -3
  295. package/out/src/storage/schema/tables/TxLabel.js.map +0 -1
  296. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +0 -1
  297. package/out/src/storage/schema/tables/TxLabelMap.js +0 -3
  298. package/out/src/storage/schema/tables/TxLabelMap.js.map +0 -1
  299. package/out/src/storage/schema/tables/User.d.ts.map +0 -1
  300. package/out/src/storage/schema/tables/User.js +0 -3
  301. package/out/src/storage/schema/tables/User.js.map +0 -1
  302. package/out/test/Wallet/support/opers1.man.test.d.ts +0 -2
  303. package/out/test/Wallet/support/opers1.man.test.d.ts.map +0 -1
  304. package/out/test/Wallet/support/opers1.man.test.js.map +0 -1
  305. package/unlock-migrations.sh +0 -41
  306. /package/src/storage/schema/tables/{Certificate.ts → TableCertificate.ts} +0 -0
  307. /package/src/storage/schema/tables/{CertificateField.ts → TableCertificateField.ts} +0 -0
  308. /package/src/storage/schema/tables/{Commission.ts → TableCommission.ts} +0 -0
  309. /package/src/storage/schema/tables/{MonitorEvent.ts → TableMonitorEvent.ts} +0 -0
  310. /package/src/storage/schema/tables/{Output.ts → TableOutput.ts} +0 -0
  311. /package/src/storage/schema/tables/{OutputBasket.ts → TableOutputBasket.ts} +0 -0
  312. /package/src/storage/schema/tables/{OutputTag.ts → TableOutputTag.ts} +0 -0
  313. /package/src/storage/schema/tables/{OutputTagMap.ts → TableOutputTagMap.ts} +0 -0
  314. /package/src/storage/schema/tables/{ProvenTx.ts → TableProvenTx.ts} +0 -0
  315. /package/src/storage/schema/tables/{ProvenTxReq.ts → TableProvenTxReq.ts} +0 -0
  316. /package/src/storage/schema/tables/{SyncState.ts → TableSyncState.ts} +0 -0
  317. /package/src/storage/schema/tables/{Transaction.ts → TableTransaction.ts} +0 -0
  318. /package/src/storage/schema/tables/{TxLabel.ts → TableTxLabel.ts} +0 -0
  319. /package/src/storage/schema/tables/{TxLabelMap.ts → TableTxLabelMap.ts} +0 -0
  320. /package/src/storage/schema/tables/{User.ts → TableUser.ts} +0 -0
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable @typescript-eslint/no-unused-vars */
4
6
  const sdk_1 = require("@bsv/sdk");
5
7
  const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
6
- const noLog = true;
8
+ const path_1 = __importDefault(require("path"));
9
+ require("fake-indexeddb/auto");
7
10
  describe('listOutputs test', () => {
8
11
  jest.setTimeout(99999999);
9
12
  const amount = 1319;
10
13
  const env = TestUtilsWalletStorage_1._tu.getEnv('test');
11
- const testName = () => expect.getState().currentTestName || 'test';
12
14
  const ctxs = [];
15
+ const testName = () => expect.getState().currentTestName || 'test';
16
+ const databaseName = path_1.default.parse(expect.getState().testPath).name;
13
17
  beforeAll(async () => {
14
18
  if (env.runMySQL)
15
19
  ctxs.push(await TestUtilsWalletStorage_1._tu.createLegacyWalletMySQLCopy('listOutputsTests'));
20
+ ctxs.push(await TestUtilsWalletStorage_1._tu.createIdbLegacyWalletCopy(databaseName));
16
21
  ctxs.push(await TestUtilsWalletStorage_1._tu.createLegacyWalletSQLiteCopy('listOutputsTests'));
17
22
  });
18
23
  afterAll(async () => {
@@ -20,29 +25,6 @@ describe('listOutputs test', () => {
20
25
  await ctx.storage.destroy();
21
26
  }
22
27
  });
23
- const logResult = (r) => {
24
- var _a, _b;
25
- const truncate = (s) => (s.length > 80 ? s.slice(0, 77) + '...' : s);
26
- let log = `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
27
- let i = 0;
28
- for (const o of r.outputs) {
29
- log += `${i++} ${o.outpoint} ${o.satoshis} ${o.spendable}\n`;
30
- if (o.tags && o.tags.length > 0)
31
- log += ` tags: ${(_a = o.tags) === null || _a === void 0 ? void 0 : _a.join(',')}\n`;
32
- if (o.labels && o.labels.length > 0)
33
- log += ` labels: ${(_b = o.labels) === null || _b === void 0 ? void 0 : _b.join(',')}\n`;
34
- if (o.customInstructions)
35
- log += ` customInstructions: ${o.customInstructions}\n`;
36
- if (o.lockingScript)
37
- log += ` lockingScript: ${o.lockingScript.length} ${truncate(o.lockingScript)}\n`;
38
- }
39
- if (r.BEEF) {
40
- const beef = sdk_1.Beef.fromBinary(r.BEEF);
41
- log += `BEEF:\n`;
42
- log += beef.toLogString();
43
- }
44
- return log;
45
- };
46
28
  test('0 invalid params with originator', async () => {
47
29
  for (const { wallet } of ctxs) {
48
30
  const invalidArgs = [
@@ -64,18 +46,12 @@ describe('listOutputs test', () => {
64
46
  ].filter(originator => originator.trim() !== ''); // Remove problematic cases
65
47
  for (const args of invalidArgs) {
66
48
  for (const originator of invalidOriginators) {
67
- if (!noLog)
68
- console.log('Testing args:', args, 'with originator:', originator);
69
49
  try {
70
50
  await wallet.listOutputs(args, originator);
71
51
  throw new Error('Expected method to throw.');
72
52
  }
73
53
  catch (e) {
74
54
  const error = e;
75
- if (!noLog)
76
- console.log('Error name:', error.name);
77
- if (!noLog)
78
- console.log('Error message:', error.message);
79
55
  if (error.name != 'WERR_INVALID_PARAMETER')
80
56
  debugger;
81
57
  // Validate error
@@ -101,11 +77,7 @@ describe('listOutputs test', () => {
101
77
  };
102
78
  const validOriginators = ['example.com', 'localhost', 'subdomain.example.com'];
103
79
  for (const originator of validOriginators) {
104
- if (!noLog)
105
- console.log('Testing args:', validArgs, 'with originator:', originator);
106
80
  const result = await wallet.listOutputs(validArgs, originator);
107
- if (!noLog)
108
- console.log('Result:', result);
109
81
  expect(result.totalOutputs).toBeGreaterThanOrEqual(0);
110
82
  }
111
83
  }
@@ -113,12 +85,10 @@ describe('listOutputs test', () => {
113
85
  test('2a default', async () => {
114
86
  for (const { wallet } of ctxs) {
115
87
  {
116
- let log = `\n${testName()}\n`;
117
88
  const args = {
118
89
  basket: 'default'
119
90
  };
120
91
  const r = await wallet.listOutputs(args);
121
- log += logResult(r);
122
92
  expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
123
93
  expect(r.outputs.length).toBe(10);
124
94
  expect(r.BEEF).toBeUndefined();
@@ -128,15 +98,12 @@ describe('listOutputs test', () => {
128
98
  expect(o.labels).toBeUndefined();
129
99
  expect(o.tags).toBeUndefined();
130
100
  }
131
- if (!noLog)
132
- console.log(log);
133
101
  }
134
102
  }
135
103
  });
136
104
  test('2b default with originators', async () => {
137
105
  for (const { wallet } of ctxs) {
138
106
  {
139
- let log = `\n${testName()}\n`;
140
107
  const args = {
141
108
  basket: 'default'
142
109
  };
@@ -145,7 +112,6 @@ describe('listOutputs test', () => {
145
112
  const result = await wallet.listOutputs(args, originator);
146
113
  }
147
114
  const r = await wallet.listOutputs(args);
148
- log += logResult(r);
149
115
  expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
150
116
  expect(r.outputs.length).toBe(10);
151
117
  expect(r.BEEF).toBeUndefined();
@@ -155,12 +121,10 @@ describe('listOutputs test', () => {
155
121
  expect(o.labels).toBeUndefined();
156
122
  expect(o.tags).toBeUndefined();
157
123
  }
158
- if (!noLog)
159
- console.log(log);
160
124
  }
161
125
  }
162
126
  });
163
- test('3_include basket tags labels spent custom', async () => {
127
+ test('3_include basket tags labels customInstructions', async () => {
164
128
  for (const { wallet } of ctxs) {
165
129
  {
166
130
  let log = `\n${testName()}\n`;
@@ -171,50 +135,61 @@ describe('listOutputs test', () => {
171
135
  includeCustomInstructions: true
172
136
  };
173
137
  const r = await wallet.listOutputs(args);
174
- log += logResult(r);
175
138
  for (const o of r.outputs) {
176
139
  expect(o.lockingScript).toBeUndefined();
177
140
  expect(Array.isArray(o.tags)).toBe(true);
178
141
  expect(Array.isArray(o.labels)).toBe(true);
142
+ // Despite asking for it, there are no custom instructions on these outputs.
143
+ expect(o.customInstructions).toBeUndefined();
144
+ }
145
+ }
146
+ }
147
+ });
148
+ test('3a_include customInstructions when valid', async () => {
149
+ for (const { wallet } of ctxs) {
150
+ {
151
+ const args = {
152
+ basket: 'todo tokens',
153
+ includeCustomInstructions: true,
154
+ limit: 2
155
+ };
156
+ const r = await wallet.listOutputs(args);
157
+ expect(r.totalOutputs).toBeGreaterThanOrEqual(1);
158
+ expect(r.outputs.length).toBe(1);
159
+ let i = -1;
160
+ for (const a of r.outputs) {
161
+ i++;
162
+ if (i === 0)
163
+ expect(a.customInstructions).toBe('{ a: 43 }');
179
164
  }
180
- if (!noLog)
181
- console.log(log);
182
165
  }
183
166
  }
184
167
  });
185
168
  test('4_include locking', async () => {
186
169
  for (const { wallet } of ctxs) {
187
170
  {
188
- let log = `\n${testName()}\n`;
189
171
  const args = {
190
172
  basket: 'default',
191
173
  include: 'locking scripts',
192
174
  limit: 100
193
175
  };
194
176
  const r = await wallet.listOutputs(args);
195
- log += logResult(r);
196
177
  for (const o of r.outputs) {
197
178
  expect(o.lockingScript).toBeTruthy();
198
179
  }
199
- if (!noLog)
200
- console.log(log);
201
180
  }
202
181
  }
203
182
  });
204
183
  test('5_basket', async () => {
205
184
  for (const { wallet } of ctxs) {
206
185
  {
207
- let log = `\n${testName()}\n`;
208
186
  const args = {
209
187
  basket: 'default'
210
188
  };
211
189
  const r = await wallet.listOutputs(args);
212
- log += logResult(r);
213
190
  for (const o of r.outputs) {
214
191
  expect(o.spendable).toBe(true);
215
192
  }
216
- if (!noLog)
217
- console.log(log);
218
193
  }
219
194
  }
220
195
  });
@@ -231,76 +206,60 @@ describe('listOutputs test', () => {
231
206
  test('7_tags', async () => {
232
207
  for (const { wallet } of ctxs) {
233
208
  {
234
- let log = `\n${testName()}\n`;
235
209
  const args = {
236
210
  basket: 'babbage-protocol-permission',
237
211
  tags: ['babbage_action_originator projectbabbage.com'],
238
212
  includeTags: true
239
213
  };
240
214
  const r = await wallet.listOutputs(args);
241
- log += logResult(r);
242
215
  for (const o of r.outputs) {
243
216
  expect(Array.isArray(o.tags)).toBe(true);
244
217
  expect(o.tags.indexOf(args.tags[0])).toBeGreaterThan(-1);
245
218
  }
246
- if (!noLog)
247
- console.log(log);
248
219
  }
249
220
  }
250
221
  });
251
222
  test('8_BEEF', async () => {
252
223
  for (const { wallet, services } of ctxs) {
253
224
  {
254
- let log = `\n${testName()}\n`;
255
225
  const args = {
256
226
  basket: 'default',
257
227
  include: 'entire transactions'
258
228
  };
259
229
  const r = await wallet.listOutputs(args);
260
- log += logResult(r);
261
230
  expect(r.BEEF).toBeTruthy();
262
231
  expect(await sdk_1.Beef.fromBinary(r.BEEF || []).verify(await services.getChainTracker())).toBe(true);
263
- if (!noLog)
264
- console.log(log);
265
232
  }
266
233
  }
267
234
  });
268
235
  test('9_labels for babbage_protocol_perm', async () => {
269
- var _a, _b;
236
+ var _a;
270
237
  for (const { wallet } of ctxs) {
271
238
  {
272
- let log = `\n${testName()}\n`;
273
239
  const args = {
274
240
  basket: 'babbage-protocol-permission',
275
241
  includeLabels: true,
276
242
  limit: 5
277
243
  };
278
244
  const r = await wallet.listOutputs(args);
279
- log += `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
280
245
  expect(r.outputs.length).toBe(5);
281
- let i = 0;
282
246
  for (const a of r.outputs) {
283
247
  expect(Array.isArray(a.labels)).toBe(true);
284
248
  expect((_a = a.labels) === null || _a === void 0 ? void 0 : _a.indexOf('babbage_protocol_perm')).toBeGreaterThan(-1);
285
- log += `${i++} ${(_b = a.labels) === null || _b === void 0 ? void 0 : _b.join(',')}\n`;
286
249
  }
287
- if (!noLog)
288
- console.log(log);
289
250
  }
290
251
  }
291
252
  });
292
253
  test('10_tags for babbage-token-access any and limit', async () => {
293
- var _a, _b;
254
+ var _a;
294
255
  for (const { wallet } of ctxs) {
295
256
  {
296
- let log = `\n${testName()}\n`;
297
257
  const args = {
298
258
  basket: 'babbage-token-access',
299
259
  includeTags: true,
300
260
  limit: 15
301
261
  };
302
262
  const r = await wallet.listOutputs(args);
303
- log += `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
304
263
  expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
305
264
  expect(r.outputs.length).toBeLessThan(16);
306
265
  expect(r.outputs.length).toBe(15);
@@ -308,25 +267,19 @@ describe('listOutputs test', () => {
308
267
  for (const a of r.outputs) {
309
268
  expect(Array.isArray(a.tags)).toBe(true);
310
269
  expect((_a = a.tags) === null || _a === void 0 ? void 0 : _a.indexOf('babbage_action_originator projectbabbage.com')).toBeGreaterThan(-1);
311
- log += `${i++} ${(_b = a.labels) === null || _b === void 0 ? void 0 : _b.join(',')}\n`;
312
270
  }
313
- if (!noLog)
314
- console.log(log);
315
271
  }
316
272
  }
317
273
  });
318
274
  test('11_tags babbage-protocol-permission any default limit', async () => {
319
- var _a;
320
275
  for (const { wallet } of ctxs) {
321
276
  {
322
- let log = `\n${testName()}\n`;
323
277
  const args = {
324
278
  basket: 'babbage-protocol-permission',
325
279
  includeTags: true,
326
280
  tags: ['babbage_protocolsecuritylevel 2']
327
281
  };
328
282
  const r = await wallet.listOutputs(args);
329
- log += `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
330
283
  expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
331
284
  expect(r.outputs.length).toBe(args.limit || 10);
332
285
  let i = 0;
@@ -338,16 +291,12 @@ describe('listOutputs test', () => {
338
291
  count++;
339
292
  }
340
293
  expect(count).toBeGreaterThan(0);
341
- log += `${i++} ${(_a = a.tags) === null || _a === void 0 ? void 0 : _a.join(',')}\n`;
342
294
  }
343
- if (!noLog)
344
- console.log(log);
345
295
  }
346
296
  }
347
297
  });
348
298
  test('12_tags babbage-token-access all', async () => {
349
299
  for (const { wallet } of ctxs) {
350
- let log = `\n${testName()}\n`;
351
300
  const args = {
352
301
  basket: 'babbage-token-access',
353
302
  includeTags: true,
@@ -359,151 +308,17 @@ describe('listOutputs test', () => {
359
308
  tagQueryMode: 'all' // Require all tags to be present
360
309
  };
361
310
  const r = await wallet.listOutputs(args);
362
- log += `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
363
311
  expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
364
312
  r.outputs.forEach((o, index) => {
365
- var _a, _b;
366
- log += `totalOutputs=${0} outputs=${r.outputs.length}\n`;
313
+ var _a;
367
314
  expect(Array.isArray(o.tags)).toBe(true);
368
315
  const missingTags = ((_a = args.tags) === null || _a === void 0 ? void 0 : _a.filter(tag => { var _a; return !((_a = o.tags) === null || _a === void 0 ? void 0 : _a.includes(tag)); })) || [];
369
316
  if (missingTags.length > 0) {
370
317
  console.error(`Output ${index} is missing tags:`, missingTags);
371
318
  }
372
319
  expect(missingTags.length).toBe(0);
373
- log += `${index} ${(_b = o.tags) === null || _b === void 0 ? void 0 : _b.join(',')}\n`;
374
320
  });
375
- if (!noLog)
376
- console.log(log);
377
- }
378
- });
379
- test('13_customInstructions and lockingScript etc.', async () => {
380
- var _a, _b, _c;
381
- for (const { wallet } of ctxs) {
382
- {
383
- const storage = ctxs[0].activeStorage;
384
- prepareDatabaseCustomInstrctions(storage);
385
- let log = `\n${testName()}\n`;
386
- const args = {
387
- basket: 'todo tokens',
388
- includeTags: true,
389
- includeLabels: true,
390
- include: 'locking scripts',
391
- includeCustomInstructions: true,
392
- limit: 2
393
- };
394
- const r = await wallet.listOutputs(args);
395
- log += `totalOutputs=${r.totalOutputs} outputs=${r.outputs.length}\n`;
396
- expect(r.totalOutputs).toBeGreaterThanOrEqual(r.outputs.length);
397
- expect(r.outputs.length).toBe(2);
398
- let i = 0;
399
- for (const a of r.outputs) {
400
- log += ` ${a.satoshis} ${a.spendable} ${a.outpoint} ${(_a = a.tags) === null || _a === void 0 ? void 0 : _a.join(',')} ${(_b = a.labels) === null || _b === void 0 ? void 0 : _b.join(',')} ${a.customInstructions} ${a.lockingScript}\n`;
401
- if (!noLog)
402
- console.log(log);
403
- expect(a.satoshis).toBeGreaterThan(0);
404
- expect(a.outpoint).toBeTruthy();
405
- expect(a.spendable).toBe(true);
406
- expect(a.lockingScript).toBeTruthy();
407
- expect((_c = a.lockingScript) === null || _c === void 0 ? void 0 : _c.length).toBeGreaterThan(0);
408
- if (i === 0)
409
- expect(a.customInstructions).toBeTruthy();
410
- expect(Array.isArray(a.labels)).toBe(true);
411
- expect(Array.isArray(a.tags)).toBe(true);
412
- i++;
413
- }
414
- if (!noLog)
415
- console.log(log);
416
- }
417
321
  }
418
322
  });
419
323
  });
420
- describe('listOutputs prepare DB with missing custom instructions', () => {
421
- let storage;
422
- const ctxs = [];
423
- beforeAll(async () => {
424
- jest.setTimeout(1200000); // Increase timeout for the test suite
425
- ctxs.push(await TestUtilsWalletStorage_1._tu.createLegacyWalletSQLiteCopy('listOutputsTests'));
426
- storage = ctxs[0].activeStorage;
427
- await prepareDatabaseCustomInstrctions(storage);
428
- });
429
- afterAll(async () => {
430
- await cleanDatabase(storage);
431
- for (const ctx of ctxs) {
432
- await ctx.storage.destroy();
433
- }
434
- });
435
- test('Verify custom instructions for basketId = 4', async () => {
436
- const db = storage.toDb();
437
- const results = await db
438
- .select('outputId', 'basketId', 'customInstructions')
439
- .from('outputs')
440
- .whereIn('outputId', [1, 2, 3]);
441
- if (!noLog)
442
- console.log('Results from outputs table:', results);
443
- expect(results).toEqual([
444
- { outputId: 1, basketId: 4, customInstructions: 'Short instructions A' },
445
- { outputId: 2, basketId: 4, customInstructions: 'Short instructions B' },
446
- { outputId: 3, basketId: 4, customInstructions: 'Short instructions C' }
447
- ]);
448
- });
449
- test('Verify removal of custom instructions and basketId', async () => {
450
- const db = storage.toDb();
451
- // Clean the database
452
- await cleanDatabase(storage);
453
- // Verify that the rows were reset
454
- const results = await db
455
- .select('outputId', 'basketId', 'customInstructions')
456
- .from('outputs')
457
- .whereIn('outputId', [1, 2, 3]);
458
- if (!noLog)
459
- console.log('Results after cleanup:', results);
460
- // Expect basketId and customInstructions to be null
461
- expect(results).toEqual([
462
- { outputId: 1, basketId: null, customInstructions: null },
463
- { outputId: 2, basketId: null, customInstructions: null },
464
- { outputId: 3, basketId: null, customInstructions: null }
465
- ]);
466
- });
467
- });
468
- async function prepareDatabaseCustomInstrctions(storage) {
469
- const db = storage.toDb();
470
- // Update the outputs table with basketId = 4 and customInstructions
471
- await db('outputs').whereIn('outputId', [1, 2, 3]).update({ basketId: 4 });
472
- await db('outputs')
473
- .where('basketId', 4)
474
- .whereIn('outputId', [1, 2, 3])
475
- .update({
476
- customInstructions: db.raw(`
477
- CASE
478
- WHEN outputId = 1 THEN 'Short instructions A'
479
- WHEN outputId = 2 THEN 'Short instructions B'
480
- WHEN outputId = 3 THEN 'Short instructions C'
481
- END
482
- `)
483
- });
484
- }
485
- async function cleanDatabase(storage) {
486
- try {
487
- // Ensure the storage object and its methods are valid
488
- if (!storage || typeof storage.toDb !== 'function') {
489
- throw new Error('Invalid storage object or missing toDb method.');
490
- }
491
- // Get the database connection
492
- const db = storage.toDb();
493
- // Log to verify the database connection is established
494
- if (!noLog)
495
- console.log('Database connection established for cleaning.');
496
- // Remove the updates for basketId = 4 and reset customInstructions
497
- const affectedRows = await db('outputs')
498
- .where('basketId', 4)
499
- .whereIn('outputId', [1, 2, 3])
500
- .update({ basketId: null, customInstructions: null });
501
- if (!noLog)
502
- console.log(`Cleaned database: ${affectedRows} rows updated.`);
503
- }
504
- catch (error) {
505
- console.error('Error cleaning database:', error);
506
- throw error; // Re-throw the error to let the test handle it
507
- }
508
- }
509
324
  //# sourceMappingURL=listOutputs.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listOutputs.test.js","sourceRoot":"","sources":["../../../../test/wallet/list/listOutputs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listOutputs.test.js","sourceRoot":"","sources":["../../../../test/wallet/list/listOutputs.test.ts"],"names":[],"mappings":"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"}