@bsv/wallet-toolbox 1.3.2 → 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 (329) 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/CWIStyleWalletManager.d.ts.map +1 -1
  8. package/out/src/CWIStyleWalletManager.js +12 -5
  9. package/out/src/CWIStyleWalletManager.js.map +1 -1
  10. package/out/src/Setup.d.ts +2 -69
  11. package/out/src/Setup.d.ts.map +1 -1
  12. package/out/src/Setup.js.map +1 -1
  13. package/out/src/SetupClient.d.ts +126 -0
  14. package/out/src/SetupClient.d.ts.map +1 -0
  15. package/out/src/SetupClient.js +220 -0
  16. package/out/src/SetupClient.js.map +1 -0
  17. package/out/src/SetupWallet.d.ts +100 -0
  18. package/out/src/SetupWallet.d.ts.map +1 -0
  19. package/out/src/{storage/schema/tables/Certificate.js → SetupWallet.js} +1 -1
  20. package/out/src/SetupWallet.js.map +1 -0
  21. package/out/src/index.all.d.ts +2 -0
  22. package/out/src/index.all.d.ts.map +1 -1
  23. package/out/src/index.all.js +2 -0
  24. package/out/src/index.all.js.map +1 -1
  25. package/out/src/index.client.d.ts +1 -0
  26. package/out/src/index.client.d.ts.map +1 -1
  27. package/out/src/index.client.js +1 -0
  28. package/out/src/index.client.js.map +1 -1
  29. package/out/src/monitor/Monitor.d.ts.map +1 -1
  30. package/out/src/monitor/Monitor.js +4 -0
  31. package/out/src/monitor/Monitor.js.map +1 -1
  32. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
  33. package/out/src/monitor/MonitorDaemon.js +0 -3
  34. package/out/src/monitor/MonitorDaemon.js.map +1 -1
  35. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
  36. package/out/src/monitor/tasks/TaskUnFail.js +1 -2
  37. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  38. package/out/src/sdk/WalletServices.interfaces.d.ts +9 -0
  39. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  40. package/out/src/services/Services.d.ts +2 -1
  41. package/out/src/services/Services.d.ts.map +1 -1
  42. package/out/src/services/Services.js +8 -0
  43. package/out/src/services/Services.js.map +1 -1
  44. package/out/src/services/__tests/postBeef.test.js +1 -1
  45. package/out/src/services/__tests/postBeef.test.js.map +1 -1
  46. package/out/src/storage/StorageIdb.d.ts +203 -0
  47. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  48. package/out/src/storage/StorageIdb.js +2289 -0
  49. package/out/src/storage/StorageIdb.js.map +1 -0
  50. package/out/src/storage/StorageKnex.d.ts +6 -6
  51. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  52. package/out/src/storage/StorageKnex.js +9 -29
  53. package/out/src/storage/StorageKnex.js.map +1 -1
  54. package/out/src/storage/StorageProvider.d.ts +3 -1
  55. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  56. package/out/src/storage/StorageProvider.js +22 -0
  57. package/out/src/storage/StorageProvider.js.map +1 -1
  58. package/out/src/storage/StorageReader.d.ts +1 -1
  59. package/out/src/storage/StorageReader.d.ts.map +1 -1
  60. package/out/src/storage/StorageReader.js +5 -0
  61. package/out/src/storage/StorageReader.js.map +1 -1
  62. package/out/src/storage/__test/StorageIdb.test.d.ts +2 -0
  63. package/out/src/storage/__test/StorageIdb.test.d.ts.map +1 -0
  64. package/out/src/storage/__test/StorageIdb.test.js +16 -0
  65. package/out/src/storage/__test/StorageIdb.test.js.map +1 -0
  66. package/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
  67. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  68. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  69. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  70. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  71. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  72. package/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
  73. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  74. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  75. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  76. package/out/src/storage/methods/listActionsIdb.js +155 -0
  77. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  78. package/out/src/storage/methods/{listActions.d.ts → listActionsKnex.d.ts} +1 -1
  79. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
  80. package/out/src/storage/methods/{listActions.js → listActionsKnex.js} +3 -34
  81. package/out/src/storage/methods/listActionsKnex.js.map +1 -0
  82. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  83. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  84. package/out/src/storage/methods/listOutputsIdb.js +181 -0
  85. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  86. package/out/src/storage/methods/{listOutputs.d.ts → listOutputsKnex.d.ts} +1 -1
  87. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
  88. package/out/src/storage/methods/{listOutputs.js → listOutputsKnex.js} +7 -76
  89. package/out/src/storage/methods/listOutputsKnex.js.map +1 -0
  90. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  91. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  92. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  93. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  94. package/out/src/storage/methods/reviewStatus.d.ts +11 -0
  95. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
  96. package/out/src/storage/methods/reviewStatus.js +11 -0
  97. package/out/src/storage/methods/reviewStatus.js.map +1 -1
  98. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  99. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  100. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  101. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  102. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  103. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  104. package/out/src/storage/schema/{tables/CertificateField.js → StorageIdbSchema.js} +1 -1
  105. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  106. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +1 -0
  107. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  108. package/out/src/storage/schema/tables/{Certificate.d.ts → TableCertificate.d.ts} +1 -1
  109. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  110. package/out/src/storage/schema/tables/TableCertificate.js +3 -0
  111. package/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  112. package/out/src/storage/schema/tables/{CertificateField.d.ts → TableCertificateField.d.ts} +1 -1
  113. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  114. package/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  115. package/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  116. package/out/src/storage/schema/tables/{Commission.d.ts → TableCommission.d.ts} +1 -1
  117. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  118. package/out/src/storage/schema/tables/TableCommission.js +3 -0
  119. package/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  120. package/out/src/storage/schema/tables/{MonitorEvent.d.ts → TableMonitorEvent.d.ts} +1 -1
  121. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  122. package/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  123. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  124. package/out/src/storage/schema/tables/{Output.d.ts → TableOutput.d.ts} +1 -1
  125. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  126. package/out/src/storage/schema/tables/{Output.js → TableOutput.js} +1 -1
  127. package/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  128. package/out/src/storage/schema/tables/{OutputBasket.d.ts → TableOutputBasket.d.ts} +1 -1
  129. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  130. package/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  131. package/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  132. package/out/src/storage/schema/tables/{OutputTag.d.ts → TableOutputTag.d.ts} +1 -1
  133. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  134. package/out/src/storage/schema/tables/{MonitorEvent.js → TableOutputTag.js} +1 -1
  135. package/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  136. package/out/src/storage/schema/tables/{OutputTagMap.d.ts → TableOutputTagMap.d.ts} +1 -1
  137. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  138. package/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  139. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  140. package/out/src/storage/schema/tables/{ProvenTx.d.ts → TableProvenTx.d.ts} +1 -1
  141. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  142. package/out/src/storage/schema/tables/{Commission.js → TableProvenTx.js} +1 -1
  143. package/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  144. package/out/src/storage/schema/tables/{ProvenTxReq.d.ts → TableProvenTxReq.d.ts} +1 -1
  145. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  146. package/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  147. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  148. package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
  149. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
  150. package/out/src/storage/schema/tables/{SyncState.d.ts → TableSyncState.d.ts} +1 -1
  151. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  152. package/out/src/storage/schema/tables/TableSyncState.js +3 -0
  153. package/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  154. package/out/src/storage/schema/tables/{Transaction.d.ts → TableTransaction.d.ts} +1 -1
  155. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  156. package/out/src/storage/schema/tables/{Transaction.js → TableTransaction.js} +1 -1
  157. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  158. package/out/src/storage/schema/tables/{TxLabel.d.ts → TableTxLabel.d.ts} +1 -1
  159. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  160. package/out/src/storage/schema/tables/{OutputBasket.js → TableTxLabel.js} +1 -1
  161. package/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  162. package/out/src/storage/schema/tables/{TxLabelMap.d.ts → TableTxLabelMap.d.ts} +1 -1
  163. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  164. package/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  165. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  166. package/out/src/storage/schema/tables/{User.d.ts → TableUser.d.ts} +1 -1
  167. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  168. package/out/src/storage/schema/tables/{SyncState.js → TableUser.js} +1 -1
  169. package/out/src/storage/schema/tables/TableUser.js.map +1 -0
  170. package/out/src/storage/schema/tables/index.d.ts +15 -15
  171. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  172. package/out/src/storage/schema/tables/index.js +15 -15
  173. package/out/src/storage/schema/tables/index.js.map +1 -1
  174. package/out/test/Wallet/local/localWallet2.man.test.js +4 -0
  175. package/out/test/Wallet/local/localWallet2.man.test.js.map +1 -1
  176. package/out/test/Wallet/support/operations.man.test.d.ts +2 -0
  177. package/out/test/Wallet/support/operations.man.test.d.ts.map +1 -0
  178. package/out/test/Wallet/support/{opers1.man.test.js → operations.man.test.js} +41 -6
  179. package/out/test/Wallet/support/operations.man.test.js.map +1 -0
  180. package/out/test/storage/find.test.js +1 -1
  181. package/out/test/storage/find.test.js.map +1 -1
  182. package/out/test/storage/idb/allocateChange.test.d.ts +2 -0
  183. package/out/test/storage/idb/allocateChange.test.d.ts.map +1 -0
  184. package/out/test/storage/idb/allocateChange.test.js +110 -0
  185. package/out/test/storage/idb/allocateChange.test.js.map +1 -0
  186. package/out/test/storage/idb/count.test.d.ts +2 -0
  187. package/out/test/storage/idb/count.test.d.ts.map +1 -0
  188. package/out/test/storage/idb/count.test.js +129 -0
  189. package/out/test/storage/idb/count.test.js.map +1 -0
  190. package/out/test/storage/idb/find.test.d.ts +2 -0
  191. package/out/test/storage/idb/find.test.d.ts.map +1 -0
  192. package/out/test/storage/idb/find.test.js +131 -0
  193. package/out/test/storage/idb/find.test.js.map +1 -0
  194. package/out/test/storage/idb/idbSpeed.test.d.ts +2 -0
  195. package/out/test/storage/idb/idbSpeed.test.d.ts.map +1 -0
  196. package/out/test/storage/idb/idbSpeed.test.js +29 -0
  197. package/out/test/storage/idb/idbSpeed.test.js.map +1 -0
  198. package/out/test/storage/idb/insert.test.d.ts +2 -0
  199. package/out/test/storage/idb/insert.test.d.ts.map +1 -0
  200. package/out/test/storage/idb/insert.test.js +242 -0
  201. package/out/test/storage/idb/insert.test.js.map +1 -0
  202. package/out/test/storage/idb/transactionAbort.test.d.ts +2 -0
  203. package/out/test/storage/idb/transactionAbort.test.d.ts.map +1 -0
  204. package/out/test/storage/idb/transactionAbort.test.js +97 -0
  205. package/out/test/storage/idb/transactionAbort.test.js.map +1 -0
  206. package/out/test/storage/idb/update.test.d.ts +2 -0
  207. package/out/test/storage/idb/update.test.d.ts.map +1 -0
  208. package/out/test/storage/idb/update.test.js +902 -0
  209. package/out/test/storage/idb/update.test.js.map +1 -0
  210. package/out/test/storage/update.test.js +2 -2
  211. package/out/test/storage/update.test.js.map +1 -1
  212. package/out/test/utils/TestUtilsWalletStorage.d.ts +24 -1
  213. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  214. package/out/test/utils/TestUtilsWalletStorage.js +147 -3
  215. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  216. package/out/test/wallet/list/listActions.test.d.ts +1 -1
  217. package/out/test/wallet/list/listActions.test.d.ts.map +1 -1
  218. package/out/test/wallet/list/listActions.test.js +9 -3
  219. package/out/test/wallet/list/listActions.test.js.map +1 -1
  220. package/out/test/wallet/list/listOutputs.test.d.ts +1 -1
  221. package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -1
  222. package/out/test/wallet/list/listOutputs.test.js +34 -219
  223. package/out/test/wallet/list/listOutputs.test.js.map +1 -1
  224. package/out/tsconfig.all.tsbuildinfo +1 -1
  225. package/package.json +3 -1
  226. package/src/CWIStyleWalletManager.ts +12 -5
  227. package/src/Setup.ts +1 -71
  228. package/src/SetupClient.ts +312 -0
  229. package/src/SetupWallet.ts +105 -0
  230. package/src/index.all.ts +2 -0
  231. package/src/index.client.ts +1 -0
  232. package/src/monitor/Monitor.ts +4 -0
  233. package/src/monitor/MonitorDaemon.ts +0 -1
  234. package/src/monitor/tasks/TaskUnFail.ts +3 -4
  235. package/src/sdk/WalletServices.interfaces.ts +10 -0
  236. package/src/services/Services.ts +13 -1
  237. package/src/services/__tests/postBeef.test.ts +1 -1
  238. package/src/storage/StorageIdb.ts +2298 -0
  239. package/src/storage/StorageKnex.ts +7 -32
  240. package/src/storage/StorageProvider.ts +28 -0
  241. package/src/storage/StorageReader.ts +5 -1
  242. package/src/storage/__test/StorageIdb.test.ts +15 -0
  243. package/src/storage/methods/ListActionsSpecOp.ts +68 -0
  244. package/src/storage/methods/ListOutputsSpecOp.ts +125 -0
  245. package/src/storage/methods/listActionsIdb.ts +181 -0
  246. package/src/storage/methods/{listActions.ts → listActionsKnex.ts} +2 -64
  247. package/src/storage/methods/listOutputsIdb.ts +199 -0
  248. package/src/storage/methods/{listOutputs.ts → listOutputsKnex.ts} +9 -133
  249. package/src/storage/methods/purgeDataIdb.ts +15 -0
  250. package/src/storage/methods/reviewStatus.ts +11 -0
  251. package/src/storage/methods/reviewStatusIdb.ts +43 -0
  252. package/src/storage/schema/StorageIdbSchema.ts +150 -0
  253. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +2 -0
  254. package/src/storage/schema/tables/TableSettings.ts +1 -1
  255. package/src/storage/schema/tables/index.ts +15 -15
  256. package/test/Wallet/local/localWallet2.man.test.ts +5 -0
  257. package/test/Wallet/support/{opers1.man.test.ts → operations.man.test.ts} +43 -14
  258. package/test/storage/find.test.ts +1 -1
  259. package/test/storage/idb/allocateChange.test.ts +251 -0
  260. package/test/storage/idb/count.test.ts +158 -0
  261. package/test/storage/idb/find.test.ts +177 -0
  262. package/test/storage/idb/idbSpeed.test.ts +34 -0
  263. package/test/storage/idb/insert.test.ts +268 -0
  264. package/test/storage/idb/transactionAbort.test.ts +108 -0
  265. package/test/storage/idb/update.test.ts +1000 -0
  266. package/test/storage/update.test.ts +2 -2
  267. package/test/utils/TestUtilsWalletStorage.ts +188 -4
  268. package/test/wallet/list/listActions.test.ts +15 -5
  269. package/test/wallet/list/listOutputs.test.ts +29 -214
  270. package/out/src/storage/methods/listActions.d.ts.map +0 -1
  271. package/out/src/storage/methods/listActions.js.map +0 -1
  272. package/out/src/storage/methods/listOutputs.d.ts.map +0 -1
  273. package/out/src/storage/methods/listOutputs.js.map +0 -1
  274. package/out/src/storage/schema/tables/Certificate.d.ts.map +0 -1
  275. package/out/src/storage/schema/tables/Certificate.js.map +0 -1
  276. package/out/src/storage/schema/tables/CertificateField.d.ts.map +0 -1
  277. package/out/src/storage/schema/tables/CertificateField.js.map +0 -1
  278. package/out/src/storage/schema/tables/Commission.d.ts.map +0 -1
  279. package/out/src/storage/schema/tables/Commission.js.map +0 -1
  280. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +0 -1
  281. package/out/src/storage/schema/tables/MonitorEvent.js.map +0 -1
  282. package/out/src/storage/schema/tables/Output.d.ts.map +0 -1
  283. package/out/src/storage/schema/tables/Output.js.map +0 -1
  284. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +0 -1
  285. package/out/src/storage/schema/tables/OutputBasket.js.map +0 -1
  286. package/out/src/storage/schema/tables/OutputTag.d.ts.map +0 -1
  287. package/out/src/storage/schema/tables/OutputTag.js +0 -3
  288. package/out/src/storage/schema/tables/OutputTag.js.map +0 -1
  289. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +0 -1
  290. package/out/src/storage/schema/tables/OutputTagMap.js +0 -3
  291. package/out/src/storage/schema/tables/OutputTagMap.js.map +0 -1
  292. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +0 -1
  293. package/out/src/storage/schema/tables/ProvenTx.js +0 -3
  294. package/out/src/storage/schema/tables/ProvenTx.js.map +0 -1
  295. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +0 -1
  296. package/out/src/storage/schema/tables/ProvenTxReq.js +0 -3
  297. package/out/src/storage/schema/tables/ProvenTxReq.js.map +0 -1
  298. package/out/src/storage/schema/tables/SyncState.d.ts.map +0 -1
  299. package/out/src/storage/schema/tables/SyncState.js.map +0 -1
  300. package/out/src/storage/schema/tables/Transaction.d.ts.map +0 -1
  301. package/out/src/storage/schema/tables/Transaction.js.map +0 -1
  302. package/out/src/storage/schema/tables/TxLabel.d.ts.map +0 -1
  303. package/out/src/storage/schema/tables/TxLabel.js +0 -3
  304. package/out/src/storage/schema/tables/TxLabel.js.map +0 -1
  305. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +0 -1
  306. package/out/src/storage/schema/tables/TxLabelMap.js +0 -3
  307. package/out/src/storage/schema/tables/TxLabelMap.js.map +0 -1
  308. package/out/src/storage/schema/tables/User.d.ts.map +0 -1
  309. package/out/src/storage/schema/tables/User.js +0 -3
  310. package/out/src/storage/schema/tables/User.js.map +0 -1
  311. package/out/test/Wallet/support/opers1.man.test.d.ts +0 -2
  312. package/out/test/Wallet/support/opers1.man.test.d.ts.map +0 -1
  313. package/out/test/Wallet/support/opers1.man.test.js.map +0 -1
  314. package/unlock-migrations.sh +0 -41
  315. /package/src/storage/schema/tables/{Certificate.ts → TableCertificate.ts} +0 -0
  316. /package/src/storage/schema/tables/{CertificateField.ts → TableCertificateField.ts} +0 -0
  317. /package/src/storage/schema/tables/{Commission.ts → TableCommission.ts} +0 -0
  318. /package/src/storage/schema/tables/{MonitorEvent.ts → TableMonitorEvent.ts} +0 -0
  319. /package/src/storage/schema/tables/{Output.ts → TableOutput.ts} +0 -0
  320. /package/src/storage/schema/tables/{OutputBasket.ts → TableOutputBasket.ts} +0 -0
  321. /package/src/storage/schema/tables/{OutputTag.ts → TableOutputTag.ts} +0 -0
  322. /package/src/storage/schema/tables/{OutputTagMap.ts → TableOutputTagMap.ts} +0 -0
  323. /package/src/storage/schema/tables/{ProvenTx.ts → TableProvenTx.ts} +0 -0
  324. /package/src/storage/schema/tables/{ProvenTxReq.ts → TableProvenTxReq.ts} +0 -0
  325. /package/src/storage/schema/tables/{SyncState.ts → TableSyncState.ts} +0 -0
  326. /package/src/storage/schema/tables/{Transaction.ts → TableTransaction.ts} +0 -0
  327. /package/src/storage/schema/tables/{TxLabel.ts → TableTxLabel.ts} +0 -0
  328. /package/src/storage/schema/tables/{TxLabelMap.ts → TableTxLabelMap.ts} +0 -0
  329. /package/src/storage/schema/tables/{User.ts → TableUser.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.test.d.ts","sourceRoot":"","sources":["../../../../test/storage/idb/find.test.ts"],"names":[],"mappings":"AAKA,OAAO,qBAAqB,CAAA"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
4
+ const index_client_1 = require("../../../src/index.client");
5
+ const StorageIdb_1 = require("../../../src/storage/StorageIdb");
6
+ require("fake-indexeddb/auto");
7
+ describe('idb find tests', () => {
8
+ jest.setTimeout(99999999);
9
+ const chain = 'test';
10
+ const env = TestUtilsWalletStorage_1._tu.getEnv(chain);
11
+ let setups = [];
12
+ beforeEach(async () => {
13
+ const options = index_client_1.StorageProvider.createStorageBaseOptions(chain);
14
+ const storage = new StorageIdb_1.StorageIdb(options);
15
+ await storage.dropAllData();
16
+ await storage.migrate('idb find tests', '1'.repeat(64));
17
+ await storage.makeAvailable();
18
+ const setup = await TestUtilsWalletStorage_1._tu.createTestSetup1(storage);
19
+ setups = [{ setup, storage }];
20
+ });
21
+ afterEach(async () => {
22
+ for (const { storage } of setups) {
23
+ await storage.destroy();
24
+ }
25
+ });
26
+ test('0 find ProvenTx', async () => {
27
+ for (const { storage, setup } of setups) {
28
+ expect((await storage.findProvenTxs({ partial: {} })).length).toBe(1);
29
+ }
30
+ });
31
+ test('1 find ProvenTxReq', async () => {
32
+ for (const { storage, setup } of setups) {
33
+ expect((await storage.findProvenTxReqs({ partial: {} })).length).toBe(2);
34
+ }
35
+ });
36
+ test('2 find User', async () => {
37
+ for (const { storage, setup } of setups) {
38
+ expect((await storage.findUsers({ partial: {} })).length).toBe(2);
39
+ }
40
+ });
41
+ test('3 find Certificate', async () => {
42
+ for (const { storage, setup } of setups) {
43
+ expect((await storage.findCertificates({ partial: {} })).length).toBe(3);
44
+ expect((await storage.findCertificates({
45
+ partial: {},
46
+ certifiers: [setup.u1cert1.certifier]
47
+ })).length).toBe(1);
48
+ expect((await storage.findCertificates({ partial: {}, certifiers: ['none'] })).length).toBe(0);
49
+ expect((await storage.findCertificates({
50
+ partial: {},
51
+ types: [setup.u1cert2.type]
52
+ })).length).toBe(1);
53
+ expect((await storage.findCertificates({ partial: {}, types: ['oblongata'] })).length).toBe(0);
54
+ }
55
+ });
56
+ test('4 find CertificateField', async () => {
57
+ for (const { storage, setup } of setups) {
58
+ expect((await storage.findCertificateFields({ partial: {} })).length).toBe(3);
59
+ expect((await storage.findCertificateFields({
60
+ partial: { userId: setup.u1.userId }
61
+ })).length).toBe(3);
62
+ expect((await storage.findCertificateFields({
63
+ partial: { userId: setup.u2.userId }
64
+ })).length).toBe(0);
65
+ expect((await storage.findCertificateFields({ partial: { userId: 99 } })).length).toBe(0);
66
+ expect((await storage.findCertificateFields({
67
+ partial: { fieldName: 'name' }
68
+ })).length).toBe(2);
69
+ expect((await storage.findCertificateFields({ partial: { fieldName: 'bob' } })).length).toBe(1);
70
+ expect((await storage.findCertificateFields({
71
+ partial: { fieldName: 'bob42' }
72
+ })).length).toBe(0);
73
+ }
74
+ });
75
+ test('5 find OutputBasket', async () => {
76
+ for (const { storage, setup } of setups) {
77
+ expect((await storage.findOutputBaskets({ partial: {} })).length).toBe(3);
78
+ expect((await storage.findOutputBaskets({
79
+ partial: {},
80
+ since: setup.u1.created_at
81
+ })).length).toBe(3);
82
+ expect((await storage.findOutputBaskets({ partial: {}, since: new Date() })).length).toBe(0);
83
+ }
84
+ });
85
+ test('6 find Transaction', async () => {
86
+ for (const { storage, setup } of setups) {
87
+ expect((await storage.findTransactions({ partial: {} })).length).toBe(3);
88
+ }
89
+ });
90
+ test('7 find Commission', async () => {
91
+ for (const { storage, setup } of setups) {
92
+ expect((await storage.findCommissions({ partial: {} })).length).toBe(3);
93
+ }
94
+ });
95
+ test('8 find Output', async () => {
96
+ for (const { storage, setup } of setups) {
97
+ expect((await storage.findOutputs({ partial: {} })).length).toBe(3);
98
+ }
99
+ });
100
+ test('9 find OutputTag', async () => {
101
+ for (const { storage, setup } of setups) {
102
+ expect((await storage.findOutputTags({ partial: {} })).length).toBe(2);
103
+ }
104
+ });
105
+ test('10 find OutputTagMap', async () => {
106
+ for (const { storage, setup } of setups) {
107
+ expect((await storage.findOutputTagMaps({ partial: {} })).length).toBe(3);
108
+ }
109
+ });
110
+ test('11 find TxLabel', async () => {
111
+ for (const { storage, setup } of setups) {
112
+ expect((await storage.findTxLabels({ partial: {} })).length).toBe(3);
113
+ }
114
+ });
115
+ test('12 find TxLabelMap', async () => {
116
+ for (const { storage, setup } of setups) {
117
+ expect((await storage.findTxLabelMaps({ partial: {} })).length).toBe(3);
118
+ }
119
+ });
120
+ test('13 find MonitorEvent', async () => {
121
+ for (const { storage, setup } of setups) {
122
+ expect((await storage.findMonitorEvents({ partial: {} })).length).toBe(1);
123
+ }
124
+ });
125
+ test('14 find SyncState', async () => {
126
+ for (const { storage, setup } of setups) {
127
+ expect((await storage.findSyncStates({ partial: {} })).length).toBe(1);
128
+ }
129
+ });
130
+ });
131
+ //# sourceMappingURL=find.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.test.js","sourceRoot":"","sources":["../../../../test/storage/idb/find.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import 'fake-indexeddb/auto';
2
+ //# sourceMappingURL=idbSpeed.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idbSpeed.test.d.ts","sourceRoot":"","sources":["../../../../test/storage/idb/idbSpeed.test.ts"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
4
+ require("fake-indexeddb/auto");
5
+ describe('idbSpeed tests', () => {
6
+ jest.setTimeout(99999999);
7
+ const testName = () => expect.getState().currentTestName || 'test';
8
+ /**
9
+ * Starting speed 2025-04-18 07:58 was 66+ seconds
10
+ */
11
+ test('0 copy legacy wallet', async () => {
12
+ const databaseName = testName();
13
+ const setup = await TestUtilsWalletStorage_1._tu.createIdbLegacyWalletCopy(databaseName);
14
+ expect(setup.activeStorage).toBeTruthy();
15
+ const stats = TestUtilsWalletStorage_1._tu.wrapProfiling(setup.activeStorage, 'StorageIdb');
16
+ const args = {
17
+ includeLabels: true,
18
+ labels: ['babbage_protocol_perm']
19
+ };
20
+ const r = await setup.wallet.listActions(args);
21
+ expect(r.actions.length).toBe(args.limit || 10);
22
+ let log = 'function,count,totalMsecs,avgMsecs\n';
23
+ for (const [key, value] of Object.entries(stats)) {
24
+ log += `${key},${value.count},${value.totalMsecs},${value.totalMsecs / value.count}\n`;
25
+ }
26
+ (0, TestUtilsWalletStorage_1.logger)(log);
27
+ });
28
+ });
29
+ //# sourceMappingURL=idbSpeed.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idbSpeed.test.js","sourceRoot":"","sources":["../../../../test/storage/idb/idbSpeed.test.ts"],"names":[],"mappings":";;AACA,+EAAgE;AAEhE,+BAA4B;AAE5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEzB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,eAAe,IAAI,MAAM,CAAA;IAElE;;OAEG;IACH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,4BAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;QAC/D,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAA;QAExC,MAAM,KAAK,GAAG,4BAAG,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAElE,MAAM,IAAI,GAAoB;YAC5B,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,CAAC,uBAAuB,CAAC;SAClC,CAAA;QACD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAE/C,IAAI,GAAG,GAAG,sCAAsC,CAAA;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,CAAA;QACxF,CAAC;QACD,IAAA,+BAAM,EAAC,GAAG,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import 'fake-indexeddb/auto';
2
+ //# sourceMappingURL=insert.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.test.d.ts","sourceRoot":"","sources":["../../../../test/storage/idb/insert.test.ts"],"names":[],"mappings":"AAWA,OAAO,qBAAqB,CAAA"}
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
4
+ const index_client_1 = require("../../../src/index.client");
5
+ const StorageIdb_1 = require("../../../src/storage/StorageIdb");
6
+ require("fake-indexeddb/auto");
7
+ describe('idb insert tests', () => {
8
+ jest.setTimeout(99999999);
9
+ let storages = [];
10
+ const chain = 'test';
11
+ const env = TestUtilsWalletStorage_1._tu.getEnv(chain);
12
+ beforeEach(async () => {
13
+ storages = [];
14
+ const options = index_client_1.StorageProvider.createStorageBaseOptions(chain);
15
+ storages.push(new StorageIdb_1.StorageIdb(options));
16
+ for (const storage of storages) {
17
+ await storage.dropAllData();
18
+ await storage.migrate('insert tests', '1'.repeat(64));
19
+ }
20
+ });
21
+ afterEach(async () => {
22
+ for (const storage of storages) {
23
+ await storage.destroy();
24
+ await new Promise(resolve => setTimeout(resolve, 0)); // Allow fake-indexeddb to clean up
25
+ }
26
+ });
27
+ test('0 insert ProvenTx', async () => {
28
+ for (const storage of storages) {
29
+ const ptx = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage);
30
+ expect(ptx.provenTxId).toBe(1);
31
+ ptx.provenTxId = 0;
32
+ // duplicate must throw
33
+ await expect(storage.insertProvenTx(ptx)).rejects.toThrow();
34
+ ptx.provenTxId = 0;
35
+ ptx.txid = '4'.repeat(64);
36
+ ptx.provenTxId = await storage.insertProvenTx(ptx);
37
+ // MySQL counts the failed insertion as a used id, SQLite does not.
38
+ expect(ptx.provenTxId).toBeGreaterThan(1);
39
+ }
40
+ });
41
+ test('1 insert ProvenTxReq', async () => {
42
+ for (const storage of storages) {
43
+ const ptxreq = await TestUtilsWalletStorage_1._tu.insertTestProvenTxReq(storage);
44
+ expect(ptxreq.provenTxReqId).toBe(1);
45
+ ptxreq.provenTxReqId = 0;
46
+ // duplicate must throw
47
+ await expect(storage.insertProvenTxReq(ptxreq)).rejects.toThrow();
48
+ ptxreq.provenTxReqId = 0;
49
+ ptxreq.txid = '4'.repeat(64);
50
+ const id = await storage.insertProvenTxReq(ptxreq);
51
+ expect(id).toBe(2);
52
+ }
53
+ });
54
+ test('2 insert User', async () => {
55
+ for (const storage of storages) {
56
+ const e = await TestUtilsWalletStorage_1._tu.insertTestUser(storage);
57
+ const id = e.userId;
58
+ expect(id).toBeGreaterThan(0);
59
+ e.userId = 0;
60
+ // duplicate must throw
61
+ await expect(storage.insertUser(e)).rejects.toThrow();
62
+ e.userId = 0;
63
+ e.identityKey = (0, index_client_1.randomBytesHex)(33);
64
+ await storage.insertUser(e);
65
+ // MySQL counts the failed insertion as a used id, SQLite does not.
66
+ expect(e.userId).toBeGreaterThan(id);
67
+ }
68
+ });
69
+ test('3 insert Certificate', async () => {
70
+ for (const storage of storages) {
71
+ const e = await TestUtilsWalletStorage_1._tu.insertTestCertificate(storage);
72
+ const id = e.certificateId;
73
+ expect(id).toBeGreaterThan(0);
74
+ // duplicate must throw
75
+ await expect(storage.insertCertificate(e)).rejects.toThrow();
76
+ e.certificateId = 0;
77
+ e.serialNumber = (0, index_client_1.randomBytesBase64)(33);
78
+ await storage.insertCertificate(e);
79
+ // MySQL counts the failed insertion as a used id, SQLite does not.
80
+ expect(e.certificateId).toBeGreaterThan(id);
81
+ }
82
+ });
83
+ test('4 insert CertificateField', async () => {
84
+ for (const storage of storages) {
85
+ const c = await TestUtilsWalletStorage_1._tu.insertTestCertificate(storage);
86
+ const e = await TestUtilsWalletStorage_1._tu.insertTestCertificateField(storage, c, 'prize', 'starship');
87
+ expect(e.certificateId).toBe(c.certificateId);
88
+ expect(e.userId).toBe(c.userId);
89
+ expect(e.fieldName).toBe('prize');
90
+ // duplicate must throw
91
+ await expect(storage.insertCertificateField(e)).rejects.toThrow();
92
+ e.fieldName = 'address';
93
+ await storage.insertCertificateField(e);
94
+ // MySQL counts the failed insertion as a used id, SQLite does not.
95
+ expect(e.fieldName).toBe('address');
96
+ }
97
+ });
98
+ test('5 insert OutputBasket', async () => {
99
+ for (const storage of storages) {
100
+ const e = await TestUtilsWalletStorage_1._tu.insertTestOutputBasket(storage);
101
+ const id = e.basketId;
102
+ expect(id).toBeGreaterThan(0);
103
+ e.basketId = 0;
104
+ // duplicate must throw
105
+ await expect(storage.insertOutputBasket(e)).rejects.toThrow();
106
+ e.basketId = 0;
107
+ e.name = (0, index_client_1.randomBytesHex)(10);
108
+ await storage.insertOutputBasket(e);
109
+ // MySQL counts the failed insertion as a used id, SQLite does not.
110
+ expect(e.basketId).toBeGreaterThan(id);
111
+ }
112
+ });
113
+ test('6 insert Transaction', async () => {
114
+ for (const storage of storages) {
115
+ const { tx: e, user } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
116
+ const id = e.transactionId;
117
+ expect(id).toBeGreaterThan(0);
118
+ e.transactionId = 0;
119
+ // duplicate must throw
120
+ await expect(storage.insertTransaction(e)).rejects.toThrow();
121
+ e.transactionId = 0;
122
+ e.reference = (0, index_client_1.randomBytesBase64)(10);
123
+ await storage.insertTransaction(e);
124
+ // MySQL counts the failed insertion as a used id, SQLite does not.
125
+ expect(e.transactionId).toBeGreaterThan(id);
126
+ }
127
+ });
128
+ test('7 insert Commission', async () => {
129
+ for (const storage of storages) {
130
+ const { tx: t, user } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
131
+ const e = await TestUtilsWalletStorage_1._tu.insertTestCommission(storage, t);
132
+ const id = e.commissionId;
133
+ expect(id).toBeGreaterThan(0);
134
+ e.commissionId = 0;
135
+ // duplicate must throw
136
+ await expect(storage.insertCommission(e)).rejects.toThrow();
137
+ e.commissionId = 0;
138
+ const { tx: t2 } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
139
+ e.transactionId = t2.transactionId;
140
+ e.userId = t2.userId;
141
+ await storage.insertCommission(e);
142
+ // MySQL counts the failed insertion as a used id, SQLite does not.
143
+ expect(e.commissionId).toBeGreaterThan(id);
144
+ }
145
+ });
146
+ test('8 insert Output', async () => {
147
+ for (const storage of storages) {
148
+ const { tx: t, user } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
149
+ const e = await TestUtilsWalletStorage_1._tu.insertTestOutput(storage, t, 0, 101);
150
+ const id = e.outputId;
151
+ expect(id).toBeGreaterThan(0);
152
+ expect(e.userId).toBe(t.userId);
153
+ expect(e.transactionId).toBe(t.transactionId);
154
+ expect(e.vout).toBe(0);
155
+ expect(e.satoshis).toBe(101);
156
+ e.outputId = 0;
157
+ // duplicate must throw
158
+ await expect(storage.insertOutput(e)).rejects.toThrow();
159
+ e.vout = 1;
160
+ await storage.insertOutput(e);
161
+ // MySQL counts the failed insertion as a used id, SQLite does not.
162
+ expect(e.outputId).toBeGreaterThan(id);
163
+ }
164
+ });
165
+ test('9 insert OutputTag', async () => {
166
+ for (const storage of storages) {
167
+ const u = await TestUtilsWalletStorage_1._tu.insertTestUser(storage);
168
+ const e = await TestUtilsWalletStorage_1._tu.insertTestOutputTag(storage, u);
169
+ const id = e.outputTagId;
170
+ expect(id).toBeGreaterThan(0);
171
+ expect(e.userId).toBe(u.userId);
172
+ expect(e.tag).toBeTruthy();
173
+ e.outputTagId = 0;
174
+ // duplicate must throw
175
+ await expect(storage.insertOutputTag(e)).rejects.toThrow();
176
+ e.tag = (0, index_client_1.randomBytesHex)(6);
177
+ await storage.insertOutputTag(e);
178
+ // MySQL counts the failed insertion as a used id, SQLite does not.
179
+ expect(e.outputTagId).toBeGreaterThan(id);
180
+ }
181
+ });
182
+ test('10 insert OutputTagMap', async () => {
183
+ for (const storage of storages) {
184
+ const { tx, user } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
185
+ const o = await TestUtilsWalletStorage_1._tu.insertTestOutput(storage, tx, 0, 101);
186
+ const tag = await TestUtilsWalletStorage_1._tu.insertTestOutputTag(storage, user);
187
+ const e = await TestUtilsWalletStorage_1._tu.insertTestOutputTagMap(storage, o, tag);
188
+ expect(e.outputId).toBe(o.outputId);
189
+ expect(e.outputTagId).toBe(tag.outputTagId);
190
+ // duplicate must throw
191
+ await expect(storage.insertOutputTagMap(e)).rejects.toThrow();
192
+ const tag2 = await TestUtilsWalletStorage_1._tu.insertTestOutputTag(storage, user);
193
+ const e2 = await TestUtilsWalletStorage_1._tu.insertTestOutputTagMap(storage, o, tag2);
194
+ }
195
+ });
196
+ test('11 insert TxLabel', async () => {
197
+ for (const storage of storages) {
198
+ const u = await TestUtilsWalletStorage_1._tu.insertTestUser(storage);
199
+ const e = await TestUtilsWalletStorage_1._tu.insertTestTxLabel(storage, u);
200
+ const id = e.txLabelId;
201
+ expect(id).toBeGreaterThan(0);
202
+ expect(e.userId).toBe(u.userId);
203
+ expect(e.label).toBeTruthy();
204
+ e.txLabelId = 0;
205
+ // duplicate must throw
206
+ await expect(storage.insertTxLabel(e)).rejects.toThrow();
207
+ e.label = (0, index_client_1.randomBytesHex)(6);
208
+ await storage.insertTxLabel(e);
209
+ // MySQL counts the failed insertion as a used id, SQLite does not.
210
+ expect(e.txLabelId).toBeGreaterThan(id);
211
+ }
212
+ });
213
+ test('12 insert TxLabelMap', async () => {
214
+ for (const storage of storages) {
215
+ const { tx, user } = await TestUtilsWalletStorage_1._tu.insertTestTransaction(storage);
216
+ const label = await TestUtilsWalletStorage_1._tu.insertTestTxLabel(storage, user);
217
+ const e = await TestUtilsWalletStorage_1._tu.insertTestTxLabelMap(storage, tx, label);
218
+ expect(e.transactionId).toBe(tx.transactionId);
219
+ expect(e.txLabelId).toBe(label.txLabelId);
220
+ // duplicate must throw
221
+ await expect(storage.insertTxLabelMap(e)).rejects.toThrow();
222
+ const label2 = await TestUtilsWalletStorage_1._tu.insertTestTxLabel(storage, user);
223
+ const e2 = await TestUtilsWalletStorage_1._tu.insertTestTxLabelMap(storage, tx, label2);
224
+ }
225
+ });
226
+ test('13 insert MonitorEvent', async () => {
227
+ for (const storage of storages) {
228
+ const e = await TestUtilsWalletStorage_1._tu.insertTestMonitorEvent(storage);
229
+ const id = e.id;
230
+ expect(id).toBeGreaterThan(0);
231
+ }
232
+ });
233
+ test('14 insert SyncState', async () => {
234
+ for (const storage of storages) {
235
+ const u = await TestUtilsWalletStorage_1._tu.insertTestUser(storage);
236
+ const e = await TestUtilsWalletStorage_1._tu.insertTestSyncState(storage, u);
237
+ const id = e.syncStateId;
238
+ expect(id).toBeGreaterThan(0);
239
+ }
240
+ });
241
+ });
242
+ //# sourceMappingURL=insert.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.test.js","sourceRoot":"","sources":["../../../../test/storage/idb/insert.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import 'fake-indexeddb/auto';
2
+ //# sourceMappingURL=transactionAbort.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionAbort.test.d.ts","sourceRoot":"","sources":["../../../../test/storage/idb/transactionAbort.test.ts"],"names":[],"mappings":"AAWA,OAAO,qBAAqB,CAAA"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
4
+ const index_client_1 = require("../../../src/index.client");
5
+ const StorageIdb_1 = require("../../../src/storage/StorageIdb");
6
+ require("fake-indexeddb/auto");
7
+ describe('idb transactionAbort tests', () => {
8
+ jest.setTimeout(99999999);
9
+ let storages = [];
10
+ const chain = 'test';
11
+ const env = TestUtilsWalletStorage_1._tu.getEnv(chain);
12
+ beforeEach(async () => {
13
+ storages = [];
14
+ const options = index_client_1.StorageProvider.createStorageBaseOptions(chain);
15
+ storages.push(new StorageIdb_1.StorageIdb(options));
16
+ for (const storage of storages) {
17
+ await storage.dropAllData();
18
+ await storage.migrate('insert tests', '1'.repeat(64));
19
+ }
20
+ });
21
+ afterEach(async () => {
22
+ for (const storage of storages) {
23
+ await storage.destroy();
24
+ await new Promise(resolve => setTimeout(resolve, 0)); // Allow fake-indexeddb to clean up
25
+ }
26
+ });
27
+ test('0 unaborted case', async () => {
28
+ for (const storage of storages) {
29
+ let aborted = false;
30
+ let count = await storage.countProvenTxs({ partial: {} });
31
+ expect(count).toBe(0);
32
+ try {
33
+ const r = await storage.transaction(async (tx) => {
34
+ const r12 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '12'.repeat(32), tx);
35
+ const r23 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '23'.repeat(32), tx);
36
+ //tx['abort']()
37
+ return [r12.provenTxId, r23.provenTxId];
38
+ });
39
+ expect(r).toEqual([1, 2]);
40
+ }
41
+ catch (e) {
42
+ aborted = true;
43
+ (0, TestUtilsWalletStorage_1.logger)('Transaction aborted', e === null || e === void 0 ? void 0 : e['name']);
44
+ }
45
+ expect(aborted).toBe(false);
46
+ count = await storage.countProvenTxs({ partial: {} });
47
+ expect(count).toBe(2);
48
+ }
49
+ });
50
+ test('1 call abort case', async () => {
51
+ for (const storage of storages) {
52
+ let aborted = false;
53
+ let count = await storage.countProvenTxs({ partial: {} });
54
+ expect(count).toBe(0);
55
+ try {
56
+ const r = await storage.transaction(async (tx) => {
57
+ const r12 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '12'.repeat(32), tx);
58
+ const r23 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '23'.repeat(32), tx);
59
+ tx['abort']();
60
+ return [r12.provenTxId, r23.provenTxId];
61
+ });
62
+ expect(r).toEqual([1, 2]);
63
+ }
64
+ catch (e) {
65
+ aborted = true;
66
+ (0, TestUtilsWalletStorage_1.logger)('Transaction aborted', e === null || e === void 0 ? void 0 : e['name']);
67
+ }
68
+ expect(aborted).toBe(true);
69
+ count = await storage.countProvenTxs({ partial: {} });
70
+ expect(count).toBe(0);
71
+ }
72
+ });
73
+ test('2 throw error case', async () => {
74
+ for (const storage of storages) {
75
+ let aborted = false;
76
+ let count = await storage.countProvenTxs({ partial: {} });
77
+ expect(count).toBe(0);
78
+ try {
79
+ const r = await storage.transaction(async (tx) => {
80
+ const r12 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '12'.repeat(32), tx);
81
+ const r23 = await TestUtilsWalletStorage_1._tu.insertTestProvenTx(storage, '23'.repeat(32), tx);
82
+ throw new Error('Test error');
83
+ return [r12.provenTxId, r23.provenTxId];
84
+ });
85
+ expect(r).toEqual([1, 2]);
86
+ }
87
+ catch (e) {
88
+ aborted = true;
89
+ (0, TestUtilsWalletStorage_1.logger)('Transaction aborted', e === null || e === void 0 ? void 0 : e['name']);
90
+ }
91
+ expect(aborted).toBe(true);
92
+ count = await storage.countProvenTxs({ partial: {} });
93
+ expect(count).toBe(0);
94
+ }
95
+ });
96
+ });
97
+ //# sourceMappingURL=transactionAbort.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionAbort.test.js","sourceRoot":"","sources":["../../../../test/storage/idb/transactionAbort.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import 'fake-indexeddb/auto';
2
+ //# sourceMappingURL=update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.test.d.ts","sourceRoot":"","sources":["../../../../test/storage/idb/update.test.ts"],"names":[],"mappings":"AAuBA,OAAO,qBAAqB,CAAA"}